@commercetools-uikit/constraints
Version:
Constraints are container elements with a configurable constraint size, like width or height.
76 lines (69 loc) • 10 kB
JavaScript
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 _pt from 'prop-types';
import 'react';
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
}));
Horizontal.propTypes = process.env.NODE_ENV !== "production" ? {
max: _pt.oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
children: _pt.node.isRequired
} : {};
var Horizontal$1 = Horizontal;
// NOTE: This string will be replaced on build time with the package version.
var version = "19.22.7";
// eslint-disable-next-line import/prefer-default-export
const Constraints = {
Horizontal: Horizontal$1,
getAcceptedMaxPropValues,
getMaxPropTokenValue
};
export { Constraints as default, version };