chop-logic-components 4.0.1 → 4.0.3

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 (247) hide show
  1. package/README.md +5 -0
  2. package/dist/components/atoms/button/Button.css +1 -1
  3. package/dist/components/atoms/button/Button2.js +51 -0
  4. package/dist/components/atoms/button/icon-button/IconButton.css +1 -1
  5. package/dist/components/atoms/button/icon-button/IconButton2.js +18 -0
  6. package/dist/components/atoms/button/inner-button/InnerButton.css +1 -1
  7. package/dist/components/atoms/button/inner-button/InnerButton2.js +21 -0
  8. package/dist/components/atoms/button/primary-button/PrimaryButton.css +1 -1
  9. package/dist/components/atoms/button/primary-button/PrimaryButton2.js +20 -0
  10. package/dist/components/atoms/button/secondary-button/SecondaryButton.css +1 -1
  11. package/dist/components/atoms/button/secondary-button/SecondaryButton2.js +20 -0
  12. package/dist/components/atoms/editable-text/EditView.js +18 -37
  13. package/dist/components/atoms/editable-text/EditableText.css +1 -1
  14. package/dist/components/atoms/editable-text/EditableText2.js +53 -0
  15. package/dist/components/atoms/editable-text/ReadView.js +16 -25
  16. package/dist/components/atoms/editable-text/useEditModeState.js +16 -16
  17. package/dist/components/atoms/editable-text/useInputFocus.js +13 -8
  18. package/dist/components/atoms/editable-text/useValueState.js +20 -20
  19. package/dist/components/atoms/error-message/ErrorMessage.css +1 -1
  20. package/dist/components/atoms/error-message/ErrorMessage2.js +18 -0
  21. package/dist/components/atoms/header/Header.css +1 -1
  22. package/dist/components/atoms/header/Header2.js +23 -0
  23. package/dist/components/atoms/icon/Icon.css +1 -1
  24. package/dist/components/atoms/icon/Icon2.js +29 -0
  25. package/dist/components/atoms/image/BasicImage.js +15 -27
  26. package/dist/components/atoms/image/FallBackImage.js +16 -10
  27. package/dist/components/atoms/image/Image.css +1 -1
  28. package/dist/components/atoms/image/Image2.js +28 -0
  29. package/dist/components/atoms/image/ResponsivePicture.js +13 -17
  30. package/dist/components/atoms/input/Input.css +1 -1
  31. package/dist/components/atoms/input/Input2.js +13 -0
  32. package/dist/components/atoms/label/Label.css +1 -1
  33. package/dist/components/atoms/label/Label2.js +35 -0
  34. package/dist/components/atoms/link/Link.css +1 -1
  35. package/dist/components/atoms/link/Link2.js +36 -0
  36. package/dist/components/atoms/portal/Portal.js +10 -10
  37. package/dist/components/atoms/tooltip/Tooltip.controller.js +42 -34
  38. package/dist/components/atoms/tooltip/Tooltip.css +1 -1
  39. package/dist/components/atoms/tooltip/Tooltip2.js +49 -0
  40. package/dist/components/contexts/form/FormContext.js +5 -5
  41. package/dist/components/contexts/theme/ThemeContext.js +6 -9
  42. package/dist/components/contexts/theme/ThemeProvider.js +23 -20
  43. package/dist/components/hocs/with-figure-caption/Figure.css +1 -1
  44. package/dist/components/hocs/with-figure-caption/with-figure-caption.js +13 -10
  45. package/dist/components/hocs/with-tooltip/with-tooltip.js +10 -6
  46. package/dist/components/molecules/accordion/Accordion.css +1 -1
  47. package/dist/components/molecules/accordion/Accordion2.js +11 -0
  48. package/dist/components/molecules/accordion/AccordionItem.css +1 -1
  49. package/dist/components/molecules/accordion/AccordionItem2.js +24 -0
  50. package/dist/components/molecules/alert/Alert.css +1 -1
  51. package/dist/components/molecules/alert/Alert.helpers.js +24 -38
  52. package/dist/components/molecules/alert/Alert2.js +63 -0
  53. package/dist/components/molecules/alert/AlertProgressBar.js +10 -13
  54. package/dist/components/molecules/breadcrumbs/BreadcrumbItem.js +29 -27
  55. package/dist/components/molecules/breadcrumbs/BreadcrumbList.js +12 -6
  56. package/dist/components/molecules/breadcrumbs/Breadcrumbs.css +1 -1
  57. package/dist/components/molecules/breadcrumbs/Breadcrumbs2.js +20 -0
  58. package/dist/components/molecules/checkbox/Checkbox.controller.js +28 -24
  59. package/dist/components/molecules/checkbox/Checkbox.css +1 -1
  60. package/dist/components/molecules/checkbox/Checkbox.helpers.js +5 -9
  61. package/dist/components/molecules/checkbox/Checkbox2.js +7 -0
  62. package/dist/components/molecules/checkbox/CheckboxStateful.js +46 -59
  63. package/dist/components/molecules/checkbox/CheckboxStateless.js +41 -58
  64. package/dist/components/molecules/multi-select/MultiSelect.Combobox.js +34 -46
  65. package/dist/components/molecules/multi-select/MultiSelect.Dropdown.js +22 -30
  66. package/dist/components/molecules/multi-select/MultiSelect.controller.js +32 -36
  67. package/dist/components/molecules/multi-select/MultiSelect.helpers.js +17 -20
  68. package/dist/components/molecules/multi-select/MultiSelect.js +59 -60
  69. package/dist/components/molecules/multi-select/MultiSelectComboboxSelectedValues.js +7 -7
  70. package/dist/components/molecules/multi-select/Option.js +40 -39
  71. package/dist/components/molecules/numeric-input/NumericInput.controller.js +50 -44
  72. package/dist/components/molecules/numeric-input/NumericInput.css +1 -1
  73. package/dist/components/molecules/numeric-input/NumericInput.helpers.js +7 -18
  74. package/dist/components/molecules/numeric-input/NumericInput2.js +7 -0
  75. package/dist/components/molecules/numeric-input/NumericInputStateful.js +72 -107
  76. package/dist/components/molecules/numeric-input/NumericInputStateless.js +60 -95
  77. package/dist/components/molecules/search/Search.controller.js +31 -41
  78. package/dist/components/molecules/search/Search.css +1 -1
  79. package/dist/components/molecules/search/Search2.js +67 -0
  80. package/dist/components/molecules/select/Select.controller.js +35 -31
  81. package/dist/components/molecules/select/Select.css +1 -1
  82. package/dist/components/molecules/select/Select.helpers.js +10 -15
  83. package/dist/components/molecules/select/Select2.js +62 -0
  84. package/dist/components/molecules/select/combobox/Combobox.css +1 -1
  85. package/dist/components/molecules/select/combobox/Combobox2.js +31 -0
  86. package/dist/components/molecules/select/dropdown/Dropdown.css +1 -1
  87. package/dist/components/molecules/select/dropdown/Dropdown2.js +31 -0
  88. package/dist/components/molecules/select/option/Option.css +1 -1
  89. package/dist/components/molecules/select/option/Option2.js +36 -0
  90. package/dist/components/molecules/switch/Switch.controller.js +32 -32
  91. package/dist/components/molecules/switch/Switch.css +1 -1
  92. package/dist/components/molecules/switch/Switch.helpers.js +5 -9
  93. package/dist/components/molecules/switch/Switch2.js +58 -0
  94. package/dist/components/molecules/text-input/TextInput.controller.js +46 -35
  95. package/dist/components/molecules/text-input/TextInput.css +1 -1
  96. package/dist/components/molecules/text-input/TextInput.helpers.js +7 -16
  97. package/dist/components/molecules/text-input/TextInput2.js +7 -0
  98. package/dist/components/molecules/text-input/TextInputButtons.js +20 -37
  99. package/dist/components/molecules/text-input/TextInputStateful.js +62 -91
  100. package/dist/components/molecules/text-input/TextInputStateless.js +59 -88
  101. package/dist/components/organisms/dialog/Dialog.css +1 -1
  102. package/dist/components/organisms/dialog/Dialog2.js +50 -0
  103. package/dist/components/organisms/form/Form.controller.js +28 -28
  104. package/dist/components/organisms/form/Form.css +1 -1
  105. package/dist/components/organisms/form/Form.helpers.js +9 -11
  106. package/dist/components/organisms/form/Form2.js +52 -0
  107. package/dist/components/organisms/grid/Grid.controller.js +27 -33
  108. package/dist/components/organisms/grid/Grid.css +1 -1
  109. package/dist/components/organisms/grid/Grid.helpers.js +13 -14
  110. package/dist/components/organisms/grid/Grid2.js +52 -0
  111. package/dist/components/organisms/grid/body/GridBody.css +1 -1
  112. package/dist/components/organisms/grid/body/GridBody2.js +26 -0
  113. package/dist/components/organisms/grid/checkbox/GridCheckbox.css +1 -1
  114. package/dist/components/organisms/grid/checkbox/GridCheckbox2.js +35 -0
  115. package/dist/components/organisms/grid/column-group/GridColumnGroup2.js +14 -0
  116. package/dist/components/organisms/grid/data-cell/GridDataCell.js +5 -5
  117. package/dist/components/organisms/grid/grid-row/GridRow2.js +24 -0
  118. package/dist/components/organisms/grid/head/GridHead.css +1 -1
  119. package/dist/components/organisms/grid/head/GridHead2.js +23 -0
  120. package/dist/components/organisms/grid/header-cell/HeaderCell.js +5 -8
  121. package/dist/components/organisms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.js +15 -24
  122. package/dist/components/organisms/grid/select-grid-row-cell/SelectGridRowCell.js +14 -23
  123. package/dist/components/organisms/menu/Menu.css +1 -1
  124. package/dist/components/organisms/menu/Menu2.js +24 -0
  125. package/dist/components/organisms/menu/leaf/MenuLeaf.css +1 -1
  126. package/dist/components/organisms/menu/leaf/MenuLeaf2.js +31 -0
  127. package/dist/components/organisms/menu/list-item/MenuListItem.css +1 -1
  128. package/dist/components/organisms/menu/list-item/MenuListItem2.js +38 -0
  129. package/dist/components/organisms/menu/sub-menu/SubMenu.css +1 -1
  130. package/dist/components/organisms/menu/sub-menu/SubMenu2.js +56 -0
  131. package/dist/components/organisms/tabs/Tabs.css +1 -1
  132. package/dist/components/organisms/tabs/Tabs2.js +60 -0
  133. package/dist/components/organisms/tabs/button/TabButton.css +1 -1
  134. package/dist/components/organisms/tabs/button/TabButton2.js +83 -0
  135. package/dist/components/organisms/tabs/content/TabContent.css +1 -1
  136. package/dist/components/organisms/tabs/content/TabContent2.js +16 -0
  137. package/dist/components/organisms/tabs/edit-input/TabEditInput.css +1 -1
  138. package/dist/components/organisms/tabs/edit-input/TabEditInput2.js +45 -0
  139. package/dist/components/organisms/tabs/list/TabList.css +1 -1
  140. package/dist/components/organisms/tabs/list/TabList2.js +51 -0
  141. package/dist/enums/alert-mode.js +6 -4
  142. package/dist/enums/button-view.js +6 -4
  143. package/dist/enums/element-size.js +6 -4
  144. package/dist/enums/icon-name.js +6 -4
  145. package/dist/enums/loader-view.js +6 -4
  146. package/dist/enums/orientation-mode.js +6 -4
  147. package/dist/enums/semantic-color.js +6 -4
  148. package/dist/enums/tooltip-container.js +6 -4
  149. package/dist/hooks/use-auto-close/use-auto-close.js +17 -17
  150. package/dist/hooks/use-click-outside/use-click-outside.js +18 -18
  151. package/dist/hooks/use-container-dimensions/use-container-dimensions.js +15 -15
  152. package/dist/hooks/use-debounce/use-debounce.js +14 -14
  153. package/dist/hooks/use-element-ids/use-element-ids.js +11 -11
  154. package/dist/hooks/use-is-hovered/use-is-hovered.js +14 -14
  155. package/dist/hooks/use-is-mounted/use-is-mounted.js +14 -14
  156. package/dist/hooks/use-is-overflow/use-is-overflow.js +26 -26
  157. package/dist/hooks/use-key-press/use-key-press.js +17 -13
  158. package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.js +15 -19
  159. package/dist/hooks/use-remaining-timer/use-remaining-timer.js +35 -37
  160. package/dist/hooks/use-reset-form-input/use-reset-form-input.js +10 -10
  161. package/dist/hooks/use-theme/use-theme.js +6 -6
  162. package/dist/hooks/use-tooltip-position/use-tooltip-position.js +36 -30
  163. package/dist/hooks/use-window-dimensions/use-window-dimensions.js +18 -15
  164. package/dist/index.es.js +55 -112
  165. package/dist/styles/icons.css +1 -1
  166. package/dist/styles/main.css +1 -1
  167. package/dist/utils/get-class-name.js +13 -15
  168. package/dist/utils/handle-dropdown-list-key-press.js +26 -31
  169. package/dist/utils/move-focus-on-element-by-id.js +6 -6
  170. package/package.json +15 -17
  171. package/dist/components/atoms/button/Button.js +0 -66
  172. package/dist/components/atoms/button/icon-button/IconButton.js +0 -15
  173. package/dist/components/atoms/button/icon-button/index.js +0 -3
  174. package/dist/components/atoms/button/index.js +0 -3
  175. package/dist/components/atoms/button/inner-button/InnerButton.js +0 -28
  176. package/dist/components/atoms/button/inner-button/index.js +0 -3
  177. package/dist/components/atoms/button/primary-button/PrimaryButton.js +0 -18
  178. package/dist/components/atoms/button/primary-button/index.js +0 -3
  179. package/dist/components/atoms/button/secondary-button/SecondaryButton.js +0 -18
  180. package/dist/components/atoms/button/secondary-button/index.js +0 -3
  181. package/dist/components/atoms/editable-text/EditableText.js +0 -71
  182. package/dist/components/atoms/editable-text/index.js +0 -3
  183. package/dist/components/atoms/error-message/ErrorMessage.js +0 -30
  184. package/dist/components/atoms/error-message/index.js +0 -3
  185. package/dist/components/atoms/header/Header.js +0 -22
  186. package/dist/components/atoms/header/index.js +0 -3
  187. package/dist/components/atoms/icon/Icon.js +0 -31
  188. package/dist/components/atoms/icon/index.js +0 -3
  189. package/dist/components/atoms/image/Image.js +0 -24
  190. package/dist/components/atoms/image/index.js +0 -3
  191. package/dist/components/atoms/input/Input.js +0 -10
  192. package/dist/components/atoms/input/index.js +0 -3
  193. package/dist/components/atoms/label/Label.js +0 -30
  194. package/dist/components/atoms/label/index.js +0 -3
  195. package/dist/components/atoms/link/Link.js +0 -39
  196. package/dist/components/atoms/link/index.js +0 -3
  197. package/dist/components/atoms/tooltip/Tooltip.js +0 -70
  198. package/dist/components/atoms/tooltip/index.js +0 -3
  199. package/dist/components/molecules/accordion/Accordion.js +0 -11
  200. package/dist/components/molecules/accordion/AccordionItem.js +0 -24
  201. package/dist/components/molecules/accordion/index.js +0 -3
  202. package/dist/components/molecules/alert/Alert.js +0 -60
  203. package/dist/components/molecules/alert/index.js +0 -3
  204. package/dist/components/molecules/breadcrumbs/Breadcrumbs.js +0 -31
  205. package/dist/components/molecules/breadcrumbs/index.js +0 -3
  206. package/dist/components/molecules/checkbox/Checkbox.js +0 -7
  207. package/dist/components/molecules/checkbox/index.js +0 -3
  208. package/dist/components/molecules/numeric-input/NumericInput.js +0 -7
  209. package/dist/components/molecules/numeric-input/index.js +0 -3
  210. package/dist/components/molecules/search/Search.js +0 -112
  211. package/dist/components/molecules/search/index.js +0 -3
  212. package/dist/components/molecules/select/Select.js +0 -64
  213. package/dist/components/molecules/select/combobox/Combobox.js +0 -46
  214. package/dist/components/molecules/select/combobox/index.js +0 -3
  215. package/dist/components/molecules/select/dropdown/Dropdown.js +0 -46
  216. package/dist/components/molecules/select/dropdown/index.js +0 -3
  217. package/dist/components/molecules/select/index.js +0 -3
  218. package/dist/components/molecules/select/option/Option.js +0 -38
  219. package/dist/components/molecules/select/option/index.js +0 -3
  220. package/dist/components/molecules/switch/Switch.js +0 -68
  221. package/dist/components/molecules/switch/index.js +0 -3
  222. package/dist/components/molecules/text-input/TextInput.js +0 -7
  223. package/dist/components/molecules/text-input/index.js +0 -3
  224. package/dist/components/organisms/dialog/Dialog.js +0 -32
  225. package/dist/components/organisms/dialog/index.js +0 -3
  226. package/dist/components/organisms/form/Form.js +0 -48
  227. package/dist/components/organisms/form/index.js +0 -3
  228. package/dist/components/organisms/grid/Grid.js +0 -60
  229. package/dist/components/organisms/grid/body/GridBody.js +0 -31
  230. package/dist/components/organisms/grid/checkbox/GridCheckbox.js +0 -52
  231. package/dist/components/organisms/grid/column-group/GridColumnGroup.js +0 -26
  232. package/dist/components/organisms/grid/grid-row/GridRow.js +0 -35
  233. package/dist/components/organisms/grid/grid-row/index.js +0 -3
  234. package/dist/components/organisms/grid/head/GridHead.js +0 -35
  235. package/dist/components/organisms/grid/index.js +0 -3
  236. package/dist/components/organisms/menu/Menu.js +0 -22
  237. package/dist/components/organisms/menu/index.js +0 -3
  238. package/dist/components/organisms/menu/leaf/MenuLeaf.js +0 -28
  239. package/dist/components/organisms/menu/list-item/MenuListItem.js +0 -35
  240. package/dist/components/organisms/menu/sub-menu/SubMenu.js +0 -67
  241. package/dist/components/organisms/menu/sub-menu/index.js +0 -3
  242. package/dist/components/organisms/tabs/Tabs.js +0 -80
  243. package/dist/components/organisms/tabs/button/TabButton.js +0 -111
  244. package/dist/components/organisms/tabs/content/TabContent.js +0 -19
  245. package/dist/components/organisms/tabs/edit-input/TabEditInput.js +0 -64
  246. package/dist/components/organisms/tabs/index.js +0 -3
  247. package/dist/components/organisms/tabs/list/TabList.js +0 -67
