chop-logic-components 2.5.3 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/icons/index.d.ts +1 -1
- package/dist/assets/icons/svg/ArrowDownIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ArrowUpIcon.d.ts +1 -1
- package/dist/assets/icons/svg/BackIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CancelIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CheckMarkIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CheckboxCheckedIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CheckboxUncheckedIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ChevronDownIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ChevronLeftIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ChevronRightIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ChevronUpIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ClearIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CopyIcon.d.ts +1 -1
- package/dist/assets/icons/svg/CutIcon.d.ts +1 -1
- package/dist/assets/icons/svg/DeleteIcon.d.ts +1 -1
- package/dist/assets/icons/svg/DownloadIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ErrorIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ForwardIcon.d.ts +1 -1
- package/dist/assets/icons/svg/GraduateIcon.d.ts +1 -1
- package/dist/assets/icons/svg/HelpIcon.d.ts +1 -1
- package/dist/assets/icons/svg/HideIcon.d.ts +1 -1
- package/dist/assets/icons/svg/HomeIcon.d.ts +1 -1
- package/dist/assets/icons/svg/InfoIcon.d.ts +1 -1
- package/dist/assets/icons/svg/LoginIcon.d.ts +1 -1
- package/dist/assets/icons/svg/PasteIcon.d.ts +1 -1
- package/dist/assets/icons/svg/QuestionIcon.d.ts +1 -1
- package/dist/assets/icons/svg/RemoveIcon.d.ts +1 -1
- package/dist/assets/icons/svg/SaveIcon.d.ts +1 -1
- package/dist/assets/icons/svg/ShowIcon.d.ts +1 -1
- package/dist/assets/icons/svg/UploadIcon.d.ts +1 -1
- package/dist/assets/icons/svg/WarningIcon.d.ts +1 -1
- package/dist/atoms/editable-text/EditView.d.ts +14 -0
- package/dist/atoms/editable-text/EditableText.d.ts +4 -0
- package/dist/atoms/editable-text/ReadView.d.ts +10 -0
- package/dist/atoms/editable-text/__docs__/EditableText.stories.d.ts +6 -0
- package/dist/atoms/editable-text/useEditModeState.d.ts +6 -0
- package/dist/atoms/editable-text/useInputFocus.d.ts +2 -0
- package/dist/atoms/editable-text/useValueState.d.ts +6 -0
- package/dist/atoms/icon/Icon.d.ts +2 -2
- package/dist/atoms/index.d.ts +2 -17
- package/dist/atoms/{input/label → label}/Label.d.ts +2 -2
- package/dist/atoms/label/__docs__/Label.stories.d.ts +9 -0
- package/dist/atoms/loader/Loader.d.ts +2 -2
- package/dist/atoms/loader/__docs__/Loader.example.d.ts +2 -2
- package/dist/atoms/portal/Portal.d.ts +3 -3
- package/dist/atoms/portal/__docs__/Portal.example.d.ts +2 -2
- package/dist/atoms/tooltip/Tooltip.controller.d.ts +4 -4
- package/dist/atoms/tooltip/Tooltip.d.ts +2 -2
- package/dist/atoms/tooltip/__docs__/Tooltip.example.d.ts +2 -2
- package/dist/chop-logic-components.css +1 -1
- package/dist/contexts/form/context.d.ts +1 -2
- package/dist/hocs/with-tooltip/with-tooltip.d.ts +2 -2
- package/dist/hooks/use-auto-close/__docs__/use-auto-close.example.d.ts +2 -2
- package/dist/hooks/use-click-outside/use-click-outside.d.ts +3 -3
- package/dist/hooks/use-container-dimensions/use-container-dimensions.d.ts +2 -2
- package/dist/hooks/use-is-overflow/use-is-overflow.d.ts +5 -1
- package/dist/hooks/use-key-press/use-key-press.d.ts +2 -2
- package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.d.ts +2 -2
- package/dist/hooks/use-tooltip-position/use-tooltip-position.d.ts +3 -3
- package/dist/index.cjs.js +3 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1102 -1116
- package/dist/index.es.js.map +1 -1
- package/dist/models/editable-text.d.ts +12 -0
- package/dist/models/icon.d.ts +2 -2
- package/dist/models/index.d.ts +1 -0
- package/dist/{atoms/input → molecules/inputs/__elements__}/error-message/ErrorMessage.d.ts +2 -2
- package/dist/molecules/inputs/__elements__/index.d.ts +10 -0
- package/dist/molecules/inputs/__elements__/inner-button/InnerButton.d.ts +9 -0
- package/dist/{atoms/input → molecules/inputs/__elements__}/multi-select/Combobox.d.ts +3 -3
- package/dist/{atoms/input → molecules/inputs/__elements__}/multi-select/Dropdown.d.ts +3 -3
- package/dist/molecules/inputs/__elements__/multi-select/Option.d.ts +8 -0
- package/dist/{atoms/input → molecules/inputs/__elements__}/select/combobox/Combobox.d.ts +3 -3
- package/dist/{atoms/input → molecules/inputs/__elements__}/select/dropdown/Dropdown.d.ts +3 -3
- package/dist/molecules/inputs/__elements__/select/option/Option.d.ts +10 -0
- package/dist/molecules/inputs/button/Button.d.ts +2 -2
- package/dist/molecules/inputs/button/__docs__/Button.example.d.ts +2 -2
- package/dist/molecules/inputs/checkbox/Checkbox.controller.d.ts +3 -3
- package/dist/molecules/inputs/checkbox/Checkbox.d.ts +2 -2
- package/dist/molecules/inputs/checkbox/__docs__/Checkbox.example.d.ts +2 -2
- package/dist/molecules/inputs/multi-select/MultiSelect.d.ts +2 -2
- package/dist/molecules/inputs/multi-select/__docs__/MultiSelect.example.d.ts +2 -2
- package/dist/molecules/inputs/numeric/NumericInput.controller.d.ts +2 -2
- package/dist/molecules/inputs/numeric/__docs__/NumericInput.example.d.ts +2 -2
- package/dist/molecules/inputs/select/Select.d.ts +2 -2
- package/dist/molecules/inputs/select/__docs__/Select.example.d.ts +2 -2
- package/dist/molecules/inputs/text/TextInput.controller.d.ts +2 -2
- package/dist/molecules/inputs/text/TextInput.d.ts +2 -2
- package/dist/molecules/inputs/text/__docs__/TextInput.example.d.ts +2 -2
- package/dist/organisms/alert/Alert.d.ts +2 -2
- package/dist/organisms/alert/__docs__/Alert.example.d.ts +2 -2
- package/dist/organisms/dialog/Dialog.d.ts +2 -2
- package/dist/organisms/dialog/__docs__/Dialog.example.d.ts +2 -2
- package/dist/organisms/form/Form.controller.d.ts +3 -3
- package/dist/organisms/form/Form.d.ts +2 -2
- package/dist/organisms/form/__docs__/Form.example.d.ts +2 -2
- package/dist/organisms/grid/Grid.d.ts +2 -2
- package/dist/organisms/grid/Grid.helpers.d.ts +2 -2
- package/dist/organisms/grid/__docs__/Grid.example.d.ts +2 -2
- package/dist/{atoms/grid → organisms/grid/__elements__}/body/GridBody.d.ts +3 -3
- package/dist/organisms/grid/__elements__/checkbox/GridCheckbox.d.ts +6 -0
- package/dist/organisms/grid/__elements__/column-group/GridColumnGroup.d.ts +6 -0
- package/dist/organisms/grid/__elements__/data-cell/GridDataCell.d.ts +4 -0
- package/dist/{atoms/grid → organisms/grid/__elements__}/grid-row/GridRow.d.ts +3 -3
- package/dist/{atoms/grid → organisms/grid/__elements__}/head/GridHead.d.ts +3 -3
- package/dist/organisms/grid/__elements__/header-cell/HeaderCell.d.ts +5 -0
- package/dist/organisms/grid/__elements__/index.d.ts +3 -0
- package/dist/{atoms/grid → organisms/grid/__elements__}/select-all-grid-rows-cell/SelectAllGridRowsCell.d.ts +2 -2
- package/dist/{atoms/grid → organisms/grid/__elements__}/select-grid-row-cell/SelectGridRowCell.d.ts +2 -2
- package/dist/organisms/grid/__elements__/select-grid-row-cell/SelectGridRowCell.test.d.ts +1 -0
- package/dist/organisms/menu/Menu.d.ts +2 -2
- package/dist/organisms/menu/__docs__/Menu.example.d.ts +2 -2
- package/dist/organisms/menu/__elements__/index.d.ts +1 -0
- package/dist/organisms/menu/__elements__/item/MenuItem.d.ts +10 -0
- package/dist/organisms/menu/__elements__/item/MenuItem.test.d.ts +1 -0
- package/dist/organisms/menu/__elements__/leaf/MenuLeaf.d.ts +5 -0
- package/dist/organisms/menu/__elements__/leaf/MenuLeaf.test.d.ts +1 -0
- package/dist/{atoms/menu → organisms/menu/__elements__}/sub-menu/SubMenu.d.ts +4 -4
- package/dist/organisms/menu/__elements__/sub-menu/SubMenu.test.d.ts +1 -0
- package/dist/organisms/tabs/Tabs.d.ts +2 -2
- package/dist/organisms/tabs/__docs__/Tabs.example.d.ts +2 -2
- package/dist/{atoms/tabs → organisms/tabs/__elements__}/button/TabButton.d.ts +3 -3
- package/dist/organisms/tabs/__elements__/button/TabButton.test.d.ts +1 -0
- package/dist/organisms/tabs/__elements__/content/TabContent.d.ts +6 -0
- package/dist/organisms/tabs/__elements__/content/TabContent.test.d.ts +1 -0
- package/dist/organisms/tabs/__elements__/index.d.ts +2 -0
- package/dist/{atoms/tabs → organisms/tabs/__elements__}/list/TabList.d.ts +4 -4
- package/dist/organisms/tabs/__elements__/list/TabList.test.d.ts +1 -0
- package/package.json +5 -5
- package/dist/atoms/grid/checkbox/GridCheckbox.d.ts +0 -6
- package/dist/atoms/grid/column-group/GridColumnGroup.d.ts +0 -6
- package/dist/atoms/grid/data-cell/GridDataCell.d.ts +0 -4
- package/dist/atoms/grid/header-cell/HeaderCell.d.ts +0 -5
- package/dist/atoms/input/inner-button/InnerButton.d.ts +0 -9
- package/dist/atoms/input/multi-select/Option.d.ts +0 -8
- package/dist/atoms/input/select/option/Option.d.ts +0 -10
- package/dist/atoms/menu/item/MenuItem.d.ts +0 -10
- package/dist/atoms/menu/leaf/MenuLeaf.d.ts +0 -5
- package/dist/atoms/tabs/content/TabContent.d.ts +0 -6
- /package/dist/atoms/{grid/body/GridBody.test.d.ts → editable-text/__tests__/EditView.test.d.ts} +0 -0
- /package/dist/atoms/{grid/column-group/GridColumnGroup.test.d.ts → editable-text/__tests__/EditableText.test.d.ts} +0 -0
- /package/dist/atoms/{grid/grid-row/GridRow.test.d.ts → editable-text/__tests__/ReadView.test.d.ts} +0 -0
- /package/dist/atoms/{grid/head/GridHead.test.d.ts → editable-text/__tests__/useEditModeState.test.d.ts} +0 -0
- /package/dist/atoms/{grid/select-all-grid-rows-cell/SelectAllGridRowsCell.test.d.ts → editable-text/__tests__/useInputFocus.test.d.ts} +0 -0
- /package/dist/atoms/{grid/select-grid-row-cell/SelectGridRowCell.test.d.ts → editable-text/__tests__/useValueState.test.d.ts} +0 -0
- /package/dist/atoms/{input/label → label}/Label.test.d.ts +0 -0
- /package/dist/{atoms/input/error-message/ErrorMessage.test.d.ts → contexts/theme/provider.test.d.ts} +0 -0
- /package/dist/{atoms/input/icon-button/IconButton.test.d.ts → molecules/inputs/__elements__/error-message/ErrorMessage.test.d.ts} +0 -0
- /package/dist/{atoms/input → molecules/inputs/__elements__}/icon-button/IconButton.d.ts +0 -0
- /package/dist/{atoms/input/inner-button/InnerButton.test.d.ts → molecules/inputs/__elements__/icon-button/IconButton.test.d.ts} +0 -0
- /package/dist/{atoms/input/primary-button/PrimaryButton.test.d.ts → molecules/inputs/__elements__/inner-button/InnerButton.test.d.ts} +0 -0
- /package/dist/{atoms/input → molecules/inputs/__elements__}/input/Input.d.ts +0 -0
- /package/dist/{atoms/input → molecules/inputs/__elements__}/primary-button/PrimaryButton.d.ts +0 -0
- /package/dist/{atoms/input/secondary-button/SecondaryButton.test.d.ts → molecules/inputs/__elements__/primary-button/PrimaryButton.test.d.ts} +0 -0
- /package/dist/{atoms/input → molecules/inputs/__elements__}/secondary-button/SecondaryButton.d.ts +0 -0
- /package/dist/{atoms/menu/item/MenuItem.test.d.ts → molecules/inputs/__elements__/secondary-button/SecondaryButton.test.d.ts} +0 -0
- /package/dist/molecules/inputs/checkbox/{__tests__/Checkbox.test.d.ts → Checkbox.test.d.ts} +0 -0
- /package/dist/molecules/inputs/multi-select/{__tests__/MultiSelect.test.d.ts → MultiSelect.test.d.ts} +0 -0
- /package/dist/{atoms/menu/leaf/MenuLeaf.test.d.ts → molecules/inputs/multi-select/Multiselect.helpers.test.d.ts} +0 -0
- /package/dist/{atoms/menu/sub-menu/SubMenu.test.d.ts → molecules/inputs/numeric/NumericInput.helpers.test.d.ts} +0 -0
- /package/dist/molecules/inputs/numeric/{__tests__/NumericInput.test.d.ts → NumericInput.test.d.ts} +0 -0
- /package/dist/{atoms/tabs/button/TabButton.test.d.ts → molecules/inputs/select/Select.helpers.test.d.ts} +0 -0
- /package/dist/molecules/inputs/select/{__tests__/Select.test.d.ts → Select.test.d.ts} +0 -0
- /package/dist/{atoms/tabs/content/TabContent.test.d.ts → molecules/inputs/text/TextInput.helpers.test.d.ts} +0 -0
- /package/dist/molecules/inputs/text/{__tests__/TextInput.test.d.ts → TextInput.test.d.ts} +0 -0
- /package/dist/organisms/form/{__tests__/Form.test.d.ts → Form.test.d.ts} +0 -0
- /package/dist/{atoms/tabs/list/TabList.test.d.ts → organisms/grid/Grid.helpers.test.d.ts} +0 -0
- /package/dist/organisms/grid/{__tests__/Grid.test.d.ts → Grid.test.d.ts} +0 -0
- /package/dist/{molecules/inputs/multi-select/__tests__/helpers.test.d.ts → organisms/grid/__elements__/body/GridBody.test.d.ts} +0 -0
- /package/dist/{molecules/inputs/numeric/__tests__/helpers.test.d.ts → organisms/grid/__elements__/column-group/GridColumnGroup.test.d.ts} +0 -0
- /package/dist/{molecules/inputs/select/__tests__/helpers.test.d.ts → organisms/grid/__elements__/grid-row/GridRow.test.d.ts} +0 -0
- /package/dist/{molecules/inputs/text/__tests__/helpers.test.d.ts → organisms/grid/__elements__/head/GridHead.test.d.ts} +0 -0
- /package/dist/organisms/grid/{__tests__/helpers.test.d.ts → __elements__/select-all-grid-rows-cell/SelectAllGridRowsCell.test.d.ts} +0 -0
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/atoms/grid/data-cell/GridDataCell.tsx","../src/assets/icons/svg/CheckboxCheckedIcon.tsx","../src/assets/icons/svg/CheckboxUncheckedIcon.tsx","../src/hooks/use-auto-close/use-auto-close.ts","../src/contexts/form/context.tsx","../src/enums/chop-logic-alert-mode.ts","../src/enums/chop-logic-button-view.ts","../src/enums/chop-logic-icon-name.ts","../src/enums/chop-logic-loader-view.ts","../src/enums/chop-logic-orientation-mode.ts","../src/enums/chop-logic-theme-mode.ts","../src/enums/chop-logic-tooltip-container.ts","../src/contexts/theme/context.ts","../src/contexts/theme/provider.tsx","../src/hooks/use-chop-logic-theme/use-chop-logic-theme.ts","../src/hooks/use-click-outside/use-click-outside.ts","../src/hooks/use-container-dimensions/use-container-dimensions.ts","../src/hooks/use-element-ids/use-element-ids.ts","../src/hooks/use-is-mounted/use-is-mounted.ts","../src/hooks/use-is-overflow/use-is-overflow.ts","../src/hooks/use-key-press/use-key-press.ts","../src/hooks/use-modal-focus-trap/use-modal-focus-trap.ts","../src/hooks/use-reset-form-input/use-reset-form-input.ts","../src/hooks/use-window-dimensions/use-window-dimensions.ts","../src/hooks/use-tooltip-position/use-tooltip-position.ts","../src/utils/get-class-name.ts","../src/utils/move-focus-on-element-by-id.ts","../src/utils/handle-dropdown-list-key-press.ts","../src/atoms/grid/checkbox/GridCheckbox.tsx","../src/atoms/grid/select-grid-row-cell/SelectGridRowCell.tsx","../src/atoms/grid/grid-row/GridRow.tsx","../src/organisms/grid/Grid.helpers.ts","../src/atoms/grid/body/GridBody.tsx","../src/atoms/grid/column-group/GridColumnGroup.tsx","../src/atoms/grid/header-cell/HeaderCell.tsx","../src/atoms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.tsx","../src/atoms/grid/head/GridHead.tsx","../src/atoms/input/error-message/ErrorMessage.tsx","../src/atoms/input/icon-button/IconButton.tsx","../src/atoms/input/inner-button/InnerButton.tsx","../src/atoms/input/input/Input.tsx","../src/atoms/input/label/Label.tsx","../src/assets/icons/svg/ArrowDownIcon.tsx","../src/assets/icons/svg/ArrowUpIcon.tsx","../src/atoms/input/multi-select/Combobox.tsx","../src/atoms/input/multi-select/Option.tsx","../src/atoms/input/multi-select/Dropdown.tsx","../src/atoms/input/primary-button/PrimaryButton.tsx","../src/atoms/input/secondary-button/SecondaryButton.tsx","../src/atoms/input/select/combobox/Combobox.tsx","../src/assets/icons/svg/CheckMarkIcon.tsx","../src/atoms/input/select/option/Option.tsx","../src/atoms/input/select/dropdown/Dropdown.tsx","../src/atoms/menu/leaf/MenuLeaf.tsx","../src/atoms/menu/sub-menu/SubMenu.tsx","../src/atoms/menu/item/MenuItem.tsx","../src/atoms/tabs/content/TabContent.tsx","../src/atoms/tabs/button/TabButton.tsx","../src/atoms/tabs/list/TabList.tsx","../src/atoms/header/Header.tsx","../src/assets/icons/svg/BackIcon.tsx","../src/assets/icons/svg/CancelIcon.tsx","../src/assets/icons/svg/ChevronDownIcon.tsx","../src/assets/icons/svg/ChevronLeftIcon.tsx","../src/assets/icons/svg/ChevronRightIcon.tsx","../src/assets/icons/svg/ChevronUpIcon.tsx","../src/assets/icons/svg/ClearIcon.tsx","../src/assets/icons/svg/CopyIcon.tsx","../src/assets/icons/svg/CutIcon.tsx","../src/assets/icons/svg/DeleteIcon.tsx","../src/assets/icons/svg/DownloadIcon.tsx","../src/assets/icons/svg/ErrorIcon.tsx","../src/assets/icons/svg/ForwardIcon.tsx","../src/assets/icons/svg/GraduateIcon.tsx","../src/assets/icons/svg/HelpIcon.tsx","../src/assets/icons/svg/HideIcon.tsx","../src/assets/icons/svg/HomeIcon.tsx","../src/assets/icons/svg/InfoIcon.tsx","../src/assets/icons/svg/LoginIcon.tsx","../src/assets/icons/svg/PasteIcon.tsx","../src/assets/icons/svg/QuestionIcon.tsx","../src/assets/icons/svg/RemoveIcon.tsx","../src/assets/icons/svg/SaveIcon.tsx","../src/assets/icons/svg/ShowIcon.tsx","../src/assets/icons/svg/UploadIcon.tsx","../src/assets/icons/svg/WarningIcon.tsx","../src/assets/icons/index.tsx","../src/atoms/icon/Icon.tsx","../src/atoms/loader/Loader.tsx","../src/atoms/portal/Portal.tsx","../src/atoms/tooltip/Tooltip.controller.ts","../src/atoms/tooltip/Tooltip.tsx","../src/hocs/with-tooltip/with-tooltip.tsx","../src/molecules/inputs/button/Button.tsx","../src/molecules/inputs/checkbox/Checkbox.helpers.ts","../src/molecules/inputs/checkbox/Checkbox.controller.ts","../src/molecules/inputs/checkbox/Checkbox.tsx","../src/molecules/inputs/multi-select/Multiselect.helpers.ts","../src/molecules/inputs/multi-select/Multiselect.controller.ts","../src/molecules/inputs/multi-select/MultiSelect.tsx","../src/molecules/inputs/numeric/NumericInput.helpers.ts","../src/molecules/inputs/numeric/NumericInput.controller.ts","../src/molecules/inputs/numeric/NumericInput.tsx","../src/molecules/inputs/select/Select.helpers.ts","../src/molecules/inputs/select/Select.controller.ts","../src/molecules/inputs/select/Select.tsx","../src/molecules/inputs/text/TextInput.helpers.ts","../src/molecules/inputs/text/TextInput.controller.ts","../src/molecules/inputs/text/TextInput.tsx","../src/organisms/alert/Alert.helpers.tsx","../src/organisms/alert/Alert.tsx","../src/organisms/dialog/Dialog.tsx","../src/organisms/form/Form.helpers.ts","../src/organisms/form/Form.controller.ts","../src/organisms/form/Form.tsx","../src/organisms/grid/Grid.controller.ts","../src/organisms/grid/Grid.tsx","../src/organisms/menu/Menu.tsx","../src/organisms/tabs/Tabs.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React from 'react';\n\nimport styles from './GridDataCell.module.scss';\n\nexport const GridDataCell: React.FC<{ value: React.ReactElement | string }> = ({ value }) => {\n return <td className={styles.cell}>{value}</td>;\n};\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxCheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='currentColor'\n d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 12.414L3.293 8.707l1.414-1.414L7 9.586l4.793-4.793 1.414 1.414L7 12.414z'\n />\n </svg>\n );\n}\n\nexport default CheckboxCheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxUncheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='currentColor' d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 14H2V2h12v12z' />\n </svg>\n );\n}\n\nexport default CheckboxUncheckedIcon;\n","import { useEffect } from 'react';\n\nexport const useAutoClose = ({\n isOpened,\n onClose,\n autoClose = true,\n autoCloseDelay = 3000,\n}: {\n isOpened: boolean;\n onClose: () => void;\n autoClose?: boolean;\n autoCloseDelay?: number;\n}) => {\n useEffect(() => {\n if (!isOpened || !autoClose) return;\n\n const timer = setTimeout(() => {\n onClose();\n }, autoCloseDelay);\n\n return () => clearTimeout(timer);\n }, [isOpened, autoClose, autoCloseDelay, onClose]);\n};\n","import { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\nimport React from 'react';\n\nexport interface ChopLogicFormContextProps {\n onChangeFormInput?: (params: ChopLogicFormInputParams) => void;\n initialValues?: ChopLogicFormData;\n resetSignal?: number;\n}\n\nexport const ChopLogicFormContext = React.createContext<ChopLogicFormContextProps>({});\n","export enum ChopLogicAlertMode {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Help = 'help',\n}\n","export enum ChopLogicButtonView {\n Primary = 'primary',\n Secondary = 'secondary',\n Icon = 'icon',\n Inner = 'inner',\n}\n","export enum ChopLogicIconName {\n ArrowDown = 'arrow-down',\n ArrowUp = 'arrow-up',\n Back = 'back',\n Cancel = 'cancel',\n CheckboxChecked = 'checkbox-checked',\n CheckboxUnchecked = 'checkbox-unchecked',\n CheckMark = 'check-mark',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n ChevronUp = 'chevron-up',\n Clear = 'clear',\n Copy = 'copy',\n Cut = 'cut',\n Delete = 'delete',\n Download = 'download',\n Error = 'error',\n Forward = 'forward',\n Graduate = 'graduate',\n Help = 'help',\n Hide = 'hide',\n Home = 'home',\n Info = 'info',\n Login = 'login',\n Paste = 'paste',\n Question = 'question',\n Save = 'save',\n Show = 'show',\n Upload = 'upload',\n Warning = 'warning',\n Remove = 'remove',\n}\n","export enum ChopLogicLoaderView {\n Dots = 'dots',\n Brackets = 'brackets',\n Linear = 'linear',\n Square = 'square',\n Circle = 'circle',\n Pulse = 'pulse',\n Arrow = 'arrow',\n Filler = 'filler',\n Rotation = 'rotation',\n}\n","export enum ChopLogicOrientationMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","export enum ChopLogicThemeMode {\n Light = 'cl-components-light-theme',\n Dark = 'cl-components-dark-theme',\n}\n","export enum ChopLogicTooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import { ChopLogicThemeMode } from '@enums';\nimport { createContext } from 'react';\n\nexport interface ChopLogicThemeContextProps {\n mode?: ChopLogicThemeMode;\n setMode: (mode: ChopLogicThemeMode) => void;\n}\n\nexport const ChopLogicThemeContext = createContext<ChopLogicThemeContextProps>({\n mode: ChopLogicThemeMode.Light,\n setMode: () => {},\n});\n","import '@styles/root.scss';\n\nimport { ChopLogicThemeMode } from '@enums';\nimport { FC, ReactNode, useEffect, useState } from 'react';\n\nimport { ChopLogicThemeContext } from './context.ts';\n\nexport const ChopLogicThemeProvider: FC<{ children: ReactNode; injectedMode?: ChopLogicThemeMode }> = ({ children, injectedMode }) => {\n const [mode, setMode] = useState(ChopLogicThemeMode.Light);\n\n useEffect(() => {\n if (mode && typeof mode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(mode);\n }\n }, [mode]);\n\n useEffect(() => {\n if (injectedMode && typeof injectedMode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(injectedMode);\n }\n }, [injectedMode]);\n\n return <ChopLogicThemeContext.Provider value={{ mode, setMode }}>{children}</ChopLogicThemeContext.Provider>;\n};\n","import { ChopLogicThemeContext } from '@contexts';\nimport { useContext } from 'react';\n\nexport const useChopLogicTheme = () => useContext(ChopLogicThemeContext);\n","import React, { useEffect } from 'react';\n\ntype UseClickOutsideParams = {\n ref: React.RefObject<HTMLElement | null>;\n onClickOutsideHandler: () => void;\n dependentRef?: React.RefObject<HTMLElement | null>;\n};\n\nexport const useClickOutside = ({ ref, onClickOutsideHandler, dependentRef }: UseClickOutsideParams): void => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isOutsideRef = ref?.current && !ref.current.contains(event.target as Node);\n const isOutsideDependentRef = !dependentRef?.current ? true : !dependentRef.current.contains(event.target as Node);\n if (isOutsideRef && isOutsideDependentRef) {\n onClickOutsideHandler();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref, dependentRef, onClickOutsideHandler]);\n};\n","import { Dimensions } from '@models';\nimport React, { useEffect, useState } from 'react';\n\ntype useContainerDimensionsParams = {\n ref: React.RefObject<HTMLElement | null>;\n isVisible?: boolean;\n};\n\nexport const useContainerDimensions = ({ ref, isVisible }: useContainerDimensionsParams): Dimensions => {\n const [dimensions, setDimensions] = useState<Dimensions>({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref?.current && isVisible) {\n setDimensions({\n width: ref.current.offsetWidth,\n height: ref.current.offsetHeight,\n });\n }\n }, [ref, isVisible]);\n\n return dimensions;\n};\n","import { useId } from 'react';\n\nexport function useElementIds(id?: string) {\n const randomId = useId();\n const elementId = id ?? randomId;\n const errorId = `${elementId}_error`;\n const dropdownId = `${elementId}_dropdown`;\n\n return {\n elementId,\n errorId,\n dropdownId,\n };\n}\n","import { useEffect, useState } from 'react';\n\nexport const useIsMounted = (isOpened: boolean, delay: number = 300): boolean => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (isOpened && !isMounted) {\n setIsMounted(true);\n } else if (!isOpened && isMounted) {\n setTimeout(() => {\n setIsMounted(false);\n }, delay);\n }\n }, [isOpened]);\n\n return isMounted;\n};\n","import { RefObject, useEffect, useState } from 'react';\n\nexport const useIsOverflow = (ref: RefObject<HTMLElement | null>, dimension: 'width' | 'height') => {\n const [isOverflow, setIsOverflow] = useState(false);\n\n useEffect(() => {\n const { current } = ref;\n\n const trigger = () => {\n if (dimension === 'width') {\n const { scrollWidth = 0, clientWidth = 0 } = current as HTMLElement;\n setIsOverflow(scrollWidth > clientWidth);\n }\n\n if (dimension === 'height') {\n const { scrollHeight = 0, clientHeight = 0 } = current as HTMLElement;\n setIsOverflow(scrollHeight > clientHeight);\n }\n };\n\n if (current) {\n trigger();\n }\n }, [ref, dimension]);\n\n return isOverflow;\n};\n","import React, { useEffect } from 'react';\n\ntype useKeyPressParams = {\n keyCode: string;\n ref: React.RefObject<HTMLDivElement | null>;\n onKeyPress: () => void;\n};\n\nexport const useKeyPress = ({ ref, keyCode, onKeyPress }: useKeyPressParams) => {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e?.code === keyCode && ref?.current) {\n onKeyPress();\n }\n };\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [ref, keyCode, onKeyPress]);\n};\n","import React, { useEffect } from 'react';\n\ntype ModalFocusTrapParams = {\n modalRef: React.RefObject<HTMLDivElement | null>;\n isOpened: boolean;\n};\n\nexport const useModalFocusTrap = ({ modalRef, isOpened }: ModalFocusTrapParams) => {\n useEffect(() => {\n const modalElement = modalRef.current;\n if (!isOpened || !modalElement) return;\n\n const focusableElements = modalElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n };\n }, [modalRef, isOpened]);\n};\n","import { ChopLogicFormContext } from '@contexts';\nimport { useContext, useEffect } from 'react';\n\nexport const useResetFormInput = (onReset: () => void) => {\n const { resetSignal } = useContext(ChopLogicFormContext);\n\n useEffect(() => {\n if (resetSignal) {\n onReset();\n }\n }, [resetSignal, onReset]);\n};\n","import { Dimensions } from '@models';\nimport { useEffect, useState } from 'react';\n\nfunction getWindowDimensions(): Dimensions {\n const { innerWidth: width, innerHeight: height } = window;\n\n return { width, height };\n}\n\nexport function useWindowDimensions(): Dimensions {\n const [windowDimensions, setWindowDimensions] = useState<Dimensions>(getWindowDimensions());\n\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { useContainerDimensions } from '../use-container-dimensions/use-container-dimensions.ts';\nimport { useWindowDimensions } from '../use-window-dimensions/use-window-dimensions.ts';\n\ntype useTooltipPositionParams = {\n wrapperRef: React.RefObject<HTMLElement | null>;\n tooltipRef: React.RefObject<HTMLElement | null>;\n isOpened: boolean;\n spacing?: number;\n};\n\nexport const useTooltipPosition = ({ wrapperRef, tooltipRef, isOpened, spacing = 4 }: useTooltipPositionParams) => {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const { width: tooltipWidth, height: tooltipHeight } = useContainerDimensions({\n ref: tooltipRef,\n isVisible: isOpened,\n });\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n\n useEffect(() => {\n if (isOpened && wrapperRef?.current) {\n const rect = wrapperRef?.current.getBoundingClientRect();\n\n let top = Math.round(rect.bottom + spacing);\n let left = Math.round(rect.left);\n\n // Adjust position if tooltip goes beyond the viewport\n if (top + tooltipHeight > window.innerHeight) {\n top = Math.round(rect.top - tooltipHeight - spacing);\n }\n if (left + tooltipWidth > window.innerWidth) {\n left = Math.round(window.innerWidth - tooltipWidth - spacing);\n }\n if (left < 0) {\n left = spacing;\n }\n\n setPosition({ top, left });\n }\n }, [isOpened, wrapperRef, tooltipHeight, tooltipWidth, spacing, windowWidth, windowHeight]);\n\n return position;\n};\n","type ClassNameInput =\n | string\n | {\n [key in string]: boolean;\n }\n | undefined\n | null;\n\nexport function getClassName(input: ClassNameInput[]): string {\n const names = input\n .map((item) => {\n if (typeof item === 'string') {\n return item.trim();\n }\n if (typeof item === 'object') {\n const trueKeys = [];\n for (const key in item) {\n if (item[key]) {\n trueKeys.push(key.trim());\n }\n }\n\n return trueKeys.join(' ');\n }\n })\n .filter((item) => !!item);\n\n return names.join(' ');\n}\n","export function moveFocusOnElementById(id: string) {\n const element = document.getElementById(id);\n\n if (element) element.focus();\n}\n","import { ChopLogicSelectValue } from '@models';\nimport { KeyboardEvent } from 'react';\n\nimport { moveFocusOnElementById } from './move-focus-on-element-by-id.ts';\n\nexport function handleDropdownListKeyPress({\n e,\n options,\n onClose,\n}: {\n e: KeyboardEvent<HTMLUListElement>;\n options: ChopLogicSelectValue[];\n onClose: () => void;\n}) {\n let focusedId: string = '';\n options.forEach((value) => {\n const element = document.getElementById(value.id);\n if (element === document.activeElement) {\n focusedId = value.id;\n }\n });\n\n const currentFocusIndex = options.findIndex((value) => value.id === focusedId);\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault();\n onClose();\n break;\n case 'ArrowUp': {\n e.preventDefault();\n const previousOptionIndex = currentFocusIndex - 1 >= 0 ? currentFocusIndex - 1 : options.length - 1;\n const previousValue = options[previousOptionIndex];\n if (previousValue) moveFocusOnElementById(previousValue.id);\n break;\n }\n case 'ArrowDown':\n case 'Tab': {\n e.preventDefault();\n const nextOptionIndex = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;\n const nextValue = options[nextOptionIndex];\n if (nextValue) moveFocusOnElementById(nextValue.id);\n break;\n }\n }\n}\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon.tsx';\nimport { Label } from '@atoms';\nimport { useElementIds } from '@hooks';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './GridCheckbox.module.scss';\n\ntype Props = React.InputHTMLAttributes<HTMLInputElement> & {\n label: string;\n};\n\nexport const GridCheckbox: React.FC<Props> = ({ name, label, disabled, required = false, onChange, checked = false, ...props }) => {\n const { elementId } = useElementIds(props?.id);\n const checkboxClass = getClassName([\n styles.checkbox,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={onChange}\n className={styles.checkbox_input}\n />\n <Label\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={true}\n iconPosition='left'\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n />\n </div>\n );\n};\n","import { GridCheckbox } from '@atoms/grid/checkbox/GridCheckbox.tsx';\nimport React from 'react';\n\nimport styles from './SelectGridRowCell.module.scss';\n\ntype Props = {\n rowId: string;\n isRowSelected: boolean;\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n disabled?: boolean;\n};\n\nexport const SelectGridRowCell: React.FC<Props> = ({ rowId, isRowSelected, selectRowById, deselectRowById, disabled }) => {\n const handleSelectById = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectRowById(rowId);\n } else {\n deselectRowById(rowId);\n }\n };\n\n return (\n <td className={styles.cell}>\n <GridCheckbox label='Select row' onChange={handleSelectById} id={`select_row_${rowId}`} checked={isRowSelected} disabled={disabled} />\n </td>\n );\n};\n","import { GridDataCell } from '@atoms/grid/data-cell/GridDataCell.tsx';\nimport { SelectGridRowCell } from '@atoms/grid/select-grid-row-cell/SelectGridRowCell.tsx';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './GridRow.module.scss';\n\ntype Props = {\n rowId: string;\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n selectable: boolean;\n values: (string | React.ReactElement)[];\n disabled?: boolean;\n};\n\nexport const GridRow: React.FC<Props> = ({ rowId, selectRowById, deselectRowById, selectable, values, selectedIds, disabled }) => {\n const selected = selectedIds.includes(rowId);\n\n return (\n <tr className={getClassName([styles.row, { [styles.row__selected]: selected }])}>\n {selectable && (\n <SelectGridRowCell\n rowId={rowId}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n isRowSelected={selected}\n disabled={disabled}\n />\n )}\n {values.map((value, index) => (\n <GridDataCell key={`row_${index}`} value={value} />\n ))}\n </tr>\n );\n};\n","import { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\nimport React from 'react';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: ChopLogicGridItem;\n columns: ChopLogicGridColumn[];\n renderDataItem?: RenderDataItemCallback;\n}): (string | React.ReactElement)[] {\n const values = [];\n for (const column of columns) {\n let value;\n\n if (renderDataItem && item[column.field]) {\n value = renderDataItem(item, column.field);\n } else if (item[column.field]) {\n value = (item[column.field] as string).toString();\n } else {\n value = '';\n }\n\n values.push(value);\n }\n\n return values;\n}\n","import { GridRow } from '@atoms/grid/grid-row/GridRow.tsx';\nimport { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\nimport { getGridRowValues } from '@organisms/grid/Grid.helpers.ts';\nimport React from 'react';\n\nimport styles from './GridBody.module.scss';\n\ntype Props = {\n data: ChopLogicGridItem[];\n columns: ChopLogicGridColumn[];\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n renderDataItem?: RenderDataItemCallback;\n selectable: boolean;\n};\n\nexport const GridBody: React.FC<Props> = ({ selectRowById, deselectRowById, renderDataItem, selectedIds, selectable, data, columns }) => {\n return (\n <tbody className={styles.body}>\n {data.map((item) => {\n const values = getGridRowValues({ item, columns, renderDataItem });\n return (\n <GridRow\n key={item.id}\n rowId={item.id}\n disabled={item?.disabled}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n selectable={selectable}\n values={values}\n selectedIds={selectedIds}\n />\n );\n })}\n </tbody>\n );\n};\n","import { ChopLogicGridColumn } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './GridColumnGroup.module.scss';\n\nexport const GridColumnGroup: React.FC<{ columns: ChopLogicGridColumn[]; selectable: boolean }> = ({ columns, selectable }) => {\n return (\n <colgroup>\n {selectable && <col className={getClassName([styles.column, styles.column__first])} />}\n {columns.map((column, index) => (\n <col\n key={column?.title}\n className={getClassName([\n styles.column,\n column?.className,\n {\n [styles.column__first]: index === 0 && !selectable,\n [styles.column__highlighted]: !!column?.highlighted,\n },\n ])}\n />\n ))}\n </colgroup>\n );\n};\n","import React from 'react';\n\nimport styles from './HeaderCell.module.scss';\n\nexport const GridHeaderCell: React.FC<{ title?: string; component?: React.ReactElement }> = ({ title, component }) => {\n return <th className={styles.headerCell}>{component ?? title ?? ''}</th>;\n};\n","import { GridCheckbox } from '@atoms/grid/checkbox/GridCheckbox';\nimport React from 'react';\n\nimport styles from './SelectAllGridRowsCell.module.scss';\n\ntype Props = {\n gridId: string;\n isAllSelected: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n disabled?: boolean;\n};\n\nexport const SelectAllGridRowsCell: React.FC<Props> = ({ gridId, isAllSelected, selectAll, deselectAll, disabled }) => {\n const handleSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectAll();\n } else {\n deselectAll();\n }\n };\n\n return (\n <th className={styles.headerCell}>\n <GridCheckbox\n label='Select all rows'\n onChange={handleSelectAll}\n id={`select_all_${gridId}`}\n checked={isAllSelected}\n disabled={disabled}\n />\n </th>\n );\n};\n","import { GridHeaderCell } from '@atoms/grid/header-cell/HeaderCell.tsx';\nimport { SelectAllGridRowsCell } from '@atoms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.tsx';\nimport { ChopLogicGridColumn } from '@models';\nimport React from 'react';\n\nimport styles from './GridHead.module.scss';\n\ntype ChopLogicGridHeadProps = {\n columns: ChopLogicGridColumn[];\n gridId: string;\n selectable: boolean;\n isAllSelected: boolean;\n isAllCheckboxDisabled?: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n};\n\nexport const GridHead: React.FC<ChopLogicGridHeadProps> = ({\n columns,\n gridId,\n selectAll,\n deselectAll,\n selectable,\n isAllSelected,\n isAllCheckboxDisabled = false,\n}) => {\n return (\n <thead className={styles.head}>\n <tr className={styles.head_row}>\n {selectable && (\n <SelectAllGridRowsCell\n isAllSelected={isAllSelected}\n disabled={isAllCheckboxDisabled}\n gridId={gridId}\n selectAll={selectAll}\n deselectAll={deselectAll}\n />\n )}\n {columns.map((column) => (\n <GridHeaderCell key={`${column.title}_${gridId}`} title={column.title} component={column.component} />\n ))}\n </tr>\n </thead>\n );\n};\n","import { getClassName } from '@utils/get-class-name.ts';\nimport React from 'react';\n\nimport styles from './ErrorMessage.module.scss';\n\ntype ErrorMessageProps = {\n errorId: string;\n visible?: boolean;\n message?: string;\n testId?: string;\n className?: string;\n};\n\nexport const ErrorMessage: React.FC<ErrorMessageProps> = ({ errorId, testId, message = 'Error!', visible = false, className }) => {\n const errorClass = getClassName([styles.errorMessage, className, { [styles.errorMessage__visible]: visible }]);\n\n return (\n <span id={errorId} className={errorClass} data-testid={testId} aria-hidden={!visible}>\n {message}\n </span>\n );\n};\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './IconButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const IconButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n {children}\n </button>\n);\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicIconName } from '@enums';\nimport { getClassName } from '@utils';\nimport React, { ButtonHTMLAttributes } from 'react';\n\nimport styles from './InnerButton.module.scss';\n\ntype Props = {\n label?: string;\n icon?: ChopLogicIconName;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const InnerButton: React.FC<Props> = ({ onClick, label, icon, disabled, className, ...rest }) => {\n return (\n <button\n className={getClassName([styles.button, className])}\n onClick={onClick}\n aria-label={label}\n type='button'\n disabled={disabled}\n {...rest}\n >\n <ChopLogicIcon name={icon} />\n </button>\n );\n};\n","import { FC, InputHTMLAttributes, PropsWithChildren } from 'react';\n\nimport styles from './Input.module.scss';\n\ntype Props = InputHTMLAttributes<HTMLInputElement> & PropsWithChildren;\n\nexport const Input: FC<Props> = ({ children, ...rest }) => {\n return (\n <div className={styles.wrapper}>\n <input {...rest} className={styles.input} />\n {children}\n </div>\n );\n};\n","import { FC, ReactElement } from 'react';\n\nimport styles from './Label.module.scss';\n\ntype LabelProps = {\n label: string;\n required: boolean;\n inputId: string;\n isTextHidden?: boolean;\n icon?: ReactElement;\n iconPosition?: 'left' | 'right';\n};\n\nexport const Label: FC<LabelProps> = ({ label, required, inputId, icon, iconPosition, isTextHidden = false }) => {\n const isLeftIconVisible = !!icon && iconPosition === 'left';\n const isRightIconVisible = !!icon && iconPosition === 'right';\n\n return (\n <label className={styles.label} htmlFor={inputId}>\n {isLeftIconVisible && icon}\n {!isTextHidden && (\n <span>\n {label}\n {required && <abbr title='required'>*</abbr>}\n </span>\n )}\n {isRightIconVisible && icon}\n </label>\n );\n};\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M21.886 5.536A1.002 1.002 0 0021 5H3a1.002 1.002 0 00-.822 1.569l9 13a.998.998 0 001.644 0l9-13a.998.998 0 00.064-1.033zM12 17.243L4.908 7h14.184L12 17.243z' />\n </svg>\n );\n}\n\nexport default ArrowDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M3 19h18a1.002 1.002 0 00.823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 003 19zm9-12.243L19.092 17H4.908L12 6.757z' />\n </svg>\n );\n}\n\nexport default ArrowUpIcon;\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport React from 'react';\n\nimport styles from '../select/combobox/Combobox.module.scss';\n\ntype Props = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n values?: ChopLogicMultiSelectValue[];\n placeholder?: string;\n name: string;\n};\n\nexport const MultiSelectCombobox: React.FC<Props> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n name,\n placeholder,\n disabled,\n required,\n values,\n}) => {\n const selectedLabels = values?.filter((value) => value.selected).map((value) => value.label);\n const selectedIds = values?.filter((value) => value.selected).map((value) => value.id);\n let selectedValues = <span>{placeholder}</span>;\n\n if (selectedLabels && selectedLabels.length === values?.length) {\n selectedValues = <span>All items selected</span>;\n } else if (selectedLabels && selectedLabels.length === 1) {\n selectedValues = <span>{selectedLabels[0]}</span>;\n } else if (selectedLabels && selectedLabels.length > 1) {\n selectedValues = <span>{`${selectedLabels.length} items selected`}</span>;\n }\n\n return (\n <button\n type='button'\n name={name}\n value={selectedIds}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selectedValues}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport React, { KeyboardEvent } from 'react';\n\nimport styles from '../select/option/Option.module.scss';\n\ntype Props = {\n value: ChopLogicMultiSelectValue;\n onSelect: (id: string) => void;\n};\n\nexport const MultiSelectOption: React.FC<Props> = ({ value, onSelect }) => {\n const { id, label, selected } = value;\n const optionClass = getClassName([styles.option, styles.option__multi, { [styles.option__selected]: selected }]);\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n onSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => onSelect(id)}\n className={optionClass}\n >\n {selected ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n <span>{label}</span>\n </li>\n );\n};\n","import { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress } from '@utils';\nimport React from 'react';\n\nimport styles from '../select/dropdown/Dropdown.module.scss';\nimport { MultiSelectOption } from './Option';\n\ntype Props = {\n options: ChopLogicMultiSelectValue[];\n opened: boolean;\n dropdownId: string;\n onClose: () => void;\n onSelect: (id: string) => void;\n};\n\nexport const MultiSelectDropdown: React.FC<Props> = ({ options, opened, onClose, onSelect, dropdownId }) => {\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <MultiSelectOption key={item.id} value={item} onSelect={() => onSelect(item.id)} />\n ))}\n </ul>\n );\n};\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './PrimaryButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const PrimaryButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n <span className={styles.button_shadow}></span>\n <span className={styles.button_edge}></span>\n <span className={styles.button_front}>{children}</span>\n </button>\n);\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './SecondaryButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const SecondaryButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n {children}\n </button>\n);\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport React from 'react';\n\nimport styles from './Combobox.module.scss';\n\ntype Props = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n selected?: ChopLogicSelectValue;\n placeholder?: string;\n name: string;\n};\n\nexport const SelectCombobox: React.FC<Props> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n selected,\n name,\n placeholder,\n disabled,\n required,\n}) => {\n return (\n <button\n type='button'\n name={name}\n value={selected?.id}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selected?.label ? <span>{selected?.label}</span> : <span>{placeholder}</span>}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckMarkIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />\n </svg>\n );\n}\n\nexport default CheckMarkIcon;\n","import CheckMarkIcon from '@assets/icons/svg/CheckMarkIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport React, { KeyboardEvent } from 'react';\n\nimport styles from './Option.module.scss';\n\ntype Props = {\n value: ChopLogicSelectValue;\n selected: boolean;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nexport const SelectOption: React.FC<Props> = ({ value, selected, onSelect, onClear }) => {\n const { id, label } = value;\n const optionClass = getClassName([styles.option, { [styles.option__selected]: selected }]);\n\n const handleOptionSelect = (id: string) => {\n if (selected) {\n onClear();\n } else {\n onSelect(id);\n }\n };\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n handleOptionSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => handleOptionSelect(id)}\n className={optionClass}\n >\n <span>{label}</span>\n {selected && <CheckMarkIcon />}\n </li>\n );\n};\n","import { ChopLogicSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress, moveFocusOnElementById } from '@utils';\nimport React from 'react';\n\nimport { SelectOption } from '../option/Option';\nimport styles from './Dropdown.module.scss';\n\ntype Props = {\n options: ChopLogicSelectValue[];\n opened: boolean;\n dropdownId: string;\n comboboxId: string;\n onClose: () => void;\n selected?: ChopLogicSelectValue;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nexport const SelectDropdown: React.FC<Props> = ({ options, opened, onClose, onSelect, dropdownId, comboboxId, selected, onClear }) => {\n const handleOptionSelect = (id: string) => {\n onSelect(id);\n onClose();\n moveFocusOnElementById(comboboxId);\n };\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <SelectOption\n key={item.id}\n value={item}\n onSelect={() => handleOptionSelect(item.id)}\n onClear={onClear}\n selected={item.id === selected?.id}\n />\n ))}\n </ul>\n );\n};\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicMenuItem } from '@models';\nimport React from 'react';\n\nimport styles from './MenuLeaf.module.scss';\n\nexport const MenuLeaf = ({ item }: { item: ChopLogicMenuItem }): React.ReactElement => {\n const { icon, link, label, onFocus, onClick, onHover } = item;\n\n const leafContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n {label}\n </a>\n ) : (\n <span>{label}</span>\n );\n\n return (\n <li className={styles.menuLeaf} tabIndex={0} role='menuitem' onFocus={onFocus} onClick={onClick} onMouseOver={onHover}>\n <ChopLogicIcon name={icon} />\n {leafContent}\n </li>\n );\n};\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicIconName, ChopLogicOrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { ChopLogicMenuItem } from '@models';\nimport React, { PropsWithChildren, useRef } from 'react';\n\nimport styles from './SubMenu.module.scss';\n\ntype Props = PropsWithChildren & {\n item: ChopLogicMenuItem;\n isSubMenuOpened: boolean;\n mode: ChopLogicOrientationMode;\n toggleSubMenu: () => void;\n closeSubMenu: () => void;\n openSubMenu: () => void;\n openedOn?: 'hover' | 'click';\n};\n\nexport const SubMenu: React.FC<Props> = ({ item, isSubMenuOpened, toggleSubMenu, closeSubMenu, openSubMenu, openedOn, mode, children }) => {\n const { icon, link, label } = item;\n const ref = useRef(null);\n const dependentRef = useRef(null);\n\n const itemContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n <ChopLogicIcon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <ChopLogicIcon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLLIElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === ChopLogicOrientationMode.Vertical) return;\n closeSubMenu();\n };\n\n useClickOutside({ ref, dependentRef, onClickOutsideHandler });\n\n return (\n <li\n className={styles.subMenu}\n tabIndex={0}\n role='menuitem'\n aria-haspopup='true'\n aria-expanded={isSubMenuOpened}\n onKeyDown={handleKeyDown}\n onMouseEnter={openedOn === 'hover' ? openSubMenu : undefined}\n onMouseLeave={openedOn === 'hover' ? closeSubMenu : undefined}\n ref={ref}\n >\n <span className={styles.text} ref={dependentRef} onClick={toggleSubMenu}>\n {itemContent}\n <ChopLogicIcon name={isSubMenuOpened ? ChopLogicIconName.ArrowUp : ChopLogicIconName.ArrowDown} />\n </span>\n {isSubMenuOpened && children}\n </li>\n );\n};\n","import { MenuLeaf } from '@atoms/menu/leaf/MenuLeaf';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuItem } from '@models';\nimport { getClassName } from '@utils';\nimport React, { PropsWithChildren, useState } from 'react';\n\nimport { SubMenu } from '../sub-menu/SubMenu';\nimport styles from './MenuItem.module.scss';\n\ntype Props = PropsWithChildren & {\n item: ChopLogicMenuItem;\n mode: ChopLogicOrientationMode;\n openedOn?: 'hover' | 'click';\n};\n\nexport const MenuItem: React.FC<Props> = ({ item, mode, openedOn }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n const subMenuBarClass = getClassName([\n styles.subMenuBar,\n { [styles.subMenuBar__horizontal]: mode === ChopLogicOrientationMode.Horizontal },\n ]);\n\n if (isLeaf) {\n return <MenuLeaf item={item} />;\n }\n\n const toggleSubMenu = () => {\n setIsSubMenuOpened(!isSubMenuOpened);\n };\n\n const closeSubMenu = () => {\n setIsSubMenuOpened(false);\n };\n\n const openSubMenu = () => {\n setIsSubMenuOpened(true);\n };\n\n return (\n <SubMenu\n item={item}\n isSubMenuOpened={isSubMenuOpened}\n toggleSubMenu={toggleSubMenu}\n closeSubMenu={closeSubMenu}\n openSubMenu={openSubMenu}\n mode={mode}\n openedOn={openedOn}\n >\n <ul className={subMenuBarClass} role='menu' aria-label={item.label}>\n {item?.nestedItems?.map((child) => <MenuItem item={child} key={child.id} mode={mode} openedOn={openedOn} />)}\n </ul>\n </SubMenu>\n );\n};\n","import { ChopLogicTabItem } from '@models';\nimport React from 'react';\n\nimport styles from './TabContent.module.scss';\n\nexport const TabContent: React.FC<{\n tabs: ChopLogicTabItem[];\n selectedTabId: string;\n}> = ({ tabs, selectedTabId }): React.ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n\n return (\n <div role='tabpanel' aria-labelledby={selectedTabId} id={contentId} className={styles.tabContent}>\n {content}\n </div>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './TabButton.module.scss';\n\ntype Props = {\n title: string;\n tabId: string;\n onTabSelect: (id: string) => void;\n tabPanelId: string;\n isSelected: boolean;\n mode: ChopLogicOrientationMode;\n isDisabled?: boolean;\n};\n\nexport const TabButton: React.FC<Props> = ({ title, onTabSelect, tabId, isSelected, isDisabled = false, tabPanelId, mode }) => {\n const buttonClass = getClassName([\n styles.tabButton,\n {\n [styles.tabButton__disabled]: isDisabled,\n [styles.tabButton__vertical]: mode === ChopLogicOrientationMode.Vertical,\n [styles.tabButton__selected]: isSelected,\n },\n ]);\n\n return (\n <button\n role='tab'\n id={tabId}\n onClick={() => onTabSelect(tabId)}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n className={buttonClass}\n >\n {title}\n </button>\n );\n};\n","import { TabButton } from '@atoms/tabs/button/TabButton';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabItem } from '@models';\nimport { getClassName, moveFocusOnElementById } from '@utils';\nimport React, { KeyboardEvent } from 'react';\n\nimport styles from './TabList.module.scss';\n\ntype ChopLogicTabListProps = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: ChopLogicOrientationMode;\n};\n\nexport const TabList: React.FC<ChopLogicTabListProps> = ({ tabs, onTabSelect, selectedTabId, tabPanelIds, mode, tabIds }) => {\n const listClass = getClassName([styles.tabList, { [styles.tabList__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleListKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const currentFocusedTabIndex = tabIds.findIndex((id) => id === selectedTabId);\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault();\n if (e.key === 'ArrowUp' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowLeft' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const previousTabIndex = currentFocusedTabIndex - 1 >= 0 ? currentFocusedTabIndex - 1 : tabIds.length - 1;\n const previousTabId = tabIds[previousTabIndex];\n if (previousTabId) {\n moveFocusOnElementById(previousTabId);\n onTabSelect(previousTabId);\n }\n break;\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault();\n if (e.key === 'ArrowDown' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowRight' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const nextTabIndex = currentFocusedTabIndex === tabIds.length - 1 ? 0 : currentFocusedTabIndex + 1;\n const nextTabId = tabIds[nextTabIndex];\n if (nextTabId) {\n moveFocusOnElementById(nextTabId);\n onTabSelect(nextTabId);\n }\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <div role='tablist' onKeyDown={handleListKeyDown} className={listClass}>\n {tabs.map(({ id, title, disabled }, index) => {\n return (\n <TabButton\n key={id}\n title={title}\n onTabSelect={onTabSelect}\n tabId={id}\n isSelected={id === selectedTabId}\n isDisabled={disabled}\n tabPanelId={tabPanelIds[index]}\n mode={mode}\n />\n );\n })}\n </div>\n );\n};\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicHeaderProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Header.module.scss';\n\nconst Header: FC<ChopLogicHeaderProps> = ({ as = 'h1', icon, children, className, ...rest }) => {\n const HeaderTag = as;\n const headerClass = getClassName([\n className,\n styles.header,\n {\n [styles.header__h1]: as === 'h1',\n [styles.header__h2]: as === 'h2',\n [styles.header__h3]: as === 'h3',\n [styles.header__h4]: as === 'h4',\n [styles.header__h5]: as === 'h5',\n [styles.header__h6]: as === 'h6',\n },\n ]);\n\n return (\n <HeaderTag className={headerClass} {...rest}>\n {icon && <ChopLogicIcon name={icon} />}\n <span className={styles.header_text}>{children}</span>\n </HeaderTag>\n );\n};\n\nexport default Header;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction BackIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M328 112L184 256l144 144' />\n </svg>\n );\n}\n\nexport default BackIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CancelIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 470 1000' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M452 656c12 12 18 26.333 18 43s-6 31-18 43c-12 10.667-26.333 16-43 16s-31-5.333-43-16L234 590 102 742c-12 10.667-26.333 16-43 16s-31-5.333-43-16C5.333 730 0 715.667 0 699s5.333-31 16-43l138-156L16 342C5.333 330 0 315.667 0 299s5.333-31 16-43c12-10.667 26.333-16 43-16s31 5.333 43 16l132 152 132-152c12-10.667 26.333-16 43-16s31 5.333 43 16c12 12 18 26.333 18 43s-6 31-18 43L314 500l138 156' />\n </svg>\n );\n}\n\nexport default CancelIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M1.553 6.776a.5.5 0 01.67-.223L8 9.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z'\n />\n </svg>\n );\n}\n\nexport default ChevronDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronLeftIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M9.224 1.553a.5.5 0 01.223.67L6.56 8l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z'\n />\n </svg>\n );\n}\n\nexport default ChevronLeftIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronRightIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M6.776 1.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L9.44 8 6.553 2.224a.5.5 0 01.223-.671z'\n />\n </svg>\n );\n}\n\nexport default ChevronRightIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fillRule='evenodd' d='M7.776 5.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L8 6.56 2.224 9.447a.5.5 0 11-.448-.894l6-3z' />\n </svg>\n );\n}\n\nexport default ChevronUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ClearIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <defs>\n <style />\n </defs>\n <path d='M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-.3 1.5-.4 3-.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-.1 4.4-.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z' />\n </svg>\n );\n}\n\nexport default ClearIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CopyIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path d='M11 9 H20 A2 2 0 0 1 22 11 V20 A2 2 0 0 1 20 22 H11 A2 2 0 0 1 9 20 V11 A2 2 0 0 1 11 9 z' />\n <path d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1' />\n </svg>\n );\n}\n\nexport default CopyIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CutIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n role='img'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path stroke='none' d='M0 0h24v24H0z' />\n <path d='M10 17 A3 3 0 0 1 7 20 A3 3 0 0 1 4 17 A3 3 0 0 1 10 17 z' />\n <path d='M20 17 A3 3 0 0 1 17 20 A3 3 0 0 1 14 17 A3 3 0 0 1 20 17 z' />\n <path d='M9.15 14.85L18 4M6 4l8.85 10.85' />\n </svg>\n );\n}\n\nexport default CutIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DeleteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z' />\n </svg>\n );\n}\n\nexport default DeleteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DownloadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default DownloadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ErrorIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M11 7h2v7h-2zm0 8h2v2h-2z' />\n <path d='M21.707 7.293l-5-5A.996.996 0 0016 2H8a.996.996 0 00-.707.293l-5 5A.996.996 0 002 8v8c0 .266.105.52.293.707l5 5A.996.996 0 008 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0022 16V8a.996.996 0 00-.293-.707zM20 15.586L15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z' />\n </svg>\n );\n}\n\nexport default ErrorIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ForwardIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M184 112l144 144-144 144' />\n </svg>\n );\n}\n\nexport default ForwardIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst GraduateIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 448 512' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M219.3.5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128S96 230.7 96 160v-57.1l-48-9.6v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3S52.8 256 48 256H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64c0-11.4 8.1-21.3 19.3-23.5l200-40zM111.9 327.7c10.5-3.4 21.8.4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5 65 20.9 112 81.7 112 153.6 0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z' />\n </svg>\n);\n\nexport default GraduateIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HelpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M414.39 97.61A224 224 0 1097.61 414.39 224 224 0 10414.39 97.61zM192.13 260.18a64 64 0 1159.69 59.69 64.07 64.07 0 01-59.69-59.69zm240-66.64l-96.37 5.84a4.06 4.06 0 01-3.44-1.59 96 96 0 00-18.07-18.07 4.06 4.06 0 01-1.59-3.44l5.84-96.37a4 4 0 015.42-3.51A193 193 0 01435.6 188.12a4 4 0 01-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 01-1.59 3.44 96 96 0 00-18.07 18.07 4.06 4.06 0 01-3.44 1.59l-96.37-5.84a4 4 0 01-3.51-5.42A193 193 0 01188.12 76.4a4 4 0 015.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 013.44 1.59 96 96 0 0018.07 18.07 4.06 4.06 0 011.59 3.44l-5.84 96.37a4 4 0 01-5.42 3.51A193 193 0 0176.4 323.88a4 4 0 013.51-5.42zm238.55 113.63l-5.84-96.37a4.06 4.06 0 011.59-3.44 96 96 0 0018.07-18.07 4.06 4.06 0 013.44-1.59l96.37 5.84a4 4 0 013.51 5.42A193 193 0 01323.88 435.6a4 4 0 01-5.42-3.51z' />\n </svg>\n );\n}\n\nexport default HelpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HideIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 011.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 000 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 000-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558l-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0112 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z' />\n </svg>\n );\n}\n\nexport default HideIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst HomeIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M946.5 505 560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z' />\n </svg>\n);\n\nexport default HomeIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction InfoIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z' />\n <path d='M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default InfoIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst LoginIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z' />\n </svg>\n);\n\nexport default LoginIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction PasteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 00-1-1H8a1 1 0 00-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z' />\n </svg>\n );\n}\n\nexport default PasteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction QuestionIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeMiterlimit={10} strokeWidth={32} d='M256 80a176 176 0 10176 176A176 176 0 00256 80z' />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeMiterlimit={10}\n strokeWidth={28}\n d='M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296'\n />\n <path d='M270 348 A20 20 0 0 1 250 368 A20 20 0 0 1 230 348 A20 20 0 0 1 270 348 z' />\n </svg>\n );\n}\n\nexport default QuestionIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction RemoveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z'\n />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33'\n />\n </svg>\n );\n}\n\nexport default RemoveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction SaveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z' />\n </svg>\n );\n}\n\nexport default SaveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ShowIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 9a3.02 3.02 0 00-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z' />\n <path d='M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z' />\n </svg>\n );\n}\n\nexport default ShowIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction UploadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M.5 9.9a.5.5 0 01.5.5v2.5a1 1 0 001 1h12a1 1 0 001-1v-2.5a.5.5 0 011 0v2.5a2 2 0 01-2 2H2a2 2 0 01-2-2v-2.5a.5.5 0 01.5-.5z' />\n <path d='M7.646 1.146a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8.5 2.707V11.5a.5.5 0 01-1 0V2.707L5.354 4.854a.5.5 0 11-.708-.708l3-3z' />\n </svg>\n );\n}\n\nexport default UploadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction WarningIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' d='M0 0h24v24H0z' />\n <path d='M4 20v-6a8 8 0 1116 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 10-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 015-5v2a3 3 0 00-3 3H7z' />\n </svg>\n );\n}\n\nexport default WarningIcon;\n","import { ChopLogicIconName } from '@enums';\nimport { ChopLogicSVGElementProps } from '@models';\nimport { ReactElement } from 'react';\n\nimport ArrowDownIcon from './svg/ArrowDownIcon';\nimport ArrowUpIcon from './svg/ArrowUpIcon';\nimport BackIcon from './svg/BackIcon';\nimport CancelIcon from './svg/CancelIcon';\nimport CheckboxCheckedIcon from './svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from './svg/CheckboxUncheckedIcon';\nimport CheckMarkIcon from './svg/CheckMarkIcon';\nimport ChevronDownIcon from './svg/ChevronDownIcon';\nimport ChevronLeftIcon from './svg/ChevronLeftIcon';\nimport ChevronRightIcon from './svg/ChevronRightIcon';\nimport ChevronUpIcon from './svg/ChevronUpIcon';\nimport ClearIcon from './svg/ClearIcon';\nimport CopyIcon from './svg/CopyIcon';\nimport CutIcon from './svg/CutIcon';\nimport DeleteIcon from './svg/DeleteIcon';\nimport DownloadIcon from './svg/DownloadIcon';\nimport ErrorIcon from './svg/ErrorIcon';\nimport ForwardIcon from './svg/ForwardIcon';\nimport GraduateIcon from './svg/GraduateIcon';\nimport HelpIcon from './svg/HelpIcon';\nimport HideIcon from './svg/HideIcon';\nimport HomeIcon from './svg/HomeIcon';\nimport InfoIcon from './svg/InfoIcon';\nimport LoginIcon from './svg/LoginIcon';\nimport PasteIcon from './svg/PasteIcon';\nimport QuestionIcon from './svg/QuestionIcon';\nimport RemoveIcon from './svg/RemoveIcon';\nimport SaveIcon from './svg/SaveIcon';\nimport ShowIcon from './svg/ShowIcon';\nimport UploadIcon from './svg/UploadIcon';\nimport WarningIcon from './svg/WarningIcon';\n\ntype ChopLogicIcons = { [key in ChopLogicIconName]: ({ title, ...rest }: ChopLogicSVGElementProps) => ReactElement };\n\nexport const ChopLogicIconDictionary: ChopLogicIcons = {\n [ChopLogicIconName.ArrowDown]: ArrowDownIcon,\n [ChopLogicIconName.ArrowUp]: ArrowUpIcon,\n [ChopLogicIconName.Back]: BackIcon,\n [ChopLogicIconName.Cancel]: CancelIcon,\n [ChopLogicIconName.CheckboxChecked]: CheckboxCheckedIcon,\n [ChopLogicIconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [ChopLogicIconName.CheckMark]: CheckMarkIcon,\n [ChopLogicIconName.ChevronDown]: ChevronDownIcon,\n [ChopLogicIconName.ChevronUp]: ChevronUpIcon,\n [ChopLogicIconName.ChevronLeft]: ChevronLeftIcon,\n [ChopLogicIconName.ChevronRight]: ChevronRightIcon,\n [ChopLogicIconName.Clear]: ClearIcon,\n [ChopLogicIconName.Copy]: CopyIcon,\n [ChopLogicIconName.Cut]: CutIcon,\n [ChopLogicIconName.Delete]: DeleteIcon,\n [ChopLogicIconName.Download]: DownloadIcon,\n [ChopLogicIconName.Error]: ErrorIcon,\n [ChopLogicIconName.Forward]: ForwardIcon,\n [ChopLogicIconName.Graduate]: GraduateIcon,\n [ChopLogicIconName.Help]: HelpIcon,\n [ChopLogicIconName.Hide]: HideIcon,\n [ChopLogicIconName.Home]: HomeIcon,\n [ChopLogicIconName.Info]: InfoIcon,\n [ChopLogicIconName.Login]: LoginIcon,\n [ChopLogicIconName.Paste]: PasteIcon,\n [ChopLogicIconName.Question]: QuestionIcon,\n [ChopLogicIconName.Save]: SaveIcon,\n [ChopLogicIconName.Show]: ShowIcon,\n [ChopLogicIconName.Upload]: UploadIcon,\n [ChopLogicIconName.Warning]: WarningIcon,\n [ChopLogicIconName.Remove]: RemoveIcon,\n};\n","import { ChopLogicIconDictionary } from '@assets/icons';\nimport { ChopLogicIconProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './Icon.module.scss';\n\nconst ChopLogicIcon: React.FC<ChopLogicIconProps> = ({ name, testId, className, ...rest }) => {\n if (!name) return null;\n const Component = ChopLogicIconDictionary[name];\n const iconClass = getClassName([className, styles.icon]);\n\n return <Component data-testid={testId} className={iconClass} {...rest} />;\n};\n\nexport default ChopLogicIcon;\n","import { ChopLogicLoaderView } from '@enums';\nimport { ChopLogicLoaderProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport Arrow from './views/Arrow.module.scss';\nimport Brackets from './views/Brackets.module.scss';\nimport Circle from './views/Circle.module.scss';\nimport Dots from './views/Dots.module.scss';\nimport Filler from './views/Filler.module.scss';\nimport Linear from './views/Linear.module.scss';\nimport Pulse from './views/Pulse.module.scss';\nimport Rotation from './views/Rotation.module.scss';\nimport Square from './views/Square.module.scss';\n\nconst ChopLogicLoader: React.FC<ChopLogicLoaderProps> = ({ view = ChopLogicLoaderView.Circle, ...rest }) => {\n const className = getClassName([\n {\n [Arrow.loader]: view === ChopLogicLoaderView.Arrow,\n [Brackets.loader]: view === ChopLogicLoaderView.Brackets,\n [Circle.loader]: view === ChopLogicLoaderView.Circle,\n [Dots.loader]: view === ChopLogicLoaderView.Dots,\n [Filler.loader]: view === ChopLogicLoaderView.Filler,\n [Pulse.loader]: view === ChopLogicLoaderView.Pulse,\n [Linear.loader]: view === ChopLogicLoaderView.Linear,\n [Rotation.loader]: view === ChopLogicLoaderView.Rotation,\n [Square.loader]: view === ChopLogicLoaderView.Square,\n },\n ]);\n\n return <span className={className} role='status' {...rest}></span>;\n};\n\nexport default ChopLogicLoader;\n","import React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst ChopLogicPortal = ({ children }: { children: React.ReactElement }): React.ReactPortal => {\n const [container] = useState(() => document.createElement('div'));\n\n useEffect(() => {\n // Append a new portal at the end of the body element on mount\n document.body.appendChild(container);\n\n // Remove the portal on unmount\n return () => {\n document.body.removeChild(container);\n };\n }, [container]);\n\n return ReactDOM.createPortal(children, container);\n};\n\nexport default ChopLogicPortal;\n","import { useAutoClose, useClickOutside, useElementIds, useKeyPress, useTooltipPosition } from '@hooks';\nimport React, { useRef, useState } from 'react';\n\ntype Params = {\n autoClose: boolean;\n autoCloseDelay: number;\n id?: string;\n};\n\nexport const useChopLogicTooltipController = ({ id, autoClose, autoCloseDelay }: Params) => {\n const [isOpened, setIsOpened] = useState(false);\n const wrapperRef = useRef(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const { top, left } = useTooltipPosition({ wrapperRef, tooltipRef, isOpened });\n const { elementId } = useElementIds(id);\n\n const closeTooltip = () => setIsOpened(false);\n const openTooltip = () => setIsOpened(true);\n const toggleTooltip = () => setIsOpened(!isOpened);\n const handleContextMenu = (e: React.MouseEvent) => {\n e.preventDefault();\n toggleTooltip();\n };\n\n useKeyPress({ keyCode: 'Escape', ref: tooltipRef, onKeyPress: closeTooltip });\n useClickOutside({ ref: tooltipRef, onClickOutsideHandler: closeTooltip, dependentRef: wrapperRef });\n useAutoClose({\n isOpened,\n onClose: closeTooltip,\n autoClose,\n autoCloseDelay,\n });\n\n return {\n elementId,\n openTooltip,\n closeTooltip,\n toggleTooltip,\n handleContextMenu,\n top,\n left,\n isOpened,\n wrapperRef,\n tooltipRef,\n };\n};\n","import { ChopLogicPortal } from '@atoms';\nimport { ChopLogicTooltipContainer } from '@enums';\nimport { ChopLogicTooltipProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { useChopLogicTooltipController } from './Tooltip.controller.ts';\nimport styles from './Tooltip.module.scss';\n\nconst ChopLogicTooltip: React.FC<ChopLogicTooltipProps> = ({\n children,\n tooltipContent,\n id,\n style,\n className,\n containerTag = ChopLogicTooltipContainer.Span,\n visibleOn = 'hover',\n autoClose = false,\n autoCloseDelay = 3000,\n ...rest\n}) => {\n const ContainerComponent = containerTag;\n const { openTooltip, closeTooltip, toggleTooltip, handleContextMenu, elementId, top, left, isOpened, wrapperRef, tooltipRef } =\n useChopLogicTooltipController({ id, autoClose, autoCloseDelay });\n const tooltipClass = getClassName([styles.tooltip, className]);\n\n return (\n <ContainerComponent\n style={{ position: 'relative', cursor: 'pointer' }}\n onClick={visibleOn === 'click' ? toggleTooltip : undefined}\n onMouseOver={visibleOn === 'hover' ? openTooltip : undefined}\n onMouseLeave={visibleOn === 'hover' ? closeTooltip : undefined}\n onFocus={visibleOn === 'focus' ? openTooltip : undefined}\n onBlur={visibleOn === 'focus' ? closeTooltip : undefined}\n onContextMenu={visibleOn === 'contextmenu' ? (e: React.MouseEvent) => handleContextMenu(e) : undefined}\n tabIndex={-1}\n ref={wrapperRef}\n aria-describedby={elementId}\n >\n {children}\n {isOpened && (\n <ChopLogicPortal>\n <div style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} {...rest} className={tooltipClass}>\n {tooltipContent}\n </div>\n </ChopLogicPortal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default ChopLogicTooltip;\n","import { ChopLogicTooltip } from '@atoms';\nimport React from 'react';\n\ntype WithTooltipProps = {\n tooltip?: string;\n visibleOn?: 'hover' | 'click' | 'focus' | 'contextmenu';\n};\n\nexport function withTooltip<P extends object>(Component: React.ComponentType<P>): React.FC<P & WithTooltipProps> {\n return ({ tooltip, visibleOn, ...props }: WithTooltipProps) =>\n tooltip?.length ? (\n <ChopLogicTooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </ChopLogicTooltip>\n ) : (\n <Component {...(props as P)} />\n );\n}\n","import { ChopLogicIcon, IconButton, InnerButton, PrimaryButton, SecondaryButton } from '@atoms';\nimport { ChopLogicButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { ChopLogicButtonProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './Button.module.scss';\n\nconst Button: React.FC<ChopLogicButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ChopLogicButtonView.Primary,\n className,\n ...rest\n}) => {\n const extendedClass = getClassName([className, { [styles.extended]: extended }]);\n\n switch (view) {\n case ChopLogicButtonView.Primary:\n return (\n <PrimaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <ChopLogicIcon name={icon} />\n {text}\n </PrimaryButton>\n );\n case ChopLogicButtonView.Secondary:\n return (\n <SecondaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <ChopLogicIcon name={icon} />\n {text}\n </SecondaryButton>\n );\n case ChopLogicButtonView.Icon:\n return (\n <IconButton aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={className}>\n <ChopLogicIcon name={icon} />\n </IconButton>\n );\n case ChopLogicButtonView.Inner:\n return <InnerButton label={label} icon={icon} onClick={onClick} disabled={disabled} {...rest} className={className}></InnerButton>;\n default:\n return null;\n }\n};\n\nconst ChopLogicButton = withTooltip(Button);\n\nexport default ChopLogicButton;\n","import { ChopLogicFormData } from '@models';\n\nexport function getCheckboxInitialValue({\n defaultChecked,\n initialValues,\n name,\n}: {\n defaultChecked?: boolean;\n initialValues?: ChopLogicFormData;\n name: string;\n}): boolean {\n if (initialValues && initialValues?.[name] !== undefined) {\n return !!initialValues?.[name];\n }\n\n return Boolean(defaultChecked);\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport React, { useCallback, useContext, useState } from 'react';\n\nimport { getCheckboxInitialValue } from './Checkbox.helpers.ts';\n\nexport function useChopLogicCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getCheckboxInitialValue({ initialValues, name, defaultChecked });\n const [isChecked, setIsChecked] = useState<boolean>(initialValue);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n setIsChecked(checked);\n onChange?.(e);\n onChangeFormInput?.({ name, value: checked });\n };\n\n const handleReset = useCallback(() => {\n setIsChecked(initialValue);\n onChangeFormInput?.({ name, value: initialValue });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n checked: isChecked,\n };\n}\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { Label } from '@atoms';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicCheckboxProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { useChopLogicCheckboxController } from './Checkbox.controller';\nimport styles from './Checkbox.module.scss';\n\nconst ChopLogicCheckbox: React.FC<ChopLogicCheckboxProps> = ({\n name,\n label,\n disabled,\n noLabel,\n required = false,\n iconPosition = 'left',\n defaultChecked,\n onChange,\n id,\n className,\n ...rest\n}) => {\n const { handleChange, checked } = useChopLogicCheckboxController({ name, defaultChecked, onChange });\n const { elementId } = useElementIds(id);\n const checkboxClass = getClassName([\n styles.checkbox,\n className,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div {...rest} className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={handleChange}\n aria-label={noLabel ? label : undefined}\n />\n <Label\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={noLabel}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n iconPosition={iconPosition}\n />\n </div>\n );\n};\n\nexport default ChopLogicCheckbox;\n","import { ChopLogicFormData, ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nexport function getMultiSelectInitialValues({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicMultiSelectValue[] {\n return options.map((option) => {\n let selected = false;\n\n if (initialValues && initialValues?.[name] && Array.isArray(initialValues[name])) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const selectedId = (initialValues[name] as Array<any>).find((item) => item === option.id || item?.id === option.id);\n if (selectedId) selected = true;\n }\n\n if (!initialValues?.[name] && Array.isArray(defaultValue)) {\n const selectedId = defaultValue.find((item) => item === option.id);\n if (selectedId) selected = true;\n }\n\n return { ...option, selected };\n });\n}\n\nexport const getMultiSelectFormValues = (options: ChopLogicMultiSelectValue[]): string[] => {\n return options.filter((item) => item.selected).map((item) => item.id);\n};\n\nexport const getMultiSelectUpdatedValues = (options: ChopLogicMultiSelectValue[], id: string): ChopLogicMultiSelectValue[] => {\n const targetItem = options.find((item) => item.id === id);\n return options.map((item) => {\n return item.id === id ? { ...item, selected: !targetItem?.selected } : item;\n });\n};\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './Multiselect.helpers.ts';\n\nexport function useChopLogicMultiSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (values?: ChopLogicSelectValue[]) => void;\n options: ChopLogicSelectValue[];\n}) {\n const [opened, setOpened] = useState(false);\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialOptions = getMultiSelectInitialValues({ name, options, initialValues, defaultValue });\n const [values, setValues] = useState<ChopLogicMultiSelectValue[]>(initialOptions);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValues = getMultiSelectUpdatedValues(values, id);\n\n setValues(newValues);\n onChange?.(newValues);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(newValues) });\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setValues(initialOptions);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(initialOptions) });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleClose,\n handleToggle,\n handleSelect,\n opened,\n values,\n };\n}\n","import { Label, MultiSelectCombobox, MultiSelectDropdown } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicMultiSelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport React, { useRef } from 'react';\n\nimport styles from '../select/Select.module.scss';\nimport { useChopLogicMultiSelectController } from './Multiselect.controller.ts';\n\nconst ChopLogicMultiSelect: React.FC<ChopLogicMultiSelectProps> = ({\n options,\n name,\n label,\n required = false,\n placeholder = 'Not selected',\n disabled = false,\n onChange,\n defaultValue,\n id,\n className,\n ...rest\n}) => {\n const ref = useRef(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClose, handleSelect, handleToggle, opened, values } = useChopLogicMultiSelectController({\n name,\n options,\n defaultValue,\n onChange,\n });\n const multiSelectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={multiSelectClass}>\n <Label label={label} required={required} inputId={elementId} />\n <MultiSelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n values={values}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <MultiSelectDropdown options={values} opened={opened} onClose={handleClose} dropdownId={dropdownId} onSelect={handleSelect} />\n </div>\n );\n};\n\nexport default ChopLogicMultiSelect;\n","import { ChopLogicFormData, ChopLogicNumericInputValidator } from '@models';\n\nexport function getNumericInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): number {\n if (initialValues && initialValues[name]) {\n return Number(initialValues[name]);\n }\n\n if (defaultValue && typeof defaultValue === 'number') {\n return defaultValue;\n }\n\n return 0;\n}\n\nexport function validateNumericInputValue({\n value,\n required,\n validator,\n maxValue,\n minValue,\n}: {\n value?: number;\n required?: boolean;\n validator?: ChopLogicNumericInputValidator;\n maxValue?: number;\n minValue?: number;\n}): boolean {\n if (required && !validator && value === undefined) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (maxValue && minValue && value && !validator) {\n return value <= maxValue && value >= minValue;\n }\n\n return true;\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicNumericInputValidator } from '@models';\nimport React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './NumericInput.helpers.ts';\n\nexport function useChopLogicNumericInputController({\n name,\n defaultValue,\n onChange,\n onSpinButtonClick,\n min,\n max,\n step,\n required,\n validator,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onSpinButtonClick?: (value?: number) => void;\n min?: string | number;\n max?: string | number;\n step: number;\n required: boolean;\n validator?: ChopLogicNumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getNumericInputInitialValue({ initialValues, defaultValue, name });\n const maxValue = max ? Number(max) : Number.MAX_SAFE_INTEGER;\n const minValue = min ? Number(min) : Number.MIN_SAFE_INTEGER;\n const [value, setValue] = useState<number>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n\n const updateValue = (value: number) => {\n setValue(value);\n const valid = validateNumericInputValue({ value, required, validator, maxValue, minValue });\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = Number(event.target.value);\n updateValue(value);\n onChange?.(event);\n };\n\n const increment = () => {\n updateValue(value + step);\n onSpinButtonClick?.(value + step);\n };\n\n const decrement = () => {\n updateValue(value - step);\n onSpinButtonClick?.(value - step);\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n value,\n valid,\n minValue,\n maxValue,\n increment,\n decrement,\n };\n}\n","import { ErrorMessage, Input, Label } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicNumericInputProps } from '@models';\nimport ChopLogicButton from '@molecules/inputs/button/Button.tsx';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useChopLogicNumericInputController } from './NumericInput.controller.ts';\nimport styles from './NumericInput.module.scss';\n\nconst ChopLogicNumericInput: FC<ChopLogicNumericInputProps> = ({\n name,\n label,\n errorMessage,\n onChange,\n onBlur,\n onFocus,\n onSpinButtonClick,\n validator,\n min,\n max,\n id,\n tabIndex,\n disabled = false,\n required = false,\n readOnly = false,\n hasSpinButtons = true,\n defaultValue = 0,\n step = 1,\n className,\n ...rest\n}) => {\n const { elementId, errorId } = useElementIds(id);\n const { value, valid, handleChange, increment, decrement, minValue, maxValue } = useChopLogicNumericInputController({\n name,\n defaultValue,\n min,\n max,\n onChange,\n required,\n validator,\n step,\n onSpinButtonClick,\n });\n const inputClass = getClassName([styles.numeric, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <Label label={label} required={required} inputId={elementId} />\n <Input\n id={elementId}\n name={name}\n type='number'\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n placeholder='0'\n aria-invalid={!valid}\n aria-errormessage={errorId}\n value={value.toString()}\n onChange={handleChange}\n min={minValue}\n max={maxValue}\n step={step}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n >\n {hasSpinButtons && (\n <span>\n <ChopLogicButton\n onClick={decrement}\n view={ChopLogicButtonView.Inner}\n label={`Decrement value for ${label}`}\n icon={ChopLogicIconName.ChevronLeft}\n disabled={disabled}\n />\n <ChopLogicButton\n onClick={increment}\n view={ChopLogicButtonView.Inner}\n label={`Increment value for ${label}`}\n icon={ChopLogicIconName.ChevronRight}\n disabled={disabled}\n />\n </span>\n )}\n <ErrorMessage errorId={errorId} message={errorMessage} visible={!valid} className={styles.errorMessage} />\n </Input>\n </div>\n );\n};\n\nexport default ChopLogicNumericInput;\n","import { ChopLogicFormData, ChopLogicSelectValue } from '@models';\n\nexport function getSelectInitialValue({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicSelectValue | undefined {\n let valueId: string;\n\n if (initialValues && initialValues[name]) {\n valueId = ((initialValues[name] as ChopLogicSelectValue)?.id as string) ?? (initialValues[name] as string);\n }\n\n if (!initialValues?.[name] && defaultValue && typeof defaultValue === 'string') {\n valueId = defaultValue;\n }\n\n return options.find((item) => item.id === valueId);\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicSelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getSelectInitialValue } from './Select.helpers.ts';\n\nexport function useChopLogicSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (value?: ChopLogicSelectValue) => void;\n options: ChopLogicSelectValue[];\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getSelectInitialValue({ name, options, defaultValue, initialValues });\n const [opened, setOpened] = useState(false);\n const [selected, setSelected] = useState<ChopLogicSelectValue | undefined>(initialValue);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValue = options.find((item) => item.id === id);\n setSelected(newValue);\n onChange?.(newValue);\n onChangeFormInput?.({ name, value: newValue?.id });\n };\n\n const handleClear = () => {\n setSelected(undefined);\n onChange?.(undefined);\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setSelected(initialValue);\n onChangeFormInput?.({ name, value: initialValue?.id });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n selected,\n opened,\n handleClear,\n handleClose,\n handleToggle,\n handleSelect,\n };\n}\n","import { Label, SelectCombobox, SelectDropdown } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicSelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport React, { useRef } from 'react';\n\nimport { useChopLogicSelectController } from './Select.controller.ts';\nimport styles from './Select.module.scss';\n\nconst ChopLogicSelect: React.FC<ChopLogicSelectProps> = ({\n options,\n onChange,\n name,\n label,\n defaultValue,\n id,\n placeholder = 'Not selected',\n required = false,\n disabled = false,\n className,\n ...rest\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClear, handleClose, handleSelect, handleToggle, selected, opened } = useChopLogicSelectController({\n options,\n onChange,\n defaultValue,\n name,\n });\n const selectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={selectClass}>\n <Label label={label} required={required} inputId={elementId} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n selected={selected}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <SelectDropdown\n options={options}\n selected={selected}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n comboboxId={elementId}\n onSelect={handleSelect}\n onClear={handleClear}\n />\n </div>\n );\n};\n\nexport default ChopLogicSelect;\n","import { ChopLogicFormData, ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nexport function validateTextInputValue({\n value,\n required,\n validator,\n}: {\n value: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n}): boolean {\n if (required && !validator && !value.length) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (validator && typeof validator === 'object') {\n return new RegExp(validator.regexp, validator?.flags).test(value);\n }\n\n return true;\n}\n\nexport function getTextInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): string {\n if (initialValues && initialValues?.[name]) {\n return (initialValues[name] as string).toString();\n }\n\n if (defaultValue && typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n return '';\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\nimport React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './TextInput.helpers.ts';\n\nexport function useChopLogicTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getTextInputInitialValue({ initialValues, defaultValue, name });\n const [value, setValue] = useState<string>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n const [passwordShown, setPasswordShown] = useState<boolean>(false);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const valid = validateTextInputValue({ value, required, validator });\n\n setValue(value);\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n onChange?.(event);\n };\n\n const handleClear = () => {\n setValue('');\n setValid(true);\n onChangeFormInput?.({ name, value: '', valid: true });\n onClear?.();\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n useResetFormInput(handleReset);\n\n return {\n value,\n valid,\n passwordShown,\n handleChange,\n handleClear,\n togglePassword,\n };\n}\n","import { ErrorMessage, Input, Label } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicTextInputProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { useChopLogicTextInputController } from './TextInput.controller.ts';\nimport styles from './TextInput.module.scss';\n\nconst ChopLogicTextInput: React.FC<ChopLogicTextInputProps> = ({\n name,\n label,\n errorMessage,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onClear,\n validator,\n maxLength,\n id,\n tabIndex,\n placeholder = 'Type here...',\n disabled = false,\n required = false,\n clearable = true,\n readOnly = false,\n autoComplete = 'off',\n type = 'text',\n className,\n ...rest\n}) => {\n const { value, valid, handleChange, handleClear, passwordShown, togglePassword } = useChopLogicTextInputController({\n defaultValue,\n name,\n onChange,\n onClear,\n required,\n validator,\n });\n const { elementId, errorId } = useElementIds(id);\n const isPasswordButtonVisible = type === 'password';\n const inputClass = getClassName([styles.wrapper, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <Label label={label} required={required} inputId={elementId} />\n <Input\n id={elementId}\n name={name}\n type={passwordShown ? 'text' : type}\n disabled={disabled}\n placeholder={placeholder}\n required={required}\n readOnly={readOnly}\n autoComplete={autoComplete}\n aria-invalid={!valid}\n aria-errormessage={errorId}\n aria-readonly={readOnly}\n value={value}\n onChange={handleChange}\n maxLength={maxLength}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n >\n <span>\n {clearable && (\n <ChopLogicButton\n view={ChopLogicButtonView.Inner}\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={ChopLogicIconName.Remove}\n disabled={disabled}\n />\n )}\n {isPasswordButtonVisible && (\n <ChopLogicButton\n onClick={togglePassword}\n view={ChopLogicButtonView.Inner}\n label='Toggle password visibility'\n icon={passwordShown ? ChopLogicIconName.Hide : ChopLogicIconName.Show}\n disabled={disabled}\n />\n )}\n </span>\n <ErrorMessage errorId={errorId} message={errorMessage} visible={!valid} className={styles.errorMessage} />\n </Input>\n </div>\n );\n};\n\nexport default ChopLogicTextInput;\n","import { ChopLogicAlertMode, ChopLogicIconName } from '@enums';\n\nexport function getAlertTitle(mode: ChopLogicAlertMode, title?: string): string {\n if (title) return title;\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return 'For your information';\n case ChopLogicAlertMode.Warning:\n return 'Please pay attention';\n case ChopLogicAlertMode.Error:\n return 'Something went wrong';\n case ChopLogicAlertMode.Success:\n return 'Everything is okay';\n case ChopLogicAlertMode.Help:\n return 'Useful tip';\n default:\n return 'Alert';\n }\n}\n\nexport function getAlertIcon(mode: ChopLogicAlertMode, icon?: ChopLogicIconName): ChopLogicIconName | undefined {\n if (icon) {\n return icon;\n }\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return ChopLogicIconName.Info;\n case ChopLogicAlertMode.Warning:\n return ChopLogicIconName.Warning;\n case ChopLogicAlertMode.Error:\n return ChopLogicIconName.Error;\n case ChopLogicAlertMode.Success:\n return ChopLogicIconName.CheckboxChecked;\n case ChopLogicAlertMode.Help:\n return ChopLogicIconName.Help;\n default:\n return;\n }\n}\n","import { ChopLogicHeader, ChopLogicPortal } from '@atoms';\nimport { ChopLogicAlertMode, ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useAutoClose, useIsMounted } from '@hooks';\nimport { ChopLogicAlertProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { getAlertIcon, getAlertTitle } from './Alert.helpers.tsx';\nimport styles from './Alert.module.scss';\n\nconst ChopLogicAlert: React.FC<ChopLogicAlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = ChopLogicAlertMode.Info,\n icon,\n autoClose = false,\n autoCloseDelay = 3000,\n ...rest\n}) => {\n const isMounted = useIsMounted(isOpened);\n const isClosing = isMounted && !isOpened;\n\n useAutoClose({\n isOpened,\n onClose,\n autoClose,\n autoCloseDelay,\n });\n\n if (!isMounted) return null;\n\n const alertTitle = getAlertTitle(mode, title);\n const alertTitleIcon = getAlertIcon(mode, icon);\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.wrapper, { [styles.wrapper__closing]: isClosing }])}>\n <div {...rest} className={styles.content}>\n <ChopLogicButton\n icon={ChopLogicIconName.Cancel}\n view={ChopLogicButtonView.Icon}\n label='Close alert popup'\n onClick={onClose}\n className={styles.content_button}\n />\n <header>\n <ChopLogicHeader icon={alertTitleIcon} as='h3'>\n {alertTitle}\n </ChopLogicHeader>\n </header>\n <p>{message}</p>\n </div>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicAlert;\n","import { ChopLogicHeader, ChopLogicPortal } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useIsMounted, useKeyPress, useModalFocusTrap } from '@hooks';\nimport { ChopLogicDialogProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport React, { useRef } from 'react';\n\nimport styles from './Dialog.module.scss';\n\nconst ChopLogicDialog: React.FC<ChopLogicDialogProps> = ({ isOpened, onClose, title, children, icon, ...rest }) => {\n const isMounted = useIsMounted(isOpened);\n const isClosing = isMounted && !isOpened;\n\n const modalRef = useRef<HTMLDivElement>(null);\n\n useModalFocusTrap({ modalRef, isOpened });\n useKeyPress({ keyCode: 'Escape', ref: modalRef, onKeyPress: onClose });\n\n if (!isMounted) {\n return null;\n }\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.dialog, { [styles.dialog__closing]: isClosing }])}>\n <div ref={modalRef} role='dialog' aria-modal='true' {...rest} className={styles.layout}>\n <ChopLogicButton\n icon={ChopLogicIconName.Cancel}\n view={ChopLogicButtonView.Icon}\n label='Close modal window'\n onClick={onClose}\n className={styles.layout_button}\n />\n <header>\n <ChopLogicHeader as='h3' icon={icon}>\n {title}\n </ChopLogicHeader>\n </header>\n <div>{children}</div>\n </div>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicDialog;\n","import { ChopLogicFormData, ChopLogicFormInputParams, ChopLogicFormValidationState } from '@models';\n\nexport function getInitialValidationState(data?: ChopLogicFormData): ChopLogicFormValidationState {\n if (!data) return [];\n\n return Object.keys(data).map((key) => [key, true]);\n}\n\nexport function updateValidationState(state: ChopLogicFormValidationState, params: ChopLogicFormInputParams): ChopLogicFormValidationState {\n if (params?.valid === undefined) return state;\n\n return state.map((item) => {\n if (item[0] !== params.name) return item;\n return [item[0], !!params?.valid];\n });\n}\n\nexport function isFormDataValid(state: ChopLogicFormValidationState): boolean {\n return state.every((item) => item[1]);\n}\n","import { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\nimport React, { FormEvent, useState } from 'react';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './Form.helpers.ts';\n\nexport function useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: ChopLogicFormData;\n onReset?: React.FormEventHandler<HTMLFormElement>;\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: ChopLogicFormData) => void;\n}) {\n const [formData, setFormData] = useState(initialValues);\n const [validationState, setValidationState] = useState(getInitialValidationState(initialValues));\n const [resetSignal, setResetSignal] = useState(0);\n\n const handleInputChange = (params: ChopLogicFormInputParams) => {\n const newData = { ...formData, [params.name]: params.value };\n setFormData(newData);\n setValidationState(updateValidationState(validationState, params));\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const uncontrolledData = Object.fromEntries(new FormData(event.target as HTMLFormElement));\n const resultData = { ...uncontrolledData, ...formData };\n\n onSubmit?.(event);\n onClickSubmit?.(resultData);\n };\n\n const handleReset = (event: FormEvent<HTMLFormElement>) => {\n onReset?.(event);\n setFormData(initialValues);\n setResetSignal(resetSignal + 1);\n };\n\n return {\n handleInputChange,\n handleSubmit,\n handleReset,\n resetSignal,\n valid: isFormDataValid(validationState),\n };\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicFormProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { useChopLogicFormController } from './Form.controller.ts';\nimport styles from './Form.module.scss';\n\nconst ChopLogicForm: React.FC<ChopLogicFormProps> = ({\n children,\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n columns = 1,\n hasReset = true,\n className,\n ...rest\n}) => {\n const { handleInputChange, handleSubmit, handleReset, resetSignal, valid } = useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n });\n const columnsNumber = columns <= 6 && columns >= 1 ? columns : 1;\n const formClass = getClassName([styles.form, className]);\n\n return (\n <form onSubmit={handleSubmit} onReset={handleReset} {...rest} className={`${formClass} ${styles[`columns-${columnsNumber}`]}`}>\n <ChopLogicFormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <div className={`${styles.buttons} ${styles[`buttons-${columnsNumber}`]}`}>\n {hasReset && <ChopLogicButton type='reset' text='Reset' icon={ChopLogicIconName.Clear} view={ChopLogicButtonView.Secondary} />}\n <ChopLogicButton type='submit' text='Submit' icon={ChopLogicIconName.Forward} extended={!hasReset} disabled={!valid} />\n </div>\n </ChopLogicFormContext.Provider>\n </form>\n );\n};\n\nexport default ChopLogicForm;\n","import { useElementIds } from '@hooks';\nimport { ChopLogicGridItem } from '@models';\nimport { useState } from 'react';\n\nexport const useChopLogicGridController = ({\n data,\n id,\n onSelect,\n}: {\n data: ChopLogicGridItem[];\n id?: string;\n onSelect?: (ids: string[]) => void;\n}) => {\n const { elementId } = useElementIds(id);\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n const allIds = data.map((item) => item.id);\n const isAllSelected = allIds.length === selectedIds.length;\n const isAllCheckboxDisabled = data.some((item) => item?.disabled);\n\n const handleSelect = (ids: string[]) => {\n setSelectedIds(ids);\n onSelect?.(ids);\n };\n\n const handleSelectAll = () => {\n handleSelect(allIds);\n };\n\n const handleDeselectAll = () => {\n handleSelect([]);\n };\n\n const handleSelectRowById = (id: string) => {\n const newIds = [...selectedIds, id];\n handleSelect(newIds);\n };\n\n const handleDeselectRowById = (id: string) => {\n const newIds = selectedIds.filter((item) => item !== id);\n handleSelect(newIds);\n };\n return {\n elementId,\n isAllSelected,\n isAllCheckboxDisabled,\n selectedIds,\n handleSelectAll,\n handleDeselectAll,\n handleSelectRowById,\n handleDeselectRowById,\n };\n};\n","import { GridBody, GridColumnGroup, GridHead } from '@atoms';\nimport { ChopLogicGridProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport { useChopLogicGridController } from './Grid.controller.ts';\nimport styles from './Grid.module.scss';\n\nconst ChopLogicGrid: React.FC<ChopLogicGridProps> = ({\n columns,\n data,\n id,\n onSelect,\n renderDataItem,\n caption,\n selectable = false,\n className,\n ...rest\n}) => {\n const {\n elementId,\n handleSelectAll,\n handleDeselectAll,\n isAllCheckboxDisabled,\n isAllSelected,\n handleDeselectRowById,\n handleSelectRowById,\n selectedIds,\n } = useChopLogicGridController({ id, data, onSelect });\n\n return (\n <table {...rest} className={getClassName([styles.grid, className])}>\n {caption && <caption className={styles.grid_caption}>{caption}</caption>}\n <GridColumnGroup columns={columns} selectable={selectable} />\n <GridHead\n gridId={elementId}\n columns={columns}\n selectable={selectable}\n selectAll={handleSelectAll}\n deselectAll={handleDeselectAll}\n isAllSelected={isAllSelected}\n isAllCheckboxDisabled={isAllCheckboxDisabled}\n />\n <GridBody\n columns={columns}\n data={data}\n selectable={selectable}\n selectRowById={handleSelectRowById}\n deselectRowById={handleDeselectRowById}\n selectedIds={selectedIds}\n renderDataItem={renderDataItem}\n />\n </table>\n );\n};\n\nexport default ChopLogicGrid;\n","import { MenuItem } from '@atoms';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuProps } from '@models';\nimport { getClassName } from '@utils';\nimport React from 'react';\n\nimport styles from './Menu.module.scss';\n\nconst ChopLogicMenu: React.FC<ChopLogicMenuProps> = ({\n items = [],\n mode = ChopLogicOrientationMode.Vertical,\n openedOn = 'click',\n className,\n ...rest\n}) => {\n const menuClass = getClassName([styles.menuBar, className, { [styles.menuBar__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n return (\n <ul {...rest} role='menubar' className={menuClass}>\n {items.map((item) => (\n <MenuItem key={item.id} item={item} mode={mode} openedOn={openedOn} />\n ))}\n </ul>\n );\n};\n\nexport default ChopLogicMenu;\n","import { TabContent, TabList } from '@atoms';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabsProps } from '@models';\nimport { getClassName } from '@utils';\nimport React, { useState } from 'react';\n\nimport styles from './Tabs.module.scss';\n\nconst ChopLogicTabs: React.FC<ChopLogicTabsProps> = ({\n tabs,\n defaultTabId,\n mode = ChopLogicOrientationMode.Horizontal,\n className,\n ...rest\n}) => {\n const tabIds = tabs.map((item) => item.id);\n const tabPanelIds = tabIds.map((id) => `tabpanel_${id}`);\n const defaultId = defaultTabId && tabIds.includes(defaultTabId) ? defaultTabId : tabIds[0];\n const [selectedTabId, setSelectedTabId] = useState(defaultId);\n const tabsClass = getClassName([styles.tabs, className, { [styles.tabs__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n };\n\n return (\n <div {...rest} className={tabsClass}>\n <TabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n mode={mode}\n tabIds={tabIds}\n />\n <TabContent tabs={tabs} selectedTabId={selectedTabId} />\n </div>\n );\n};\n\nexport default ChopLogicTabs;\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","GridDataCell","jsx","styles","CheckboxCheckedIcon","title","rest","jsxs","CheckboxUncheckedIcon","useAutoClose","isOpened","onClose","autoClose","autoCloseDelay","useEffect","timer","ChopLogicFormContext","ChopLogicAlertMode","ChopLogicButtonView","ChopLogicIconName","ChopLogicLoaderView","ChopLogicOrientationMode","ChopLogicThemeMode","ChopLogicTooltipContainer","ChopLogicThemeContext","createContext","ChopLogicThemeProvider","injectedMode","mode","setMode","useState","useChopLogicTheme","useContext","useClickOutside","ref","onClickOutsideHandler","dependentRef","handleClickOutside","event","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useElementIds","id","randomId","useId","elementId","errorId","dropdownId","useIsMounted","delay","isMounted","setIsMounted","useIsOverflow","dimension","isOverflow","setIsOverflow","current","scrollWidth","clientWidth","scrollHeight","clientHeight","useKeyPress","keyCode","onKeyPress","handleKeyPress","e","useModalFocusTrap","modalRef","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","useResetFormInput","onReset","resetSignal","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","position","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","getClassName","input","item","trueKeys","moveFocusOnElementById","element","handleDropdownListKeyPress","options","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","GridCheckbox","label","disabled","required","onChange","checked","checkboxClass","Label","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","values","selectedIds","selected","index","getGridRowValues","columns","renderDataItem","column","GridBody","data","GridColumnGroup","GridHeaderCell","component","SelectAllGridRowsCell","gridId","isAllSelected","selectAll","deselectAll","handleSelectAll","GridHead","isAllCheckboxDisabled","ErrorMessage","testId","message","visible","className","errorClass","IconButton","InnerButton","onClick","icon","ChopLogicIcon","Input","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","ArrowDownIcon","ArrowUpIcon","MultiSelectCombobox","opened","comboboxId","placeholder","selectedLabels","selectedValues","MultiSelectOption","onSelect","optionClass","handleKeyDown","MultiSelectDropdown","dropdownClass","PrimaryButton","SecondaryButton","SelectCombobox","CheckMarkIcon","SelectOption","onClear","handleOptionSelect","SelectDropdown","MenuLeaf","link","onFocus","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","openSubMenu","openedOn","useRef","itemContent","MenuItem","isLeaf","_a","setIsSubMenuOpened","subMenuBarClass","_b","child","TabContent","tabs","selectedTabId","content","contentId","TabButton","onTabSelect","tabId","isSelected","isDisabled","tabPanelId","buttonClass","TabList","tabPanelIds","tabIds","listClass","handleListKeyDown","currentFocusedTabIndex","previousTabIndex","previousTabId","nextTabIndex","nextTabId","Header","as","HeaderTag","headerClass","BackIcon","CancelIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClearIcon","CopyIcon","CutIcon","DeleteIcon","DownloadIcon","ErrorIcon","ForwardIcon","GraduateIcon","HelpIcon","HideIcon","HomeIcon","InfoIcon","LoginIcon","PasteIcon","QuestionIcon","RemoveIcon","SaveIcon","ShowIcon","UploadIcon","WarningIcon","ChopLogicIconDictionary","Component","iconClass","ChopLogicLoader","view","Arrow","Brackets","Circle","Dots","Filler","Pulse","Linear","Rotation","Square","ChopLogicPortal","container","ReactDOM","useChopLogicTooltipController","setIsOpened","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","ChopLogicTooltip","tooltipContent","style","containerTag","visibleOn","ContainerComponent","tooltipClass","withTooltip","tooltip","Button","text","extended","extendedClass","ChopLogicButton","getCheckboxInitialValue","defaultChecked","initialValues","useChopLogicCheckboxController","onChangeFormInput","initialValue","isChecked","setIsChecked","handleChange","handleReset","useCallback","ChopLogicCheckbox","noLabel","getMultiSelectInitialValues","defaultValue","option","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useChopLogicMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","ChopLogicMultiSelect","multiSelectClass","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useChopLogicNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","updateValue","increment","decrement","ChopLogicNumericInput","errorMessage","onBlur","tabIndex","readOnly","hasSpinButtons","inputClass","getSelectInitialValue","valueId","useChopLogicSelectController","setSelected","newValue","handleClear","ChopLogicSelect","selectClass","validateTextInputValue","getTextInputInitialValue","useChopLogicTextInputController","passwordShown","setPasswordShown","togglePassword","ChopLogicTextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","getAlertTitle","getAlertIcon","ChopLogicAlert","isClosing","alertTitle","alertTitleIcon","ChopLogicHeader","ChopLogicDialog","getInitialValidationState","updateValidationState","state","params","isFormDataValid","useChopLogicFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","resultData","ChopLogicForm","hasReset","handleInputChange","handleSubmit","columnsNumber","formClass","useChopLogicGridController","setSelectedIds","allIds","ids","newIds","ChopLogicGrid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","ChopLogicMenu","items","menuClass","ChopLogicTabs","defaultTabId","defaultId","setSelectedTabId","tabsClass","handleTabSelect"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/utils/get-class-name.ts","../src/utils/move-focus-on-element-by-id.ts","../src/utils/handle-dropdown-list-key-press.ts","../src/atoms/header/Header.tsx","../src/enums/chop-logic-alert-mode.ts","../src/enums/chop-logic-button-view.ts","../src/enums/chop-logic-icon-name.ts","../src/enums/chop-logic-loader-view.ts","../src/enums/chop-logic-orientation-mode.ts","../src/enums/chop-logic-theme-mode.ts","../src/enums/chop-logic-tooltip-container.ts","../src/assets/icons/svg/ArrowDownIcon.tsx","../src/assets/icons/svg/ArrowUpIcon.tsx","../src/assets/icons/svg/BackIcon.tsx","../src/assets/icons/svg/CancelIcon.tsx","../src/assets/icons/svg/CheckboxCheckedIcon.tsx","../src/assets/icons/svg/CheckboxUncheckedIcon.tsx","../src/assets/icons/svg/CheckMarkIcon.tsx","../src/assets/icons/svg/ChevronDownIcon.tsx","../src/assets/icons/svg/ChevronLeftIcon.tsx","../src/assets/icons/svg/ChevronRightIcon.tsx","../src/assets/icons/svg/ChevronUpIcon.tsx","../src/assets/icons/svg/ClearIcon.tsx","../src/assets/icons/svg/CopyIcon.tsx","../src/assets/icons/svg/CutIcon.tsx","../src/assets/icons/svg/DeleteIcon.tsx","../src/assets/icons/svg/DownloadIcon.tsx","../src/assets/icons/svg/ErrorIcon.tsx","../src/assets/icons/svg/ForwardIcon.tsx","../src/assets/icons/svg/GraduateIcon.tsx","../src/assets/icons/svg/HelpIcon.tsx","../src/assets/icons/svg/HideIcon.tsx","../src/assets/icons/svg/HomeIcon.tsx","../src/assets/icons/svg/InfoIcon.tsx","../src/assets/icons/svg/LoginIcon.tsx","../src/assets/icons/svg/PasteIcon.tsx","../src/assets/icons/svg/QuestionIcon.tsx","../src/assets/icons/svg/RemoveIcon.tsx","../src/assets/icons/svg/SaveIcon.tsx","../src/assets/icons/svg/ShowIcon.tsx","../src/assets/icons/svg/UploadIcon.tsx","../src/assets/icons/svg/WarningIcon.tsx","../src/assets/icons/index.tsx","../src/atoms/icon/Icon.tsx","../src/atoms/label/Label.tsx","../src/atoms/loader/Loader.tsx","../src/atoms/portal/Portal.tsx","../src/hooks/use-auto-close/use-auto-close.ts","../src/contexts/form/context.tsx","../src/contexts/theme/context.ts","../src/contexts/theme/provider.tsx","../src/hooks/use-chop-logic-theme/use-chop-logic-theme.ts","../src/hooks/use-click-outside/use-click-outside.ts","../src/hooks/use-container-dimensions/use-container-dimensions.ts","../src/hooks/use-element-ids/use-element-ids.ts","../src/hooks/use-is-mounted/use-is-mounted.ts","../src/hooks/use-is-overflow/use-is-overflow.ts","../src/hooks/use-key-press/use-key-press.ts","../src/hooks/use-modal-focus-trap/use-modal-focus-trap.ts","../src/hooks/use-reset-form-input/use-reset-form-input.ts","../src/hooks/use-window-dimensions/use-window-dimensions.ts","../src/hooks/use-tooltip-position/use-tooltip-position.ts","../src/atoms/tooltip/Tooltip.controller.ts","../src/atoms/tooltip/Tooltip.tsx","../src/hocs/with-tooltip/with-tooltip.tsx","../src/molecules/inputs/__elements__/error-message/ErrorMessage.tsx","../src/molecules/inputs/__elements__/icon-button/IconButton.tsx","../src/molecules/inputs/__elements__/inner-button/InnerButton.tsx","../src/molecules/inputs/__elements__/input/Input.tsx","../src/molecules/inputs/__elements__/multi-select/Combobox.tsx","../src/molecules/inputs/__elements__/multi-select/Option.tsx","../src/molecules/inputs/__elements__/multi-select/Dropdown.tsx","../src/molecules/inputs/__elements__/primary-button/PrimaryButton.tsx","../src/molecules/inputs/__elements__/secondary-button/SecondaryButton.tsx","../src/molecules/inputs/__elements__/select/combobox/Combobox.tsx","../src/molecules/inputs/__elements__/select/option/Option.tsx","../src/molecules/inputs/__elements__/select/dropdown/Dropdown.tsx","../src/molecules/inputs/button/Button.tsx","../src/molecules/inputs/checkbox/Checkbox.helpers.ts","../src/molecules/inputs/checkbox/Checkbox.controller.ts","../src/molecules/inputs/checkbox/Checkbox.tsx","../src/molecules/inputs/multi-select/Multiselect.helpers.ts","../src/molecules/inputs/multi-select/Multiselect.controller.ts","../src/molecules/inputs/multi-select/MultiSelect.tsx","../src/molecules/inputs/numeric/NumericInput.helpers.ts","../src/molecules/inputs/numeric/NumericInput.controller.ts","../src/molecules/inputs/numeric/NumericInput.tsx","../src/molecules/inputs/select/Select.helpers.ts","../src/molecules/inputs/select/Select.controller.ts","../src/molecules/inputs/select/Select.tsx","../src/molecules/inputs/text/TextInput.helpers.ts","../src/molecules/inputs/text/TextInput.controller.ts","../src/molecules/inputs/text/TextInput.tsx","../src/organisms/alert/Alert.helpers.tsx","../src/organisms/alert/Alert.tsx","../src/organisms/dialog/Dialog.tsx","../src/organisms/form/Form.helpers.ts","../src/organisms/form/Form.controller.ts","../src/organisms/form/Form.tsx","../src/organisms/grid/Grid.helpers.ts","../src/organisms/grid/__elements__/data-cell/GridDataCell.tsx","../src/organisms/grid/__elements__/checkbox/GridCheckbox.tsx","../src/organisms/grid/__elements__/select-grid-row-cell/SelectGridRowCell.tsx","../src/organisms/grid/__elements__/grid-row/GridRow.tsx","../src/organisms/grid/__elements__/body/GridBody.tsx","../src/organisms/grid/__elements__/column-group/GridColumnGroup.tsx","../src/organisms/grid/__elements__/header-cell/HeaderCell.tsx","../src/organisms/grid/__elements__/select-all-grid-rows-cell/SelectAllGridRowsCell.tsx","../src/organisms/grid/__elements__/head/GridHead.tsx","../src/organisms/grid/Grid.controller.ts","../src/organisms/grid/Grid.tsx","../src/organisms/menu/__elements__/leaf/MenuLeaf.tsx","../src/organisms/menu/__elements__/sub-menu/SubMenu.tsx","../src/organisms/menu/__elements__/item/MenuItem.tsx","../src/organisms/menu/Menu.tsx","../src/organisms/tabs/__elements__/content/TabContent.tsx","../src/organisms/tabs/__elements__/button/TabButton.tsx","../src/organisms/tabs/__elements__/list/TabList.tsx","../src/organisms/tabs/Tabs.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n \"react-stack-bottom-frame\": function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React[\"react-stack-bottom-frame\"].bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","type ClassNameInput =\n | string\n | {\n [key in string]: boolean;\n }\n | undefined\n | null;\n\nexport function getClassName(input: ClassNameInput[]): string {\n const names = input\n .map((item) => {\n if (typeof item === 'string') {\n return item.trim();\n }\n if (typeof item === 'object') {\n const trueKeys = [];\n for (const key in item) {\n if (item[key]) {\n trueKeys.push(key.trim());\n }\n }\n\n return trueKeys.join(' ');\n }\n })\n .filter((item) => !!item);\n\n return names.join(' ');\n}\n","export function moveFocusOnElementById(id: string) {\n const element = document.getElementById(id);\n\n if (element) element.focus();\n}\n","import { ChopLogicSelectValue } from '@models';\nimport { KeyboardEvent } from 'react';\n\nimport { moveFocusOnElementById } from './move-focus-on-element-by-id.ts';\n\nexport function handleDropdownListKeyPress({\n e,\n options,\n onClose,\n}: {\n e: KeyboardEvent<HTMLUListElement>;\n options: ChopLogicSelectValue[];\n onClose: () => void;\n}) {\n let focusedId: string = '';\n options.forEach((value) => {\n const element = document.getElementById(value.id);\n if (element === document.activeElement) {\n focusedId = value.id;\n }\n });\n\n const currentFocusIndex = options.findIndex((value) => value.id === focusedId);\n\n switch (e.key) {\n case 'Escape':\n e.preventDefault();\n onClose();\n break;\n case 'ArrowUp': {\n e.preventDefault();\n const previousOptionIndex = currentFocusIndex - 1 >= 0 ? currentFocusIndex - 1 : options.length - 1;\n const previousValue = options[previousOptionIndex];\n if (previousValue) moveFocusOnElementById(previousValue.id);\n break;\n }\n case 'ArrowDown':\n case 'Tab': {\n e.preventDefault();\n const nextOptionIndex = currentFocusIndex === options.length - 1 ? 0 : currentFocusIndex + 1;\n const nextValue = options[nextOptionIndex];\n if (nextValue) moveFocusOnElementById(nextValue.id);\n break;\n }\n }\n}\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicHeaderProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Header.module.scss';\n\nconst Header: FC<ChopLogicHeaderProps> = ({ as = 'h1', icon, children, className, ...rest }) => {\n const HeaderTag = as;\n const headerClass = getClassName([\n className,\n styles.header,\n {\n [styles.header__h1]: as === 'h1',\n [styles.header__h2]: as === 'h2',\n [styles.header__h3]: as === 'h3',\n [styles.header__h4]: as === 'h4',\n [styles.header__h5]: as === 'h5',\n [styles.header__h6]: as === 'h6',\n },\n ]);\n\n return (\n <HeaderTag className={headerClass} {...rest}>\n {icon && <ChopLogicIcon name={icon} />}\n <span className={styles.header_text}>{children}</span>\n </HeaderTag>\n );\n};\n\nexport default Header;\n","export enum ChopLogicAlertMode {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Help = 'help',\n}\n","export enum ChopLogicButtonView {\n Primary = 'primary',\n Secondary = 'secondary',\n Icon = 'icon',\n Inner = 'inner',\n}\n","export enum ChopLogicIconName {\n ArrowDown = 'arrow-down',\n ArrowUp = 'arrow-up',\n Back = 'back',\n Cancel = 'cancel',\n CheckboxChecked = 'checkbox-checked',\n CheckboxUnchecked = 'checkbox-unchecked',\n CheckMark = 'check-mark',\n ChevronDown = 'chevron-down',\n ChevronLeft = 'chevron-left',\n ChevronRight = 'chevron-right',\n ChevronUp = 'chevron-up',\n Clear = 'clear',\n Copy = 'copy',\n Cut = 'cut',\n Delete = 'delete',\n Download = 'download',\n Error = 'error',\n Forward = 'forward',\n Graduate = 'graduate',\n Help = 'help',\n Hide = 'hide',\n Home = 'home',\n Info = 'info',\n Login = 'login',\n Paste = 'paste',\n Question = 'question',\n Save = 'save',\n Show = 'show',\n Upload = 'upload',\n Warning = 'warning',\n Remove = 'remove',\n}\n","export enum ChopLogicLoaderView {\n Dots = 'dots',\n Brackets = 'brackets',\n Linear = 'linear',\n Square = 'square',\n Circle = 'circle',\n Pulse = 'pulse',\n Arrow = 'arrow',\n Filler = 'filler',\n Rotation = 'rotation',\n}\n","export enum ChopLogicOrientationMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","export enum ChopLogicThemeMode {\n Light = 'cl-components-light-theme',\n Dark = 'cl-components-dark-theme',\n}\n","export enum ChopLogicTooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowDownIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M21.886 5.536A1.002 1.002 0 0021 5H3a1.002 1.002 0 00-.822 1.569l9 13a.998.998 0 001.644 0l9-13a.998.998 0 00.064-1.033zM12 17.243L4.908 7h14.184L12 17.243z' />\n </svg>\n );\n}\n\nexport default ArrowDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowUpIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M3 19h18a1.002 1.002 0 00.823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 003 19zm9-12.243L19.092 17H4.908L12 6.757z' />\n </svg>\n );\n}\n\nexport default ArrowUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction BackIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M328 112L184 256l144 144' />\n </svg>\n );\n}\n\nexport default BackIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CancelIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 470 1000' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M452 656c12 12 18 26.333 18 43s-6 31-18 43c-12 10.667-26.333 16-43 16s-31-5.333-43-16L234 590 102 742c-12 10.667-26.333 16-43 16s-31-5.333-43-16C5.333 730 0 715.667 0 699s5.333-31 16-43l138-156L16 342C5.333 330 0 315.667 0 299s5.333-31 16-43c12-10.667 26.333-16 43-16s31 5.333 43 16l132 152 132-152c12-10.667 26.333-16 43-16s31 5.333 43 16c12 12 18 26.333 18 43s-6 31-18 43L314 500l138 156' />\n </svg>\n );\n}\n\nexport default CancelIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxCheckedIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='currentColor'\n d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 12.414L3.293 8.707l1.414-1.414L7 9.586l4.793-4.793 1.414 1.414L7 12.414z'\n />\n </svg>\n );\n}\n\nexport default CheckboxCheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxUncheckedIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='currentColor' d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 14H2V2h12v12z' />\n </svg>\n );\n}\n\nexport default CheckboxUncheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckMarkIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />\n </svg>\n );\n}\n\nexport default CheckMarkIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronDownIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M1.553 6.776a.5.5 0 01.67-.223L8 9.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z'\n />\n </svg>\n );\n}\n\nexport default ChevronDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronLeftIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M9.224 1.553a.5.5 0 01.223.67L6.56 8l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z'\n />\n </svg>\n );\n}\n\nexport default ChevronLeftIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronRightIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M6.776 1.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L9.44 8 6.553 2.224a.5.5 0 01.223-.671z'\n />\n </svg>\n );\n}\n\nexport default ChevronRightIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronUpIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fillRule='evenodd' d='M7.776 5.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L8 6.56 2.224 9.447a.5.5 0 11-.448-.894l6-3z' />\n </svg>\n );\n}\n\nexport default ChevronUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ClearIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <defs>\n <style />\n </defs>\n <path d='M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-.3 1.5-.4 3-.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-.1 4.4-.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z' />\n </svg>\n );\n}\n\nexport default ClearIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CopyIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path d='M11 9 H20 A2 2 0 0 1 22 11 V20 A2 2 0 0 1 20 22 H11 A2 2 0 0 1 9 20 V11 A2 2 0 0 1 11 9 z' />\n <path d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1' />\n </svg>\n );\n}\n\nexport default CopyIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CutIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n role='img'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path stroke='none' d='M0 0h24v24H0z' />\n <path d='M10 17 A3 3 0 0 1 7 20 A3 3 0 0 1 4 17 A3 3 0 0 1 10 17 z' />\n <path d='M20 17 A3 3 0 0 1 17 20 A3 3 0 0 1 14 17 A3 3 0 0 1 20 17 z' />\n <path d='M9.15 14.85L18 4M6 4l8.85 10.85' />\n </svg>\n );\n}\n\nexport default CutIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DeleteIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z' />\n </svg>\n );\n}\n\nexport default DeleteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DownloadIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default DownloadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ErrorIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M11 7h2v7h-2zm0 8h2v2h-2z' />\n <path d='M21.707 7.293l-5-5A.996.996 0 0016 2H8a.996.996 0 00-.707.293l-5 5A.996.996 0 002 8v8c0 .266.105.52.293.707l5 5A.996.996 0 008 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0022 16V8a.996.996 0 00-.293-.707zM20 15.586L15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z' />\n </svg>\n );\n}\n\nexport default ErrorIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ForwardIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M184 112l144 144-144 144' />\n </svg>\n );\n}\n\nexport default ForwardIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst GraduateIcon = ({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 448 512' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M219.3.5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128S96 230.7 96 160v-57.1l-48-9.6v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3S52.8 256 48 256H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64c0-11.4 8.1-21.3 19.3-23.5l200-40zM111.9 327.7c10.5-3.4 21.8.4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5 65 20.9 112 81.7 112 153.6 0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z' />\n </svg>\n);\n\nexport default GraduateIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HelpIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M414.39 97.61A224 224 0 1097.61 414.39 224 224 0 10414.39 97.61zM192.13 260.18a64 64 0 1159.69 59.69 64.07 64.07 0 01-59.69-59.69zm240-66.64l-96.37 5.84a4.06 4.06 0 01-3.44-1.59 96 96 0 00-18.07-18.07 4.06 4.06 0 01-1.59-3.44l5.84-96.37a4 4 0 015.42-3.51A193 193 0 01435.6 188.12a4 4 0 01-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 01-1.59 3.44 96 96 0 00-18.07 18.07 4.06 4.06 0 01-3.44 1.59l-96.37-5.84a4 4 0 01-3.51-5.42A193 193 0 01188.12 76.4a4 4 0 015.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 013.44 1.59 96 96 0 0018.07 18.07 4.06 4.06 0 011.59 3.44l-5.84 96.37a4 4 0 01-5.42 3.51A193 193 0 0176.4 323.88a4 4 0 013.51-5.42zm238.55 113.63l-5.84-96.37a4.06 4.06 0 011.59-3.44 96 96 0 0018.07-18.07 4.06 4.06 0 013.44-1.59l96.37 5.84a4 4 0 013.51 5.42A193 193 0 01323.88 435.6a4 4 0 01-5.42-3.51z' />\n </svg>\n );\n}\n\nexport default HelpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HideIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 011.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 000 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 000-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558l-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0112 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z' />\n </svg>\n );\n}\n\nexport default HideIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst HomeIcon = ({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M946.5 505 560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z' />\n </svg>\n);\n\nexport default HomeIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction InfoIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z' />\n <path d='M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default InfoIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst LoginIcon = ({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z' />\n </svg>\n);\n\nexport default LoginIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction PasteIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 00-1-1H8a1 1 0 00-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z' />\n </svg>\n );\n}\n\nexport default PasteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction QuestionIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeMiterlimit={10} strokeWidth={32} d='M256 80a176 176 0 10176 176A176 176 0 00256 80z' />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeMiterlimit={10}\n strokeWidth={28}\n d='M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296'\n />\n <path d='M270 348 A20 20 0 0 1 250 368 A20 20 0 0 1 230 348 A20 20 0 0 1 270 348 z' />\n </svg>\n );\n}\n\nexport default QuestionIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction RemoveIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z'\n />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33'\n />\n </svg>\n );\n}\n\nexport default RemoveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction SaveIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z' />\n </svg>\n );\n}\n\nexport default SaveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ShowIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 9a3.02 3.02 0 00-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z' />\n <path d='M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z' />\n </svg>\n );\n}\n\nexport default ShowIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction UploadIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M.5 9.9a.5.5 0 01.5.5v2.5a1 1 0 001 1h12a1 1 0 001-1v-2.5a.5.5 0 011 0v2.5a2 2 0 01-2 2H2a2 2 0 01-2-2v-2.5a.5.5 0 01.5-.5z' />\n <path d='M7.646 1.146a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8.5 2.707V11.5a.5.5 0 01-1 0V2.707L5.354 4.854a.5.5 0 11-.708-.708l3-3z' />\n </svg>\n );\n}\n\nexport default UploadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction WarningIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' d='M0 0h24v24H0z' />\n <path d='M4 20v-6a8 8 0 1116 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 10-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 015-5v2a3 3 0 00-3 3H7z' />\n </svg>\n );\n}\n\nexport default WarningIcon;\n","import { ChopLogicIconName } from '@enums';\nimport { ChopLogicSVGElementProps } from '@models';\nimport { ReactElement } from 'react';\n\nimport ArrowDownIcon from './svg/ArrowDownIcon';\nimport ArrowUpIcon from './svg/ArrowUpIcon';\nimport BackIcon from './svg/BackIcon';\nimport CancelIcon from './svg/CancelIcon';\nimport CheckboxCheckedIcon from './svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from './svg/CheckboxUncheckedIcon';\nimport CheckMarkIcon from './svg/CheckMarkIcon';\nimport ChevronDownIcon from './svg/ChevronDownIcon';\nimport ChevronLeftIcon from './svg/ChevronLeftIcon';\nimport ChevronRightIcon from './svg/ChevronRightIcon';\nimport ChevronUpIcon from './svg/ChevronUpIcon';\nimport ClearIcon from './svg/ClearIcon';\nimport CopyIcon from './svg/CopyIcon';\nimport CutIcon from './svg/CutIcon';\nimport DeleteIcon from './svg/DeleteIcon';\nimport DownloadIcon from './svg/DownloadIcon';\nimport ErrorIcon from './svg/ErrorIcon';\nimport ForwardIcon from './svg/ForwardIcon';\nimport GraduateIcon from './svg/GraduateIcon';\nimport HelpIcon from './svg/HelpIcon';\nimport HideIcon from './svg/HideIcon';\nimport HomeIcon from './svg/HomeIcon';\nimport InfoIcon from './svg/InfoIcon';\nimport LoginIcon from './svg/LoginIcon';\nimport PasteIcon from './svg/PasteIcon';\nimport QuestionIcon from './svg/QuestionIcon';\nimport RemoveIcon from './svg/RemoveIcon';\nimport SaveIcon from './svg/SaveIcon';\nimport ShowIcon from './svg/ShowIcon';\nimport UploadIcon from './svg/UploadIcon';\nimport WarningIcon from './svg/WarningIcon';\n\ntype ChopLogicIcons = { [key in ChopLogicIconName]: ({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) => ReactElement };\n\nexport const ChopLogicIconDictionary: ChopLogicIcons = {\n [ChopLogicIconName.ArrowDown]: ArrowDownIcon,\n [ChopLogicIconName.ArrowUp]: ArrowUpIcon,\n [ChopLogicIconName.Back]: BackIcon,\n [ChopLogicIconName.Cancel]: CancelIcon,\n [ChopLogicIconName.CheckboxChecked]: CheckboxCheckedIcon,\n [ChopLogicIconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [ChopLogicIconName.CheckMark]: CheckMarkIcon,\n [ChopLogicIconName.ChevronDown]: ChevronDownIcon,\n [ChopLogicIconName.ChevronUp]: ChevronUpIcon,\n [ChopLogicIconName.ChevronLeft]: ChevronLeftIcon,\n [ChopLogicIconName.ChevronRight]: ChevronRightIcon,\n [ChopLogicIconName.Clear]: ClearIcon,\n [ChopLogicIconName.Copy]: CopyIcon,\n [ChopLogicIconName.Cut]: CutIcon,\n [ChopLogicIconName.Delete]: DeleteIcon,\n [ChopLogicIconName.Download]: DownloadIcon,\n [ChopLogicIconName.Error]: ErrorIcon,\n [ChopLogicIconName.Forward]: ForwardIcon,\n [ChopLogicIconName.Graduate]: GraduateIcon,\n [ChopLogicIconName.Help]: HelpIcon,\n [ChopLogicIconName.Hide]: HideIcon,\n [ChopLogicIconName.Home]: HomeIcon,\n [ChopLogicIconName.Info]: InfoIcon,\n [ChopLogicIconName.Login]: LoginIcon,\n [ChopLogicIconName.Paste]: PasteIcon,\n [ChopLogicIconName.Question]: QuestionIcon,\n [ChopLogicIconName.Save]: SaveIcon,\n [ChopLogicIconName.Show]: ShowIcon,\n [ChopLogicIconName.Upload]: UploadIcon,\n [ChopLogicIconName.Warning]: WarningIcon,\n [ChopLogicIconName.Remove]: RemoveIcon,\n};\n","import { ChopLogicIconDictionary } from '@assets/icons';\nimport { ChopLogicIconProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Icon.module.scss';\n\nconst ChopLogicIcon: FC<ChopLogicIconProps> = ({ name, testId, className, ...rest }) => {\n if (!name) return null;\n const Component = ChopLogicIconDictionary[name];\n const iconClass = getClassName([className, styles.icon]);\n\n return <Component data-testid={testId} className={iconClass} {...rest} />;\n};\n\nexport default ChopLogicIcon;\n","import { FC, ReactElement } from 'react';\n\nimport styles from './Label.module.scss';\n\ntype LabelProps = {\n label: string;\n required: boolean;\n inputId: string;\n isTextHidden?: boolean;\n icon?: ReactElement;\n iconPosition?: 'left' | 'right';\n};\n\nconst ChopLogicLabel: FC<LabelProps> = ({ label, required, inputId, icon, iconPosition, isTextHidden = false }) => {\n const isLeftIconVisible = !!icon && iconPosition === 'left';\n const isRightIconVisible = !!icon && iconPosition === 'right';\n\n return (\n <label className={styles.label} htmlFor={inputId}>\n {isLeftIconVisible && icon}\n {!isTextHidden && (\n <span>\n {label}\n {required && <abbr title='required'>*</abbr>}\n </span>\n )}\n {isRightIconVisible && icon}\n </label>\n );\n};\n\nexport default ChopLogicLabel;\n","import { ChopLogicLoaderView } from '@enums';\nimport { ChopLogicLoaderProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport Arrow from './views/Arrow.module.scss';\nimport Brackets from './views/Brackets.module.scss';\nimport Circle from './views/Circle.module.scss';\nimport Dots from './views/Dots.module.scss';\nimport Filler from './views/Filler.module.scss';\nimport Linear from './views/Linear.module.scss';\nimport Pulse from './views/Pulse.module.scss';\nimport Rotation from './views/Rotation.module.scss';\nimport Square from './views/Square.module.scss';\n\nconst ChopLogicLoader: FC<ChopLogicLoaderProps> = ({ view = ChopLogicLoaderView.Circle, ...rest }) => {\n const className = getClassName([\n {\n [Arrow.loader]: view === ChopLogicLoaderView.Arrow,\n [Brackets.loader]: view === ChopLogicLoaderView.Brackets,\n [Circle.loader]: view === ChopLogicLoaderView.Circle,\n [Dots.loader]: view === ChopLogicLoaderView.Dots,\n [Filler.loader]: view === ChopLogicLoaderView.Filler,\n [Pulse.loader]: view === ChopLogicLoaderView.Pulse,\n [Linear.loader]: view === ChopLogicLoaderView.Linear,\n [Rotation.loader]: view === ChopLogicLoaderView.Rotation,\n [Square.loader]: view === ChopLogicLoaderView.Square,\n },\n ]);\n\n return <span className={className} role='status' {...rest}></span>;\n};\n\nexport default ChopLogicLoader;\n","import { ReactElement, ReactPortal, useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst ChopLogicPortal = ({ children }: { children: ReactElement }): ReactPortal => {\n const [container] = useState(() => document.createElement('div'));\n\n useEffect(() => {\n // Append a new portal at the end of the body element on mount\n document.body.appendChild(container);\n\n // Remove the portal on unmount\n return () => {\n document.body.removeChild(container);\n };\n }, [container]);\n\n return ReactDOM.createPortal(children, container);\n};\n\nexport default ChopLogicPortal;\n","import { useEffect } from 'react';\n\nexport const useAutoClose = ({\n isOpened,\n onClose,\n autoClose = true,\n autoCloseDelay = 3000,\n}: {\n isOpened: boolean;\n onClose: () => void;\n autoClose?: boolean;\n autoCloseDelay?: number;\n}) => {\n useEffect(() => {\n if (!isOpened || !autoClose) return;\n\n const timer = setTimeout(() => {\n onClose();\n }, autoCloseDelay);\n\n return () => clearTimeout(timer);\n }, [isOpened, autoClose, autoCloseDelay, onClose]);\n};\n","import { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\nimport { createContext } from 'react';\n\nexport interface ChopLogicFormContextProps {\n onChangeFormInput?: (params: ChopLogicFormInputParams) => void;\n initialValues?: ChopLogicFormData;\n resetSignal?: number;\n}\n\nexport const ChopLogicFormContext = createContext<ChopLogicFormContextProps>({});\n","import { ChopLogicThemeMode } from '@enums';\nimport { createContext } from 'react';\n\nexport interface ChopLogicThemeContextProps {\n mode?: ChopLogicThemeMode;\n setMode: (mode: ChopLogicThemeMode) => void;\n}\n\nexport const ChopLogicThemeContext = createContext<ChopLogicThemeContextProps>({\n mode: ChopLogicThemeMode.Light,\n setMode: () => {},\n});\n","import '@styles/root.scss';\n\nimport { ChopLogicThemeMode } from '@enums';\nimport { FC, ReactNode, useEffect, useState } from 'react';\n\nimport { ChopLogicThemeContext } from './context.ts';\n\nexport const ChopLogicThemeProvider: FC<{ children: ReactNode; injectedMode?: ChopLogicThemeMode }> = ({ children, injectedMode }) => {\n const [mode, setMode] = useState(ChopLogicThemeMode.Light);\n\n useEffect(() => {\n if (mode && typeof mode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(mode);\n }\n }, [mode]);\n\n useEffect(() => {\n if (injectedMode && typeof injectedMode === 'string') {\n document.body.classList.remove(ChopLogicThemeMode.Light, ChopLogicThemeMode.Dark);\n document.body.classList.add(injectedMode);\n }\n }, [injectedMode]);\n\n return <ChopLogicThemeContext.Provider value={{ mode, setMode }}>{children}</ChopLogicThemeContext.Provider>;\n};\n","import { ChopLogicThemeContext } from '@contexts';\nimport { useContext } from 'react';\n\nexport const useChopLogicTheme = () => useContext(ChopLogicThemeContext);\n","import { RefObject, useEffect } from 'react';\n\ntype UseClickOutsideParams = {\n ref: RefObject<HTMLElement | null>;\n onClickOutsideHandler: () => void;\n dependentRef?: RefObject<HTMLElement | null>;\n};\n\nexport const useClickOutside = ({ ref, onClickOutsideHandler, dependentRef }: UseClickOutsideParams): void => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isOutsideRef = ref?.current && !ref.current.contains(event.target as Node);\n const isOutsideDependentRef = !dependentRef?.current ? true : !dependentRef.current.contains(event.target as Node);\n if (isOutsideRef && isOutsideDependentRef) {\n onClickOutsideHandler();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref, dependentRef, onClickOutsideHandler]);\n};\n","import { Dimensions } from '@models';\nimport { RefObject, useEffect, useState } from 'react';\n\ntype useContainerDimensionsParams = {\n ref: RefObject<HTMLElement | null>;\n isVisible?: boolean;\n};\n\nexport const useContainerDimensions = ({ ref, isVisible }: useContainerDimensionsParams): Dimensions => {\n const [dimensions, setDimensions] = useState<Dimensions>({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref?.current && isVisible) {\n setDimensions({\n width: ref.current.offsetWidth,\n height: ref.current.offsetHeight,\n });\n }\n }, [ref, isVisible]);\n\n return dimensions;\n};\n","import { useId } from 'react';\n\nexport function useElementIds(id?: string) {\n const randomId = useId();\n const elementId = id ?? randomId;\n const errorId = `${elementId}_error`;\n const dropdownId = `${elementId}_dropdown`;\n\n return {\n elementId,\n errorId,\n dropdownId,\n };\n}\n","import { useEffect, useState } from 'react';\n\nexport const useIsMounted = (isOpened: boolean, delay: number = 300): boolean => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (isOpened && !isMounted) {\n setIsMounted(true);\n } else if (!isOpened && isMounted) {\n setTimeout(() => {\n setIsMounted(false);\n }, delay);\n }\n }, [isOpened]);\n\n return isMounted;\n};\n","import { RefObject, useEffect, useState } from 'react';\n\nexport const useIsOverflow = ({\n ref,\n dimension,\n isMounted,\n}: {\n ref: RefObject<HTMLElement | null>;\n dimension: 'width' | 'height';\n isMounted?: boolean;\n}) => {\n const [isOverflow, setIsOverflow] = useState(false);\n\n useEffect(() => {\n const checkIsOverflow = () => {\n const { current } = ref;\n\n if (current) {\n if (dimension === 'width') {\n const { scrollWidth = 0, clientWidth = 0 } = current as HTMLElement;\n setIsOverflow(scrollWidth > clientWidth);\n }\n\n if (dimension === 'height') {\n const { scrollHeight = 0, clientHeight = 0 } = current as HTMLElement;\n setIsOverflow(scrollHeight > clientHeight);\n }\n }\n };\n\n if (isMounted) {\n checkIsOverflow();\n }\n\n window.addEventListener('resize', checkIsOverflow);\n\n return () => window.removeEventListener('resize', checkIsOverflow);\n }, [ref, dimension, isMounted]);\n\n return isOverflow;\n};\n","import { RefObject, useEffect } from 'react';\n\ntype useKeyPressParams = {\n keyCode: string;\n ref: RefObject<HTMLDivElement | null>;\n onKeyPress: () => void;\n};\n\nexport const useKeyPress = ({ ref, keyCode, onKeyPress }: useKeyPressParams) => {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e?.code === keyCode && ref?.current) {\n onKeyPress();\n }\n };\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [ref, keyCode, onKeyPress]);\n};\n","import { RefObject, useEffect } from 'react';\n\ntype ModalFocusTrapParams = {\n modalRef: RefObject<HTMLDivElement | null>;\n isOpened: boolean;\n};\n\nexport const useModalFocusTrap = ({ modalRef, isOpened }: ModalFocusTrapParams) => {\n useEffect(() => {\n const modalElement = modalRef.current;\n if (!isOpened || !modalElement) return;\n\n const focusableElements = modalElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n };\n }, [modalRef, isOpened]);\n};\n","import { ChopLogicFormContext } from '@contexts';\nimport { useContext, useEffect } from 'react';\n\nexport const useResetFormInput = (onReset: () => void) => {\n const { resetSignal } = useContext(ChopLogicFormContext);\n\n useEffect(() => {\n if (resetSignal) {\n onReset();\n }\n }, [resetSignal, onReset]);\n};\n","import { Dimensions } from '@models';\nimport { useEffect, useState } from 'react';\n\nfunction getWindowDimensions(): Dimensions {\n const { innerWidth: width, innerHeight: height } = window;\n\n return { width, height };\n}\n\nexport function useWindowDimensions(): Dimensions {\n const [windowDimensions, setWindowDimensions] = useState<Dimensions>(getWindowDimensions());\n\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n}\n","import { RefObject, useEffect, useState } from 'react';\n\nimport { useContainerDimensions } from '../use-container-dimensions/use-container-dimensions.ts';\nimport { useWindowDimensions } from '../use-window-dimensions/use-window-dimensions.ts';\n\ntype useTooltipPositionParams = {\n wrapperRef: RefObject<HTMLElement | null>;\n tooltipRef: RefObject<HTMLElement | null>;\n isOpened: boolean;\n spacing?: number;\n};\n\nexport const useTooltipPosition = ({ wrapperRef, tooltipRef, isOpened, spacing = 4 }: useTooltipPositionParams) => {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const { width: tooltipWidth, height: tooltipHeight } = useContainerDimensions({\n ref: tooltipRef,\n isVisible: isOpened,\n });\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n\n useEffect(() => {\n if (isOpened && wrapperRef?.current) {\n const rect = wrapperRef?.current.getBoundingClientRect();\n\n let top = Math.round(rect.bottom + spacing);\n let left = Math.round(rect.left);\n\n // Adjust position if tooltip goes beyond the viewport\n if (top + tooltipHeight > window.innerHeight) {\n top = Math.round(rect.top - tooltipHeight - spacing);\n }\n if (left + tooltipWidth > window.innerWidth) {\n left = Math.round(window.innerWidth - tooltipWidth - spacing);\n }\n if (left < 0) {\n left = spacing;\n }\n\n setPosition({ top, left });\n }\n }, [isOpened, wrapperRef, tooltipHeight, tooltipWidth, spacing, windowWidth, windowHeight]);\n\n return position;\n};\n","import { useAutoClose, useClickOutside, useElementIds, useKeyPress, useTooltipPosition } from '@hooks';\nimport { MouseEvent, useRef, useState } from 'react';\n\ntype Params = {\n autoClose: boolean;\n autoCloseDelay: number;\n id?: string;\n};\n\nexport const useChopLogicTooltipController = ({ id, autoClose, autoCloseDelay }: Params) => {\n const [isOpened, setIsOpened] = useState(false);\n const wrapperRef = useRef(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const { top, left } = useTooltipPosition({ wrapperRef, tooltipRef, isOpened });\n const { elementId } = useElementIds(id);\n\n const closeTooltip = () => setIsOpened(false);\n const openTooltip = () => setIsOpened(true);\n const toggleTooltip = () => setIsOpened(!isOpened);\n const handleContextMenu = (e: MouseEvent) => {\n e.preventDefault();\n toggleTooltip();\n };\n\n useKeyPress({ keyCode: 'Escape', ref: tooltipRef, onKeyPress: closeTooltip });\n useClickOutside({ ref: tooltipRef, onClickOutsideHandler: closeTooltip, dependentRef: wrapperRef });\n useAutoClose({\n isOpened,\n onClose: closeTooltip,\n autoClose,\n autoCloseDelay,\n });\n\n return {\n elementId,\n openTooltip,\n closeTooltip,\n toggleTooltip,\n handleContextMenu,\n top,\n left,\n isOpened,\n wrapperRef,\n tooltipRef,\n };\n};\n","import { ChopLogicPortal } from '@atoms';\nimport { ChopLogicTooltipContainer } from '@enums';\nimport { ChopLogicTooltipProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, MouseEvent } from 'react';\n\nimport { useChopLogicTooltipController } from './Tooltip.controller.ts';\nimport styles from './Tooltip.module.scss';\n\nconst ChopLogicTooltip: FC<ChopLogicTooltipProps> = ({\n children,\n tooltipContent,\n id,\n style,\n className,\n containerTag = ChopLogicTooltipContainer.Span,\n visibleOn = 'hover',\n autoClose = false,\n autoCloseDelay = 3000,\n ...rest\n}) => {\n const ContainerComponent = containerTag;\n const { openTooltip, closeTooltip, toggleTooltip, handleContextMenu, elementId, top, left, isOpened, wrapperRef, tooltipRef } =\n useChopLogicTooltipController({ id, autoClose, autoCloseDelay });\n const tooltipClass = getClassName([styles.tooltip, className]);\n\n return (\n <ContainerComponent\n style={{ position: 'relative', cursor: 'pointer' }}\n onClick={visibleOn === 'click' ? toggleTooltip : undefined}\n onMouseOver={visibleOn === 'hover' ? openTooltip : undefined}\n onMouseLeave={visibleOn === 'hover' ? closeTooltip : undefined}\n onFocus={visibleOn === 'focus' ? openTooltip : undefined}\n onBlur={visibleOn === 'focus' ? closeTooltip : undefined}\n onContextMenu={visibleOn === 'contextmenu' ? (e: MouseEvent) => handleContextMenu(e) : undefined}\n tabIndex={-1}\n ref={wrapperRef}\n aria-describedby={elementId}\n >\n {children}\n {isOpened && (\n <ChopLogicPortal>\n <div style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} {...rest} className={tooltipClass}>\n {tooltipContent}\n </div>\n </ChopLogicPortal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default ChopLogicTooltip;\n","import { ChopLogicTooltip } from '@atoms';\nimport { ComponentType, FC } from 'react';\n\ntype WithTooltipProps = {\n tooltip?: string;\n visibleOn?: 'hover' | 'click' | 'focus' | 'contextmenu';\n};\n\nexport function withTooltip<P extends object>(Component: ComponentType<P>): FC<P & WithTooltipProps> {\n return ({ tooltip, visibleOn, ...props }: WithTooltipProps) =>\n tooltip?.length ? (\n <ChopLogicTooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </ChopLogicTooltip>\n ) : (\n <Component {...(props as P)} />\n );\n}\n","import { getClassName } from '@utils/get-class-name.ts';\nimport { FC } from 'react';\n\nimport styles from './ErrorMessage.module.scss';\n\ntype ErrorMessageProps = {\n errorId: string;\n visible?: boolean;\n message?: string;\n testId?: string;\n className?: string;\n};\n\nexport const ErrorMessage: FC<ErrorMessageProps> = ({ errorId, testId, message = 'Error!', visible = false, className }) => {\n const errorClass = getClassName([styles.errorMessage, className, { [styles.errorMessage__visible]: visible }]);\n\n return (\n <span id={errorId} className={errorClass} data-testid={testId} aria-hidden={!visible}>\n {message}\n </span>\n );\n};\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './IconButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const IconButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n {children}\n </button>\n);\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicIconName } from '@enums';\nimport { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, MouseEvent } from 'react';\n\nimport styles from './InnerButton.module.scss';\n\ntype Props = {\n label?: string;\n icon?: ChopLogicIconName;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const InnerButton: FC<Props> = ({ onClick, label, icon, disabled, className, ...rest }) => {\n return (\n <button\n className={getClassName([styles.button, className])}\n onClick={onClick}\n aria-label={label}\n type='button'\n disabled={disabled}\n {...rest}\n >\n <ChopLogicIcon name={icon} />\n </button>\n );\n};\n","import { FC, InputHTMLAttributes, PropsWithChildren } from 'react';\n\nimport styles from './Input.module.scss';\n\ntype Props = InputHTMLAttributes<HTMLInputElement> & PropsWithChildren;\n\nexport const Input: FC<Props> = ({ children, ...rest }) => {\n return (\n <div className={styles.wrapper}>\n <input {...rest} className={styles.input} />\n {children}\n </div>\n );\n};\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport { FC } from 'react';\n\nimport styles from '../select/combobox/Combobox.module.scss';\n\ntype Props = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n values?: ChopLogicMultiSelectValue[];\n placeholder?: string;\n name: string;\n};\n\nexport const MultiSelectCombobox: FC<Props> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n name,\n placeholder,\n disabled,\n required,\n values,\n}) => {\n const selectedLabels = values?.filter((value) => value.selected).map((value) => value.label);\n const selectedIds = values?.filter((value) => value.selected).map((value) => value.id);\n let selectedValues = <span>{placeholder}</span>;\n\n if (selectedLabels && selectedLabels.length === values?.length) {\n selectedValues = <span>All items selected</span>;\n } else if (selectedLabels && selectedLabels.length === 1) {\n selectedValues = <span>{selectedLabels[0]}</span>;\n } else if (selectedLabels && selectedLabels.length > 1) {\n selectedValues = <span>{`${selectedLabels.length} items selected`}</span>;\n }\n\n return (\n <button\n type='button'\n name={name}\n value={selectedIds}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selectedValues}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, KeyboardEvent } from 'react';\n\nimport styles from '../select/option/Option.module.scss';\n\ntype Props = {\n value: ChopLogicMultiSelectValue;\n onSelect: (id: string) => void;\n};\n\nexport const MultiSelectOption: FC<Props> = ({ value, onSelect }) => {\n const { id, label, selected } = value;\n const optionClass = getClassName([styles.option, styles.option__multi, { [styles.option__selected]: selected }]);\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n onSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => onSelect(id)}\n className={optionClass}\n >\n {selected ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n <span>{label}</span>\n </li>\n );\n};\n","import { ChopLogicMultiSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress } from '@utils';\nimport { FC } from 'react';\n\nimport styles from '../select/dropdown/Dropdown.module.scss';\nimport { MultiSelectOption } from './Option';\n\ntype Props = {\n options: ChopLogicMultiSelectValue[];\n opened: boolean;\n dropdownId: string;\n onClose: () => void;\n onSelect: (id: string) => void;\n};\n\nexport const MultiSelectDropdown: FC<Props> = ({ options, opened, onClose, onSelect, dropdownId }) => {\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <MultiSelectOption key={item.id} value={item} onSelect={() => onSelect(item.id)} />\n ))}\n </ul>\n );\n};\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './PrimaryButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const PrimaryButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n <span className={styles.button_shadow}></span>\n <span className={styles.button_edge}></span>\n <span className={styles.button_front}>{children}</span>\n </button>\n);\n","import { getClassName } from '@utils';\nimport { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';\n\nimport styles from './SecondaryButton.module.scss';\n\ntype Props = ButtonHTMLAttributes<HTMLButtonElement> & PropsWithChildren;\n\nexport const SecondaryButton: FC<Props> = ({ children, className, ...rest }) => (\n <button {...rest} className={getClassName([styles.button, className])}>\n {children}\n </button>\n);\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport { FC } from 'react';\n\nimport styles from './Combobox.module.scss';\n\ntype Props = {\n opened: boolean;\n disabled: boolean;\n required: boolean;\n onClick: () => void;\n comboboxId: string;\n dropdownId: string;\n selected?: ChopLogicSelectValue;\n placeholder?: string;\n name: string;\n};\n\nexport const SelectCombobox: FC<Props> = ({ opened, onClick, comboboxId, dropdownId, selected, name, placeholder, disabled, required }) => {\n return (\n <button\n type='button'\n name={name}\n value={selected?.id}\n role='combobox'\n aria-haspopup='listbox'\n aria-expanded={opened}\n aria-controls={dropdownId}\n id={comboboxId}\n onClick={onClick}\n disabled={disabled}\n aria-required={required}\n className={styles.combobox}\n >\n {selected?.label ? <span>{selected?.label}</span> : <span>{placeholder}</span>}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </button>\n );\n};\n","import CheckMarkIcon from '@assets/icons/svg/CheckMarkIcon.tsx';\nimport { ChopLogicSelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, KeyboardEvent } from 'react';\n\nimport styles from './Option.module.scss';\n\ntype Props = {\n value: ChopLogicSelectValue;\n selected: boolean;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nexport const SelectOption: FC<Props> = ({ value, selected, onSelect, onClear }) => {\n const { id, label } = value;\n const optionClass = getClassName([styles.option, { [styles.option__selected]: selected }]);\n\n const handleOptionSelect = (id: string) => {\n if (selected) {\n onClear();\n } else {\n onSelect(id);\n }\n };\n\n const handleKeyDown = (id: string) => (e: KeyboardEvent<HTMLLIElement>) => {\n switch (e.key) {\n case ' ':\n case 'SpaceBar':\n case 'Enter':\n e.preventDefault();\n handleOptionSelect(id);\n break;\n default:\n break;\n }\n };\n\n return (\n <li\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => handleOptionSelect(id)}\n className={optionClass}\n >\n <span>{label}</span>\n {selected && <CheckMarkIcon />}\n </li>\n );\n};\n","import { ChopLogicSelectValue } from '@models';\nimport { getClassName, handleDropdownListKeyPress, moveFocusOnElementById } from '@utils';\nimport { FC } from 'react';\n\nimport { SelectOption } from '../option/Option';\nimport styles from './Dropdown.module.scss';\n\ntype Props = {\n options: ChopLogicSelectValue[];\n opened: boolean;\n dropdownId: string;\n comboboxId: string;\n onClose: () => void;\n selected?: ChopLogicSelectValue;\n onSelect: (id: string) => void;\n onClear: () => void;\n};\n\nexport const SelectDropdown: FC<Props> = ({ options, opened, onClose, onSelect, dropdownId, comboboxId, selected, onClear }) => {\n const handleOptionSelect = (id: string) => {\n onSelect(id);\n onClose();\n moveFocusOnElementById(comboboxId);\n };\n const dropdownClass = getClassName([styles.dropdown, { [styles.dropdown__opened]: opened }]);\n\n return (\n <ul\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n className={dropdownClass}\n >\n {options.map((item) => (\n <SelectOption\n key={item.id}\n value={item}\n onSelect={() => handleOptionSelect(item.id)}\n onClear={onClear}\n selected={item.id === selected?.id}\n />\n ))}\n </ul>\n );\n};\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { ChopLogicButtonProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { IconButton, InnerButton, PrimaryButton, SecondaryButton } from '../__elements__';\nimport styles from './Button.module.scss';\n\nconst Button: FC<ChopLogicButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ChopLogicButtonView.Primary,\n className,\n ...rest\n}) => {\n const extendedClass = getClassName([className, { [styles.extended]: extended }]);\n\n switch (view) {\n case ChopLogicButtonView.Primary:\n return (\n <PrimaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <ChopLogicIcon name={icon} />\n {text}\n </PrimaryButton>\n );\n case ChopLogicButtonView.Secondary:\n return (\n <SecondaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <ChopLogicIcon name={icon} />\n {text}\n </SecondaryButton>\n );\n case ChopLogicButtonView.Icon:\n return (\n <IconButton aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={className}>\n <ChopLogicIcon name={icon} />\n </IconButton>\n );\n case ChopLogicButtonView.Inner:\n return <InnerButton label={label} icon={icon} onClick={onClick} disabled={disabled} {...rest} className={className}></InnerButton>;\n default:\n return null;\n }\n};\n\nconst ChopLogicButton = withTooltip(Button);\n\nexport default ChopLogicButton;\n","import { ChopLogicFormData } from '@models';\n\nexport function getCheckboxInitialValue({\n defaultChecked,\n initialValues,\n name,\n}: {\n defaultChecked?: boolean;\n initialValues?: ChopLogicFormData;\n name: string;\n}): boolean {\n if (initialValues && initialValues?.[name] !== undefined) {\n return !!initialValues?.[name];\n }\n\n return Boolean(defaultChecked);\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getCheckboxInitialValue } from './Checkbox.helpers.ts';\n\nexport function useChopLogicCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getCheckboxInitialValue({ initialValues, name, defaultChecked });\n const [isChecked, setIsChecked] = useState<boolean>(initialValue);\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n setIsChecked(checked);\n onChange?.(e);\n onChangeFormInput?.({ name, value: checked });\n };\n\n const handleReset = useCallback(() => {\n setIsChecked(initialValue);\n onChangeFormInput?.({ name, value: initialValue });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n checked: isChecked,\n };\n}\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { ChopLogicLabel } from '@atoms';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicCheckboxProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useChopLogicCheckboxController } from './Checkbox.controller';\nimport styles from './Checkbox.module.scss';\n\nconst ChopLogicCheckbox: FC<ChopLogicCheckboxProps> = ({\n name,\n label,\n disabled,\n noLabel,\n required = false,\n iconPosition = 'left',\n defaultChecked,\n onChange,\n id,\n className,\n ...rest\n}) => {\n const { handleChange, checked } = useChopLogicCheckboxController({ name, defaultChecked, onChange });\n const { elementId } = useElementIds(id);\n const checkboxClass = getClassName([\n styles.checkbox,\n className,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div {...rest} className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={handleChange}\n aria-label={noLabel ? label : undefined}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={noLabel}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n iconPosition={iconPosition}\n />\n </div>\n );\n};\n\nexport default ChopLogicCheckbox;\n","import { ChopLogicFormData, ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nexport function getMultiSelectInitialValues({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicMultiSelectValue[] {\n return options.map((option) => {\n let selected = false;\n\n if (initialValues && initialValues?.[name] && Array.isArray(initialValues[name])) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const selectedId = (initialValues[name] as Array<any>).find((item) => item === option.id || item?.id === option.id);\n if (selectedId) selected = true;\n }\n\n if (!initialValues?.[name] && Array.isArray(defaultValue)) {\n const selectedId = defaultValue.find((item) => item === option.id);\n if (selectedId) selected = true;\n }\n\n return { ...option, selected };\n });\n}\n\nexport const getMultiSelectFormValues = (options: ChopLogicMultiSelectValue[]): string[] => {\n return options.filter((item) => item.selected).map((item) => item.id);\n};\n\nexport const getMultiSelectUpdatedValues = (options: ChopLogicMultiSelectValue[], id: string): ChopLogicMultiSelectValue[] => {\n const targetItem = options.find((item) => item.id === id);\n return options.map((item) => {\n return item.id === id ? { ...item, selected: !targetItem?.selected } : item;\n });\n};\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './Multiselect.helpers.ts';\n\nexport function useChopLogicMultiSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (values?: ChopLogicSelectValue[]) => void;\n options: ChopLogicSelectValue[];\n}) {\n const [opened, setOpened] = useState(false);\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialOptions = getMultiSelectInitialValues({ name, options, initialValues, defaultValue });\n const [values, setValues] = useState<ChopLogicMultiSelectValue[]>(initialOptions);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValues = getMultiSelectUpdatedValues(values, id);\n\n setValues(newValues);\n onChange?.(newValues);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(newValues) });\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setValues(initialOptions);\n onChangeFormInput?.({ name, value: getMultiSelectFormValues(initialOptions) });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleClose,\n handleToggle,\n handleSelect,\n opened,\n values,\n };\n}\n","import { ChopLogicLabel } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicMultiSelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport { MultiSelectCombobox, MultiSelectDropdown } from '../__elements__/index.ts';\nimport styles from '../select/Select.module.scss';\nimport { useChopLogicMultiSelectController } from './Multiselect.controller.ts';\n\nconst ChopLogicMultiSelect: FC<ChopLogicMultiSelectProps> = ({\n options,\n name,\n label,\n required = false,\n placeholder = 'Not selected',\n disabled = false,\n onChange,\n defaultValue,\n id,\n className,\n ...rest\n}) => {\n const ref = useRef(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClose, handleSelect, handleToggle, opened, values } = useChopLogicMultiSelectController({\n name,\n options,\n defaultValue,\n onChange,\n });\n const multiSelectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={multiSelectClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <MultiSelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n values={values}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <MultiSelectDropdown options={values} opened={opened} onClose={handleClose} dropdownId={dropdownId} onSelect={handleSelect} />\n </div>\n );\n};\n\nexport default ChopLogicMultiSelect;\n","import { ChopLogicFormData, ChopLogicNumericInputValidator } from '@models';\n\nexport function getNumericInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): number {\n if (initialValues && initialValues[name]) {\n return Number(initialValues[name]);\n }\n\n if (defaultValue && typeof defaultValue === 'number') {\n return defaultValue;\n }\n\n return 0;\n}\n\nexport function validateNumericInputValue({\n value,\n required,\n validator,\n maxValue,\n minValue,\n}: {\n value?: number;\n required?: boolean;\n validator?: ChopLogicNumericInputValidator;\n maxValue?: number;\n minValue?: number;\n}): boolean {\n if (required && !validator && value === undefined) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (maxValue && minValue && value && !validator) {\n return value <= maxValue && value >= minValue;\n }\n\n return true;\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicNumericInputValidator } from '@models';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './NumericInput.helpers.ts';\n\nexport function useChopLogicNumericInputController({\n name,\n defaultValue,\n onChange,\n onSpinButtonClick,\n min,\n max,\n step,\n required,\n validator,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onSpinButtonClick?: (value?: number) => void;\n min?: string | number;\n max?: string | number;\n step: number;\n required: boolean;\n validator?: ChopLogicNumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getNumericInputInitialValue({ initialValues, defaultValue, name });\n const maxValue = max ? Number(max) : Number.MAX_SAFE_INTEGER;\n const minValue = min ? Number(min) : Number.MIN_SAFE_INTEGER;\n const [value, setValue] = useState<number>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n\n const updateValue = (value: number) => {\n setValue(value);\n const valid = validateNumericInputValue({ value, required, validator, maxValue, minValue });\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = Number(event.target.value);\n updateValue(value);\n onChange?.(event);\n };\n\n const increment = () => {\n updateValue(value + step);\n onSpinButtonClick?.(value + step);\n };\n\n const decrement = () => {\n updateValue(value - step);\n onSpinButtonClick?.(value - step);\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n value,\n valid,\n minValue,\n maxValue,\n increment,\n decrement,\n };\n}\n","import { ChopLogicLabel } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicNumericInputProps } from '@models';\nimport ChopLogicButton from '@molecules/inputs/button/Button.tsx';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { ErrorMessage, Input } from '../__elements__/index.ts';\nimport { useChopLogicNumericInputController } from './NumericInput.controller.ts';\nimport styles from './NumericInput.module.scss';\n\nconst ChopLogicNumericInput: FC<ChopLogicNumericInputProps> = ({\n name,\n label,\n errorMessage,\n onChange,\n onBlur,\n onFocus,\n onSpinButtonClick,\n validator,\n min,\n max,\n id,\n tabIndex,\n disabled = false,\n required = false,\n readOnly = false,\n hasSpinButtons = true,\n defaultValue = 0,\n step = 1,\n className,\n ...rest\n}) => {\n const { elementId, errorId } = useElementIds(id);\n const { value, valid, handleChange, increment, decrement, minValue, maxValue } = useChopLogicNumericInputController({\n name,\n defaultValue,\n min,\n max,\n onChange,\n required,\n validator,\n step,\n onSpinButtonClick,\n });\n const inputClass = getClassName([styles.numeric, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <Input\n id={elementId}\n name={name}\n type='number'\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n placeholder='0'\n aria-invalid={!valid}\n aria-errormessage={errorId}\n value={value.toString()}\n onChange={handleChange}\n min={minValue}\n max={maxValue}\n step={step}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n >\n {hasSpinButtons && (\n <span>\n <ChopLogicButton\n onClick={decrement}\n view={ChopLogicButtonView.Inner}\n label={`Decrement value for ${label}`}\n icon={ChopLogicIconName.ChevronLeft}\n disabled={disabled}\n />\n <ChopLogicButton\n onClick={increment}\n view={ChopLogicButtonView.Inner}\n label={`Increment value for ${label}`}\n icon={ChopLogicIconName.ChevronRight}\n disabled={disabled}\n />\n </span>\n )}\n <ErrorMessage errorId={errorId} message={errorMessage} visible={!valid} className={styles.errorMessage} />\n </Input>\n </div>\n );\n};\n\nexport default ChopLogicNumericInput;\n","import { ChopLogicFormData, ChopLogicSelectValue } from '@models';\n\nexport function getSelectInitialValue({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: ChopLogicSelectValue[];\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): ChopLogicSelectValue | undefined {\n let valueId: string;\n\n if (initialValues && initialValues[name]) {\n valueId = ((initialValues[name] as ChopLogicSelectValue)?.id as string) ?? (initialValues[name] as string);\n }\n\n if (!initialValues?.[name] && defaultValue && typeof defaultValue === 'string') {\n valueId = defaultValue;\n }\n\n return options.find((item) => item.id === valueId);\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicSelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getSelectInitialValue } from './Select.helpers.ts';\n\nexport function useChopLogicSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (value?: ChopLogicSelectValue) => void;\n options: ChopLogicSelectValue[];\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getSelectInitialValue({ name, options, defaultValue, initialValues });\n const [opened, setOpened] = useState(false);\n const [selected, setSelected] = useState<ChopLogicSelectValue | undefined>(initialValue);\n\n const handleClose = () => setOpened(false);\n\n const handleToggle = () => setOpened(!opened);\n\n const handleSelect = (id: string) => {\n const newValue = options.find((item) => item.id === id);\n setSelected(newValue);\n onChange?.(newValue);\n onChangeFormInput?.({ name, value: newValue?.id });\n };\n\n const handleClear = () => {\n setSelected(undefined);\n onChange?.(undefined);\n };\n\n const handleReset = useCallback(() => {\n setOpened(false);\n setSelected(initialValue);\n onChangeFormInput?.({ name, value: initialValue?.id });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n selected,\n opened,\n handleClear,\n handleClose,\n handleToggle,\n handleSelect,\n };\n}\n","import { ChopLogicLabel } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicSelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport { SelectCombobox, SelectDropdown } from '../__elements__/index.ts';\nimport { useChopLogicSelectController } from './Select.controller.ts';\nimport styles from './Select.module.scss';\n\nconst ChopLogicSelect: FC<ChopLogicSelectProps> = ({\n options,\n onChange,\n name,\n label,\n defaultValue,\n id,\n placeholder = 'Not selected',\n required = false,\n disabled = false,\n className,\n ...rest\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const { elementId, dropdownId } = useElementIds(id);\n const { handleClear, handleClose, handleSelect, handleToggle, selected, opened } = useChopLogicSelectController({\n options,\n onChange,\n defaultValue,\n name,\n });\n const selectClass = getClassName([styles.wrapper, className]);\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <div ref={ref} {...rest} className={selectClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <SelectCombobox\n name={name}\n opened={opened}\n comboboxId={elementId}\n dropdownId={dropdownId}\n onClick={handleToggle}\n selected={selected}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n />\n <SelectDropdown\n options={options}\n selected={selected}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n comboboxId={elementId}\n onSelect={handleSelect}\n onClear={handleClear}\n />\n </div>\n );\n};\n\nexport default ChopLogicSelect;\n","import { ChopLogicFormData, ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nexport function validateTextInputValue({\n value,\n required,\n validator,\n}: {\n value: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n}): boolean {\n if (required && !validator && !value.length) {\n return false;\n }\n\n if (validator && typeof validator === 'function') {\n return validator(value);\n }\n\n if (validator && typeof validator === 'object') {\n return new RegExp(validator.regexp, validator?.flags).test(value);\n }\n\n return true;\n}\n\nexport function getTextInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: ChopLogicFormData;\n defaultValue?: string | number | readonly string[];\n}): string {\n if (initialValues && initialValues?.[name]) {\n return (initialValues[name] as string).toString();\n }\n\n if (defaultValue && typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n return '';\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './TextInput.helpers.ts';\n\nexport function useChopLogicTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getTextInputInitialValue({ initialValues, defaultValue, name });\n const [value, setValue] = useState<string>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n const [passwordShown, setPasswordShown] = useState<boolean>(false);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const valid = validateTextInputValue({ value, required, validator });\n\n setValue(value);\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n onChange?.(event);\n };\n\n const handleClear = () => {\n setValue('');\n setValid(true);\n onChangeFormInput?.({ name, value: '', valid: true });\n onClear?.();\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n useResetFormInput(handleReset);\n\n return {\n value,\n valid,\n passwordShown,\n handleChange,\n handleClear,\n togglePassword,\n };\n}\n","import { ChopLogicLabel } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicTextInputProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { ErrorMessage, Input } from '../__elements__/index.ts';\nimport { useChopLogicTextInputController } from './TextInput.controller.ts';\nimport styles from './TextInput.module.scss';\n\nconst ChopLogicTextInput: FC<ChopLogicTextInputProps> = ({\n name,\n label,\n errorMessage,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onClear,\n validator,\n maxLength,\n id,\n tabIndex,\n placeholder = 'Type here...',\n disabled = false,\n required = false,\n clearable = true,\n readOnly = false,\n autoComplete = 'off',\n type = 'text',\n className,\n ...rest\n}) => {\n const { value, valid, handleChange, handleClear, passwordShown, togglePassword } = useChopLogicTextInputController({\n defaultValue,\n name,\n onChange,\n onClear,\n required,\n validator,\n });\n const { elementId, errorId } = useElementIds(id);\n const isPasswordButtonVisible = type === 'password';\n const inputClass = getClassName([styles.wrapper, className]);\n\n return (\n <div {...rest} className={inputClass}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} />\n <Input\n id={elementId}\n name={name}\n type={passwordShown ? 'text' : type}\n disabled={disabled}\n placeholder={placeholder}\n required={required}\n readOnly={readOnly}\n autoComplete={autoComplete}\n aria-invalid={!valid}\n aria-errormessage={errorId}\n aria-readonly={readOnly}\n value={value}\n onChange={handleChange}\n maxLength={maxLength}\n onBlur={onBlur}\n onFocus={onFocus}\n tabIndex={tabIndex}\n >\n <span>\n {clearable && (\n <ChopLogicButton\n view={ChopLogicButtonView.Inner}\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={ChopLogicIconName.Remove}\n disabled={disabled}\n />\n )}\n {isPasswordButtonVisible && (\n <ChopLogicButton\n onClick={togglePassword}\n view={ChopLogicButtonView.Inner}\n label='Toggle password visibility'\n icon={passwordShown ? ChopLogicIconName.Hide : ChopLogicIconName.Show}\n disabled={disabled}\n />\n )}\n </span>\n <ErrorMessage errorId={errorId} message={errorMessage} visible={!valid} className={styles.errorMessage} />\n </Input>\n </div>\n );\n};\n\nexport default ChopLogicTextInput;\n","import { ChopLogicAlertMode, ChopLogicIconName } from '@enums';\n\nexport function getAlertTitle(mode: ChopLogicAlertMode, title?: string): string {\n if (title) return title;\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return 'For your information';\n case ChopLogicAlertMode.Warning:\n return 'Please pay attention';\n case ChopLogicAlertMode.Error:\n return 'Something went wrong';\n case ChopLogicAlertMode.Success:\n return 'Everything is okay';\n case ChopLogicAlertMode.Help:\n return 'Useful tip';\n default:\n return 'Alert';\n }\n}\n\nexport function getAlertIcon(mode: ChopLogicAlertMode, icon?: ChopLogicIconName): ChopLogicIconName | undefined {\n if (icon) {\n return icon;\n }\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return ChopLogicIconName.Info;\n case ChopLogicAlertMode.Warning:\n return ChopLogicIconName.Warning;\n case ChopLogicAlertMode.Error:\n return ChopLogicIconName.Error;\n case ChopLogicAlertMode.Success:\n return ChopLogicIconName.CheckboxChecked;\n case ChopLogicAlertMode.Help:\n return ChopLogicIconName.Help;\n default:\n return;\n }\n}\n","import { ChopLogicHeader, ChopLogicPortal } from '@atoms';\nimport { ChopLogicAlertMode, ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useAutoClose, useIsMounted } from '@hooks';\nimport { ChopLogicAlertProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { getAlertIcon, getAlertTitle } from './Alert.helpers.tsx';\nimport styles from './Alert.module.scss';\n\nconst ChopLogicAlert: FC<ChopLogicAlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = ChopLogicAlertMode.Info,\n icon,\n autoClose = false,\n autoCloseDelay = 3000,\n ...rest\n}) => {\n const isMounted = useIsMounted(isOpened);\n const isClosing = isMounted && !isOpened;\n\n useAutoClose({\n isOpened,\n onClose,\n autoClose,\n autoCloseDelay,\n });\n\n if (!isMounted) return null;\n\n const alertTitle = getAlertTitle(mode, title);\n const alertTitleIcon = getAlertIcon(mode, icon);\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.wrapper, { [styles.wrapper__closing]: isClosing }])}>\n <div {...rest} className={styles.content}>\n <ChopLogicButton\n icon={ChopLogicIconName.Cancel}\n view={ChopLogicButtonView.Icon}\n label='Close alert popup'\n onClick={onClose}\n className={styles.content_button}\n />\n <header>\n <ChopLogicHeader icon={alertTitleIcon} as='h3'>\n {alertTitle}\n </ChopLogicHeader>\n </header>\n <p>{message}</p>\n </div>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicAlert;\n","import { ChopLogicHeader, ChopLogicPortal } from '@atoms';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useIsMounted, useKeyPress, useModalFocusTrap } from '@hooks';\nimport { ChopLogicDialogProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport styles from './Dialog.module.scss';\n\nconst ChopLogicDialog: FC<ChopLogicDialogProps> = ({ isOpened, onClose, title, children, icon, ...rest }) => {\n const isMounted = useIsMounted(isOpened);\n const isClosing = isMounted && !isOpened;\n\n const modalRef = useRef<HTMLDivElement>(null);\n\n useModalFocusTrap({ modalRef, isOpened });\n useKeyPress({ keyCode: 'Escape', ref: modalRef, onKeyPress: onClose });\n\n if (!isMounted) {\n return null;\n }\n\n return (\n <ChopLogicPortal>\n <div className={getClassName([styles.dialog, { [styles.dialog__closing]: isClosing }])}>\n <div ref={modalRef} role='dialog' aria-modal='true' {...rest} className={styles.layout}>\n <ChopLogicButton\n icon={ChopLogicIconName.Cancel}\n view={ChopLogicButtonView.Icon}\n label='Close modal window'\n onClick={onClose}\n className={styles.layout_button}\n />\n <header>\n <ChopLogicHeader as='h3' icon={icon}>\n {title}\n </ChopLogicHeader>\n </header>\n <div>{children}</div>\n </div>\n </div>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicDialog;\n","import { ChopLogicFormData, ChopLogicFormInputParams, ChopLogicFormValidationState } from '@models';\n\nexport function getInitialValidationState(data?: ChopLogicFormData): ChopLogicFormValidationState {\n if (!data) return [];\n\n return Object.keys(data).map((key) => [key, true]);\n}\n\nexport function updateValidationState(state: ChopLogicFormValidationState, params: ChopLogicFormInputParams): ChopLogicFormValidationState {\n if (params?.valid === undefined) return state;\n\n return state.map((item) => {\n if (item[0] !== params.name) return item;\n return [item[0], !!params?.valid];\n });\n}\n\nexport function isFormDataValid(state: ChopLogicFormValidationState): boolean {\n return state.every((item) => item[1]);\n}\n","import { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\nimport { FormEvent, FormEventHandler, useState } from 'react';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './Form.helpers.ts';\n\nexport function useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: ChopLogicFormData;\n onReset?: FormEventHandler<HTMLFormElement>;\n onSubmit?: FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: ChopLogicFormData) => void;\n}) {\n const [formData, setFormData] = useState(initialValues);\n const [validationState, setValidationState] = useState(getInitialValidationState(initialValues));\n const [resetSignal, setResetSignal] = useState(0);\n\n const handleInputChange = (params: ChopLogicFormInputParams) => {\n const newData = { ...formData, [params.name]: params.value };\n setFormData(newData);\n setValidationState(updateValidationState(validationState, params));\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const uncontrolledData = Object.fromEntries(new FormData(event.target as HTMLFormElement));\n const resultData = { ...uncontrolledData, ...formData };\n\n onSubmit?.(event);\n onClickSubmit?.(resultData);\n };\n\n const handleReset = (event: FormEvent<HTMLFormElement>) => {\n onReset?.(event);\n setFormData(initialValues);\n setResetSignal(resetSignal + 1);\n };\n\n return {\n handleInputChange,\n handleSubmit,\n handleReset,\n resetSignal,\n valid: isFormDataValid(validationState),\n };\n}\n","import { ChopLogicFormContext } from '@contexts';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicFormProps } from '@models';\nimport { ChopLogicButton } from '@molecules';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useChopLogicFormController } from './Form.controller.ts';\nimport styles from './Form.module.scss';\n\nconst ChopLogicForm: FC<ChopLogicFormProps> = ({\n children,\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n columns = 1,\n hasReset = true,\n className,\n ...rest\n}) => {\n const { handleInputChange, handleSubmit, handleReset, resetSignal, valid } = useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n });\n const columnsNumber = columns <= 6 && columns >= 1 ? columns : 1;\n const formClass = getClassName([styles.form, className]);\n\n return (\n <form onSubmit={handleSubmit} onReset={handleReset} {...rest} className={`${formClass} ${styles[`columns-${columnsNumber}`]}`}>\n <ChopLogicFormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <div className={`${styles.buttons} ${styles[`buttons-${columnsNumber}`]}`}>\n {hasReset && <ChopLogicButton type='reset' text='Reset' icon={ChopLogicIconName.Clear} view={ChopLogicButtonView.Secondary} />}\n <ChopLogicButton type='submit' text='Submit' icon={ChopLogicIconName.Forward} extended={!hasReset} disabled={!valid} />\n </div>\n </ChopLogicFormContext.Provider>\n </form>\n );\n};\n\nexport default ChopLogicForm;\n","import { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\nimport { ReactElement } from 'react';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: ChopLogicGridItem;\n columns: ChopLogicGridColumn[];\n renderDataItem?: RenderDataItemCallback;\n}): (string | ReactElement)[] {\n const values = [];\n for (const column of columns) {\n let value;\n\n if (renderDataItem && item[column.field]) {\n value = renderDataItem(item, column.field);\n } else if (item[column.field]) {\n value = (item[column.field] as string).toString();\n } else {\n value = '';\n }\n\n values.push(value);\n }\n\n return values;\n}\n","import { FC, ReactElement } from 'react';\n\nimport styles from './GridDataCell.module.scss';\n\nexport const GridDataCell: FC<{ value: ReactElement | string }> = ({ value }) => {\n return <td className={styles.cell}>{value}</td>;\n};\n","import CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicLabel } from '@atoms';\nimport { useElementIds } from '@hooks';\nimport { getClassName } from '@utils';\nimport { FC, InputHTMLAttributes } from 'react';\n\nimport styles from './GridCheckbox.module.scss';\n\ntype Props = InputHTMLAttributes<HTMLInputElement> & {\n label: string;\n};\n\nexport const GridCheckbox: FC<Props> = ({ name, label, disabled, required = false, onChange, checked = false, ...props }) => {\n const { elementId } = useElementIds(props?.id);\n const checkboxClass = getClassName([\n styles.checkbox,\n {\n [styles.checkbox__disabled]: !!disabled,\n [styles.checkbox__checked]: checked,\n },\n ]);\n\n return (\n <div className={checkboxClass}>\n <input\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={onChange}\n className={styles.checkbox_input}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={true}\n iconPosition='left'\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n />\n </div>\n );\n};\n","import { ChangeEvent, FC } from 'react';\n\nimport { GridCheckbox } from '../checkbox/GridCheckbox';\nimport styles from './SelectGridRowCell.module.scss';\n\ntype Props = {\n rowId: string;\n isRowSelected: boolean;\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n disabled?: boolean;\n};\n\nexport const SelectGridRowCell: FC<Props> = ({ rowId, isRowSelected, selectRowById, deselectRowById, disabled }) => {\n const handleSelectById = (e: ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectRowById(rowId);\n } else {\n deselectRowById(rowId);\n }\n };\n\n return (\n <td className={styles.cell}>\n <GridCheckbox label='Select row' onChange={handleSelectById} id={`select_row_${rowId}`} checked={isRowSelected} disabled={disabled} />\n </td>\n );\n};\n","import { getClassName } from '@utils';\nimport { FC, ReactElement } from 'react';\n\nimport { GridDataCell } from '../data-cell/GridDataCell';\nimport { SelectGridRowCell } from '../select-grid-row-cell/SelectGridRowCell';\nimport styles from './GridRow.module.scss';\n\ntype Props = {\n rowId: string;\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n selectable: boolean;\n values: (string | ReactElement)[];\n disabled?: boolean;\n};\n\nexport const GridRow: FC<Props> = ({ rowId, selectRowById, deselectRowById, selectable, values, selectedIds, disabled }) => {\n const selected = selectedIds.includes(rowId);\n\n return (\n <tr className={getClassName([styles.row, { [styles.row__selected]: selected }])}>\n {selectable && (\n <SelectGridRowCell\n rowId={rowId}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n isRowSelected={selected}\n disabled={disabled}\n />\n )}\n {values.map((value, index) => (\n <GridDataCell key={`row_${index}`} value={value} />\n ))}\n </tr>\n );\n};\n","import { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\nimport { getGridRowValues } from '@organisms/grid/Grid.helpers.ts';\nimport { FC } from 'react';\n\nimport { GridRow } from '../grid-row/GridRow';\nimport styles from './GridBody.module.scss';\n\ntype Props = {\n data: ChopLogicGridItem[];\n columns: ChopLogicGridColumn[];\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n renderDataItem?: RenderDataItemCallback;\n selectable: boolean;\n};\n\nexport const GridBody: FC<Props> = ({ selectRowById, deselectRowById, renderDataItem, selectedIds, selectable, data, columns }) => {\n return (\n <tbody className={styles.body}>\n {data.map((item) => {\n const values = getGridRowValues({ item, columns, renderDataItem });\n return (\n <GridRow\n key={item.id}\n rowId={item.id}\n disabled={item?.disabled}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n selectable={selectable}\n values={values}\n selectedIds={selectedIds}\n />\n );\n })}\n </tbody>\n );\n};\n","import { ChopLogicGridColumn } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './GridColumnGroup.module.scss';\n\nexport const GridColumnGroup: FC<{ columns: ChopLogicGridColumn[]; selectable: boolean }> = ({ columns, selectable }) => {\n return (\n <colgroup>\n {selectable && <col className={getClassName([styles.column, styles.column__first])} />}\n {columns.map((column, index) => (\n <col\n key={column?.title}\n className={getClassName([\n styles.column,\n column?.className,\n {\n [styles.column__first]: index === 0 && !selectable,\n [styles.column__highlighted]: !!column?.highlighted,\n },\n ])}\n />\n ))}\n </colgroup>\n );\n};\n","import { FC } from 'react';\n\nimport styles from './HeaderCell.module.scss';\n\nexport const GridHeaderCell: FC<{ title?: string; component?: React.ReactElement }> = ({ title, component }) => {\n return <th className={styles.headerCell}>{component ?? title ?? ''}</th>;\n};\n","import { ChangeEvent, FC } from 'react';\n\nimport { GridCheckbox } from '../checkbox/GridCheckbox';\nimport styles from './SelectAllGridRowsCell.module.scss';\n\ntype Props = {\n gridId: string;\n isAllSelected: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n disabled?: boolean;\n};\n\nexport const SelectAllGridRowsCell: FC<Props> = ({ gridId, isAllSelected, selectAll, deselectAll, disabled }) => {\n const handleSelectAll = (e: ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectAll();\n } else {\n deselectAll();\n }\n };\n\n return (\n <th className={styles.headerCell}>\n <GridCheckbox\n label='Select all rows'\n onChange={handleSelectAll}\n id={`select_all_${gridId}`}\n checked={isAllSelected}\n disabled={disabled}\n />\n </th>\n );\n};\n","import { ChopLogicGridColumn } from '@models';\nimport { FC } from 'react';\n\nimport { GridHeaderCell } from '../header-cell/HeaderCell';\nimport { SelectAllGridRowsCell } from '../select-all-grid-rows-cell/SelectAllGridRowsCell';\nimport styles from './GridHead.module.scss';\n\ntype ChopLogicGridHeadProps = {\n columns: ChopLogicGridColumn[];\n gridId: string;\n selectable: boolean;\n isAllSelected: boolean;\n isAllCheckboxDisabled?: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n};\n\nexport const GridHead: FC<ChopLogicGridHeadProps> = ({\n columns,\n gridId,\n selectAll,\n deselectAll,\n selectable,\n isAllSelected,\n isAllCheckboxDisabled = false,\n}) => {\n return (\n <thead className={styles.head}>\n <tr className={styles.head_row}>\n {selectable && (\n <SelectAllGridRowsCell\n isAllSelected={isAllSelected}\n disabled={isAllCheckboxDisabled}\n gridId={gridId}\n selectAll={selectAll}\n deselectAll={deselectAll}\n />\n )}\n {columns.map((column) => (\n <GridHeaderCell key={`${column.title}_${gridId}`} title={column.title} component={column.component} />\n ))}\n </tr>\n </thead>\n );\n};\n","import { useElementIds } from '@hooks';\nimport { ChopLogicGridItem } from '@models';\nimport { useState } from 'react';\n\nexport const useChopLogicGridController = ({\n data,\n id,\n onSelect,\n}: {\n data: ChopLogicGridItem[];\n id?: string;\n onSelect?: (ids: string[]) => void;\n}) => {\n const { elementId } = useElementIds(id);\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n const allIds = data.map((item) => item.id);\n const isAllSelected = allIds.length === selectedIds.length;\n const isAllCheckboxDisabled = data.some((item) => item?.disabled);\n\n const handleSelect = (ids: string[]) => {\n setSelectedIds(ids);\n onSelect?.(ids);\n };\n\n const handleSelectAll = () => {\n handleSelect(allIds);\n };\n\n const handleDeselectAll = () => {\n handleSelect([]);\n };\n\n const handleSelectRowById = (id: string) => {\n const newIds = [...selectedIds, id];\n handleSelect(newIds);\n };\n\n const handleDeselectRowById = (id: string) => {\n const newIds = selectedIds.filter((item) => item !== id);\n handleSelect(newIds);\n };\n return {\n elementId,\n isAllSelected,\n isAllCheckboxDisabled,\n selectedIds,\n handleSelectAll,\n handleDeselectAll,\n handleSelectRowById,\n handleDeselectRowById,\n };\n};\n","import { ChopLogicGridProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { GridBody, GridColumnGroup, GridHead } from './__elements__';\nimport { useChopLogicGridController } from './Grid.controller.ts';\nimport styles from './Grid.module.scss';\n\nconst ChopLogicGrid: FC<ChopLogicGridProps> = ({\n columns,\n data,\n id,\n onSelect,\n renderDataItem,\n caption,\n selectable = false,\n className,\n ...rest\n}) => {\n const {\n elementId,\n handleSelectAll,\n handleDeselectAll,\n isAllCheckboxDisabled,\n isAllSelected,\n handleDeselectRowById,\n handleSelectRowById,\n selectedIds,\n } = useChopLogicGridController({ id, data, onSelect });\n\n return (\n <table {...rest} className={getClassName([styles.grid, className])}>\n {caption && <caption className={styles.grid_caption}>{caption}</caption>}\n <GridColumnGroup columns={columns} selectable={selectable} />\n <GridHead\n gridId={elementId}\n columns={columns}\n selectable={selectable}\n selectAll={handleSelectAll}\n deselectAll={handleDeselectAll}\n isAllSelected={isAllSelected}\n isAllCheckboxDisabled={isAllCheckboxDisabled}\n />\n <GridBody\n columns={columns}\n data={data}\n selectable={selectable}\n selectRowById={handleSelectRowById}\n deselectRowById={handleDeselectRowById}\n selectedIds={selectedIds}\n renderDataItem={renderDataItem}\n />\n </table>\n );\n};\n\nexport default ChopLogicGrid;\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicMenuItem } from '@models';\nimport { ReactElement } from 'react';\n\nimport styles from './MenuLeaf.module.scss';\n\nexport const MenuLeaf = ({ item }: { item: ChopLogicMenuItem }): ReactElement => {\n const { icon, link, label, onFocus, onClick, onHover } = item;\n\n const leafContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n {label}\n </a>\n ) : (\n <span>{label}</span>\n );\n\n return (\n <li className={styles.menuLeaf} tabIndex={0} role='menuitem' onFocus={onFocus} onClick={onClick} onMouseOver={onHover}>\n <ChopLogicIcon name={icon} />\n {leafContent}\n </li>\n );\n};\n","import { ChopLogicIcon } from '@atoms';\nimport { ChopLogicIconName, ChopLogicOrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { ChopLogicMenuItem } from '@models';\nimport { FC, KeyboardEvent, PropsWithChildren, useRef } from 'react';\n\nimport styles from './SubMenu.module.scss';\n\ntype Props = PropsWithChildren & {\n item: ChopLogicMenuItem;\n isSubMenuOpened: boolean;\n mode: ChopLogicOrientationMode;\n toggleSubMenu: () => void;\n closeSubMenu: () => void;\n openSubMenu: () => void;\n openedOn?: 'hover' | 'click';\n};\n\nexport const SubMenu: FC<Props> = ({ item, isSubMenuOpened, toggleSubMenu, closeSubMenu, openSubMenu, openedOn, mode, children }) => {\n const { icon, link, label } = item;\n const ref = useRef(null);\n const dependentRef = useRef(null);\n\n const itemContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n <ChopLogicIcon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <ChopLogicIcon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: KeyboardEvent<HTMLLIElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === ChopLogicOrientationMode.Vertical) return;\n closeSubMenu();\n };\n\n useClickOutside({ ref, dependentRef, onClickOutsideHandler });\n\n return (\n <li\n className={styles.subMenu}\n tabIndex={0}\n role='menuitem'\n aria-haspopup='true'\n aria-expanded={isSubMenuOpened}\n onKeyDown={handleKeyDown}\n onMouseEnter={openedOn === 'hover' ? openSubMenu : undefined}\n onMouseLeave={openedOn === 'hover' ? closeSubMenu : undefined}\n ref={ref}\n >\n <span className={styles.text} ref={dependentRef} onClick={toggleSubMenu}>\n {itemContent}\n <ChopLogicIcon name={isSubMenuOpened ? ChopLogicIconName.ArrowUp : ChopLogicIconName.ArrowDown} />\n </span>\n {isSubMenuOpened && children}\n </li>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuItem } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, PropsWithChildren, useState } from 'react';\n\nimport { MenuLeaf } from '../leaf/MenuLeaf';\nimport { SubMenu } from '../sub-menu/SubMenu';\nimport styles from './MenuItem.module.scss';\n\ntype Props = PropsWithChildren & {\n item: ChopLogicMenuItem;\n mode: ChopLogicOrientationMode;\n openedOn?: 'hover' | 'click';\n};\n\nexport const MenuItem: FC<Props> = ({ item, mode, openedOn }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n const subMenuBarClass = getClassName([\n styles.subMenuBar,\n { [styles.subMenuBar__horizontal]: mode === ChopLogicOrientationMode.Horizontal },\n ]);\n\n if (isLeaf) {\n return <MenuLeaf item={item} />;\n }\n\n const toggleSubMenu = () => {\n setIsSubMenuOpened(!isSubMenuOpened);\n };\n\n const closeSubMenu = () => {\n setIsSubMenuOpened(false);\n };\n\n const openSubMenu = () => {\n setIsSubMenuOpened(true);\n };\n\n return (\n <SubMenu\n item={item}\n isSubMenuOpened={isSubMenuOpened}\n toggleSubMenu={toggleSubMenu}\n closeSubMenu={closeSubMenu}\n openSubMenu={openSubMenu}\n mode={mode}\n openedOn={openedOn}\n >\n <ul className={subMenuBarClass} role='menu' aria-label={item.label}>\n {item?.nestedItems?.map((child) => <MenuItem item={child} key={child.id} mode={mode} openedOn={openedOn} />)}\n </ul>\n </SubMenu>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { MenuItem } from './__elements__';\nimport styles from './Menu.module.scss';\n\nconst ChopLogicMenu: FC<ChopLogicMenuProps> = ({\n items = [],\n mode = ChopLogicOrientationMode.Vertical,\n openedOn = 'click',\n className,\n ...rest\n}) => {\n const menuClass = getClassName([styles.menuBar, className, { [styles.menuBar__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n return (\n <ul {...rest} role='menubar' className={menuClass}>\n {items.map((item) => (\n <MenuItem key={item.id} item={item} mode={mode} openedOn={openedOn} />\n ))}\n </ul>\n );\n};\n\nexport default ChopLogicMenu;\n","import { ChopLogicTabItem } from '@models';\nimport { FC, ReactElement } from 'react';\n\nimport styles from './TabContent.module.scss';\n\nexport const TabContent: FC<{\n tabs: ChopLogicTabItem[];\n selectedTabId: string;\n}> = ({ tabs, selectedTabId }): ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n\n return (\n <div role='tabpanel' aria-labelledby={selectedTabId} id={contentId} className={styles.tabContent}>\n {content}\n </div>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './TabButton.module.scss';\n\ntype Props = {\n title: string;\n tabId: string;\n onTabSelect: (id: string) => void;\n tabPanelId: string;\n isSelected: boolean;\n mode: ChopLogicOrientationMode;\n isDisabled?: boolean;\n};\n\nexport const TabButton: FC<Props> = ({ title, onTabSelect, tabId, isSelected, isDisabled = false, tabPanelId, mode }) => {\n const buttonClass = getClassName([\n styles.tabButton,\n {\n [styles.tabButton__disabled]: isDisabled,\n [styles.tabButton__vertical]: mode === ChopLogicOrientationMode.Vertical,\n [styles.tabButton__selected]: isSelected,\n },\n ]);\n\n return (\n <button\n role='tab'\n id={tabId}\n onClick={() => onTabSelect(tabId)}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n className={buttonClass}\n >\n {title}\n </button>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabItem } from '@models';\nimport { getClassName, moveFocusOnElementById } from '@utils';\nimport { FC, KeyboardEvent } from 'react';\n\nimport { TabButton } from '../button/TabButton';\nimport styles from './TabList.module.scss';\n\ntype ChopLogicTabListProps = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: ChopLogicOrientationMode;\n};\n\nexport const TabList: FC<ChopLogicTabListProps> = ({ tabs, onTabSelect, selectedTabId, tabPanelIds, mode, tabIds }) => {\n const listClass = getClassName([styles.tabList, { [styles.tabList__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleListKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const currentFocusedTabIndex = tabIds.findIndex((id) => id === selectedTabId);\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n e.preventDefault();\n if (e.key === 'ArrowUp' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowLeft' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const previousTabIndex = currentFocusedTabIndex - 1 >= 0 ? currentFocusedTabIndex - 1 : tabIds.length - 1;\n const previousTabId = tabIds[previousTabIndex];\n if (previousTabId) {\n moveFocusOnElementById(previousTabId);\n onTabSelect(previousTabId);\n }\n break;\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n e.preventDefault();\n if (e.key === 'ArrowDown' && mode === ChopLogicOrientationMode.Horizontal) break;\n if (e.key === 'ArrowRight' && mode === ChopLogicOrientationMode.Vertical) break;\n\n const nextTabIndex = currentFocusedTabIndex === tabIds.length - 1 ? 0 : currentFocusedTabIndex + 1;\n const nextTabId = tabIds[nextTabIndex];\n if (nextTabId) {\n moveFocusOnElementById(nextTabId);\n onTabSelect(nextTabId);\n }\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <div role='tablist' onKeyDown={handleListKeyDown} className={listClass}>\n {tabs.map(({ id, title, disabled }, index) => {\n return (\n <TabButton\n key={id}\n title={title}\n onTabSelect={onTabSelect}\n tabId={id}\n isSelected={id === selectedTabId}\n isDisabled={disabled}\n tabPanelId={tabPanelIds[index]}\n mode={mode}\n />\n );\n })}\n </div>\n );\n};\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabsProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useState } from 'react';\n\nimport { TabContent, TabList } from './__elements__';\nimport styles from './Tabs.module.scss';\n\nconst ChopLogicTabs: FC<ChopLogicTabsProps> = ({ tabs, defaultTabId, mode = ChopLogicOrientationMode.Horizontal, className, ...rest }) => {\n const tabIds = tabs.map((item) => item.id);\n const tabPanelIds = tabIds.map((id) => `tabpanel_${id}`);\n const defaultId = defaultTabId && tabIds.includes(defaultTabId) ? defaultTabId : tabIds[0];\n const [selectedTabId, setSelectedTabId] = useState(defaultId);\n const tabsClass = getClassName([styles.tabs, className, { [styles.tabs__vertical]: mode === ChopLogicOrientationMode.Vertical }]);\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n };\n\n return (\n <div {...rest} className={tabsClass}>\n <TabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n mode={mode}\n tabIds={tabIds}\n />\n <TabContent tabs={tabs} selectedTabId={selectedTabId} />\n </div>\n );\n};\n\nexport default ChopLogicTabs;\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","getClassName","input","item","trueKeys","moveFocusOnElementById","id","element","handleDropdownListKeyPress","options","onClose","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","Header","as","icon","className","rest","HeaderTag","headerClass","styles","jsxs","jsx","ChopLogicIcon","ChopLogicAlertMode","ChopLogicButtonView","ChopLogicIconName","ChopLogicLoaderView","ChopLogicOrientationMode","ChopLogicThemeMode","ChopLogicTooltipContainer","ArrowDownIcon","title","ArrowUpIcon","BackIcon","CancelIcon","CheckboxCheckedIcon","CheckboxUncheckedIcon","CheckMarkIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClearIcon","CopyIcon","CutIcon","DeleteIcon","DownloadIcon","ErrorIcon","ForwardIcon","GraduateIcon","HelpIcon","HideIcon","HomeIcon","InfoIcon","LoginIcon","PasteIcon","QuestionIcon","RemoveIcon","SaveIcon","ShowIcon","UploadIcon","WarningIcon","ChopLogicIconDictionary","testId","Component","iconClass","ChopLogicLabel","label","required","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","ChopLogicLoader","view","Arrow","Brackets","Circle","Dots","Filler","Pulse","Linear","Rotation","Square","ChopLogicPortal","container","useState","useEffect","ReactDOM","useAutoClose","isOpened","autoClose","autoCloseDelay","timer","ChopLogicFormContext","createContext","ChopLogicThemeContext","ChopLogicThemeProvider","injectedMode","mode","setMode","useChopLogicTheme","useContext","useClickOutside","ref","onClickOutsideHandler","dependentRef","handleClickOutside","event","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useElementIds","randomId","useId","elementId","errorId","dropdownId","useIsMounted","delay","isMounted","setIsMounted","useIsOverflow","dimension","isOverflow","setIsOverflow","checkIsOverflow","current","scrollWidth","clientWidth","scrollHeight","clientHeight","useKeyPress","keyCode","onKeyPress","handleKeyPress","e","useModalFocusTrap","modalRef","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","useResetFormInput","onReset","resetSignal","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","position","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","useChopLogicTooltipController","setIsOpened","useRef","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","ChopLogicTooltip","tooltipContent","style","containerTag","visibleOn","ContainerComponent","tooltipClass","withTooltip","tooltip","ErrorMessage","message","visible","errorClass","IconButton","InnerButton","onClick","disabled","Input","MultiSelectCombobox","opened","comboboxId","placeholder","values","selectedLabels","selectedIds","selectedValues","MultiSelectOption","onSelect","selected","optionClass","handleKeyDown","MultiSelectDropdown","dropdownClass","PrimaryButton","SecondaryButton","SelectCombobox","SelectOption","onClear","handleOptionSelect","SelectDropdown","Button","text","extended","extendedClass","ChopLogicButton","getCheckboxInitialValue","defaultChecked","initialValues","useChopLogicCheckboxController","onChange","onChangeFormInput","initialValue","isChecked","setIsChecked","handleChange","checked","handleReset","useCallback","ChopLogicCheckbox","noLabel","checkboxClass","getMultiSelectInitialValues","defaultValue","option","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useChopLogicMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","ChopLogicMultiSelect","multiSelectClass","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useChopLogicNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","updateValue","increment","decrement","ChopLogicNumericInput","errorMessage","onBlur","onFocus","tabIndex","readOnly","hasSpinButtons","inputClass","getSelectInitialValue","valueId","_a","useChopLogicSelectController","setSelected","newValue","handleClear","ChopLogicSelect","selectClass","validateTextInputValue","getTextInputInitialValue","useChopLogicTextInputController","passwordShown","setPasswordShown","togglePassword","ChopLogicTextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","getAlertTitle","getAlertIcon","ChopLogicAlert","isClosing","alertTitle","alertTitleIcon","ChopLogicHeader","ChopLogicDialog","getInitialValidationState","data","updateValidationState","state","params","isFormDataValid","useChopLogicFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","resultData","ChopLogicForm","columns","hasReset","handleInputChange","handleSubmit","columnsNumber","formClass","getGridRowValues","renderDataItem","column","GridDataCell","GridCheckbox","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","index","GridBody","GridColumnGroup","GridHeaderCell","component","SelectAllGridRowsCell","gridId","isAllSelected","selectAll","deselectAll","handleSelectAll","GridHead","isAllCheckboxDisabled","useChopLogicGridController","setSelectedIds","allIds","ids","newIds","ChopLogicGrid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","MenuLeaf","link","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","openSubMenu","openedOn","itemContent","MenuItem","isLeaf","setIsSubMenuOpened","subMenuBarClass","_b","child","ChopLogicMenu","items","menuClass","TabContent","tabs","selectedTabId","content","contentId","TabButton","onTabSelect","tabId","isSelected","isDisabled","tabPanelId","buttonClass","TabList","tabPanelIds","tabIds","listClass","handleListKeyDown","currentFocusedTabIndex","previousTabIndex","previousTabId","nextTabIndex","nextTabId","ChopLogicTabs","defaultTabId","defaultId","setSelectedTabId","tabsClass","handleTabSelect"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|