chop-logic-components 4.0.1 → 4.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 (250) hide show
  1. package/README.md +16 -7
  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 +25 -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-error-boundary/index.js +2 -0
  44. package/dist/components/hocs/with-error-boundary/with-error-boundary.js +32 -0
  45. package/dist/components/hocs/with-figure-caption/Figure.css +1 -1
  46. package/dist/components/hocs/with-figure-caption/with-figure-caption.js +13 -10
  47. package/dist/components/hocs/with-tooltip/with-tooltip.js +10 -6
  48. package/dist/components/molecules/accordion/Accordion.css +1 -1
  49. package/dist/components/molecules/accordion/Accordion2.js +11 -0
  50. package/dist/components/molecules/accordion/AccordionItem.css +1 -1
  51. package/dist/components/molecules/accordion/AccordionItem2.js +24 -0
  52. package/dist/components/molecules/alert/Alert.css +1 -1
  53. package/dist/components/molecules/alert/Alert.helpers.js +24 -38
  54. package/dist/components/molecules/alert/Alert2.js +63 -0
  55. package/dist/components/molecules/alert/AlertProgressBar.js +10 -13
  56. package/dist/components/molecules/breadcrumbs/BreadcrumbItem.js +29 -27
  57. package/dist/components/molecules/breadcrumbs/BreadcrumbList.js +12 -6
  58. package/dist/components/molecules/breadcrumbs/Breadcrumbs.css +1 -1
  59. package/dist/components/molecules/breadcrumbs/Breadcrumbs2.js +20 -0
  60. package/dist/components/molecules/checkbox/Checkbox.controller.js +28 -24
  61. package/dist/components/molecules/checkbox/Checkbox.css +1 -1
  62. package/dist/components/molecules/checkbox/Checkbox.helpers.js +5 -9
  63. package/dist/components/molecules/checkbox/Checkbox2.js +7 -0
  64. package/dist/components/molecules/checkbox/CheckboxStateful.js +46 -59
  65. package/dist/components/molecules/checkbox/CheckboxStateless.js +41 -58
  66. package/dist/components/molecules/multi-select/MultiSelect.Combobox.js +34 -46
  67. package/dist/components/molecules/multi-select/MultiSelect.Dropdown.js +22 -30
  68. package/dist/components/molecules/multi-select/MultiSelect.controller.js +32 -36
  69. package/dist/components/molecules/multi-select/MultiSelect.helpers.js +17 -20
  70. package/dist/components/molecules/multi-select/MultiSelect.js +59 -60
  71. package/dist/components/molecules/multi-select/MultiSelectComboboxSelectedValues.js +7 -7
  72. package/dist/components/molecules/multi-select/Option.js +40 -39
  73. package/dist/components/molecules/numeric-input/NumericInput.controller.js +50 -44
  74. package/dist/components/molecules/numeric-input/NumericInput.css +1 -1
  75. package/dist/components/molecules/numeric-input/NumericInput.helpers.js +7 -18
  76. package/dist/components/molecules/numeric-input/NumericInput2.js +7 -0
  77. package/dist/components/molecules/numeric-input/NumericInputStateful.js +72 -107
  78. package/dist/components/molecules/numeric-input/NumericInputStateless.js +60 -95
  79. package/dist/components/molecules/search/Search.controller.js +31 -41
  80. package/dist/components/molecules/search/Search.css +1 -1
  81. package/dist/components/molecules/search/Search2.js +67 -0
  82. package/dist/components/molecules/select/Select.controller.js +35 -31
  83. package/dist/components/molecules/select/Select.css +1 -1
  84. package/dist/components/molecules/select/Select.helpers.js +10 -15
  85. package/dist/components/molecules/select/Select2.js +62 -0
  86. package/dist/components/molecules/select/combobox/Combobox.css +1 -1
  87. package/dist/components/molecules/select/combobox/Combobox2.js +31 -0
  88. package/dist/components/molecules/select/dropdown/Dropdown.css +1 -1
  89. package/dist/components/molecules/select/dropdown/Dropdown2.js +31 -0
  90. package/dist/components/molecules/select/option/Option.css +1 -1
  91. package/dist/components/molecules/select/option/Option2.js +36 -0
  92. package/dist/components/molecules/switch/Switch.controller.js +32 -32
  93. package/dist/components/molecules/switch/Switch.css +1 -1
  94. package/dist/components/molecules/switch/Switch.helpers.js +5 -9
  95. package/dist/components/molecules/switch/Switch2.js +58 -0
  96. package/dist/components/molecules/text-input/TextInput.controller.js +46 -35
  97. package/dist/components/molecules/text-input/TextInput.css +1 -1
  98. package/dist/components/molecules/text-input/TextInput.helpers.js +7 -16
  99. package/dist/components/molecules/text-input/TextInput2.js +7 -0
  100. package/dist/components/molecules/text-input/TextInputButtons.js +20 -37
  101. package/dist/components/molecules/text-input/TextInputStateful.js +62 -91
  102. package/dist/components/molecules/text-input/TextInputStateless.js +59 -88
  103. package/dist/components/organisms/dialog/Dialog.css +1 -1
  104. package/dist/components/organisms/dialog/Dialog2.js +50 -0
  105. package/dist/components/organisms/form/Form.controller.js +28 -28
  106. package/dist/components/organisms/form/Form.css +1 -1
  107. package/dist/components/organisms/form/Form.helpers.js +9 -11
  108. package/dist/components/organisms/form/Form2.js +52 -0
  109. package/dist/components/organisms/grid/Grid.controller.js +27 -33
  110. package/dist/components/organisms/grid/Grid.css +1 -1
  111. package/dist/components/organisms/grid/Grid.helpers.js +13 -14
  112. package/dist/components/organisms/grid/Grid2.js +52 -0
  113. package/dist/components/organisms/grid/body/GridBody.css +1 -1
  114. package/dist/components/organisms/grid/body/GridBody2.js +26 -0
  115. package/dist/components/organisms/grid/checkbox/GridCheckbox.css +1 -1
  116. package/dist/components/organisms/grid/checkbox/GridCheckbox2.js +35 -0
  117. package/dist/components/organisms/grid/column-group/GridColumnGroup2.js +14 -0
  118. package/dist/components/organisms/grid/data-cell/GridDataCell.js +5 -5
  119. package/dist/components/organisms/grid/grid-row/GridRow2.js +24 -0
  120. package/dist/components/organisms/grid/head/GridHead.css +1 -1
  121. package/dist/components/organisms/grid/head/GridHead2.js +23 -0
  122. package/dist/components/organisms/grid/header-cell/HeaderCell.js +5 -8
  123. package/dist/components/organisms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.js +15 -24
  124. package/dist/components/organisms/grid/select-grid-row-cell/SelectGridRowCell.js +14 -23
  125. package/dist/components/organisms/menu/Menu.css +1 -1
  126. package/dist/components/organisms/menu/Menu2.js +24 -0
  127. package/dist/components/organisms/menu/leaf/MenuLeaf.css +1 -1
  128. package/dist/components/organisms/menu/leaf/MenuLeaf2.js +31 -0
  129. package/dist/components/organisms/menu/list-item/MenuListItem.css +1 -1
  130. package/dist/components/organisms/menu/list-item/MenuListItem2.js +38 -0
  131. package/dist/components/organisms/menu/sub-menu/SubMenu.css +1 -1
  132. package/dist/components/organisms/menu/sub-menu/SubMenu2.js +56 -0
  133. package/dist/components/organisms/tabs/Tabs.css +1 -1
  134. package/dist/components/organisms/tabs/Tabs2.js +60 -0
  135. package/dist/components/organisms/tabs/button/TabButton.css +1 -1
  136. package/dist/components/organisms/tabs/button/TabButton2.js +83 -0
  137. package/dist/components/organisms/tabs/content/TabContent.css +1 -1
  138. package/dist/components/organisms/tabs/content/TabContent2.js +16 -0
  139. package/dist/components/organisms/tabs/edit-input/TabEditInput.css +1 -1
  140. package/dist/components/organisms/tabs/edit-input/TabEditInput2.js +45 -0
  141. package/dist/components/organisms/tabs/list/TabList.css +1 -1
  142. package/dist/components/organisms/tabs/list/TabList2.js +51 -0
  143. package/dist/enums/alert-mode.js +6 -4
  144. package/dist/enums/button-view.js +6 -4
  145. package/dist/enums/element-size.js +6 -4
  146. package/dist/enums/icon-name.js +6 -4
  147. package/dist/enums/loader-view.js +6 -4
  148. package/dist/enums/orientation-mode.js +6 -4
  149. package/dist/enums/semantic-color.js +6 -4
  150. package/dist/enums/tooltip-container.js +6 -4
  151. package/dist/hooks/use-auto-close/use-auto-close.js +17 -17
  152. package/dist/hooks/use-click-outside/use-click-outside.js +18 -18
  153. package/dist/hooks/use-container-dimensions/use-container-dimensions.js +15 -15
  154. package/dist/hooks/use-debounce/use-debounce.js +14 -14
  155. package/dist/hooks/use-element-ids/use-element-ids.js +11 -11
  156. package/dist/hooks/use-is-hovered/use-is-hovered.js +14 -14
  157. package/dist/hooks/use-is-mounted/use-is-mounted.js +14 -14
  158. package/dist/hooks/use-is-overflow/use-is-overflow.js +26 -26
  159. package/dist/hooks/use-key-press/use-key-press.js +17 -13
  160. package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.js +15 -19
  161. package/dist/hooks/use-remaining-timer/use-remaining-timer.js +35 -37
  162. package/dist/hooks/use-reset-form-input/use-reset-form-input.js +10 -10
  163. package/dist/hooks/use-theme/use-theme.js +6 -6
  164. package/dist/hooks/use-tooltip-position/use-tooltip-position.js +36 -30
  165. package/dist/hooks/use-window-dimensions/use-window-dimensions.js +18 -15
  166. package/dist/index.d.ts +7 -0
  167. package/dist/index.es.js +56 -112
  168. package/dist/styles/icons.css +1 -1
  169. package/dist/styles/main.css +1 -1
  170. package/dist/utils/get-class-name.js +13 -15
  171. package/dist/utils/handle-dropdown-list-key-press.js +26 -31
  172. package/dist/utils/move-focus-on-element-by-id.js +6 -6
  173. package/package.json +20 -22
  174. package/dist/components/atoms/button/Button.js +0 -66
  175. package/dist/components/atoms/button/icon-button/IconButton.js +0 -15
  176. package/dist/components/atoms/button/icon-button/index.js +0 -3
  177. package/dist/components/atoms/button/index.js +0 -3
  178. package/dist/components/atoms/button/inner-button/InnerButton.js +0 -28
  179. package/dist/components/atoms/button/inner-button/index.js +0 -3
  180. package/dist/components/atoms/button/primary-button/PrimaryButton.js +0 -18
  181. package/dist/components/atoms/button/primary-button/index.js +0 -3
  182. package/dist/components/atoms/button/secondary-button/SecondaryButton.js +0 -18
  183. package/dist/components/atoms/button/secondary-button/index.js +0 -3
  184. package/dist/components/atoms/editable-text/EditableText.js +0 -71
  185. package/dist/components/atoms/editable-text/index.js +0 -3
  186. package/dist/components/atoms/error-message/ErrorMessage.js +0 -30
  187. package/dist/components/atoms/error-message/index.js +0 -3
  188. package/dist/components/atoms/header/Header.js +0 -22
  189. package/dist/components/atoms/header/index.js +0 -3
  190. package/dist/components/atoms/icon/Icon.js +0 -31
  191. package/dist/components/atoms/icon/index.js +0 -3
  192. package/dist/components/atoms/image/Image.js +0 -24
  193. package/dist/components/atoms/image/index.js +0 -3
  194. package/dist/components/atoms/input/Input.js +0 -10
  195. package/dist/components/atoms/input/index.js +0 -3
  196. package/dist/components/atoms/label/Label.js +0 -30
  197. package/dist/components/atoms/label/index.js +0 -3
  198. package/dist/components/atoms/link/Link.js +0 -39
  199. package/dist/components/atoms/link/index.js +0 -3
  200. package/dist/components/atoms/tooltip/Tooltip.js +0 -70
  201. package/dist/components/atoms/tooltip/index.js +0 -3
  202. package/dist/components/molecules/accordion/Accordion.js +0 -11
  203. package/dist/components/molecules/accordion/AccordionItem.js +0 -24
  204. package/dist/components/molecules/accordion/index.js +0 -3
  205. package/dist/components/molecules/alert/Alert.js +0 -60
  206. package/dist/components/molecules/alert/index.js +0 -3
  207. package/dist/components/molecules/breadcrumbs/Breadcrumbs.js +0 -31
  208. package/dist/components/molecules/breadcrumbs/index.js +0 -3
  209. package/dist/components/molecules/checkbox/Checkbox.js +0 -7
  210. package/dist/components/molecules/checkbox/index.js +0 -3
  211. package/dist/components/molecules/numeric-input/NumericInput.js +0 -7
  212. package/dist/components/molecules/numeric-input/index.js +0 -3
  213. package/dist/components/molecules/search/Search.js +0 -112
  214. package/dist/components/molecules/search/index.js +0 -3
  215. package/dist/components/molecules/select/Select.js +0 -64
  216. package/dist/components/molecules/select/combobox/Combobox.js +0 -46
  217. package/dist/components/molecules/select/combobox/index.js +0 -3
  218. package/dist/components/molecules/select/dropdown/Dropdown.js +0 -46
  219. package/dist/components/molecules/select/dropdown/index.js +0 -3
  220. package/dist/components/molecules/select/index.js +0 -3
  221. package/dist/components/molecules/select/option/Option.js +0 -38
  222. package/dist/components/molecules/select/option/index.js +0 -3
  223. package/dist/components/molecules/switch/Switch.js +0 -68
  224. package/dist/components/molecules/switch/index.js +0 -3
  225. package/dist/components/molecules/text-input/TextInput.js +0 -7
  226. package/dist/components/molecules/text-input/index.js +0 -3
  227. package/dist/components/organisms/dialog/Dialog.js +0 -32
  228. package/dist/components/organisms/dialog/index.js +0 -3
  229. package/dist/components/organisms/form/Form.js +0 -48
  230. package/dist/components/organisms/form/index.js +0 -3
  231. package/dist/components/organisms/grid/Grid.js +0 -60
  232. package/dist/components/organisms/grid/body/GridBody.js +0 -31
  233. package/dist/components/organisms/grid/checkbox/GridCheckbox.js +0 -52
  234. package/dist/components/organisms/grid/column-group/GridColumnGroup.js +0 -26
  235. package/dist/components/organisms/grid/grid-row/GridRow.js +0 -35
  236. package/dist/components/organisms/grid/grid-row/index.js +0 -3
  237. package/dist/components/organisms/grid/head/GridHead.js +0 -35
  238. package/dist/components/organisms/grid/index.js +0 -3
  239. package/dist/components/organisms/menu/Menu.js +0 -22
  240. package/dist/components/organisms/menu/index.js +0 -3
  241. package/dist/components/organisms/menu/leaf/MenuLeaf.js +0 -28
  242. package/dist/components/organisms/menu/list-item/MenuListItem.js +0 -35
  243. package/dist/components/organisms/menu/sub-menu/SubMenu.js +0 -67
  244. package/dist/components/organisms/menu/sub-menu/index.js +0 -3
  245. package/dist/components/organisms/tabs/Tabs.js +0 -80
  246. package/dist/components/organisms/tabs/button/TabButton.js +0 -111
  247. package/dist/components/organisms/tabs/content/TabContent.js +0 -19
  248. package/dist/components/organisms/tabs/edit-input/TabEditInput.js +0 -64
  249. package/dist/components/organisms/tabs/index.js +0 -3
  250. package/dist/components/organisms/tabs/list/TabList.js +0 -67
