chop-logic-components 2.0.0 → 2.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.
Files changed (181) hide show
  1. package/README.md +24 -8
  2. package/dist/icons/index.d.ts +5 -5
  3. package/dist/icons/svg/ArrowDownIcon.d.ts +2 -2
  4. package/dist/icons/svg/ArrowUpIcon.d.ts +2 -2
  5. package/dist/icons/svg/BackIcon.d.ts +2 -2
  6. package/dist/icons/svg/CancelIcon.d.ts +2 -2
  7. package/dist/icons/svg/CheckMarkIcon.d.ts +2 -2
  8. package/dist/icons/svg/CheckboxCheckedIcon.d.ts +2 -2
  9. package/dist/icons/svg/CheckboxUncheckedIcon.d.ts +2 -2
  10. package/dist/icons/svg/ChevronDownIcon.d.ts +2 -2
  11. package/dist/icons/svg/ChevronLeftIcon.d.ts +2 -2
  12. package/dist/icons/svg/ChevronRightIcon.d.ts +2 -2
  13. package/dist/icons/svg/ChevronUpIcon.d.ts +2 -2
  14. package/dist/icons/svg/ClearIcon.d.ts +2 -2
  15. package/dist/icons/svg/CopyIcon.d.ts +2 -2
  16. package/dist/icons/svg/CutIcon.d.ts +2 -2
  17. package/dist/icons/svg/DeleteIcon.d.ts +2 -2
  18. package/dist/icons/svg/DownloadIcon.d.ts +2 -2
  19. package/dist/icons/svg/ErrorIcon.d.ts +2 -2
  20. package/dist/icons/svg/ForwardIcon.d.ts +2 -2
  21. package/dist/icons/svg/GraduateIcon.d.ts +2 -2
  22. package/dist/icons/svg/HelpIcon.d.ts +2 -2
  23. package/dist/icons/svg/HideIcon.d.ts +2 -2
  24. package/dist/icons/svg/HomeIcon.d.ts +2 -2
  25. package/dist/icons/svg/InfoIcon.d.ts +2 -2
  26. package/dist/icons/svg/LoginIcon.d.ts +2 -2
  27. package/dist/icons/svg/PasteIcon.d.ts +2 -2
  28. package/dist/icons/svg/QuestionIcon.d.ts +2 -2
  29. package/dist/icons/svg/RemoveIcon.d.ts +2 -2
  30. package/dist/icons/svg/SaveIcon.d.ts +2 -2
  31. package/dist/icons/svg/ShowIcon.d.ts +2 -2
  32. package/dist/icons/svg/UploadIcon.d.ts +2 -2
  33. package/dist/icons/svg/WarningIcon.d.ts +2 -2
  34. package/dist/index.cjs.js +985 -1
  35. package/dist/index.cjs.js.map +1 -1
  36. package/dist/index.es.js +4216 -38
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/models/components/icon.d.ts +5 -0
  39. package/dist/models/index.d.ts +1 -1
  40. package/package.json +19 -19
  41. package/dist/BackIcon-6a-KPT4R.cjs +0 -2
  42. package/dist/BackIcon-6a-KPT4R.cjs.map +0 -1
  43. package/dist/BackIcon-Dol4HlEB.js +0 -11
  44. package/dist/BackIcon-Dol4HlEB.js.map +0 -1
  45. package/dist/CancelIcon-Bdj8BJBh.js +0 -11
  46. package/dist/CancelIcon-Bdj8BJBh.js.map +0 -1
  47. package/dist/CancelIcon-Io9DmIXB.cjs +0 -2
  48. package/dist/CancelIcon-Io9DmIXB.cjs.map +0 -1
  49. package/dist/ChevronDownIcon-Bc3VeNFb.js +0 -17
  50. package/dist/ChevronDownIcon-Bc3VeNFb.js.map +0 -1
  51. package/dist/ChevronDownIcon-u_QuMZ-m.cjs +0 -2
  52. package/dist/ChevronDownIcon-u_QuMZ-m.cjs.map +0 -1
  53. package/dist/ChevronLeftIcon-7IFnvAad.js +0 -17
  54. package/dist/ChevronLeftIcon-7IFnvAad.js.map +0 -1
  55. package/dist/ChevronLeftIcon-CBJFCd4g.cjs +0 -2
  56. package/dist/ChevronLeftIcon-CBJFCd4g.cjs.map +0 -1
  57. package/dist/ChevronRightIcon-CSlX-7NZ.js +0 -17
  58. package/dist/ChevronRightIcon-CSlX-7NZ.js.map +0 -1
  59. package/dist/ChevronRightIcon-C_13rpgA.cjs +0 -2
  60. package/dist/ChevronRightIcon-C_13rpgA.cjs.map +0 -1
  61. package/dist/ChevronUpIcon-CTEQHMLW.cjs +0 -2
  62. package/dist/ChevronUpIcon-CTEQHMLW.cjs.map +0 -1
  63. package/dist/ChevronUpIcon-DfSPGScz.js +0 -11
  64. package/dist/ChevronUpIcon-DfSPGScz.js.map +0 -1
  65. package/dist/ClearIcon-DR09y0XK.js +0 -12
  66. package/dist/ClearIcon-DR09y0XK.js.map +0 -1
  67. package/dist/ClearIcon-oiZQl1xy.cjs +0 -2
  68. package/dist/ClearIcon-oiZQl1xy.cjs.map +0 -1
  69. package/dist/CopyIcon-CfJxdJkE.cjs +0 -2
  70. package/dist/CopyIcon-CfJxdJkE.cjs.map +0 -1
  71. package/dist/CopyIcon-Cncb2wSQ.js +0 -27
  72. package/dist/CopyIcon-Cncb2wSQ.js.map +0 -1
  73. package/dist/CutIcon-C0ot7pv1.cjs +0 -2
  74. package/dist/CutIcon-C0ot7pv1.cjs.map +0 -1
  75. package/dist/CutIcon-DsxJcafW.js +0 -29
  76. package/dist/CutIcon-DsxJcafW.js.map +0 -1
  77. package/dist/DeleteIcon-C0T5ZleK.js +0 -11
  78. package/dist/DeleteIcon-C0T5ZleK.js.map +0 -1
  79. package/dist/DeleteIcon-CVPhcSfG.cjs +0 -2
  80. package/dist/DeleteIcon-CVPhcSfG.cjs.map +0 -1
  81. package/dist/DownloadIcon-BHhuRKBy.cjs +0 -2
  82. package/dist/DownloadIcon-BHhuRKBy.cjs.map +0 -1
  83. package/dist/DownloadIcon-C_1FJXS6.js +0 -11
  84. package/dist/DownloadIcon-C_1FJXS6.js.map +0 -1
  85. package/dist/ForwardIcon-CKnkecv-.cjs +0 -2
  86. package/dist/ForwardIcon-CKnkecv-.cjs.map +0 -1
  87. package/dist/ForwardIcon-DSxMxnjb.js +0 -11
  88. package/dist/ForwardIcon-DSxMxnjb.js.map +0 -1
  89. package/dist/GraduateIcon-DQLWdRj8.js +0 -9
  90. package/dist/GraduateIcon-DQLWdRj8.js.map +0 -1
  91. package/dist/GraduateIcon-Dsk-T3da.cjs +0 -2
  92. package/dist/GraduateIcon-Dsk-T3da.cjs.map +0 -1
  93. package/dist/HideIcon-Bp5glcyr.js +0 -11
  94. package/dist/HideIcon-Bp5glcyr.js.map +0 -1
  95. package/dist/HideIcon-CyItCp1h.cjs +0 -2
  96. package/dist/HideIcon-CyItCp1h.cjs.map +0 -1
  97. package/dist/HomeIcon-DX_PgT5n.cjs +0 -2
  98. package/dist/HomeIcon-DX_PgT5n.cjs.map +0 -1
  99. package/dist/HomeIcon-DyYP6u5L.js +0 -9
  100. package/dist/HomeIcon-DyYP6u5L.js.map +0 -1
  101. package/dist/LoginIcon-CXb93ZdU.js +0 -9
  102. package/dist/LoginIcon-CXb93ZdU.js.map +0 -1
  103. package/dist/LoginIcon-CYQ6pYwB.cjs +0 -2
  104. package/dist/LoginIcon-CYQ6pYwB.cjs.map +0 -1
  105. package/dist/PasteIcon-BIKTS0Dz.cjs +0 -2
  106. package/dist/PasteIcon-BIKTS0Dz.cjs.map +0 -1
  107. package/dist/PasteIcon-D5VKRUHc.js +0 -11
  108. package/dist/PasteIcon-D5VKRUHc.js.map +0 -1
  109. package/dist/QuestionIcon-CA5cYfsl.js +0 -23
  110. package/dist/QuestionIcon-CA5cYfsl.js.map +0 -1
  111. package/dist/QuestionIcon-DbZnERtn.cjs +0 -2
  112. package/dist/QuestionIcon-DbZnERtn.cjs.map +0 -1
  113. package/dist/RemoveIcon-CzYds-64.cjs +0 -2
  114. package/dist/RemoveIcon-CzYds-64.cjs.map +0 -1
  115. package/dist/RemoveIcon-DIvsqLi-.js +0 -31
  116. package/dist/RemoveIcon-DIvsqLi-.js.map +0 -1
  117. package/dist/SaveIcon-B84k1D5f.cjs +0 -2
  118. package/dist/SaveIcon-B84k1D5f.cjs.map +0 -1
  119. package/dist/SaveIcon-DhBj4tAF.js +0 -11
  120. package/dist/SaveIcon-DhBj4tAF.js.map +0 -1
  121. package/dist/ShowIcon-DkpGVHWR.js +0 -12
  122. package/dist/ShowIcon-DkpGVHWR.js.map +0 -1
  123. package/dist/ShowIcon-SGeEvbuz.cjs +0 -2
  124. package/dist/ShowIcon-SGeEvbuz.cjs.map +0 -1
  125. package/dist/UploadIcon-CvFnGI7Y.js +0 -12
  126. package/dist/UploadIcon-CvFnGI7Y.js.map +0 -1
  127. package/dist/UploadIcon-va72gwks.cjs +0 -2
  128. package/dist/UploadIcon-va72gwks.cjs.map +0 -1
  129. package/dist/__tests__/index.test.d.ts +0 -1
  130. package/dist/components/containers/form/__tests__/Form.test.d.ts +0 -1
  131. package/dist/components/containers/form/__tests__/helpers.test.d.ts +0 -1
  132. package/dist/components/containers/grid/__tests__/Body.test.d.ts +0 -1
  133. package/dist/components/containers/grid/__tests__/ColumnGroup.test.d.ts +0 -1
  134. package/dist/components/containers/grid/__tests__/Grid.test.d.ts +0 -1
  135. package/dist/components/containers/grid/__tests__/Head.test.d.ts +0 -1
  136. package/dist/components/containers/grid/__tests__/Row.test.d.ts +0 -1
  137. package/dist/components/containers/grid/__tests__/SelectAllRowsCell.test.d.ts +0 -1
  138. package/dist/components/containers/grid/__tests__/SelectRowCell.test.d.ts +0 -1
  139. package/dist/components/containers/grid/__tests__/helpers.test.d.ts +0 -1
  140. package/dist/components/containers/menu/__tests__/Menu.test.d.ts +0 -1
  141. package/dist/components/containers/menu/__tests__/MenuItem.test.d.ts +0 -1
  142. package/dist/components/containers/menu/__tests__/MenuLeaf.test.d.ts +0 -1
  143. package/dist/components/containers/menu/__tests__/SubMenu.test.d.ts +0 -1
  144. package/dist/components/containers/portal/__tests__/Portal.test.d.ts +0 -1
  145. package/dist/components/containers/tabs/__tests__/TabList.test.d.ts +0 -1
  146. package/dist/components/containers/tabs/__tests__/Tabs.test.d.ts +0 -1
  147. package/dist/components/inputs/button/__tests__/Button.test.d.ts +0 -1
  148. package/dist/components/inputs/checkbox/__tests__/Checkbox.test.d.ts +0 -1
  149. package/dist/components/inputs/multi-select/__tests__/MultiSelect.test.d.ts +0 -1
  150. package/dist/components/inputs/multi-select/__tests__/helpers.test.d.ts +0 -1
  151. package/dist/components/inputs/numeric/__tests__/NumericInput.test.d.ts +0 -1
  152. package/dist/components/inputs/numeric/__tests__/helpers.test.d.ts +0 -1
  153. package/dist/components/inputs/select/__tests__/Select.test.d.ts +0 -1
  154. package/dist/components/inputs/select/__tests__/helpers.test.d.ts +0 -1
  155. package/dist/components/inputs/text/__tests__/TextInput.test.d.ts +0 -1
  156. package/dist/components/inputs/text/__tests__/helpers.test.d.ts +0 -1
  157. package/dist/components/modals/alert/__tests__/Alert.test.d.ts +0 -1
  158. package/dist/components/modals/alert/__tests__/helpers.test.d.ts +0 -1
  159. package/dist/components/modals/dialog/__tests__/Dialog.test.d.ts +0 -1
  160. package/dist/components/modals/tooltip/__tests__/Tooltip.test.d.ts +0 -1
  161. package/dist/elements/error-message/__tests__/ErrorMessage.test.d.ts +0 -1
  162. package/dist/elements/icon/__tests__/Icon.test.d.ts +0 -1
  163. package/dist/elements/input-inner-button/__tests__/InputInnerButton.test.d.ts +0 -1
  164. package/dist/elements/label/__tests__/Label.test.d.ts +0 -1
  165. package/dist/elements/loader/__tests__/Loader.test.d.ts +0 -1
  166. package/dist/hocs/with-tooltip/__tests__/with-tooltip.test.d.ts +0 -1
  167. package/dist/hooks/use-click-outside/__tests__/use-click-outside.test.d.ts +0 -1
  168. package/dist/hooks/use-element-ids/__tests__/use-element-ids.test.d.ts +0 -1
  169. package/dist/hooks/use-key-press/__tests__/use-key-press.test.d.ts +0 -1
  170. package/dist/hooks/use-modal-focus-trap/__tests__/use-modal-focus-trap.test.d.ts +0 -1
  171. package/dist/hooks/use-mount/__tests__/use-mount.test.d.ts +0 -1
  172. package/dist/hooks/use-tooltip-position/__tests__/use-tooltip-position.test.d.ts +0 -1
  173. package/dist/hooks/use-window-dimensions/__tests__/use-window-dimensions.test.d.ts +0 -1
  174. package/dist/icons/__tests__/icons.test.d.ts +0 -1
  175. package/dist/index-Dg2AZXfT.js +0 -4203
  176. package/dist/index-Dg2AZXfT.js.map +0 -1
  177. package/dist/index-OUA1cKrc.cjs +0 -993
  178. package/dist/index-OUA1cKrc.cjs.map +0 -1
  179. package/dist/utils/__tests__/get-chop-logic-theme.test.d.ts +0 -1
  180. package/dist/utils/__tests__/handle-dropdown-list-key-press.test.d.ts +0 -1
  181. package/dist/utils/__tests__/move-focus-on-element-by-id.test.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.es.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/styled-components/node_modules/tslib/tslib.es6.mjs","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/dist/styled-components.browser.esm.js","../src/css/animations.ts","../src/css/screen-breakpoints.ts","../src/css/themes.ts","../src/elements/error-message/ErrorMessage.styled.tsx","../src/elements/error-message/ErrorMessage.tsx","../src/icons/svg/ArrowDownIcon.tsx","../src/icons/svg/ArrowUpIcon.tsx","../src/icons/svg/BackIcon.tsx","../src/icons/svg/CancelIcon.tsx","../src/icons/svg/CheckboxCheckedIcon.tsx","../src/icons/svg/CheckboxUncheckedIcon.tsx","../src/icons/svg/CheckMarkIcon.tsx","../src/icons/svg/ChevronDownIcon.tsx","../src/icons/svg/ChevronLeftIcon.tsx","../src/icons/svg/ChevronRightIcon.tsx","../src/icons/svg/ChevronUpIcon.tsx","../src/icons/svg/ClearIcon.tsx","../src/icons/svg/CopyIcon.tsx","../src/icons/svg/CutIcon.tsx","../src/icons/svg/DeleteIcon.tsx","../src/icons/svg/DownloadIcon.tsx","../src/icons/svg/ErrorIcon.tsx","../src/icons/svg/ForwardIcon.tsx","../src/icons/svg/GraduateIcon.tsx","../src/icons/svg/HelpIcon.tsx","../src/icons/svg/HideIcon.tsx","../src/icons/svg/HomeIcon.tsx","../src/icons/svg/InfoIcon.tsx","../src/icons/svg/LoginIcon.tsx","../src/icons/svg/PasteIcon.tsx","../src/icons/svg/QuestionIcon.tsx","../src/icons/svg/RemoveIcon.tsx","../src/icons/svg/SaveIcon.tsx","../src/icons/svg/ShowIcon.tsx","../src/icons/svg/UploadIcon.tsx","../src/icons/svg/WarningIcon.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/icons/index.tsx","../src/elements/icon/Icon.tsx","../src/elements/input-inner-button/InputInnerButton.styled.tsx","../src/elements/input-inner-button/InputInnerButton.tsx","../src/elements/label/Label.styled.tsx","../src/elements/label/Label.tsx","../src/hocs/with-tooltip/index.tsx","../src/contexts/chop-logic-form-context.ts","../src/contexts/chop-logic-theme-context.ts","../src/utils/get-chop-logic-theme.ts","../src/utils/move-focus-on-element-by-id.ts","../src/utils/handle-dropdown-list-key-press.ts","../src/hooks/use-chop-logic-theme/index.ts","../src/hooks/use-click-outside/index.ts","../src/hooks/use-container-dimensions/index.ts","../src/hooks/use-element-ids/index.tsx","../src/hooks/use-key-press/index.ts","../src/hooks/use-modal-focus-trap/index.ts","../src/hooks/use-mount/index.ts","../src/hooks/use-reset-form-input/index.ts","../src/hooks/use-window-dimensions/index.ts","../src/hooks/use-tooltip-position/index.ts","../src/components/inputs/button/Button.styled.tsx","../src/components/inputs/button/Button.tsx","../src/components/inputs/checkbox/Checkbox.styled.tsx","../src/components/inputs/checkbox/helpers.ts","../src/components/inputs/checkbox/controller.ts","../src/components/inputs/checkbox/Checkbox.tsx","../src/css/common/Select.styled.tsx","../src/components/inputs/multi-select/elements/Combobox.tsx","../src/components/inputs/multi-select/elements/Option.tsx","../src/components/inputs/multi-select/elements/Dropdown.tsx","../src/components/inputs/multi-select/helpers.ts","../src/components/inputs/multi-select/controller.ts","../src/components/inputs/multi-select/MultiSelect.tsx","../src/components/inputs/numeric/helpers.ts","../src/components/inputs/numeric/controller.ts","../src/components/inputs/numeric/NumericInput.styled.tsx","../src/components/inputs/numeric/NumericInput.tsx","../src/components/inputs/select/elements/Combobox.tsx","../src/components/inputs/select/elements/Option.tsx","../src/components/inputs/select/elements/Dropdown.tsx","../src/components/inputs/select/helpers.ts","../src/components/inputs/select/controller.ts","../src/components/inputs/select/Select.tsx","../src/components/inputs/text/helpers.ts","../src/components/inputs/text/controller.ts","../src/components/inputs/text/TextInput.styled.tsx","../src/components/inputs/text/TextInput.tsx","../src/components/modals/dialog/Dialog.styled.tsx","../src/components/modals/dialog/elements/Header.tsx","../src/components/modals/dialog/elements/Layout.tsx","../src/components/modals/dialog/Dialog.tsx","../src/components/modals/tooltip/controller.ts","../src/components/modals/tooltip/Tooltip.styled.tsx","../src/components/modals/tooltip/Tooltip.tsx","../src/components/containers/form/helpers.ts","../src/components/containers/form/controller.ts","../src/components/containers/form/Form.styled.tsx","../src/components/containers/form/Form.tsx","../src/components/containers/grid/Grid.styled.tsx","../src/components/containers/grid/helpers.ts","../src/components/containers/grid/elements/DataCell.tsx","../src/components/containers/grid/elements/Checkbox.tsx","../src/components/containers/grid/elements/SelectRowCell.tsx","../src/components/containers/grid/elements/Row.tsx","../src/components/containers/grid/elements/Body.tsx","../src/components/containers/grid/elements/ColumnGroup.tsx","../src/components/containers/grid/elements/HeaderCell.tsx","../src/components/containers/grid/elements/SelectAllRowsCell.tsx","../src/components/containers/grid/elements/Head.tsx","../src/components/containers/grid/controller.ts","../src/components/containers/grid/Grid.tsx","../src/components/containers/menu/Meny.styled.ts","../src/components/containers/menu/elements/MenuLeaf.tsx","../src/components/containers/menu/elements/SubMenu.tsx","../src/components/containers/menu/elements/MenuItem.tsx","../src/components/containers/menu/Menu.tsx","../src/components/containers/portal/Portal.tsx","../src/components/containers/tabs/Tabs.styled.tsx","../src/components/containers/tabs/elements/TabContent.tsx","../src/components/containers/tabs/elements/TabButton.tsx","../src/components/containers/tabs/elements/TabList.tsx","../src/components/containers/tabs/Tabs.tsx","../src/components/modals/alert/Alert.styled.tsx","../src/components/modals/alert/helpers.tsx","../src/components/modals/alert/elements/Header.tsx","../src/components/modals/alert/Alert.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","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import o,{useRef as r,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.17\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var o=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\\n\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},r(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,W=G?Symbol.for(\"react.forward_ref\"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:q;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if(\"string\"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n)}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function re(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],o=1;o<e.length;o++)n+=t?t+e[o]:e[o];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],o=[],r=1,s=e.length;r<s;r+=1)o.push(e[r]);return o.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var o,r=n.split(\",\"),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o)},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0}else r.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement(\"style\"),r=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute(\"nonce\",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o=\"\",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return\"continue\";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(r,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),o+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)r(s);return o}(r)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=!0),new e(t(t({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,r,s,a){void 0===r&&(r=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=r,o=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||r?\"\".concat(s,\" \").concat(r,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=o.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=o.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],r=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return o.createElement($e.Provider,{value:d},o.createElement(Le.Provider,{value:u},e.children))}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var o=e[n];if(1===n&&\"-\"===o&&\"-\"===e[0])return e;qe(o)?t+=\"-\"+o.toLowerCase():t+=o}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?r.push.apply(r,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):r.push(\"\".concat(He(s),\": \").concat((n=s,null==(o=i)||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||n in h||n.startsWith(\"--\")?String(o).trim():\"\".concat(o,\"px\")),\";\")))}return r};function Xe(e,t,n,o){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var r=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof r||Array.isArray(r)||r instanceof We||ce(r)||null===r||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(r,t,n,o)}var s;return e instanceof We?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else{var r=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}o=ie(o,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),o=ie(o,d)}}return o},e}(),et=o.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function ot(e){var n=o.useContext(et),r=i(function(){return function(e,n){if(!e)throw he(14);if(re(e)){var o=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===o||Array.isArray(o)||\"object\"!=typeof o))throw he(7);return o}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?o.createElement(et.Provider,{value:r},e.children):null}var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);rt[n]=(rt[n]||0)+1;var o=\"\".concat(n,\"-\").concat($(v+n+rt[n]));return t?\"\".concat(t,\"-\").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=r.displayName&&r.componentId?\"\".concat(R(r.displayName),\"-\").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=o.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=t(t({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(o),o}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,r)}O.displayName=y;var D=o.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},o=!1;return function(r){if(!o&&(n[r]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),o=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var r=t;return 0===n.length&&1===r.length&&\"string\"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,o,t(t({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,t(t({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,o){var r=o(ae(Xe(this.rules,t,n,o)),\"\"),s=this.componentId+e;n.insertRules(s,s,r)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,o){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},e}();function ft(n){for(var r=[],s=1;s<arguments.length;s++)r[s-1]=arguments[s];var i=lt.apply(void 0,e([n],r,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var t=Ge(),n=o.useContext(et),r=o.useRef(t.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&o.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.styleSheet.server&&u(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect(function(){if(!t.styleSheet.server)return u(r,e,t.styleSheet,n,t.stylis),function(){return c.removeStyles(r,t.styleSheet)}},[r,e,t.styleSheet,n,t.stylis]),null};function u(e,n,o,r,s){if(c.isStatic)c.renderStyles(e,b,o,s);else{var i=t(t({},n),{theme:I(n,r,l.defaultProps)});c.renderStyles(e,i,o,s)}}return o.memo(l)}function mt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var r=ae(lt.apply(void 0,e([t],n,!1))),s=$(r);return new We(s,r)}function yt(e){var n=o.forwardRef(function(n,r){var s=I(n,o.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),o.createElement(e,t({},n,{theme:s,ref:r}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),oe(n,e)}var vt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),o=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(o,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var r=e.instance.toString();if(!r)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:r},n),i=Ce();return i&&(s.nonce=i),[o.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return o.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw he(3)},e}(),gt={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var St=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[St]+=1);export{vt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,ot as ThemeProvider,gt as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","export const fadeInAnimation = `\n animation: fadeIn ease 400ms;\n -webkit-animation: fadeIn ease 400ms;\n -moz-animation: fadeIn ease 400ms;\n\n @keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-moz-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`;\n\nexport const fadeOutAnimation = `\n animation: fadeOut ease 400ms;\n -webkit-animation: fadeOut ease 400ms;\n -moz-animation: fadeOut ease 400ms;\n\n @keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n @-moz-keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n @-webkit-keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n`;\n","/* Breakpoints for common device groups */\nexport const SCREEN_BREAKPOINTS = Object.freeze({\n /* Very small devices (phones, 600px and down) */\n /* @media only screen and (max-width: 600px) {...} */\n phones: 'only screen and (max-width: 600px)',\n /* Small devices (portrait tablets and large phones, 600px and up) */\n /* @media only screen and (min-width: 600px) {...} */\n portraitTablets: 'only screen and (min-width: 600px)',\n /* Medium devices (landscape tablets, 768px and up) */\n /* @media only screen and (min-width: 768px) {...} */\n landscapeTablets: 'only screen and (min-width: 768px)',\n /* Large devices (laptops/desktops, 992px and up) */\n /* @media only screen and (min-width: 992px) {...} */\n laptops: 'only screen and (min-width: 992px)',\n /* Extra large devices (large laptops and desktops, 1200px and up) */\n /* @media only screen and (min-width: 1200px) {...} */\n desktops: 'only screen and (min-width: 1200px)',\n});\n","import { ChopLogicTheme } from '@models';\n\nexport const LIGHT_THEME: ChopLogicTheme = {\n // Colors\n fontColorBase: 'hsl(0, 0%, 24%)',\n fontColorLight: 'hsl(0, 0%, 62%)',\n fontColorAccent: 'hsl(345, 100%, 47%)',\n backgroundColorBase: 'hsl(0, 0%, 100%)',\n backgroundColorLight: 'hsl(0, 0%, 95%)',\n backgroundColorTransparent: 'hsla(0, 0%, 0%, 0.3)',\n // Gradients\n gradientShadow:\n 'linear-gradient(to left, hsl(340deg 100% 16%) 0%, hsl(340deg 100% 32%) 8%, hsl(340deg 100% 32%) 92%, hsl(340deg 100% 16%) 100%)',\n // Fonts\n fontFamilyCore: 'Arial, Helvetica, sans-serif',\n fontFamilyMonospace: `'Courier New', Courier, monospace`,\n fontSizeBase: '1.2rem',\n fontSizeSmall: '0.8rem',\n fontSizeHeader: '2rem',\n // Units\n gapSmall: '0.25rem',\n gapMedium: '0.6rem',\n gapBig: '1rem',\n iconSize: '1.2rem',\n blockBorderRadius: '0.25rem',\n // Shadows\n boxShadow: 'hsla(0, 0%, 0%, 0.15) 2.4px 2.4px 3.2px',\n textShadow: '2.4px 2.4px 3.2px hsla(0, 0%, 0%, 0.3)',\n // Borders\n borderBase: '1px solid hsl(0, 0%, 84%)',\n borderLight: '1px solid hsl(0, 0%, 89%)',\n borderAccent: '1px solid hsl(345, 100%, 47%)',\n borderOutline: '1px solid hsl(0, 0%, 24%)',\n // Z-indexes\n zIndexBase: '1',\n zIndexPopup: '100',\n zIndexModal: '200',\n};\n\nexport const DARK_THEME: ChopLogicTheme = {\n // Colors\n fontColorBase: 'hsl(0, 0%, 100%)',\n fontColorLight: 'hsl(0, 0%, 92%)',\n fontColorAccent: 'hsl(16, 82%, 52%)',\n backgroundColorBase: 'hsl(0, 0%, 17%)',\n backgroundColorLight: 'hsl(0, 0%, 24%)',\n backgroundColorTransparent: 'hsla(0, 0%, 92%, 0.3)',\n // Gradients\n gradientShadow: 'linear-gradient(to left, hsl(16, 86%, 26%) 0%, hsl(16, 86%, 30%) 8%, hsl(16, 86%, 30%) 92%, hsl(16, 86%, 26%) 100%)',\n // Fonts\n fontFamilyCore: 'Arial, Helvetica, sans-serif',\n fontFamilyMonospace: `'Courier New', Courier, monospace`,\n fontSizeBase: '1.2rem',\n fontSizeSmall: '0.8rem',\n fontSizeHeader: '2rem',\n // Units\n gapSmall: '0.25rem',\n gapMedium: '0.6rem',\n gapBig: '1rem',\n iconSize: '1.2rem',\n blockBorderRadius: '0.25rem',\n // Shadows\n boxShadow: 'hsla(0, 0%, 92%, 0.15) 2.4px 2.4px 3.2px',\n textShadow: '2.4px 2.4px 3.2px hsla(0, 0%, 92%, 0.3)',\n // Borders\n borderBase: '1px solid hsl(0, 0%, 11%)',\n borderLight: '1px solid hsl(0, 0%, 29%)',\n borderAccent: '1px solid hsl(16, 82%, 52%)',\n borderOutline: '1px solid hsl(0, 0%, 100%)',\n // Z-indexes\n zIndexBase: '1',\n zIndexPopup: '100',\n zIndexModal: '200',\n};\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledErrorMessage = styled.span<{ $visible: boolean; $theme: ChopLogicTheme }>`\n display: ${({ $visible }) => ($visible ? 'block' : 'none')};\n position: absolute;\n max-width: 100%;\n right: 0;\n top: 72px;\n opacity: 0.8;\n z-index: ${(props) => props.$theme.zIndexPopup};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n border: ${(props) => props.$theme.borderAccent};\n color: ${(props) => props.$theme.fontColorAccent};\n padding: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n pointer-events: none;\n\n ${fadeInAnimation}\n`;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledErrorMessage } from './ErrorMessage.styled';\n\ntype ChopLogicErrorMessageProps = {\n errorId: string;\n visible?: boolean;\n message?: string;\n testId?: string;\n style?: React.CSSProperties;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicErrorMessage: React.FC<ChopLogicErrorMessageProps> = ({\n errorId,\n testId,\n message = 'Invalid input',\n visible = false,\n style,\n theme,\n}) => {\n return (\n <StyledErrorMessage id={errorId} $visible={visible} data-testid={testId} style={style} $theme={theme} aria-hidden={!visible}>\n {message}\n </StyledErrorMessage>\n );\n};\n\nexport default ChopLogicErrorMessage;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M21.886 5.536A1.002 1.002 0 0021 5H3a1.002 1.002 0 00-.822 1.569l9 13a.998.998 0 001.644 0l9-13a.998.998 0 00.064-1.033zM12 17.243L4.908 7h14.184L12 17.243z' />\n </svg>\n );\n}\n\nexport default ArrowDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ArrowUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M3 19h18a1.002 1.002 0 00.823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 003 19zm9-12.243L19.092 17H4.908L12 6.757z' />\n </svg>\n );\n}\n\nexport default ArrowUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction BackIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M328 112L184 256l144 144' />\n </svg>\n );\n}\n\nexport default BackIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CancelIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 470 1000' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M452 656c12 12 18 26.333 18 43s-6 31-18 43c-12 10.667-26.333 16-43 16s-31-5.333-43-16L234 590 102 742c-12 10.667-26.333 16-43 16s-31-5.333-43-16C5.333 730 0 715.667 0 699s5.333-31 16-43l138-156L16 342C5.333 330 0 315.667 0 299s5.333-31 16-43c12-10.667 26.333-16 43-16s31 5.333 43 16l132 152 132-152c12-10.667 26.333-16 43-16s31 5.333 43 16c12 12 18 26.333 18 43s-6 31-18 43L314 500l138 156' />\n </svg>\n );\n}\n\nexport default CancelIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxCheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='currentColor'\n d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM7 12.414L3.293 8.707l1.414-1.414L7 9.586l4.793-4.793 1.414 1.414L7 12.414z'\n />\n </svg>\n );\n}\n\nexport default CheckboxCheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckboxUncheckedIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 16 16' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='currentColor' d='M14 0H2C.9 0 0 .9 0 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zm0 14H2V2h12v12z' />\n </svg>\n );\n}\n\nexport default CheckboxUncheckedIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CheckMarkIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z' />\n </svg>\n );\n}\n\nexport default CheckMarkIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronDownIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M1.553 6.776a.5.5 0 01.67-.223L8 9.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z'\n />\n </svg>\n );\n}\n\nexport default ChevronDownIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronLeftIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M9.224 1.553a.5.5 0 01.223.67L6.56 8l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z'\n />\n </svg>\n );\n}\n\nexport default ChevronLeftIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronRightIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fillRule='evenodd'\n d='M6.776 1.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L9.44 8 6.553 2.224a.5.5 0 01.223-.671z'\n />\n </svg>\n );\n}\n\nexport default ChevronRightIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ChevronUpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fillRule='evenodd' d='M7.776 5.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L8 6.56 2.224 9.447a.5.5 0 11-.448-.894l6-3z' />\n </svg>\n );\n}\n\nexport default ChevronUpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ClearIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <defs>\n <style />\n </defs>\n <path d='M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-.3 1.5-.4 3-.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-.1 4.4-.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z' />\n </svg>\n );\n}\n\nexport default ClearIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CopyIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path d='M11 9 H20 A2 2 0 0 1 22 11 V20 A2 2 0 0 1 20 22 H11 A2 2 0 0 1 9 20 V11 A2 2 0 0 1 11 9 z' />\n <path d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1' />\n </svg>\n );\n}\n\nexport default CopyIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction CutIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n viewBox='0 0 24 24'\n height='1em'\n width='1em'\n role='img'\n {...rest}\n >\n {title && <title>{title}</title>}\n <path stroke='none' d='M0 0h24v24H0z' />\n <path d='M10 17 A3 3 0 0 1 7 20 A3 3 0 0 1 4 17 A3 3 0 0 1 10 17 z' />\n <path d='M20 17 A3 3 0 0 1 17 20 A3 3 0 0 1 14 17 A3 3 0 0 1 20 17 z' />\n <path d='M9.15 14.85L18 4M6 4l8.85 10.85' />\n </svg>\n );\n}\n\nexport default CutIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DeleteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z' />\n </svg>\n );\n}\n\nexport default DeleteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction DownloadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default DownloadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ErrorIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M11 7h2v7h-2zm0 8h2v2h-2z' />\n <path d='M21.707 7.293l-5-5A.996.996 0 0016 2H8a.996.996 0 00-.707.293l-5 5A.996.996 0 002 8v8c0 .266.105.52.293.707l5 5A.996.996 0 008 22h8c.266 0 .52-.105.707-.293l5-5A.996.996 0 0022 16V8a.996.996 0 00-.293-.707zM20 15.586L15.586 20H8.414L4 15.586V8.414L8.414 4h7.172L20 8.414v7.172z' />\n </svg>\n );\n}\n\nexport default ErrorIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ForwardIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeLinecap='round' strokeLinejoin='round' strokeWidth={48} d='M184 112l144 144-144 144' />\n </svg>\n );\n}\n\nexport default ForwardIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst GraduateIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 448 512' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M219.3.5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128S96 230.7 96 160v-57.1l-48-9.6v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3S52.8 256 48 256H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64c0-11.4 8.1-21.3 19.3-23.5l200-40zM111.9 327.7c10.5-3.4 21.8.4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5 65 20.9 112 81.7 112 153.6 0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z' />\n </svg>\n);\n\nexport default GraduateIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HelpIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M414.39 97.61A224 224 0 1097.61 414.39 224 224 0 10414.39 97.61zM192.13 260.18a64 64 0 1159.69 59.69 64.07 64.07 0 01-59.69-59.69zm240-66.64l-96.37 5.84a4.06 4.06 0 01-3.44-1.59 96 96 0 00-18.07-18.07 4.06 4.06 0 01-1.59-3.44l5.84-96.37a4 4 0 015.42-3.51A193 193 0 01435.6 188.12a4 4 0 01-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 01-1.59 3.44 96 96 0 00-18.07 18.07 4.06 4.06 0 01-3.44 1.59l-96.37-5.84a4 4 0 01-3.51-5.42A193 193 0 01188.12 76.4a4 4 0 015.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 013.44 1.59 96 96 0 0018.07 18.07 4.06 4.06 0 011.59 3.44l-5.84 96.37a4 4 0 01-5.42 3.51A193 193 0 0176.4 323.88a4 4 0 013.51-5.42zm238.55 113.63l-5.84-96.37a4.06 4.06 0 011.59-3.44 96 96 0 0018.07-18.07 4.06 4.06 0 013.44-1.59l96.37 5.84a4 4 0 013.51 5.42A193 193 0 01323.88 435.6a4 4 0 01-5.42-3.51z' />\n </svg>\n );\n}\n\nexport default HelpIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction HideIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 19c.946 0 1.81-.103 2.598-.281l-1.757-1.757c-.273.021-.55.038-.841.038-5.351 0-7.424-3.846-7.926-5a8.642 8.642 0 011.508-2.297L4.184 8.305c-1.538 1.667-2.121 3.346-2.132 3.379a.994.994 0 000 .633C2.073 12.383 4.367 19 12 19zm0-14c-1.837 0-3.346.396-4.604.981L3.707 2.293 2.293 3.707l18 18 1.414-1.414-3.319-3.319c2.614-1.951 3.547-4.615 3.561-4.657a.994.994 0 000-.633C21.927 11.617 19.633 5 12 5zm4.972 10.558l-2.28-2.28c.19-.39.308-.819.308-1.278 0-1.641-1.359-3-3-3-.459 0-.888.118-1.277.309L8.915 7.501A9.26 9.26 0 0112 7c5.351 0 7.424 3.846 7.926 5-.302.692-1.166 2.342-2.954 3.558z' />\n </svg>\n );\n}\n\nexport default HideIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst HomeIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M946.5 505 560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z' />\n </svg>\n);\n\nexport default HomeIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction InfoIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z' />\n <path d='M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z' />\n </svg>\n );\n}\n\nexport default InfoIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nconst LoginIcon = ({ title, ...rest }: ChopLogicSVGElementProps) => (\n <svg width='1em' height='1em' fill='currentColor' viewBox='0 0 1024 1024' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z' />\n </svg>\n);\n\nexport default LoginIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction PasteIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M20 11V5c0-1.103-.897-2-2-2h-3a1 1 0 00-1-1H8a1 1 0 00-1 1H4c-1.103 0-2 .897-2 2v13c0 1.103.897 2 2 2h7c0 1.103.897 2 2 2h7c1.103 0 2-.897 2-2v-7c0-1.103-.897-2-2-2zm-9 2v5H4V5h3v2h8V5h3v6h-5c-1.103 0-2 .897-2 2zm2 7v-7h7l.001 7H13z' />\n </svg>\n );\n}\n\nexport default PasteIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction QuestionIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' stroke='currentColor' strokeMiterlimit={10} strokeWidth={32} d='M256 80a176 176 0 10176 176A176 176 0 00256 80z' />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeMiterlimit={10}\n strokeWidth={28}\n d='M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296'\n />\n <path d='M270 348 A20 20 0 0 1 250 368 A20 20 0 0 1 230 348 A20 20 0 0 1 270 348 z' />\n </svg>\n );\n}\n\nexport default QuestionIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction RemoveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 512 512' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path\n fill='none'\n stroke='currentColor'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M135.19 390.14a28.79 28.79 0 0021.68 9.86h246.26A29 29 0 00432 371.13V140.87A29 29 0 00403.13 112H156.87a28.84 28.84 0 00-21.67 9.84v0L46.33 256l88.86 134.11z'\n />\n <path\n fill='none'\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={32}\n d='M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33M336.67 192.33L206.66 322.34M336.67 322.34L206.66 192.33'\n />\n </svg>\n );\n}\n\nexport default RemoveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction SaveIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 1024 1024' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z' />\n </svg>\n );\n}\n\nexport default SaveIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction ShowIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M12 9a3.02 3.02 0 00-3 3c0 1.642 1.358 3 3 3 1.641 0 3-1.358 3-3 0-1.641-1.359-3-3-3z' />\n <path d='M12 5c-7.633 0-9.927 6.617-9.948 6.684L1.946 12l.105.316C2.073 12.383 4.367 19 12 19s9.927-6.617 9.948-6.684l.106-.316-.105-.316C21.927 11.617 19.633 5 12 5zm0 12c-5.351 0-7.424-3.846-7.926-5C4.578 10.842 6.652 7 12 7c5.351 0 7.424 3.846 7.926 5-.504 1.158-2.578 5-7.926 5z' />\n </svg>\n );\n}\n\nexport default ShowIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction UploadIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg fill='currentColor' viewBox='0 0 16 16' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path d='M.5 9.9a.5.5 0 01.5.5v2.5a1 1 0 001 1h12a1 1 0 001-1v-2.5a.5.5 0 011 0v2.5a2 2 0 01-2 2H2a2 2 0 01-2-2v-2.5a.5.5 0 01.5-.5z' />\n <path d='M7.646 1.146a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L8.5 2.707V11.5a.5.5 0 01-1 0V2.707L5.354 4.854a.5.5 0 11-.708-.708l3-3z' />\n </svg>\n );\n}\n\nexport default UploadIcon;\n","import { ChopLogicSVGElementProps } from '@models';\n\nfunction WarningIcon({ title, ...rest }: ChopLogicSVGElementProps) {\n return (\n <svg viewBox='0 0 24 24' fill='currentColor' height='1em' width='1em' role='img' {...rest}>\n {title && <title>{title}</title>}\n <path fill='none' d='M0 0h24v24H0z' />\n <path d='M4 20v-6a8 8 0 1116 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 10-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 015-5v2a3 3 0 00-3 3H7z' />\n </svg>\n );\n}\n\nexport default WarningIcon;\n","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 Flat = 'flat',\n Icon = 'icon',\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 = 'light',\n Dark = 'dark',\n}\n","export enum ChopLogicTooltipContainer {\n Span = 'span',\n Div = 'div',\n P = 'p',\n Strong = 'strong',\n Em = 'em',\n}\n","import ArrowDownIcon from './svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from './svg/ArrowUpIcon.tsx';\nimport BackIcon from './svg/BackIcon.tsx';\nimport CancelIcon from './svg/CancelIcon.tsx';\nimport CheckboxCheckedIcon from './svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from './svg/CheckboxUncheckedIcon.tsx';\nimport CheckMarkIcon from './svg/CheckMarkIcon.tsx';\nimport ChevronDownIcon from './svg/ChevronDownIcon.tsx';\nimport ChevronLeftIcon from './svg/ChevronLeftIcon.tsx';\nimport ChevronRightIcon from './svg/ChevronRightIcon.tsx';\nimport ChevronUpIcon from './svg/ChevronUpIcon.tsx';\nimport ClearIcon from './svg/ClearIcon.tsx';\nimport CopyIcon from './svg/CopyIcon.tsx';\nimport CutIcon from './svg/CutIcon.tsx';\nimport DeleteIcon from './svg/DeleteIcon.tsx';\nimport DownloadIcon from './svg/DownloadIcon.tsx';\nimport ErrorIcon from './svg/ErrorIcon.tsx';\nimport ForwardIcon from './svg/ForwardIcon.tsx';\nimport GraduateIcon from './svg/GraduateIcon.tsx';\nimport HelpIcon from './svg/HelpIcon.tsx';\nimport HideIcon from './svg/HideIcon.tsx';\nimport HomeIcon from './svg/HomeIcon.tsx';\nimport InfoIcon from './svg/InfoIcon.tsx';\nimport LoginIcon from './svg/LoginIcon.tsx';\nimport PasteIcon from './svg/PasteIcon.tsx';\nimport QuestionIcon from './svg/QuestionIcon.tsx';\nimport RemoveIcon from './svg/RemoveIcon.tsx';\nimport SaveIcon from './svg/SaveIcon.tsx';\nimport ShowIcon from './svg/ShowIcon.tsx';\nimport UploadIcon from './svg/UploadIcon.tsx';\nimport WarningIcon from './svg/WarningIcon.tsx';\nimport { ChopLogicSVGElementProps } from '@models';\nimport { ReactElement } from 'react';\nimport { ChopLogicIconName } from '@enums';\n\ntype ChopLogicIcons = { [key in ChopLogicIconName]: ({ title, ...rest }: ChopLogicSVGElementProps) => ReactElement };\n\nexport const ChopLogicIconDictionary: ChopLogicIcons = {\n [ChopLogicIconName.ArrowDown]: ArrowDownIcon,\n [ChopLogicIconName.ArrowUp]: ArrowUpIcon,\n [ChopLogicIconName.Back]: BackIcon,\n [ChopLogicIconName.Cancel]: CancelIcon,\n [ChopLogicIconName.CheckboxChecked]: CheckboxCheckedIcon,\n [ChopLogicIconName.CheckboxUnchecked]: CheckboxUncheckedIcon,\n [ChopLogicIconName.CheckMark]: CheckMarkIcon,\n [ChopLogicIconName.ChevronDown]: ChevronDownIcon,\n [ChopLogicIconName.ChevronUp]: ChevronUpIcon,\n [ChopLogicIconName.ChevronLeft]: ChevronLeftIcon,\n [ChopLogicIconName.ChevronRight]: ChevronRightIcon,\n [ChopLogicIconName.Clear]: ClearIcon,\n [ChopLogicIconName.Copy]: CopyIcon,\n [ChopLogicIconName.Cut]: CutIcon,\n [ChopLogicIconName.Delete]: DeleteIcon,\n [ChopLogicIconName.Download]: DownloadIcon,\n [ChopLogicIconName.Error]: ErrorIcon,\n [ChopLogicIconName.Forward]: ForwardIcon,\n [ChopLogicIconName.Graduate]: GraduateIcon,\n [ChopLogicIconName.Help]: HelpIcon,\n [ChopLogicIconName.Hide]: HideIcon,\n [ChopLogicIconName.Home]: HomeIcon,\n [ChopLogicIconName.Info]: InfoIcon,\n [ChopLogicIconName.Login]: LoginIcon,\n [ChopLogicIconName.Paste]: PasteIcon,\n [ChopLogicIconName.Question]: QuestionIcon,\n [ChopLogicIconName.Save]: SaveIcon,\n [ChopLogicIconName.Show]: ShowIcon,\n [ChopLogicIconName.Upload]: UploadIcon,\n [ChopLogicIconName.Warning]: WarningIcon,\n [ChopLogicIconName.Remove]: RemoveIcon,\n};\n","import React from 'react';\nimport { ChopLogicIconDictionary } from '@icons';\nimport { ChopLogicIconProps } from '@models';\n\nconst ChopLogicIcon: React.FC<ChopLogicIconProps> = ({ name, testId, ...rest }) => {\n if (!name) return null;\n const Component = ChopLogicIconDictionary[name];\n\n return <Component data-testid={testId} {...rest} />;\n};\n\nexport default ChopLogicIcon;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledInputInnerButton = styled.button<{ $theme: ChopLogicTheme }>`\n background: transparent;\n border: none;\n display: flex;\n align-items: center;\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorLight};\n padding: 0;\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -1px;\n }\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n svg {\n cursor: pointer;\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledInputInnerButton } from './InputInnerButton.styled';\n\ntype ClearInputButtonProps = {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n label: string;\n icon: ChopLogicIconName;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst InputInnerButton: React.FC<ClearInputButtonProps> = ({ onClick, label, icon, disabled, theme }) => {\n return (\n <StyledInputInnerButton onClick={onClick} aria-label={label} type='button' disabled={disabled} $theme={theme}>\n <ChopLogicIcon name={icon} />\n </StyledInputInnerButton>\n );\n};\n\nexport default InputInnerButton;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledLabel = styled.label<{ $theme: ChopLogicTheme }>`\n display: flex;\n align-items: center;\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n gap: ${(props) => props.$theme.gapSmall};\n color: ${(props) => props.$theme.fontColorBase};\n\n &:hover {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n\n & + span {\n text-wrap: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n & abbr {\n text-decoration: none;\n cursor: pointer;\n color: ${(props) => props.$theme.fontColorAccent};\n margin-left: ${(props) => props.$theme.gapSmall};\n }\n`;\n","import React, { PropsWithChildren } from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledLabel } from './Label.styled';\n\ntype ChopLogicLabelProps = {\n label: string;\n required: boolean;\n inputId: string;\n theme: ChopLogicTheme;\n isTextHidden?: boolean;\n icon?: React.ReactElement;\n iconPosition?: 'left' | 'right';\n style?: React.CSSProperties;\n};\n\nconst ChopLogicLabel: React.FC<PropsWithChildren<ChopLogicLabelProps>> = ({\n label,\n required,\n inputId,\n theme,\n icon,\n iconPosition,\n isTextHidden = false,\n style,\n}) => {\n const isLeftIconVisible = !!icon && iconPosition === 'left';\n const isRightIconVisible = !!icon && iconPosition === 'right';\n\n return (\n <StyledLabel htmlFor={inputId} style={style} $theme={theme}>\n {isLeftIconVisible && icon}\n {!isTextHidden && (\n <span>\n {label}\n {required && <abbr title='required'>*</abbr>}\n </span>\n )}\n {isRightIconVisible && icon}\n </StyledLabel>\n );\n};\n\nexport default ChopLogicLabel;\n","import React from 'react';\nimport { ChopLogicTooltip } from '@components';\n\ntype WithTooltipProps = {\n tooltip?: string;\n visibleOn?: 'hover' | 'click' | 'focus' | 'contextmenu';\n};\n\nexport function withTooltip<P extends object>(Component: React.ComponentType<P>): React.FC<P & WithTooltipProps> {\n return ({ tooltip, visibleOn, ...props }: WithTooltipProps) =>\n tooltip?.length ? (\n <ChopLogicTooltip tooltipContent={tooltip} visibleOn={visibleOn}>\n <Component {...(props as P)} />\n </ChopLogicTooltip>\n ) : (\n <Component {...(props as P)} />\n );\n}\n","import React from 'react';\nimport { ChopLogicFormContextProps } from '@models';\n\nexport const ChopLogicFormContext = React.createContext<ChopLogicFormContextProps>({});\n","import React from 'react';\nimport { ChopLogicThemeMode } from '@enums';\nimport { ChopLogicThemeContextProps } from '@models';\n\nexport const ChopLogicThemeContext = React.createContext<ChopLogicThemeContextProps>({\n mode: ChopLogicThemeMode.Light,\n});\n","import { ChopLogicTheme } from '@models';\n\nimport { DARK_THEME, LIGHT_THEME } from '@css';\n\nexport function getChopLogicTheme(mode?: 'dark' | 'light', customTheme?: Partial<ChopLogicTheme>): ChopLogicTheme {\n const defaultTheme: ChopLogicTheme = mode === 'dark' ? DARK_THEME : LIGHT_THEME;\n\n if (customTheme) {\n for (const key in customTheme) {\n const themeProperty = key as keyof ChopLogicTheme;\n if (Object.prototype.hasOwnProperty.call(defaultTheme, themeProperty)) {\n defaultTheme[themeProperty] = (customTheme[themeProperty] as string).toString();\n }\n }\n }\n\n return defaultTheme;\n}\n","export function moveFocusOnElementById(id: string) {\n const element = document.getElementById(id);\n\n if (element) element.focus();\n}\n","import { KeyboardEvent } from 'react';\nimport { ChopLogicSelectValue } from '@models';\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 { useContext } from 'react';\nimport { ChopLogicThemeContext } from '@contexts';\nimport { getChopLogicTheme } from '@utils';\n\nexport const useChopLogicTheme = () => {\n const { customTheme, mode } = useContext(ChopLogicThemeContext);\n\n return getChopLogicTheme(mode, customTheme);\n};\n","import React, { useEffect } from 'react';\n\ntype UseClickOutsideParams = {\n ref: React.RefObject<HTMLElement | null>;\n onClickOutsideHandler: () => void;\n dependentRef?: React.RefObject<HTMLElement | null>;\n};\n\nexport const useClickOutside = ({ ref, onClickOutsideHandler, dependentRef }: UseClickOutsideParams): void => {\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isOutsideRef = ref?.current && !ref.current.contains(event.target as Node);\n const isOutsideDependentRef = !dependentRef?.current ? true : !dependentRef.current.contains(event.target as Node);\n if (isOutsideRef && isOutsideDependentRef) {\n onClickOutsideHandler();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref, dependentRef, onClickOutsideHandler]);\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { Dimensions } from '../use-window-dimensions';\n\ntype useContainerDimensionsParams = {\n ref: React.RefObject<HTMLElement | null>;\n isVisible?: boolean;\n};\n\nexport const useContainerDimensions = ({ ref, isVisible }: useContainerDimensionsParams): Dimensions => {\n const [dimensions, setDimensions] = useState<Dimensions>({ width: 0, height: 0 });\n\n useEffect(() => {\n if (ref?.current && isVisible) {\n setDimensions({\n width: ref.current.offsetWidth,\n height: ref.current.offsetHeight,\n });\n }\n }, [ref, isVisible]);\n\n return dimensions;\n};\n","import { useId } from 'react';\n\nexport function useElementIds(id?: string) {\n const randomId = useId();\n const elementId = id ?? randomId;\n const errorId = `${elementId}_error`;\n const dropdownId = `${elementId}_dropdown`;\n\n return {\n elementId,\n errorId,\n dropdownId,\n };\n}\n","import React, { useEffect } from 'react';\n\ntype useKeyPressParams = {\n keyCode: string;\n ref: React.RefObject<HTMLDivElement | null>;\n onKeyPress: () => void;\n};\n\nexport const useKeyPress = ({ ref, keyCode, onKeyPress }: useKeyPressParams) => {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if (e?.code === keyCode && ref?.current) {\n onKeyPress();\n }\n };\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [ref, keyCode, onKeyPress]);\n};\n","import React, { useEffect } from 'react';\n\ntype ModalFocusTrapParams = {\n modalRef: React.RefObject<HTMLDivElement | null>;\n isOpened: boolean;\n};\n\nexport const useModalFocusTrap = ({ modalRef, isOpened }: ModalFocusTrapParams) => {\n useEffect(() => {\n const modalElement = modalRef.current;\n if (!isOpened || !modalElement) return;\n\n const focusableElements = modalElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n modalElement.addEventListener('keydown', handleTabKeyPress);\n\n return () => {\n modalElement.removeEventListener('keydown', handleTabKeyPress);\n };\n }, [modalRef, isOpened]);\n};\n","import { useEffect, useState } from 'react';\n\nexport const useMount = (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 { useContext, useEffect } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\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 { useEffect, useState } from 'react';\n\nexport type Dimensions = { width: number; height: number };\n\nfunction getWindowDimensions(): Dimensions {\n const { innerWidth: width, innerHeight: height } = window;\n\n return { width, height };\n}\n\nexport function useWindowDimensions(): Dimensions {\n const [windowDimensions, setWindowDimensions] = useState<Dimensions>(getWindowDimensions());\n\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { useContainerDimensions } from '../use-container-dimensions';\nimport { useWindowDimensions } from '../use-window-dimensions';\n\ntype useTooltipPositionParams = {\n wrapperRef: React.RefObject<HTMLElement | null>;\n tooltipRef: React.RefObject<HTMLElement | null>;\n isOpened: boolean;\n spacing?: number;\n};\n\nexport const useTooltipPosition = ({ wrapperRef, tooltipRef, isOpened, spacing = 4 }: useTooltipPositionParams) => {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const { width: tooltipWidth, height: tooltipHeight } = useContainerDimensions({\n ref: tooltipRef,\n isVisible: isOpened,\n });\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n\n useEffect(() => {\n if (isOpened && wrapperRef?.current) {\n const rect = wrapperRef?.current.getBoundingClientRect();\n\n let top = Math.round(rect.bottom + spacing);\n let left = Math.round(rect.left);\n\n // Adjust position if tooltip goes beyond the viewport\n if (top + tooltipHeight > window.innerHeight) {\n top = Math.round(rect.top - tooltipHeight - spacing);\n }\n if (left + tooltipWidth > window.innerWidth) {\n left = Math.round(window.innerWidth - tooltipWidth - spacing);\n }\n if (left < 0) {\n left = spacing;\n }\n\n setPosition({ top, left });\n }\n }, [isOpened, wrapperRef, tooltipHeight, tooltipWidth, spacing, windowWidth, windowHeight]);\n\n return position;\n};\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledPrimaryButton = styled.button<{ $extended: boolean; $theme: ChopLogicTheme }>`\n position: relative;\n border: none;\n background: transparent;\n padding: 0;\n cursor: pointer;\n outline: none;\n transition: filter 250ms;\n width: ${(props) => (props.$extended ? '100%' : 'inherit')};\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .chop-logic-button_shadow {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background: hsl(0deg 0% 0% / 0.25);\n will-change: transform;\n transform: translateY(2px);\n transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);\n }\n\n .chop-logic-button_edge {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background: ${(props) => props.$theme.gradientShadow};\n }\n\n .chop-logic-button_front {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${(props) => props.$theme.gapSmall};\n position: relative;\n padding: ${(props) => `${props.$theme.gapMedium} ${props.$theme.gapBig}`};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: #ffffff;\n background: ${(props) => props.$theme.fontColorAccent};\n will-change: transform;\n transform: translateY(-4px);\n transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);\n }\n\n &:hover {\n filter: brightness(110%);\n }\n\n &:hover .chop-logic-button_front {\n transform: translateY(-6px);\n transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);\n }\n\n &:active .chop-logic-button_front {\n transform: translateY(-2px);\n transition: transform 34ms;\n }\n\n &:hover .chop-logic-button_shadow {\n transform: translateY(4px);\n transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);\n }\n\n &:active .chop-logic-button_shadow {\n transform: translateY(1px);\n transition: transform 34ms;\n }\n\n &:focus-visible {\n outline: revert;\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 4px;\n }\n`;\n\nexport const StyledFlatButton = styled.button<{ $extended: boolean; $theme: ChopLogicTheme }>`\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${(props) => props.$theme.gapSmall};\n padding: ${(props) => `${props.$theme.gapMedium} ${props.$theme.gapBig}`};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n background: transparent;\n width: ${(props) => (props.$extended ? '100%' : 'inherit')};\n\n &:hover,\n &:active {\n background: ${(props) => props.$theme.backgroundColorLight};\n transition: all 0.3s ease 0s;\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n\nexport const StyledIconButton = styled.button<{ $theme: ChopLogicTheme }>`\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n background: transparent;\n\n &:hover {\n background-color: ${(props) => props.$theme.backgroundColorLight};\n color: ${(props) => props.$theme.fontColorAccent};\n transition: all 0.3s ease 0s;\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n\n svg {\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicButtonView } from '@enums';\nimport { withTooltip } from '@hocs';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicButtonProps } from '@models';\n\nimport { StyledFlatButton, StyledIconButton, StyledPrimaryButton } from './Button.styled';\n\nconst ChopLogicButton: React.FC<ChopLogicButtonProps> = ({\n onClick,\n text,\n icon,\n label,\n disabled = false,\n extended = false,\n type = 'button',\n view = ChopLogicButtonView.Primary,\n ...rest\n}) => {\n const theme = useChopLogicTheme();\n\n switch (view) {\n case ChopLogicButtonView.Primary:\n return (\n <StyledPrimaryButton\n $extended={extended}\n aria-label={label}\n type={type}\n onClick={onClick}\n disabled={disabled}\n $theme={theme}\n {...rest}\n >\n <span className='chop-logic-button_shadow'></span>\n <span className='chop-logic-button_edge'></span>\n <span className='chop-logic-button_front'>\n <ChopLogicIcon name={icon} />\n {text}\n </span>\n </StyledPrimaryButton>\n );\n case ChopLogicButtonView.Flat:\n return (\n <StyledFlatButton\n $extended={extended}\n aria-label={label}\n type={type}\n onClick={onClick}\n disabled={disabled}\n $theme={theme}\n {...rest}\n >\n <ChopLogicIcon name={icon} />\n {text}\n </StyledFlatButton>\n );\n case ChopLogicButtonView.Icon:\n return (\n <StyledIconButton aria-label={label} type={type} onClick={onClick} disabled={disabled} $theme={theme} {...rest}>\n <ChopLogicIcon name={icon} />\n </StyledIconButton>\n );\n default:\n return null;\n }\n};\n\nexport default withTooltip(ChopLogicButton);\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledCheckbox = styled.div<{ $disabled: boolean; $checked: boolean; $theme: ChopLogicTheme }>`\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n padding: ${(props) => props.$theme.gapMedium} 0;\n position: relative;\n overflow: hidden;\n\n & svg {\n color: ${(props) => (props.$checked ? props.$theme.fontColorAccent : props.$theme.fontColorLight)};\n }\n\n & label {\n cursor: pointer;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase} !important;\n &:hover,\n &:active {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n opacity: 0.5;\n `}\n\n & input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n top: 4px;\n left: 0;\n margin: 0;\n\n &:focus-visible + label {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n }\n`;\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 React, { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\n\nimport { getCheckboxInitialValue } from './helpers';\n\nexport function useChopLogicCheckboxController({\n name,\n defaultChecked,\n onChange,\n}: {\n name: string;\n defaultChecked?: boolean;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getCheckboxInitialValue({ initialValues, name, defaultChecked });\n const [isChecked, setIsChecked] = useState<boolean>(initialValue);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n setIsChecked(checked);\n onChange?.(e);\n onChangeFormInput?.({ name, value: checked });\n };\n\n const handleReset = useCallback(() => {\n setIsChecked(initialValue);\n onChangeFormInput?.({ name, value: initialValue });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n checked: isChecked,\n };\n}\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicCheckboxProps } from '@models';\n\nimport { StyledCheckbox } from './Checkbox.styled';\nimport { useChopLogicCheckboxController } from './controller';\n\nconst ChopLogicCheckbox: React.FC<ChopLogicCheckboxProps> = ({\n name,\n label,\n disabled,\n noLabel,\n required = false,\n iconPosition = 'left',\n defaultChecked,\n onChange,\n id,\n ...rest\n}) => {\n const { handleChange, checked } = useChopLogicCheckboxController({ name, defaultChecked, onChange });\n const { elementId } = useElementIds(id);\n const theme = useChopLogicTheme();\n\n return (\n <StyledCheckbox $disabled={!!disabled} $theme={theme} $checked={checked} {...rest}>\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 theme={theme}\n />\n </StyledCheckbox>\n );\n};\n\nexport default ChopLogicCheckbox;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledSelect = styled.div<{ $theme: ChopLogicTheme }>`\n position: relative;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n background: transparent;\n`;\n\nexport const StyledSelectCombobox = styled.button<{ $theme: ChopLogicTheme }>`\n text-align: left;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n padding: ${(props) => props.$theme.gapMedium};\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n & > span:nth-child(1) {\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n cursor: pointer;\n color: ${(props) => props.$theme.fontColorLight};\n height: ${(props) => props.$theme.iconSize};\n width: ${(props) => props.$theme.iconSize};\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n\n &[disabled] {\n pointer-events: none;\n opacity: 0.5;\n }\n`;\n\nexport const StyledSelectDropdown = styled.ul<{ $opened: boolean; $theme: ChopLogicTheme }>`\n visibility: hidden;\n opacity: 0;\n transition:\n visibility 0s,\n opacity 0.3s linear;\n position: absolute;\n background: ${(props) => props.$theme.backgroundColorBase};\n margin: 0;\n padding: 0;\n list-style: none;\n z-index: ${(props) => props.$theme.zIndexPopup};\n width: 100%;\n top: 72px;\n left: -1px;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n overflow-y: auto;\n max-height: 180px;\n\n ${(props) => props.$opened && `visibility: visible; opacity: 1;`}\n`;\n\nexport const StyledSelectOption = styled.li<{ $theme: ChopLogicTheme; $selected: boolean }>`\n padding: ${(props) => props.$theme.gapMedium};\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n\n &:hover,\n &:active {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -4px;\n }\n\n svg {\n color: ${(props) => (props.$selected ? props.$theme.fontColorAccent : props.$theme.fontColorLight)};\n width: ${(props) => props.$theme.iconSize};\n height: ${(props) => props.$theme.iconSize};\n }\n`;\n\nexport const StyledMultiSelectOption = styled(StyledSelectOption)`\n justify-content: flex-start;\n`;\n","import React from 'react';\nimport { StyledSelectCombobox } from '@css/common/Select.styled';\nimport ArrowDownIcon from '@icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\n\ntype MultiSelectComboboxProps = {\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 theme: ChopLogicTheme;\n};\n\nconst SelectCombobox: React.FC<MultiSelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n name,\n placeholder,\n disabled,\n required,\n values,\n theme,\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 > 1) {\n selectedValues = <span>{`${selectedLabels.length} items selected`}</span>;\n } else if (selectedLabels && selectedLabels.length === 1) {\n selectedValues = <span>{selectedLabels[0]}</span>;\n }\n\n return (\n <StyledSelectCombobox\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 $theme={theme}\n >\n {selectedValues}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </StyledSelectCombobox>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport { StyledMultiSelectOption } from '@css/common/Select.styled';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\n\ntype MultiSelectOptionProps = {\n value: ChopLogicMultiSelectValue;\n onSelect: (id: string) => void;\n theme: ChopLogicTheme;\n};\n\nconst SelectOption: React.FC<MultiSelectOptionProps> = ({ value, onSelect, theme }) => {\n const { id, label, selected } = value;\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 <StyledMultiSelectOption\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => onSelect(id)}\n $theme={theme}\n $selected={selected}\n >\n {selected ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n <span>{label}</span>\n </StyledMultiSelectOption>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { StyledSelectDropdown } from '@css/common/Select.styled';\nimport { ChopLogicMultiSelectValue, ChopLogicTheme } from '@models';\nimport { handleDropdownListKeyPress } from '@utils';\n\nimport SelectOption from './Option';\n\ntype MultiSelectDropdownProps = {\n options: ChopLogicMultiSelectValue[];\n opened: boolean;\n dropdownId: string;\n onClose: () => void;\n onSelect: (id: string) => void;\n theme: ChopLogicTheme;\n};\n\nconst MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({ options, opened, onClose, onSelect, dropdownId, theme }) => {\n return (\n <StyledSelectDropdown\n $opened={opened}\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n $theme={theme}\n >\n {options.map((item) => (\n <SelectOption key={item.id} value={item} onSelect={() => onSelect(item.id)} theme={theme} />\n ))}\n </StyledSelectDropdown>\n );\n};\n\nexport default MultiSelectDropdown;\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 { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicMultiSelectValue, ChopLogicSelectValue } from '@models';\n\nimport { getMultiSelectFormValues, getMultiSelectInitialValues, getMultiSelectUpdatedValues } from './helpers';\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 React, { useRef } from 'react';\nimport { StyledSelect } from '@css/common/Select.styled';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicMultiSelectProps } from '@models';\n\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicMultiSelectController } from './controller';\n\nconst ChopLogicMultiSelect: React.FC<ChopLogicMultiSelectProps> = ({\n options,\n name,\n label,\n required = false,\n placeholder = 'Not selected',\n disabled = false,\n onChange,\n defaultValue,\n id,\n ...rest\n}) => {\n const ref = useRef(null);\n const { elementId, dropdownId } = useElementIds(id);\n const theme = useChopLogicTheme();\n const { handleClose, handleSelect, handleToggle, opened, values } = useChopLogicMultiSelectController({\n name,\n options,\n defaultValue,\n onChange,\n });\n\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <StyledSelect ref={ref} $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <SelectCombobox\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 theme={theme}\n />\n <SelectDropdown\n theme={theme}\n options={values}\n opened={opened}\n onClose={handleClose}\n dropdownId={dropdownId}\n onSelect={handleSelect}\n />\n </StyledSelect>\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 React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicNumericInputValidator } from '@models';\n\nimport { getNumericInputInitialValue, validateNumericInputValue } from './helpers';\n\nexport function useChopLogicNumericInputController({\n name,\n defaultValue,\n onChange,\n onSpinButtonClick,\n min,\n max,\n step,\n required,\n validator,\n}: {\n name: string;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onSpinButtonClick?: (value?: number) => void;\n min?: string | number;\n max?: string | number;\n step: number;\n required: boolean;\n validator?: ChopLogicNumericInputValidator;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getNumericInputInitialValue({ initialValues, defaultValue, name });\n const maxValue = max ? Number(max) : Number.MAX_SAFE_INTEGER;\n const minValue = min ? Number(min) : Number.MIN_SAFE_INTEGER;\n const [value, setValue] = useState<number>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n\n const updateValue = (value: number) => {\n setValue(value);\n const valid = validateNumericInputValue({ value, required, validator, maxValue, minValue });\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = Number(event.target.value);\n updateValue(value);\n onChange?.(event);\n };\n\n const increment = () => {\n updateValue(value + step);\n onSpinButtonClick?.(value + step);\n };\n\n const decrement = () => {\n updateValue(value - step);\n onSpinButtonClick?.(value - step);\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n useResetFormInput(handleReset);\n\n return {\n handleChange,\n value,\n valid,\n minValue,\n maxValue,\n increment,\n decrement,\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledNumericInput = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n position: relative;\n\n & > div:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n padding: ${(props) => props.$theme.gapMedium};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n\n &:has(input:focus) {\n border: ${(props) => props.$theme.borderOutline};\n }\n\n &:has(input[aria-invalid='true']) {\n border: ${(props) => props.$theme.borderAccent};\n }\n\n &:has(input[disabled]) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n & > span:nth-child(2) {\n display: flex;\n align-items: center;\n }\n }\n\n & input {\n font-size: ${(props) => props.$theme.fontSizeBase};\n padding: 0;\n border: none;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n display: inline-block;\n background: transparent;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex-grow: 1;\n min-width: 0;\n\n &:focus-visible {\n outline: none;\n }\n\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &[type='number'] {\n -moz-appearance: textfield;\n }\n }\n`;\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport { ChopLogicNumericInputProps } from '@models';\n\nimport { useChopLogicNumericInputController } from './controller';\nimport { StyledNumericInput } from './NumericInput.styled';\n\nconst ChopLogicNumericInput: React.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 ...rest\n}) => {\n const { elementId, errorId } = useElementIds(id);\n const theme = useChopLogicTheme();\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\n return (\n <StyledNumericInput $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <div>\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 <ChopLogicInputInnerButton\n onClick={decrement}\n label={`Decrement value for ${label}`}\n icon={ChopLogicIconName.ChevronLeft}\n disabled={disabled}\n theme={theme}\n />\n <ChopLogicInputInnerButton\n onClick={increment}\n label={`Increment value for ${label}`}\n icon={ChopLogicIconName.ChevronRight}\n disabled={disabled}\n theme={theme}\n />\n </span>\n )}\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} theme={theme} />\n </StyledNumericInput>\n );\n};\n\nexport default ChopLogicNumericInput;\n","import React from 'react';\nimport { StyledSelectCombobox } from '@css/common/Select.styled';\nimport ArrowDownIcon from '@icons/svg/ArrowDownIcon.tsx';\nimport ArrowUpIcon from '@icons/svg/ArrowUpIcon.tsx';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\n\ntype SelectComboboxProps = {\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 theme: ChopLogicTheme;\n};\n\nconst SelectCombobox: React.FC<SelectComboboxProps> = ({\n opened,\n onClick,\n comboboxId,\n dropdownId,\n selected,\n name,\n placeholder,\n disabled,\n required,\n theme,\n}) => {\n return (\n <StyledSelectCombobox\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 $theme={theme}\n >\n {selected?.label ? <span>{selected?.label}</span> : <span>{placeholder}</span>}\n {opened ? <ArrowUpIcon /> : <ArrowDownIcon />}\n </StyledSelectCombobox>\n );\n};\n\nexport default SelectCombobox;\n","import React, { KeyboardEvent } from 'react';\nimport { StyledSelectOption } from '@css/common/Select.styled';\nimport CheckMarkIcon from '@icons/svg/CheckMarkIcon.tsx';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\n\ntype SelectOptionProps = {\n value: ChopLogicSelectValue;\n selected: boolean;\n onSelect: (id: string) => void;\n onClear: () => void;\n theme: ChopLogicTheme;\n};\n\nconst SelectOption: React.FC<SelectOptionProps> = ({ value, selected, onSelect, onClear, theme }) => {\n const { id, label } = value;\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 <StyledSelectOption\n id={id}\n role='option'\n aria-selected={selected}\n tabIndex={0}\n onKeyDown={handleKeyDown(id)}\n onClick={() => handleOptionSelect(id)}\n $theme={theme}\n $selected={selected}\n >\n <span>{label}</span>\n {selected && <CheckMarkIcon />}\n </StyledSelectOption>\n );\n};\n\nexport default SelectOption;\n","import React from 'react';\nimport { StyledSelectDropdown } from '@css/common/Select.styled';\nimport { ChopLogicSelectValue, ChopLogicTheme } from '@models';\nimport { handleDropdownListKeyPress, moveFocusOnElementById } from '@utils';\n\nimport SelectOption from './Option';\n\ntype SelectDropdownProps = {\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 theme: ChopLogicTheme;\n};\n\nconst SelectDropdown: React.FC<SelectDropdownProps> = ({\n options,\n opened,\n onClose,\n onSelect,\n dropdownId,\n comboboxId,\n selected,\n onClear,\n theme,\n}) => {\n const handleOptionSelect = (id: string) => {\n onSelect(id);\n onClose();\n moveFocusOnElementById(comboboxId);\n };\n\n return (\n <StyledSelectDropdown\n role='listbox'\n id={dropdownId}\n tabIndex={-1}\n onKeyDown={(e) => handleDropdownListKeyPress({ e, options, onClose })}\n $opened={opened}\n $theme={theme}\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 theme={theme}\n />\n ))}\n </StyledSelectDropdown>\n );\n};\n\nexport default SelectDropdown;\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 { useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicSelectValue } from '@models';\n\nimport { getSelectInitialValue } from './helpers';\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 React, { useRef } from 'react';\nimport { StyledSelect } from '@css/common/Select.styled';\nimport { ChopLogicLabel } from '@elements';\nimport { useChopLogicTheme, useClickOutside, useElementIds, useKeyPress } from '@hooks';\nimport { ChopLogicSelectProps } from '@models';\n\nimport SelectCombobox from './elements/Combobox';\nimport SelectDropdown from './elements/Dropdown';\nimport { useChopLogicSelectController } from './controller';\n\nconst ChopLogicSelect: React.FC<ChopLogicSelectProps> = ({\n options,\n onChange,\n name,\n label,\n defaultValue,\n id,\n placeholder = 'Not selected',\n required = false,\n disabled = false,\n ...rest\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const theme = useChopLogicTheme();\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\n useClickOutside({ ref, onClickOutsideHandler: handleClose });\n useKeyPress({ keyCode: 'Escape', ref, onKeyPress: handleClose });\n\n return (\n <StyledSelect ref={ref} $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\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 theme={theme}\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 theme={theme}\n />\n </StyledSelect>\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 React, { ChangeEventHandler, useCallback, useContext, useState } from 'react';\nimport { ChopLogicFormContext } from '@contexts';\nimport { useResetFormInput } from '@hooks';\nimport { ChopLogicRegExpWithFlags, ChopLogicTextInputValidator } from '@models';\n\nimport { getTextInputInitialValue, validateTextInputValue } from './helpers';\n\nexport function useChopLogicTextInputController({\n name,\n defaultValue,\n onChange,\n onClear,\n required,\n validator,\n}: {\n name: string;\n required: boolean;\n validator?: ChopLogicRegExpWithFlags | ChopLogicTextInputValidator;\n defaultValue?: string | number | readonly string[];\n onChange?: ChangeEventHandler<HTMLInputElement>;\n onClear?: () => void;\n}) {\n const { onChangeFormInput, initialValues } = useContext(ChopLogicFormContext);\n const initialValue = getTextInputInitialValue({ initialValues, defaultValue, name });\n const [value, setValue] = useState<string>(initialValue);\n const [valid, setValid] = useState<boolean>(true);\n const [passwordShown, setPasswordShown] = useState<boolean>(false);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const valid = validateTextInputValue({ value, required, validator });\n\n setValue(value);\n setValid(valid);\n onChangeFormInput?.({ name, value, valid });\n onChange?.(event);\n };\n\n const handleClear = () => {\n setValue('');\n setValid(true);\n onChangeFormInput?.({ name, value: '', valid: true });\n onClear?.();\n };\n\n const handleReset = useCallback(() => {\n setValue(initialValue);\n setValid(true);\n onChangeFormInput?.({ name, value: initialValue, valid: true });\n }, [name]);\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n useResetFormInput(handleReset);\n\n return {\n value,\n valid,\n passwordShown,\n handleChange,\n handleClear,\n togglePassword,\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledTextInput = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n position: relative;\n\n & > div:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n padding: ${(props) => props.$theme.gapMedium};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n\n &:has(input:focus) {\n border: ${(props) => props.$theme.borderOutline};\n }\n\n &:has(input[aria-invalid='true']) {\n border: ${(props) => props.$theme.borderAccent};\n }\n\n &:has(input[disabled]) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n & > span:nth-child(2) {\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n align-items: center;\n }\n }\n\n & input {\n font-size: ${(props) => props.$theme.fontSizeBase};\n padding: 0;\n border: none;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n display: inline-block;\n background: transparent;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex-grow: 1;\n min-width: 0;\n\n &:focus-visible {\n outline: none;\n }\n\n &:placeholder-shown + span {\n display: none !important;\n }\n }\n`;\n","import React from 'react';\nimport { ChopLogicErrorMessage, ChopLogicInputInnerButton, ChopLogicLabel } from '@elements';\nimport { ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme, useElementIds } from '@hooks';\nimport { ChopLogicTextInputProps } from '@models';\n\nimport { useChopLogicTextInputController } from './controller';\nimport { StyledTextInput } from './TextInput.styled';\n\nconst ChopLogicTextInput: React.FC<ChopLogicTextInputProps> = ({\n name,\n label,\n errorMessage,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onClear,\n validator,\n maxLength,\n id,\n tabIndex,\n placeholder = 'Type here...',\n disabled = false,\n required = false,\n clearable = true,\n readOnly = false,\n autoComplete = 'off',\n type = 'text',\n ...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 theme = useChopLogicTheme();\n\n return (\n <StyledTextInput $theme={theme} {...rest}>\n <ChopLogicLabel label={label} required={required} inputId={elementId} theme={theme} />\n <div>\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 <ChopLogicInputInnerButton\n onClick={handleClear}\n label={`Clear input for ${label}`}\n icon={ChopLogicIconName.Remove}\n disabled={disabled}\n theme={theme}\n />\n )}\n {isPasswordButtonVisible && (\n <ChopLogicInputInnerButton\n onClick={togglePassword}\n label='Toggle password visibility'\n icon={passwordShown ? ChopLogicIconName.Hide : ChopLogicIconName.Show}\n disabled={disabled}\n theme={theme}\n />\n )}\n </span>\n </div>\n <ChopLogicErrorMessage errorId={errorId} message={errorMessage} visible={!valid} theme={theme} />\n </StyledTextInput>\n );\n};\n\nexport default ChopLogicTextInput;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation, fadeOutAnimation, SCREEN_BREAKPOINTS } from '@css';\n\nexport const StyledDialogLayout = styled.div<{ $theme: ChopLogicTheme }>`\n z-index: ${(props) => props.$theme.zIndexModal};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n box-shadow: ${(props) => props.$theme.boxShadow};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n width: 100%;\n height: 90%;\n position: absolute;\n bottom: 0;\n left: 0;\n border-top-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-top-right-radius: ${(props) => props.$theme.blockBorderRadius};\n ${fadeInAnimation}\n\n @media ${SCREEN_BREAKPOINTS.landscapeTablets} {\n width: fit-content;\n height: fit-content;\n position: relative;\n min-width: 40%;\n max-width: 90%;\n max-height: 90%;\n border-bottom-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-bottom-right-radius: ${(props) => props.$theme.blockBorderRadius};\n\n header {\n font-size: ${(props) => props.$theme.fontSizeHeader};\n }\n }\n`;\n\nexport const StyledDialogBackground = styled.div<{ $isClosing: boolean; $theme: ChopLogicTheme }>`\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${(props) => props.$theme.backgroundColorTransparent};\n ${fadeInAnimation}\n\n ${(props) => props.$isClosing && fadeOutAnimation}\n`;\n\nexport const StyledDialogHeader = styled.header<{ $theme: ChopLogicTheme }>`\n font-size: 1.6rem;\n font-weight: bold;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: ${(props) => props.$theme.gapBig};\n padding: ${(props) => props.$theme.gapBig};\n border-bottom: ${(props) => props.$theme.borderBase};\n color: ${(props) => props.$theme.fontColorBase};\n`;\n\nexport const StyledDialogContent = styled.div<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapBig};\n font-size: ${(props) => props.$theme.fontSizeBase};\n`;\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledDialogHeader } from '../Dialog.styled';\n\nconst ChopLogicModalLayoutHeader: React.FC<{\n title: string;\n onClose: () => void;\n theme: ChopLogicTheme;\n}> = ({ title, onClose, theme }): React.ReactElement => {\n return (\n <StyledDialogHeader $theme={theme}>\n {title}\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close modal window' onClick={onClose} />\n </StyledDialogHeader>\n );\n};\n\nexport default ChopLogicModalLayoutHeader;\n","import React, { HTMLAttributes, PropsWithChildren, useRef } from 'react';\nimport { useKeyPress, useModalFocusTrap } from '@hooks';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledDialogContent, StyledDialogLayout } from '../Dialog.styled';\n\nimport ChopLogicModalLayoutHeader from './Header';\n\ntype DialogLayoutProps = PropsWithChildren &\n HTMLAttributes<HTMLDivElement> & {\n title: string;\n onClose: () => void;\n isOpened: boolean;\n theme: ChopLogicTheme;\n };\n\nconst ChopLogicModalLayout: React.FC<DialogLayoutProps> = ({ title, onClose, isOpened, children, theme, ...rest }): React.ReactElement => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n useModalFocusTrap({ modalRef, isOpened });\n useKeyPress({ keyCode: 'Escape', ref: modalRef, onKeyPress: onClose });\n\n return (\n <StyledDialogLayout ref={modalRef} role='dialog' aria-modal='true' $theme={theme} {...rest}>\n <ChopLogicModalLayoutHeader title={title} onClose={onClose} theme={theme} />\n <StyledDialogContent $theme={theme}>{children}</StyledDialogContent>\n </StyledDialogLayout>\n );\n};\n\nexport default ChopLogicModalLayout;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { useChopLogicTheme, useMount } from '@hooks';\nimport { ChopLogicDialogProps } from '@models';\n\nimport ChopLogicModalLayout from './elements/Layout';\nimport { StyledDialogBackground } from './Dialog.styled';\n\nconst ChopLogicDialog: React.FC<ChopLogicDialogProps> = ({ isOpened, onClose, title, children, ...rest }) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n const theme = useChopLogicTheme();\n\n if (!isMounted) {\n return null;\n }\n\n return (\n <ChopLogicPortal>\n <StyledDialogBackground $isClosing={isClosing} $theme={theme}>\n <ChopLogicModalLayout title={title} onClose={onClose} isOpened={isOpened} {...rest} theme={theme}>\n {children}\n </ChopLogicModalLayout>\n </StyledDialogBackground>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicDialog;\n","import React, { useRef, useState } from 'react';\nimport { useClickOutside, useElementIds, useKeyPress, useTooltipPosition } from '@hooks';\n\nexport const useChopLogicTooltipController = ({ id }: { id?: string }) => {\n const [isOpened, setIsOpened] = useState(false);\n const wrapperRef = useRef(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const { top, left } = useTooltipPosition({ wrapperRef, tooltipRef, isOpened });\n const { elementId } = useElementIds(id);\n\n const closeTooltip = () => setIsOpened(false);\n const openTooltip = () => setIsOpened(true);\n const toggleTooltip = () => setIsOpened(!isOpened);\n const handleContextMenu = (e: React.MouseEvent) => {\n e.preventDefault();\n toggleTooltip();\n };\n\n useKeyPress({ keyCode: 'Escape', ref: tooltipRef, onKeyPress: closeTooltip });\n useClickOutside({ ref: tooltipRef, onClickOutsideHandler: closeTooltip, dependentRef: wrapperRef });\n\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 { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledTooltip = styled.div<{ $theme: ChopLogicTheme }>`\n position: absolute;\n left: 0;\n top: 0;\n z-index: ${(props) => props.$theme.zIndexPopup};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n border: ${(props) => props.$theme.borderLight};\n color: ${(props) => props.$theme.fontColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeSmall};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n box-shadow: ${(props) => props.$theme.boxShadow};\n pointer-events: none;\n white-space: nowrap;\n\n ${fadeInAnimation}\n`;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicTooltipContainer } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicTooltipProps } from '@models';\n\nimport { useChopLogicTooltipController } from './controller';\nimport { StyledTooltip } from './Tooltip.styled';\n\nconst ChopLogicTooltip: React.FC<ChopLogicTooltipProps> = ({\n children,\n tooltipContent,\n containerTag = ChopLogicTooltipContainer.Span,\n visibleOn = 'hover',\n id,\n style,\n ...rest\n}) => {\n const ContainerComponent = containerTag;\n const theme = useChopLogicTheme();\n const { openTooltip, closeTooltip, toggleTooltip, handleContextMenu, elementId, top, left, isOpened, wrapperRef, tooltipRef } =\n useChopLogicTooltipController({ id });\n\n return (\n <ContainerComponent\n style={{ position: 'relative', cursor: 'pointer' }}\n onClick={visibleOn === 'click' ? toggleTooltip : undefined}\n onMouseOver={visibleOn === 'hover' ? openTooltip : undefined}\n onMouseLeave={visibleOn === 'hover' ? closeTooltip : undefined}\n onFocus={visibleOn === 'focus' ? openTooltip : undefined}\n onBlur={visibleOn === 'focus' ? closeTooltip : undefined}\n onContextMenu={visibleOn === 'contextmenu' ? (e: React.MouseEvent) => handleContextMenu(e) : undefined}\n tabIndex={0}\n ref={wrapperRef}\n aria-describedby={elementId}\n >\n {children}\n {isOpened && (\n <ChopLogicPortal>\n <StyledTooltip style={{ ...style, top, left }} ref={tooltipRef} role='tooltip' id={elementId} $theme={theme} {...rest}>\n {tooltipContent}\n </StyledTooltip>\n </ChopLogicPortal>\n )}\n </ContainerComponent>\n );\n};\n\nexport default ChopLogicTooltip;\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 React, { FormEvent, useState } from 'react';\nimport { ChopLogicFormData, ChopLogicFormInputParams } from '@models';\n\nimport { getInitialValidationState, isFormDataValid, updateValidationState } from './helpers';\n\nexport function useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n}: {\n initialValues?: ChopLogicFormData;\n onReset?: React.FormEventHandler<HTMLFormElement>;\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n onClickSubmit?: (data: ChopLogicFormData) => void;\n}) {\n const [formData, setFormData] = useState(initialValues);\n const [validationState, setValidationState] = useState(getInitialValidationState(initialValues));\n const [resetSignal, setResetSignal] = useState(0);\n\n const handleInputChange = (params: ChopLogicFormInputParams) => {\n const newData = { ...formData, [params.name]: params.value };\n setFormData(newData);\n setValidationState(updateValidationState(validationState, params));\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const uncontrolledData = Object.fromEntries(new FormData(event.target as HTMLFormElement));\n const resultData = { ...uncontrolledData, ...formData };\n\n onSubmit?.(event);\n onClickSubmit?.(resultData);\n };\n\n const handleReset = (event: FormEvent<HTMLFormElement>) => {\n onReset?.(event);\n setFormData(initialValues);\n setResetSignal(resetSignal + 1);\n };\n\n return {\n handleInputChange,\n handleSubmit,\n handleReset,\n resetSignal,\n valid: isFormDataValid(validationState),\n };\n}\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledForm = styled.form<{ $columns: number; $theme: ChopLogicTheme }>`\n display: grid;\n align-items: end;\n gap: ${(props) => props.$theme.gapMedium};\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n\n ${({ $columns }) =>\n `\n grid-template-columns: repeat(${$columns}, 1fr);\n grid-template-rows: auto;\n `}\n`;\n\nexport const StyledFormButtonsContainer = styled.div<{ $columns: number }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 1rem;\n\n ${({ $columns }) => `\n grid-column: 1 / ${$columns + 1};\n `}\n`;\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicFormContext } from '@contexts';\nimport { ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicFormProps } from '@models';\n\nimport { useChopLogicFormController } from './controller';\nimport { StyledForm, StyledFormButtonsContainer } from './Form.styled';\n\nconst ChopLogicForm: React.FC<ChopLogicFormProps> = ({\n children,\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n columns = 1,\n hasReset = true,\n ...rest\n}) => {\n const { handleInputChange, handleSubmit, handleReset, resetSignal, valid } = useChopLogicFormController({\n initialValues,\n onReset,\n onSubmit,\n onClickSubmit,\n });\n const theme = useChopLogicTheme();\n\n return (\n <StyledForm onSubmit={handleSubmit} onReset={handleReset} $columns={columns} $theme={theme} {...rest}>\n <ChopLogicFormContext.Provider value={{ onChangeFormInput: handleInputChange, initialValues, resetSignal }}>\n {children}\n <StyledFormButtonsContainer $columns={columns}>\n {hasReset && <ChopLogicButton type='reset' text='Reset' icon={ChopLogicIconName.Clear} view={ChopLogicButtonView.Flat} />}\n <ChopLogicButton type='submit' text='Submit' icon={ChopLogicIconName.Forward} extended={!hasReset} disabled={!valid} />\n </StyledFormButtonsContainer>\n </ChopLogicFormContext.Provider>\n </StyledForm>\n );\n};\n\nexport default ChopLogicForm;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledGrid = styled.table`\n border-collapse: collapse;\n`;\n\nexport const StyledGridHeader = styled.thead<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n`;\n\nexport const StyledGridBody = styled.tbody<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n`;\n\nexport const StyledGridHeaderCell = styled.th<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapMedium};\n text-align: left;\n`;\n\nexport const StyledGridHeaderRow = styled.tr<{ $theme: ChopLogicTheme }>`\n font-weight: bold;\n border-top: ${(props) => props.$theme.borderLight};\n border-bottom: ${(props) => props.$theme.borderLight};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n`;\n\nexport const StyledGridCell = styled.td<{ $theme: ChopLogicTheme }>`\n padding: ${(props) => props.$theme.gapMedium};\n`;\n\nexport const StyledGridCaption = styled.caption<{ $theme: ChopLogicTheme }>`\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n font-weight: bold;\n`;\n\nexport const StyledGridRow = styled.tr<{ $selected: boolean; $theme: ChopLogicTheme }>`\n border-bottom: ${(props) => props.$theme.borderLight};\n\n ${(props) =>\n props.$selected &&\n `\n background-color: ${props.$theme.backgroundColorLight};\n `}\n`;\n\nexport const StyledGridColumn = styled.col<{ $isFirst: boolean; $highlighted: boolean; $theme: ChopLogicTheme }>`\n border-right: ${(props) => props.$theme.borderLight};\n\n ${(props) => props.$isFirst && `border-left: ${props.$theme.borderLight};`}\n ${(props) => props.$highlighted && `background-color: ${props.$theme.backgroundColorLight};`}\n`;\n\nexport const StyledGridCheckboxWrapper = styled.div<{ $disabled: boolean; $checked: boolean; $theme: ChopLogicTheme }>`\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n padding: ${(props) => props.$theme.gapSmall} 0;\n position: relative;\n overflow: hidden;\n\n svg {\n color: ${(props) => (props.$checked ? props.$theme.fontColorBase : props.$theme.fontColorLight)};\n }\n\n label {\n cursor: pointer;\n gap: ${(props) => props.$theme.gapSmall};\n font-size: ${(props) => props.$theme.fontSizeBase} !important;\n &:hover,\n &:active {\n text-shadow: ${(props) => props.$theme.textShadow};\n }\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nexport const StyledGridCheckboxInput = styled.input<{ $theme: ChopLogicTheme }>`\n position: absolute;\n z-index: -1;\n opacity: 0;\n top: 4px;\n left: 0;\n margin: 0;\n\n &:focus-visible + label {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: 2px;\n }\n`;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, RenderDataItemCallback } from '@models';\n\nexport function getGridRowValues({\n item,\n columns,\n renderDataItem,\n}: {\n item: ChopLogicGridItem;\n columns: ChopLogicGridColumn[];\n renderDataItem?: RenderDataItemCallback;\n}): (string | React.ReactElement)[] {\n const values = [];\n for (const column of columns) {\n let value;\n\n if (renderDataItem && item[column.field]) {\n value = renderDataItem(item, column.field);\n } else if (item[column.field]) {\n value = (item[column.field] as string).toString();\n } else {\n value = '';\n }\n\n values.push(value);\n }\n\n return values;\n}\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCell } from '../Grid.styled';\n\nconst GridDataCell: React.FC<{ value: React.ReactElement | string; theme: ChopLogicTheme }> = ({ value, theme }) => {\n return <StyledGridCell $theme={theme}>{value}</StyledGridCell>;\n};\n\nexport default GridDataCell;\n","import React from 'react';\nimport { ChopLogicLabel } from '@elements';\nimport { useElementIds } from '@hooks';\nimport CheckboxCheckedIcon from '@icons/svg/CheckboxCheckedIcon.tsx';\nimport CheckboxUncheckedIcon from '@icons/svg/CheckboxUncheckedIcon.tsx';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCheckboxInput, StyledGridCheckboxWrapper } from '../Grid.styled';\n\ntype ChopLogicGridCheckboxProps = React.InputHTMLAttributes<HTMLInputElement> & {\n label: string;\n theme: ChopLogicTheme;\n};\n\nconst GridCheckbox: React.FC<ChopLogicGridCheckboxProps> = ({\n name,\n label,\n disabled,\n required = false,\n onChange,\n checked = false,\n theme,\n ...props\n}) => {\n const { elementId } = useElementIds(props?.id);\n\n return (\n <StyledGridCheckboxWrapper $disabled={!!disabled} $checked={checked} $theme={theme}>\n <StyledGridCheckboxInput\n id={elementId}\n name={name}\n type='checkbox'\n disabled={disabled}\n required={required}\n checked={checked}\n onChange={onChange}\n $theme={theme}\n />\n <ChopLogicLabel\n label={label}\n required={required}\n inputId={elementId}\n isTextHidden={true}\n iconPosition='left'\n theme={theme}\n icon={checked ? <CheckboxCheckedIcon /> : <CheckboxUncheckedIcon />}\n />\n </StyledGridCheckboxWrapper>\n );\n};\n\nexport default GridCheckbox;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridCell } from '../Grid.styled';\n\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n rowId: string;\n isRowSelected: boolean;\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst SelectGridRowCell: React.FC<SelectAllGridRowsCheckbox> = ({\n rowId,\n isRowSelected,\n selectRowById,\n deselectRowById,\n disabled,\n theme,\n}) => {\n const handleSelectById = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectRowById(rowId);\n } else {\n deselectRowById(rowId);\n }\n };\n\n return (\n <StyledGridCell $theme={theme}>\n <GridCheckbox\n theme={theme}\n label='Select row'\n onChange={handleSelectById}\n id={`select_row_${rowId}`}\n checked={isRowSelected}\n disabled={disabled}\n />\n </StyledGridCell>\n );\n};\n\nexport default SelectGridRowCell;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridRow } from '../Grid.styled';\n\nimport GridDataCell from './DataCell';\nimport SelectGridRowCell from './SelectRowCell';\n\nexport type GridRowProps = {\n rowId: string;\n selectedIds: string[];\n selectRowById: (id: string) => void;\n deselectRowById: (id: string) => void;\n selectable: boolean;\n values: (string | React.ReactElement)[];\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst GridRow: React.FC<GridRowProps> = ({ rowId, selectRowById, deselectRowById, selectable, values, selectedIds, disabled, theme }) => {\n const selected = selectedIds.includes(rowId);\n\n return (\n <StyledGridRow $selected={selected} $theme={theme}>\n {selectable && (\n <SelectGridRowCell\n rowId={rowId}\n selectRowById={selectRowById}\n deselectRowById={deselectRowById}\n isRowSelected={selected}\n disabled={disabled}\n theme={theme}\n />\n )}\n {values.map((value, index) => (\n <GridDataCell key={`row_${index}`} value={value} theme={theme} />\n ))}\n </StyledGridRow>\n );\n};\n\nexport default GridRow;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicGridItem, ChopLogicTheme, RenderDataItemCallback } from '@models';\n\nimport { StyledGridBody } from '../Grid.styled';\nimport { getGridRowValues } from '../helpers';\n\nimport GridRow from './Row';\n\ntype ChopLogicGridBodyProps = {\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 theme: ChopLogicTheme;\n};\n\nconst ChopLogicGridBody: React.FC<ChopLogicGridBodyProps> = ({\n selectRowById,\n deselectRowById,\n renderDataItem,\n selectedIds,\n selectable,\n data,\n columns,\n theme,\n}) => {\n return (\n <StyledGridBody $theme={theme}>\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 theme={theme}\n />\n );\n })}\n </StyledGridBody>\n );\n};\n\nexport default ChopLogicGridBody;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicTheme } from '@models';\n\nimport { StyledGridColumn } from '../Grid.styled';\n\nconst GridColumnGroup: React.FC<{ columns: ChopLogicGridColumn[]; selectable: boolean; theme: ChopLogicTheme }> = ({\n columns,\n selectable,\n theme,\n}) => {\n return (\n <colgroup>\n {selectable && <StyledGridColumn $isFirst={true} $highlighted={false} $theme={theme} />}\n {columns.map((column, index) => (\n <StyledGridColumn\n $isFirst={index === 0 && !selectable}\n key={column?.title}\n $highlighted={!!column?.highlighted}\n className={column?.className}\n $theme={theme}\n />\n ))}\n </colgroup>\n );\n};\n\nexport default GridColumnGroup;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridHeaderCell } from '../Grid.styled';\n\nconst GridHeaderCell: React.FC<{ title?: string; component?: React.ReactElement; theme: ChopLogicTheme }> = ({\n title,\n component,\n theme,\n}) => {\n return <StyledGridHeaderCell $theme={theme}>{component ?? title ?? ''}</StyledGridHeaderCell>;\n};\n\nexport default GridHeaderCell;\n","import React from 'react';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledGridHeaderCell } from '../Grid.styled';\n\nimport GridCheckbox from './Checkbox';\n\ntype SelectAllGridRowsCheckbox = {\n gridId: string;\n isAllSelected: boolean;\n selectAll: () => void;\n deselectAll: () => void;\n disabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst SelectAllRowsCell: React.FC<SelectAllGridRowsCheckbox> = ({ gridId, isAllSelected, selectAll, deselectAll, disabled, theme }) => {\n const handleSelectAll = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { checked } = e.target;\n if (checked) {\n selectAll();\n } else {\n deselectAll();\n }\n };\n\n return (\n <StyledGridHeaderCell $theme={theme}>\n <GridCheckbox\n label='Select all rows'\n onChange={handleSelectAll}\n id={`select_all_${gridId}`}\n checked={isAllSelected}\n disabled={disabled}\n theme={theme}\n />\n </StyledGridHeaderCell>\n );\n};\n\nexport default SelectAllRowsCell;\n","import React from 'react';\nimport { ChopLogicGridColumn, ChopLogicTheme } from '@models';\n\nimport { StyledGridHeader, StyledGridHeaderRow } from '../Grid.styled';\n\nimport GridHeaderCell from './HeaderCell';\nimport SelectAllRowsCell from './SelectAllRowsCell';\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 theme: ChopLogicTheme;\n};\n\nconst ChopLogicGridHead: React.FC<ChopLogicGridHeadProps> = ({\n columns,\n gridId,\n selectAll,\n deselectAll,\n selectable,\n isAllSelected,\n isAllCheckboxDisabled = false,\n theme,\n}) => {\n return (\n <StyledGridHeader $theme={theme}>\n <StyledGridHeaderRow $theme={theme}>\n {selectable && (\n <SelectAllRowsCell\n isAllSelected={isAllSelected}\n disabled={isAllCheckboxDisabled}\n gridId={gridId}\n selectAll={selectAll}\n deselectAll={deselectAll}\n theme={theme}\n />\n )}\n {columns.map((column) => (\n <GridHeaderCell key={`${column.title}_${gridId}`} title={column.title} component={column.component} theme={theme} />\n ))}\n </StyledGridHeaderRow>\n </StyledGridHeader>\n );\n};\n\nexport default ChopLogicGridHead;\n","import { useState } from 'react';\nimport { useElementIds } from '@hooks';\nimport { ChopLogicGridItem } from '@models';\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 React from 'react';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicGridProps } from '@models';\n\nimport ChopLogicGridBody from './elements/Body';\nimport GridColumnGroup from './elements/ColumnGroup';\nimport ChopLogicGridHead from './elements/Head';\nimport { useChopLogicGridController } from './controller';\nimport { StyledGrid, StyledGridCaption } from './Grid.styled';\n\nconst ChopLogicGrid: React.FC<ChopLogicGridProps> = ({\n columns,\n data,\n id,\n onSelect,\n renderDataItem,\n caption,\n selectable = false,\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 const theme = useChopLogicTheme();\n\n return (\n <StyledGrid {...rest}>\n {caption && <StyledGridCaption $theme={theme}>{caption}</StyledGridCaption>}\n <GridColumnGroup columns={columns} selectable={selectable} theme={theme} />\n <ChopLogicGridHead\n gridId={elementId}\n columns={columns}\n selectable={selectable}\n selectAll={handleSelectAll}\n deselectAll={handleDeselectAll}\n isAllSelected={isAllSelected}\n isAllCheckboxDisabled={isAllCheckboxDisabled}\n theme={theme}\n />\n <ChopLogicGridBody\n columns={columns}\n data={data}\n selectable={selectable}\n selectRowById={handleSelectRowById}\n deselectRowById={handleDeselectRowById}\n selectedIds={selectedIds}\n renderDataItem={renderDataItem}\n theme={theme}\n />\n </StyledGrid>\n );\n};\n\nexport default ChopLogicGrid;\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation } from '@css';\n\nexport const StyledMenuBar = styled.ul<{ $theme: ChopLogicTheme; $mode: ChopLogicOrientationMode }>`\n list-style: none;\n margin: 0;\n padding: 0;\n padding-inline-start: 0;\n display: flex;\n gap: ${(props) => props.$theme.gapSmall};\n flex-direction: ${(props) => (props.$mode === ChopLogicOrientationMode.Vertical ? 'column' : 'row')};\n justify-content: flex-start;\n width: 100%;\n`;\n\nexport const StyledSubMenuBar = styled(StyledMenuBar)`\n flex-direction: column;\n padding-left: ${(props) => props.$theme.gapBig};\n margin-left: ${(props) => props.$theme.gapBig};\n margin-top: ${(props) => props.$theme.gapSmall};\n box-sizing: border-box;\n border-left: ${(props) => props.$theme.borderLight};\n ${fadeInAnimation}\n\n ${({ $theme, $mode }) =>\n $mode === ChopLogicOrientationMode.Horizontal &&\n `\n position: absolute;\n top: 100%;\n left: 40%;\n width: max-content;\n border-radius: ${$theme.blockBorderRadius};\n border: ${$theme.borderLight};\n box-shadow: ${$theme.boxShadow};\n background-color: ${$theme.backgroundColorBase};\n padding: ${$theme.gapMedium};\n margin: 0;\n z-index: ${$theme.zIndexPopup};\n `}\n`;\n\nexport const StyledMenuLeaf = styled.li<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: ${(props) => props.$theme.gapMedium};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n cursor: pointer;\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n`;\n\nexport const StyledSubMenu = styled.li<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-direction: column;\n gap: 0;\n padding: 0;\n position: relative;\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n }\n`;\n\nexport const StyledSubMenuText = styled.span<{ $theme: ChopLogicTheme; $mode: ChopLogicOrientationMode }>`\n position: relative;\n display: flex;\n box-sizing: border-box;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n width: 100%;\n justify-content: space-between;\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n background-color: ${(props) => props.$theme.backgroundColorBase};\n padding: ${(props) => props.$theme.gapMedium};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n cursor: pointer;\n\n span {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n }\n\n &:hover {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledMenuLeaf } from '../Meny.styled';\n\ntype MenuLeafProps = {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n};\n\nconst MenuLeaf: React.FC<MenuLeafProps> = ({ theme, item }) => {\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 <StyledMenuLeaf tabIndex={0} role='menuitem' $theme={theme} onFocus={onFocus} onClick={onClick} onMouseOver={onHover}>\n <ChopLogicIcon name={icon} />\n {leafContent}\n </StyledMenuLeaf>\n );\n};\n\nexport default MenuLeaf;\n","import React, { PropsWithChildren, useRef } from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicIconName, ChopLogicOrientationMode } from '@enums';\nimport { useClickOutside } from '@hooks';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledSubMenu, StyledSubMenuText } from '../Meny.styled.ts';\n\ntype SubMenuProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n isSubMenuOpened: boolean;\n mode: ChopLogicOrientationMode;\n toggleSubMenu: () => void;\n closeSubMenu: () => void;\n};\n\nconst SubMenu: React.FC<SubMenuProps> = ({ item, theme, isSubMenuOpened, toggleSubMenu, closeSubMenu, mode, children }) => {\n const { icon, link, label } = item;\n const ref = useRef(null);\n const dependentRef = useRef(null);\n\n const itemContent = link ? (\n <a href={link} target='_blank' rel='noreferrer'>\n <ChopLogicIcon name={icon} />\n {label}\n </a>\n ) : (\n <span>\n <ChopLogicIcon name={icon} />\n {label}\n </span>\n );\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLLIElement>) => {\n e.stopPropagation();\n if (e.key === ' ') {\n toggleSubMenu();\n }\n };\n\n const onClickOutsideHandler = () => {\n if (mode === ChopLogicOrientationMode.Vertical) return;\n closeSubMenu();\n };\n\n useClickOutside({ ref, dependentRef, onClickOutsideHandler });\n\n return (\n <StyledSubMenu\n tabIndex={0}\n role='menuitem'\n aria-haspopup='true'\n aria-expanded={isSubMenuOpened}\n $theme={theme}\n onKeyDown={handleKeyDown}\n ref={ref}\n >\n <StyledSubMenuText ref={dependentRef} $theme={theme} onClick={toggleSubMenu} $mode={mode}>\n {itemContent}\n <ChopLogicIcon name={isSubMenuOpened ? ChopLogicIconName.ArrowUp : ChopLogicIconName.ArrowDown} />\n </StyledSubMenuText>\n {isSubMenuOpened && children}\n </StyledSubMenu>\n );\n};\n\nexport default SubMenu;\n","import React, { PropsWithChildren, useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicMenuItem, ChopLogicTheme } from '@models';\n\nimport { StyledSubMenuBar } from '../Meny.styled.ts';\n\nimport MenuLeaf from './MenuLeaf';\nimport SubMenu from './SubMenu.tsx';\n\ntype MenuItemProps = PropsWithChildren & {\n item: ChopLogicMenuItem;\n theme: ChopLogicTheme;\n mode: ChopLogicOrientationMode;\n};\n\nconst MenuItem: React.FC<MenuItemProps> = ({ item, theme, mode }) => {\n const isLeaf = !item?.nestedItems?.length;\n const [isSubMenuOpened, setIsSubMenuOpened] = useState(false);\n\n if (isLeaf) {\n return <MenuLeaf item={item} theme={theme} />;\n }\n\n const toggleSubMenu = () => {\n setIsSubMenuOpened(!isSubMenuOpened);\n };\n\n const closeSubMenu = () => {\n setIsSubMenuOpened(false);\n };\n\n return (\n <SubMenu\n item={item}\n theme={theme}\n isSubMenuOpened={isSubMenuOpened}\n toggleSubMenu={toggleSubMenu}\n closeSubMenu={closeSubMenu}\n mode={mode}\n >\n <StyledSubMenuBar role='menu' aria-label={item.label} $theme={theme} $mode={mode}>\n {item?.nestedItems?.map((child) => <MenuItem item={child} key={child.id} theme={theme} mode={mode} />)}\n </StyledSubMenuBar>\n </SubMenu>\n );\n};\n\nexport default MenuItem;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicMenuProps } from '@models';\n\nimport MenuItem from './elements/MenuItem.tsx';\nimport { StyledMenuBar } from './Meny.styled';\n\nconst ChopLogicMenu: React.FC<ChopLogicMenuProps> = ({ items, mode = ChopLogicOrientationMode.Vertical, ...rest }) => {\n const theme = useChopLogicTheme();\n\n return (\n <StyledMenuBar role='menubar' $theme={theme} $mode={mode} {...rest}>\n {items.map((item) => (\n <MenuItem key={item.id} item={item} theme={theme} mode={mode} />\n ))}\n </StyledMenuBar>\n );\n};\n\nexport default ChopLogicMenu;\n","import React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nconst ChopLogicPortal = ({ children }: { children: React.ReactElement }): React.ReactPortal => {\n const [container] = useState(() => document.createElement('div'));\n\n useEffect(() => {\n // Append a new portal at the end of the body element on mount\n document.body.appendChild(container);\n\n // Remove the portal on unmount\n return () => {\n document.body.removeChild(container);\n };\n }, [container]);\n\n return ReactDOM.createPortal(children, container);\n};\n\nexport default ChopLogicPortal;\n","import { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nexport const StyledTabButton = styled.button<{\n $selected: boolean;\n $disabled: boolean;\n $mode: ChopLogicOrientationMode;\n $theme: ChopLogicTheme;\n}>`\n background: transparent;\n position: relative;\n outline: none;\n border: none;\n padding: ${(props) => props.$theme.gapMedium};\n cursor: pointer;\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n color: ${(props) => props.$theme.fontColorBase};\n overflow: hidden;\n border-top-left-radius: ${(props) => props.$theme.blockBorderRadius};\n border-top-right-radius: ${(props) => props.$theme.blockBorderRadius};\n\n &:focus-visible {\n outline: ${(props) => props.$theme.borderOutline};\n outline-offset: -4px;\n }\n\n &:hover,\n &:active {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n\n ${(props) =>\n props.$disabled &&\n `\n pointer-events: none;\n filter: grayscale(80%);\n opacity: 0.6;\n `}\n\n ${(props) =>\n props.$selected &&\n ` \n border-top: ${props.$theme.borderLight};\n border-right: ${props.$theme.borderLight};\n border-left: ${props.$theme.borderLight};\n background-color: ${props.$theme.backgroundColorBase};\n top: 1px;\n `}\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n `\n border-bottom-left-radius: ${props.$theme.blockBorderRadius};\n border-top-right-radius: 0;\n `}\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n props.$selected &&\n `\n border-top: ${props.$theme.borderLight};\n border-right: none;\n border-left: ${props.$theme.borderLight};\n border-bottom: ${props.$theme.borderLight};\n top: 0px;\n left: 1px;\n `}\n`;\n\nexport const StyledTabContent = styled.div<{ $theme: ChopLogicTheme }>`\n background-color: ${(props) => props.$theme.backgroundColorBase};\n color: ${(props) => props.$theme.fontColorBase};\n font-size: ${(props) => props.$theme.fontSizeBase};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n padding: ${(props) => props.$theme.gapBig};\n flex-grow: 1;\n`;\n\nexport const StyledTabList = styled.div<{ $mode: ChopLogicOrientationMode; $theme: ChopLogicTheme }>`\n border-bottom: ${(props) => props.$theme.borderLight};\n padding: 0 ${(props) => props.$theme.gapMedium};\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n\n ${(props) =>\n props.$mode === ChopLogicOrientationMode.Vertical &&\n `\n flex-direction: column;\n border-bottom: none;\n border-right: ${props.$theme.borderLight};\n padding: ${props.$theme.gapMedium} 0;\n `}\n`;\n\nexport const StyledTabs = styled.div<{ $mode: ChopLogicOrientationMode }>`\n display: flex;\n flex-direction: column;\n width: 100%;\n\n ${({ $mode }) =>\n $mode === ChopLogicOrientationMode.Vertical &&\n `\n flex-direction: row;\n `}\n`;\n","import React from 'react';\nimport { ChopLogicTabItem, ChopLogicTheme } from '@models';\n\nimport { StyledTabContent } from '../Tabs.styled';\n\nconst ChopLogicTabContent: React.FC<{\n tabs: ChopLogicTabItem[];\n selectedTabId: string;\n theme: ChopLogicTheme;\n}> = ({ tabs, selectedTabId, theme }): React.ReactElement => {\n const content = tabs.find((item) => item.id === selectedTabId)?.content;\n const contentId = `tabpanel_${selectedTabId}`;\n\n return (\n <StyledTabContent role='tabpanel' aria-labelledby={selectedTabId} id={contentId} $theme={theme}>\n {content}\n </StyledTabContent>\n );\n};\n\nexport default ChopLogicTabContent;\n","import React from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledTabButton } from '../Tabs.styled';\n\ntype ChopLogicTabButtonProps = {\n title: string;\n tabId: string;\n onTabSelect: (id: string) => void;\n tabPanelId: string;\n isSelected: boolean;\n mode: ChopLogicOrientationMode;\n isDisabled?: boolean;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicTabButton: React.FC<ChopLogicTabButtonProps> = ({\n title,\n onTabSelect,\n tabId,\n isSelected,\n isDisabled = false,\n tabPanelId,\n mode,\n theme,\n}) => {\n return (\n <StyledTabButton\n role='tab'\n id={tabId}\n onClick={() => onTabSelect(tabId)}\n aria-selected={isSelected}\n aria-controls={tabPanelId}\n $selected={isSelected}\n $disabled={isDisabled}\n $mode={mode}\n $theme={theme}\n >\n {title}\n </StyledTabButton>\n );\n};\n\nexport default ChopLogicTabButton;\n","import React, { KeyboardEvent } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { ChopLogicTabItem, ChopLogicTheme } from '@models';\nimport { moveFocusOnElementById } from '@utils';\n\nimport { StyledTabList } from '../Tabs.styled';\n\nimport ChopLogicTabButton from './TabButton';\n\ntype ChopLogicTabListProps = {\n tabs: ChopLogicTabItem[];\n tabIds: string[];\n onTabSelect: (id: string) => void;\n selectedTabId: string;\n tabPanelIds: string[];\n mode: ChopLogicOrientationMode;\n theme: ChopLogicTheme;\n};\n\nconst ChopLogicTabList: React.FC<ChopLogicTabListProps> = ({ tabs, onTabSelect, selectedTabId, tabPanelIds, mode, tabIds, theme }) => {\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 <StyledTabList role='tablist' $mode={mode} onKeyDown={handleListKeyDown} $theme={theme}>\n {tabs.map(({ id, title, disabled }, index) => {\n return (\n <ChopLogicTabButton\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 theme={theme}\n />\n );\n })}\n </StyledTabList>\n );\n};\n\nexport default ChopLogicTabList;\n","import React, { useState } from 'react';\nimport { ChopLogicOrientationMode } from '@enums';\nimport { useChopLogicTheme } from '@hooks';\nimport { ChopLogicTabsProps } from '@models';\n\nimport ChopLogicTabContent from './elements/TabContent';\nimport ChopLogicTabList from './elements/TabList';\nimport { StyledTabs } from './Tabs.styled';\n\nconst ChopLogicTabs: React.FC<ChopLogicTabsProps> = ({ tabs, defaultTabId, mode = ChopLogicOrientationMode.Horizontal, ...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 theme = useChopLogicTheme();\n\n const handleTabSelect = (id: string) => {\n setSelectedTabId(id);\n };\n\n return (\n <StyledTabs $mode={mode} {...rest}>\n <ChopLogicTabList\n tabs={tabs}\n selectedTabId={selectedTabId}\n tabPanelIds={tabPanelIds}\n onTabSelect={handleTabSelect}\n mode={mode}\n tabIds={tabIds}\n theme={theme}\n />\n <ChopLogicTabContent tabs={tabs} selectedTabId={selectedTabId} theme={theme} />\n </StyledTabs>\n );\n};\n\nexport default ChopLogicTabs;\n","import { ChopLogicTheme } from '@models';\nimport styled from 'styled-components';\n\nimport { fadeInAnimation, fadeOutAnimation } from '@css';\n\nexport const StyledAlertHeader = styled.header<{ $theme: ChopLogicTheme }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n h3 {\n display: flex;\n gap: ${(props) => props.$theme.gapMedium};\n align-items: center;\n margin: 0;\n color: ${(props) => props.$theme.fontColorBase};\n\n svg {\n color: ${(props) => props.$theme.fontColorAccent};\n }\n }\n`;\n\nexport const StyledAlertWrapper = styled.div<{ $isClosing: boolean; $theme: ChopLogicTheme }>`\n position: fixed;\n bottom: ${(props) => props.$theme.gapBig};\n left: 50%;\n transform: translateX(-50%);\n z-index: ${(props) => props.$theme.zIndexPopup};\n ${fadeInAnimation}\n\n ${(props) => props.$isClosing && fadeOutAnimation}\n`;\n\nexport const StyledAlertContent = styled.div<{ $theme: ChopLogicTheme }>`\n display: flex;\n flex-direction: column;\n gap: ${(props) => props.$theme.gapMedium};\n font-family: ${(props) => props.$theme.fontFamilyCore};\n background: ${(props) => props.$theme.backgroundColorBase};\n color: ${(props) => props.$theme.fontColorBase};\n width: 90vw;\n padding: ${(props) => props.$theme.gapMedium};\n box-shadow: ${(props) => props.$theme.boxShadow};\n border: ${(props) => props.$theme.borderLight};\n border-radius: ${(props) => props.$theme.blockBorderRadius};\n`;\n","import React from 'react';\nimport { ChopLogicIcon } from '@elements';\nimport { ChopLogicAlertMode, ChopLogicIconName } from '@enums';\nimport CheckMarkIcon from '@icons/svg/CheckMarkIcon.tsx';\nimport ErrorIcon from '@icons/svg/ErrorIcon.tsx';\nimport HelpIcon from '@icons/svg/HelpIcon.tsx';\nimport InfoIcon from '@icons/svg/InfoIcon.tsx';\nimport WarningIcon from '@icons/svg/WarningIcon.tsx';\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 renderAlertIcon(mode: ChopLogicAlertMode, icon?: ChopLogicIconName): React.ReactElement | null {\n if (icon) {\n return <ChopLogicIcon name={icon} />;\n }\n\n switch (mode) {\n case ChopLogicAlertMode.Info:\n return <InfoIcon />;\n case ChopLogicAlertMode.Warning:\n return <WarningIcon />;\n case ChopLogicAlertMode.Error:\n return <ErrorIcon />;\n case ChopLogicAlertMode.Success:\n return <CheckMarkIcon />;\n case ChopLogicAlertMode.Help:\n return <HelpIcon />;\n default:\n return null;\n }\n}\n","import React from 'react';\nimport { ChopLogicButton } from '@components';\nimport { ChopLogicAlertMode, ChopLogicButtonView, ChopLogicIconName } from '@enums';\nimport { ChopLogicTheme } from '@models';\n\nimport { StyledAlertHeader } from '../Alert.styled';\nimport { getAlertTitle, renderAlertIcon } from '../helpers';\n\ntype ChopLogicAlertHeaderProps = {\n onClose: () => void;\n theme: ChopLogicTheme;\n mode: ChopLogicAlertMode;\n title?: string;\n icon?: ChopLogicIconName;\n};\n\nconst ChopLogicAlertHeader: React.FC<ChopLogicAlertHeaderProps> = ({ title, onClose, mode, icon, theme }) => {\n const alertTitle = getAlertTitle(mode, title);\n const alertIcon = renderAlertIcon(mode, icon);\n\n return (\n <StyledAlertHeader $theme={theme}>\n <h3>\n {alertIcon}\n {alertTitle}\n </h3>\n <ChopLogicButton icon={ChopLogicIconName.Cancel} view={ChopLogicButtonView.Icon} label='Close alert popup' onClick={onClose} />\n </StyledAlertHeader>\n );\n};\n\nexport default ChopLogicAlertHeader;\n","import React from 'react';\nimport { ChopLogicPortal } from '@components';\nimport { ChopLogicAlertMode } from '@enums';\nimport { useChopLogicTheme, useMount } from '@hooks';\nimport { ChopLogicAlertProps } from '@models';\n\nimport ChopLogicAlertHeader from './elements/Header';\nimport { StyledAlertContent, StyledAlertWrapper } from './Alert.styled';\n\nconst ChopLogicAlert: React.FC<ChopLogicAlertProps> = ({\n isOpened,\n onClose,\n title,\n message,\n mode = ChopLogicAlertMode.Info,\n icon,\n ...rest\n}) => {\n const isMounted = useMount(isOpened);\n const isClosing = isMounted && !isOpened;\n const theme = useChopLogicTheme();\n\n if (!isMounted) return null;\n\n return (\n <ChopLogicPortal>\n <StyledAlertWrapper $isClosing={isClosing} $theme={theme}>\n <StyledAlertContent {...rest} $theme={theme}>\n <ChopLogicAlertHeader title={title} onClose={onClose} mode={mode} icon={icon} theme={theme} />\n <p>{message}</p>\n </StyledAlertContent>\n </StyledAlertWrapper>\n </ChopLogicPortal>\n );\n};\n\nexport default ChopLogicAlert;\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","__assign","s","i","n","p","__spreadArray","to","from","pack","l","ar","memoize","fn","cache","arg","reactPropsRegex","isPropValid","prop","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","assign","hash","length","charat","trim","match","pattern","replace","replacement","indexof","search","position","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","filter","line","column","character","characters","root","parent","siblings","copy","lift","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","x","y","z","prefix","element","_","a","b","c","d","e","f","serialize","output","stringify","middleware","collection","rulesheet","prefixer","unitlessKeys","m","v","g","S","w","E","N","P","t","o","r","C","I","A","O","D","R","T","V","F","M","$","B","L","G","Y","W","q","H","U","J","X","Z","K","Q","ee","te","ne","oe","re","se","ie","ae","ce","le","ue","pe","de","he","fe","me","ye","ve","ge","Se","we","be","Ee","Ne","Pe","u","_e","Ce","Ie","Ae","Oe","De","Re","Te","ke","je","xe","Ve","Fe","d.RULESET","d.prefixer","d.stringify","d.compile","d.serialize","d.middleware","d.rulesheet","Me","ze","$e","Ge","We","qe","He","Ue","Je","h","Xe","Ze","Ke","Qe","et","rt","st","it","at","ct","lt","ut","pt","dt","St","fadeInAnimation","fadeOutAnimation","SCREEN_BREAKPOINTS","LIGHT_THEME","DARK_THEME","StyledErrorMessage","styled","$visible","ChopLogicErrorMessage","errorId","testId","message","visible","style","theme","jsx","ArrowDownIcon","title","rest","jsxs","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","ChopLogicAlertMode","ChopLogicButtonView","ChopLogicIconName","ChopLogicLoaderView","ChopLogicOrientationMode","ChopLogicThemeMode","ChopLogicTooltipContainer","ChopLogicIconDictionary","ChopLogicIcon","Component","StyledInputInnerButton","InputInnerButton","onClick","label","icon","disabled","StyledLabel","ChopLogicLabel","required","inputId","iconPosition","isTextHidden","isLeftIconVisible","isRightIconVisible","withTooltip","tooltip","visibleOn","ChopLogicTooltip","ChopLogicFormContext","ChopLogicThemeContext","getChopLogicTheme","mode","customTheme","defaultTheme","themeProperty","moveFocusOnElementById","id","handleDropdownListKeyPress","options","onClose","focusedId","currentFocusIndex","previousOptionIndex","previousValue","nextOptionIndex","nextValue","useChopLogicTheme","useContext","useClickOutside","ref","onClickOutsideHandler","dependentRef","useEffect","handleClickOutside","event","isOutsideRef","isOutsideDependentRef","useContainerDimensions","isVisible","dimensions","setDimensions","useState","useElementIds","randomId","useId","elementId","dropdownId","useKeyPress","keyCode","onKeyPress","handleKeyPress","useModalFocusTrap","modalRef","isOpened","modalElement","focusableElements","firstElement","lastElement","handleTabKeyPress","useMount","delay","isMounted","setIsMounted","useResetFormInput","onReset","resetSignal","getWindowDimensions","width","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useTooltipPosition","wrapperRef","tooltipRef","spacing","setPosition","tooltipWidth","tooltipHeight","windowWidth","windowHeight","rect","top","left","StyledPrimaryButton","StyledFlatButton","StyledIconButton","ChopLogicButton","text","extended","view","ChopLogicButton$1","StyledCheckbox","getCheckboxInitialValue","defaultChecked","initialValues","useChopLogicCheckboxController","onChange","onChangeFormInput","initialValue","isChecked","setIsChecked","handleChange","checked","handleReset","useCallback","ChopLogicCheckbox","noLabel","StyledSelect","StyledSelectCombobox","StyledSelectDropdown","StyledSelectOption","StyledMultiSelectOption","SelectCombobox","opened","comboboxId","placeholder","values","selectedLabels","selectedIds","selectedValues","SelectOption","onSelect","selected","handleKeyDown","MultiSelectDropdown","item","getMultiSelectInitialValues","defaultValue","option","getMultiSelectFormValues","getMultiSelectUpdatedValues","targetItem","useChopLogicMultiSelectController","setOpened","initialOptions","setValues","handleClose","handleToggle","handleSelect","newValues","ChopLogicMultiSelect","useRef","SelectDropdown","getNumericInputInitialValue","validateNumericInputValue","validator","maxValue","minValue","useChopLogicNumericInputController","onSpinButtonClick","min","max","step","setValue","valid","setValid","updateValue","increment","decrement","StyledNumericInput","ChopLogicNumericInput","errorMessage","onBlur","onFocus","tabIndex","readOnly","hasSpinButtons","ChopLogicInputInnerButton","onClear","handleOptionSelect","getSelectInitialValue","valueId","_a","useChopLogicSelectController","setSelected","newValue","handleClear","ChopLogicSelect","validateTextInputValue","getTextInputInitialValue","useChopLogicTextInputController","passwordShown","setPasswordShown","togglePassword","StyledTextInput","ChopLogicTextInput","maxLength","clearable","autoComplete","isPasswordButtonVisible","StyledDialogLayout","StyledDialogBackground","StyledDialogHeader","StyledDialogContent","ChopLogicModalLayoutHeader","ChopLogicModalLayout","ChopLogicDialog","isClosing","ChopLogicPortal","useChopLogicTooltipController","setIsOpened","closeTooltip","openTooltip","toggleTooltip","handleContextMenu","StyledTooltip","tooltipContent","containerTag","ContainerComponent","getInitialValidationState","data","updateValidationState","state","params","isFormDataValid","useChopLogicFormController","onSubmit","onClickSubmit","formData","setFormData","validationState","setValidationState","setResetSignal","newData","resultData","StyledForm","$columns","StyledFormButtonsContainer","ChopLogicForm","columns","hasReset","handleInputChange","handleSubmit","StyledGrid","StyledGridHeader","StyledGridBody","StyledGridHeaderCell","StyledGridHeaderRow","StyledGridCell","StyledGridCaption","StyledGridRow","StyledGridColumn","StyledGridCheckboxWrapper","StyledGridCheckboxInput","getGridRowValues","renderDataItem","GridDataCell","GridCheckbox","SelectGridRowCell","rowId","isRowSelected","selectRowById","deselectRowById","handleSelectById","GridRow","selectable","ChopLogicGridBody","GridColumnGroup","GridHeaderCell","component","SelectAllRowsCell","gridId","isAllSelected","selectAll","deselectAll","handleSelectAll","ChopLogicGridHead","isAllCheckboxDisabled","useChopLogicGridController","setSelectedIds","allIds","ids","newIds","ChopLogicGrid","caption","handleDeselectAll","handleDeselectRowById","handleSelectRowById","StyledMenuBar","StyledSubMenuBar","$theme","$mode","StyledMenuLeaf","StyledSubMenu","StyledSubMenuText","MenuLeaf","link","onHover","leafContent","SubMenu","isSubMenuOpened","toggleSubMenu","closeSubMenu","itemContent","MenuItem","isLeaf","setIsSubMenuOpened","_b","child","ChopLogicMenu","items","container","ReactDOM","StyledTabButton","StyledTabContent","StyledTabList","StyledTabs","ChopLogicTabContent","tabs","selectedTabId","content","contentId","ChopLogicTabButton","onTabSelect","tabId","isSelected","isDisabled","tabPanelId","ChopLogicTabList","tabPanelIds","tabIds","handleListKeyDown","currentFocusedTabIndex","previousTabIndex","previousTabId","nextTabIndex","nextTabId","ChopLogicTabs","defaultTabId","defaultId","setSelectedTabId","handleTabSelect","StyledAlertHeader","StyledAlertWrapper","StyledAlertContent","getAlertTitle","renderAlertIcon","ChopLogicAlertHeader","alertTitle","alertIcon","ChopLogicAlert"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}