UNPKG

@wix/design-system

Version:

@wix/design-system

110 lines (108 loc) 5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _wixUiIconsCommon = require("@wix/wix-ui-icons-common"); var _core = require("@wix/wix-ui-icons-common/core"); var _Dock = require("./Dock.classes"); var _Dock2 = require("./Dock.constants"); var _WixDesignSystemIconThemeProvider = require("../WixDesignSystemIconThemeProvider"); var _WixDesignSystemDefaultPropsProvider = require("../WixDesignSystemDefaultPropsProvider"); var _DockPoint = _interopRequireDefault(require("./components/DockPoint/DockPoint")); var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Dock/Dock.tsx"; function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var toArray = value => { if (!value) return []; return Array.isArray(value) ? value : [value]; }; var defaultIcons = { ArrowUpSmall: _wixUiIconsCommon.ArrowUpSmall, ArrowRightSmall: _wixUiIconsCommon.ArrowRightSmall, ArrowDownSmall: _wixUiIconsCommon.ArrowDownSmall, ArrowLeftSmall: _wixUiIconsCommon.ArrowLeftSmall }; var iconNameByPosition = { [_Dock2.DOCK_POSITION.TOP_LEFT]: 'ArrowUpSmall', [_Dock2.DOCK_POSITION.TOP]: 'ArrowUpSmall', [_Dock2.DOCK_POSITION.TOP_RIGHT]: 'ArrowUpSmall', [_Dock2.DOCK_POSITION.LEFT]: 'ArrowLeftSmall', [_Dock2.DOCK_POSITION.CENTER]: null, [_Dock2.DOCK_POSITION.RIGHT]: 'ArrowRightSmall', [_Dock2.DOCK_POSITION.BOTTOM_LEFT]: 'ArrowUpSmall', [_Dock2.DOCK_POSITION.BOTTOM]: 'ArrowDownSmall', [_Dock2.DOCK_POSITION.BOTTOM_RIGHT]: 'ArrowUpSmall' }; var Dock = props => { var _useDefaultProps = (0, _WixDesignSystemDefaultPropsProvider.useDefaultProps)('Dock', props), dataHook = _useDefaultProps.dataHook, className = _useDefaultProps.className, _useDefaultProps$valu = _useDefaultProps.value, value = _useDefaultProps$valu === void 0 ? [] : _useDefaultProps$valu, onChange = _useDefaultProps.onChange, _useDefaultProps$cent = _useDefaultProps.centerSelection, centerSelection = _useDefaultProps$cent === void 0 ? true : _useDefaultProps$cent, _useDefaultProps$disa = _useDefaultProps.disabled, disabled = _useDefaultProps$disa === void 0 ? false : _useDefaultProps$disa, disabledDirection = _useDefaultProps.disabledDirection; var icons = (0, _WixDesignSystemIconThemeProvider.useIcons)('Dock', defaultIcons); var iconTheme = (0, _react.useContext)(_core.IconThemeContext); /* the default set's arrow glyph sits slightly off its viewBox center, which becomes visible once the icon is rotated on corner points */ var offsetIcon = iconTheme === 'default'; var selectedPositions = toArray(value); var disabledPositions = toArray(disabledDirection); return /*#__PURE__*/_react.default.createElement("div", { "data-hook": dataHook, role: "group", className: _Dock.classes.root({ disabled }, className), __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 64, columnNumber: 5 } }, _Dock2.POSITIONS.map(position => { if (position === _Dock2.DOCK_POSITION.CENTER && !centerSelection) { return /*#__PURE__*/_react.default.createElement("span", { key: position, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 71, columnNumber: 18 } }); } var iconName = iconNameByPosition[position]; var Icon = iconName ? icons[iconName] : null; var isPointDisabled = disabled || disabledPositions.includes(position); return /*#__PURE__*/_react.default.createElement(_DockPoint.default, { key: position, position: position, selected: selectedPositions.includes(position), disabled: isPointDisabled, offsetIcon: offsetIcon, icon: Icon ? /*#__PURE__*/_react.default.createElement(Icon, { __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 87, columnNumber: 26 } }) : null, onClick: () => onChange == null ? void 0 : onChange(position), __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 81, columnNumber: 11 } }); })); }; Dock.displayName = 'Dock'; var _default = exports.default = Dock; //# sourceMappingURL=Dock.js.map