@@ -1,108 +1,73 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { getClassName as R } from "../../../utils/get-class-name.js";
3
- import c from "../../atoms/button/Button.js";
4
- import { useNumericInputController as z } from "./NumericInput.controller.js";
5
- import './NumericInput.css';/* empty css */
6
- import { useElementIds as A } from "../../../hooks/use-element-ids/use-element-ids.js";
7
- import F from "../../atoms/label/Label.js";
8
- import G from "../../atoms/input/Input.js";
9
- import { IconName as u } from "../../../enums/icon-name.js";
10
- import { ButtonView as p } from "../../../enums/button-view.js";
11
- import H from "../../atoms/error-message/ErrorMessage.js";
12
- const q = ({
13
- name: m,
14
- label: r,
15
- errorMessage: f,
16
- onChange: h,
17
- onBlur: v,
18
- onFocus: I,
19
- onIncrement: d,
20
- onDecrement: g,
21
- validator: C,
22
- min: N,
23
- max: x,
24
- id: w,
25
- tabIndex: V,
26
- disabled: n = !1,
27
- required: o = !1,
28
- readOnly: j = !1,
29
- hasSpinButtons: k = !0,
30
- defaultValue: B = 0,
31
- step: i = 1,
32
- className: D,
33
- style: E
34
- }) => {
35
- const { elementId: a, errorId: l } = A(w), { value: L, valid: s, handleChange: S, handleDecrement: _, handleIncrement: $, minValue: b, maxValue: y } = z({
36
- name: m,
37
- defaultValue: B,
38
- min: N,
39
- max: x,
40
- onChange: h,
41
- required: o,
42
- validator: C,
43
- step: i,
44
- onDecrement: g,
45
- onIncrement: d
46
- }), M = R(["cl-numeric-input", D]);
47
- return /* @__PURE__ */ t("div", { style: E, className: M, children: [
48
- /* @__PURE__ */ e(F, { label: r, required: o, inputId: a }),
49
- /* @__PURE__ */ t(
50
- G,
51
- {
52
- id: a,
53
- name: m,
54
- type: "number",
55
- disabled: n,
56
- required: o,
57
- readOnly: j,
58
- placeholder: "0",
59
- "aria-invalid": !s,
60
- "aria-errormessage": l,
61
- value: L.toString(),
62
- onChange: S,
63
- min: b,
64
- max: y,
65
- step: i,
66
- onBlur: v,
67
- onFocus: I,
68
- tabIndex: V,
69
- children: [
70
- k && /* @__PURE__ */ t("span", { children: [
71
- /* @__PURE__ */ e(
72
- c,
73
- {
74
- onClick: _,
75
- view: p.Inner,
76
- label: `Decrement value for ${r}`,
77
- icon: u.ChevronLeft,
78
- disabled: n
79
- }
80
- ),
81
- /* @__PURE__ */ e(
82
- c,
83
- {
84
- onClick: $,
85
- view: p.Inner,
86
- label: `Increment value for ${r}`,
87
- icon: u.ChevronRight,
88
- disabled: n
89
- }
90
- )
91
- ] }),
92
- /* @__PURE__ */ e(
93
- H,
94
- {
95
- errorId: l,
96
- message: f,
97
- visible: !s,
98
- className: "cl-numeric-input__error-message"
99
- }
100
- )
101
- ]
102
- }
103
- )
104
- ] });
105
- };
106
- export {
107
- q as default
1
+ import { getClassName as e } from "../../../utils/get-class-name.js";
2
+ import { ButtonView as t } from "../../../enums/button-view.js";
3
+ import { IconName as n } from "../../../enums/icon-name.js";
4
+ import r from "../../atoms/button/Button2.js";
5
+ import i from "../../atoms/error-message/ErrorMessage2.js";
6
+ import a from "../../atoms/input/Input2.js";
7
+ import o from "../../atoms/label/Label2.js";
8
+ import { useElementIds as s } from "../../../hooks/use-element-ids/use-element-ids.js";
9
+ import { useNumericInputController as c } from "./NumericInput.controller.js";
10
+ import './NumericInput.css';/* empty css */
11
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
12
+ //#region src/components/molecules/numeric-input/NumericInputStateful.tsx
13
+ var d = ({ name: d, label: f, errorMessage: p, onChange: m, onBlur: h, onFocus: g, onIncrement: _, onDecrement: v, validator: y, min: b, max: x, id: S, tabIndex: C, disabled: w = !1, required: T = !1, readOnly: E = !1, hasSpinButtons: D = !0, defaultValue: O = 0, step: k = 1, className: A, style: j }) => {
14
+ let { elementId: M, errorId: N } = s(S), { value: P, valid: F, handleChange: I, handleDecrement: L, handleIncrement: R, minValue: z, maxValue: B } = c({
15
+ name: d,
16
+ defaultValue: O,
17
+ min: b,
18
+ max: x,
19
+ onChange: m,
20
+ required: T,
21
+ validator: y,
22
+ step: k,
23
+ onDecrement: v,
24
+ onIncrement: _
25
+ });
26
+ return /* @__PURE__ */ u("div", {
27
+ style: j,
28
+ className: e(["cl-numeric-input", A]),
29
+ children: [/* @__PURE__ */ l(o, {
30
+ label: f,
31
+ required: T,
32
+ inputId: M
33
+ }), /* @__PURE__ */ u(a, {
34
+ id: M,
35
+ name: d,
36
+ type: "number",
37
+ disabled: w,
38
+ required: T,
39
+ readOnly: E,
40
+ placeholder: "0",
41
+ "aria-invalid": !F,
42
+ "aria-errormessage": N,
43
+ value: P.toString(),
44
+ onChange: I,
45
+ min: z,
46
+ max: B,
47
+ step: k,
48
+ onBlur: h,
49
+ onFocus: g,
50
+ tabIndex: C,
51
+ children: [D && /* @__PURE__ */ u("span", { children: [/* @__PURE__ */ l(r, {
52
+ onClick: L,
53
+ view: t.Inner,
54
+ label: `Decrement value for ${f}`,
55
+ icon: n.ChevronLeft,
56
+ disabled: w
57
+ }), /* @__PURE__ */ l(r, {
58
+ onClick: R,
59
+ view: t.Inner,
60
+ label: `Increment value for ${f}`,
61
+ icon: n.ChevronRight,
62
+ disabled: w
63
+ })] }), /* @__PURE__ */ l(i, {
64
+ errorId: N,
65
+ message: p,
66
+ visible: !F,
67
+ className: "cl-numeric-input__error-message"
68
+ })]
69
+ })]
70
+ });
108
71
  };
72
+ //#endregion
73
+ export { d as default };
@@ -1,96 +1,61 @@
1
- import { jsxs as i, jsx as r } from "react/jsx-runtime";
2
- import { getClassName as _ } from "../../../utils/get-class-name.js";
3
- import c from "../../atoms/button/Button.js";
4
- import './NumericInput.css';/* empty css */
5
- import b from "../../atoms/label/Label.js";
6
- import y from "../../atoms/input/Input.js";
7
- import { IconName as l } from "../../../enums/icon-name.js";
8
- import { ButtonView as p } from "../../../enums/button-view.js";
9
- import D from "../../atoms/error-message/ErrorMessage.js";
10
- const K = ({
11
- name: e,
12
- label: t,
13
- errorMessage: o,
14
- onChange: u,
15
- onBlur: f,
16
- onFocus: v,
17
- onIncrement: I,
18
- onDecrement: h,
19
- min: d,
20
- max: C,
21
- id: g,
22
- tabIndex: N,
23
- disabled: n = !1,
24
- required: m = !1,
25
- readOnly: $ = !1,
26
- hasSpinButtons: w = !0,
27
- step: x = 1,
28
- className: j,
29
- value: k,
30
- defaultValue: B,
31
- style: L
32
- }) => {
33
- const s = g ?? `numeric-input-${e}`, a = `${e}-error`, S = _(["cl-numeric-input", j]);
34
- return /* @__PURE__ */ i("div", { style: L, className: S, children: [
35
- /* @__PURE__ */ r(b, { label: t, required: m, inputId: s }),
36
- /* @__PURE__ */ i(
37
- y,
38
- {
39
- id: s,
40
- name: e,
41
- type: "number",
42
- defaultValue: B,
43
- disabled: n,
44
- required: m,
45
- readOnly: $,
46
- placeholder: "0",
47
- "aria-invalid": !!o,
48
- "aria-errormessage": a,
49
- value: k?.toString() ?? "",
50
- onChange: u,
51
- min: d,
52
- max: C,
53
- step: x,
54
- onBlur: f,
55
- onFocus: v,
56
- tabIndex: N,
57
- children: [
58
- w && /* @__PURE__ */ i("span", { children: [
59
- /* @__PURE__ */ r(
60
- c,
61
- {
62
- onClick: h,
63
- view: p.Inner,
64
- label: `Decrement value for ${t}`,
65
- icon: l.ChevronLeft,
66
- disabled: n
67
- }
68
- ),
69
- /* @__PURE__ */ r(
70
- c,
71
- {
72
- onClick: I,
73
- view: p.Inner,
74
- label: `Increment value for ${t}`,
75
- icon: l.ChevronRight,
76
- disabled: n
77
- }
78
- )
79
- ] }),
80
- /* @__PURE__ */ r(
81
- D,
82
- {
83
- errorId: a,
84
- message: o,
85
- visible: !!o,
86
- className: "cl-numeric-input__error-message"
87
- }
88
- )
89
- ]
90
- }
91
- )
92
- ] });
93
- };
94
- export {
95
- K as default
1
+ import { getClassName as e } from "../../../utils/get-class-name.js";
2
+ import { ButtonView as t } from "../../../enums/button-view.js";
3
+ import { IconName as n } from "../../../enums/icon-name.js";
4
+ import r from "../../atoms/button/Button2.js";
5
+ import i from "../../atoms/error-message/ErrorMessage2.js";
6
+ import a from "../../atoms/input/Input2.js";
7
+ import o from "../../atoms/label/Label2.js";
8
+ import './NumericInput.css';/* empty css */
9
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
10
+ //#region src/components/molecules/numeric-input/NumericInputStateless.tsx
11
+ var l = ({ name: l, label: u, errorMessage: d, onChange: f, onBlur: p, onFocus: m, onIncrement: h, onDecrement: g, min: _, max: v, id: y, tabIndex: b, disabled: x = !1, required: S = !1, readOnly: C = !1, hasSpinButtons: w = !0, step: T = 1, className: E, value: D, defaultValue: O, style: k }) => {
12
+ let A = y ?? `numeric-input-${l}`, j = `${l}-error`;
13
+ return /* @__PURE__ */ c("div", {
14
+ style: k,
15
+ className: e(["cl-numeric-input", E]),
16
+ children: [/* @__PURE__ */ s(o, {
17
+ label: u,
18
+ required: S,
19
+ inputId: A
20
+ }), /* @__PURE__ */ c(a, {
21
+ id: A,
22
+ name: l,
23
+ type: "number",
24
+ defaultValue: O,
25
+ disabled: x,
26
+ required: S,
27
+ readOnly: C,
28
+ placeholder: "0",
29
+ "aria-invalid": !!d,
30
+ "aria-errormessage": j,
31
+ value: D?.toString() ?? "",
32
+ onChange: f,
33
+ min: _,
34
+ max: v,
35
+ step: T,
36
+ onBlur: p,
37
+ onFocus: m,
38
+ tabIndex: b,
39
+ children: [w && /* @__PURE__ */ c("span", { children: [/* @__PURE__ */ s(r, {
40
+ onClick: g,
41
+ view: t.Inner,
42
+ label: `Decrement value for ${u}`,
43
+ icon: n.ChevronLeft,
44
+ disabled: x
45
+ }), /* @__PURE__ */ s(r, {
46
+ onClick: h,
47
+ view: t.Inner,
48
+ label: `Increment value for ${u}`,
49
+ icon: n.ChevronRight,
50
+ disabled: x
51
+ })] }), /* @__PURE__ */ s(i, {
52
+ errorId: j,
53
+ message: d,
54
+ visible: !!d,
55
+ className: "cl-numeric-input__error-message"
56
+ })]
57
+ })]
58
+ });
96
59
  };
60
+ //#endregion
61
+ export { l as default };
@@ -1,42 +1,32 @@
1
- import { useState as y, useRef as s, useEffect as E, useCallback as r } from "react";
2
- import { useDebounce as B } from "../../../hooks/use-debounce/use-debounce.js";
3
- function x({
4
- onSearch: o,
5
- onClear: i,
6
- maxLength: S = 50,
7
- minLength: b = 1,
8
- searchMode: c = "automatic",
9
- debounceDelay: d = 500
10
- }) {
11
- const [e, h] = y(""), f = c === "manual", g = !f, p = e.length > 0, a = e.length >= b && e.trim().length > 0 && e.length <= S, u = B(e, d), n = s(o), V = s(c), m = s(a);
12
- n.current = o, V.current = c, m.current = a, E(() => {
13
- u.trim().length > 0 && V.current === "automatic" && m.current && n.current?.(u);
14
- }, [u]);
15
- const C = r((t) => {
16
- const R = t.target.value;
17
- h(R);
18
- }, []), l = r(() => {
19
- h(""), i?.();
20
- }, [i]), k = r(() => {
21
- n.current?.(e);
22
- }, [e]), D = r(
23
- (t) => {
24
- t.key === "Enter" ? (t.preventDefault(), n.current && n.current(e)) : t.key === "Escape" && (t.preventDefault(), l());
25
- },
26
- [l, e]
27
- );
28
- return {
29
- searchValue: e,
30
- isSearchButtonVisible: f,
31
- isLabelIconVisible: g,
32
- isClearButtonVisible: p,
33
- isSearchValueValid: a,
34
- handleChange: C,
35
- handleClear: l,
36
- handleSearchClick: k,
37
- handleKeyDown: D
38
- };
1
+ import { useDebounce as e } from "../../../hooks/use-debounce/use-debounce.js";
2
+ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
3
+ //#region src/components/molecules/search/Search.controller.ts
4
+ function a({ onSearch: a, onClear: o, maxLength: s = 50, minLength: c = 1, searchMode: l = "automatic", debounceDelay: u = 500 }) {
5
+ let [d, f] = i(""), p = l === "manual", m = !p, h = d.length > 0, g = d.length >= c && d.trim().length > 0 && d.length <= s, _ = e(d, u), v = r(a), y = r(l), b = r(g);
6
+ v.current = a, y.current = l, b.current = g, n(() => {
7
+ _.trim().length > 0 && y.current === "automatic" && b.current && v.current?.(_);
8
+ }, [_]);
9
+ let x = t((e) => {
10
+ let t = e.target.value;
11
+ f(t);
12
+ }, []), S = t(() => {
13
+ f(""), o?.();
14
+ }, [o]);
15
+ return {
16
+ searchValue: d,
17
+ isSearchButtonVisible: p,
18
+ isLabelIconVisible: m,
19
+ isClearButtonVisible: h,
20
+ isSearchValueValid: g,
21
+ handleChange: x,
22
+ handleClear: S,
23
+ handleSearchClick: t(() => {
24
+ v.current?.(d);
25
+ }, [d]),
26
+ handleKeyDown: t((e) => {
27
+ e.key === "Enter" ? (e.preventDefault(), v.current && v.current(d)) : e.key === "Escape" && (e.preventDefault(), S());
28
+ }, [S, d])
29
+ };
39
30
  }
40
- export {
41
- x as useSearchController
42
- };
31
+ //#endregion
32
+ export { a as useSearchController };
@@ -1 +1 @@
1
- .cl-search{display:flex;flex-direction:column;gap:var(--cl-m-gap);width:100%}.cl-search input[type=search]::-webkit-search-decoration,.cl-search input[type=search]::-webkit-search-cancel-button,.cl-search input[type=search]::-webkit-search-results-button,.cl-search input[type=search]::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.cl-search input[type=search]::-ms-clear,.cl-search input[type=search]::-ms-reveal{display:none;width:0;height:0}.cl-search input:placeholder-shown+span{display:inline-block}
1
+ .cl-search{gap:var(--cl-m-gap);flex-direction:column;width:100%;display:flex}.cl-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}.cl-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.cl-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none;display:none}.cl-search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;display:none}.cl-search input[type=search]::-ms-clear{width:0;height:0;display:none}.cl-search input[type=search]::-ms-reveal{width:0;height:0;display:none}.cl-search input:placeholder-shown+span{display:inline-block}
@@ -0,0 +1,67 @@
1
+ import { getClassName as e } from "../../../utils/get-class-name.js";
2
+ import { ButtonView as t } from "../../../enums/button-view.js";
3
+ import { IconName as n } from "../../../enums/icon-name.js";
4
+ import r from "../../atoms/button/Button2.js";
5
+ import i from "../../atoms/input/Input2.js";
6
+ import a from "../../atoms/label/Label2.js";
7
+ import { useElementIds as o } from "../../../hooks/use-element-ids/use-element-ids.js";
8
+ import './Search.css';/* empty css */
9
+ import { useSearchController as s } from "./Search.controller.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/search/Search.tsx
13
+ var d = ({ label: d, onSearch: f, onBlur: p, onFocus: m, onClear: h, id: g, tabIndex: _, className: v, maxLength: y = 50, minLength: b = 1, searchMode: x = "automatic", name: S = "q", placeholder: C = "Type to search...", disabled: w = !1, clearable: T = !0, spellCheck: E = !1, autoComplete: D = "off", debounceDelay: O = 500, required: k, ...A }) => {
14
+ let { elementId: j } = o(g), M = u(null), N = e(["cl-search", v]), { searchValue: P, isSearchButtonVisible: F, isLabelIconVisible: I, isClearButtonVisible: L, isSearchValueValid: R, handleChange: z, handleClear: B, handleSearchClick: V, handleKeyDown: H } = s({
15
+ onSearch: f,
16
+ onClear: h,
17
+ maxLength: y,
18
+ minLength: b,
19
+ searchMode: x,
20
+ debounceDelay: O
21
+ }), U = () => {
22
+ B(), M.current && M.current.focus();
23
+ };
24
+ return /* @__PURE__ */ l("div", {
25
+ ...A,
26
+ className: N,
27
+ children: [/* @__PURE__ */ c(a, {
28
+ label: d,
29
+ required: !!k,
30
+ inputId: j,
31
+ icon: I ? n.Search : void 0,
32
+ iconPosition: I ? "left" : void 0
33
+ }), /* @__PURE__ */ c(i, {
34
+ ref: M,
35
+ id: j,
36
+ name: S,
37
+ type: "search",
38
+ value: P,
39
+ onChange: z,
40
+ onKeyDown: H,
41
+ onBlur: p,
42
+ onFocus: m,
43
+ disabled: w,
44
+ placeholder: C,
45
+ autoComplete: D,
46
+ maxLength: y,
47
+ minLength: b,
48
+ spellCheck: E,
49
+ tabIndex: _,
50
+ required: k,
51
+ children: /* @__PURE__ */ l("span", { children: [T && L && /* @__PURE__ */ c(r, {
52
+ view: t.Inner,
53
+ onClick: U,
54
+ label: `Clear search input for ${d}`,
55
+ icon: n.Delete
56
+ }), F && /* @__PURE__ */ c(r, {
57
+ view: t.Inner,
58
+ onClick: V,
59
+ label: "Perform search",
60
+ icon: n.Search,
61
+ disabled: w || !R
62
+ })] })
63
+ })]
64
+ });
65
+ };
66
+ //#endregion
67
+ export { d as default };
@@ -1,32 +1,36 @@
1
- import { useContext as I, useState as d, useRef as f, useCallback as x } from "react";
2
- import { getSelectInitialValue as b } from "./Select.helpers.js";
3
- import { FormContext as k } from "../../contexts/form/FormContext.js";
4
- import { useResetFormInput as w } from "../../../hooks/use-reset-form-input/use-reset-form-input.js";
5
- function y({
6
- name: e,
7
- defaultValue: m,
8
- onChange: c,
9
- options: u
10
- }) {
11
- const { onChangeFormInput: t, initialValues: p } = I(k), n = b({ name: e, options: u, defaultValue: m, initialValues: p }), [a, o] = d(!1), [C, l] = d(n), i = f(t), r = f(n);
12
- i.current = t, r.current = n;
13
- const h = () => o(!1), R = () => o(!a), S = (v) => {
14
- const s = u.find((F) => F.id === v);
15
- l(s), c?.(s), t?.({ name: e, value: s?.id });
16
- }, V = () => {
17
- l(void 0), c?.(void 0);
18
- }, g = x(() => {
19
- o(!1), l(r.current), i.current?.({ name: e, value: r.current?.id });
20
- }, [e]);
21
- return w(g), {
22
- selected: C,
23
- opened: a,
24
- handleClear: V,
25
- handleClose: h,
26
- handleToggle: R,
27
- handleSelect: S
28
- };
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 { getSelectInitialValue as n } from "./Select.helpers.js";
4
+ import { useCallback as r, useContext as i, useRef as a, useState as o } from "react";
5
+ //#region src/components/molecules/select/Select.controller.ts
6
+ function s({ name: s, defaultValue: c, onChange: l, options: u }) {
7
+ let { onChangeFormInput: d, initialValues: f } = i(e), p = n({
8
+ name: s,
9
+ options: u,
10
+ defaultValue: c,
11
+ initialValues: f
12
+ }), [m, h] = o(!1), [g, _] = o(p), v = a(d), y = a(p);
13
+ return v.current = d, y.current = p, t(r(() => {
14
+ h(!1), _(y.current), v.current?.({
15
+ name: s,
16
+ value: y.current?.id
17
+ });
18
+ }, [s])), {
19
+ selected: g,
20
+ opened: m,
21
+ handleClear: () => {
22
+ _(void 0), l?.(void 0);
23
+ },
24
+ handleClose: () => h(!1),
25
+ handleToggle: () => h(!m),
26
+ handleSelect: (e) => {
27
+ let t = u.find((t) => t.id === e);
28
+ _(t), l?.(t), d?.({
29
+ name: s,
30
+ value: t?.id
31
+ });
32
+ }
33
+ };
29
34
  }
30
- export {
31
- y as useSelectController
32
- };
35
+ //#endregion
36
+ export { s as useSelectController };
@@ -1 +1 @@
1
- .cl-select{position:relative;display:flex;justify-content:space-between;flex-direction:column;gap:var(--cl-m-gap);background:transparent}
1
+ .cl-select{justify-content:space-between;gap:var(--cl-m-gap);background:0 0;flex-direction:column;display:flex;position:relative}
@@ -1,16 +1,11 @@
1
- function d({
2
- name: o,
3
- options: n,
4
- initialValues: t,
5
- defaultValue: r
6
- }) {
7
- let f;
8
- if (t && Object.hasOwn(t, o)) {
9
- const c = t[o];
10
- f = c?.id ?? c;
11
- }
12
- return !t?.[o] && r && typeof r == "string" && (f = r), n.find((c) => c.id === f);
1
+ //#region src/components/molecules/select/Select.helpers.ts
2
+ function e({ name: e, options: t, initialValues: n, defaultValue: r }) {
3
+ let i;
4
+ if (n && Object.hasOwn(n, e)) {
5
+ let t = n[e];
6
+ i = t?.id ?? t;
7
+ }
8
+ return !n?.[e] && r && typeof r == "string" && (i = r), t.find((e) => e.id === i);
13
9
  }
14
- export {
15
- d as getSelectInitialValue
16
- };
10
+ //#endregion
11
+ export { e as getSelectInitialValue };
@@ -0,0 +1,62 @@
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.css';/* empty css */
7
+ import { SelectCombobox as a } from "./combobox/Combobox2.js";
8
+ import { SelectDropdown as o } from "./dropdown/Dropdown2.js";
9
+ import { useSelectController as s } from "./Select.controller.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/select/Select.tsx
13
+ var d = ({ options: d, onChange: f, name: p, label: m, defaultValue: h, id: g, placeholder: _ = "Not selected", required: v = !1, disabled: y = !1, className: b, ...x }) => {
14
+ let S = u(null), { elementId: C, dropdownId: w } = r(g), { handleClear: T, handleClose: E, handleSelect: D, handleToggle: O, selected: k, opened: A } = s({
15
+ options: d,
16
+ onChange: f,
17
+ defaultValue: h,
18
+ name: p
19
+ }), j = e(["cl-select", b]);
20
+ return n({
21
+ ref: S,
22
+ onClickOutsideHandler: E
23
+ }), i({
24
+ keyCode: "Escape",
25
+ ref: S,
26
+ onKeyPress: E
27
+ }), /* @__PURE__ */ l("div", {
28
+ ref: S,
29
+ ...x,
30
+ className: j,
31
+ children: [
32
+ /* @__PURE__ */ c(t, {
33
+ label: m,
34
+ required: v,
35
+ inputId: C
36
+ }),
37
+ /* @__PURE__ */ c(a, {
38
+ name: p,
39
+ opened: A,
40
+ comboboxId: C,
41
+ dropdownId: w,
42
+ onClick: O,
43
+ selected: k,
44
+ placeholder: _,
45
+ disabled: y,
46
+ required: v
47
+ }),
48
+ /* @__PURE__ */ c(o, {
49
+ options: d,
50
+ selected: k,
51
+ opened: A,
52
+ onClose: E,
53
+ dropdownId: w,
54
+ comboboxId: C,
55
+ onSelect: D,
56
+ onClear: T
57
+ })
58
+ ]
59
+ });
60
+ };
61
+ //#endregion
62
+ export { d as default };