chop-logic-components 2.6.0 → 3.1.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/index.cjs.js +18 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +1 -0
- package/dist/index.d.ts +503 -7
- package/dist/index.es.js +2122 -1580
- package/dist/index.es.js.map +1 -1
- package/package.json +3 -1
- package/dist/assets/icons/__tests__/icons.test.d.ts +0 -1
- package/dist/assets/icons/index.d.ts +0 -8
- package/dist/assets/icons/svg/ArrowDownIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ArrowUpIcon.d.ts +0 -3
- package/dist/assets/icons/svg/BackIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CancelIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CheckMarkIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CheckboxCheckedIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CheckboxUncheckedIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ChevronDownIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ChevronLeftIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ChevronRightIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ChevronUpIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ClearIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CopyIcon.d.ts +0 -3
- package/dist/assets/icons/svg/CutIcon.d.ts +0 -3
- package/dist/assets/icons/svg/DeleteIcon.d.ts +0 -3
- package/dist/assets/icons/svg/DownloadIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ErrorIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ForwardIcon.d.ts +0 -3
- package/dist/assets/icons/svg/GraduateIcon.d.ts +0 -3
- package/dist/assets/icons/svg/HelpIcon.d.ts +0 -3
- package/dist/assets/icons/svg/HideIcon.d.ts +0 -3
- package/dist/assets/icons/svg/HomeIcon.d.ts +0 -3
- package/dist/assets/icons/svg/InfoIcon.d.ts +0 -3
- package/dist/assets/icons/svg/LoginIcon.d.ts +0 -3
- package/dist/assets/icons/svg/PasteIcon.d.ts +0 -3
- package/dist/assets/icons/svg/QuestionIcon.d.ts +0 -3
- package/dist/assets/icons/svg/RemoveIcon.d.ts +0 -3
- package/dist/assets/icons/svg/SaveIcon.d.ts +0 -3
- package/dist/assets/icons/svg/ShowIcon.d.ts +0 -3
- package/dist/assets/icons/svg/UploadIcon.d.ts +0 -3
- package/dist/assets/icons/svg/WarningIcon.d.ts +0 -3
- package/dist/atoms/editable-text/EditView.d.ts +0 -14
- package/dist/atoms/editable-text/EditableText.d.ts +0 -4
- package/dist/atoms/editable-text/ReadView.d.ts +0 -10
- package/dist/atoms/editable-text/__docs__/EditableText.stories.d.ts +0 -6
- package/dist/atoms/editable-text/__tests__/EditView.test.d.ts +0 -1
- package/dist/atoms/editable-text/__tests__/EditableText.test.d.ts +0 -1
- package/dist/atoms/editable-text/__tests__/ReadView.test.d.ts +0 -1
- package/dist/atoms/editable-text/__tests__/useEditModeState.test.d.ts +0 -1
- package/dist/atoms/editable-text/__tests__/useInputFocus.test.d.ts +0 -1
- package/dist/atoms/editable-text/__tests__/useValueState.test.d.ts +0 -1
- package/dist/atoms/editable-text/useEditModeState.d.ts +0 -6
- package/dist/atoms/editable-text/useInputFocus.d.ts +0 -2
- package/dist/atoms/editable-text/useValueState.d.ts +0 -6
- package/dist/atoms/header/Header.d.ts +0 -4
- package/dist/atoms/header/Header.test.d.ts +0 -1
- package/dist/atoms/header/__docs__/Header.stories.d.ts +0 -6
- package/dist/atoms/icon/Icon.d.ts +0 -4
- package/dist/atoms/icon/Icon.test.d.ts +0 -1
- package/dist/atoms/icon/__docs__/Icon.stories.d.ts +0 -6
- package/dist/atoms/index.d.ts +0 -7
- package/dist/atoms/label/Label.d.ts +0 -11
- package/dist/atoms/label/Label.test.d.ts +0 -1
- package/dist/atoms/label/__docs__/Label.stories.d.ts +0 -9
- package/dist/atoms/loader/Loader.d.ts +0 -4
- package/dist/atoms/loader/Loader.test.d.ts +0 -1
- package/dist/atoms/loader/__docs__/Loader.example.d.ts +0 -3
- package/dist/atoms/loader/__docs__/Loader.stories.d.ts +0 -6
- package/dist/atoms/portal/Portal.d.ts +0 -5
- package/dist/atoms/portal/Portal.test.d.ts +0 -1
- package/dist/atoms/portal/__docs__/Portal.example.d.ts +0 -2
- package/dist/atoms/portal/__docs__/Portal.stories.d.ts +0 -6
- package/dist/atoms/tooltip/Tooltip.controller.d.ts +0 -19
- package/dist/atoms/tooltip/Tooltip.d.ts +0 -4
- package/dist/atoms/tooltip/Tooltip.test.d.ts +0 -1
- package/dist/atoms/tooltip/__docs__/Tooltip.example.d.ts +0 -3
- package/dist/atoms/tooltip/__docs__/Tooltip.stories.d.ts +0 -9
- package/dist/chop-logic-components.css +0 -1
- package/dist/contexts/form/context.d.ts +0 -7
- package/dist/contexts/index.d.ts +0 -3
- package/dist/contexts/theme/context.d.ts +0 -6
- package/dist/contexts/theme/provider.d.ts +0 -6
- package/dist/contexts/theme/provider.test.d.ts +0 -1
- package/dist/enums/chop-logic-alert-mode.d.ts +0 -7
- package/dist/enums/chop-logic-button-view.d.ts +0 -6
- package/dist/enums/chop-logic-icon-name.d.ts +0 -33
- package/dist/enums/chop-logic-loader-view.d.ts +0 -11
- package/dist/enums/chop-logic-orientation-mode.d.ts +0 -4
- package/dist/enums/chop-logic-theme-mode.d.ts +0 -4
- package/dist/enums/chop-logic-tooltip-container.d.ts +0 -7
- package/dist/enums/index.d.ts +0 -7
- package/dist/hocs/index.d.ts +0 -1
- package/dist/hocs/with-tooltip/with-tooltip.d.ts +0 -7
- package/dist/hocs/with-tooltip/with-tooltip.test.d.ts +0 -1
- package/dist/hooks/index.d.ts +0 -12
- package/dist/hooks/use-auto-close/__docs__/use-auto-close.example.d.ts +0 -2
- package/dist/hooks/use-auto-close/__docs__/use-auto-close.stories.d.ts +0 -6
- package/dist/hooks/use-auto-close/use-auto-close.d.ts +0 -6
- package/dist/hooks/use-auto-close/use-auto-close.test.d.ts +0 -1
- package/dist/hooks/use-chop-logic-theme/use-chop-logic-theme.d.ts +0 -1
- package/dist/hooks/use-click-outside/__docs__/use-click-outside.example.d.ts +0 -1
- package/dist/hooks/use-click-outside/__docs__/use-click-outside.stories.d.ts +0 -6
- package/dist/hooks/use-click-outside/use-click-outside.d.ts +0 -8
- package/dist/hooks/use-click-outside/use-click-outside.test.d.ts +0 -1
- package/dist/hooks/use-container-dimensions/__docs__/use-container-dimensions.example.d.ts +0 -1
- package/dist/hooks/use-container-dimensions/__docs__/use-container-dimensions.stories.d.ts +0 -6
- package/dist/hooks/use-container-dimensions/use-container-dimensions.d.ts +0 -8
- package/dist/hooks/use-element-ids/use-element-ids.d.ts +0 -5
- package/dist/hooks/use-element-ids/use-element-ids.test.d.ts +0 -1
- package/dist/hooks/use-is-mounted/__docs__/use-is-mounted.example.d.ts +0 -1
- package/dist/hooks/use-is-mounted/__docs__/use-is-mounted.stories.d.ts +0 -6
- package/dist/hooks/use-is-mounted/use-is-mounted.d.ts +0 -1
- package/dist/hooks/use-is-mounted/use-is-mounted.test.d.ts +0 -1
- package/dist/hooks/use-is-overflow/__docs__/use-is-overflow.example.d.ts +0 -4
- package/dist/hooks/use-is-overflow/__docs__/use-is-overflow.stories.d.ts +0 -6
- package/dist/hooks/use-is-overflow/use-is-overflow.d.ts +0 -6
- package/dist/hooks/use-is-overflow/use-is-overflow.test.d.ts +0 -1
- package/dist/hooks/use-key-press/__docs__/use-key-press.example.d.ts +0 -1
- package/dist/hooks/use-key-press/__docs__/use-key-press.stories.d.ts +0 -6
- package/dist/hooks/use-key-press/use-key-press.d.ts +0 -8
- package/dist/hooks/use-key-press/use-key-press.test.d.ts +0 -1
- package/dist/hooks/use-modal-focus-trap/__docs__/use-modal-focus-trap.example.d.ts +0 -1
- package/dist/hooks/use-modal-focus-trap/__docs__/use-modal-focus-trap.stories.d.ts +0 -6
- package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.d.ts +0 -7
- package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.test.d.ts +0 -1
- package/dist/hooks/use-reset-form-input/use-reset-form-input.d.ts +0 -1
- package/dist/hooks/use-tooltip-position/__docs__/use-tooltip-position.example.d.ts +0 -1
- package/dist/hooks/use-tooltip-position/__docs__/use-tooltip-position.stories.d.ts +0 -6
- package/dist/hooks/use-tooltip-position/use-tooltip-position.d.ts +0 -12
- package/dist/hooks/use-tooltip-position/use-tooltip-position.test.d.ts +0 -1
- package/dist/hooks/use-window-dimensions/__docs__/use-window-dimensions.example.d.ts +0 -1
- package/dist/hooks/use-window-dimensions/__docs__/use-window-dimensions.stories.d.ts +0 -6
- package/dist/hooks/use-window-dimensions/use-window-dimensions.d.ts +0 -2
- package/dist/hooks/use-window-dimensions/use-window-dimensions.test.d.ts +0 -1
- package/dist/models/_common.d.ts +0 -33
- package/dist/models/alert.d.ts +0 -11
- package/dist/models/button.d.ts +0 -14
- package/dist/models/checkbox.d.ts +0 -8
- package/dist/models/dialog.d.ts +0 -9
- package/dist/models/editable-text.d.ts +0 -12
- package/dist/models/form.d.ts +0 -19
- package/dist/models/grid.d.ts +0 -23
- package/dist/models/header.d.ts +0 -9
- package/dist/models/icon.d.ts +0 -11
- package/dist/models/index.d.ts +0 -18
- package/dist/models/loader.d.ts +0 -6
- package/dist/models/menu.d.ts +0 -17
- package/dist/models/multi-select.d.ts +0 -7
- package/dist/models/numeric.d.ts +0 -16
- package/dist/models/select.d.ts +0 -7
- package/dist/models/tabs.d.ts +0 -14
- package/dist/models/text.d.ts +0 -17
- package/dist/models/tooltip.d.ts +0 -10
- package/dist/molecules/index.d.ts +0 -6
- package/dist/molecules/inputs/__elements__/error-message/ErrorMessage.d.ts +0 -10
- package/dist/molecules/inputs/__elements__/error-message/ErrorMessage.test.d.ts +0 -1
- package/dist/molecules/inputs/__elements__/icon-button/IconButton.d.ts +0 -4
- package/dist/molecules/inputs/__elements__/icon-button/IconButton.test.d.ts +0 -1
- package/dist/molecules/inputs/__elements__/index.d.ts +0 -10
- package/dist/molecules/inputs/__elements__/inner-button/InnerButton.d.ts +0 -9
- package/dist/molecules/inputs/__elements__/inner-button/InnerButton.test.d.ts +0 -1
- package/dist/molecules/inputs/__elements__/input/Input.d.ts +0 -4
- package/dist/molecules/inputs/__elements__/multi-select/Combobox.d.ts +0 -15
- package/dist/molecules/inputs/__elements__/multi-select/Dropdown.d.ts +0 -11
- package/dist/molecules/inputs/__elements__/multi-select/Option.d.ts +0 -8
- package/dist/molecules/inputs/__elements__/primary-button/PrimaryButton.d.ts +0 -4
- package/dist/molecules/inputs/__elements__/primary-button/PrimaryButton.test.d.ts +0 -1
- package/dist/molecules/inputs/__elements__/secondary-button/SecondaryButton.d.ts +0 -4
- package/dist/molecules/inputs/__elements__/secondary-button/SecondaryButton.test.d.ts +0 -1
- package/dist/molecules/inputs/__elements__/select/combobox/Combobox.d.ts +0 -15
- package/dist/molecules/inputs/__elements__/select/dropdown/Dropdown.d.ts +0 -14
- package/dist/molecules/inputs/__elements__/select/option/Option.d.ts +0 -10
- package/dist/molecules/inputs/button/Button.d.ts +0 -7
- package/dist/molecules/inputs/button/Button.test.d.ts +0 -1
- package/dist/molecules/inputs/button/__docs__/Button.example.d.ts +0 -3
- package/dist/molecules/inputs/button/__docs__/Button.stories.d.ts +0 -9
- package/dist/molecules/inputs/checkbox/Checkbox.controller.d.ts +0 -9
- package/dist/molecules/inputs/checkbox/Checkbox.d.ts +0 -4
- package/dist/molecules/inputs/checkbox/Checkbox.helpers.d.ts +0 -6
- package/dist/molecules/inputs/checkbox/Checkbox.test.d.ts +0 -1
- package/dist/molecules/inputs/checkbox/__docs__/Checkbox.example.d.ts +0 -3
- package/dist/molecules/inputs/checkbox/__docs__/Checkbox.stories.d.ts +0 -8
- package/dist/molecules/inputs/multi-select/MultiSelect.d.ts +0 -4
- package/dist/molecules/inputs/multi-select/MultiSelect.test.d.ts +0 -1
- package/dist/molecules/inputs/multi-select/Multiselect.controller.d.ts +0 -13
- package/dist/molecules/inputs/multi-select/Multiselect.helpers.d.ts +0 -9
- package/dist/molecules/inputs/multi-select/Multiselect.helpers.test.d.ts +0 -1
- package/dist/molecules/inputs/multi-select/__docs__/MultiSelect.example.d.ts +0 -3
- package/dist/molecules/inputs/multi-select/__docs__/MultiSelect.stories.d.ts +0 -6
- package/dist/molecules/inputs/numeric/NumericInput.controller.d.ts +0 -21
- package/dist/molecules/inputs/numeric/NumericInput.d.ts +0 -4
- package/dist/molecules/inputs/numeric/NumericInput.helpers.d.ts +0 -13
- package/dist/molecules/inputs/numeric/NumericInput.helpers.test.d.ts +0 -1
- package/dist/molecules/inputs/numeric/NumericInput.test.d.ts +0 -1
- package/dist/molecules/inputs/numeric/__docs__/NumericInput.example.d.ts +0 -3
- package/dist/molecules/inputs/numeric/__docs__/NumericInput.stories.d.ts +0 -6
- package/dist/molecules/inputs/select/Select.controller.d.ts +0 -14
- package/dist/molecules/inputs/select/Select.d.ts +0 -4
- package/dist/molecules/inputs/select/Select.helpers.d.ts +0 -7
- package/dist/molecules/inputs/select/Select.helpers.test.d.ts +0 -1
- package/dist/molecules/inputs/select/Select.test.d.ts +0 -1
- package/dist/molecules/inputs/select/__docs__/Select.example.d.ts +0 -3
- package/dist/molecules/inputs/select/__docs__/Select.stories.d.ts +0 -6
- package/dist/molecules/inputs/text/TextInput.controller.d.ts +0 -17
- package/dist/molecules/inputs/text/TextInput.d.ts +0 -4
- package/dist/molecules/inputs/text/TextInput.helpers.d.ts +0 -11
- package/dist/molecules/inputs/text/TextInput.helpers.test.d.ts +0 -1
- package/dist/molecules/inputs/text/TextInput.test.d.ts +0 -1
- package/dist/molecules/inputs/text/__docs__/TextInput.example.d.ts +0 -3
- package/dist/molecules/inputs/text/__docs__/TextInput.stories.d.ts +0 -8
- package/dist/organisms/alert/Alert.d.ts +0 -4
- package/dist/organisms/alert/Alert.helpers.d.ts +0 -3
- package/dist/organisms/alert/Alert.test.d.ts +0 -1
- package/dist/organisms/alert/__docs__/Alert.example.d.ts +0 -3
- package/dist/organisms/alert/__docs__/Alert.stories.d.ts +0 -6
- package/dist/organisms/dialog/Dialog.d.ts +0 -4
- package/dist/organisms/dialog/Dialog.test.d.ts +0 -1
- package/dist/organisms/dialog/__docs__/Dialog.example.d.ts +0 -3
- package/dist/organisms/dialog/__docs__/Dialog.stories.d.ts +0 -6
- package/dist/organisms/form/Form.controller.d.ts +0 -14
- package/dist/organisms/form/Form.d.ts +0 -4
- package/dist/organisms/form/Form.helpers.d.ts +0 -4
- package/dist/organisms/form/Form.helpers.test.d.ts +0 -1
- package/dist/organisms/form/Form.test.d.ts +0 -1
- package/dist/organisms/form/__docs__/Form.example.d.ts +0 -3
- package/dist/organisms/form/__docs__/Form.stories.d.ts +0 -6
- package/dist/organisms/grid/Grid.controller.d.ts +0 -15
- package/dist/organisms/grid/Grid.d.ts +0 -4
- package/dist/organisms/grid/Grid.helpers.d.ts +0 -7
- package/dist/organisms/grid/Grid.helpers.test.d.ts +0 -1
- package/dist/organisms/grid/Grid.test.d.ts +0 -1
- package/dist/organisms/grid/__docs__/Grid.example.d.ts +0 -3
- package/dist/organisms/grid/__docs__/Grid.stories.d.ts +0 -7
- package/dist/organisms/grid/__elements__/body/GridBody.d.ts +0 -13
- package/dist/organisms/grid/__elements__/body/GridBody.test.d.ts +0 -1
- package/dist/organisms/grid/__elements__/checkbox/GridCheckbox.d.ts +0 -6
- package/dist/organisms/grid/__elements__/column-group/GridColumnGroup.d.ts +0 -6
- package/dist/organisms/grid/__elements__/column-group/GridColumnGroup.test.d.ts +0 -1
- package/dist/organisms/grid/__elements__/data-cell/GridDataCell.d.ts +0 -4
- package/dist/organisms/grid/__elements__/grid-row/GridRow.d.ts +0 -12
- package/dist/organisms/grid/__elements__/grid-row/GridRow.test.d.ts +0 -1
- package/dist/organisms/grid/__elements__/head/GridHead.d.ts +0 -13
- package/dist/organisms/grid/__elements__/head/GridHead.test.d.ts +0 -1
- package/dist/organisms/grid/__elements__/header-cell/HeaderCell.d.ts +0 -5
- package/dist/organisms/grid/__elements__/index.d.ts +0 -3
- package/dist/organisms/grid/__elements__/select-all-grid-rows-cell/SelectAllGridRowsCell.d.ts +0 -10
- package/dist/organisms/grid/__elements__/select-all-grid-rows-cell/SelectAllGridRowsCell.test.d.ts +0 -1
- package/dist/organisms/grid/__elements__/select-grid-row-cell/SelectGridRowCell.d.ts +0 -10
- package/dist/organisms/grid/__elements__/select-grid-row-cell/SelectGridRowCell.test.d.ts +0 -1
- package/dist/organisms/index.d.ts +0 -6
- package/dist/organisms/menu/Menu.d.ts +0 -4
- package/dist/organisms/menu/Menu.test.d.ts +0 -1
- package/dist/organisms/menu/__docs__/Menu.example.d.ts +0 -4
- package/dist/organisms/menu/__docs__/Menu.stories.d.ts +0 -8
- package/dist/organisms/menu/__elements__/index.d.ts +0 -1
- package/dist/organisms/menu/__elements__/item/MenuItem.d.ts +0 -10
- package/dist/organisms/menu/__elements__/item/MenuItem.test.d.ts +0 -1
- package/dist/organisms/menu/__elements__/leaf/MenuLeaf.d.ts +0 -5
- package/dist/organisms/menu/__elements__/leaf/MenuLeaf.test.d.ts +0 -1
- package/dist/organisms/menu/__elements__/sub-menu/SubMenu.d.ts +0 -14
- package/dist/organisms/menu/__elements__/sub-menu/SubMenu.test.d.ts +0 -1
- package/dist/organisms/tabs/Tabs.d.ts +0 -4
- package/dist/organisms/tabs/Tabs.test.d.ts +0 -1
- package/dist/organisms/tabs/__docs__/Tabs.example.d.ts +0 -3
- package/dist/organisms/tabs/__docs__/Tabs.stories.d.ts +0 -7
- package/dist/organisms/tabs/__elements__/button/TabButton.d.ts +0 -13
- package/dist/organisms/tabs/__elements__/button/TabButton.test.d.ts +0 -1
- package/dist/organisms/tabs/__elements__/content/TabContent.d.ts +0 -6
- package/dist/organisms/tabs/__elements__/content/TabContent.test.d.ts +0 -1
- package/dist/organisms/tabs/__elements__/index.d.ts +0 -2
- package/dist/organisms/tabs/__elements__/list/TabList.d.ts +0 -13
- package/dist/organisms/tabs/__elements__/list/TabList.test.d.ts +0 -1
- package/dist/utils/__tests__/get-class-name.test.d.ts +0 -1
- package/dist/utils/__tests__/handle-dropdown-list-key-press.test.d.ts +0 -1
- package/dist/utils/__tests__/move-focus-on-element-by-id.test.d.ts +0 -1
- package/dist/utils/get-class-name.d.ts +0 -5
- package/dist/utils/handle-dropdown-list-key-press.d.ts +0 -7
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/move-focus-on-element-by-id.d.ts +0 -1
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.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]}
|
|
1
|
+
{"version":3,"file":"index.cjs.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/enums/alert-mode.ts","../src/enums/button-view.ts","../src/enums/icon-name.ts","../src/enums/loader-view.ts","../src/enums/orientation-mode.ts","../src/enums/theme-mode.ts","../src/enums/tooltip-container.ts","../src/hocs/with-tooltip/with-tooltip.tsx","../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/button/icon-button/IconButton.tsx","../src/atoms/button/inner-button/InnerButton.tsx","../src/atoms/button/primary-button/PrimaryButton.tsx","../src/atoms/button/secondary-button/SecondaryButton.tsx","../src/atoms/button/Button.tsx","../src/atoms/editable-text/EditView.tsx","../src/atoms/editable-text/ReadView.tsx","../src/atoms/editable-text/useEditModeState.ts","../src/atoms/editable-text/useInputFocus.ts","../src/atoms/editable-text/useValueState.ts","../src/atoms/editable-text/EditableText.tsx","../src/atoms/error-message/ErrorMessage.tsx","../src/atoms/header/Header.tsx","../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/EditIcon.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/PlusCircle.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/input/Input.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/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/contexts/form/FormContext.tsx","../src/contexts/theme/ThemeContext.ts","../src/contexts/theme/ThemeProvider.tsx","../src/hooks/use-reset-form-input/use-reset-form-input.ts","../src/hooks/use-theme/use-chop-logic-theme.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/molecules/alert/Alert.helpers.tsx","../src/molecules/alert/Alert.tsx","../src/molecules/checkbox/Checkbox.helpers.ts","../src/molecules/checkbox/Checkbox.controller.ts","../src/molecules/checkbox/Checkbox.tsx","../src/molecules/multi-select/MultiSelect.Combobox.tsx","../src/molecules/multi-select/MultiSelect.helpers.ts","../src/molecules/multi-select/MultiSelect.controller.ts","../src/molecules/multi-select/Option.tsx","../src/molecules/multi-select/MultiSelect.Dropdown.tsx","../src/molecules/multi-select/MultiSelect.tsx","../src/molecules/numeric-input/NumericInput.helpers.ts","../src/molecules/numeric-input/NumericInput.controller.ts","../src/molecules/numeric-input/NumericInput.tsx","../src/molecules/select/combobox/Combobox.tsx","../src/molecules/select/option/Option.tsx","../src/molecules/select/dropdown/Dropdown.tsx","../src/molecules/select/Select.helpers.ts","../src/molecules/select/Select.controller.ts","../src/molecules/select/Select.tsx","../src/molecules/text-input/TextInput.helpers.ts","../src/molecules/text-input/TextInput.controller.ts","../src/molecules/text-input/TextInput.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/data-cell/GridDataCell.tsx","../src/organisms/grid/checkbox/GridCheckbox.tsx","../src/organisms/grid/select-grid-row-cell/SelectGridRowCell.tsx","../src/organisms/grid/grid-row/GridRow.tsx","../src/organisms/grid/body/GridBody.tsx","../src/organisms/grid/column-group/GridColumnGroup.tsx","../src/organisms/grid/Grid.controller.ts","../src/organisms/grid/header-cell/HeaderCell.tsx","../src/organisms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.tsx","../src/organisms/grid/head/GridHead.tsx","../src/organisms/grid/Grid.tsx","../src/organisms/menu/leaf/MenuLeaf.tsx","../src/organisms/menu/sub-menu/SubMenu.tsx","../src/organisms/menu/list-item/MenuListItem.tsx","../src/organisms/menu/Menu.tsx","../src/organisms/tabs/content/TabContent.tsx","../src/organisms/tabs/edit-input/TabEditInput.tsx","../src/organisms/tabs/button/TabButton.tsx","../src/organisms/tabs/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","export enum AlertMode {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Help = 'help',\n}\n","export enum ButtonView {\n Primary = 'primary',\n Secondary = 'secondary',\n Icon = 'icon',\n Inner = 'inner',\n}\n","export enum IconName {\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 Edit = 'edit',\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 PlusCircle = 'plus-circle',\n Question = 'question',\n Save = 'save',\n Show = 'show',\n Upload = 'upload',\n Warning = 'warning',\n Remove = 'remove',\n}\n","export enum LoaderView {\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 OrientationMode {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","export enum ThemeMode {\n Light = 'cl-components-light-theme',\n Dark = 'cl-components-dark-theme',\n}\n","export enum TooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import { Tooltip } 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 <Tooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </Tooltip>\n ) : (\n <Component {...(props as P)} />\n );\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 { SelectValue } from '@models';\nimport { KeyboardEvent } from 'react';\n\nimport { moveFocusOnElementById } from './move-focus-on-element-by-id';\n\nexport function handleDropdownListKeyPress({\n e,\n options,\n onClose,\n}: {\n e: KeyboardEvent<HTMLUListElement>;\n options: SelectValue[];\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 { 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 { Icon } from '@atoms';\nimport { IconName } 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?: IconName;\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 <Icon name={icon} />\n </button>\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 { Icon } from '@atoms';\nimport { ButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { ButtonProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Button.module.scss';\nimport { IconButton } from './icon-button/IconButton';\nimport { InnerButton } from './inner-button/InnerButton';\nimport { PrimaryButton } from './primary-button/PrimaryButton';\nimport { SecondaryButton } from './secondary-button/SecondaryButton';\n\nconst ButtonSelector: FC<ButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ButtonView.Primary,\n className,\n ...rest\n}) => {\n const extendedClass = getClassName([className, { [styles.extended]: extended }]);\n\n switch (view) {\n case ButtonView.Primary:\n return (\n <PrimaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <Icon name={icon} />\n {text}\n </PrimaryButton>\n );\n case ButtonView.Secondary:\n return (\n <SecondaryButton aria-label={label} type={type} onClick={onClick} disabled={disabled} className={extendedClass} {...rest}>\n <Icon name={icon} />\n {text}\n </SecondaryButton>\n );\n case ButtonView.Icon:\n return (\n <IconButton aria-label={label} type={type} onClick={onClick} disabled={disabled} {...rest} className={className}>\n <Icon name={icon} />\n </IconButton>\n );\n case ButtonView.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 Button = withTooltip(ButtonSelector);\n\nexport default Button;\n","import { ChopLogicComponentProps } from '@models';\nimport { FC, RefObject, useCallback } from 'react';\n\ninterface EditViewProps extends ChopLogicComponentProps {\n multiline: boolean;\n value: string;\n placeholder: string;\n onChange: (value: string) => void;\n onBlur: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n className: string;\n inputRef: RefObject<any>;\n}\n\nexport const EditView: FC<EditViewProps> = ({\n multiline,\n value,\n placeholder,\n onChange,\n onBlur,\n onKeyDown,\n className,\n inputRef,\n ...rest\n}) => {\n const InputComponent = multiline ? 'textarea' : 'input';\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>) => {\n onChange(event.target.value);\n },\n [onChange],\n );\n\n return (\n <InputComponent\n ref={inputRef}\n value={value}\n onChange={handleChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n className={className}\n rows={multiline ? 3 : undefined}\n {...rest}\n />\n );\n};\n","import { ChopLogicComponentProps } from '@models';\nimport { FC } from 'react';\n\ninterface ReadViewProps extends ChopLogicComponentProps {\n value: string;\n placeholder: string;\n onClick: (event: React.MouseEvent) => void;\n className: string;\n}\n\nexport const ReadView: FC<ReadViewProps> = ({ value, placeholder, onClick, className, ...rest }) => {\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick(e as any);\n }\n };\n\n return (\n <span onClick={onClick} className={className} role='button' tabIndex={0} onKeyDown={handleKeyDown} aria-label='Editable text' {...rest}>\n {value || placeholder}\n </span>\n );\n};\n","import { useState } from 'react';\n\nexport const useEditModeState = (controlledEditMode?: boolean, readOnly?: boolean) => {\n const [isEditMode, setIsEditMode] = useState(false);\n const [isControlled] = useState(controlledEditMode !== undefined);\n\n const editMode = isControlled ? !!controlledEditMode : isEditMode;\n\n const enterEditMode = () => {\n if (!isControlled && !readOnly) {\n setIsEditMode(true);\n }\n };\n\n const exitEditMode = () => {\n if (!isControlled) {\n setIsEditMode(false);\n }\n };\n\n return {\n editMode,\n enterEditMode,\n exitEditMode,\n isControlled,\n };\n};\n","import { RefObject, useEffect } from 'react';\n\nexport const useInputFocus = (\n ref: RefObject<HTMLTextAreaElement | HTMLInputElement | null>,\n editMode: boolean,\n autoSelectTextOnEditMode?: boolean,\n readOnly?: boolean,\n) => {\n useEffect(() => {\n if (editMode && ref.current && !readOnly) {\n ref.current.focus();\n if (autoSelectTextOnEditMode) {\n ref.current.select();\n }\n }\n }, [editMode, autoSelectTextOnEditMode, readOnly, ref]);\n};\n","import { useEffect, useState } from 'react';\n\nexport const useValueState = (value: string, onChange?: (value: string) => void) => {\n const [internalValue, setInternalValue] = useState(value);\n\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n const updateValue = (newValue: string) => {\n setInternalValue(newValue);\n };\n\n const commitValue = () => {\n if (internalValue !== value) {\n onChange?.(internalValue);\n }\n };\n\n const resetValue = () => {\n setInternalValue(value);\n };\n\n return {\n internalValue,\n updateValue,\n commitValue,\n resetValue,\n };\n};\n","import { EditableTextProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useCallback, useRef } from 'react';\n\nimport styles from './EditableText.module.scss';\nimport { EditView } from './EditView';\nimport { ReadView } from './ReadView';\nimport { useEditModeState } from './useEditModeState';\nimport { useInputFocus } from './useInputFocus';\nimport { useValueState } from './useValueState';\n\nconst EditableText: FC<EditableTextProps> = ({\n value,\n isEditMode: controlledEditMode,\n onChange,\n onClick,\n className,\n autoSelectTextOnEditMode = false,\n multiline = false,\n placeholder = 'Click to edit...',\n readOnly = false,\n ...rest\n}) => {\n const inputRef = useRef<HTMLTextAreaElement | HTMLInputElement>(null);\n const { editMode, enterEditMode, exitEditMode } = useEditModeState(controlledEditMode, readOnly);\n const { internalValue, updateValue, commitValue, resetValue } = useValueState(value, onChange);\n\n useInputFocus(inputRef, editMode, autoSelectTextOnEditMode, readOnly);\n\n const handleClick = useCallback(\n (event: React.MouseEvent) => {\n onClick?.(event);\n enterEditMode();\n },\n [onClick, enterEditMode],\n );\n\n const handleBlur = useCallback(() => {\n exitEditMode();\n commitValue();\n }, [exitEditMode, commitValue]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' && !multiline) {\n event.preventDefault();\n handleBlur();\n }\n if (event.key === 'Escape') {\n resetValue();\n exitEditMode();\n }\n },\n [multiline, handleBlur, resetValue, exitEditMode],\n );\n\n const containerClass = getClassName([\n styles.editableText,\n className,\n {\n [styles.editableText__editMode]: editMode,\n [styles.editableText__readOnly]: readOnly,\n [styles.editableText__empty]: !internalValue,\n },\n ]);\n\n if (editMode && !readOnly) {\n return (\n <EditView\n multiline={multiline}\n value={internalValue}\n placeholder={placeholder}\n onChange={updateValue}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n className={containerClass}\n inputRef={inputRef}\n {...rest}\n />\n );\n }\n\n return <ReadView value={internalValue} placeholder={placeholder} onClick={handleClick} className={containerClass} {...rest} />;\n};\n\nexport default EditableText;\n","import { getClassName } from '@utils/get-class-name';\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\nconst 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\nexport default ErrorMessage;\n","import { Icon } from '@atoms';\nimport { HeaderProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Header.module.scss';\n\nconst Header: FC<HeaderProps> = ({ 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 && <Icon 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 ArrowDownIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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 {...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' {...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' {...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 EditIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg viewBox='0 0 24 24' width='1em' height='1em' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.5'\n d='M3 21h18M12.222 5.828L15.05 3L20 7.95l-2.828 2.828m-4.95-4.95l-5.607 5.607a1 1 0 0 0-.293.707v4.536h4.536a1 1 0 0 0 .707-.293l5.607-5.607m-4.95-4.95l4.95 4.95'\n ></path>\n </svg>\n );\n}\n\nexport default EditIcon;\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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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' {...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 PlusCircleIcon({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) {\n return (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='1em' height='1em' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.5'\n d='M12 6.722v10.556M17.278 12H6.722M12 21.5a9.5 9.5 0 1 0 0-19a9.5 9.5 0 0 0 0 19'\n ></path>\n </svg>\n );\n}\n\nexport default PlusCircleIcon;\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' {...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' {...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' {...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' {...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' {...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' {...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 { IconName } 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 EditIcon from './svg/EditIcon';\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 PlusCircleIcon from './svg/PlusCircle';\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 Icons = { [key in IconName]: ({ title, ...rest }: Readonly<ChopLogicSVGElementProps>) => ReactElement };\n\nexport const IconDictionary: Icons = {\n [IconName.ArrowDown]: ArrowDownIcon,\n [IconName.ArrowUp]: ArrowUpIcon,\n [IconName.Back]: BackIcon,\n [IconName.Cancel]: CancelIcon,\n [IconName.CheckboxChecked]: CheckboxCheckedIcon,\n [IconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [IconName.CheckMark]: CheckMarkIcon,\n [IconName.ChevronDown]: ChevronDownIcon,\n [IconName.ChevronUp]: ChevronUpIcon,\n [IconName.ChevronLeft]: ChevronLeftIcon,\n [IconName.ChevronRight]: ChevronRightIcon,\n [IconName.Clear]: ClearIcon,\n [IconName.Copy]: CopyIcon,\n [IconName.Cut]: CutIcon,\n [IconName.Delete]: DeleteIcon,\n [IconName.Download]: DownloadIcon,\n [IconName.Edit]: EditIcon,\n [IconName.Error]: ErrorIcon,\n [IconName.Forward]: ForwardIcon,\n [IconName.Graduate]: GraduateIcon,\n [IconName.Help]: HelpIcon,\n [IconName.Hide]: HideIcon,\n [IconName.Home]: HomeIcon,\n [IconName.Info]: InfoIcon,\n [IconName.Login]: LoginIcon,\n [IconName.Paste]: PasteIcon,\n [IconName.PlusCircle]: PlusCircleIcon,\n [IconName.Question]: QuestionIcon,\n [IconName.Save]: SaveIcon,\n [IconName.Show]: ShowIcon,\n [IconName.Upload]: UploadIcon,\n [IconName.Warning]: WarningIcon,\n [IconName.Remove]: RemoveIcon,\n};\n","import { IconDictionary } from '@assets/icons';\nimport { IconProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './Icon.module.scss';\n\nconst Icon: FC<IconProps> = ({ name, testId, className, ...rest }) => {\n if (!name) return null;\n const Component = IconDictionary[name];\n const iconClass = getClassName([className, styles.icon]);\n\n return <Component data-testid={testId} className={iconClass} {...rest} />;\n};\n\nexport default Icon;\n","import { FC, InputHTMLAttributes, PropsWithChildren } from 'react';\n\nimport styles from './Input.module.scss';\n\ntype Props = InputHTMLAttributes<HTMLInputElement> & PropsWithChildren;\n\nconst 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\nexport default Input;\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 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\nexport default Label;\n","import { LoaderView } from '@enums';\nimport { LoaderProps } 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 Loader: FC<LoaderProps> = ({ view = LoaderView.Circle, ...rest }) => {\n const className = getClassName([\n {\n [Arrow.loader]: view === LoaderView.Arrow,\n [Brackets.loader]: view === LoaderView.Brackets,\n [Circle.loader]: view === LoaderView.Circle,\n [Dots.loader]: view === LoaderView.Dots,\n [Filler.loader]: view === LoaderView.Filler,\n [Pulse.loader]: view === LoaderView.Pulse,\n [Linear.loader]: view === LoaderView.Linear,\n [Rotation.loader]: view === LoaderView.Rotation,\n [Square.loader]: view === LoaderView.Square,\n },\n ]);\n\n return <span className={className} role='status' {...rest}></span>;\n};\n\nexport default Loader;\n","import { ReactElement, ReactPortal, useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst Portal = ({ 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 Portal;\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 { 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 { FormContextProps } from '@models';\nimport { createContext } from 'react';\n\nexport const FormContext = createContext<FormContextProps>({});\n","import { ThemeMode } from '@enums';\nimport { ThemeContextProps } from '@models';\nimport { createContext } from 'react';\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n mode: ThemeMode.Light,\n setMode: () => {},\n});\n","import '@styles/root.scss';\n\nimport { ThemeMode } from '@enums';\nimport { FC, ReactNode, useEffect, useMemo, useState } from 'react';\n\nimport { ThemeContext } from './ThemeContext';\n\nexport const ThemeProvider: FC<{ children: ReactNode; injectedMode?: ThemeMode }> = ({ children, injectedMode }) => {\n const [mode, setMode] = useState(ThemeMode.Light);\n\n useEffect(() => {\n if (mode && typeof mode === 'string') {\n document.body.classList.remove(ThemeMode.Light, ThemeMode.Dark);\n document.body.classList.add(mode);\n }\n }, [mode]);\n\n useEffect(() => {\n if (injectedMode && typeof injectedMode === 'string') {\n document.body.classList.remove(ThemeMode.Light, ThemeMode.Dark);\n document.body.classList.add(injectedMode);\n }\n }, [injectedMode]);\n\n const providerValue = useMemo(() => ({ mode, setMode }), [mode]);\n\n return <ThemeContext.Provider value={providerValue}>{children}</ThemeContext.Provider>;\n};\n","import { FormContext } from '@contexts';\nimport { useContext, useEffect } from 'react';\n\nexport const useResetFormInput = (onReset: () => void) => {\n const { resetSignal } = useContext(FormContext);\n\n useEffect(() => {\n if (resetSignal) {\n onReset();\n }\n }, [resetSignal, onReset]);\n};\n","import { ThemeContext } from '@contexts';\nimport { useContext } from 'react';\n\nexport const useTheme = () => useContext(ThemeContext);\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';\nimport { useWindowDimensions } from '../use-window-dimensions/use-window-dimensions';\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 useTooltipController = ({ 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 { Portal } from '@atoms';\nimport { TooltipContainer } from '@enums';\nimport { TooltipProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, MouseEvent } from 'react';\n\nimport { useTooltipController } from './Tooltip.controller';\nimport styles from './Tooltip.module.scss';\n\nconst Tooltip: FC<TooltipProps> = ({\n children,\n tooltipContent,\n id,\n style,\n className,\n containerTag = TooltipContainer.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 useTooltipController({ 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 <Portal>\n <div style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} {...rest} className={tooltipClass}>\n {tooltipContent}\n </div>\n </Portal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default Tooltip;\n","import { AlertMode, IconName } from '@enums';\n\nexport function getAlertTitle(mode: AlertMode, title?: string): string {\n if (title) return title;\n\n switch (mode) {\n case AlertMode.Info:\n return 'For your information';\n case AlertMode.Warning:\n return 'Please pay attention';\n case AlertMode.Error:\n return 'Something went wrong';\n case AlertMode.Success:\n return 'Everything is okay';\n case AlertMode.Help:\n return 'Useful tip';\n default:\n return 'Alert';\n }\n}\n\nexport function getAlertIcon(mode: AlertMode, icon?: IconName): IconName | undefined {\n if (icon) {\n return icon;\n }\n\n switch (mode) {\n case AlertMode.Info:\n return IconName.Info;\n case AlertMode.Warning:\n return IconName.Warning;\n case AlertMode.Error:\n return IconName.Error;\n case AlertMode.Success:\n return IconName.CheckboxChecked;\n case AlertMode.Help:\n return IconName.Help;\n default:\n return;\n }\n}\n","import { Button, Header, Portal } from '@atoms';\nimport { AlertMode, ButtonView, IconName } from '@enums';\nimport { useAutoClose, useIsMounted } from '@hooks';\nimport { AlertProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { getAlertIcon, getAlertTitle } from './Alert.helpers';\nimport styles from './Alert.module.scss';\n\nconst Alert: FC<AlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = AlertMode.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 <Portal>\n <div className={getClassName([styles.wrapper, { [styles.wrapper__closing]: isClosing }])}>\n <div {...rest} className={styles.content}>\n <Button\n icon={IconName.Cancel}\n view={ButtonView.Icon}\n label='Close alert popup'\n onClick={onClose}\n className={styles.content_button}\n />\n <header>\n <Header icon={alertTitleIcon} as='h3'>\n {alertTitle}\n </Header>\n </header>\n <p>{message}</p>\n </div>\n </div>\n </Portal>\n );\n};\n\nexport default Alert;\n","import { FormValues } from '@models';\n\nexport function getCheckboxInitialValue({\n defaultChecked,\n initialValues,\n name,\n}: {\n defaultChecked?: boolean;\n initialValues?: FormValues;\n name: string;\n}): boolean {\n if (initialValues && initialValues?.[name] !== undefined) {\n return !!initialValues?.[name];\n }\n\n return Boolean(defaultChecked);\n}\n","import { FormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getCheckboxInitialValue } from './Checkbox.helpers';\n\nexport function useCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(FormContext);\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 { Label } from '@atoms';\nimport { useElementIds } from '@hooks';\nimport { CheckboxProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useCheckboxController } from './Checkbox.controller';\nimport styles from './Checkbox.module.scss';\n\nconst Checkbox: FC<CheckboxProps> = ({\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 } = useCheckboxController({ 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 Checkbox;\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon';\nimport { MultiSelectValue } 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?: MultiSelectValue[];\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 { FormValues, MultiSelectValue, SelectValue } from '@models';\n\nexport function getMultiSelectInitialValues({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: SelectValue[];\n initialValues?: FormValues;\n defaultValue?: string | number | readonly string[];\n}): MultiSelectValue[] {\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: MultiSelectValue[]): string[] => {\n return options.filter((item) => item.selected).map((item) => item.id);\n};\n\nexport const getMultiSelectUpdatedValues = (options: MultiSelectValue[], id: string): MultiSelectValue[] => {\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 { FormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { MultiSelectValue, SelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './MultiSelect.helpers';\n\nexport function useMultiSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (values?: SelectValue[]) => void;\n options: SelectValue[];\n}) {\n const [opened, setOpened] = useState(false);\n const { onChangeFormInput, initialValues } = useContext(FormContext);\n const initialOptions = getMultiSelectInitialValues({ name, options, initialValues, defaultValue });\n const [values, setValues] = useState<MultiSelectValue[]>(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 CheckboxCheckedIcon from '@assets/icons/svg/CheckboxCheckedIcon';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { MultiSelectValue } 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: MultiSelectValue;\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 { MultiSelectValue } 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: MultiSelectValue[];\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 { Label } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { MultiSelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport styles from '../select/Select.module.scss';\nimport { MultiSelectCombobox } from './MultiSelect.Combobox';\nimport { useMultiSelectController } from './MultiSelect.controller';\nimport { MultiSelectDropdown } from './MultiSelect.Dropdown';\n\nconst MultiSelect: FC<MultiSelectProps> = ({\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 } = useMultiSelectController({\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 MultiSelect;\n","import { FormValues, NumericInputValidator } from '@models';\n\nexport function getNumericInputInitialValue({\n name,\n initialValues,\n defaultValue,\n}: {\n name: string;\n initialValues?: FormValues;\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?: NumericInputValidator;\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 { FormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { NumericInputValidator } from '@models';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './NumericInput.helpers';\n\nexport function useNumericInputController({\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?: NumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(FormContext);\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 { ErrorMessage, Input, Label } from '@atoms';\nimport Button from '@atoms/button/Button';\nimport { ButtonView, IconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { NumericInputProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useNumericInputController } from './NumericInput.controller';\nimport styles from './NumericInput.module.scss';\n\nconst NumericInput: FC<NumericInputProps> = ({\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 } = useNumericInputController({\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 <Button\n onClick={decrement}\n view={ButtonView.Inner}\n label={`Decrement value for ${label}`}\n icon={IconName.ChevronLeft}\n disabled={disabled}\n />\n <Button\n onClick={increment}\n view={ButtonView.Inner}\n label={`Increment value for ${label}`}\n icon={IconName.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 NumericInput;\n","import ArrowDownIcon from '@assets/icons/svg/ArrowDownIcon';\nimport ArrowUpIcon from '@assets/icons/svg/ArrowUpIcon';\nimport { SelectValue } 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?: SelectValue;\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';\nimport { SelectValue } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, KeyboardEvent } from 'react';\n\nimport styles from './Option.module.scss';\n\ntype Props = {\n value: SelectValue;\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 { SelectValue } 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: SelectValue[];\n opened: boolean;\n dropdownId: string;\n comboboxId: string;\n onClose: () => void;\n selected?: SelectValue;\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 { FormValues, SelectValue } from '@models';\n\nexport function getSelectInitialValue({\n name,\n options,\n initialValues,\n defaultValue,\n}: {\n name: string;\n options: SelectValue[];\n initialValues?: FormValues;\n defaultValue?: string | number | readonly string[];\n}): SelectValue | undefined {\n let valueId: string;\n\n if (initialValues && Object.prototype.hasOwnProperty.call(initialValues, name)) {\n const value = initialValues[name];\n valueId = ((value as FormValues)?.id as string) ?? (value 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 { FormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { SelectValue } from '@models';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { getSelectInitialValue } from './Select.helpers';\n\nexport function useSelectController({\n name,\n defaultValue,\n onChange,\n options,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: (value?: SelectValue) => void;\n options: SelectValue[];\n}) {\n const { onChangeFormInput, initialValues } = useContext(FormContext);\n const initialValue = getSelectInitialValue({ name, options, defaultValue, initialValues });\n const [opened, setOpened] = useState(false);\n const [selected, setSelected] = useState<SelectValue | 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 } from '@atoms';\nimport { useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { SelectProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport { SelectCombobox } from './combobox/Combobox';\nimport { SelectDropdown } from './dropdown/Dropdown';\nimport { useSelectController } from './Select.controller';\nimport styles from './Select.module.scss';\n\nconst Select: FC<SelectProps> = ({\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 } = useSelectController({\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 Select;\n","import { ChopLogicRegExpWithFlags, FormValues, TextInputValidator } from '@models';\n\nexport function validateTextInputValue({\n value,\n required,\n validator,\n}: {\n value: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | TextInputValidator;\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?: FormValues;\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 { FormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, TextInputValidator } from '@models';\nimport { ChangeEvent, ChangeEventHandler, useCallback, useContext, useState } from 'react';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './TextInput.helpers';\n\nexport function useTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | TextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(FormContext);\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 { Button, ErrorMessage, Input, Label } from '@atoms';\nimport { ButtonView, IconName } from '@enums';\nimport { useElementIds } from '@hooks';\nimport { TextInputProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useTextInputController } from './TextInput.controller';\nimport styles from './TextInput.module.scss';\n\nconst TextInput: FC<TextInputProps> = ({\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 } = useTextInputController({\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 <Button\n view={ButtonView.Inner}\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={IconName.Remove}\n disabled={disabled}\n />\n )}\n {isPasswordButtonVisible && (\n <Button\n onClick={togglePassword}\n view={ButtonView.Inner}\n label='Toggle password visibility'\n icon={passwordShown ? IconName.Hide : IconName.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 TextInput;\n","import { Button, Header, Portal } from '@atoms';\nimport { ButtonView, IconName } from '@enums';\nimport { useIsMounted, useKeyPress, useModalFocusTrap } from '@hooks';\nimport { DialogProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useRef } from 'react';\n\nimport styles from './Dialog.module.scss';\n\nconst Dialog: FC<DialogProps> = ({ 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 <Portal>\n <div className={getClassName([styles.dialog, { [styles.dialog__closing]: isClosing }])}>\n <div ref={modalRef} role='dialog' aria-modal='true' {...rest} className={styles.layout}>\n <Button\n icon={IconName.Cancel}\n view={ButtonView.Icon}\n label='Close modal window'\n onClick={onClose}\n className={styles.layout_button}\n />\n <header>\n <Header as='h3' icon={icon}>\n {title}\n </Header>\n </header>\n <div>{children}</div>\n </div>\n </div>\n </Portal>\n );\n};\n\nexport default Dialog;\n","import { FormInputParams, FormValidationState, FormValues } from '@models';\n\nexport function getInitialValidationState(data?: FormValues): FormValidationState {\n if (!data) return [];\n\n return Object.keys(data).map((key) => [key, true]);\n}\n\nexport function updateValidationState(state: FormValidationState, params: FormInputParams): FormValidationState {\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: FormValidationState): boolean {\n return state.every((item) => item[1]);\n}\n","import { FormInputParams, FormValues } from '@models';\nimport { FormEvent, FormEventHandler, useState } from 'react';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './Form.helpers';\n\nexport function useFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: FormValues;\n onReset?: FormEventHandler<HTMLFormElement>;\n onSubmit?: FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: FormValues) => 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: FormInputParams) => {\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 { Button } from '@atoms';\nimport { FormContext } from '@contexts';\nimport { ButtonView, IconName } from '@enums';\nimport { FormProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { useFormController } from './Form.controller';\nimport styles from './Form.module.scss';\n\nconst Form: FC<FormProps> = ({\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 } = useFormController({\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 <FormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <div className={`${styles.buttons} ${styles[`buttons-${columnsNumber}`]}`}>\n {hasReset && <Button type='reset' text='Reset' icon={IconName.Clear} view={ButtonView.Secondary} />}\n <Button type='submit' text='Submit' icon={IconName.Forward} extended={!hasReset} disabled={!valid} />\n </div>\n </FormContext.Provider>\n </form>\n );\n};\n\nexport default Form;\n","import { GridColumn, GridItem, RenderDataItemCallback } from '@models';\nimport { ReactElement } from 'react';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: GridItem;\n columns: GridColumn[];\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';\nimport CheckboxUncheckedIcon from '@assets/icons/svg/CheckboxUncheckedIcon';\nimport { Label } 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 <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 { 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 { GridColumn, GridItem, RenderDataItemCallback } from '@models';\nimport { getGridRowValues } from '@organisms/grid/Grid.helpers';\nimport { FC } from 'react';\n\nimport { GridRow } from '../grid-row/GridRow';\nimport styles from './GridBody.module.scss';\n\ntype Props = {\n data: GridItem[];\n columns: GridColumn[];\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 { GridColumn } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport styles from './GridColumnGroup.module.scss';\n\nexport const GridColumnGroup: FC<{ columns: GridColumn[]; 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 { useElementIds } from '@hooks';\nimport { GridItem } from '@models';\nimport { useState } from 'react';\n\nexport const useGridController = ({ data, id, onSelect }: { data: GridItem[]; id?: string; onSelect?: (ids: string[]) => void }) => {\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 { 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 { GridColumn } 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 GridHeadProps = {\n columns: GridColumn[];\n gridId: string;\n selectable: boolean;\n isAllSelected: boolean;\n isAllCheckboxDisabled?: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n};\n\nexport const GridHead: FC<GridHeadProps> = ({\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 { GridProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { GridBody } from './body/GridBody';\nimport { GridColumnGroup } from './column-group/GridColumnGroup';\nimport { useGridController } from './Grid.controller';\nimport styles from './Grid.module.scss';\nimport { GridHead } from './head/GridHead';\n\nconst Grid: FC<GridProps> = ({ columns, data, id, onSelect, renderDataItem, caption, selectable = false, className, ...rest }) => {\n const {\n elementId,\n handleSelectAll,\n handleDeselectAll,\n isAllCheckboxDisabled,\n isAllSelected,\n handleDeselectRowById,\n handleSelectRowById,\n selectedIds,\n } = useGridController({ 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 Grid;\n","import { Icon } from '@atoms';\nimport { MenuItem } from '@models';\nimport { ReactElement } from 'react';\n\nimport styles from './MenuLeaf.module.scss';\n\nexport const MenuLeaf = ({ item }: { item: MenuItem }): 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 <Icon name={icon} />\n {leafContent}\n </li>\n );\n};\n","import { Icon } from '@atoms';\nimport { IconName, OrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { MenuItem } from '@models';\nimport { FC, KeyboardEvent, PropsWithChildren, useRef } from 'react';\n\nimport styles from './SubMenu.module.scss';\n\ntype Props = PropsWithChildren & {\n item: MenuItem;\n isSubMenuOpened: boolean;\n mode: OrientationMode;\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 <Icon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <Icon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === OrientationMode.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} onKeyDown={handleKeyDown}>\n {itemContent}\n <Icon name={isSubMenuOpened ? IconName.ArrowUp : IconName.ArrowDown} />\n </span>\n {isSubMenuOpened && children}\n </li>\n );\n};\n","import { OrientationMode } from '@enums';\nimport { MenuItem } 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 './MenuListItem.module.scss';\n\ntype Props = PropsWithChildren & {\n item: MenuItem;\n mode: OrientationMode;\n openedOn?: 'hover' | 'click';\n};\n\nexport const MenuListItem: FC<Props> = ({ item, mode, openedOn }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n const subMenuBarClass = getClassName([styles.subMenuBar, { [styles.subMenuBar__horizontal]: mode === OrientationMode.Horizontal }]);\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) => <MenuListItem item={child} key={child.id} mode={mode} openedOn={openedOn} />)}\n </ul>\n </SubMenu>\n );\n};\n","import { OrientationMode } from '@enums';\nimport { MenuProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC } from 'react';\n\nimport { MenuListItem } from './list-item/MenuListItem';\nimport styles from './Menu.module.scss';\n\nconst Menu: FC<MenuProps> = ({ items = [], mode = OrientationMode.Vertical, openedOn = 'click', className, ...rest }) => {\n const menuClass = getClassName([styles.menuBar, className, { [styles.menuBar__vertical]: mode === OrientationMode.Vertical }]);\n\n return (\n <menu {...rest} className={menuClass}>\n {items.map((item) => (\n <MenuListItem key={item.id} item={item} mode={mode} openedOn={openedOn} />\n ))}\n </menu>\n );\n};\n\nexport default Menu;\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 extendable?: boolean;\n extendedTabContent?: ReactElement;\n}> = ({ tabs, selectedTabId, extendable, extendedTabContent }): ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n const isExtendedTab = extendable && !content;\n\n return (\n <div role='tabpanel' data-testid='tab-content' aria-labelledby={selectedTabId} id={contentId} className={styles.tabContent}>\n {isExtendedTab ? extendedTabContent : content}\n </div>\n );\n};\n","import { Button } from '@atoms';\nimport { ButtonView, IconName } from '@enums';\nimport { FC, useEffect, useRef } from 'react';\n\nimport styles from './TabEditInput.module.scss';\n\ntype Props = {\n tabId: string;\n isEditMode: boolean;\n editValue: string;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onInputBlur: (e: React.FocusEvent<HTMLInputElement>) => void;\n onInputKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onSave: () => void;\n onCancel: () => void;\n cancelButtonId: string;\n};\n\nexport const TabEditInput: FC<Props> = ({\n tabId,\n isEditMode,\n editValue,\n onInputChange,\n onInputBlur,\n onInputKeyDown,\n onSave,\n onCancel,\n cancelButtonId,\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Focus input when entering edit mode\n useEffect(() => {\n if (isEditMode && inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }, [isEditMode]);\n\n return (\n <div className={styles.editContainer}>\n <input\n ref={inputRef}\n id={tabId + '-input'}\n type='text'\n value={editValue}\n onChange={onInputChange}\n onBlur={onInputBlur}\n onKeyDown={onInputKeyDown}\n className={styles.editContainer_input}\n maxLength={50}\n />\n <span className={styles.editContainer_buttons}>\n <Button view={ButtonView.Icon} icon={IconName.CheckMark} onClick={onSave} label='Save tab title' />\n <Button view={ButtonView.Icon} icon={IconName.Cancel} onClick={onCancel} label='Cancel tab title change' id={cancelButtonId} />\n </span>\n </div>\n );\n};\n","import { Button } from '@atoms';\nimport { ButtonView, IconName, OrientationMode } from '@enums';\nimport { getClassName } from '@utils';\nimport { FC, useEffect, useId, useRef, useState } from 'react';\n\nimport { TabEditInput } from '../edit-input/TabEditInput';\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: OrientationMode;\n isDisabled?: boolean;\n stretched?: boolean;\n editable?: boolean;\n onTabTitleChange?: (newTitle: string) => void;\n onTabDelete?: (id: string) => void;\n extendable?: boolean;\n};\n\nexport const TabButton: FC<Props> = ({\n title,\n onTabSelect,\n onTabTitleChange,\n onTabDelete,\n tabId,\n isSelected,\n isDisabled = false,\n stretched = false,\n editable = false,\n extendable = false,\n tabPanelId,\n mode,\n}) => {\n const [isEditMode, setIsEditMode] = useState(false);\n const [editValue, setEditValue] = useState(title);\n const inputRef = useRef<HTMLInputElement>(null);\n const cancelButtonId = useId();\n const isEditToggleVisible = editable && !isDisabled && isSelected;\n const isDeleteButtonVisible = extendable && !isDisabled && !!onTabDelete && isSelected;\n const hasAdditionalButtons = isEditToggleVisible || isDeleteButtonVisible;\n\n const wrapperClass = getClassName([\n styles.tab_wrapper,\n {\n [styles.tab_wrapper__disabled]: isDisabled,\n [styles.tab_wrapper__vertical]: mode === OrientationMode.Vertical,\n [styles.tab_wrapper__selected]: isSelected,\n [styles.tab_wrapper__stretched]: stretched,\n [styles.tab_wrapper__editable]: editable,\n [styles.tab_wrapper__inactive]: !isSelected,\n },\n ]);\n\n // Focus input when entering edit mode\n useEffect(() => {\n if (isEditMode && inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }, [isEditMode]);\n\n // Sync edit value with title prop\n useEffect(() => {\n setEditValue(title);\n }, [title]);\n\n const toggleEditMode = () => {\n if (isDisabled) return;\n setIsEditMode(!isEditMode);\n };\n\n const handleTabClick = () => {\n if (isEditMode) return; // Don't select tab while editing\n onTabSelect(tabId);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setEditValue(e.target.value);\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n // Check if the blur was caused by clicking on a cancel button\n const relatedTarget = e.relatedTarget as HTMLElement;\n const isBlurCausedByButton = relatedTarget?.id === cancelButtonId;\n\n // Only call onInputBlur if the blur wasn't caused by a button click\n if (!isBlurCausedByButton) {\n saveTitleChange();\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n saveTitleChange();\n } else if (e.key === 'Escape') {\n e.preventDefault();\n cancelEdit();\n }\n };\n\n const saveTitleChange = () => {\n if (editValue.trim() && editValue !== title) {\n onTabTitleChange?.(editValue.trim());\n } else {\n // Reset to original title if empty or unchanged\n setEditValue(title);\n }\n setIsEditMode(false);\n };\n\n const cancelEdit = () => {\n setEditValue(title);\n setIsEditMode(false);\n };\n\n return (\n <span className={wrapperClass}>\n {isEditMode ? (\n <TabEditInput\n tabId={tabId}\n editValue={editValue}\n isEditMode={isEditMode}\n onInputChange={handleInputChange}\n onInputBlur={handleInputBlur}\n onInputKeyDown={handleInputKeyDown}\n onSave={saveTitleChange}\n onCancel={cancelEdit}\n cancelButtonId={cancelButtonId}\n />\n ) : (\n <>\n <button\n role='tab'\n id={tabId}\n onClick={handleTabClick}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n className={styles.tab}\n disabled={isDisabled}\n >\n {editValue}\n </button>\n {hasAdditionalButtons && (\n <span className={styles.tab_buttons}>\n {isEditToggleVisible && (\n <Button view={ButtonView.Icon} icon={IconName.Edit} onClick={toggleEditMode} label='Edit tab' tooltip='Edit tab' />\n )}\n {isDeleteButtonVisible && (\n <Button\n view={ButtonView.Icon}\n icon={IconName.Delete}\n onClick={() => onTabDelete?.(tabId)}\n label='Delete tab'\n tooltip='Delete tab'\n />\n )}\n </span>\n )}\n </>\n )}\n </span>\n );\n};\n","import { Button } from '@atoms';\nimport { ButtonView, IconName, OrientationMode } from '@enums';\nimport { ChopLogicTabItem } from '@models';\nimport { getClassName, moveFocusOnElementById } from '@utils';\nimport { FC, KeyboardEvent, useEffect } from 'react';\n\nimport { TabButton } from '../button/TabButton';\nimport styles from './TabList.module.scss';\n\ntype Props = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n initialTabsCount: number;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: OrientationMode;\n onTabTitleChange?: (tabId: string, newTitle: string) => void;\n stretched?: boolean;\n editable?: boolean;\n extendable?: boolean;\n onTabAdd?: () => void;\n onTabDelete?: (id: string) => void;\n};\n\nexport const TabList: FC<Props> = ({\n tabs,\n onTabSelect,\n onTabTitleChange,\n selectedTabId,\n tabPanelIds,\n mode,\n tabIds,\n stretched,\n editable = false,\n extendable = false,\n onTabAdd,\n onTabDelete,\n initialTabsCount,\n}) => {\n const listClass = getClassName([styles.tabList, { [styles.tabList__vertical]: mode === OrientationMode.Vertical }]);\n\n const handleListKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n const currentFocusedTabIndex = tabIds.findIndex((id) => id === selectedTabId);\n\n // Early return for non-navigation keys\n if (!['ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].includes(e.key)) {\n return;\n }\n\n e.preventDefault();\n\n // Check if key should be ignored based on mode\n if ((e.key === 'ArrowUp' && mode === OrientationMode.Horizontal) || (e.key === 'ArrowLeft' && mode === OrientationMode.Vertical)) {\n return;\n }\n\n const isPrevious = e.key === 'ArrowLeft' || e.key === 'ArrowUp';\n const newIndex = isPrevious\n ? getPreviousIndex(currentFocusedTabIndex, tabIds.length)\n : getNextIndex(currentFocusedTabIndex, tabIds.length);\n\n const newTabId = tabIds[newIndex];\n if (newTabId) {\n moveFocusOnElementById(newTabId);\n onTabSelect(newTabId);\n }\n };\n\n const getPreviousIndex = (currentIndex: number, totalTabs: number): number => {\n return currentIndex - 1 >= 0 ? currentIndex - 1 : totalTabs - 1;\n };\n\n const getNextIndex = (currentIndex: number, totalTabs: number): number => {\n return currentIndex === totalTabs - 1 ? 0 : currentIndex + 1;\n };\n\n useEffect(() => {\n // Auto-select newly added tab\n if (tabs.length > initialTabsCount) {\n onTabSelect(tabs[tabs.length - 1].id);\n }\n }, [tabs.length]);\n\n return (\n <div role='tablist' data-testid='tab-list' tabIndex={0} 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 onTabTitleChange={onTabTitleChange ? (newTitle) => onTabTitleChange(id, newTitle) : undefined}\n tabId={id}\n isSelected={id === selectedTabId}\n isDisabled={disabled}\n tabPanelId={tabPanelIds[index]}\n mode={mode}\n stretched={stretched}\n editable={editable}\n extendable={extendable}\n onTabDelete={onTabDelete}\n />\n );\n })}\n {extendable && (\n <Button\n label='Add Tab'\n tooltip='Add Tab'\n view={ButtonView.Icon}\n icon={IconName.PlusCircle}\n onClick={onTabAdd}\n className={styles.tabList_addButton}\n />\n )}\n </div>\n );\n};\n","import { OrientationMode } from '@enums';\nimport { ChopLogicTabItem, TabsProps } from '@models';\nimport { getClassName } from '@utils';\nimport { FC, useState } from 'react';\n\nimport { TabContent } from './content/TabContent';\nimport { TabList } from './list/TabList';\nimport styles from './Tabs.module.scss';\n\nconst Tabs: FC<TabsProps> = ({\n tabs: initialTabs,\n defaultTabId,\n className,\n mode = OrientationMode.Horizontal,\n stretched = false,\n editable = false,\n extendable = false,\n extendedTabLabel = 'New Tab',\n extendedTabContent,\n onTabTitleChange,\n onTabAdd,\n onTabSelect,\n onTabDelete,\n ...rest\n}) => {\n const [tabs, setTabs] = useState<ChopLogicTabItem[]>(initialTabs);\n const initialTabsCount = initialTabs.length;\n const [tabCounter, setTabCounter] = useState(initialTabsCount + 1);\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 === OrientationMode.Vertical }]);\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n onTabSelect?.(id);\n };\n\n const handleTabTitleChange = (tabId: string, newTitle: string) => {\n setTabs((prevTabs) => prevTabs.map((tab) => (tab.id === tabId ? { ...tab, title: newTitle } : tab)));\n onTabTitleChange?.(tabId, newTitle);\n };\n\n const handleTabAdd = () => {\n const newTabId = `added-tab-${tabCounter}`;\n const newTabTitle = extendedTabLabel || `Tab ${tabCounter}`;\n\n const newTab: ChopLogicTabItem = {\n id: newTabId,\n title: newTabTitle,\n content: extendedTabContent || <div></div>,\n };\n\n setTabs((prevTabs) => [...prevTabs, newTab]);\n setTabCounter((prev) => prev + 1);\n\n onTabAdd?.();\n };\n\n const handleTabDelete = (tabId: string) => {\n setTabs((prevTabs) => prevTabs.filter((tab) => tab.id !== tabId));\n\n if (selectedTabId === tabId) {\n const tabIndex = tabIds.indexOf(tabId);\n let newSelectedTabId: string | undefined;\n\n if (tabIndex > 0) {\n // Select the previous tab if available\n newSelectedTabId = tabIds[tabIndex - 1];\n } else if (tabIds.length > 1) {\n // If deleting the first tab, select the second tab if available\n newSelectedTabId = tabIds[1];\n } else {\n // No tabs left to select\n newSelectedTabId = undefined;\n }\n\n if (newSelectedTabId) {\n handleTabSelect(newSelectedTabId);\n }\n }\n\n onTabDelete?.(tabId);\n };\n\n return (\n <div {...rest} className={tabsClass}>\n <TabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n onTabTitleChange={handleTabTitleChange}\n mode={mode}\n tabIds={tabIds}\n stretched={stretched}\n editable={editable}\n extendable={extendable}\n onTabAdd={handleTabAdd}\n initialTabsCount={initialTabsCount}\n onTabDelete={handleTabDelete}\n />\n <TabContent tabs={tabs} selectedTabId={selectedTabId} extendedTabContent={extendedTabContent} extendable={extendable} />\n </div>\n );\n};\n\nexport default Tabs;\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","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","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","AlertMode","ButtonView","IconName","LoaderView","OrientationMode","ThemeMode","TooltipContainer","withTooltip","Component","_a","_b","tooltip","visibleOn","__objRest","jsx","Tooltip","__spreadValues","getClassName","input","item","trueKeys","moveFocusOnElementById","id","element","handleDropdownListKeyPress","options","onClose","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","IconButton","className","rest","__spreadProps","styles","InnerButton","onClick","label","icon","disabled","Icon","PrimaryButton","jsxs","SecondaryButton","ButtonSelector","text","extended","view","extendedClass","Button","EditView","multiline","placeholder","onChange","onBlur","onKeyDown","inputRef","InputComponent","handleChange","useCallback","event","ReadView","handleKeyDown","useEditModeState","controlledEditMode","readOnly","isEditMode","setIsEditMode","useState","isControlled","useInputFocus","ref","editMode","autoSelectTextOnEditMode","useEffect","useValueState","internalValue","setInternalValue","newValue","EditableText","useRef","enterEditMode","exitEditMode","updateValue","commitValue","resetValue","handleClick","handleBlur","containerClass","ErrorMessage","errorId","testId","message","visible","errorClass","Header","as","HeaderTag","headerClass","ArrowDownIcon","title","ArrowUpIcon","BackIcon","CancelIcon","CheckboxCheckedIcon","CheckboxUncheckedIcon","CheckMarkIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClearIcon","CopyIcon","CutIcon","DeleteIcon","DownloadIcon","EditIcon","ErrorIcon","ForwardIcon","GraduateIcon","HelpIcon","HideIcon","HomeIcon","InfoIcon","LoginIcon","PasteIcon","PlusCircleIcon","QuestionIcon","RemoveIcon","SaveIcon","ShowIcon","UploadIcon","WarningIcon","IconDictionary","iconClass","Input","Label","required","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","Loader","Arrow","Brackets","Circle","Dots","Filler","Pulse","Linear","Rotation","Square","Portal","container","ReactDOM","useAutoClose","isOpened","autoClose","autoCloseDelay","timer","useClickOutside","onClickOutsideHandler","dependentRef","handleClickOutside","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useElementIds","randomId","useId","elementId","dropdownId","useIsMounted","delay","isMounted","setIsMounted","useIsOverflow","dimension","isOverflow","setIsOverflow","checkIsOverflow","current","scrollWidth","clientWidth","scrollHeight","clientHeight","useKeyPress","keyCode","onKeyPress","handleKeyPress","useModalFocusTrap","modalRef","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","FormContext","createContext","ThemeContext","ThemeProvider","injectedMode","mode","setMode","providerValue","useMemo","useResetFormInput","onReset","resetSignal","useContext","useTheme","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","position","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","useTooltipController","setIsOpened","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","tooltipContent","style","containerTag","ContainerComponent","tooltipClass","getAlertTitle","getAlertIcon","Alert","isClosing","alertTitle","alertTitleIcon","getCheckboxInitialValue","defaultChecked","initialValues","useCheckboxController","onChangeFormInput","initialValue","isChecked","setIsChecked","checked","handleReset","Checkbox","noLabel","checkboxClass","MultiSelectCombobox","opened","comboboxId","values","selectedLabels","selectedIds","selectedValues","getMultiSelectInitialValues","defaultValue","option","selected","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","MultiSelectOption","onSelect","optionClass","MultiSelectDropdown","dropdownClass","MultiSelect","multiSelectClass","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","increment","decrement","NumericInput","errorMessage","onFocus","tabIndex","hasSpinButtons","inputClass","SelectCombobox","SelectOption","onClear","handleOptionSelect","SelectDropdown","getSelectInitialValue","valueId","useSelectController","setSelected","handleClear","Select","selectClass","validateTextInputValue","getTextInputInitialValue","useTextInputController","passwordShown","setPasswordShown","togglePassword","TextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","Dialog","getInitialValidationState","data","updateValidationState","state","params","isFormDataValid","useFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","uncontrolledData","resultData","Form","columns","hasReset","handleInputChange","handleSubmit","columnsNumber","formClass","getGridRowValues","renderDataItem","column","GridDataCell","GridCheckbox","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","index","GridBody","GridColumnGroup","useGridController","setSelectedIds","allIds","isAllSelected","isAllCheckboxDisabled","ids","newIds","GridHeaderCell","component","SelectAllGridRowsCell","gridId","selectAll","deselectAll","handleSelectAll","GridHead","Grid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","MenuLeaf","link","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","openSubMenu","openedOn","itemContent","MenuListItem","isLeaf","setIsSubMenuOpened","subMenuBarClass","child","Menu","items","menuClass","TabContent","tabs","selectedTabId","extendable","extendedTabContent","content","contentId","isExtendedTab","TabEditInput","tabId","editValue","onInputChange","onInputBlur","onInputKeyDown","onSave","onCancel","cancelButtonId","TabButton","onTabSelect","onTabTitleChange","onTabDelete","isSelected","isDisabled","stretched","editable","tabPanelId","setEditValue","isEditToggleVisible","isDeleteButtonVisible","hasAdditionalButtons","wrapperClass","toggleEditMode","handleTabClick","handleInputBlur","relatedTarget","saveTitleChange","handleInputKeyDown","cancelEdit","Fragment","TabList","tabPanelIds","tabIds","onTabAdd","initialTabsCount","listClass","handleListKeyDown","currentFocusedTabIndex","newIndex","getPreviousIndex","getNextIndex","newTabId","currentIndex","totalTabs","newTitle","Tabs","initialTabs","defaultTabId","extendedTabLabel","setTabs","tabCounter","setTabCounter","defaultId","setSelectedTabId","tabsClass","handleTabSelect","handleTabTitleChange","prevTabs","tab","handleTabAdd","newTabTitle","newTab","prev","handleTabDelete","newSelectedTabId"],"mappings":";;;;;;;;4CAWA,IAAIA,EAAqB,OAAO,IAAI,4BAA4B,EAC9DC,EAAsB,OAAO,IAAI,gBAAgB,EACnD,SAASC,EAAQC,EAAMC,EAAQC,EAAU,CACvC,IAAIC,EAAM,KAGV,GAFWD,IAAX,SAAwBC,EAAM,GAAKD,GACxBD,EAAO,MAAlB,SAA0BE,EAAM,GAAKF,EAAO,KACxC,QAASA,EAAQ,CACnBC,EAAW,CAAE,EACb,QAASE,KAAYH,EACTG,IAAV,QAAuBF,EAASE,CAAQ,EAAIH,EAAOG,CAAQ,EAC9D,MAAMF,EAAWD,EAClB,OAAAA,EAASC,EAAS,IACX,CACL,SAAUL,EACV,KAAMG,EACN,IAAKG,EACL,IAAgBF,IAAX,OAAoBA,EAAS,KAClC,MAAOC,CACR,CACH,CACA,OAAAG,GAAA,SAAmBP,EACnBO,GAAA,IAAcN,EACdM,GAAA,KAAeN;;;;;;;;wCCtBE,QAAQ,IAAI,WAA7B,cACG,UAAY,CACX,SAASO,EAAyBN,EAAM,CACtC,GAAYA,GAAR,KAAc,OAAO,KACzB,GAAmB,OAAOA,GAAtB,WACF,OAAOA,EAAK,WAAaO,EACrB,KACAP,EAAK,aAAeA,EAAK,MAAQ,KACvC,GAAiB,OAAOA,GAApB,SAA0B,OAAOA,EACrC,OAAQA,EAAI,CACV,KAAKF,EACH,MAAO,WACT,KAAKU,EACH,MAAO,WACT,KAAKC,EACH,MAAO,aACT,KAAKC,EACH,MAAO,WACT,KAAKC,EACH,MAAO,eACT,KAAKC,EACH,MAAO,UACjB,CACM,GAAiB,OAAOZ,GAApB,SACF,OACgB,OAAOA,EAAK,KAAzB,UACC,QAAQ,MACN,mHACD,EACHA,EAAK,SACf,CACU,KAAKa,EACH,MAAO,SACT,KAAKC,EACH,OAAQd,EAAK,aAAe,WAAa,YAC3C,KAAKe,EACH,OAAQf,EAAK,SAAS,aAAe,WAAa,YACpD,KAAKgB,EACH,IAAIC,EAAYjB,EAAK,OACrB,OAAAA,EAAOA,EAAK,YACZA,IACIA,EAAOiB,EAAU,aAAeA,EAAU,MAAQ,GACnDjB,EAAcA,IAAP,GAAc,cAAgBA,EAAO,IAAM,cAC9CA,EACT,KAAKkB,EACH,OACGD,EAAYjB,EAAK,aAAe,KACxBiB,IAAT,KACIA,EACAX,EAAyBN,EAAK,IAAI,GAAK,OAE/C,KAAKmB,EACHF,EAAYjB,EAAK,SACjBA,EAAOA,EAAK,MACZ,GAAI,CACF,OAAOM,EAAyBN,EAAKiB,CAAS,CAAC,CAChD,OAAQG,EAAG,CAAA,CACxB,CACM,OAAO,IACb,CACI,SAASC,EAAmBC,EAAO,CACjC,MAAO,GAAKA,CAClB,CACI,SAASC,EAAuBD,EAAO,CACrC,GAAI,CACFD,EAAmBC,CAAK,EACxB,IAAIE,EAA2B,EAChC,OAAQC,GAAG,CACVD,EAA2B,EACnC,CACM,GAAIA,EAA0B,CAC5BA,EAA2B,QAC3B,IAAIE,EAAwBF,EAAyB,MACjDG,EACc,OAAO,QAAtB,YACC,OAAO,aACPL,EAAM,OAAO,WAAW,GAC1BA,EAAM,YAAY,MAClB,SACF,OAAAI,EAAsB,KACpBF,EACA,2GACAG,CACD,EACMN,EAAmBC,CAAK,CACvC,CACA,CACI,SAASM,EAAY5B,EAAM,CACzB,GAAIA,IAASF,EAAqB,MAAO,KACzC,GACe,OAAOE,GAApB,UACSA,IAAT,MACAA,EAAK,WAAamB,EAElB,MAAO,QACT,GAAI,CACF,IAAIU,EAAOvB,EAAyBN,CAAI,EACxC,OAAO6B,EAAO,IAAMA,EAAO,IAAM,OAClC,OAAQT,EAAG,CACV,MAAO,OACf,CACA,CACI,SAASU,GAAW,CAClB,IAAIC,EAAaC,EAAqB,EACtC,OAAgBD,IAAT,KAAsB,KAAOA,EAAW,SAAU,CAC/D,CACI,SAASE,GAAe,CACtB,OAAO,MAAM,uBAAuB,CAC1C,CACI,SAASC,EAAYjC,EAAQ,CAC3B,GAAIkC,EAAe,KAAKlC,EAAQ,KAAK,EAAG,CACtC,IAAImC,EAAS,OAAO,yBAAyBnC,EAAQ,KAAK,EAAE,IAC5D,GAAImC,GAAUA,EAAO,eAAgB,MAAO,EACpD,CACM,OAAkBnC,EAAO,MAAlB,MACb,CACI,SAASoC,EAA2BC,EAAOC,EAAa,CACtD,SAASC,GAAwB,CAC/BC,IACIA,EAA6B,GAC/B,QAAQ,MACN,0OACAF,CACZ,EACA,CACMC,EAAsB,eAAiB,GACvC,OAAO,eAAeF,EAAO,MAAO,CAClC,IAAKE,EACL,aAAc,EACtB,CAAO,CACP,CACI,SAASE,GAAyC,CAChD,IAAIC,EAAgBrC,EAAyB,KAAK,IAAI,EACtD,OAAAsC,EAAuBD,CAAa,IAChCC,EAAuBD,CAAa,EAAI,GAC1C,QAAQ,MACN,6IACV,GACMA,EAAgB,KAAK,MAAM,IACTA,IAAX,OAA2BA,EAAgB,IACxD,CACI,SAASE,EACP7C,EACAG,EACA2C,EACAC,EACAC,GACAV,EACAW,GACAC,GACA,CACA,OAAAJ,EAAOR,EAAM,IACbtC,EAAO,CACL,SAAUH,EACV,KAAMG,EACN,IAAKG,EACL,MAAOmC,EACP,OAAQU,EACT,GACoBF,IAAX,OAAkBA,EAAO,QAAnC,KACI,OAAO,eAAe9C,EAAM,MAAO,CACjC,WAAY,GACZ,IAAK0C,CACN,CAAA,EACD,OAAO,eAAe1C,EAAM,MAAO,CAAE,WAAY,GAAI,MAAO,KAAM,EACtEA,EAAK,OAAS,CAAE,EAChB,OAAO,eAAeA,EAAK,OAAQ,YAAa,CAC9C,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAO,CACf,CAAO,EACD,OAAO,eAAeA,EAAM,aAAc,CACxC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAO,IACf,CAAO,EACD,OAAO,eAAeA,EAAM,cAAe,CACzC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAOiD,EACf,CAAO,EACD,OAAO,eAAejD,EAAM,aAAc,CACxC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAOkD,EACf,CAAO,EACD,OAAO,SAAW,OAAO,OAAOlD,EAAK,KAAK,EAAG,OAAO,OAAOA,CAAI,GACxDA,CACb,CACI,SAASmD,EACPnD,EACAC,EACAC,EACAkD,EACAL,GACAD,EACAG,GACAC,GACA,CACA,IAAIG,EAAWpD,EAAO,SACtB,GAAeoD,IAAX,OACF,GAAID,EACF,GAAIE,EAAYD,CAAQ,EAAG,CACzB,IACED,EAAmB,EACnBA,EAAmBC,EAAS,OAC5BD,IAEAG,EAAkBF,EAASD,CAAgB,CAAC,EAC9C,OAAO,QAAU,OAAO,OAAOC,CAAQ,CACxC,MACC,QAAQ,MACN,sJACD,OACAE,EAAkBF,CAAQ,EACjC,GAAIlB,EAAe,KAAKlC,EAAQ,KAAK,EAAG,CACtCoD,EAAW/C,EAAyBN,CAAI,EACxC,IAAIwD,GAAO,OAAO,KAAKvD,CAAM,EAAE,OAAO,SAAUwD,GAAG,CACjD,OAAiBA,KAAV,KACjB,CAAS,EACDL,EACE,EAAII,GAAK,OACL,kBAAoBA,GAAK,KAAK,SAAS,EAAI,SAC3C,iBACNE,GAAsBL,EAAWD,CAAgB,IAC7CI,GACA,EAAIA,GAAK,OAAS,IAAMA,GAAK,KAAK,SAAS,EAAI,SAAW,KAC5D,QAAQ,MACN;AAAA;AAAA;AAAA;AAAA;AAAA,mCACAJ,EACAC,EACAG,GACAH,CACD,EACAK,GAAsBL,EAAWD,CAAgB,EAAI,GAChE,CAMM,GALAC,EAAW,KACAnD,IAAX,SACGqB,EAAuBrB,CAAQ,EAAImD,EAAW,GAAKnD,GACtDgC,EAAYjC,CAAM,IACfsB,EAAuBtB,EAAO,GAAG,EAAIoD,EAAW,GAAKpD,EAAO,KAC3D,QAASA,EAAQ,CACnBC,EAAW,CAAE,EACb,QAASE,MAAYH,EACTG,KAAV,QAAuBF,EAASE,EAAQ,EAAIH,EAAOG,EAAQ,EAC9D,MAAMF,EAAWD,EAClB,OAAAoD,GACEhB,EACEnC,EACe,OAAOF,GAAtB,WACIA,EAAK,aAAeA,EAAK,MAAQ,UACjCA,CACL,EACI6C,EACL7C,EACAqD,EACAP,EACAC,GACAjB,EAAU,EACV5B,EACA+C,GACAC,EACD,CACP,CACI,SAASK,EAAkBI,EAAM,CAClB,OAAOA,GAApB,UACWA,IAAT,MACAA,EAAK,WAAa9D,GAClB8D,EAAK,SACJA,EAAK,OAAO,UAAY,EACjC,CACI,IAAIC,EAAQC,EACVhE,EAAqB,OAAO,IAAI,4BAA4B,EAC5DgB,EAAoB,OAAO,IAAI,cAAc,EAC7Cf,EAAsB,OAAO,IAAI,gBAAgB,EACjDW,EAAyB,OAAO,IAAI,mBAAmB,EACvDD,EAAsB,OAAO,IAAI,gBAAgB,EAE/CO,EAAsB,OAAO,IAAI,gBAAgB,EACnDD,EAAqB,OAAO,IAAI,eAAe,EAC/CE,EAAyB,OAAO,IAAI,mBAAmB,EACvDN,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAA2B,OAAO,IAAI,qBAAqB,EAC3DO,EAAkB,OAAO,IAAI,YAAY,EACzCC,EAAkB,OAAO,IAAI,YAAY,EACzCP,EAAsB,OAAO,IAAI,gBAAgB,EACjDL,EAAyB,OAAO,IAAI,wBAAwB,EAC5DyB,EACE4B,EAAM,gEACRzB,EAAiB,OAAO,UAAU,eAClCmB,EAAc,MAAM,QACpBQ,EAAa,QAAQ,WACjB,QAAQ,WACR,UAAY,CACV,OAAO,IACR,EACPF,EAAQ,CACN,2BAA4B,SAAUG,EAAmB,CACvD,OAAOA,EAAmB,CAClC,CACK,EACD,IAAItB,EACAG,EAAyB,CAAE,EAC3BoB,EAAyBJ,EAAM,0BAA0B,EAAE,KAC7DA,EACA3B,CACN,EAAO,EACCgC,EAAwBH,EAAWlC,EAAYK,CAAY,CAAC,EAC5DyB,GAAwB,CAAE,EAC9BQ,GAAA,SAAmBpE,EACnBoE,GAAW,IAAG,SAAUlE,EAAMC,EAAQC,EAAU6C,EAAQD,GAAM,CAC5D,IAAIqB,EACF,IAAMnC,EAAqB,6BAC7B,OAAOmB,EACLnD,EACAC,EACAC,EACA,GACA6C,EACAD,GACAqB,EACI,MAAM,uBAAuB,EAC7BH,EACJG,EAAmBL,EAAWlC,EAAY5B,CAAI,CAAC,EAAIiE,CACpD,CACF,EACDC,GAAY,KAAG,SAAUlE,EAAMC,EAAQC,EAAU6C,EAAQD,GAAM,CAC7D,IAAIqB,EACF,IAAMnC,EAAqB,6BAC7B,OAAOmB,EACLnD,EACAC,EACAC,EACA,GACA6C,EACAD,GACAqB,EACI,MAAM,uBAAuB,EAC7BH,EACJG,EAAmBL,EAAWlC,EAAY5B,CAAI,CAAC,EAAIiE,CACpD,CACF,CACL,EAAM,4CCnWF,QAAQ,IAAI,WAAa,aAC3BG,GAAA,QAAiBP,GAAgD,EAEjEO,GAAA,QAAiBC,GAAiD,yBCLxDC,GAAAA,IACVA,EAAA,QAAU,UACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OALGA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,QAAU,UACVA,EAAA,UAAY,YACZA,EAAA,KAAO,OACPA,EAAA,MAAQ,QAJEA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,UAAY,aACZA,EAAA,QAAU,WACVA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,gBAAkB,mBAClBA,EAAA,kBAAoB,qBACpBA,EAAA,UAAY,aACZA,EAAA,YAAc,eACdA,EAAA,YAAc,eACdA,EAAA,aAAe,gBACfA,EAAA,UAAY,aACZA,EAAA,MAAQ,QACRA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,OAAS,SACTA,EAAA,SAAW,WACXA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,MAAQ,QACRA,EAAA,WAAa,cACbA,EAAA,SAAW,WACXA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,OAAS,SAjCCA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,SAAW,WATDA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,SAAW,WACXA,EAAA,WAAa,aAFHA,IAAAA,GAAA,CAAA,CAAA,ECAAC,IAAAA,IACVA,EAAA,MAAQ,4BACRA,EAAA,KAAO,2BAFGA,IAAAA,IAAA,CAAA,CAAA,ECAAC,IAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,EAAI,IACJA,EAAA,OAAS,SACTA,EAAA,GAAK,KALKA,IAAAA,IAAA,CAAA,CAAA,ECQL,SAASC,GAA8BC,EAAuD,CAC5F,OAACC,GAA+B,CAA/B,IAAAC,EAAAD,EAAE,SAAAE,EAAS,UAAAC,GAAXF,EAAyB1C,EAAA6C,EAAzBH,EAAyB,CAAvB,UAAS,cACjB,OAAAC,GAAA,MAAAA,EAAS,OACNG,EAAA,IAAAC,GAAA,CAAQ,eAAgBJ,EAAS,UAAAC,EAChC,SAACE,EAAA,IAAAN,EAAAQ,EAAA,GAAehD,EAAa,EAC/B,EAEA8C,MAACN,EAAWQ,EAAA,GAAIhD,EAAa,EAEnC,CCTO,SAASiD,EAAaC,EAAiC,CAmBrD,OAlBOA,EACX,IAAKC,GAAS,CACT,GAAA,OAAOA,GAAS,SAClB,OAAOA,EAAK,KAAK,EAEf,GAAA,OAAOA,GAAS,SAAU,CAC5B,MAAMC,EAAW,CAAC,EAClB,UAAWvF,KAAOsF,EACZA,EAAKtF,CAAG,GACDuF,EAAA,KAAKvF,EAAI,MAAM,EAIrB,OAAAuF,EAAS,KAAK,GAAG,CAAA,CAE3B,CAAA,EACA,OAAQD,GAAS,CAAC,CAACA,CAAI,EAEb,KAAK,GAAG,CACvB,CC5BO,SAASE,GAAuBC,EAAY,CAC3C,MAAAC,EAAU,SAAS,eAAeD,CAAE,EAEtCC,KAAiB,MAAM,CAC7B,CCCO,SAASC,GAA2B,CACzC,EACA,QAAAC,EACA,QAAAC,CACF,EAIG,CACD,IAAIC,EAAoB,GAChBF,EAAA,QAASzE,GAAU,CACT,SAAS,eAAeA,EAAM,EAAE,IAChC,SAAS,gBACvB2E,EAAY3E,EAAM,GACpB,CACD,EAED,MAAM4E,EAAoBH,EAAQ,UAAWzE,GAAUA,EAAM,KAAO2E,CAAS,EAE7E,OAAQ,EAAE,IAAK,CACb,IAAK,SACH,EAAE,eAAe,EACTD,EAAA,EACR,MACF,IAAK,UAAW,CACd,EAAE,eAAe,EACjB,MAAMG,EAAsBD,EAAoB,GAAK,EAAIA,EAAoB,EAAIH,EAAQ,OAAS,EAC5FK,EAAgBL,EAAQI,CAAmB,EAC7CC,GAAsCT,GAAAS,EAAc,EAAE,EAC1D,KAAA,CAEF,IAAK,YACL,IAAK,MAAO,CACV,EAAE,eAAe,EACjB,MAAMC,EAAkBH,IAAsBH,EAAQ,OAAS,EAAI,EAAIG,EAAoB,EACrFI,EAAYP,EAAQM,CAAe,EACrCC,GAAkCX,GAAAW,EAAU,EAAE,EAClD,KAAA,CACF,CAEJ,mFCtCaC,GAAyBxB,GACnCK,CADmC,IAAAJ,EAAAD,EAAE,UAAA1B,EAAU,UAAAmD,GAAZxB,EAA0ByB,EAAAtB,EAA1BH,EAA0B,CAAxB,WAAU,cAC/CI,OAAAA,EAAAA,IAAA,SAAAsB,EAAApB,EAAA,GAAWmB,GAAX,CAAiB,UAAWlB,EAAa,CAACoB,GAAO,OAAQH,CAAS,CAAC,EACjE,SAAAnD,CACH,EAAA,wCCGWuD,GAA0B7B,GAA2D,CAA3D,IAAAC,EAAAD,EAAE,SAAA8B,EAAS,MAAAC,EAAO,KAAAC,EAAM,SAAAC,EAAU,UAAAR,GAAlCxB,EAAgDyB,EAAAtB,EAAhDH,EAAgD,CAA9C,UAAS,QAAO,OAAM,WAAU,cAErE,OAAAI,EAAA,IAAC,SAAAsB,EAAApB,EAAA,CACC,UAAWC,EAAa,CAACoB,GAAO,OAAQH,CAAS,CAAC,EAClD,QAAAK,EACA,aAAYC,EACZ,KAAK,SACL,SAAAE,GACIP,GANL,CAQC,SAAArB,EAAAA,IAAC6B,EAAK,CAAA,KAAMF,CAAM,CAAA,CAAA,EACpB,CAEJ,0KCnBaG,GAA4BnC,GACvCoC,CADuC,IAAAnC,EAAAD,EAAE,UAAA1B,EAAU,UAAAmD,GAAZxB,EAA0ByB,EAAAtB,EAA1BH,EAA0B,CAAxB,WAAU,cACnDmC,OAAAA,EAAAA,KAAC,gBAAWV,IAAM,UAAWlB,EAAa,CAACoB,GAAO,OAAQH,CAAS,CAAC,EAClE,SAAA,CAACpB,EAAAA,IAAA,OAAA,CAAK,UAAWuB,GAAO,aAAe,CAAA,EACtCvB,EAAAA,IAAA,OAAA,CAAK,UAAWuB,GAAO,WAAa,CAAA,EACpCvB,EAAA,IAAA,OAAA,CAAK,UAAWuB,GAAO,aAAe,SAAAtD,CAAS,CAAA,CAAA,GAClD,uCCLW+D,GAA8BrC,GACxCK,CADwC,IAAAJ,EAAAD,EAAE,UAAA1B,EAAU,UAAAmD,GAAZxB,EAA0ByB,EAAAtB,EAA1BH,EAA0B,CAAxB,WAAU,cACpDI,OAAAA,EAAAA,IAAA,SAAAsB,EAAApB,EAAA,GAAWmB,GAAX,CAAiB,UAAWlB,EAAa,CAACoB,GAAO,OAAQH,CAAS,CAAC,EACjE,SAAAnD,CACH,EAAA,GCGIgE,GAAmCtC,GAWnC,CAXmC,IAAAC,EAAAD,EACvC,SAAA8B,EACA,KAAAS,EACA,KAAAP,EACA,MAAAD,EACA,SAAAE,EAAW,GACX,SAAAO,EAAW,GACX,KAAAvH,EAAO,SACP,KAAAwH,EAAOjD,EAAW,QAClB,UAAAiC,GATuCxB,EAUpCyB,EAAAtB,EAVoCH,EAUpC,CATH,UACA,OACA,OACA,QACA,WACA,WACA,OACA,OACA,cAGM,MAAAyC,EAAgBlC,EAAa,CAACiB,EAAW,CAAE,CAACG,GAAO,QAAQ,EAAGY,CAAS,CAAC,CAAC,EAE/E,OAAQC,EAAM,CACZ,KAAKjD,EAAW,QAEZ,OAAA4C,EAAA,KAACD,GAAcR,EAAApB,EAAA,CAAA,aAAYwB,EAAO,KAAA9G,EAAY,QAAA6G,EAAkB,SAAAG,EAAoB,UAAWS,GAAmBhB,GAAnG,CACb,SAAA,CAACrB,EAAAA,IAAA6B,EAAA,CAAK,KAAMF,CAAM,CAAA,EACjBO,CAAA,GACH,EAEJ,KAAK/C,EAAW,UAEZ,OAAA4C,EAAA,KAACC,GAAgBV,EAAApB,EAAA,CAAA,aAAYwB,EAAO,KAAA9G,EAAY,QAAA6G,EAAkB,SAAAG,EAAoB,UAAWS,GAAmBhB,GAAnG,CACf,SAAA,CAACrB,EAAAA,IAAA6B,EAAA,CAAK,KAAMF,CAAM,CAAA,EACjBO,CAAA,GACH,EAEJ,KAAK/C,EAAW,KACd,OACGa,EAAAA,IAAAmB,GAAAG,EAAApB,EAAA,CAAW,aAAYwB,EAAO,KAAA9G,EAAY,QAAA6G,EAAkB,SAAAG,GAAwBP,GAApF,CAA0F,UAAAD,EACzF,SAAApB,MAAC6B,EAAK,CAAA,KAAMF,CAAM,CAAA,GACpB,EAEJ,KAAKxC,EAAW,MACP,OAAAa,EAAA,IAACwB,QAAY,MAAAE,EAAc,KAAAC,EAAY,QAAAF,EAAkB,SAAAG,GAAwBP,IAAM,UAAAD,GAAsB,EACtH,QACS,OAAA,IAAA,CAEb,EAEMkB,EAAS7C,GAAYwC,EAAc,4OCzC5BM,GAA+B5C,GAUtC,CAVsC,IAAAC,EAAAD,EAC1C,WAAA6C,EACA,MAAAtG,EACA,YAAAuG,EACA,SAAAC,EACA,OAAAC,EACA,UAAAC,EACA,UAAAxB,EACA,SAAAyB,GAR0CjD,EASvCyB,EAAAtB,EATuCH,EASvC,CARH,YACA,QACA,cACA,WACA,SACA,YACA,YACA,aAGM,MAAAkD,EAAiBN,EAAY,WAAa,QAE1CO,EAAeC,EAAA,YAClBC,GAAqE,CAC3DP,EAAAO,EAAM,OAAO,KAAK,CAC7B,EACA,CAACP,CAAQ,CACX,EAGE,OAAA1C,EAAA,IAAC8C,EAAA5C,EAAA,CACC,IAAK2C,EACL,MAAA3G,EACA,SAAU6G,EACV,OAAAJ,EACA,UAAAC,EACA,YAAAH,EACA,UAAArB,EACA,KAAMoB,EAAY,EAAI,QAClBnB,EACN,CAEJ,ECrCa6B,GAA+BvD,GAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAAzD,EAAO,YAAAuG,EAAa,QAAAhB,EAAS,UAAAL,GAA/BxB,EAA6CyB,EAAAtB,EAA7CH,EAA6C,CAA3C,QAAO,cAAa,UAAS,cACnE,MAAAuD,EAAiB9G,GAA2B,EAC5CA,EAAE,MAAQ,SAAWA,EAAE,MAAQ,OACjCA,EAAE,eAAe,EACjBoF,EAAQpF,CAAQ,EAEpB,EAEA,OACG2D,EAAAA,IAAA,OAAAsB,EAAApB,EAAA,CAAK,QAAAuB,EAAkB,UAAAL,EAAsB,KAAK,SAAS,SAAU,EAAG,UAAW+B,EAAe,aAAW,iBAAoB9B,GAAjI,CACE,YAASoB,GACZ,CAEJ,ECrBaW,GAAmB,CAACC,EAA8BC,IAAuB,CACpF,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAAA,SAAS,EAAK,EAC5C,CAACC,CAAY,EAAID,WAASJ,IAAuB,MAAS,EAgBzD,MAAA,CACL,SAfeK,EAAe,CAAC,CAACL,EAAqBE,EAgBrD,cAdoB,IAAM,CACtB,CAACG,GAAgB,CAACJ,GACpBE,EAAc,EAAI,CAEtB,EAWE,aATmB,IAAM,CACpBE,GACHF,EAAc,EAAK,CAEvB,EAME,aAAAE,CACF,CACF,ECxBaC,GAAgB,CAC3BC,EACAC,EACAC,EACAR,IACG,CACHS,EAAAA,UAAU,IAAM,CACVF,GAAYD,EAAI,SAAW,CAACN,IAC9BM,EAAI,QAAQ,MAAM,EACdE,GACFF,EAAI,QAAQ,OAAO,IAGtB,CAACC,EAAUC,EAA0BR,EAAUM,CAAG,CAAC,CACxD,ECdaI,GAAgB,CAAC9H,EAAewG,IAAuC,CAClF,KAAM,CAACuB,EAAeC,CAAgB,EAAIT,EAAAA,SAASvH,CAAK,EAExD6H,OAAAA,EAAAA,UAAU,IAAM,CACdG,EAAiBhI,CAAK,CAAA,EACrB,CAACA,CAAK,CAAC,EAgBH,CACL,cAAA+H,EACA,YAhBmBE,GAAqB,CACxCD,EAAiBC,CAAQ,CAC3B,EAeE,YAbkB,IAAM,CACpBF,IAAkB/H,IACpBwG,GAAA,MAAAA,EAAWuB,GAEf,EAUE,WARiB,IAAM,CACvBC,EAAiBhI,CAAK,CACxB,CAOA,CACF,EClBMkI,GAAuCzE,GAWvC,CAXuC,IAAAC,EAAAD,EAC3C,OAAAzD,EACA,WAAYmH,EACZ,SAAAX,EACA,QAAAjB,EACA,UAAAL,EACA,yBAAA0C,EAA2B,GAC3B,UAAAtB,EAAY,GACZ,YAAAC,EAAc,mBACd,SAAAa,EAAW,IATgC1D,EAUxCyB,EAAAtB,EAVwCH,EAUxC,CATH,QACA,aACA,WACA,UACA,YACA,2BACA,YACA,cACA,aAGM,MAAAiD,EAAWwB,SAA+C,IAAI,EAC9D,CAAE,SAAAR,EAAU,cAAAS,EAAe,aAAAC,CAAiB,EAAAnB,GAAiBC,EAAoBC,CAAQ,EACzF,CAAE,cAAAW,EAAe,YAAAO,EAAa,YAAAC,EAAa,WAAAC,GAAeV,GAAc9H,EAAOwG,CAAQ,EAE/EiB,GAAAd,EAAUgB,EAAUC,EAA0BR,CAAQ,EAEpE,MAAMqB,EAAc3B,EAAA,YACjBC,GAA4B,CAC3BxB,GAAA,MAAAA,EAAUwB,GACIqB,EAAA,CAChB,EACA,CAAC7C,EAAS6C,CAAa,CACzB,EAEMM,EAAa5B,EAAAA,YAAY,IAAM,CACtBuB,EAAA,EACDE,EAAA,CAAA,EACX,CAACF,EAAcE,CAAW,CAAC,EAExBtB,EAAgBH,EAAA,YACnBC,GAA+B,CAC1BA,EAAM,MAAQ,SAAW,CAACT,IAC5BS,EAAM,eAAe,EACV2B,EAAA,GAET3B,EAAM,MAAQ,WACLyB,EAAA,EACEH,EAAA,EAEjB,EACA,CAAC/B,EAAWoC,EAAYF,EAAYH,CAAY,CAClD,EAEMM,EAAiB1E,EAAa,CAClCoB,GAAO,aACPH,EACA,CACE,CAACG,GAAO,sBAAsB,EAAGsC,EACjC,CAACtC,GAAO,sBAAsB,EAAG+B,EACjC,CAAC/B,GAAO,mBAAmB,EAAG,CAAC0C,CAAA,CACjC,CACD,EAEG,OAAAJ,GAAY,CAACP,EAEbtD,EAAA,IAACuC,GAAArC,EAAA,CACC,UAAAsC,EACA,MAAOyB,EACP,YAAAxB,EACA,SAAU+B,EACV,OAAQI,EACR,UAAWzB,EACX,UAAW0B,EACX,SAAAhC,GACIxB,EACN,EAIGrB,MAACkD,GAAShD,EAAA,CAAA,MAAO+D,EAAe,YAAAxB,EAA0B,QAASkC,EAAa,UAAWE,GAAoBxD,EAAM,CAC9H,iHCtEMyD,GAAsC,CAAC,CAAE,QAAAC,EAAS,OAAAC,EAAQ,QAAAC,EAAU,SAAU,QAAAC,EAAU,GAAO,UAAA9D,CAAA,IAAgB,CACnH,MAAM+D,EAAahF,EAAa,CAACoB,GAAO,aAAcH,EAAW,CAAE,CAACG,GAAO,qBAAqB,EAAG2D,CAAS,CAAA,CAAC,EAG3G,OAAAlF,EAAA,IAAC,OAAK,CAAA,GAAI+E,EAAS,UAAWI,EAAY,cAAaH,EAAQ,cAAa,CAACE,EAC1E,SACHD,CAAA,CAAA,CAEJ,gUCdMG,GAA2BzF,GAAsD,CAAtD,IAAAC,EAAAD,EAAE,IAAA0F,EAAK,KAAM,KAAA1D,EAAM,SAAA1D,EAAU,UAAAmD,GAA7BxB,EAA2CyB,EAAAtB,EAA3CH,EAA2C,CAAzC,KAAW,OAAM,WAAU,cAC5D,MAAM0F,EAAYD,EACZE,EAAcpF,EAAa,CAC/BiB,EACAG,GAAO,OACP,CACE,CAACA,GAAO,UAAU,EAAG8D,IAAO,KAC5B,CAAC9D,GAAO,UAAU,EAAG8D,IAAO,KAC5B,CAAC9D,GAAO,UAAU,EAAG8D,IAAO,KAC5B,CAAC9D,GAAO,UAAU,EAAG8D,IAAO,KAC5B,CAAC9D,GAAO,UAAU,EAAG8D,IAAO,KAC5B,CAAC9D,GAAO,UAAU,EAAG8D,IAAO,IAAA,CAC9B,CACD,EAED,OACGtD,EAAAA,KAAAuD,EAAAhE,EAAApB,EAAA,CAAU,UAAWqF,GAAiBlE,GAAtC,CACE,SAAA,CAAQM,GAAA3B,EAAAA,IAAC6B,EAAK,CAAA,KAAMF,CAAM,CAAA,EAC1B3B,EAAA,IAAA,OAAA,CAAK,UAAWuB,GAAO,YAAc,SAAAtD,CAAS,CAAA,CAAA,GACjD,CAEJ,EC1BA,SAASuH,GAAc7F,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAErB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,8JAA+J,CAAA,CAAA,GACzK,CAEJ,CCPA,SAAS0F,GAAY/F,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEnB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,qIAAsI,CAAA,CAAA,GAChJ,CAEJ,CCPA,SAAS2F,GAAShG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,KAAK,OAAO,OAAO,eAAe,cAAc,QAAQ,eAAe,QAAQ,YAAa,GAAI,EAAE,0BAA2B,CAAA,CAAA,GACrI,CAEJ,CCPA,SAAS4F,GAAWjG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAElB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,eAAe,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAxE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,uYAAwY,CAAA,CAAA,GAClZ,CAEJ,CCPA,SAAS6F,GAAoBlG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAE3B,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,uJAAA,CAAA,CACJ,GACF,CAEJ,CCVA,SAAS8F,GAAsBnG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAE7B,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,KAAK,eAAe,EAAE,4FAA6F,CAAA,CAAA,GAC3H,CAEJ,CCPA,SAAS+F,GAAcpG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAErB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,sLAAuL,CAAA,CAAA,GACjM,CAEJ,CCPA,SAASgG,GAAgBrG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEvB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,SAAS,UACT,EAAE,oHAAA,CAAA,CACJ,GACF,CAEJ,CCVA,SAASiG,GAAgBtG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEvB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,SAAS,UACT,EAAE,iHAAA,CAAA,CACJ,GACF,CAEJ,CCVA,SAASkG,GAAiBvG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAExB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,SAAS,UACT,EAAE,oHAAA,CAAA,CACJ,GACF,CAEJ,CCVA,SAASmG,GAAcxG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAErB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,SAAS,UAAU,EAAE,iGAAkG,CAAA,CAAA,GAC/H,CAEJ,CCPA,SAASoG,GAAUzG,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEjB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,gBAAgB,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAzE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CACC,SAACA,EAAA,IAAA,QAAA,CAAM,CAAA,EACT,EACAA,EAAAA,IAAC,OAAK,CAAA,EAAE,idAAkd,CAAA,CAAA,GAC5d,CAEJ,CCVA,SAASqG,GAAS1G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAAT,EAAApB,EAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAa,EACb,QAAQ,YACR,OAAO,MACP,MAAM,OACFmB,GATL,CAWE,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,2FAA4F,CAAA,EACpGA,EAAAA,IAAC,OAAK,CAAA,EAAE,oDAAqD,CAAA,CAAA,CAAA,EAC/D,CAEJ,CClBA,SAASsG,GAAQ3G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEf,OAAAmC,EAAA,KAAC,MAAAT,EAAApB,EAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAa,EACb,QAAQ,YACR,OAAO,MACP,MAAM,OACFmB,GATL,CAWE,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,OAAO,OAAO,EAAE,gBAAgB,EACtCA,EAAAA,IAAC,OAAK,CAAA,EAAE,2DAA4D,CAAA,EACpEA,EAAAA,IAAC,OAAK,CAAA,EAAE,6DAA8D,CAAA,EACtEA,EAAAA,IAAC,OAAK,CAAA,EAAE,iCAAkC,CAAA,CAAA,CAAA,EAC5C,CAEJ,CCpBA,SAASuG,GAAW5G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAElB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,gBAAgB,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAzE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,qVAAsV,CAAA,CAAA,GAChW,CAEJ,CCPA,SAASwG,GAAa7G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEpB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,gBAAgB,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAzE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,+SAAgT,CAAA,CAAA,GAC1T,CAEJ,CCPA,SAASyG,GAAS9G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,OAAC,WAAI,QAAQ,YAAY,MAAM,MAAM,OAAO,OAAUV,IACnD,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAY,MACZ,EAAE,gKAAA,CAAA,CACH,GACH,CAEJ,CCdA,SAAS0G,GAAU/G,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEjB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,2BAA4B,CAAA,EACpCA,EAAAA,IAAC,OAAK,CAAA,EAAE,uRAAwR,CAAA,CAAA,GAClS,CAEJ,CCRA,SAAS2G,GAAYhH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEnB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,KAAK,OAAO,OAAO,eAAe,cAAc,QAAQ,eAAe,QAAQ,YAAa,GAAI,EAAE,0BAA2B,CAAA,CAAA,GACrI,CAEJ,CCPA,MAAM4G,GAAgBjH,IAAA,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UACrBmC,OAAAA,EAAA,KAAA,MAAAT,EAAApB,EAAA,CAAI,MAAM,MAAM,OAAO,MAAM,KAAK,eAAe,QAAQ,eAAkBmB,GAA3E,CACE,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,qhBAAshB,CAAA,CAAA,CAChiB,EAAA,GCJF,SAAS6G,GAASlH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,0yBAA2yB,CAAA,CAAA,GACrzB,CAEJ,CCPA,SAAS8G,GAASnH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,ilBAAklB,CAAA,CAAA,GAC5lB,CAEJ,CCPA,MAAM+G,GAAYpH,IAAA,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UACjBmC,OAAAA,EAAA,KAAA,MAAAT,EAAApB,EAAA,CAAI,MAAM,MAAM,OAAO,MAAM,KAAK,eAAe,QAAQ,iBAAoBmB,GAA7E,CACE,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,uXAAwX,CAAA,CAAA,CAClY,EAAA,GCJF,SAASgH,GAASrH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,gBAAgB,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAzE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,+KAAgL,CAAA,EACxLA,EAAAA,IAAC,OAAK,CAAA,EAAE,kIAAmI,CAAA,CAAA,GAC7I,CAEJ,CCRA,MAAMiH,GAAatH,IAAA,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAClBmC,OAAAA,EAAA,KAAA,MAAAT,EAAApB,EAAA,CAAI,MAAM,MAAM,OAAO,MAAM,KAAK,eAAe,QAAQ,iBAAoBmB,GAA7E,CACE,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,+wBAAgxB,CAAA,CAAA,CAC1xB,EAAA,GCJF,SAASkH,GAAUvH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEjB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,0OAA2O,CAAA,CAAA,GACrP,CAEJ,CCPA,SAASmH,GAAexH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEtB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,MAAM,6BAA6B,QAAQ,YAAY,MAAM,MAAM,OAAO,OAAUmB,GAApF,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAY,MACZ,EAAE,gFAAA,CAAA,CACH,GACH,CAEJ,CCdA,SAASoH,GAAazH,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEpB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,KAAK,OAAO,OAAO,eAAe,iBAAkB,GAAI,YAAa,GAAI,EAAE,iDAAkD,CAAA,EACnIA,EAAA,IAAC,OAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,iBAAkB,GAClB,YAAa,GACb,EAAE,+KAAA,CACJ,EACAA,EAAAA,IAAC,OAAK,CAAA,EAAE,2EAA4E,CAAA,CAAA,GACtF,CAEJ,CChBA,SAASqH,GAAW1H,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAElB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,cAAc,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAvE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAA,IAAC,OAAA,CACC,KAAK,OACL,OAAO,eACP,eAAe,QACf,YAAa,GACb,EAAE,gKAAA,CACJ,EACAA,EAAA,IAAC,OAAA,CACC,KAAK,OACL,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAa,GACb,EAAE,kHAAA,CAAA,CACJ,GACF,CAEJ,CCrBA,SAASsH,GAAS3H,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,gBAAgB,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAAzE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,gbAAib,CAAA,CAAA,GAC3b,CAEJ,CCPA,SAASuH,GAAS5H,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEhB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,uFAAwF,CAAA,EAChGA,EAAAA,IAAC,OAAK,CAAA,EAAE,mRAAoR,CAAA,CAAA,GAC9R,CAEJ,CCRA,SAASwH,GAAW7H,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAElB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,KAAK,eAAe,QAAQ,YAAY,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACxBzF,EAAAA,IAAC,OAAK,CAAA,EAAE,6HAA8H,CAAA,EACtIA,EAAAA,IAAC,OAAK,CAAA,EAAE,6HAA8H,CAAA,CAAA,GACxI,CAEJ,CCRA,SAASyH,GAAY9H,EAAwD,CAAxD,IAAAC,EAAAD,EAAE,OAAA8F,GAAF7F,EAAYyB,EAAAtB,EAAZH,EAAY,CAAV,UAEnB,OAAAmC,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,QAAQ,YAAY,KAAK,eAAe,OAAO,MAAM,MAAM,OAAUmB,GAArE,CACF,SAAA,CAASoE,GAAAzF,EAAAA,IAAC,SAAO,SAAMyF,CAAA,CAAA,EACvBzF,EAAA,IAAA,OAAA,CAAK,KAAK,OAAO,EAAE,gBAAgB,EACpCA,EAAAA,IAAC,OAAK,CAAA,EAAE,yOAA0O,CAAA,CAAA,GACpP,CAEJ,CC8BO,MAAM0H,GAAwB,CACnC,CAACtI,EAAS,SAAS,EAAGoG,GACtB,CAACpG,EAAS,OAAO,EAAGsG,GACpB,CAACtG,EAAS,IAAI,EAAGuG,GACjB,CAACvG,EAAS,MAAM,EAAGwG,GACnB,CAACxG,EAAS,eAAe,EAAGyG,GAC5B,CAACzG,EAAS,iBAAiB,EAAG0G,GAC9B,CAAC1G,EAAS,SAAS,EAAG2G,GACtB,CAAC3G,EAAS,WAAW,EAAG4G,GACxB,CAAC5G,EAAS,SAAS,EAAG+G,GACtB,CAAC/G,EAAS,WAAW,EAAG6G,GACxB,CAAC7G,EAAS,YAAY,EAAG8G,GACzB,CAAC9G,EAAS,KAAK,EAAGgH,GAClB,CAAChH,EAAS,IAAI,EAAGiH,GACjB,CAACjH,EAAS,GAAG,EAAGkH,GAChB,CAAClH,EAAS,MAAM,EAAGmH,GACnB,CAACnH,EAAS,QAAQ,EAAGoH,GACrB,CAACpH,EAAS,IAAI,EAAGqH,GACjB,CAACrH,EAAS,KAAK,EAAGsH,GAClB,CAACtH,EAAS,OAAO,EAAGuH,GACpB,CAACvH,EAAS,QAAQ,EAAGwH,GACrB,CAACxH,EAAS,IAAI,EAAGyH,GACjB,CAACzH,EAAS,IAAI,EAAG0H,GACjB,CAAC1H,EAAS,IAAI,EAAG2H,GACjB,CAAC3H,EAAS,IAAI,EAAG4H,GACjB,CAAC5H,EAAS,KAAK,EAAG6H,GAClB,CAAC7H,EAAS,KAAK,EAAG8H,GAClB,CAAC9H,EAAS,UAAU,EAAG+H,GACvB,CAAC/H,EAAS,QAAQ,EAAGgI,GACrB,CAAChI,EAAS,IAAI,EAAGkI,GACjB,CAAClI,EAAS,IAAI,EAAGmI,GACjB,CAACnI,EAAS,MAAM,EAAGoI,GACnB,CAACpI,EAAS,OAAO,EAAGqI,GACpB,CAACrI,EAAS,MAAM,EAAGiI,EACrB,kCCnEMxF,EAAuBlC,GAAyC,CAAzC,IAAAC,EAAAD,EAAE,MAAAlD,EAAM,OAAAuI,EAAQ,UAAA5D,GAAhBxB,EAA8ByB,EAAAtB,EAA9BH,EAA8B,CAA5B,OAAM,SAAQ,cACvC,GAAA,CAACnD,EAAa,OAAA,KACZ,MAAAiD,EAAYgI,GAAejL,CAAI,EAC/BkL,EAAYxH,EAAa,CAACiB,EAAWG,GAAO,IAAI,CAAC,EAEvD,aAAQ7B,EAAUQ,EAAA,CAAA,cAAa8E,EAAQ,UAAW2C,GAAetG,EAAM,CACzE,sECPMuG,GAAoBjI,GAA0B,CAA1B,IAAAC,EAAAD,EAAE,UAAA1B,GAAF2B,EAAeyB,EAAAtB,EAAfH,EAAe,CAAb,aAC1B,OACGmC,EAAAA,KAAA,MAAA,CAAI,UAAWR,GAAO,QACrB,SAAA,CAAAvB,EAAA,IAAC,QAAOsB,EAAApB,EAAA,GAAGmB,GAAH,CAAS,UAAWE,GAAO,OAAO,EACzCtD,CAAA,EACH,CAEJ,oCCAM4J,GAAwB,CAAC,CAAE,MAAAnG,EAAO,SAAAoG,EAAU,QAAAC,EAAS,KAAApG,EAAM,aAAAqG,EAAc,aAAAC,EAAe,MAAY,CACxG,MAAMC,EAAoB,CAAC,CAACvG,GAAQqG,IAAiB,OAC/CG,EAAqB,CAAC,CAACxG,GAAQqG,IAAiB,QAEtD,cACG,QAAM,CAAA,UAAWzG,GAAO,MAAO,QAASwG,EACtC,SAAA,CAAqBG,GAAAvG,EACrB,CAACsG,GACAlG,EAAAA,KAAC,OACE,CAAA,SAAA,CAAAL,EACAoG,GAAY9H,EAAA,IAAC,OAAK,CAAA,MAAM,WAAW,SAAC,GAAA,CAAA,CAAA,EACvC,EAEDmI,GAAsBxG,CAAA,EACzB,CAEJ,sUCdMyG,GAA2BzI,GAA0C,CAA1C,IAAAC,EAAAD,EAAE,MAAAyC,EAAO/C,EAAW,QAApBO,EAA+ByB,EAAAtB,EAA/BH,EAA+B,CAA7B,SACjC,MAAMwB,EAAYjB,EAAa,CAC7B,CACE,CAACkI,GAAM,MAAM,EAAGjG,IAAS/C,EAAW,MACpC,CAACiJ,GAAS,MAAM,EAAGlG,IAAS/C,EAAW,SACvC,CAACkJ,GAAO,MAAM,EAAGnG,IAAS/C,EAAW,OACrC,CAACmJ,GAAK,MAAM,EAAGpG,IAAS/C,EAAW,KACnC,CAACoJ,GAAO,MAAM,EAAGrG,IAAS/C,EAAW,OACrC,CAACqJ,GAAM,MAAM,EAAGtG,IAAS/C,EAAW,MACpC,CAACsJ,GAAO,MAAM,EAAGvG,IAAS/C,EAAW,OACrC,CAACuJ,GAAS,MAAM,EAAGxG,IAAS/C,EAAW,SACvC,CAACwJ,GAAO,MAAM,EAAGzG,IAAS/C,EAAW,MAAA,CACvC,CACD,EAED,aAAQ,OAAKa,EAAA,CAAA,UAAAkB,EAAsB,KAAK,UAAaC,EAAM,CAC7D,EC5BMyH,GAAS,CAAC,CAAE,SAAA7K,KAAwD,CAClE,KAAA,CAAC8K,CAAS,EAAItF,EAAA,SAAS,IAAM,SAAS,cAAc,KAAK,CAAC,EAEhEM,OAAAA,EAAAA,UAAU,KAEC,SAAA,KAAK,YAAYgF,CAAS,EAG5B,IAAM,CACF,SAAA,KAAK,YAAYA,CAAS,CACrC,GACC,CAACA,CAAS,CAAC,EAEPC,GAAS,aAAa/K,EAAU8K,CAAS,CAClD,ECfaE,GAAe,CAAC,CAC3B,SAAAC,EACA,QAAAtI,EACA,UAAAuI,EAAY,GACZ,eAAAC,EAAiB,GACnB,IAKM,CACJrF,EAAAA,UAAU,IAAM,CACV,GAAA,CAACmF,GAAY,CAACC,EAAW,OAEvB,MAAAE,EAAQ,WAAW,IAAM,CACrBzI,EAAA,GACPwI,CAAc,EAEV,MAAA,IAAM,aAAaC,CAAK,GAC9B,CAACH,EAAUC,EAAWC,EAAgBxI,CAAO,CAAC,CACnD,ECda0I,GAAkB,CAAC,CAAE,IAAA1F,EAAK,sBAAA2F,EAAuB,aAAAC,KAAgD,CAC5GzF,EAAAA,UAAU,IAAM,CACR,MAAA0F,EAAsBxG,GAAsB,CAC1C,MAAAyG,GAAe9F,GAAA,YAAAA,EAAK,UAAW,CAACA,EAAI,QAAQ,SAASX,EAAM,MAAc,EACzE0G,EAAyBH,GAAA,MAAAA,EAAc,QAAiB,CAACA,EAAa,QAAQ,SAASvG,EAAM,MAAc,EAA1D,GACnDyG,GAAgBC,GACIJ,EAAA,CAE1B,EAES,gBAAA,iBAAiB,YAAaE,CAAkB,EAClD,IAAM,CACF,SAAA,oBAAoB,YAAaA,CAAkB,CAC9D,CACC,EAAA,CAAC7F,EAAK4F,EAAcD,CAAqB,CAAC,CAC/C,ECfaK,GAAyB,CAAC,CAAE,IAAAhG,EAAK,UAAAiG,KAA0D,CAChG,KAAA,CAACC,EAAYC,CAAa,EAAItG,EAAA,SAAqB,CAAE,MAAO,EAAG,OAAQ,EAAG,EAEhFM,OAAAA,EAAAA,UAAU,IAAM,CACVH,GAAA,MAAAA,EAAK,SAAWiG,GACJE,EAAA,CACZ,MAAOnG,EAAI,QAAQ,YACnB,OAAQA,EAAI,QAAQ,YAAA,CACrB,CACH,EACC,CAACA,EAAKiG,CAAS,CAAC,EAEZC,CACT,ECnBO,SAASE,GAAcxJ,EAAa,CACzC,MAAMyJ,EAAWC,EAAAA,MAAM,EACjBC,EAAY3J,GAAA,KAAAA,EAAMyJ,EAClBlF,EAAU,GAAGoF,CAAS,SACtBC,EAAa,GAAGD,CAAS,YAExB,MAAA,CACL,UAAAA,EACA,QAAApF,EACA,WAAAqF,CACF,CACF,CCXO,MAAMC,GAAe,CAACnB,EAAmBoB,EAAgB,MAAiB,CAC/E,KAAM,CAACC,EAAWC,CAAY,EAAI/G,EAAAA,SAAS,EAAK,EAEhDM,OAAAA,EAAAA,UAAU,IAAM,CACVmF,GAAY,CAACqB,EACfC,EAAa,EAAI,EACR,CAACtB,GAAYqB,GACtB,WAAW,IAAM,CACfC,EAAa,EAAK,GACjBF,CAAK,CACV,EACC,CAACpB,CAAQ,CAAC,EAENqB,CACT,ECdaE,GAAgB,CAAC,CAC5B,IAAA7G,EACA,UAAA8G,EACA,UAAAH,CACF,IAIM,CACJ,KAAM,CAACI,EAAYC,CAAa,EAAInH,EAAAA,SAAS,EAAK,EAElDM,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAM8G,EAAkB,IAAM,CACtB,KAAA,CAAE,QAAAC,GAAYlH,EAEpB,GAAIkH,EAAS,CACX,GAAIJ,IAAc,QAAS,CACzB,KAAM,CAAE,YAAAK,EAAc,EAAG,YAAAC,EAAc,CAAM,EAAAF,EAC7CF,EAAcG,EAAcC,CAAW,CAAA,CAGzC,GAAIN,IAAc,SAAU,CAC1B,KAAM,CAAE,aAAAO,EAAe,EAAG,aAAAC,EAAe,CAAM,EAAAJ,EAC/CF,EAAcK,EAAeC,CAAY,CAAA,CAC3C,CAEJ,EAEA,OAAIX,GACcM,EAAA,EAGX,OAAA,iBAAiB,SAAUA,CAAe,EAE1C,IAAM,OAAO,oBAAoB,SAAUA,CAAe,CAChE,EAAA,CAACjH,EAAK8G,EAAWH,CAAS,CAAC,EAEvBI,CACT,EChCaQ,GAAc,CAAC,CAAE,IAAAvH,EAAK,QAAAwH,EAAS,WAAAC,KAAoC,CAC9EtH,EAAAA,UAAU,IAAM,CACR,MAAAuH,EAAkBjP,GAAqB,EACvCA,GAAA,YAAAA,EAAG,QAAS+O,IAAWxH,GAAA,MAAAA,EAAK,UACnByH,EAAA,CAEf,EAES,gBAAA,iBAAiB,UAAWC,EAAgB,EAAK,EACnD,IAAM,CACF,SAAA,oBAAoB,UAAWA,EAAgB,EAAK,CAC/D,CACC,EAAA,CAAC1H,EAAKwH,EAASC,CAAU,CAAC,CAC/B,ECdaE,GAAoB,CAAC,CAAE,SAAAC,EAAU,SAAAtC,KAAqC,CACjFnF,EAAAA,UAAU,IAAM,CACd,MAAM0H,EAAeD,EAAS,QAC1B,GAAA,CAACtC,GAAY,CAACuC,EAAc,OAE1B,MAAAC,EAAoBD,EAAa,iBAAiB,0EAA0E,EAC5HE,EAAeD,EAAkB,CAAC,EAClCE,EAAcF,EAAkBA,EAAkB,OAAS,CAAC,EAE5DG,EAAqB5I,GAAyB,CAC9CA,EAAM,MAAQ,QACZA,EAAM,UAAY,SAAS,gBAAkB0I,GAC/C1I,EAAM,eAAe,EACrB2I,EAAY,MAAM,GACT,CAAC3I,EAAM,UAAY,SAAS,gBAAkB2I,IACvD3I,EAAM,eAAe,EACrB0I,EAAa,MAAM,GAGzB,EAEa,OAAAF,EAAA,iBAAiB,UAAWI,CAAiB,EAEnD,IAAM,CACEJ,EAAA,oBAAoB,UAAWI,CAAiB,CAC/D,CAAA,EACC,CAACL,EAAUtC,CAAQ,CAAC,CACzB,EC/Ba4C,GAAcC,EAAgC,cAAA,CAAE,CAAA,ECChDC,GAAeD,EAAAA,cAAiC,CAC3D,KAAMxM,GAAU,MAChB,QAAS,IAAM,CAAA,CACjB,CAAC,ECAY0M,GAAuE,CAAC,CAAE,SAAAhO,EAAU,aAAAiO,KAAmB,CAClH,KAAM,CAACC,EAAMC,CAAO,EAAI3I,EAAAA,SAASlE,GAAU,KAAK,EAEhDwE,EAAAA,UAAU,IAAM,CACVoI,GAAQ,OAAOA,GAAS,WAC1B,SAAS,KAAK,UAAU,OAAO5M,GAAU,MAAOA,GAAU,IAAI,EACrD,SAAA,KAAK,UAAU,IAAI4M,CAAI,EAClC,EACC,CAACA,CAAI,CAAC,EAETpI,EAAAA,UAAU,IAAM,CACVmI,GAAgB,OAAOA,GAAiB,WAC1C,SAAS,KAAK,UAAU,OAAO3M,GAAU,MAAOA,GAAU,IAAI,EACrD,SAAA,KAAK,UAAU,IAAI2M,CAAY,EAC1C,EACC,CAACA,CAAY,CAAC,EAEX,MAAAG,EAAgBC,UAAQ,KAAO,CAAE,KAAAH,EAAM,QAAAC,IAAY,CAACD,CAAI,CAAC,EAE/D,aAAQH,GAAa,SAAb,CAAsB,MAAOK,EAAgB,SAAApO,EAAS,CAChE,ECxBasO,GAAqBC,GAAwB,CACxD,KAAM,CAAE,YAAAC,CAAA,EAAgBC,EAAA,WAAWZ,EAAW,EAE9C/H,EAAAA,UAAU,IAAM,CACV0I,GACMD,EAAA,CACV,EACC,CAACC,EAAaD,CAAO,CAAC,CAC3B,ECRaG,GAAW,IAAMD,EAAAA,WAAWV,EAAY,ECArD,SAASY,IAAkC,CACzC,KAAM,CAAE,WAAYC,EAAO,YAAaC,CAAW,EAAA,OAE5C,MAAA,CAAE,MAAAD,EAAO,OAAAC,CAAO,CACzB,CAEO,SAASC,IAAkC,CAChD,KAAM,CAACC,EAAkBC,CAAmB,EAAIxJ,EAAA,SAAqBmJ,IAAqB,EAE1F7I,OAAAA,EAAAA,UAAU,IAAM,CACd,SAASmJ,GAAe,CACtBD,EAAoBL,IAAqB,CAAA,CAGpC,cAAA,iBAAiB,SAAUM,CAAY,EACvC,IAAM,OAAO,oBAAoB,SAAUA,CAAY,CAChE,EAAG,EAAE,EAEEF,CACT,CCVa,MAAAG,GAAqB,CAAC,CAAE,WAAAC,EAAY,WAAAC,EAAY,SAAAnE,EAAU,QAAAoE,EAAU,KAAkC,CAC3G,KAAA,CAACC,EAAUC,CAAW,EAAI/J,EAAA,SAAS,CAAE,IAAK,EAAG,KAAM,EAAG,EACtD,CAAE,MAAOgK,EAAc,OAAQC,CAAA,EAAkB9D,GAAuB,CAC5E,IAAKyD,EACL,UAAWnE,CAAA,CACZ,EACK,CAAE,MAAOyE,EAAa,OAAQC,CAAA,EAAiBb,GAAoB,EAEzEhJ,OAAAA,EAAAA,UAAU,IAAM,CACV,GAAAmF,IAAYkE,GAAA,MAAAA,EAAY,SAAS,CAC7B,MAAAS,EAAOT,GAAA,YAAAA,EAAY,QAAQ,wBAEjC,IAAIU,EAAM,KAAK,MAAMD,EAAK,OAASP,CAAO,EACtCS,EAAO,KAAK,MAAMF,EAAK,IAAI,EAG3BC,EAAMJ,EAAgB,OAAO,cAC/BI,EAAM,KAAK,MAAMD,EAAK,IAAMH,EAAgBJ,CAAO,GAEjDS,EAAON,EAAe,OAAO,aAC/BM,EAAO,KAAK,MAAM,OAAO,WAAaN,EAAeH,CAAO,GAE1DS,EAAO,IACFA,EAAAT,GAGGE,EAAA,CAAE,IAAAM,EAAK,KAAAC,EAAM,CAAA,CAC3B,EACC,CAAC7E,EAAUkE,EAAYM,EAAeD,EAAcH,EAASK,EAAaC,CAAY,CAAC,EAEnFL,CACT,EClCaS,GAAuB,CAAC,CAAE,GAAAxN,EAAI,UAAA2I,EAAW,eAAAC,KAA6B,CACjF,KAAM,CAACF,EAAU+E,CAAW,EAAIxK,EAAAA,SAAS,EAAK,EACxC2J,EAAa/I,SAAO,IAAI,EACxBgJ,EAAahJ,SAAuB,IAAI,EACxC,CAAE,IAAAyJ,EAAK,KAAAC,GAASZ,GAAmB,CAAE,WAAAC,EAAY,WAAAC,EAAY,SAAAnE,EAAU,EACvE,CAAE,UAAAiB,CAAA,EAAcH,GAAcxJ,CAAE,EAEhC0N,EAAe,IAAMD,EAAY,EAAK,EACtCE,EAAc,IAAMF,EAAY,EAAI,EACpCG,EAAgB,IAAMH,EAAY,CAAC/E,CAAQ,EAC3CmF,EAAqBhS,GAAkB,CAC3CA,EAAE,eAAe,EACH+R,EAAA,CAChB,EAEA,OAAAjD,GAAY,CAAE,QAAS,SAAU,IAAKkC,EAAY,WAAYa,EAAc,EAC5E5E,GAAgB,CAAE,IAAK+D,EAAY,sBAAuBa,EAAc,aAAcd,EAAY,EACrFnE,GAAA,CACX,SAAAC,EACA,QAASgF,EACT,UAAA/E,EACA,eAAAC,CAAA,CACD,EAEM,CACL,UAAAe,EACA,YAAAgE,EACA,aAAAD,EACA,cAAAE,EACA,kBAAAC,EACA,IAAAP,EACA,KAAAC,EACA,SAAA7E,EACA,WAAAkE,EACA,WAAAC,CACF,CACF,yCCpCMpN,GAA6BN,GAW7B,CAX6B,IAAAC,EAAAD,EACjC,UAAA1B,EACA,eAAAqQ,EACA,GAAA9N,EACA,MAAA+N,EACA,UAAAnN,EACA,aAAAoN,EAAehP,GAAiB,KAChC,UAAAM,EAAY,QACZ,UAAAqJ,EAAY,GACZ,eAAAC,EAAiB,KATgBxJ,EAU9ByB,EAAAtB,EAV8BH,EAU9B,CATH,WACA,iBACA,KACA,QACA,YACA,eACA,YACA,YACA,mBAGA,MAAM6O,EAAqBD,EACrB,CAAE,YAAAL,EAAa,aAAAD,EAAc,cAAAE,EAAe,kBAAAC,EAAmB,UAAAlE,EAAW,IAAA2D,EAAK,KAAAC,EAAM,SAAA7E,EAAU,WAAAkE,EAAY,WAAAC,GAC/GW,GAAqB,CAAE,GAAAxN,EAAI,UAAA2I,EAAW,eAAAC,EAAgB,EAClDsF,EAAevO,EAAa,CAACoB,GAAO,QAASH,CAAS,CAAC,EAG3D,OAAAW,EAAA,KAAC0M,EAAA,CACC,MAAO,CAAE,SAAU,WAAY,OAAQ,SAAU,EACjD,QAAS3O,IAAc,QAAUsO,EAAgB,OACjD,YAAatO,IAAc,QAAUqO,EAAc,OACnD,aAAcrO,IAAc,QAAUoO,EAAe,OACrD,QAASpO,IAAc,QAAUqO,EAAc,OAC/C,OAAQrO,IAAc,QAAUoO,EAAe,OAC/C,cAAepO,IAAc,cAAiBzD,GAAkBgS,EAAkBhS,CAAC,EAAI,OACvF,SAAU,GACV,IAAK+Q,EACL,mBAAkBjD,EAEjB,SAAA,CAAAlM,EACAiL,SACEJ,GACC,CAAA,SAAA9I,EAAA,IAAC,WAAI,MAAOsB,EAAApB,EAAA,GAAKqO,GAAL,CAAY,IAAAT,EAAK,KAAAC,CAAA,GAAQ,IAAKV,EAAY,KAAK,UAAU,GAAIlD,GAAe9I,IAAM,UAAWqN,EACtG,SAAAJ,CACH,EAAA,CACF,CAAA,CAAA,CAAA,CAEJ,CAEJ,EC/CgB,SAAAK,GAAcxC,EAAiB1G,EAAwB,CACrE,GAAIA,EAAc,OAAAA,EAElB,OAAQ0G,EAAM,CACZ,KAAKjN,EAAU,KACN,MAAA,uBACT,KAAKA,EAAU,QACN,MAAA,uBACT,KAAKA,EAAU,MACN,MAAA,uBACT,KAAKA,EAAU,QACN,MAAA,qBACT,KAAKA,EAAU,KACN,MAAA,aACT,QACS,MAAA,OAAA,CAEb,CAEgB,SAAA0P,GAAazC,EAAiBxK,EAAuC,CACnF,GAAIA,EACK,OAAAA,EAGT,OAAQwK,EAAM,CACZ,KAAKjN,EAAU,KACb,OAAOE,EAAS,KAClB,KAAKF,EAAU,QACb,OAAOE,EAAS,QAClB,KAAKF,EAAU,MACb,OAAOE,EAAS,MAClB,KAAKF,EAAU,QACb,OAAOE,EAAS,gBAClB,KAAKF,EAAU,KACb,OAAOE,EAAS,KAClB,QACE,MAAA,CAEN,oLC9BMyP,GAAyBlP,GAUzB,CAVyB,IAAAC,EAAAD,EAC7B,UAAAuJ,EACA,QAAAtI,EACA,MAAA6E,EACA,QAAAR,EACA,KAAAkH,EAAOjN,EAAU,KACjB,KAAAyC,EACA,UAAAwH,EAAY,GACZ,eAAAC,EAAiB,KARYxJ,EAS1ByB,EAAAtB,EAT0BH,EAS1B,CARH,WACA,UACA,QACA,UACA,OACA,OACA,YACA,mBAGM,MAAA2K,EAAYF,GAAanB,CAAQ,EACjC4F,EAAYvE,GAAa,CAACrB,EAS5B,GAPSD,GAAA,CACX,SAAAC,EACA,QAAAtI,EACA,UAAAuI,EACA,eAAAC,CAAA,CACD,EAEG,CAACmB,EAAkB,OAAA,KAEjB,MAAAwE,EAAaJ,GAAcxC,EAAM1G,CAAK,EACtCuJ,EAAiBJ,GAAazC,EAAMxK,CAAI,EAG5C,OAAA3B,MAAC8I,GACC,CAAA,SAAA9I,EAAAA,IAAC,MAAI,CAAA,UAAWG,EAAa,CAACoB,GAAO,QAAS,CAAE,CAACA,GAAO,gBAAgB,EAAGuN,CAAW,CAAA,CAAC,EACrF,SAAA/M,EAAAA,KAAC,aAAQV,IAAM,UAAWE,GAAO,QAC/B,SAAA,CAAAvB,EAAA,IAACsC,EAAA,CACC,KAAMlD,EAAS,OACf,KAAMD,EAAW,KACjB,MAAM,oBACN,QAASyB,EACT,UAAWW,GAAO,cAAA,CACpB,EACAvB,EAAAA,IAAC,UACC,SAACA,EAAA,IAAAoF,GAAA,CAAO,KAAM4J,EAAgB,GAAG,KAC9B,SAAAD,CAAA,CACH,CACF,CAAA,EACA/O,EAAAA,IAAC,KAAG,SAAQiF,CAAA,CAAA,CAAA,CACd,EAAA,CACF,CAAA,EACF,CAEJ,ECvDO,SAASgK,GAAwB,CACtC,eAAAC,EACA,cAAAC,EACA,KAAA1S,CACF,EAIY,CACV,OAAI0S,IAAiBA,GAAA,YAAAA,EAAgB1S,MAAU,OACtC,CAAC,EAAC0S,GAAA,MAAAA,EAAgB1S,IAGpB,EAAQyS,CACjB,CCVO,SAASE,GAAsB,CACpC,KAAA3S,EACA,eAAAyS,EACA,SAAAxM,CACF,EAIG,CACD,KAAM,CAAE,kBAAA2M,EAAmB,cAAAF,GAAkBzC,EAAAA,WAAWZ,EAAW,EAC7DwD,EAAeL,GAAwB,CAAE,cAAAE,EAAe,KAAA1S,EAAM,eAAAyS,EAAgB,EAC9E,CAACK,EAAWC,CAAY,EAAI/L,EAAAA,SAAkB6L,CAAY,EAE1DvM,EAAgB1G,GAAqC,CACnD,MAAAoT,EAAUpT,EAAE,OAAO,QACzBmT,EAAaC,CAAO,EACpB/M,GAAA,MAAAA,EAAWrG,GACXgT,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAOgT,CAAA,EACrC,EAEMC,EAAc1M,EAAAA,YAAY,IAAM,CACpCwM,EAAaF,CAAY,EACzBD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO6S,CAAA,EAAc,EAChD,CAAC7S,CAAI,CAAC,EAET,OAAA8P,GAAkBmD,CAAW,EAEtB,CACL,aAAA3M,EACA,QAASwM,CACX,CACF,6JC1BMI,GAA+BhQ,GAY/B,CAZ+B,IAAAC,EAAAD,EACnC,MAAAlD,EACA,MAAAiF,EACA,SAAAE,EACA,QAAAgO,EACA,SAAA9H,EAAW,GACX,aAAAE,EAAe,OACf,eAAAkH,EACA,SAAAxM,EACA,GAAAlC,EACA,UAAAY,GAVmCxB,EAWhCyB,EAAAtB,EAXgCH,EAWhC,CAVH,OACA,QACA,WACA,UACA,WACA,eACA,iBACA,WACA,KACA,cAGM,KAAA,CAAE,aAAAmD,EAAc,QAAA0M,GAAYL,GAAsB,CAAE,KAAA3S,EAAM,eAAAyS,EAAgB,SAAAxM,EAAU,EACpF,CAAE,UAAAyH,CAAA,EAAcH,GAAcxJ,CAAE,EAChCqP,EAAgB1P,EAAa,CACjCoB,GAAO,SACPH,EACA,CACE,CAACG,GAAO,kBAAkB,EAAG,CAAC,CAACK,EAC/B,CAACL,GAAO,iBAAiB,EAAGkO,CAAA,CAC9B,CACD,EAED,OACG1N,EAAAA,KAAA,MAAAT,EAAApB,EAAA,GAAQmB,GAAR,CAAc,UAAWwO,EACxB,SAAA,CAAA7P,EAAA,IAAC,QAAA,CACC,GAAImK,EACJ,KAAA1N,EACA,KAAK,WACL,SAAAmF,EACA,SAAAkG,EACA,QAAA2H,EACA,SAAU1M,EACV,aAAY6M,EAAUlO,EAAQ,MAAA,CAChC,EACA1B,EAAA,IAAC6H,GAAA,CACC,MAAAnG,EACA,SAAAoG,EACA,QAASqC,EACT,aAAcyF,EACd,KAAMH,EAAUzP,EAAAA,IAAC6F,GAAoB,CAAA,CAAA,QAAMC,GAAsB,EAAA,EACjE,aAAAkC,CAAA,CAAA,CACF,GACF,CAEJ,gFCtCa8H,GAAiC,CAAC,CAC7C,OAAAC,EACA,QAAAtO,EACA,WAAAuO,EACA,WAAA5F,EACA,KAAA3N,EACA,YAAAgG,EACA,SAAAb,EACA,SAAAkG,EACA,OAAAmI,CACF,IAAM,CACJ,MAAMC,EAAiBD,GAAA,YAAAA,EAAQ,OAAQ/T,GAAUA,EAAM,UAAU,IAAKA,GAAUA,EAAM,OAChFiU,EAAcF,GAAA,YAAAA,EAAQ,OAAQ/T,GAAUA,EAAM,UAAU,IAAKA,GAAUA,EAAM,IAC/E,IAAAkU,EAAkBpQ,EAAAA,IAAA,OAAA,CAAM,SAAYyC,CAAA,CAAA,EAExC,OAAIyN,GAAkBA,EAAe,UAAWD,GAAA,YAAAA,EAAQ,QACrCG,EAAApQ,EAAAA,IAAC,QAAK,SAAkB,oBAAA,CAAA,EAChCkQ,GAAkBA,EAAe,SAAW,EACrDE,EAAkBpQ,EAAA,IAAA,OAAA,CAAM,SAAekQ,EAAA,CAAC,EAAE,EACjCA,GAAkBA,EAAe,OAAS,IACnDE,EAAkBpQ,EAAAA,IAAA,OAAA,CAAM,SAAG,GAAAkQ,EAAe,MAAM,kBAAkB,GAIlEnO,EAAA,KAAC,SAAA,CACC,KAAK,SACL,KAAAtF,EACA,MAAO0T,EACP,KAAK,WACL,gBAAc,UACd,gBAAeJ,EACf,gBAAe3F,EACf,GAAI4F,EACJ,QAAAvO,EACA,SAAAG,EACA,gBAAekG,EACf,UAAWvG,GAAO,SAEjB,SAAA,CAAA6O,EACAL,EAAS/P,EAAA,IAAC0F,GAAY,CAAA,CAAA,QAAMF,GAAc,CAAA,CAAA,CAAA,CAAA,CAC7C,CAEJ,EC3DO,SAAS6K,GAA4B,CAC1C,KAAA5T,EACA,QAAAkE,EACA,cAAAwO,EACA,aAAAmB,CACF,EAKuB,CACd,OAAA3P,EAAQ,IAAK4P,GAAW,CAC7B,IAAIC,EAAW,GAEX,OAAArB,IAAiBA,GAAA,MAAAA,EAAgB1S,KAAS,MAAM,QAAQ0S,EAAc1S,CAAI,CAAC,GAEzD0S,EAAc1S,CAAI,EAAiB,KAAM4D,GAASA,IAASkQ,EAAO,KAAMlQ,GAAA,YAAAA,EAAM,MAAOkQ,EAAO,EAAE,IACvFC,EAAA,IAGzB,EAACrB,GAAA,MAAAA,EAAgB1S,KAAS,MAAM,QAAQ6T,CAAY,GACnCA,EAAa,KAAMjQ,GAASA,IAASkQ,EAAO,EAAE,IACtCC,EAAA,IAGtBlP,EAAApB,EAAA,GAAKqQ,GAAL,CAAa,SAAAC,CAAS,EAAA,CAC9B,CACH,CAEa,MAAAC,GAA4B9P,GAChCA,EAAQ,OAAQN,GAASA,EAAK,QAAQ,EAAE,IAAKA,GAASA,EAAK,EAAE,EAGzDqQ,GAA8B,CAAC/P,EAA6BH,IAAmC,CAC1G,MAAMmQ,EAAahQ,EAAQ,KAAMN,GAASA,EAAK,KAAOG,CAAE,EACjD,OAAAG,EAAQ,IAAKN,GACXA,EAAK,KAAOG,EAAKc,EAAApB,EAAA,GAAKG,GAAL,CAAW,SAAU,EAACsQ,GAAA,MAAAA,EAAY,SAAA,GAAatQ,CACxE,CACH,ECjCO,SAASuQ,GAAyB,CACvC,KAAAnU,EACA,aAAA6T,EACA,SAAA5N,EACA,QAAA/B,CACF,EAKG,CACD,KAAM,CAACoP,EAAQc,CAAS,EAAIpN,EAAAA,SAAS,EAAK,EACpC,CAAE,kBAAA4L,EAAmB,cAAAF,GAAkBzC,EAAAA,WAAWZ,EAAW,EAC7DgF,EAAiBT,GAA4B,CAAE,KAAA5T,EAAM,QAAAkE,EAAS,cAAAwO,EAAe,aAAAmB,EAAc,EAC3F,CAACL,EAAQc,CAAS,EAAItN,EAAAA,SAA6BqN,CAAc,EAEjEE,EAAc,IAAMH,EAAU,EAAK,EAEnCI,EAAe,IAAMJ,EAAU,CAACd,CAAM,EAEtCmB,EAAgB1Q,GAAe,CAC7B,MAAA2Q,EAAYT,GAA4BT,EAAQzP,CAAE,EAExDuQ,EAAUI,CAAS,EACnBzO,GAAA,MAAAA,EAAWyO,GACX9B,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAOgU,GAAyBU,CAAS,GACvE,EAEMzB,EAAc1M,EAAAA,YAAY,IAAM,CACpC6N,EAAU,EAAK,EACfE,EAAUD,CAAc,EACxBzB,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAOgU,GAAyBK,CAAc,GAAG,EAC5E,CAACrU,CAAI,CAAC,EAET,OAAA8P,GAAkBmD,CAAW,EAEtB,CACL,YAAAsB,EACA,aAAAC,EACA,aAAAC,EACA,OAAAnB,EACA,OAAAE,CACF,CACF,yOCrCamB,GAA+B,CAAC,CAAE,MAAAlV,EAAO,SAAAmV,KAAe,CACnE,KAAM,CAAE,GAAA7Q,EAAI,MAAAkB,EAAO,SAAA8O,CAAa,EAAAtU,EAC1BoV,EAAcnR,EAAa,CAACoB,GAAO,OAAQA,GAAO,cAAe,CAAE,CAACA,GAAO,gBAAgB,EAAGiP,CAAU,CAAA,CAAC,EAEzGrN,EAAiB3C,GAAgBnE,GAAoC,CACzE,OAAQA,EAAE,IAAK,CACb,IAAK,IACL,IAAK,WACL,IAAK,QACHA,EAAE,eAAe,EACjBgV,EAAS7Q,CAAE,EACX,KAEA,CAEN,EAGE,OAAAuB,EAAA,KAAC,KAAA,CACC,GAAAvB,EACA,KAAK,SACL,gBAAegQ,EACf,SAAU,EACV,UAAWrN,EAAc3C,CAAE,EAC3B,QAAS,IAAM6Q,EAAS7Q,CAAE,EAC1B,UAAW8Q,EAEV,SAAA,CAAAd,EAAYxQ,EAAA,IAAA6F,GAAA,CAAA,CAAoB,EAAK7F,EAAA,IAAC8F,GAAsB,EAAA,EAC7D9F,EAAAA,IAAC,QAAM,SAAM0B,CAAA,CAAA,CAAA,CAAA,CACf,CAEJ,EC7Ba6P,GAAiC,CAAC,CAAE,QAAA5Q,EAAS,OAAAoP,EAAQ,QAAAnP,EAAS,SAAAyQ,EAAU,WAAAjH,KAAiB,CACpG,MAAMoH,EAAgBrR,EAAa,CAACoB,GAAO,SAAU,CAAE,CAACA,GAAO,gBAAgB,EAAGwO,CAAO,CAAC,CAAC,EAGzF,OAAA/P,EAAA,IAAC,KAAA,CACC,KAAK,UACL,GAAIoK,EACJ,SAAU,GACV,UAAY/N,GAAMqE,GAA2B,CAAE,EAAArE,EAAG,QAAAsE,EAAS,QAAAC,EAAS,EACpE,UAAW4Q,EAEV,WAAQ,IAAKnR,GACZL,EAAA,IAACoR,IAAgC,MAAO/Q,EAAM,SAAU,IAAMgR,EAAShR,EAAK,EAAE,CAAtD,EAAAA,EAAK,EAAoD,CAClF,CAAA,CACH,CAEJ,ECpBMoR,GAAqC9R,GAYrC,CAZqC,IAAAC,EAAAD,EACzC,SAAAgB,EACA,KAAAlE,EACA,MAAAiF,EACA,SAAAoG,EAAW,GACX,YAAArF,EAAc,eACd,SAAAb,EAAW,GACX,SAAAc,EACA,aAAA4N,EACA,GAAA9P,EACA,UAAAY,GAVyCxB,EAWtCyB,EAAAtB,EAXsCH,EAWtC,CAVH,UACA,OACA,QACA,WACA,cACA,WACA,WACA,eACA,KACA,cAGM,MAAAgE,EAAMS,SAAO,IAAI,EACjB,CAAE,UAAA8F,EAAW,WAAAC,GAAeJ,GAAcxJ,CAAE,EAC5C,CAAE,YAAAwQ,EAAa,aAAAE,EAAc,aAAAD,EAAc,OAAAlB,EAAQ,OAAAE,GAAWW,GAAyB,CAC3F,KAAAnU,EACA,QAAAkE,EACA,aAAA2P,EACA,SAAA5N,CAAA,CACD,EACKgP,EAAmBvR,EAAa,CAACoB,GAAO,QAASH,CAAS,CAAC,EAEjE,OAAAkI,GAAgB,CAAE,IAAA1F,EAAK,sBAAuBoN,CAAA,CAAa,EAC3D7F,GAAY,CAAE,QAAS,SAAU,IAAAvH,EAAK,WAAYoN,EAAa,SAG5D,MAAI1P,EAAApB,EAAA,CAAA,IAAA0D,GAAcvC,GAAd,CAAoB,UAAWqQ,EAClC,SAAA,CAAA1R,EAAA,IAAC6H,GAAM,CAAA,MAAAnG,EAAc,SAAAoG,EAAoB,QAASqC,EAAW,EAC7DnK,EAAA,IAAC8P,GAAA,CACC,KAAArT,EACA,OAAAsT,EACA,WAAY5F,EACZ,WAAAC,EACA,QAAS6G,EACT,OAAAhB,EACA,YAAAxN,EACA,SAAAb,EACA,SAAAkG,CAAA,CACF,EACA9H,EAAAA,IAACuR,IAAoB,QAAStB,EAAQ,OAAAF,EAAgB,QAASiB,EAAa,WAAA5G,EAAwB,SAAU8G,CAAc,CAAA,CAAA,GAC9H,CAEJ,ECpDO,SAASS,GAA4B,CAC1C,KAAAlV,EACA,cAAA0S,EACA,aAAAmB,CACF,EAIW,CACL,OAAAnB,GAAiBA,EAAc1S,CAAI,EAC9B,OAAO0S,EAAc1S,CAAI,CAAC,EAG/B6T,GAAgB,OAAOA,GAAiB,SACnCA,EAGF,CACT,CAEO,SAASsB,GAA0B,CACxC,MAAA1V,EACA,SAAA4L,EACA,UAAA+J,EACA,SAAAC,EACA,SAAAC,CACF,EAMY,CACV,OAAIjK,GAAY,CAAC+J,GAAa3V,IAAU,OAC/B,GAGL2V,GAAa,OAAOA,GAAc,WAC7BA,EAAU3V,CAAK,EAGpB4V,GAAYC,GAAY7V,GAAS,CAAC2V,EAC7B3V,GAAS4V,GAAY5V,GAAS6V,EAGhC,EACT,CCzCO,SAASC,GAA0B,CACxC,KAAAvV,EACA,aAAA6T,EACA,SAAA5N,EACA,kBAAAuP,EACA,IAAAC,EACA,IAAAC,EACA,KAAAC,EACA,SAAAtK,EACA,UAAA+J,CACF,EAUG,CACD,KAAM,CAAE,kBAAAxC,EAAmB,cAAAF,GAAkBzC,EAAAA,WAAWZ,EAAW,EAC7DwD,EAAeqC,GAA4B,CAAE,cAAAxC,EAAe,aAAAmB,EAAc,KAAA7T,EAAM,EAChFqV,EAAWK,EAAM,OAAOA,CAAG,EAAI,OAAO,iBACtCJ,EAAWG,EAAM,OAAOA,CAAG,EAAI,OAAO,iBACtC,CAAChW,EAAOmW,CAAQ,EAAI5O,EAAAA,SAAiB6L,CAAY,EACjD,CAACgD,EAAOC,CAAQ,EAAI9O,EAAAA,SAAkB,EAAI,EAE1Ce,EAAetI,GAAkB,CACrCmW,EAASnW,CAAK,EACRoW,MAAAA,EAAQV,GAA0B,CAAE,MAAA1V,EAAO,SAAA4L,EAAU,UAAA+J,EAAW,SAAAC,EAAU,SAAAC,EAAU,EAC1FQ,EAASD,CAAK,EACdjD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAAP,EAAO,MAAAoW,GACrC,EAEMvP,EAAgBE,GAAyC,CAC7D,MAAM/G,EAAQ,OAAO+G,EAAM,OAAO,KAAK,EACvCuB,EAAYtI,CAAK,EACjBwG,GAAA,MAAAA,EAAWO,EACb,EAEMuP,EAAY,IAAM,CACtBhO,EAAYtI,EAAQkW,CAAI,EACxBH,GAAA,MAAAA,EAAoB/V,EAAQkW,EAC9B,EAEMK,EAAY,IAAM,CACtBjO,EAAYtI,EAAQkW,CAAI,EACxBH,GAAA,MAAAA,EAAoB/V,EAAQkW,EAC9B,EAEM1C,EAAc1M,EAAAA,YAAY,IAAM,CACpCqP,EAAS/C,CAAY,EACrBiD,EAAS,EAAI,EACblD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO6S,EAAc,MAAO,IAAM,EAC7D,CAAC7S,CAAI,CAAC,EAET,OAAA8P,GAAkBmD,CAAW,EAEtB,CACL,aAAA3M,EACA,MAAA7G,EACA,MAAAoW,EACA,SAAAP,EACA,SAAAD,EACA,UAAAU,EACA,UAAAC,CACF,CACF,wFChEMC,GAAuC/S,GAqBvC,CArBuC,IAAAC,EAAAD,EAC3C,MAAAlD,EACA,MAAAiF,EACA,aAAAiR,EACA,SAAAjQ,EACA,OAAAC,EACA,QAAAiQ,EACA,kBAAAX,EACA,UAAAJ,EACA,IAAAK,EACA,IAAAC,EACA,GAAA3R,EACA,SAAAqS,EACA,SAAAjR,EAAW,GACX,SAAAkG,EAAW,GACX,SAAAxE,EAAW,GACX,eAAAwP,EAAiB,GACjB,aAAAxC,EAAe,EACf,KAAA8B,EAAO,EACP,UAAAhR,GAnB2CxB,EAoBxCyB,EAAAtB,EApBwCH,EAoBxC,CAnBH,OACA,QACA,eACA,WACA,SACA,UACA,oBACA,YACA,MACA,MACA,KACA,WACA,WACA,WACA,WACA,iBACA,eACA,OACA,cAGA,KAAM,CAAE,UAAAuK,EAAW,QAAApF,GAAYiF,GAAcxJ,CAAE,EACzC,CAAE,MAAAtE,EAAO,MAAAoW,EAAO,aAAAvP,EAAc,UAAAyP,EAAW,UAAAC,EAAW,SAAAV,EAAU,SAAAD,CAAS,EAAIE,GAA0B,CACzG,KAAAvV,EACA,aAAA6T,EACA,IAAA4B,EACA,IAAAC,EACA,SAAAzP,EACA,SAAAoF,EACA,UAAA+J,EACA,KAAAO,EACA,kBAAAH,CAAA,CACD,EACKc,EAAa5S,EAAa,CAACoB,GAAO,QAASH,CAAS,CAAC,EAE3D,OACGW,EAAAA,KAAA,MAAAT,EAAApB,EAAA,GAAQmB,GAAR,CAAc,UAAW0R,EACxB,SAAA,CAAA/S,EAAA,IAAC6H,GAAM,CAAA,MAAAnG,EAAc,SAAAoG,EAAoB,QAASqC,EAAW,EAC7DpI,EAAA,KAAC6F,GAAA,CACC,GAAIuC,EACJ,KAAA1N,EACA,KAAK,SACL,SAAAmF,EACA,SAAAkG,EACA,SAAAxE,EACA,YAAY,IACZ,eAAc,CAACgP,EACf,oBAAmBvN,EACnB,MAAO7I,EAAM,SAAS,EACtB,SAAU6G,EACV,IAAKgP,EACL,IAAKD,EACL,KAAAM,EACA,OAAAzP,EACA,QAAAiQ,EACA,SAAAC,EAEC,SAAA,CAAAC,UACE,OACC,CAAA,SAAA,CAAA9S,EAAA,IAACsC,EAAA,CACC,QAASmQ,EACT,KAAMtT,EAAW,MACjB,MAAO,uBAAuBuC,CAAK,GACnC,KAAMtC,EAAS,YACf,SAAAwC,CAAA,CACF,EACA5B,EAAA,IAACsC,EAAA,CACC,QAASkQ,EACT,KAAMrT,EAAW,MACjB,MAAO,uBAAuBuC,CAAK,GACnC,KAAMtC,EAAS,aACf,SAAAwC,CAAA,CAAA,CACF,EACF,EAEF5B,EAAAA,IAAC8E,GAAa,CAAA,QAAAC,EAAkB,QAAS4N,EAAc,QAAS,CAACL,EAAO,UAAW/Q,GAAO,YAAc,CAAA,CAAA,CAAA,CAAA,CAC1G,GACF,CAEJ,ECxEayR,GAA4B,CAAC,CAAE,OAAAjD,EAAQ,QAAAtO,EAAS,WAAAuO,EAAY,WAAA5F,EAAY,SAAAoG,EAAU,KAAA/T,EAAM,YAAAgG,EAAa,SAAAb,EAAU,SAAAkG,CAAA,IAExH/F,EAAA,KAAC,SAAA,CACC,KAAK,SACL,KAAAtF,EACA,MAAO+T,GAAA,YAAAA,EAAU,GACjB,KAAK,WACL,gBAAc,UACd,gBAAeT,EACf,gBAAe3F,EACf,GAAI4F,EACJ,QAAAvO,EACA,SAAAG,EACA,gBAAekG,EACf,UAAWvG,GAAO,SAEjB,SAAA,CAAUiP,GAAA,MAAAA,EAAA,YAAS,OAAM,CAAA,SAAAA,GAAA,YAAAA,EAAU,KAAM,CAAA,EAAUxQ,EAAAA,IAAC,QAAM,SAAYyC,CAAA,CAAA,EACtEsN,EAAS/P,EAAA,IAAC0F,GAAY,CAAA,CAAA,QAAMF,GAAc,CAAA,CAAA,CAAA,CAAA,CAC7C,ECvBSyN,GAA0B,CAAC,CAAE,MAAA/W,EAAO,SAAAsU,EAAU,SAAAa,EAAU,QAAA6B,KAAc,CAC3E,KAAA,CAAE,GAAA1S,EAAI,MAAAkB,CAAA,EAAUxF,EAChBoV,EAAcnR,EAAa,CAACoB,GAAO,OAAQ,CAAE,CAACA,GAAO,gBAAgB,EAAGiP,CAAS,CAAC,CAAC,EAEnF2C,EAAsB3S,GAAe,CACrCgQ,EACM0C,EAAA,EAER7B,EAAS7Q,CAAE,CAEf,EAEM2C,EAAiB3C,GAAgBnE,GAAoC,CACzE,OAAQA,EAAE,IAAK,CACb,IAAK,IACL,IAAK,WACL,IAAK,QACHA,EAAE,eAAe,EACjB8W,EAAmB3S,CAAE,EACrB,KAEA,CAEN,EAGE,OAAAuB,EAAA,KAAC,KAAA,CACC,GAAAvB,EACA,KAAK,SACL,gBAAegQ,EACf,SAAU,EACV,UAAWrN,EAAc3C,CAAE,EAC3B,QAAS,IAAM2S,EAAmB3S,CAAE,EACpC,UAAW8Q,EAEX,SAAA,CAAAtR,EAAAA,IAAC,QAAM,SAAM0B,CAAA,CAAA,EACZ8O,SAAazK,GAAc,CAAA,CAAA,CAAA,CAAA,CAC9B,CAEJ,ECnCaqN,GAA4B,CAAC,CAAE,QAAAzS,EAAS,OAAAoP,EAAQ,QAAAnP,EAAS,SAAAyQ,EAAU,WAAAjH,EAAY,WAAA4F,EAAY,SAAAQ,EAAU,QAAA0C,CAAA,IAAc,CACxH,MAAAC,EAAsB3S,GAAe,CACzC6Q,EAAS7Q,CAAE,EACHI,EAAA,EACRL,GAAuByP,CAAU,CACnC,EACMwB,EAAgBrR,EAAa,CAACoB,GAAO,SAAU,CAAE,CAACA,GAAO,gBAAgB,EAAGwO,CAAO,CAAC,CAAC,EAGzF,OAAA/P,EAAA,IAAC,KAAA,CACC,KAAK,UACL,GAAIoK,EACJ,SAAU,GACV,UAAY/N,GAAMqE,GAA2B,CAAE,EAAArE,EAAG,QAAAsE,EAAS,QAAAC,EAAS,EACpE,UAAW4Q,EAEV,SAAA7Q,EAAQ,IAAKN,GACZL,EAAA,IAACiT,GAAA,CAEC,MAAO5S,EACP,SAAU,IAAM8S,EAAmB9S,EAAK,EAAE,EAC1C,QAAA6S,EACA,SAAU7S,EAAK,MAAOmQ,GAAA,YAAAA,EAAU,GAAA,EAJ3BnQ,EAAK,EAMb,CAAA,CAAA,CACH,CAEJ,EC3CO,SAASgT,GAAsB,CACpC,KAAA5W,EACA,QAAAkE,EACA,cAAAwO,EACA,aAAAmB,CACF,EAK4B,OACtB,IAAAgD,EAEJ,GAAInE,GAAiB,OAAO,UAAU,eAAe,KAAKA,EAAe1S,CAAI,EAAG,CACxE,MAAAP,EAAQiT,EAAc1S,CAAI,EAChC6W,GAAY3T,EAAAzD,GAAA,YAAAA,EAAsB,KAAtB,KAAAyD,EAAwCzD,CAAA,CAGtD,MAAI,EAACiT,GAAA,MAAAA,EAAgB1S,KAAS6T,GAAgB,OAAOA,GAAiB,WAC1DgD,EAAAhD,GAGL3P,EAAQ,KAAMN,GAASA,EAAK,KAAOiT,CAAO,CACnD,CClBO,SAASC,GAAoB,CAClC,KAAA9W,EACA,aAAA6T,EACA,SAAA5N,EACA,QAAA/B,CACF,EAKG,CACD,KAAM,CAAE,kBAAA0O,EAAmB,cAAAF,GAAkBzC,EAAAA,WAAWZ,EAAW,EAC7DwD,EAAe+D,GAAsB,CAAE,KAAA5W,EAAM,QAAAkE,EAAS,aAAA2P,EAAc,cAAAnB,EAAe,EACnF,CAACY,EAAQc,CAAS,EAAIpN,EAAAA,SAAS,EAAK,EACpC,CAAC+M,EAAUgD,CAAW,EAAI/P,EAAAA,SAAkC6L,CAAY,EAExE0B,EAAc,IAAMH,EAAU,EAAK,EAEnCI,EAAe,IAAMJ,EAAU,CAACd,CAAM,EAEtCmB,EAAgB1Q,GAAe,CACnC,MAAM2D,EAAWxD,EAAQ,KAAMN,GAASA,EAAK,KAAOG,CAAE,EACtDgT,EAAYrP,CAAQ,EACpBzB,GAAA,MAAAA,EAAWyB,GACXkL,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO0H,GAAA,YAAAA,EAAU,IAC/C,EAEMsP,EAAc,IAAM,CACxBD,EAAY,MAAS,EACrB9Q,GAAA,MAAAA,EAAW,OACb,EAEMgN,EAAc1M,EAAAA,YAAY,IAAM,CACpC6N,EAAU,EAAK,EACf2C,EAAYlE,CAAY,EACxBD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO6S,GAAA,YAAAA,EAAc,IAAI,EACpD,CAAC7S,CAAI,CAAC,EAET,OAAA8P,GAAkBmD,CAAW,EAEtB,CACL,SAAAc,EACA,OAAAT,EACA,YAAA0D,EACA,YAAAzC,EACA,aAAAC,EACA,aAAAC,CACF,CACF,CC5CA,MAAMwC,GAA2B/T,GAY3B,CAZ2B,IAAAC,EAAAD,EAC/B,SAAAgB,EACA,SAAA+B,EACA,KAAAjG,EACA,MAAAiF,EACA,aAAA4O,EACA,GAAA9P,EACA,YAAAiC,EAAc,eACd,SAAAqF,EAAW,GACX,SAAAlG,EAAW,GACX,UAAAR,GAV+BxB,EAW5ByB,EAAAtB,EAX4BH,EAW5B,CAVH,UACA,WACA,OACA,QACA,eACA,KACA,cACA,WACA,WACA,cAGM,MAAAgE,EAAMS,SAAuB,IAAI,EACjC,CAAE,UAAA8F,EAAW,WAAAC,GAAeJ,GAAcxJ,CAAE,EAC5C,CAAE,YAAAiT,EAAa,YAAAzC,EAAa,aAAAE,EAAc,aAAAD,EAAc,SAAAT,EAAU,OAAAT,GAAWwD,GAAoB,CACrG,QAAA5S,EACA,SAAA+B,EACA,aAAA4N,EACA,KAAA7T,CAAA,CACD,EACKkX,EAAcxT,EAAa,CAACoB,GAAO,QAASH,CAAS,CAAC,EAE5D,OAAAkI,GAAgB,CAAE,IAAA1F,EAAK,sBAAuBoN,CAAA,CAAa,EAC3D7F,GAAY,CAAE,QAAS,SAAU,IAAAvH,EAAK,WAAYoN,EAAa,SAG5D,MAAI1P,EAAApB,EAAA,CAAA,IAAA0D,GAAcvC,GAAd,CAAoB,UAAWsS,EAClC,SAAA,CAAA3T,EAAA,IAAC6H,GAAM,CAAA,MAAAnG,EAAc,SAAAoG,EAAoB,QAASqC,EAAW,EAC7DnK,EAAA,IAACgT,GAAA,CACC,KAAAvW,EACA,OAAAsT,EACA,WAAY5F,EACZ,WAAAC,EACA,QAAS6G,EACT,SAAAT,EACA,YAAA/N,EACA,SAAAb,EACA,SAAAkG,CAAA,CACF,EACA9H,EAAA,IAACoT,GAAA,CACC,QAAAzS,EACA,SAAA6P,EACA,OAAAT,EACA,QAASiB,EACT,WAAA5G,EACA,WAAYD,EACZ,SAAU+G,EACV,QAASuC,CAAA,CAAA,CACX,GACF,CAEJ,EC7DO,SAASG,GAAuB,CACrC,MAAA1X,EACA,SAAA4L,EACA,UAAA+J,CACF,EAIY,CACV,OAAI/J,GAAY,CAAC+J,GAAa,CAAC3V,EAAM,OAC5B,GAGL2V,GAAa,OAAOA,GAAc,WAC7BA,EAAU3V,CAAK,EAGpB2V,GAAa,OAAOA,GAAc,SAC7B,IAAI,OAAOA,EAAU,OAAQA,GAAA,YAAAA,EAAW,KAAK,EAAE,KAAK3V,CAAK,EAG3D,EACT,CAEO,SAAS2X,GAAyB,CACvC,KAAApX,EACA,cAAA0S,EACA,aAAAmB,CACF,EAIW,CACL,OAAAnB,IAAiBA,GAAA,MAAAA,EAAgB1S,IAC3B0S,EAAc1S,CAAI,EAAa,SAAS,EAG9C6T,GAAgB,OAAOA,GAAiB,SACnCA,EAGF,EACT,CCrCO,SAASwD,GAAuB,CACrC,KAAArX,EACA,aAAA6T,EACA,SAAA5N,EACA,QAAAwQ,EACA,SAAApL,EACA,UAAA+J,CACF,EAOG,CACD,KAAM,CAAE,kBAAAxC,EAAmB,cAAAF,GAAkBzC,EAAAA,WAAWZ,EAAW,EAC7DwD,EAAeuE,GAAyB,CAAE,cAAA1E,EAAe,aAAAmB,EAAc,KAAA7T,EAAM,EAC7E,CAACP,EAAOmW,CAAQ,EAAI5O,EAAAA,SAAiB6L,CAAY,EACjD,CAACgD,EAAOC,CAAQ,EAAI9O,EAAAA,SAAkB,EAAI,EAC1C,CAACsQ,EAAeC,CAAgB,EAAIvQ,EAAAA,SAAkB,EAAK,EAE3DV,EAAgBE,GAAyC,CACvD/G,MAAAA,EAAQ+G,EAAM,OAAO,MACrBqP,EAAQsB,GAAuB,CAAE,MAAA1X,EAAO,SAAA4L,EAAU,UAAA+J,EAAW,EAEnEQ,EAASnW,CAAK,EACdqW,EAASD,CAAK,EACdjD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAAP,EAAO,MAAAoW,IACnC5P,GAAA,MAAAA,EAAWO,EACb,EAEMwQ,EAAc,IAAM,CACxBpB,EAAS,EAAE,EACXE,EAAS,EAAI,EACblD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO,GAAI,MAAO,KACpCyW,GAAA,MAAAA,GACZ,EAEMxD,EAAc1M,EAAAA,YAAY,IAAM,CACpCqP,EAAS/C,CAAY,EACrBiD,EAAS,EAAI,EACblD,GAAA,MAAAA,EAAoB,CAAE,KAAA5S,EAAM,MAAO6S,EAAc,MAAO,IAAM,EAC7D,CAAC7S,CAAI,CAAC,EAEHwX,EAAiB,IAAM,CAC3BD,EAAiB,CAACD,CAAa,CACjC,EAEA,OAAAxH,GAAkBmD,CAAW,EAEtB,CACL,MAAAxT,EACA,MAAAoW,EACA,cAAAyB,EACA,aAAAhR,EACA,YAAA0Q,EACA,eAAAQ,CACF,CACF,wFCvDMC,GAAiCvU,GAsBjC,CAtBiC,IAAAC,EAAAD,EACrC,MAAAlD,EACA,MAAAiF,EACA,aAAAiR,EACA,aAAArC,EACA,SAAA5N,EACA,OAAAC,EACA,QAAAiQ,EACA,QAAAM,EACA,UAAArB,EACA,UAAAsC,EACA,GAAA3T,EACA,SAAAqS,EACA,YAAApQ,EAAc,eACd,SAAAb,EAAW,GACX,SAAAkG,EAAW,GACX,UAAAsM,EAAY,GACZ,SAAA9Q,EAAW,GACX,aAAA+Q,EAAe,MACf,KAAAzZ,EAAO,OACP,UAAAwG,GApBqCxB,EAqBlCyB,EAAAtB,EArBkCH,EAqBlC,CApBH,OACA,QACA,eACA,eACA,WACA,SACA,UACA,UACA,YACA,YACA,KACA,WACA,cACA,WACA,WACA,YACA,WACA,eACA,OACA,cAGM,KAAA,CAAE,MAAA1D,EAAO,MAAAoW,EAAO,aAAAvP,EAAc,YAAA0Q,EAAa,cAAAM,EAAe,eAAAE,GAAmBH,GAAuB,CACxG,aAAAxD,EACA,KAAA7T,EACA,SAAAiG,EACA,QAAAwQ,EACA,SAAApL,EACA,UAAA+J,CAAA,CACD,EACK,CAAE,UAAA1H,EAAW,QAAApF,GAAYiF,GAAcxJ,CAAE,EACzC8T,EAA0B1Z,IAAS,WACnCmY,EAAa5S,EAAa,CAACoB,GAAO,QAASH,CAAS,CAAC,EAE3D,OACGW,EAAAA,KAAA,MAAAT,EAAApB,EAAA,GAAQmB,GAAR,CAAc,UAAW0R,EACxB,SAAA,CAAA/S,EAAA,IAAC6H,GAAM,CAAA,MAAAnG,EAAc,SAAAoG,EAAoB,QAASqC,EAAW,EAC7DpI,EAAA,KAAC6F,GAAA,CACC,GAAIuC,EACJ,KAAA1N,EACA,KAAMsX,EAAgB,OAASnZ,EAC/B,SAAAgH,EACA,YAAAa,EACA,SAAAqF,EACA,SAAAxE,EACA,aAAA+Q,EACA,eAAc,CAAC/B,EACf,oBAAmBvN,EACnB,gBAAezB,EACf,MAAApH,EACA,SAAU6G,EACV,UAAAoR,EACA,OAAAxR,EACA,QAAAiQ,EACA,SAAAC,EAEA,SAAA,CAAA9Q,OAAC,OACE,CAAA,SAAA,CACCqS,GAAApU,EAAA,IAACsC,EAAA,CACC,KAAMnD,EAAW,MACjB,QAASsU,EACT,MAAO,mBAAmB/R,CAAK,GAC/B,KAAMtC,EAAS,OACf,SAAAwC,CAAA,CACF,EAED0S,GACCtU,EAAA,IAACsC,EAAA,CACC,QAAS2R,EACT,KAAM9U,EAAW,MACjB,MAAM,6BACN,KAAM4U,EAAgB3U,EAAS,KAAOA,EAAS,KAC/C,SAAAwC,CAAA,CAAA,CACF,EAEJ,EACA5B,EAAAA,IAAC8E,GAAa,CAAA,QAAAC,EAAkB,QAAS4N,EAAc,QAAS,CAACL,EAAO,UAAW/Q,GAAO,YAAc,CAAA,CAAA,CAAA,CAAA,CAC1G,GACF,CAEJ,uKClFMgT,GAA2B5U,GAA0D,CAA1D,IAAAC,EAAAD,EAAE,UAAAuJ,EAAU,QAAAtI,EAAS,MAAA6E,EAAO,SAAAxH,EAAU,KAAA0D,GAAtC/B,EAA+CyB,EAAAtB,EAA/CH,EAA+C,CAA7C,WAAU,UAAS,QAAO,WAAU,SAC/D,MAAA2K,EAAYF,GAAanB,CAAQ,EACjC4F,EAAYvE,GAAa,CAACrB,EAE1BsC,EAAWnH,SAAuB,IAAI,EAK5C,OAHkBkH,GAAA,CAAE,SAAAC,EAAU,SAAAtC,EAAU,EACxCiC,GAAY,CAAE,QAAS,SAAU,IAAKK,EAAU,WAAY5K,EAAS,EAEhE2J,EAKFvK,EAAAA,IAAA8I,GAAA,CACC,SAAC9I,EAAA,IAAA,MAAA,CAAI,UAAWG,EAAa,CAACoB,GAAO,OAAQ,CAAE,CAACA,GAAO,eAAe,EAAGuN,CAAW,CAAA,CAAC,EACnF,SAAA/M,EAAA,KAAC,MAAIT,EAAApB,EAAA,CAAA,IAAKsL,EAAU,KAAK,SAAS,aAAW,QAAWnK,GAAnD,CAAyD,UAAWE,GAAO,OAC9E,SAAA,CAAAvB,EAAA,IAACsC,EAAA,CACC,KAAMlD,EAAS,OACf,KAAMD,EAAW,KACjB,MAAM,qBACN,QAASyB,EACT,UAAWW,GAAO,aAAA,CACpB,EACAvB,EAAAA,IAAC,UACC,SAACA,EAAAA,IAAAoF,GAAA,CAAO,GAAG,KAAK,KAAAzD,EACb,WACH,CACF,CAAA,EACA3B,MAAC,OAAK,SAAA/B,CAAS,CAAA,CAAA,CACjB,EAAA,CACF,CAAA,EACF,EAtBO,IAwBX,ECzCO,SAASuW,GAA0BC,EAAwC,CAC5E,OAACA,EAEE,OAAO,KAAKA,CAAI,EAAE,IAAK1Z,GAAQ,CAACA,EAAK,EAAI,CAAC,EAF/B,CAAC,CAGrB,CAEgB,SAAA2Z,GAAsBC,EAA4BC,EAA8C,CAC1G,OAAAA,GAAA,YAAAA,EAAQ,SAAU,OAAkBD,EAEjCA,EAAM,IAAKtU,GACZA,EAAK,CAAC,IAAMuU,EAAO,KAAavU,EAC7B,CAACA,EAAK,CAAC,EAAG,CAAC,EAACuU,GAAA,MAAAA,EAAQ,MAAK,CACjC,CACH,CAEO,SAASC,GAAgBF,EAAqC,CACnE,OAAOA,EAAM,MAAOtU,GAASA,EAAK,CAAC,CAAC,CACtC,CCdO,SAASyU,GAAkB,CAChC,cAAA3F,EACA,QAAA3C,EACA,SAAAuI,EACA,cAAAC,CACF,EAKG,CACD,KAAM,CAACC,EAAUC,CAAW,EAAIzR,EAAAA,SAAS0L,CAAa,EAChD,CAACgG,EAAiBC,CAAkB,EAAI3R,EAAAA,SAAS+Q,GAA0BrF,CAAa,CAAC,EACzF,CAAC1C,EAAa4I,CAAc,EAAI5R,EAAAA,SAAS,CAAC,EAwBzC,MAAA,CACL,kBAvByBmR,GAA4B,CAC/C,MAAAU,EAAUhU,EAAApB,EAAA,GAAK+U,GAAL,CAAe,CAACL,EAAO,IAAI,EAAGA,EAAO,KAAM,GAC3DM,EAAYI,CAAO,EACAF,EAAAV,GAAsBS,EAAiBP,CAAM,CAAC,CACnE,EAoBE,aAlBoB3R,GAAsC,CAC1DA,EAAM,eAAe,EAErB,MAAMsS,EAAmB,OAAO,YAAY,IAAI,SAAStS,EAAM,MAAyB,CAAC,EACnFuS,EAAatV,IAAA,GAAKqV,GAAqBN,GAE7CF,GAAA,MAAAA,EAAW9R,GACX+R,GAAA,MAAAA,EAAgBQ,EAClB,EAWE,YATmBvS,GAAsC,CACzDuJ,GAAA,MAAAA,EAAUvJ,GACViS,EAAY/F,CAAa,EACzBkG,EAAe5I,EAAc,CAAC,CAChC,EAME,YAAAA,EACA,MAAOoI,GAAgBM,CAAe,CACxC,CACF,ieCvCMM,GAAuB9V,GAUvB,CAVuB,IAAAC,EAAAD,EAC3B,UAAA1B,EACA,cAAAkR,EACA,QAAA3C,EACA,SAAAuI,EACA,cAAAC,EACA,QAAAU,EAAU,EACV,SAAAC,EAAW,GACX,UAAAvU,GAR2BxB,EASxByB,EAAAtB,EATwBH,EASxB,CARH,WACA,gBACA,UACA,WACA,gBACA,UACA,WACA,cAGA,KAAM,CAAE,kBAAAgW,EAAmB,aAAAC,EAAc,YAAAnG,EAAa,YAAAjD,EAAa,MAAA6F,GAAUwC,GAAkB,CAC7F,cAAA3F,EACA,QAAA3C,EACA,SAAAuI,EACA,cAAAC,CAAA,CACD,EACKc,EAAgBJ,GAAW,GAAKA,GAAW,EAAIA,EAAU,EACzDK,EAAY5V,EAAa,CAACoB,GAAO,KAAMH,CAAS,CAAC,EAEvD,OACGpB,EAAA,IAAA,OAAAsB,EAAApB,EAAA,CAAK,SAAU2V,EAAc,QAASnG,GAAiBrO,GAAvD,CAA6D,UAAW,GAAG0U,CAAS,IAAIxU,GAAO,WAAWuU,CAAa,EAAE,CAAC,GACzH,SAAC/T,EAAA,KAAA+J,GAAY,SAAZ,CAAqB,MAAO,CAAE,kBAAmB8J,EAAmB,cAAAzG,EAAe,YAAA1C,CAAA,EACjF,SAAA,CAAAxO,EACA8D,EAAA,KAAA,MAAA,CAAI,UAAW,GAAGR,GAAO,OAAO,IAAIA,GAAO,WAAWuU,CAAa,EAAE,CAAC,GACpE,SAAA,CAAYH,GAAA3V,EAAAA,IAACsC,EAAO,CAAA,KAAK,QAAQ,KAAK,QAAQ,KAAMlD,EAAS,MAAO,KAAMD,EAAW,SAAW,CAAA,EAChGa,EAAA,IAAAsC,EAAA,CAAO,KAAK,SAAS,KAAK,SAAS,KAAMlD,EAAS,QAAS,SAAU,CAACuW,EAAU,SAAU,CAACrD,CAAO,CAAA,CAAA,CACrG,CAAA,CAAA,CAAA,CACF,CACF,EAAA,CAEJ,ECtCO,SAAS0D,GAAiB,CAC/B,KAAA3V,EACA,QAAAqV,EACA,eAAAO,CACF,EAI8B,CAC5B,MAAMhG,EAAS,CAAC,EAChB,UAAWiG,KAAUR,EAAS,CACxB,IAAAxZ,EAEA+Z,GAAkB5V,EAAK6V,EAAO,KAAK,EAC7Bha,EAAA+Z,EAAe5V,EAAM6V,EAAO,KAAK,EAChC7V,EAAK6V,EAAO,KAAK,EAC1Bha,EAASmE,EAAK6V,EAAO,KAAK,EAAa,SAAS,EAExCha,EAAA,GAGV+T,EAAO,KAAK/T,CAAK,CAAA,CAGZ,OAAA+T,CACT,uCCxBakG,GAAqD,CAAC,CAAE,MAAAja,KAC3D8D,EAAA,IAAA,KAAA,CAAG,UAAWuB,GAAO,KAAO,SAAMrF,EAAA,kJCQ/Bka,GAA2BzW,GAAqF,CAArF,IAAAC,EAAAD,EAAE,MAAAlD,EAAM,MAAAiF,EAAO,SAAAE,EAAU,SAAAkG,EAAW,GAAO,SAAApF,EAAU,QAAA+M,EAAU,IAA/D7P,EAAyE1C,EAAA6C,EAAzEH,EAAyE,CAAvE,OAAM,QAAO,WAAU,WAAkB,WAAU,YAC3F,KAAM,CAAE,UAAAuK,CAAc,EAAAH,GAAc9M,GAAA,YAAAA,EAAO,EAAE,EACvC2S,EAAgB1P,EAAa,CACjCoB,GAAO,SACP,CACE,CAACA,GAAO,kBAAkB,EAAG,CAAC,CAACK,EAC/B,CAACL,GAAO,iBAAiB,EAAGkO,CAAA,CAC9B,CACD,EAGC,OAAA1N,EAAA,KAAC,MAAI,CAAA,UAAW8N,EACd,SAAA,CAAA7P,EAAA,IAAC,QAAA,CACC,GAAImK,EACJ,KAAA1N,EACA,KAAK,WACL,SAAAmF,EACA,SAAAkG,EACA,QAAA2H,EACA,SAAA/M,EACA,UAAWnB,GAAO,cAAA,CACpB,EACAvB,EAAA,IAAC6H,GAAA,CACC,MAAAnG,EACA,SAAAoG,EACA,QAASqC,EACT,aAAc,GACd,aAAa,OACb,KAAMsF,EAAUzP,MAAC6F,GAAoB,CAAA,CAAA,QAAMC,GAAsB,CAAA,CAAA,CAAA,CAAA,CACnE,EACF,CAEJ,kCChCauQ,GAA+B,CAAC,CAAE,MAAAC,EAAO,cAAAC,EAAe,cAAAC,EAAe,gBAAAC,EAAiB,SAAA7U,KAAe,CAC5G,MAAA8U,EAAoBra,GAAqC,CACvD,KAAA,CAAE,QAAAoT,GAAYpT,EAAE,OAClBoT,EACF+G,EAAcF,CAAK,EAEnBG,EAAgBH,CAAK,CAEzB,EAEA,aACG,KAAG,CAAA,UAAW/U,GAAO,KACpB,SAAAvB,EAAA,IAACoW,IAAa,MAAM,aAAa,SAAUM,EAAkB,GAAI,cAAcJ,CAAK,GAAI,QAASC,EAAe,SAAA3U,CAAoB,CAAA,EACtI,CAEJ,6ECXa+U,GAAqB,CAAC,CAAE,MAAAL,EAAO,cAAAE,EAAe,gBAAAC,EAAiB,WAAAG,EAAY,OAAA3G,EAAQ,YAAAE,EAAa,SAAAvO,KAAe,CACpH,MAAA4O,EAAWL,EAAY,SAASmG,CAAK,EAE3C,OACGvU,EAAA,KAAA,KAAA,CAAG,UAAW5B,EAAa,CAACoB,GAAO,IAAK,CAAE,CAACA,GAAO,aAAa,EAAGiP,CAAS,CAAC,CAAC,EAC3E,SAAA,CACCoG,GAAA5W,EAAA,IAACqW,GAAA,CACC,MAAAC,EACA,cAAAE,EACA,gBAAAC,EACA,cAAejG,EACf,SAAA5O,CAAA,CACF,EAEDqO,EAAO,IAAI,CAAC/T,EAAO2a,IACjB7W,EAAA,IAAAmW,GAAA,CAAkC,MAAAja,CAAhB,EAAA,OAAO2a,CAAK,EAAkB,CAClD,CAAA,EACH,CAEJ,kCCnBaC,GAAsB,CAAC,CAAE,cAAAN,EAAe,gBAAAC,EAAiB,eAAAR,EAAgB,YAAA9F,EAAa,WAAAyG,EAAY,KAAAnC,EAAM,QAAAiB,KAEjH1V,MAAC,SAAM,UAAWuB,GAAO,KACtB,SAAKkT,EAAA,IAAKpU,GAAS,CAClB,MAAM4P,EAAS+F,GAAiB,CAAE,KAAA3V,EAAM,QAAAqV,EAAS,eAAAO,EAAgB,EAE/D,OAAAjW,EAAA,IAAC2W,GAAA,CAEC,MAAOtW,EAAK,GACZ,SAAUA,GAAA,YAAAA,EAAM,SAChB,cAAAmW,EACA,gBAAAC,EACA,WAAAG,EACA,OAAA3G,EACA,YAAAE,CAAA,EAPK9P,EAAK,EAQZ,CAEH,CAAA,EACH,4IC7BS0W,GAAsE,CAAC,CAAE,QAAArB,EAAS,WAAAkB,YAE1F,WACE,CAAA,SAAA,CAAcA,GAAA5W,EAAA,IAAC,MAAI,CAAA,UAAWG,EAAa,CAACoB,GAAO,OAAQA,GAAO,aAAa,CAAC,CAAG,CAAA,EACnFmU,EAAQ,IAAI,CAACQ,EAAQW,IACpB7W,EAAA,IAAC,MAAA,CAEC,UAAWG,EAAa,CACtBoB,GAAO,OACP2U,GAAA,YAAAA,EAAQ,UACR,CACE,CAAC3U,GAAO,aAAa,EAAGsV,IAAU,GAAK,CAACD,EACxC,CAACrV,GAAO,mBAAmB,EAAG,CAAC,EAAC2U,GAAA,MAAAA,EAAQ,YAAA,CAE3C,CAAA,CAAA,EARIA,GAAA,YAAAA,EAAQ,KAUhB,CAAA,CAAA,EACH,ECnBSc,GAAoB,CAAC,CAAE,KAAAvC,EAAM,GAAAjU,EAAI,SAAA6Q,KAAsF,CAClI,KAAM,CAAE,UAAAlH,CAAA,EAAcH,GAAcxJ,CAAE,EAChC,CAAC2P,EAAa8G,CAAc,EAAIxT,EAAAA,SAAmB,CAAA,CAAE,EACrDyT,EAASzC,EAAK,IAAKpU,GAASA,EAAK,EAAE,EACnC8W,EAAgBD,EAAO,SAAW/G,EAAY,OAC9CiH,EAAwB3C,EAAK,KAAMpU,GAASA,GAAA,YAAAA,EAAM,QAAQ,EAE1D6Q,EAAgBmG,GAAkB,CACtCJ,EAAeI,CAAG,EAClBhG,GAAA,MAAAA,EAAWgG,EACb,EAmBO,MAAA,CACL,UAAAlN,EACA,cAAAgN,EACA,sBAAAC,EACA,YAAAjH,EACA,gBAtBsB,IAAM,CAC5Be,EAAagG,CAAM,CACrB,EAqBE,kBAnBwB,IAAM,CAC9BhG,EAAa,CAAA,CAAE,CACjB,EAkBE,oBAhB2B1Q,GAAe,CAC1C,MAAM8W,EAAS,CAAC,GAAGnH,EAAa3P,CAAE,EAClC0Q,EAAaoG,CAAM,CACrB,EAcE,sBAZ6B9W,GAAe,CAC5C,MAAM8W,EAASnH,EAAY,OAAQ9P,GAASA,IAASG,CAAE,EACvD0Q,EAAaoG,CAAM,CACrB,CAUA,CACF,yHCvCaC,GAAyE,CAAC,CAAE,MAAA9R,EAAO,UAAA+R,KAAgB,OAC9G,aAAQ,KAAG,CAAA,UAAWjW,GAAO,WAAa,UAAA5B,EAAA6X,GAAA,KAAAA,EAAa/R,IAAb,KAAA9F,EAAsB,GAAG,CACrE,8CCOa8X,GAAmC,CAAC,CAAE,OAAAC,EAAQ,cAAAP,EAAe,UAAAQ,EAAW,YAAAC,EAAa,SAAAhW,KAAe,CACzG,MAAAiW,EAAmBxb,GAAqC,CACtD,KAAA,CAAE,QAAAoT,GAAYpT,EAAE,OAClBoT,EACQkI,EAAA,EAEEC,EAAA,CAEhB,EAEA,OACG5X,EAAAA,IAAA,KAAA,CAAG,UAAWuB,GAAO,WACpB,SAAAvB,EAAA,IAACoW,GAAA,CACC,MAAM,kBACN,SAAUyB,EACV,GAAI,cAAcH,CAAM,GACxB,QAASP,EACT,SAAAvV,CAAA,CAAA,EAEJ,CAEJ,sECjBakW,GAA8B,CAAC,CAC1C,QAAApC,EACA,OAAAgC,EACA,UAAAC,EACA,YAAAC,EACA,WAAAhB,EACA,cAAAO,EACA,sBAAAC,EAAwB,EAC1B,IAEIpX,EAAA,IAAC,SAAM,UAAWuB,GAAO,KACvB,SAACQ,EAAA,KAAA,KAAA,CAAG,UAAWR,GAAO,SACnB,SAAA,CACCqV,GAAA5W,EAAA,IAACyX,GAAA,CACC,cAAAN,EACA,SAAUC,EACV,OAAAM,EACA,UAAAC,EACA,YAAAC,CAAA,CACF,EAEDlC,EAAQ,IAAKQ,GACXlW,EAAAA,IAAAuX,GAAA,CAAiD,MAAOrB,EAAO,MAAO,UAAWA,EAAO,WAApE,GAAGA,EAAO,KAAK,IAAIwB,CAAM,EAAsD,CACrG,CAAA,CAAA,CACH,CACF,CAAA,EChCEK,GAAuBpY,GAAqG,CAArG,IAAAC,EAAAD,EAAE,SAAA+V,EAAS,KAAAjB,EAAM,GAAAjU,EAAI,SAAA6Q,EAAU,eAAA4E,EAAgB,QAAA+B,EAAS,WAAApB,EAAa,GAAO,UAAAxV,GAA5ExB,EAA0FyB,EAAAtB,EAA1FH,EAA0F,CAAxF,UAAS,OAAM,KAAI,WAAU,iBAAgB,UAAS,aAAoB,cACjG,KAAA,CACJ,UAAAuK,EACA,gBAAA0N,EACA,kBAAAI,EACA,sBAAAb,EACA,cAAAD,EACA,sBAAAe,EACA,oBAAAC,EACA,YAAAhI,GACE6G,GAAkB,CAAE,GAAAxW,EAAI,KAAAiU,EAAM,SAAApD,EAAU,EAG1C,OAAAtP,OAAC,QAAOT,EAAApB,EAAA,GAAGmB,GAAH,CAAS,UAAWlB,EAAa,CAACoB,GAAO,KAAMH,CAAS,CAAC,EAC9D,SAAA,CAAA4W,GAAYhY,EAAAA,IAAA,UAAA,CAAQ,UAAWuB,GAAO,aAAe,SAAQyW,EAAA,EAC9DhY,EAAAA,IAAC+W,GAAgB,CAAA,QAAArB,EAAkB,WAAAkB,CAAwB,CAAA,EAC3D5W,EAAA,IAAC8X,GAAA,CACC,OAAQ3N,EACR,QAAAuL,EACA,WAAAkB,EACA,UAAWiB,EACX,YAAaI,EACb,cAAAd,EACA,sBAAAC,CAAA,CACF,EACApX,EAAA,IAAC8W,GAAA,CACC,QAAApB,EACA,KAAAjB,EACA,WAAAmC,EACA,cAAeuB,EACf,gBAAiBD,EACjB,YAAA/H,EACA,eAAA8F,CAAA,CAAA,CACF,GACF,CAEJ,0CCxCamC,GAAW,CAAC,CAAE,KAAA/X,KAA6C,CACtE,KAAM,CAAE,KAAAsB,EAAM,KAAA0W,EAAM,MAAA3W,EAAO,QAAAkR,EAAS,QAAAnR,EAAS,QAAA6W,GAAYjY,EAEnDkY,EAAcF,EACjBrY,MAAA,IAAA,CAAE,KAAMqY,EAAM,OAAO,SAAS,IAAI,aAChC,SAAA3W,EACH,EAEA1B,EAAA,IAAC,QAAM,SAAM0B,EAAA,EAGf,OACGK,EAAAA,KAAA,KAAA,CAAG,UAAWR,GAAO,SAAU,SAAU,EAAG,KAAK,WAAW,QAAAqR,EAAkB,QAAAnR,EAAkB,YAAa6W,EAC5G,SAAA,CAACtY,EAAAA,IAAA6B,EAAA,CAAK,KAAMF,CAAM,CAAA,EACjB4W,CAAA,EACH,CAEJ,oECLaC,GAAqB,CAAC,CAAE,KAAAnY,EAAM,gBAAAoY,EAAiB,cAAAC,EAAe,aAAAC,EAAc,YAAAC,EAAa,SAAAC,EAAU,KAAA1M,EAAM,SAAAlO,CAAA,IAAe,CACnI,KAAM,CAAE,KAAA0D,EAAM,KAAA0W,EAAM,MAAA3W,CAAU,EAAArB,EACxBuD,EAAMS,SAAO,IAAI,EACjBmF,EAAenF,SAAO,IAAI,EAE1ByU,EAAcT,EACjBtW,EAAA,KAAA,IAAA,CAAE,KAAMsW,EAAM,OAAO,SAAS,IAAI,aACjC,SAAA,CAACrY,EAAAA,IAAA6B,EAAA,CAAK,KAAMF,CAAM,CAAA,EACjBD,CACH,CAAA,CAAA,SAEC,OACC,CAAA,SAAA,CAAC1B,EAAAA,IAAA6B,EAAA,CAAK,KAAMF,CAAM,CAAA,EACjBD,CAAA,EACH,EAGIyB,EAAiB9G,GAAkC,CACvDA,EAAE,gBAAgB,EACdA,EAAE,MAAQ,KACEqc,EAAA,CAElB,EAOA,OAAApP,GAAgB,CAAE,IAAA1F,EAAK,aAAA4F,EAAc,sBALP,IAAM,CAC9B2C,IAAS7M,EAAgB,UAChBqZ,EAAA,CACf,CAEqC,CAAuB,EAG1D5W,EAAA,KAAC,KAAA,CACC,UAAWR,GAAO,QAClB,SAAU,EACV,KAAK,WACL,gBAAc,OACd,gBAAekX,EACf,UAAWtV,EACX,aAAc0V,IAAa,QAAUD,EAAc,OACnD,aAAcC,IAAa,QAAUF,EAAe,OACpD,IAAA/U,EAEA,SAAA,CAAC7B,EAAAA,KAAA,OAAA,CAAK,UAAWR,GAAO,KAAM,IAAKiI,EAAc,QAASkP,EAAe,UAAWvV,EACjF,SAAA,CAAA2V,QACAjX,EAAK,CAAA,KAAM4W,EAAkBrZ,EAAS,QAAUA,EAAS,SAAW,CAAA,CAAA,EACvE,EACCqZ,GAAmBxa,CAAA,CAAA,CACtB,CAEJ,+GCrDa8a,GAA0B,CAAC,CAAE,KAAA1Y,EAAM,KAAA8L,EAAM,SAAA0M,KAAe,SAC7D,MAAAG,EAAS,GAACrZ,EAAAU,GAAA,YAAAA,EAAM,cAAN,MAAAV,EAAmB,QAC7B,CAAC8Y,EAAiBQ,CAAkB,EAAIxV,EAAAA,SAAS,EAAK,EACtDyV,EAAkB/Y,EAAa,CAACoB,GAAO,WAAY,CAAE,CAACA,GAAO,sBAAsB,EAAG4K,IAAS7M,EAAgB,UAAY,CAAA,CAAC,EAElI,GAAI0Z,EACK,OAAAhZ,MAACoY,IAAS,KAAA/X,EAAY,EAG/B,MAAMqY,EAAgB,IAAM,CAC1BO,EAAmB,CAACR,CAAe,CACrC,EAEME,EAAe,IAAM,CACzBM,EAAmB,EAAK,CAC1B,EAEML,EAAc,IAAM,CACxBK,EAAmB,EAAI,CACzB,EAGE,OAAAjZ,EAAA,IAACwY,GAAA,CACC,KAAAnY,EACA,gBAAAoY,EACA,cAAAC,EACA,aAAAC,EACA,YAAAC,EACA,KAAAzM,EACA,SAAA0M,EAEA,SAAA7Y,EAAA,IAAC,MAAG,UAAWkZ,EAAiB,KAAK,OAAO,aAAY7Y,EAAK,MAC1D,UAAMT,EAAAS,GAAA,YAAAA,EAAA,cAAA,YAAAT,EAAa,IAAKuZ,GAAWnZ,MAAA+Y,GAAA,CAAa,KAAMI,EAAsB,KAAAhN,EAAY,SAAA0M,CAAtB,EAAAM,EAAM,EAAoC,EAC/G,CAAA,CAAA,CACF,CAEJ,8FC3CMC,GAAuBzZ,GAA4F,CAA5F,IAAAC,EAAAD,EAAE,OAAA0Z,EAAQ,CAAI,EAAA,KAAAlN,EAAO7M,EAAgB,SAAU,SAAAuZ,EAAW,QAAS,UAAAzX,GAAnExB,EAAiFyB,EAAAtB,EAAjFH,EAAiF,CAA/E,QAAY,OAAiC,WAAoB,cAC9F,MAAM0Z,EAAYnZ,EAAa,CAACoB,GAAO,QAASH,EAAW,CAAE,CAACG,GAAO,iBAAiB,EAAG4K,IAAS7M,EAAgB,QAAU,CAAA,CAAC,EAE7H,aACG,OAAMgC,EAAApB,EAAA,GAAGmB,GAAH,CAAS,UAAWiY,EACxB,WAAM,IAAKjZ,GACVL,MAAC+Y,IAA2B,KAAA1Y,EAAY,KAAA8L,EAAY,SAAA0M,GAAjCxY,EAAK,EAAgD,CACzE,GACH,CAEJ,8CCbakZ,GAKR,CAAC,CAAE,KAAAC,EAAM,cAAAC,EAAe,WAAAC,EAAY,mBAAAC,KAAuC,OACxE,MAAAC,GAAUja,EAAA6Z,EAAK,KAAMnZ,GAASA,EAAK,KAAOoZ,CAAa,IAA7C,YAAA9Z,EAAgD,QAC1Dka,EAAY,YAAYJ,CAAa,GACrCK,EAAgBJ,GAAc,CAACE,EAErC,OACG5Z,EAAA,IAAA,MAAA,CAAI,KAAK,WAAW,cAAY,cAAc,kBAAiByZ,EAAe,GAAII,EAAW,UAAWtY,GAAO,WAC7G,SAAAuY,EAAgBH,EAAqBC,EACxC,CAEJ,2KCFaG,GAA0B,CAAC,CACtC,MAAAC,EACA,WAAAzW,EACA,UAAA0W,EACA,cAAAC,EACA,YAAAC,EACA,eAAAC,EACA,OAAAC,EACA,SAAAC,EACA,eAAAC,CACF,IAAM,CACE,MAAA1X,EAAWwB,SAAyB,IAAI,EAG9CN,OAAAA,EAAAA,UAAU,IAAM,CACVR,GAAcV,EAAS,UACzBA,EAAS,QAAQ,MAAM,EACvBA,EAAS,QAAQ,OAAO,EAC1B,EACC,CAACU,CAAU,CAAC,EAGZxB,EAAAA,KAAA,MAAA,CAAI,UAAWR,GAAO,cACrB,SAAA,CAAAvB,EAAA,IAAC,QAAA,CACC,IAAK6C,EACL,GAAImX,EAAQ,SACZ,KAAK,OACL,MAAOC,EACP,SAAUC,EACV,OAAQC,EACR,UAAWC,EACX,UAAW7Y,GAAO,oBAClB,UAAW,EAAA,CACb,EACCQ,EAAA,KAAA,OAAA,CAAK,UAAWR,GAAO,sBACtB,SAAA,CAACvB,EAAAA,IAAAsC,EAAA,CAAO,KAAMnD,EAAW,KAAM,KAAMC,EAAS,UAAW,QAASib,EAAQ,MAAM,gBAAiB,CAAA,EAChGra,EAAA,IAAAsC,EAAA,CAAO,KAAMnD,EAAW,KAAM,KAAMC,EAAS,OAAQ,QAASkb,EAAU,MAAM,0BAA0B,GAAIC,CAAgB,CAAA,CAAA,CAC/H,CAAA,CAAA,EACF,CAEJ,4aCnCaC,GAAuB,CAAC,CACnC,MAAA/U,EACA,YAAAgV,EACA,iBAAAC,EACA,YAAAC,EACA,MAAAX,EACA,WAAAY,EACA,WAAAC,EAAa,GACb,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,WAAArB,EAAa,GACb,WAAAsB,EACA,KAAA7O,CACF,IAAM,CACJ,KAAM,CAAC5I,EAAYC,CAAa,EAAIC,EAAAA,SAAS,EAAK,EAC5C,CAACwW,EAAWgB,CAAY,EAAIxX,EAAAA,SAASgC,CAAK,EAC1C5C,EAAWwB,SAAyB,IAAI,EACxCkW,EAAiBrQ,EAAAA,MAAM,EACvBgR,EAAsBH,GAAY,CAACF,GAAcD,EACjDO,EAAwBzB,GAAc,CAACmB,GAAc,CAAC,CAACF,GAAeC,EACtEQ,EAAuBF,GAAuBC,EAE9CE,EAAelb,EAAa,CAChCoB,GAAO,YACP,CACE,CAACA,GAAO,qBAAqB,EAAGsZ,EAChC,CAACtZ,GAAO,qBAAqB,EAAG4K,IAAS7M,EAAgB,SACzD,CAACiC,GAAO,qBAAqB,EAAGqZ,EAChC,CAACrZ,GAAO,sBAAsB,EAAGuZ,EACjC,CAACvZ,GAAO,qBAAqB,EAAGwZ,EAChC,CAACxZ,GAAO,qBAAqB,EAAG,CAACqZ,CAAA,CACnC,CACD,EAGD7W,EAAAA,UAAU,IAAM,CACVR,GAAcV,EAAS,UACzBA,EAAS,QAAQ,MAAM,EACvBA,EAAS,QAAQ,OAAO,EAC1B,EACC,CAACU,CAAU,CAAC,EAGfQ,EAAAA,UAAU,IAAM,CACdkX,EAAaxV,CAAK,CAAA,EACjB,CAACA,CAAK,CAAC,EAEV,MAAM6V,EAAiB,IAAM,CACvBT,GACJrX,EAAc,CAACD,CAAU,CAC3B,EAEMgY,EAAiB,IAAM,CACvBhY,GACJkX,EAAYT,CAAK,CACnB,EAEMpE,EAAqBvZ,GAA2C,CACvD4e,EAAA5e,EAAE,OAAO,KAAK,CAC7B,EAEMmf,EAAmBnf,GAA0C,CAEjE,MAAMof,EAAgBpf,EAAE,eACKof,GAAA,YAAAA,EAAe,MAAOlB,GAIjCmB,EAAA,CAEpB,EAEMC,EAAsBtf,GAA6C,CACnEA,EAAE,MAAQ,SACZA,EAAE,eAAe,EACDqf,EAAA,GACPrf,EAAE,MAAQ,WACnBA,EAAE,eAAe,EACNuf,EAAA,EAEf,EAEMF,EAAkB,IAAM,CACxBzB,EAAU,QAAUA,IAAcxU,EACjBiV,GAAA,MAAAA,EAAAT,EAAU,QAG7BgB,EAAaxV,CAAK,EAEpBjC,EAAc,EAAK,CACrB,EAEMoY,EAAa,IAAM,CACvBX,EAAaxV,CAAK,EAClBjC,EAAc,EAAK,CACrB,EAEA,OACGxD,EAAAA,IAAA,OAAA,CAAK,UAAWqb,EACd,SACC9X,EAAAvD,EAAA,IAAC+Z,GAAA,CACC,MAAAC,EACA,UAAAC,EACA,WAAA1W,EACA,cAAeqS,EACf,YAAa4F,EACb,eAAgBG,EAChB,OAAQD,EACR,SAAUE,EACV,eAAArB,CAAA,CAAA,EAIAxY,EAAA,KAAA8Z,WAAA,CAAA,SAAA,CAAA7b,EAAA,IAAC,SAAA,CACC,KAAK,MACL,GAAIga,EACJ,QAASuB,EACT,gBAAeX,EACf,gBAAeI,EACf,UAAWzZ,GAAO,IAClB,SAAUsZ,EAET,SAAAZ,CAAA,CACH,EACCmB,GACCrZ,EAAA,KAAC,OAAK,CAAA,UAAWR,GAAO,YACrB,SAAA,CAAA2Z,GACElb,EAAA,IAAAsC,EAAA,CAAO,KAAMnD,EAAW,KAAM,KAAMC,EAAS,KAAM,QAASkc,EAAgB,MAAM,WAAW,QAAQ,WAAW,EAElHH,GACCnb,EAAA,IAACsC,EAAA,CACC,KAAMnD,EAAW,KACjB,KAAMC,EAAS,OACf,QAAS,IAAMub,GAAA,YAAAA,EAAcX,GAC7B,MAAM,aACN,QAAQ,YAAA,CAAA,CACV,CAEJ,CAAA,CAAA,CAAA,CAEJ,CAEJ,CAAA,CAEJ,oJC9Ia8B,GAAqB,CAAC,CACjC,KAAAtC,EACA,YAAAiB,EACA,iBAAAC,EACA,cAAAjB,EACA,YAAAsC,EACA,KAAA5P,EACA,OAAA6P,EACA,UAAAlB,EACA,SAAAC,EAAW,GACX,WAAArB,EAAa,GACb,SAAAuC,EACA,YAAAtB,EACA,iBAAAuB,CACF,IAAM,CACJ,MAAMC,EAAYhc,EAAa,CAACoB,GAAO,QAAS,CAAE,CAACA,GAAO,iBAAiB,EAAG4K,IAAS7M,EAAgB,QAAU,CAAA,CAAC,EAE5G8c,EAAqB/f,GAAqC,CAC9D,MAAMggB,EAAyBL,EAAO,UAAWxb,GAAOA,IAAOiZ,CAAa,EAUvE,GAPD,CAAC,CAAC,YAAa,UAAW,aAAc,WAAW,EAAE,SAASpd,EAAE,GAAG,IAIvEA,EAAE,eAAe,EAGZA,EAAE,MAAQ,WAAa8P,IAAS7M,EAAgB,YAAgBjD,EAAE,MAAQ,aAAe8P,IAAS7M,EAAgB,UACrH,OAII,MAAAgd,EADajgB,EAAE,MAAQ,aAAeA,EAAE,MAAQ,UAElDkgB,EAAiBF,EAAwBL,EAAO,MAAM,EACtDQ,EAAaH,EAAwBL,EAAO,MAAM,EAEhDS,EAAWT,EAAOM,CAAQ,EAC5BG,IACFlc,GAAuBkc,CAAQ,EAC/BhC,EAAYgC,CAAQ,EAExB,EAEMF,EAAmB,CAACG,EAAsBC,IACvCD,EAAe,GAAK,EAAIA,EAAe,EAAIC,EAAY,EAG1DH,EAAe,CAACE,EAAsBC,IACnCD,IAAiBC,EAAY,EAAI,EAAID,EAAe,EAG7D3Y,OAAAA,EAAAA,UAAU,IAAM,CAEVyV,EAAK,OAAS0C,GAChBzB,EAAYjB,EAAKA,EAAK,OAAS,CAAC,EAAE,EAAE,CACtC,EACC,CAACA,EAAK,MAAM,CAAC,EAGdzX,EAAA,KAAC,MAAI,CAAA,KAAK,UAAU,cAAY,WAAW,SAAU,EAAG,UAAWqa,EAAmB,UAAWD,EAC9F,SAAA,CAAA3C,EAAK,IAAI,CAAC,CAAE,GAAAhZ,EAAI,MAAAiF,EAAO,SAAA7D,GAAYiV,IAEhC7W,EAAA,IAACwa,GAAA,CAEC,MAAA/U,EACA,YAAAgV,EACA,iBAAkBC,EAAoBkC,GAAalC,EAAiBla,EAAIoc,CAAQ,EAAI,OACpF,MAAOpc,EACP,WAAYA,IAAOiZ,EACnB,WAAY7X,EACZ,WAAYma,EAAYlF,CAAK,EAC7B,KAAA1K,EACA,UAAA2O,EACA,SAAAC,EACA,WAAArB,EACA,YAAAiB,CAAA,EAZKna,CAaP,CAEH,EACAkZ,GACC1Z,EAAA,IAACsC,EAAA,CACC,MAAM,UACN,QAAQ,UACR,KAAMnD,EAAW,KACjB,KAAMC,EAAS,WACf,QAAS6c,EACT,UAAW1a,GAAO,iBAAA,CAAA,CACpB,EAEJ,CAEJ,iFC5GMsb,GAAuBld,GAevB,CAfuB,IAAAC,EAAAD,EAC3B,MAAMmd,EACN,aAAAC,EACA,UAAA3b,EACA,KAAA+K,EAAO7M,EAAgB,WACvB,UAAAwb,EAAY,GACZ,SAAAC,EAAW,GACX,WAAArB,EAAa,GACb,iBAAAsD,EAAmB,UACnB,mBAAArD,EACA,iBAAAe,EACA,SAAAuB,EACA,YAAAxB,EACA,YAAAE,GAb2B/a,EAcxByB,EAAAtB,EAdwBH,EAcxB,CAbH,OACA,eACA,YACA,OACA,YACA,WACA,aACA,mBACA,qBACA,mBACA,WACA,cACA,gBAGA,KAAM,CAAC4Z,EAAMyD,CAAO,EAAIxZ,EAAAA,SAA6BqZ,CAAW,EAC1DZ,EAAmBY,EAAY,OAC/B,CAACI,EAAYC,CAAa,EAAI1Z,EAAAA,SAASyY,EAAmB,CAAC,EAC3DF,EAASxC,EAAK,IAAKnZ,GAASA,EAAK,EAAE,EACnC0b,EAAcC,EAAO,IAAKxb,GAAO,YAAYA,CAAE,EAAE,EACjD4c,EAAYL,GAAgBf,EAAO,SAASe,CAAY,EAAIA,EAAef,EAAO,CAAC,EACnF,CAACvC,EAAe4D,CAAgB,EAAI5Z,EAAAA,SAAS2Z,CAAS,EACtDE,EAAYnd,EAAa,CAACoB,GAAO,KAAMH,EAAW,CAAE,CAACG,GAAO,cAAc,EAAG4K,IAAS7M,EAAgB,QAAU,CAAA,CAAC,EAEjHie,EAAmB/c,GAAe,CACtC6c,EAAiB7c,CAAE,EACnBia,GAAA,MAAAA,EAAcja,EAChB,EAEMgd,EAAuB,CAACxD,EAAe4C,IAAqB,CAChEK,EAASQ,GAAaA,EAAS,IAAKC,GAASA,EAAI,KAAO1D,EAAQ1Y,EAAApB,EAAA,GAAKwd,GAAL,CAAU,MAAOd,CAAS,GAAIc,CAAI,CAAC,EACnGhD,GAAA,MAAAA,EAAmBV,EAAO4C,EAC5B,EAEMe,EAAe,IAAM,CACnB,MAAAlB,EAAW,aAAaS,CAAU,GAClCU,EAAcZ,GAAoB,OAAOE,CAAU,GAEnDW,EAA2B,CAC/B,GAAIpB,EACJ,MAAOmB,EACP,QAASjE,GAAsB3Z,MAAC,MAAI,CAAA,CAAA,CACtC,EAEAid,EAASQ,GAAa,CAAC,GAAGA,EAAUI,CAAM,CAAC,EAC7BV,EAACW,GAASA,EAAO,CAAC,EAErB7B,GAAA,MAAAA,GACb,EAEM8B,EAAmB/D,GAAkB,CAGzC,GAFQiD,EAACQ,GAAaA,EAAS,OAAQC,GAAQA,EAAI,KAAO1D,CAAK,CAAC,EAE5DP,IAAkBO,EAAO,CACrB,MAAAnH,EAAWmJ,EAAO,QAAQhC,CAAK,EACjC,IAAAgE,EAEAnL,EAAW,EAEMmL,EAAAhC,EAAOnJ,EAAW,CAAC,EAC7BmJ,EAAO,OAAS,EAEzBgC,EAAmBhC,EAAO,CAAC,EAGRgC,EAAA,OAGjBA,GACFT,EAAgBS,CAAgB,CAClC,CAGFrD,GAAA,MAAAA,EAAcX,EAChB,EAEA,OACGjY,EAAAA,KAAA,MAAAT,EAAApB,EAAA,GAAQmB,GAAR,CAAc,UAAWic,EACxB,SAAA,CAAAtd,EAAA,IAAC8b,GAAA,CACC,KAAAtC,EACA,cAAAC,EACA,YAAAsC,EACA,YAAawB,EACb,iBAAkBC,EAClB,KAAArR,EACA,OAAA6P,EACA,UAAAlB,EACA,SAAAC,EACA,WAAArB,EACA,SAAUiE,EACV,iBAAAzB,EACA,YAAa6B,CAAA,CACf,EACC/d,EAAA,IAAAuZ,GAAA,CAAW,KAAAC,EAAY,cAAAC,EAA8B,mBAAAE,EAAwC,WAAAD,CAAwB,CAAA,CAAA,GACxH,CAEJ,EAAA,QAAA,MAAA7K,GAAA,QAAA,UAAA3P,EAAA,QAAA,OAAAoD,EAAA,QAAA,WAAAnD,EAAA,QAAA,SAAAwQ,GAAA,QAAA,OAAA4E,GAAA,QAAA,aAAAnQ,GAAA,QAAA,aAAAU,GAAA,QAAA,KAAA2Q,GAAA,QAAA,YAAA3J,GAAA,QAAA,KAAAiM,GAAA,QAAA,OAAA3S,GAAA,QAAA,KAAAvD,EAAA,QAAA,SAAAzC,EAAA,QAAA,MAAAwI,GAAA,QAAA,MAAAC,GAAA,QAAA,OAAAO,GAAA,QAAA,WAAA/I,EAAA,QAAA,KAAA+Z,GAAA,QAAA,YAAA3H,GAAA,QAAA,aAAAiB,GAAA,QAAA,gBAAApT,EAAA,QAAA,OAAAwJ,GAAA,QAAA,OAAA4K,GAAA,QAAA,KAAAmJ,GAAA,QAAA,UAAA3I,GAAA,QAAA,aAAAlI,GAAA,QAAA,UAAAzM,GAAA,QAAA,cAAA0M,GAAA,QAAA,QAAAhM,GAAA,QAAA,iBAAAT,GAAA,QAAA,aAAAyJ,GAAA,QAAA,gBAAAK,GAAA,QAAA,uBAAAM,GAAA,QAAA,cAAAI,GAAA,QAAA,aAAAK,GAAA,QAAA,cAAAI,GAAA,QAAA,YAAAU,GAAA,QAAA,kBAAAI,GAAA,QAAA,kBAAAgB,GAAA,QAAA,SAAAI,GAAA,QAAA,mBAAAQ,GAAA,QAAA,oBAAAJ","x_google_ignoreList":[0,1,2]}
|