@@ -1,37 +1,33 @@
1
- import { useState as i, useContext as I, useRef as p, useCallback as M } from "react";
2
- import { getMultiSelectInitialValues as v, getMultiSelectFormValues as f, getMultiSelectUpdatedValues as x } from "./MultiSelect.helpers.js";
3
- import { FormContext as O } from "../../contexts/form/FormContext.js";
4
- import { useResetFormInput as b } from "../../../hooks/use-reset-form-input/use-reset-form-input.js";
5
- function j({
6
- name: e,
7
- defaultValue: m,
8
- onChange: d,
9
- options: g
10
- }) {
11
- const [u, t] = i(!1), { onChangeFormInput: n, initialValues: C } = I(O), o = v({
12
- name: e,
13
- options: g,
14
- initialValues: C,
15
- defaultValue: m
16
- }), [r, a] = i(o), c = p(n), l = p(o);
17
- c.current = n, l.current = o;
18
- const h = () => t(!1), S = () => t(!u), V = (R) => {
19
- const s = x(r, R);
20
- a(s), d?.(s), n?.({ name: e, value: f(s) });
21
- }, F = M(() => {
22
- t(!1), a(l.current), c.current?.({
23
- name: e,
24
- value: f(l.current)
25
- });
26
- }, [e]);
27
- return b(F), {
28
- handleClose: h,
29
- handleToggle: S,
30
- handleSelect: V,
31
- opened: u,
32
- values: r
33
- };
1
+ import { FormContext as e } from "../../contexts/form/FormContext.js";
2
+ import { useResetFormInput as t } from "../../../hooks/use-reset-form-input/use-reset-form-input.js";
3
+ import { getMultiSelectFormValues as n, getMultiSelectInitialValues as r, getMultiSelectUpdatedValues as i } from "./MultiSelect.helpers.js";
4
+ import { useCallback as a, useContext as o, useRef as s, useState as c } from "react";
5
+ //#region src/components/molecules/multi-select/MultiSelect.controller.ts
6
+ function l({ name: l, defaultValue: u, onChange: d, options: f }) {
7
+ let [p, m] = c(!1), { onChangeFormInput: h, initialValues: g } = o(e), _ = r({
8
+ name: l,
9
+ options: f,
10
+ initialValues: g,
11
+ defaultValue: u
12
+ }), [v, y] = c(_), b = s(h), x = s(_);
13
+ return b.current = h, x.current = _, t(a(() => {
14
+ m(!1), y(x.current), b.current?.({
15
+ name: l,
16
+ value: n(x.current)
17
+ });
18
+ }, [l])), {
19
+ handleClose: () => m(!1),
20
+ handleToggle: () => m(!p),
21
+ handleSelect: (e) => {
22
+ let t = i(v, e);
23
+ y(t), d?.(t), h?.({
24
+ name: l,
25
+ value: n(t)
26
+ });
27
+ },
28
+ opened: p,
29
+ values: v
30
+ };
34
31
  }
35
- export {
36
- j as useMultiSelectController
37
- };
32
+ //#endregion
33
+ export { l as useMultiSelectController };
@@ -1,22 +1,19 @@
1
- function u({
2
- name: e,
3
- options: t,
4
- initialValues: d,
5
- defaultValue: r
6
- }) {
7
- return t.map((c) => {
8
- let l = !1;
9
- return d?.[e] && Array.isArray(d[e]) && d[e].find(
10
- (s) => s === c.id || s?.id === c.id
11
- ) && (l = !0), !d?.[e] && Array.isArray(r) && r.find((s) => s === c.id) && (l = !0), { ...c, selected: l };
12
- });
1
+ //#region src/components/molecules/multi-select/MultiSelect.helpers.ts
2
+ function e({ name: e, options: t, initialValues: n, defaultValue: r }) {
3
+ return t.map((t) => {
4
+ let i = !1;
5
+ return n?.[e] && Array.isArray(n[e]) && n[e].find((e) => e === t.id || e?.id === t.id) && (i = !0), !n?.[e] && Array.isArray(r) && r.find((e) => e === t.id) && (i = !0), {
6
+ ...t,
7
+ selected: i
8
+ };
9
+ });
13
10
  }
14
- const i = (e) => e.filter((t) => t.selected).map((t) => t.id), n = (e, t) => {
15
- const d = e.find((r) => r.id === t);
16
- return e.map((r) => r.id === t ? { ...r, selected: !d?.selected } : r);
17
- };
18
- export {
19
- i as getMultiSelectFormValues,
20
- u as getMultiSelectInitialValues,
21
- n as getMultiSelectUpdatedValues
11
+ var t = (e) => e.filter((e) => e.selected).map((e) => e.id), n = (e, t) => {
12
+ let n = e.find((e) => e.id === t);
13
+ return e.map((e) => e.id === t ? {
14
+ ...e,
15
+ selected: !n?.selected
16
+ } : e);
22
17
  };
18
+ //#endregion
19
+ export { t as getMultiSelectFormValues, e as getMultiSelectInitialValues, n as getMultiSelectUpdatedValues };
@@ -1,61 +1,60 @@
1
- import { jsxs as k, jsx as t } from "react/jsx-runtime";
2
- import { getClassName as M } from "../../../utils/get-class-name.js";
3
- import { useRef as g } from "react";
4
- import '../select/Select.css';/* empty css */
5
- import { MultiSelectCombobox as y } from "./MultiSelect.Combobox.js";
6
- import { useMultiSelectController as N } from "./MultiSelect.controller.js";
7
- import { MultiSelectDropdown as j } from "./MultiSelect.Dropdown.js";
8
- import { useElementIds as v } from "../../../hooks/use-element-ids/use-element-ids.js";
9
- import { useClickOutside as w } from "../../../hooks/use-click-outside/use-click-outside.js";
10
- import { useKeyPress as E } from "../../../hooks/use-key-press/use-key-press.js";
11
- import K from "../../atoms/label/Label.js";
12
- const G = ({
13
- options: p,
14
- name: l,
15
- label: d,
16
- required: s = !1,
17
- placeholder: u = "Not selected",
18
- disabled: r = !1,
19
- onChange: f,
20
- defaultValue: a,
21
- id: C,
22
- className: S,
23
- ...x
24
- }) => {
25
- const e = g(null), { elementId: m, dropdownId: n } = v(C), { handleClose: o, handleSelect: I, handleToggle: b, opened: i, values: c } = N({
26
- name: l,
27
- options: p,
28
- defaultValue: a,
29
- onChange: f
30
- }), h = M(["cl-select", S]);
31
- return w({ ref: e, onClickOutsideHandler: o }), E({ keyCode: "Escape", ref: e, onKeyPress: o }), /* @__PURE__ */ k("div", { ref: e, ...x, className: h, children: [
32
- /* @__PURE__ */ t(K, { label: d, required: s, inputId: m, disabled: r }),
33
- /* @__PURE__ */ t(
34
- y,
35
- {
36
- name: l,
37
- opened: i,
38
- comboboxId: m,
39
- dropdownId: n,
40
- onClick: b,
41
- values: c,
42
- placeholder: u,
43
- disabled: r,
44
- required: s
45
- }
46
- ),
47
- /* @__PURE__ */ t(
48
- j,
49
- {
50
- options: c,
51
- opened: i,
52
- onClose: o,
53
- dropdownId: n,
54
- onSelect: I
55
- }
56
- )
57
- ] });
58
- };
59
- export {
60
- G as default
1
+ import { getClassName as e } from "../../../utils/get-class-name.js";
2
+ import t from "../../atoms/label/Label2.js";
3
+ import { useClickOutside as n } from "../../../hooks/use-click-outside/use-click-outside.js";
4
+ import { useElementIds as r } from "../../../hooks/use-element-ids/use-element-ids.js";
5
+ import { useKeyPress as i } from "../../../hooks/use-key-press/use-key-press.js";
6
+ import '../select/Select.css';/* empty css */
7
+ import { MultiSelectCombobox as a } from "./MultiSelect.Combobox.js";
8
+ import { useMultiSelectController as o } from "./MultiSelect.controller.js";
9
+ import { MultiSelectDropdown as s } from "./MultiSelect.Dropdown.js";
10
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
11
+ import { useRef as u } from "react";
12
+ //#region src/components/molecules/multi-select/MultiSelect.tsx
13
+ var d = ({ options: d, name: f, label: p, required: m = !1, placeholder: h = "Not selected", disabled: g = !1, onChange: _, defaultValue: v, id: y, className: b, ...x }) => {
14
+ let S = u(null), { elementId: C, dropdownId: w } = r(y), { handleClose: T, handleSelect: E, handleToggle: D, opened: O, values: k } = o({
15
+ name: f,
16
+ options: d,
17
+ defaultValue: v,
18
+ onChange: _
19
+ }), A = e(["cl-select", b]);
20
+ return n({
21
+ ref: S,
22
+ onClickOutsideHandler: T
23
+ }), i({
24
+ keyCode: "Escape",
25
+ ref: S,
26
+ onKeyPress: T
27
+ }), /* @__PURE__ */ l("div", {
28
+ ref: S,
29
+ ...x,
30
+ className: A,
31
+ children: [
32
+ /* @__PURE__ */ c(t, {
33
+ label: p,
34
+ required: m,
35
+ inputId: C,
36
+ disabled: g
37
+ }),
38
+ /* @__PURE__ */ c(a, {
39
+ name: f,
40
+ opened: O,
41
+ comboboxId: C,
42
+ dropdownId: w,
43
+ onClick: D,
44
+ values: k,
45
+ placeholder: h,
46
+ disabled: g,
47
+ required: m
48
+ }),
49
+ /* @__PURE__ */ c(s, {
50
+ options: k,
51
+ opened: O,
52
+ onClose: T,
53
+ dropdownId: w,
54
+ onSelect: E
55
+ })
56
+ ]
57
+ });
61
58
  };
59
+ //#endregion
60
+ export { d as default };
@@ -1,8 +1,8 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- const o = ({ values: l, placeholder: s }) => {
3
- const e = l ? l.filter((n) => n.selected).map((n) => n.label) : [], c = e.length !== 0 && e.length === l?.length, r = e.length === 1, i = e.length > 1;
4
- return c ? /* @__PURE__ */ t("span", { children: "All items selected" }) : r ? /* @__PURE__ */ t("span", { children: e[0] }) : i ? /* @__PURE__ */ t("span", { children: `${e.length} items selected` }) : /* @__PURE__ */ t("span", { children: s });
5
- };
6
- export {
7
- o as MultiSelectComboboxSelectedValues
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ //#region src/components/molecules/multi-select/MultiSelectComboboxSelectedValues.tsx
3
+ var t = ({ values: t, placeholder: n }) => {
4
+ let r = t ? t.filter((e) => e.selected).map((e) => e.label) : [], i = r.length !== 0 && r.length === t?.length, a = r.length === 1, o = r.length > 1;
5
+ return i ? /* @__PURE__ */ e("span", { children: "All items selected" }) : a ? /* @__PURE__ */ e("span", { children: r[0] }) : o ? /* @__PURE__ */ e("span", { children: `${r.length} items selected` }) : /* @__PURE__ */ e("span", { children: n });
8
6
  };
7
+ //#endregion
8
+ export { t as MultiSelectComboboxSelectedValues };
@@ -1,40 +1,41 @@
1
- import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
- import { getClassName as f } from "../../../utils/get-class-name.js";
3
- import '../select/option/Option.css';/* empty css */
4
- import a from "../../atoms/icon/Icon.js";
5
- import { ElementSize as s } from "../../../enums/element-size.js";
6
- import { IconName as c } from "../../../enums/icon-name.js";
7
- const C = ({ value: i, onSelect: l }) => {
8
- const { id: e, label: r, selected: o } = i, m = f([
9
- "cl-select-option",
10
- "cl-select-option_multi",
11
- { "cl-select-option_selected": o }
12
- ]);
13
- return /* @__PURE__ */ d(
14
- "li",
15
- {
16
- id: e,
17
- role: "option",
18
- "aria-selected": o,
19
- tabIndex: 0,
20
- onKeyDown: ((p) => (n) => {
21
- switch (n.key) {
22
- case " ":
23
- case "SpaceBar":
24
- case "Enter":
25
- n.preventDefault(), l(p);
26
- break;
27
- }
28
- })(e),
29
- onClick: () => l(e),
30
- className: m,
31
- children: [
32
- o ? /* @__PURE__ */ t(a, { name: c.CheckSquare, size: s.Small }) : /* @__PURE__ */ t(a, { name: c.Square, size: s.Small }),
33
- /* @__PURE__ */ t("span", { children: r })
34
- ]
35
- }
36
- );
37
- };
38
- export {
39
- C as MultiSelectOption
1
+ import { getClassName as e } from "../../../utils/get-class-name.js";
2
+ import { ElementSize as t } from "../../../enums/element-size.js";
3
+ import { IconName as n } from "../../../enums/icon-name.js";
4
+ import r from "../../atoms/icon/Icon2.js";
5
+ import '../select/option/Option.css';/* empty css */
6
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
7
+ //#region src/components/molecules/multi-select/Option.tsx
8
+ var o = ({ value: o, onSelect: s }) => {
9
+ let { id: c, label: l, selected: u } = o, d = e([
10
+ "cl-select-option",
11
+ "cl-select-option_multi",
12
+ { "cl-select-option_selected": u }
13
+ ]), f = (e) => (t) => {
14
+ switch (t.key) {
15
+ case " ":
16
+ case "SpaceBar":
17
+ case "Enter":
18
+ t.preventDefault(), s(e);
19
+ break;
20
+ default: break;
21
+ }
22
+ };
23
+ return /* @__PURE__ */ a("li", {
24
+ id: c,
25
+ role: "option",
26
+ "aria-selected": u,
27
+ tabIndex: 0,
28
+ onKeyDown: f(c),
29
+ onClick: () => s(c),
30
+ className: d,
31
+ children: [u ? /* @__PURE__ */ i(r, {
32
+ name: n.CheckSquare,
33
+ size: t.Small
34
+ }) : /* @__PURE__ */ i(r, {
35
+ name: n.Square,
36
+ size: t.Small
37
+ }), /* @__PURE__ */ i("span", { children: l })]
38
+ });
40
39
  };
40
+ //#endregion
41
+ export { o as MultiSelectOption };
@@ -1,45 +1,51 @@
1
- import { useContext as G, useState as V, useRef as f, useCallback as M } from "react";
2
- import { getNumericInputInitialValue as T, validateNumericInputValue as k } from "./NumericInput.helpers.js";
3
- import { FormContext as D } from "../../contexts/form/FormContext.js";
4
- import { useResetFormInput as X } from "../../../hooks/use-reset-form-input/use-reset-form-input.js";
5
- function z({
6
- name: t,
7
- defaultValue: v,
8
- onChange: h,
9
- onDecrement: C,
10
- onIncrement: R,
11
- min: c,
12
- max: i,
13
- step: s,
14
- required: b,
15
- validator: E
16
- }) {
17
- const { onChangeFormInput: u, initialValues: F } = G(D), r = T({ initialValues: F, defaultValue: v, name: t }), m = i ? Number(i) : Number.MAX_SAFE_INTEGER, d = c ? Number(c) : Number.MIN_SAFE_INTEGER, [o, p] = V(r), [g, I] = V(!0), N = f(u), a = f(r);
18
- N.current = u, a.current = r;
19
- const l = (e) => {
20
- p(e);
21
- const n = k({ value: e, required: b, validator: E, maxValue: m, minValue: d });
22
- I(n), u?.({ name: t, value: e, valid: n });
23
- }, _ = (e) => {
24
- const n = Number(e.target.value);
25
- l(n), h?.(e);
26
- }, x = () => {
27
- l(o + s), R?.();
28
- }, A = () => {
29
- l(o - s), C?.();
30
- }, S = M(() => {
31
- p(a.current), I(!0), N.current?.({ name: t, value: a.current, valid: !0 });
32
- }, [t]);
33
- return X(S), {
34
- handleChange: _,
35
- value: o,
36
- valid: g,
37
- minValue: d,
38
- maxValue: m,
39
- handleIncrement: x,
40
- handleDecrement: A
41
- };
1
+ import { FormContext as e } from "../../contexts/form/FormContext.js";
2
+ import { useResetFormInput as t } from "../../../hooks/use-reset-form-input/use-reset-form-input.js";
3
+ import { getNumericInputInitialValue as n, validateNumericInputValue as r } from "./NumericInput.helpers.js";
4
+ import { useCallback as i, useContext as a, useRef as o, useState as s } from "react";
5
+ //#region src/components/molecules/numeric-input/NumericInput.controller.ts
6
+ function c({ name: c, defaultValue: l, onChange: u, onDecrement: d, onIncrement: f, min: p, max: m, step: h, required: g, validator: _ }) {
7
+ let { onChangeFormInput: v, initialValues: y } = a(e), b = n({
8
+ initialValues: y,
9
+ defaultValue: l,
10
+ name: c
11
+ }), x = m ? Number(m) : 2 ** 53 - 1, S = p ? Number(p) : -(2 ** 53 - 1), [C, w] = s(b), [T, E] = s(!0), D = o(v), O = o(b);
12
+ D.current = v, O.current = b;
13
+ let k = (e) => {
14
+ w(e);
15
+ let t = r({
16
+ value: e,
17
+ required: g,
18
+ validator: _,
19
+ maxValue: x,
20
+ minValue: S
21
+ });
22
+ E(t), v?.({
23
+ name: c,
24
+ value: e,
25
+ valid: t
26
+ });
27
+ };
28
+ return t(i(() => {
29
+ w(O.current), E(!0), D.current?.({
30
+ name: c,
31
+ value: O.current,
32
+ valid: !0
33
+ });
34
+ }, [c])), {
35
+ handleChange: (e) => {
36
+ k(Number(e.target.value)), u?.(e);
37
+ },
38
+ value: C,
39
+ valid: T,
40
+ minValue: S,
41
+ maxValue: x,
42
+ handleIncrement: () => {
43
+ k(C + h), f?.();
44
+ },
45
+ handleDecrement: () => {
46
+ k(C - h), d?.();
47
+ }
48
+ };
42
49
  }
43
- export {
44
- z as useNumericInputController
45
- };
50
+ //#endregion
51
+ export { c as useNumericInputController };
@@ -1 +1 @@
1
- .cl-numeric-input{display:flex;flex-direction:column;gap:var(--cl-m-gap);width:100%}.cl-numeric-input__error-message{position:absolute;right:0;top:44px}@media screen and (min-width:640px){.cl-numeric-input__error-message{top:48px}}@media screen and (min-width:1024px){.cl-numeric-input__error-message{top:52px}}
1
+ .cl-numeric-input{gap:var(--cl-m-gap);flex-direction:column;width:100%;display:flex}.cl-numeric-input__error-message{position:absolute;top:44px;right:0}@media screen and (width>=640px){.cl-numeric-input__error-message{top:48px}}@media screen and (width>=1024px){.cl-numeric-input__error-message{top:52px}}
@@ -1,20 +1,9 @@
1
- function u({
2
- name: n,
3
- initialValues: t,
4
- defaultValue: r
5
- }) {
6
- return t?.[n] ? Number(t[n]) : r && typeof r == "number" ? r : 0;
1
+ //#region src/components/molecules/numeric-input/NumericInput.helpers.ts
2
+ function e({ name: e, initialValues: t, defaultValue: n }) {
3
+ return t?.[e] ? Number(t[e]) : n && typeof n == "number" ? n : 0;
7
4
  }
8
- function i({
9
- value: n,
10
- required: t,
11
- validator: r,
12
- maxValue: f,
13
- minValue: e
14
- }) {
15
- return t && !r && n === void 0 ? !1 : r && typeof r == "function" ? r(n) : f && e && n && !r ? n <= f && n >= e : !0;
5
+ function t({ value: e, required: t, validator: n, maxValue: r, minValue: i }) {
6
+ return t && !n && e === void 0 ? !1 : n && typeof n == "function" ? n(e) : r && i && e && !n ? e <= r && e >= i : !0;
16
7
  }
17
- export {
18
- u as getNumericInputInitialValue,
19
- i as validateNumericInputValue
20
- };
8
+ //#endregion
9
+ export { e as getNumericInputInitialValue, t as validateNumericInputValue };
@@ -0,0 +1,7 @@
1
+ import e from "./NumericInputStateful.js";
2
+ import t from "./NumericInputStateless.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/molecules/numeric-input/NumericInput.tsx
5
+ var r = (r) => r.stateless ? /* @__PURE__ */ n(t, { ...r }) : /* @__PURE__ */ n(e, { ...r });
6
+ //#endregion
7
+ export { r as default };