UNPKG

@commercetools-uikit/constraints

Version:

Constraints are container elements with a configurable constraint size, like width or height.

70 lines (63 loc) 9.79 kB
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map'; import _Array$from from '@babel/runtime-corejs3/core-js-stable/array/from'; import { designTokens } from '@commercetools-uikit/design-system'; import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys'; import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols'; import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter'; import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor'; import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each'; import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors'; import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties'; import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property'; import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty'; import { css } from '@emotion/react'; import { filterDataAttributes } from '@commercetools-uikit/utils'; import { jsx } from '@emotion/react/jsx-runtime'; // `null` is derived from `getMaxPropEquivalent` const getMaxPropTokenValue = max => { if (!max) return null; const tokenName = `constraint${max}`; if (tokenName in designTokens) { return designTokens[tokenName]; } return null; }; // Generates an array of accepted values for the max prop, given a min and max const getAcceptedMaxPropValues = function () { var _context; let min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; let max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16; return [..._mapInstanceProperty(_context = _Array$from({ length: max - min + 1 })).call(_context, (_, index) => index + min), 'scale', 'auto']; }; function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } function getConstraintStyles(maxProp) { const constraintToken = maxProp ? getMaxPropTokenValue(maxProp) : null; return /*#__PURE__*/css(constraintToken ? `max-width: ${constraintToken};` : '', " ", maxProp === 'auto' ? 'width: auto;' : '', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getConstraintStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvcml6b250YWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DWSIsImZpbGUiOiJob3Jpem9udGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGZpbHRlckRhdGFBdHRyaWJ1dGVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TWF4UHJvcFRva2VuVmFsdWUgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IHR5cGUgVE1heFByb3AgPVxuICB8IDFcbiAgfCAyXG4gIHwgM1xuICB8IDRcbiAgfCA1XG4gIHwgNlxuICB8IDdcbiAgfCA4XG4gIHwgOVxuICB8IDEwXG4gIHwgMTFcbiAgfCAxMlxuICB8IDEzXG4gIHwgMTRcbiAgfCAxNVxuICB8IDE2XG4gIHwgJ3NjYWxlJ1xuICB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgVEhvcml6b250YWxQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29uc3RyYWludC4gU2VlIGVxdWl2YWxlbnQgcGl4ZWwgdmFsdWVzIFtoZXJlXShodHRwczovL3Vpa2l0LmNvbW1lcmNldG9vbHMuY29tLz9wYXRoPS9zdG9yeS9iYXNpY3MtdG9rZW5zLS1hbGwtdG9rZW5zKS5cbiAgICovXG4gIG1heD86IFRNYXhQcm9wO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcblxuZnVuY3Rpb24gZ2V0Q29uc3RyYWludFN0eWxlcyhtYXhQcm9wPzogVE1heFByb3ApIHtcbiAgY29uc3QgY29uc3RyYWludFRva2VuID0gbWF4UHJvcCA/IGdldE1heFByb3BUb2tlblZhbHVlKG1heFByb3ApIDogbnVsbDtcbiAgcmV0dXJuIGNzc2BcbiAgICAke2NvbnN0cmFpbnRUb2tlbiA/IGBtYXgtd2lkdGg6ICR7Y29uc3RyYWludFRva2VufTtgIDogJyd9XG4gICAgJHttYXhQcm9wID09PSAnYXV0bycgPyAnd2lkdGg6IGF1dG87JyA6ICcnfVxuICBgO1xufVxuXG5jb25zdCBIb3Jpem9udGFsID0gKHByb3BzOiBUSG9yaXpvbnRhbFByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e1tcbiAgICAgIGNzc2BcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGAsXG4gICAgICBnZXRDb25zdHJhaW50U3R5bGVzKHByb3BzLm1heCksXG4gICAgXX1cbiAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEhvcml6b250YWw7XG4iXX0= */"); } var _ref = process.env.NODE_ENV === "production" ? { name: "n48rgu", styles: "width:100%;position:relative" } : { name: "cu7d5n-Horizontal", styles: "width:100%;position:relative;label:Horizontal;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvcml6b250YWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDUyIsImZpbGUiOiJob3Jpem9udGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGZpbHRlckRhdGFBdHRyaWJ1dGVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TWF4UHJvcFRva2VuVmFsdWUgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IHR5cGUgVE1heFByb3AgPVxuICB8IDFcbiAgfCAyXG4gIHwgM1xuICB8IDRcbiAgfCA1XG4gIHwgNlxuICB8IDdcbiAgfCA4XG4gIHwgOVxuICB8IDEwXG4gIHwgMTFcbiAgfCAxMlxuICB8IDEzXG4gIHwgMTRcbiAgfCAxNVxuICB8IDE2XG4gIHwgJ3NjYWxlJ1xuICB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgVEhvcml6b250YWxQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29uc3RyYWludC4gU2VlIGVxdWl2YWxlbnQgcGl4ZWwgdmFsdWVzIFtoZXJlXShodHRwczovL3Vpa2l0LmNvbW1lcmNldG9vbHMuY29tLz9wYXRoPS9zdG9yeS9iYXNpY3MtdG9rZW5zLS1hbGwtdG9rZW5zKS5cbiAgICovXG4gIG1heD86IFRNYXhQcm9wO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcblxuZnVuY3Rpb24gZ2V0Q29uc3RyYWludFN0eWxlcyhtYXhQcm9wPzogVE1heFByb3ApIHtcbiAgY29uc3QgY29uc3RyYWludFRva2VuID0gbWF4UHJvcCA/IGdldE1heFByb3BUb2tlblZhbHVlKG1heFByb3ApIDogbnVsbDtcbiAgcmV0dXJuIGNzc2BcbiAgICAke2NvbnN0cmFpbnRUb2tlbiA/IGBtYXgtd2lkdGg6ICR7Y29uc3RyYWludFRva2VufTtgIDogJyd9XG4gICAgJHttYXhQcm9wID09PSAnYXV0bycgPyAnd2lkdGg6IGF1dG87JyA6ICcnfVxuICBgO1xufVxuXG5jb25zdCBIb3Jpem9udGFsID0gKHByb3BzOiBUSG9yaXpvbnRhbFByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e1tcbiAgICAgIGNzc2BcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGAsXG4gICAgICBnZXRDb25zdHJhaW50U3R5bGVzKHByb3BzLm1heCksXG4gICAgXX1cbiAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEhvcml6b250YWw7XG4iXX0= */", toString: _EMOTION_STRINGIFIED_CSS_ERROR__ }; const Horizontal = props => jsx("div", _objectSpread(_objectSpread({ css: [_ref, getConstraintStyles(props.max), process.env.NODE_ENV === "production" ? "" : ";label:Horizontal;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvcml6b250YWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDSSIsImZpbGUiOiJob3Jpem9udGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGZpbHRlckRhdGFBdHRyaWJ1dGVzIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TWF4UHJvcFRva2VuVmFsdWUgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IHR5cGUgVE1heFByb3AgPVxuICB8IDFcbiAgfCAyXG4gIHwgM1xuICB8IDRcbiAgfCA1XG4gIHwgNlxuICB8IDdcbiAgfCA4XG4gIHwgOVxuICB8IDEwXG4gIHwgMTFcbiAgfCAxMlxuICB8IDEzXG4gIHwgMTRcbiAgfCAxNVxuICB8IDE2XG4gIHwgJ3NjYWxlJ1xuICB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgVEhvcml6b250YWxQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgY29uc3RyYWludC4gU2VlIGVxdWl2YWxlbnQgcGl4ZWwgdmFsdWVzIFtoZXJlXShodHRwczovL3Vpa2l0LmNvbW1lcmNldG9vbHMuY29tLz9wYXRoPS9zdG9yeS9iYXNpY3MtdG9rZW5zLS1hbGwtdG9rZW5zKS5cbiAgICovXG4gIG1heD86IFRNYXhQcm9wO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcblxuZnVuY3Rpb24gZ2V0Q29uc3RyYWludFN0eWxlcyhtYXhQcm9wPzogVE1heFByb3ApIHtcbiAgY29uc3QgY29uc3RyYWludFRva2VuID0gbWF4UHJvcCA/IGdldE1heFByb3BUb2tlblZhbHVlKG1heFByb3ApIDogbnVsbDtcbiAgcmV0dXJuIGNzc2BcbiAgICAke2NvbnN0cmFpbnRUb2tlbiA/IGBtYXgtd2lkdGg6ICR7Y29uc3RyYWludFRva2VufTtgIDogJyd9XG4gICAgJHttYXhQcm9wID09PSAnYXV0bycgPyAnd2lkdGg6IGF1dG87JyA6ICcnfVxuICBgO1xufVxuXG5jb25zdCBIb3Jpem9udGFsID0gKHByb3BzOiBUSG9yaXpvbnRhbFByb3BzKSA9PiAoXG4gIDxkaXZcbiAgICBjc3M9e1tcbiAgICAgIGNzc2BcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGAsXG4gICAgICBnZXRDb25zdHJhaW50U3R5bGVzKHByb3BzLm1heCksXG4gICAgXX1cbiAgICB7Li4uZmlsdGVyRGF0YUF0dHJpYnV0ZXMocHJvcHMpfVxuICA+XG4gICAge3Byb3BzLmNoaWxkcmVufVxuICA8L2Rpdj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEhvcml6b250YWw7XG4iXX0= */"] }, filterDataAttributes(props)), {}, { children: props.children })); var Horizontal$1 = Horizontal; // NOTE: This string will be replaced on build time with the package version. var version = "20.6.1"; // eslint-disable-next-line import/prefer-default-export const Constraints = { Horizontal: Horizontal$1, getAcceptedMaxPropValues, getMaxPropTokenValue }; export { Constraints as default, version };