@tsed/react-formio 3.0.0-alpha.10 → 3.0.0-alpha.12

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 (215) hide show
  1. package/dist/atoms/icon/Icon.js.map +1 -1
  2. package/dist/chunks/index.js +33 -30
  3. package/dist/chunks/index.js.map +1 -1
  4. package/dist/chunks/index.module.js +16 -16
  5. package/dist/chunks/index.module.js.map +1 -1
  6. package/dist/chunks/react-select-animated.esm.js +1204 -1101
  7. package/dist/chunks/react-select-animated.esm.js.map +1 -1
  8. package/dist/hooks/keyboard.constants.d.ts +38 -0
  9. package/dist/hooks/keyboard.constants.js +7 -0
  10. package/dist/hooks/keyboard.constants.js.map +1 -0
  11. package/dist/hooks/useKeyboardControls.d.ts +12 -0
  12. package/dist/hooks/useKeyboardControls.js +35 -0
  13. package/dist/hooks/useKeyboardControls.js.map +1 -0
  14. package/dist/hooks/useTooltip.js.map +1 -1
  15. package/dist/interfaces/Operation.d.ts +12 -2
  16. package/dist/molecules/alert/Alert.js.map +1 -1
  17. package/dist/molecules/button/Button.d.ts +18 -5
  18. package/dist/molecules/button/Button.js +22 -26
  19. package/dist/molecules/button/Button.js.map +1 -1
  20. package/dist/molecules/card/Card.js +7 -5
  21. package/dist/molecules/card/Card.js.map +1 -1
  22. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  23. package/dist/molecules/forms/input-tags/InputTags.js +14 -14
  24. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  25. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +26 -26
  26. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  27. package/dist/molecules/forms/input-tags/components/ReactTags.js +289 -300
  28. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -1
  29. package/dist/molecules/forms/input-text/InputText.js +3 -3
  30. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  31. package/dist/molecules/forms/select/Select.js.map +1 -1
  32. package/dist/molecules/forms/select/components/ChoicesSelect.js +71 -73
  33. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  34. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  35. package/dist/molecules/forms/select/components/ReactSelect.js +13 -14
  36. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  37. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  38. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  39. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  40. package/dist/molecules/loader/Loader.js.map +1 -1
  41. package/dist/molecules/modal/Modal.js +23 -24
  42. package/dist/molecules/modal/Modal.js.map +1 -1
  43. package/dist/molecules/pagination/Pagination.js +19 -19
  44. package/dist/molecules/pagination/Pagination.js.map +1 -1
  45. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  46. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -1
  47. package/dist/molecules/table/Table.d.ts +11 -3
  48. package/dist/molecules/table/Table.js +31 -32
  49. package/dist/molecules/table/Table.js.map +1 -1
  50. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  51. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  52. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -1
  53. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  54. package/dist/molecules/table/components/DefaultCellOperations.d.ts +12 -4
  55. package/dist/molecules/table/components/DefaultCellOperations.js +13 -7
  56. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  57. package/dist/molecules/table/components/DefaultFilter.js.map +1 -1
  58. package/dist/molecules/table/components/DefaultOperationButton.d.ts +12 -4
  59. package/dist/molecules/table/components/DefaultOperationButton.js +1 -1
  60. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  61. package/dist/molecules/table/filters/RangeFilter.js +23 -24
  62. package/dist/molecules/table/filters/RangeFilter.js.map +1 -1
  63. package/dist/molecules/table/filters/SelectFilter.js +11 -13
  64. package/dist/molecules/table/filters/SelectFilter.js.map +1 -1
  65. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -1
  66. package/dist/molecules/table/hooks/useTable.d.ts +12 -4
  67. package/dist/molecules/table/hooks/useTable.js +7 -7
  68. package/dist/molecules/table/hooks/useTable.js.map +1 -1
  69. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -1
  70. package/dist/molecules/table/utils/mapFormToColumns.js +20 -21
  71. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  72. package/dist/molecules/tabs/Tab.d.ts +13 -0
  73. package/dist/molecules/tabs/Tab.js +66 -0
  74. package/dist/molecules/tabs/Tab.js.map +1 -0
  75. package/dist/molecules/tabs/TabList.d.ts +2 -0
  76. package/dist/molecules/tabs/TabList.js +23 -0
  77. package/dist/molecules/tabs/TabList.js.map +1 -0
  78. package/dist/molecules/tabs/TabPanel.d.ts +9 -0
  79. package/dist/molecules/tabs/TabPanel.js +27 -0
  80. package/dist/molecules/tabs/TabPanel.js.map +1 -0
  81. package/dist/molecules/tabs/Tabs.d.ts +4 -16
  82. package/dist/molecules/tabs/Tabs.js +7 -67
  83. package/dist/molecules/tabs/Tabs.js.map +1 -1
  84. package/dist/molecules/tabs/TabsBody.d.ts +1 -0
  85. package/dist/molecules/tabs/TabsBody.js +10 -0
  86. package/dist/molecules/tabs/TabsBody.js.map +1 -0
  87. package/dist/molecules/tabs/TabsLegacy.d.ts +17 -0
  88. package/dist/molecules/tabs/TabsLegacy.js +49 -0
  89. package/dist/molecules/tabs/TabsLegacy.js.map +1 -0
  90. package/dist/molecules/tabs/all.d.ts +5 -0
  91. package/dist/molecules/tabs/all.js +13 -0
  92. package/dist/molecules/tabs/all.js.map +1 -0
  93. package/dist/molecules/tabs/context/TabControl.d.ts +52 -0
  94. package/dist/molecules/tabs/context/TabControl.js +85 -0
  95. package/dist/molecules/tabs/context/TabControl.js.map +1 -0
  96. package/dist/molecules/tabs/hooks/tabControl.d.ts +44 -0
  97. package/dist/molecules/tabs/hooks/tabControl.js +34 -0
  98. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -0
  99. package/dist/organisms/form/Form.js.map +1 -1
  100. package/dist/organisms/form/access/FormAccess.js +41 -41
  101. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  102. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  103. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  104. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  105. package/dist/organisms/form/{action → actions}/FormAction.js +7 -8
  106. package/dist/organisms/form/actions/FormAction.js.map +1 -0
  107. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  108. package/dist/organisms/form/builder/FormEdit.d.ts +3 -1
  109. package/dist/organisms/form/builder/FormEdit.js +38 -35
  110. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  111. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  112. package/dist/organisms/form/builder/FormEditCtas.js +34 -34
  113. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  114. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  115. package/dist/organisms/form/builder/useFormBuilder.js +41 -38
  116. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  117. package/dist/organisms/form/builder/useFormEdit.js +1 -1
  118. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  119. package/dist/organisms/form/exports/FormExport.d.ts +5 -0
  120. package/dist/organisms/form/exports/FormExport.js +55 -0
  121. package/dist/organisms/form/exports/FormExport.js.map +1 -0
  122. package/dist/organisms/form/preview/FormPreview.d.ts +6 -0
  123. package/dist/organisms/form/preview/FormPreview.js +11 -0
  124. package/dist/organisms/form/preview/FormPreview.js.map +1 -0
  125. package/dist/organisms/form/settings/FormSettings.js +24 -24
  126. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  127. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  128. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  129. package/dist/organisms/form/useForm.js +664 -661
  130. package/dist/organisms/form/useForm.js.map +1 -1
  131. package/dist/organisms/modal/RemoveModal.js +16 -17
  132. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  133. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  134. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  135. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -1
  136. package/dist/organisms/table/submissions/SubmissionsTable.d.ts +11 -3
  137. package/dist/organisms/table/submissions/SubmissionsTable.js +4 -1
  138. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  139. package/dist/organisms/views/FormViews.d.ts +24 -0
  140. package/dist/organisms/views/FormViews.js +96 -0
  141. package/dist/organisms/views/FormViews.js.map +1 -0
  142. package/dist/registries/components.js.map +1 -1
  143. package/dist/utils/getEventValue.js.map +1 -1
  144. package/dist/utils/iconClass.js.map +1 -1
  145. package/dist/utils/mapPagination.js.map +1 -1
  146. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  147. package/package.json +7 -7
  148. package/src/atoms/icon/Icon.stories.tsx +1 -1
  149. package/src/hooks/keyboard.constants.ts +40 -0
  150. package/src/hooks/useKeyboardControls.spec.tsx +208 -0
  151. package/src/hooks/useKeyboardControls.ts +84 -0
  152. package/src/interfaces/Operation.ts +9 -3
  153. package/src/molecules/button/Button.stories.tsx +1 -1
  154. package/src/molecules/button/Button.tsx +43 -24
  155. package/src/molecules/card/Card.tsx +4 -0
  156. package/src/molecules/forms/form-control/FormControl.stories.tsx +1 -1
  157. package/src/molecules/forms/input-tags/InputTags.tsx +1 -1
  158. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +1 -1
  159. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +1 -1
  160. package/src/molecules/forms/input-text/InputText.stories.tsx +2 -2
  161. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +2 -2
  162. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +2 -2
  163. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +2 -2
  164. package/src/molecules/loader/Loader.stories.tsx +1 -1
  165. package/src/molecules/modal/Modal.stories.tsx +1 -1
  166. package/src/molecules/pagination/Pagination.stories.tsx +1 -8
  167. package/src/molecules/pagination/Pagination.tsx +0 -1
  168. package/src/molecules/table/Table.stories.tsx +36 -3
  169. package/src/molecules/table/Table.tsx +12 -6
  170. package/src/molecules/table/components/DefaultCellOperations.tsx +13 -7
  171. package/src/molecules/table/components/DefaultOperationButton.tsx +5 -4
  172. package/src/molecules/table/filters/SelectFilter.tsx +1 -1
  173. package/src/molecules/table/hooks/useTable.tsx +5 -5
  174. package/src/molecules/tabs/Tab.tsx +106 -0
  175. package/src/molecules/tabs/TabList.tsx +37 -0
  176. package/src/molecules/tabs/TabPanel.tsx +37 -0
  177. package/src/molecules/tabs/Tabs.spec.tsx +126 -73
  178. package/src/molecules/tabs/Tabs.stories.tsx +298 -65
  179. package/src/molecules/tabs/Tabs.tsx +10 -81
  180. package/src/molecules/tabs/TabsBody.tsx +11 -0
  181. package/src/molecules/tabs/TabsLegacy.stories.tsx +103 -0
  182. package/src/molecules/tabs/TabsLegacy.tsx +84 -0
  183. package/src/molecules/tabs/all.ts +5 -0
  184. package/src/molecules/tabs/context/TabControl.tsx +166 -0
  185. package/src/molecules/tabs/hooks/tabControl.spec.tsx +388 -0
  186. package/src/molecules/tabs/hooks/tabControl.ts +52 -0
  187. package/src/organisms/__fixtures__/form-firstname.fixture.json +1 -0
  188. package/src/organisms/__fixtures__/form.fixture.json +1 -0
  189. package/src/organisms/form/Form.stories.tsx +94 -118
  190. package/src/organisms/form/access/FormAccess.stories.tsx +2 -2
  191. package/src/organisms/form/actions/FormAction.stories.tsx +422 -0
  192. package/src/organisms/form/builder/FormBuilder.stories.tsx +4 -1
  193. package/src/organisms/form/builder/FormEdit.stories.tsx +1 -1
  194. package/src/organisms/form/builder/FormEdit.tsx +7 -1
  195. package/src/organisms/form/builder/useFormBuilder.ts +5 -1
  196. package/src/organisms/form/builder/useFormEdit.ts +1 -1
  197. package/src/organisms/form/exports/FormExport.stories.tsx +71 -0
  198. package/src/organisms/form/exports/FormExport.tsx +58 -0
  199. package/src/organisms/form/preview/FormPreview.stories.tsx +61 -0
  200. package/src/organisms/form/preview/FormPreview.tsx +21 -0
  201. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  202. package/src/organisms/table/actions/ActionsTable.stories.tsx +38 -36
  203. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +103 -57
  204. package/src/organisms/table/submissions/SubmissionsTable.tsx +10 -4
  205. package/src/organisms/views/FormViews.stories.tsx +224 -0
  206. package/src/organisms/views/FormViews.tsx +146 -0
  207. package/vite.config.mts +2 -2
  208. package/dist/organisms/form/action/FormAction.js.map +0 -1
  209. package/src/organisms/form/action/FormAction.stories.tsx +0 -364
  210. package/tsconfig.app.json +0 -11
  211. package/tsconfig.json +0 -21
  212. package/tsconfig.node.json +0 -13
  213. package/tsconfig.spec.json +0 -14
  214. /package/dist/organisms/form/{action → actions}/FormAction.d.ts +0 -0
  215. /package/src/organisms/form/{action → actions}/FormAction.tsx +0 -0
@@ -3,7 +3,7 @@ import { useState as C, useEffect as I } from "react";
3
3
  import { c as x } from "../../../chunks/index.module.js";
4
4
  import { registerComponent as g, getComponent as v } from "../../../registries/components.js";
5
5
  import { getEventValue as b } from "../../../utils/getEventValue.js";
6
- import { FormControl as y, cleanFormControlProps as N } from "../form-control/FormControl.js";
6
+ import { cleanFormControlProps as y, FormControl as N } from "../form-control/FormControl.js";
7
7
  function V(o) {
8
8
  const { name: e, id: n = e, value: t, onChange: r, required: a, type: u, placeholder: m, debounceDelay: c = 300, ...l } = o, [p, i] = C(t), f = x(r || (() => {
9
9
  }), c);
@@ -12,7 +12,7 @@ function V(o) {
12
12
  }, [t]), /* @__PURE__ */ s(
13
13
  "input",
14
14
  {
15
- ...N(l, ["className"]),
15
+ ...y(l, ["className"]),
16
16
  type: u || "text",
17
17
  "data-testid": `input_${e || ""}`,
18
18
  className: "form-control",
@@ -32,7 +32,7 @@ g("Input", V);
32
32
  function q(o) {
33
33
  const { name: e, id: n = e, label: t, required: r, size: a, before: u, after: m, description: c, className: l } = o, p = v("Input");
34
34
  return /* @__PURE__ */ s(
35
- y,
35
+ N,
36
36
  {
37
37
  id: n,
38
38
  name: e,
@@ -1 +1 @@
1
- {"version":3,"file":"InputText.js","sources":["../../../../src/molecules/forms/input-text/InputText.tsx"],"sourcesContent":["import { ComponentType, useEffect, useState } from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport { getEventValue } from \"../../../utils/getEventValue\";\nimport { cleanFormControlProps, FormControl } from \"../form-control/FormControl\";\nimport { InputTextProps } from \"./InputText.interface\";\n\nfunction Input<Data = any>(props: InputTextProps<Data>) {\n const { name, id = name, value, onChange, required, type, placeholder, debounceDelay = 300, ...otherProps } = props;\n\n const [localValue, setValue] = useState(value);\n const change = useDebouncedCallback(onChange || (() => {}), debounceDelay);\n\n useEffect(() => {\n setValue(value);\n }, [value]);\n\n return (\n <input\n {...cleanFormControlProps(otherProps, [\"className\"])}\n type={type || \"text\"}\n data-testid={`input_${name || \"\"}`}\n className={\"form-control\"}\n id={id}\n name={name}\n required={required}\n value={(localValue || \"\") as any}\n placeholder={placeholder}\n onChange={(event) => {\n const value = getEventValue(event);\n setValue(value);\n\n return change && change(name, value);\n }}\n />\n );\n}\n\nregisterComponent(\"Input\", Input);\n\nexport function InputText<Data = any>(props: InputTextProps<Data>) {\n const { name, id = name, label, required, size, before, after, description, className } = props;\n const Input = getComponent<ComponentType<InputTextProps<Data>>>(\"Input\");\n\n return (\n <FormControl\n id={id}\n name={name}\n label={label}\n required={required}\n description={description}\n before={before}\n after={after}\n size={size}\n className={className}\n >\n <Input {...props} />\n </FormControl>\n );\n}\n\nregisterComponent(\"InputText\", InputText);\n"],"names":["Input","props","name","id","value","onChange","required","type","placeholder","debounceDelay","otherProps","localValue","setValue","useState","change","useDebouncedCallback","useEffect","jsx","cleanFormControlProps","event","getEventValue","registerComponent","InputText","label","size","before","after","description","className","getComponent","FormControl"],"mappings":";;;;;;AAQA,SAASA,EAAkBC,GAA6B;AACtD,QAAM,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,OAAAE,GAAO,UAAAC,GAAU,UAAAC,GAAU,MAAAC,GAAM,aAAAC,GAAa,eAAAC,IAAgB,KAAK,GAAGC,EAAe,IAAAT,GAExG,CAACU,GAAYC,CAAQ,IAAIC,EAAST,CAAK,GACvCU,IAASC,EAAqBV,MAAa,MAAM;AAAA,MAAKI,CAAa;AAEzE,SAAAO,EAAU,MAAM;AACd,IAAAJ,EAASR,CAAK;AAAA,EAAA,GACb,CAACA,CAAK,CAAC,GAGR,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGC,EAAsBR,GAAY,CAAC,WAAW,CAAC;AAAA,MACnD,MAAMH,KAAQ;AAAA,MACd,eAAa,SAASL,KAAQ,EAAE;AAAA,MAChC,WAAW;AAAA,MACX,IAAAC;AAAA,MACA,MAAAD;AAAA,MACA,UAAAI;AAAA,MACA,OAAQK,KAAc;AAAA,MACtB,aAAAH;AAAA,MACA,UAAU,CAACW,MAAU;AACbf,cAAAA,IAAQgB,EAAcD,CAAK;AACjC,eAAAP,EAASR,CAAK,GAEPU,KAAUA,EAAOZ,GAAME,CAAK;AAAA,MAAA;AAAA,IACrC;AAAA,EACF;AAEJ;AAEAiB,EAAkB,SAASrB,CAAK;AAEzB,SAASsB,EAAsBrB,GAA6B;AAC3D,QAAA,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,OAAAqB,GAAO,UAAAjB,GAAU,MAAAkB,GAAM,QAAAC,GAAQ,OAAAC,GAAO,aAAAC,GAAa,WAAAC,EAAc,IAAA3B,GACpFD,IAAQ6B,EAAkD,OAAO;AAGrE,SAAA,gBAAAZ;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,IAAA3B;AAAA,MACA,MAAAD;AAAA,MACA,OAAAqB;AAAA,MACA,UAAAjB;AAAA,MACA,aAAAqB;AAAA,MACA,QAAAF;AAAA,MACA,OAAAC;AAAA,MACA,MAAAF;AAAA,MACA,WAAAI;AAAA,MAEA,UAAC5B,gBAAAA,EAAAA,GAAA,EAAO,GAAGC,EAAO,CAAA;AAAA,IAAA;AAAA,EACpB;AAEJ;AAEAoB,EAAkB,aAAaC,CAAS;"}
1
+ {"version":3,"file":"InputText.js","sources":["../../../../src/molecules/forms/input-text/InputText.tsx"],"sourcesContent":["import { ComponentType, useEffect, useState } from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport { getEventValue } from \"../../../utils/getEventValue\";\nimport { cleanFormControlProps, FormControl } from \"../form-control/FormControl\";\nimport { InputTextProps } from \"./InputText.interface\";\n\nfunction Input<Data = any>(props: InputTextProps<Data>) {\n const { name, id = name, value, onChange, required, type, placeholder, debounceDelay = 300, ...otherProps } = props;\n\n const [localValue, setValue] = useState(value);\n const change = useDebouncedCallback(onChange || (() => {}), debounceDelay);\n\n useEffect(() => {\n setValue(value);\n }, [value]);\n\n return (\n <input\n {...cleanFormControlProps(otherProps, [\"className\"])}\n type={type || \"text\"}\n data-testid={`input_${name || \"\"}`}\n className={\"form-control\"}\n id={id}\n name={name}\n required={required}\n value={(localValue || \"\") as any}\n placeholder={placeholder}\n onChange={(event) => {\n const value = getEventValue(event);\n setValue(value);\n\n return change && change(name, value);\n }}\n />\n );\n}\n\nregisterComponent(\"Input\", Input);\n\nexport function InputText<Data = any>(props: InputTextProps<Data>) {\n const { name, id = name, label, required, size, before, after, description, className } = props;\n const Input = getComponent<ComponentType<InputTextProps<Data>>>(\"Input\");\n\n return (\n <FormControl\n id={id}\n name={name}\n label={label}\n required={required}\n description={description}\n before={before}\n after={after}\n size={size}\n className={className}\n >\n <Input {...props} />\n </FormControl>\n );\n}\n\nregisterComponent(\"InputText\", InputText);\n"],"names":["Input","props","name","id","value","onChange","required","type","placeholder","debounceDelay","otherProps","localValue","setValue","useState","change","useDebouncedCallback","useEffect","jsx","cleanFormControlProps","event","getEventValue","registerComponent","InputText","label","size","before","after","description","className","getComponent","FormControl"],"mappings":";;;;;;AAQA,SAASA,EAAkBC,GAA6B;AACtD,QAAM,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,OAAAE,GAAO,UAAAC,GAAU,UAAAC,GAAU,MAAAC,GAAM,aAAAC,GAAa,eAAAC,IAAgB,KAAK,GAAGC,MAAeT,GAExG,CAACU,GAAYC,CAAQ,IAAIC,EAAST,CAAK,GACvCU,IAASC,EAAqBV,MAAa,MAAM;AAAA,EAAC,IAAII,CAAa;AAEzE,SAAAO,EAAU,MAAM;AACd,IAAAJ,EAASR,CAAK;AAAA,EAChB,GAAG,CAACA,CAAK,CAAC,GAGR,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGC,EAAsBR,GAAY,CAAC,WAAW,CAAC;AAAA,MACnD,MAAMH,KAAQ;AAAA,MACd,eAAa,SAASL,KAAQ,EAAE;AAAA,MAChC,WAAW;AAAA,MACX,IAAAC;AAAA,MACA,MAAAD;AAAA,MACA,UAAAI;AAAA,MACA,OAAQK,KAAc;AAAA,MACtB,aAAAH;AAAA,MACA,UAAU,CAACW,MAAU;AACnB,cAAMf,IAAQgB,EAAcD,CAAK;AACjC,eAAAP,EAASR,CAAK,GAEPU,KAAUA,EAAOZ,GAAME,CAAK;AAAA,MACrC;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAiB,EAAkB,SAASrB,CAAK;AAEzB,SAASsB,EAAsBrB,GAA6B;AACjE,QAAM,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,OAAAqB,GAAO,UAAAjB,GAAU,MAAAkB,GAAM,QAAAC,GAAQ,OAAAC,GAAO,aAAAC,GAAa,WAAAC,EAAA,IAAc3B,GACpFD,IAAQ6B,EAAkD,OAAO;AAEvE,SACE,gBAAAZ;AAAA,IAACa;AAAA,IAAA;AAAA,MACC,IAAA3B;AAAA,MACA,MAAAD;AAAA,MACA,OAAAqB;AAAA,MACA,UAAAjB;AAAA,MACA,aAAAqB;AAAA,MACA,QAAAF;AAAA,MACA,OAAAC;AAAA,MACA,MAAAF;AAAA,MACA,WAAAI;AAAA,MAEA,UAAA,gBAAAX,EAACjB,GAAA,EAAO,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGxB;AAEAoB,EAAkB,aAAaC,CAAS;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/molecules/forms/select/Select.tsx"],"sourcesContent":["import type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { FormControl as DefaultFormControl } from \"../form-control/FormControl\";\nimport { useOptions } from \"./hooks/useOptions\";\nimport { AllSelectProps } from \"./Select.interface\";\n\nlet uuid = 0;\n\nexport function Select<Data = string>(props: AllSelectProps<Data>) {\n const { className, name = \"\", id = `field-select-${++uuid}`, label, description = \"\" } = props;\n\n const options = useOptions<Data>({\n ...props,\n value: (Array.isArray(props.value) ? props.value : [props.value]) as any\n });\n\n const FormControl = getComponent<typeof DefaultFormControl>(\"FormControl\");\n const Component = getComponent<ComponentType<AllSelectProps<Data>>>([\"Select.\" + props.layout, \"Select.html5\"]);\n\n return (\n <FormControl {...(props as any)} id={id} description={description} shadow={false} className={className} label={label}>\n <Component {...props} options={options} name={name} id={id} />\n </FormControl>\n );\n}\n\nregisterComponent(\"Select\", Select);\n"],"names":["uuid","Select","props","className","name","id","label","description","options","useOptions","FormControl","getComponent","Component","registerComponent"],"mappings":";;;AAOA,IAAIA,IAAO;AAEJ,SAASC,EAAsBC,GAA6B;AACjE,QAAM,EAAE,WAAAC,GAAW,MAAAC,IAAO,IAAI,IAAAC,IAAK,gBAAgB,EAAEL,CAAI,IAAI,OAAAM,GAAO,aAAAC,IAAc,GAAO,IAAAL,GAEnFM,IAAUC,EAAiB;AAAA,IAC/B,GAAGP;AAAA,IACH,OAAQ,MAAM,QAAQA,EAAM,KAAK,IAAIA,EAAM,QAAQ,CAACA,EAAM,KAAK;AAAA,EAAA,CAChE,GAEKQ,IAAcC,EAAwC,aAAa,GACnEC,IAAYD,EAAkD,CAAC,YAAYT,EAAM,QAAQ,cAAc,CAAC;AAE9G,2BACGQ,GAAa,EAAA,GAAIR,GAAe,IAAAG,GAAQ,aAAAE,GAA0B,QAAQ,IAAO,WAAAJ,GAAsB,OAAAG,GACtG,4BAACM,GAAW,EAAA,GAAGV,GAAO,SAAAM,GAAkB,MAAAJ,GAAY,IAAAC,EAAQ,CAAA,GAC9D;AAEJ;AAEAQ,EAAkB,UAAUZ,CAAM;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/molecules/forms/select/Select.tsx"],"sourcesContent":["import type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { FormControl as DefaultFormControl } from \"../form-control/FormControl\";\nimport { useOptions } from \"./hooks/useOptions\";\nimport { AllSelectProps } from \"./Select.interface\";\n\nlet uuid = 0;\n\nexport function Select<Data = string>(props: AllSelectProps<Data>) {\n const { className, name = \"\", id = `field-select-${++uuid}`, label, description = \"\" } = props;\n\n const options = useOptions<Data>({\n ...props,\n value: (Array.isArray(props.value) ? props.value : [props.value]) as any\n });\n\n const FormControl = getComponent<typeof DefaultFormControl>(\"FormControl\");\n const Component = getComponent<ComponentType<AllSelectProps<Data>>>([\"Select.\" + props.layout, \"Select.html5\"]);\n\n return (\n <FormControl {...(props as any)} id={id} description={description} shadow={false} className={className} label={label}>\n <Component {...props} options={options} name={name} id={id} />\n </FormControl>\n );\n}\n\nregisterComponent(\"Select\", Select);\n"],"names":["uuid","Select","props","className","name","id","label","description","options","useOptions","FormControl","getComponent","Component","registerComponent"],"mappings":";;;AAOA,IAAIA,IAAO;AAEJ,SAASC,EAAsBC,GAA6B;AACjE,QAAM,EAAE,WAAAC,GAAW,MAAAC,IAAO,IAAI,IAAAC,IAAK,gBAAgB,EAAEL,CAAI,IAAI,OAAAM,GAAO,aAAAC,IAAc,GAAA,IAAOL,GAEnFM,IAAUC,EAAiB;AAAA,IAC/B,GAAGP;AAAA,IACH,OAAQ,MAAM,QAAQA,EAAM,KAAK,IAAIA,EAAM,QAAQ,CAACA,EAAM,KAAK;AAAA,EAAA,CAChE,GAEKQ,IAAcC,EAAwC,aAAa,GACnEC,IAAYD,EAAkD,CAAC,YAAYT,EAAM,QAAQ,cAAc,CAAC;AAE9G,2BACGQ,GAAA,EAAa,GAAIR,GAAe,IAAAG,GAAQ,aAAAE,GAA0B,QAAQ,IAAO,WAAAJ,GAAsB,OAAAG,GACtG,4BAACM,GAAA,EAAW,GAAGV,GAAO,SAAAM,GAAkB,MAAAJ,GAAY,IAAAC,GAAQ,GAC9D;AAEJ;AAEAQ,EAAkB,UAAUZ,CAAM;"}
@@ -1,95 +1,93 @@
1
- import { jsx as j } from "react/jsx-runtime";
2
- import k from "@formio/choices.js";
3
- import { c as B } from "../../../../chunks/index.js";
4
- import { useRef as L, useMemo as H, useEffect as x } from "react";
5
- import { c as N } from "../../../../chunks/index.module.js";
6
- import { registerComponent as R } from "../../../../registries/components.js";
7
- import { cleanFormControlProps as $ } from "../../form-control/FormControl.js";
8
- import { callbackOnCreateTemplates as F } from "./choices.template.js";
9
- function O({
1
+ import { jsx as T } from "react/jsx-runtime";
2
+ import w from "@formio/choices.js";
3
+ import { c as z } from "../../../../chunks/index.js";
4
+ import { useRef as E, useMemo as M, useEffect as b } from "react";
5
+ import { c as g } from "../../../../chunks/index.module.js";
6
+ import { registerComponent as j } from "../../../../registries/components.js";
7
+ import { cleanFormControlProps as k } from "../../form-control/FormControl.js";
8
+ import { callbackOnCreateTemplates as B } from "./choices.template.js";
9
+ function H({
10
10
  name: r,
11
- disabled: f,
12
- multiple: l,
13
- options: S,
14
- placeholder: m,
15
- searchEnabled: E = !0,
16
- customProperties: b = {},
17
- size: T,
18
- value: i,
19
- required: I,
20
- onChange: d
11
+ disabled: i,
12
+ multiple: c,
13
+ options: f,
14
+ placeholder: l,
15
+ searchEnabled: d = !0,
16
+ customProperties: v = {},
17
+ size: I,
18
+ value: a,
19
+ required: h,
20
+ onChange: S
21
21
  }) {
22
- const h = L(), e = L(), a = H(() => {
23
- const s = (t) => [].concat(i).includes(t), c = S.map((t) => (t.options && (t = {
24
- ...t,
25
- choices: t.options.map((u) => ({
26
- ...u,
27
- selected: s(u.value)
22
+ const C = E(), t = E(), m = M(() => {
23
+ const o = (e) => [].concat(a).includes(e), n = f.map((e) => (e.options && (e = {
24
+ ...e,
25
+ choices: e.options.map((s) => ({
26
+ ...s,
27
+ selected: o(s.value)
28
28
  }))
29
29
  }), {
30
- ...t,
31
- selected: s(t.value)
30
+ ...e,
31
+ selected: o(e.value)
32
32
  }));
33
- return !l && m ? [
33
+ return !c && l ? [
34
34
  {
35
- disabled: I,
36
- label: m,
35
+ disabled: h,
36
+ label: l,
37
37
  value: ""
38
38
  },
39
- ...c
40
- ] : c;
41
- }, [S, i, I, l, m]), v = N((s, c) => {
42
- d == null || d(s, c);
39
+ ...n
40
+ ] : n;
41
+ }, [f, a, h, c, l]), u = g((o, n) => {
42
+ S?.(o, n);
43
43
  }, 50);
44
- return x(() => {
45
- e.current && (l && e.current.clearStore(), e.current.setChoices(a, "value", "label", !0));
46
- }, [a]), x(() => {
47
- var t, u, p, C;
48
- if (!e.current) {
49
- const { allowHTML: o = !0, silent: n = !0, removeItemButton: w = !0, shouldSort: z = !1, itemSelectText: M = "" } = b;
50
- e.current = new k(h.current, {
51
- ...b,
52
- allowHTML: o,
53
- silent: n,
54
- searchEnabled: E,
55
- removeItemButton: w,
56
- choices: a,
57
- placeholder: m,
44
+ return b(() => {
45
+ t.current && (c && t.current.clearStore(), t.current.setChoices(m, "value", "label", !0));
46
+ }, [m]), b(() => {
47
+ if (!t.current) {
48
+ const { allowHTML: e = !0, silent: s = !0, removeItemButton: p = !0, shouldSort: L = !1, itemSelectText: x = "" } = v;
49
+ t.current = new w(C.current, {
50
+ ...v,
51
+ allowHTML: e,
52
+ silent: s,
53
+ searchEnabled: d,
54
+ removeItemButton: p,
55
+ choices: m,
56
+ placeholder: l,
58
57
  placeholderValue: "",
59
- itemSelectText: M,
60
- shouldSort: z,
61
- callbackOnCreateTemplates: F
58
+ itemSelectText: x,
59
+ shouldSort: L,
60
+ callbackOnCreateTemplates: B
62
61
  });
63
62
  }
64
- f ? (t = e.current) == null || t.disable() : (u = e.current) == null || u.enable();
65
- const s = ({ detail: { value: o } }) => {
66
- v(r, l ? [.../* @__PURE__ */ new Set([...new Set(i), o])] : o);
67
- }, c = ({ detail: { value: o } }) => {
68
- l ? v(
63
+ i ? t.current?.disable() : t.current?.enable();
64
+ const o = ({ detail: { value: e } }) => {
65
+ u(r, c ? [.../* @__PURE__ */ new Set([...new Set(a), e])] : e);
66
+ }, n = ({ detail: { value: e } }) => {
67
+ c ? u(
69
68
  r,
70
- i.filter((n) => n !== o)
71
- ) : v(r, void 0);
69
+ a.filter((s) => s !== e)
70
+ ) : u(r, void 0);
72
71
  };
73
- return (p = e.current) == null || p.passedElement.element.addEventListener("addItem", s), (C = e.current) == null || C.passedElement.element.addEventListener("removeItem", c), () => {
74
- var o, n;
75
- (o = e.current) == null || o.passedElement.element.removeEventListener("addItem", s), (n = e.current) == null || n.passedElement.element.removeEventListener("removeItem", c);
72
+ return t.current?.passedElement.element.addEventListener("addItem", o), t.current?.passedElement.element.addEventListener("removeItem", n), () => {
73
+ t.current?.passedElement.element.removeEventListener("addItem", o), t.current?.passedElement.element.removeEventListener("removeItem", n);
76
74
  };
77
- }, [f, d, a, m, E, T, i]), {
78
- ref: h,
79
- choicesRef: e
75
+ }, [i, S, m, l, d, I, a]), {
76
+ ref: C,
77
+ choicesRef: t
80
78
  };
81
79
  }
82
- function P(r) {
83
- const { ref: f } = O({
80
+ function N(r) {
81
+ const { ref: i } = H({
84
82
  ...r,
85
83
  searchEnabled: !r.disableSearch
86
84
  });
87
- return /* @__PURE__ */ j(
85
+ return /* @__PURE__ */ T(
88
86
  "select",
89
87
  {
90
- ref: f,
88
+ ref: i,
91
89
  "data-testid": `select_${r.name}`,
92
- ...$(r, [
90
+ ...k(r, [
93
91
  "className",
94
92
  "size",
95
93
  "value",
@@ -103,13 +101,13 @@ function P(r) {
103
101
  "itemSelectText",
104
102
  "customProperties"
105
103
  ]),
106
- className: B("form-control", r.size && `form-control-${r.size}`)
104
+ className: z("form-control", r.size && `form-control-${r.size}`)
107
105
  }
108
106
  );
109
107
  }
110
- R("Select.choicesjs", P);
108
+ j("Select.choicesjs", N);
111
109
  export {
112
- P as ChoiceSelect,
113
- O as useChoices
110
+ N as ChoiceSelect,
111
+ H as useChoices
114
112
  };
115
113
  //# sourceMappingURL=ChoicesSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoicesSelect.js","sources":["../../../../../src/molecules/forms/select/components/ChoicesSelect.tsx"],"sourcesContent":["import Choices from \"@formio/choices.js\";\nimport cx from \"classnames\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { cleanFormControlProps } from \"../../form-control/FormControl\";\nimport type { AllSelectProps } from \"../Select.interface\";\nimport { callbackOnCreateTemplates } from \"./choices.template\";\n\nexport function useChoices({\n name,\n disabled,\n multiple,\n options,\n placeholder,\n searchEnabled = true,\n customProperties = {},\n size,\n value,\n required,\n onChange\n}: AllSelectProps) {\n const ref = useRef<any>();\n const choicesRef = useRef<Choices>();\n\n const opts = useMemo(() => {\n const isSelected = (itemValue: any) => [].concat(value as any).includes(itemValue as never);\n\n const opts = options.map((item) => {\n if (item.options) {\n item = {\n ...item,\n choices: item.options.map((item: any) => ({\n ...item,\n selected: isSelected(item.value)\n }))\n };\n }\n\n return {\n ...item,\n selected: isSelected(item.value)\n };\n });\n\n if (!multiple && placeholder) {\n return [\n {\n disabled: required,\n label: placeholder,\n value: \"\"\n },\n ...opts\n ];\n }\n\n return opts;\n }, [options, value, required, multiple, placeholder]);\n\n const onChangeCallback = useDebouncedCallback((name: string | undefined, value: any) => {\n onChange?.(name, value);\n }, 50);\n\n useEffect(() => {\n if (choicesRef.current) {\n if (multiple) {\n choicesRef.current.clearStore();\n choicesRef.current.setChoices(opts, \"value\", \"label\", true);\n } else {\n choicesRef.current.setChoices(opts, \"value\", \"label\", true);\n }\n }\n }, [opts]);\n\n useEffect(() => {\n if (!choicesRef.current) {\n const { allowHTML = true, silent = true, removeItemButton = true, shouldSort = false, itemSelectText = \"\" } = customProperties;\n choicesRef.current = new Choices(ref.current, {\n ...customProperties,\n allowHTML,\n silent,\n searchEnabled,\n removeItemButton,\n choices: opts,\n placeholder: placeholder as string,\n placeholderValue: \"\" as string,\n itemSelectText,\n shouldSort,\n callbackOnCreateTemplates\n } as any);\n }\n\n if (disabled) {\n choicesRef.current?.disable();\n } else {\n choicesRef.current?.enable();\n }\n\n const addItem = ({ detail: { value: newValue } }: any) => {\n onChangeCallback(name, multiple ? [...new Set([...new Set(value as string[]), newValue])] : newValue);\n };\n\n const removeItem = ({ detail: { value: newValue } }: any) => {\n if (multiple) {\n onChangeCallback(\n name,\n (value as string[]).filter((v) => v !== newValue)\n );\n } else {\n onChangeCallback(name, undefined as any);\n }\n };\n\n choicesRef.current?.passedElement.element.addEventListener(\"addItem\", addItem);\n choicesRef.current?.passedElement.element.addEventListener(\"removeItem\", removeItem);\n\n return () => {\n choicesRef.current?.passedElement.element.removeEventListener(\"addItem\", addItem);\n choicesRef.current?.passedElement.element.removeEventListener(\"removeItem\", removeItem);\n };\n }, [disabled, onChange, opts, placeholder, searchEnabled, size, value]);\n\n return {\n ref,\n choicesRef\n };\n}\n\nexport function ChoiceSelect(props: AllSelectProps) {\n const { ref } = useChoices({\n ...props,\n searchEnabled: !props.disableSearch\n });\n\n return (\n <select\n ref={ref}\n data-testid={`select_${props.name}`}\n {...cleanFormControlProps(props as any, [\n \"className\",\n \"size\",\n \"value\",\n \"options\",\n \"placeholder\",\n \"onChange\",\n \"allowHTML\",\n \"silent\",\n \"removeItemButton\",\n \"shouldSort\",\n \"itemSelectText\",\n \"customProperties\"\n ])}\n className={cx(\"form-control\", props.size && `form-control-${props.size}`)}\n />\n );\n}\n\nregisterComponent(\"Select.choicesjs\", ChoiceSelect);\n"],"names":["useChoices","name","disabled","multiple","options","placeholder","searchEnabled","customProperties","size","value","required","onChange","ref","useRef","choicesRef","opts","useMemo","isSelected","itemValue","item","onChangeCallback","useDebouncedCallback","useEffect","allowHTML","silent","removeItemButton","shouldSort","itemSelectText","Choices","callbackOnCreateTemplates","_a","_b","addItem","newValue","removeItem","v","_c","_d","ChoiceSelect","props","jsx","cleanFormControlProps","cx","registerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ChoicesSelect.js","sources":["../../../../../src/molecules/forms/select/components/ChoicesSelect.tsx"],"sourcesContent":["import Choices from \"@formio/choices.js\";\nimport cx from \"classnames\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { cleanFormControlProps } from \"../../form-control/FormControl\";\nimport type { AllSelectProps } from \"../Select.interface\";\nimport { callbackOnCreateTemplates } from \"./choices.template\";\n\nexport function useChoices({\n name,\n disabled,\n multiple,\n options,\n placeholder,\n searchEnabled = true,\n customProperties = {},\n size,\n value,\n required,\n onChange\n}: AllSelectProps) {\n const ref = useRef<any>();\n const choicesRef = useRef<Choices>();\n\n const opts = useMemo(() => {\n const isSelected = (itemValue: any) => [].concat(value as any).includes(itemValue as never);\n\n const opts = options.map((item) => {\n if (item.options) {\n item = {\n ...item,\n choices: item.options.map((item: any) => ({\n ...item,\n selected: isSelected(item.value)\n }))\n };\n }\n\n return {\n ...item,\n selected: isSelected(item.value)\n };\n });\n\n if (!multiple && placeholder) {\n return [\n {\n disabled: required,\n label: placeholder,\n value: \"\"\n },\n ...opts\n ];\n }\n\n return opts;\n }, [options, value, required, multiple, placeholder]);\n\n const onChangeCallback = useDebouncedCallback((name: string | undefined, value: any) => {\n onChange?.(name, value);\n }, 50);\n\n useEffect(() => {\n if (choicesRef.current) {\n if (multiple) {\n choicesRef.current.clearStore();\n choicesRef.current.setChoices(opts, \"value\", \"label\", true);\n } else {\n choicesRef.current.setChoices(opts, \"value\", \"label\", true);\n }\n }\n }, [opts]);\n\n useEffect(() => {\n if (!choicesRef.current) {\n const { allowHTML = true, silent = true, removeItemButton = true, shouldSort = false, itemSelectText = \"\" } = customProperties;\n choicesRef.current = new Choices(ref.current, {\n ...customProperties,\n allowHTML,\n silent,\n searchEnabled,\n removeItemButton,\n choices: opts,\n placeholder: placeholder as string,\n placeholderValue: \"\" as string,\n itemSelectText,\n shouldSort,\n callbackOnCreateTemplates\n } as any);\n }\n\n if (disabled) {\n choicesRef.current?.disable();\n } else {\n choicesRef.current?.enable();\n }\n\n const addItem = ({ detail: { value: newValue } }: any) => {\n onChangeCallback(name, multiple ? [...new Set([...new Set(value as string[]), newValue])] : newValue);\n };\n\n const removeItem = ({ detail: { value: newValue } }: any) => {\n if (multiple) {\n onChangeCallback(\n name,\n (value as string[]).filter((v) => v !== newValue)\n );\n } else {\n onChangeCallback(name, undefined as any);\n }\n };\n\n choicesRef.current?.passedElement.element.addEventListener(\"addItem\", addItem);\n choicesRef.current?.passedElement.element.addEventListener(\"removeItem\", removeItem);\n\n return () => {\n choicesRef.current?.passedElement.element.removeEventListener(\"addItem\", addItem);\n choicesRef.current?.passedElement.element.removeEventListener(\"removeItem\", removeItem);\n };\n }, [disabled, onChange, opts, placeholder, searchEnabled, size, value]);\n\n return {\n ref,\n choicesRef\n };\n}\n\nexport function ChoiceSelect(props: AllSelectProps) {\n const { ref } = useChoices({\n ...props,\n searchEnabled: !props.disableSearch\n });\n\n return (\n <select\n ref={ref}\n data-testid={`select_${props.name}`}\n {...cleanFormControlProps(props as any, [\n \"className\",\n \"size\",\n \"value\",\n \"options\",\n \"placeholder\",\n \"onChange\",\n \"allowHTML\",\n \"silent\",\n \"removeItemButton\",\n \"shouldSort\",\n \"itemSelectText\",\n \"customProperties\"\n ])}\n className={cx(\"form-control\", props.size && `form-control-${props.size}`)}\n />\n );\n}\n\nregisterComponent(\"Select.choicesjs\", ChoiceSelect);\n"],"names":["useChoices","name","disabled","multiple","options","placeholder","searchEnabled","customProperties","size","value","required","onChange","ref","useRef","choicesRef","opts","useMemo","isSelected","itemValue","item","onChangeCallback","useDebouncedCallback","useEffect","allowHTML","silent","removeItemButton","shouldSort","itemSelectText","Choices","callbackOnCreateTemplates","addItem","newValue","removeItem","v","ChoiceSelect","props","jsx","cleanFormControlProps","cx","registerComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlSelect.js","sources":["../../../../../src/molecules/forms/select/components/HtmlSelect.tsx"],"sourcesContent":["import cx from \"classnames\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { getEventValue } from \"../../../../utils/getEventValue\";\nimport { cleanFormControlProps } from \"../../form-control/FormControl\";\nimport { AllSelectProps, SelectOptionBaseProps } from \"../Select.interface\";\n\nfunction Option({ value, label, ...props }: SelectOptionBaseProps) {\n return (\n <option {...props} value={value as any}>\n {label}\n </option>\n );\n}\n\nexport function HTMLSelect({ name, id = name, size, value, multiple, onChange, options, placeholder, ...props }: AllSelectProps) {\n const hasGroup = !!options[0].options;\n\n return (\n <select\n data-testid={`select_${name}`}\n {...cleanFormControlProps(props as any)}\n className={cx(\"form-control\", size && `form-control-${size}`)}\n name={name}\n id={id}\n multiple={multiple}\n value={value || (\"\" as any)}\n onChange={(event) => {\n onChange && onChange(name, getEventValue(event));\n }}\n >\n {placeholder && !multiple && (\n <option value='' disabled>\n {placeholder}\n </option>\n )}\n {hasGroup\n ? options.map(({ label, options }) => {\n return (\n <optgroup key={label} label={label}>\n {options.map((props: SelectOptionBaseProps) => {\n return <Option key={String(props.value)} {...props} />;\n })}\n </optgroup>\n );\n })\n : (options as SelectOptionBaseProps[]).map((props) => {\n return <Option key={String(props.value)} {...props} />;\n })}\n </select>\n );\n}\n\nregisterComponent(\"Select.html5\", HTMLSelect);\n"],"names":["Option","value","label","props","jsx","HTMLSelect","name","id","size","multiple","onChange","options","placeholder","hasGroup","jsxs","cleanFormControlProps","cx","event","getEventValue","registerComponent"],"mappings":";;;;;AAOA,SAASA,EAAO,EAAE,OAAAC,GAAO,OAAAC,GAAO,GAAGC,KAAgC;AACjE,SACG,gBAAAC,EAAA,UAAA,EAAQ,GAAGD,GAAO,OAAAF,GAChB,UACHC,GAAA;AAEJ;AAEO,SAASG,EAAW,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,MAAAE,GAAM,OAAAP,GAAO,UAAAQ,GAAU,UAAAC,GAAU,SAAAC,GAAS,aAAAC,GAAa,GAAGT,KAAyB;AAC/H,QAAMU,IAAW,CAAC,CAACF,EAAQ,CAAC,EAAE;AAG5B,SAAA,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa,UAAUR,CAAI;AAAA,MAC1B,GAAGS,EAAsBZ,CAAY;AAAA,MACtC,WAAWa,EAAG,gBAAgBR,KAAQ,gBAAgBA,CAAI,EAAE;AAAA,MAC5D,MAAAF;AAAA,MACA,IAAAC;AAAA,MACA,UAAAE;AAAA,MACA,OAAOR,KAAU;AAAA,MACjB,UAAU,CAACgB,MAAU;AACnB,QAAAP,KAAYA,EAASJ,GAAMY,EAAcD,CAAK,CAAC;AAAA,MACjD;AAAA,MAEC,UAAA;AAAA,QAAeL,KAAA,CAACH,KACd,gBAAAL,EAAA,UAAA,EAAO,OAAM,IAAG,UAAQ,IACtB,UACHQ,EAAA,CAAA;AAAA,QAEDC,IACGF,EAAQ,IAAI,CAAC,EAAE,OAAAT,GAAO,SAAAS,0BAEjB,YAAqB,EAAA,OAAAT,GACnB,UAAAS,EAAQ,IAAI,CAACR,wBACJH,GAAkC,EAAA,GAAGG,KAAzB,OAAOA,EAAM,KAAK,CAAc,CACrD,KAHYD,CAIf,CAEH,IACAS,EAAoC,IAAI,CAACR,wBAChCH,GAAkC,EAAA,GAAGG,KAAzB,OAAOA,EAAM,KAAK,CAAc,CACrD;AAAA,MAAA;AAAA,IAAA;AAAA,EACP;AAEJ;AAEAgB,EAAkB,gBAAgBd,CAAU;"}
1
+ {"version":3,"file":"HtmlSelect.js","sources":["../../../../../src/molecules/forms/select/components/HtmlSelect.tsx"],"sourcesContent":["import cx from \"classnames\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { getEventValue } from \"../../../../utils/getEventValue\";\nimport { cleanFormControlProps } from \"../../form-control/FormControl\";\nimport { AllSelectProps, SelectOptionBaseProps } from \"../Select.interface\";\n\nfunction Option({ value, label, ...props }: SelectOptionBaseProps) {\n return (\n <option {...props} value={value as any}>\n {label}\n </option>\n );\n}\n\nexport function HTMLSelect({ name, id = name, size, value, multiple, onChange, options, placeholder, ...props }: AllSelectProps) {\n const hasGroup = !!options[0].options;\n\n return (\n <select\n data-testid={`select_${name}`}\n {...cleanFormControlProps(props as any)}\n className={cx(\"form-control\", size && `form-control-${size}`)}\n name={name}\n id={id}\n multiple={multiple}\n value={value || (\"\" as any)}\n onChange={(event) => {\n onChange && onChange(name, getEventValue(event));\n }}\n >\n {placeholder && !multiple && (\n <option value='' disabled>\n {placeholder}\n </option>\n )}\n {hasGroup\n ? options.map(({ label, options }) => {\n return (\n <optgroup key={label} label={label}>\n {options.map((props: SelectOptionBaseProps) => {\n return <Option key={String(props.value)} {...props} />;\n })}\n </optgroup>\n );\n })\n : (options as SelectOptionBaseProps[]).map((props) => {\n return <Option key={String(props.value)} {...props} />;\n })}\n </select>\n );\n}\n\nregisterComponent(\"Select.html5\", HTMLSelect);\n"],"names":["Option","value","label","props","jsx","HTMLSelect","name","id","size","multiple","onChange","options","placeholder","hasGroup","jsxs","cleanFormControlProps","cx","event","getEventValue","registerComponent"],"mappings":";;;;;AAOA,SAASA,EAAO,EAAE,OAAAC,GAAO,OAAAC,GAAO,GAAGC,KAAgC;AACjE,SACE,gBAAAC,EAAC,UAAA,EAAQ,GAAGD,GAAO,OAAAF,GAChB,UAAAC,GACH;AAEJ;AAEO,SAASG,EAAW,EAAE,MAAAC,GAAM,IAAAC,IAAKD,GAAM,MAAAE,GAAM,OAAAP,GAAO,UAAAQ,GAAU,UAAAC,GAAU,SAAAC,GAAS,aAAAC,GAAa,GAAGT,KAAyB;AAC/H,QAAMU,IAAW,CAAC,CAACF,EAAQ,CAAC,EAAE;AAE9B,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa,UAAUR,CAAI;AAAA,MAC1B,GAAGS,EAAsBZ,CAAY;AAAA,MACtC,WAAWa,EAAG,gBAAgBR,KAAQ,gBAAgBA,CAAI,EAAE;AAAA,MAC5D,MAAAF;AAAA,MACA,IAAAC;AAAA,MACA,UAAAE;AAAA,MACA,OAAOR,KAAU;AAAA,MACjB,UAAU,CAACgB,MAAU;AACnB,QAAAP,KAAYA,EAASJ,GAAMY,EAAcD,CAAK,CAAC;AAAA,MACjD;AAAA,MAEC,UAAA;AAAA,QAAAL,KAAe,CAACH,KACf,gBAAAL,EAAC,UAAA,EAAO,OAAM,IAAG,UAAQ,IACtB,UAAAQ,EAAA,CACH;AAAA,QAEDC,IACGF,EAAQ,IAAI,CAAC,EAAE,OAAAT,GAAO,SAAAS,0BAEjB,YAAA,EAAqB,OAAAT,GACnB,UAAAS,EAAQ,IAAI,CAACR,wBACJH,GAAA,EAAkC,GAAGG,KAAzB,OAAOA,EAAM,KAAK,CAAc,CACrD,KAHYD,CAIf,CAEH,IACAS,EAAoC,IAAI,CAACR,wBAChCH,GAAA,EAAkC,GAAGG,KAAzB,OAAOA,EAAM,KAAK,CAAc,CACrD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGX;AAEAgB,EAAkB,gBAAgBd,CAAU;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import m from "react-select";
2
+ import u from "react-select";
3
3
  import { i as s } from "../../../../chunks/react-select-animated.esm.js";
4
- import { registerComponent as f } from "../../../../registries/components.js";
5
- const d = s();
6
- function v(e, a) {
4
+ import { registerComponent as m } from "../../../../registries/components.js";
5
+ const f = s();
6
+ function d(e, a) {
7
7
  const t = [].concat(e);
8
8
  return a.flatMap((n) => {
9
9
  if (t.includes(n.value))
@@ -12,13 +12,13 @@ function v(e, a) {
12
12
  return n.options.filter((l) => t.includes(l.value));
13
13
  }).filter(Boolean);
14
14
  }
15
- function h(e, a) {
15
+ function v(e, a) {
16
16
  return a ? [].concat(e).filter(Boolean).map((t) => t.value) : e.value;
17
17
  }
18
- function b(e) {
19
- const { placeholder: a, options: t, multiple: n, searchEnabled: l = !0, customProperties: o = {} } = e, i = v(e.value, e.options);
18
+ function h(e) {
19
+ const { placeholder: a, options: t, multiple: n, searchEnabled: l = !0, customProperties: o = {} } = e, i = d(e.value, e.options);
20
20
  return /* @__PURE__ */ r(
21
- m,
21
+ u,
22
22
  {
23
23
  ...o,
24
24
  id: e.id,
@@ -26,21 +26,20 @@ function b(e) {
26
26
  className: "react-select-container",
27
27
  classNamePrefix: "react-select",
28
28
  name: e.name || "",
29
- components: d,
29
+ components: f,
30
30
  options: t,
31
31
  isDisabled: e.disabled,
32
32
  isSearchable: l,
33
33
  isMulti: e.multiple,
34
34
  value: n ? i : i[0],
35
- onChange: (u) => {
36
- var c;
37
- (c = e.onChange) == null || c.call(e, e.name, h(u, e.multiple));
35
+ onChange: (c) => {
36
+ e.onChange?.(e.name, v(c, e.multiple));
38
37
  }
39
38
  }
40
39
  );
41
40
  }
42
- f("Select.react", b);
41
+ m("Select.react", h);
43
42
  export {
44
- b as ReactSelect
43
+ h as ReactSelect
45
44
  };
46
45
  //# sourceMappingURL=ReactSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactSelect.js","sources":["../../../../../src/molecules/forms/select/components/ReactSelect.tsx"],"sourcesContent":["import Select, { OptionsOrGroups } from \"react-select\";\nimport makeAnimated from \"react-select/animated\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { AllSelectProps } from \"../Select.interface\";\n\nconst animatedComponents = makeAnimated();\n\nfunction findValues(value: string | string[], options: AllSelectProps[\"options\"][0]) {\n const localValue: string[] = [].concat(value as never);\n\n return options\n .flatMap((item: any) => {\n if (localValue.includes(item.value)) {\n return item;\n }\n\n if (item.options) {\n return item.options.filter((option: any) => localValue.includes(option.value));\n }\n })\n .filter(Boolean);\n}\n\nfunction mapValues(value: { label: string; value: never[] } | null, multiple?: boolean) {\n return multiple\n ? []\n .concat(value as never)\n .filter(Boolean)\n .map((v: { value: unknown }) => v.value)\n : (value as any).value;\n}\n\nexport function ReactSelect(props: AllSelectProps) {\n const { placeholder, options, multiple, searchEnabled = true, customProperties = {} } = props;\n\n const values = findValues(props.value!, props.options);\n\n return (\n <Select<{ label: string; value: never | never[] }>\n {...customProperties}\n id={props.id}\n placeholder={placeholder}\n className='react-select-container'\n classNamePrefix='react-select'\n name={props.name || \"\"}\n components={animatedComponents}\n options={options as OptionsOrGroups<any, any>}\n isDisabled={props.disabled}\n isSearchable={searchEnabled}\n isMulti={props.multiple as false}\n value={multiple ? values : values[0]}\n onChange={(value) => {\n props.onChange?.(props.name, mapValues(value, props.multiple));\n }}\n />\n );\n}\n\nregisterComponent(\"Select.react\", ReactSelect);\n"],"names":["animatedComponents","makeAnimated","findValues","value","options","localValue","item","option","mapValues","multiple","v","ReactSelect","props","placeholder","searchEnabled","customProperties","values","jsx","Select","_a","registerComponent"],"mappings":";;;;AAMA,MAAMA,IAAqBC,EAAa;AAExC,SAASC,EAAWC,GAA0BC,GAAuC;AACnF,QAAMC,IAAuB,CAAA,EAAG,OAAOF,CAAc;AAE9C,SAAAC,EACJ,QAAQ,CAACE,MAAc;AACtB,QAAID,EAAW,SAASC,EAAK,KAAK;AACzB,aAAAA;AAGT,QAAIA,EAAK;AACA,aAAAA,EAAK,QAAQ,OAAO,CAACC,MAAgBF,EAAW,SAASE,EAAO,KAAK,CAAC;AAAA,EAC/E,CACD,EACA,OAAO,OAAO;AACnB;AAEA,SAASC,EAAUL,GAAiDM,GAAoB;AACtF,SAAOA,IACH,CACG,EAAA,OAAON,CAAc,EACrB,OAAO,OAAO,EACd,IAAI,CAACO,MAA0BA,EAAE,KAAK,IACxCP,EAAc;AACrB;AAEO,SAASQ,EAAYC,GAAuB;AAC3C,QAAA,EAAE,aAAAC,GAAa,SAAAT,GAAS,UAAAK,GAAU,eAAAK,IAAgB,IAAM,kBAAAC,IAAmB,CAAC,EAAA,IAAMH,GAElFI,IAASd,EAAWU,EAAM,OAAQA,EAAM,OAAO;AAGnD,SAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,IAAIH,EAAM;AAAA,MACV,aAAAC;AAAA,MACA,WAAU;AAAA,MACV,iBAAgB;AAAA,MAChB,MAAMD,EAAM,QAAQ;AAAA,MACpB,YAAYZ;AAAA,MACZ,SAAAI;AAAA,MACA,YAAYQ,EAAM;AAAA,MAClB,cAAcE;AAAA,MACd,SAASF,EAAM;AAAA,MACf,OAAOH,IAAWO,IAASA,EAAO,CAAC;AAAA,MACnC,UAAU,CAACb,MAAU;;AACnB,SAAAgB,IAAAP,EAAM,aAAN,QAAAO,EAAA,KAAAP,GAAiBA,EAAM,MAAMJ,EAAUL,GAAOS,EAAM,QAAQ;AAAA,MAAC;AAAA,IAC/D;AAAA,EACF;AAEJ;AAEAQ,EAAkB,gBAAgBT,CAAW;"}
1
+ {"version":3,"file":"ReactSelect.js","sources":["../../../../../src/molecules/forms/select/components/ReactSelect.tsx"],"sourcesContent":["import Select, { OptionsOrGroups } from \"react-select\";\nimport makeAnimated from \"react-select/animated\";\n\nimport { registerComponent } from \"../../../../registries/components\";\nimport { AllSelectProps } from \"../Select.interface\";\n\nconst animatedComponents = makeAnimated();\n\nfunction findValues(value: string | string[], options: AllSelectProps[\"options\"][0]) {\n const localValue: string[] = [].concat(value as never);\n\n return options\n .flatMap((item: any) => {\n if (localValue.includes(item.value)) {\n return item;\n }\n\n if (item.options) {\n return item.options.filter((option: any) => localValue.includes(option.value));\n }\n })\n .filter(Boolean);\n}\n\nfunction mapValues(value: { label: string; value: never[] } | null, multiple?: boolean) {\n return multiple\n ? []\n .concat(value as never)\n .filter(Boolean)\n .map((v: { value: unknown }) => v.value)\n : (value as any).value;\n}\n\nexport function ReactSelect(props: AllSelectProps) {\n const { placeholder, options, multiple, searchEnabled = true, customProperties = {} } = props;\n\n const values = findValues(props.value!, props.options);\n\n return (\n <Select<{ label: string; value: never | never[] }>\n {...customProperties}\n id={props.id}\n placeholder={placeholder}\n className='react-select-container'\n classNamePrefix='react-select'\n name={props.name || \"\"}\n components={animatedComponents}\n options={options as OptionsOrGroups<any, any>}\n isDisabled={props.disabled}\n isSearchable={searchEnabled}\n isMulti={props.multiple as false}\n value={multiple ? values : values[0]}\n onChange={(value) => {\n props.onChange?.(props.name, mapValues(value, props.multiple));\n }}\n />\n );\n}\n\nregisterComponent(\"Select.react\", ReactSelect);\n"],"names":["animatedComponents","makeAnimated","findValues","value","options","localValue","item","option","mapValues","multiple","v","ReactSelect","props","placeholder","searchEnabled","customProperties","values","jsx","Select","registerComponent"],"mappings":";;;;AAMA,MAAMA,IAAqBC,EAAA;AAE3B,SAASC,EAAWC,GAA0BC,GAAuC;AACnF,QAAMC,IAAuB,CAAA,EAAG,OAAOF,CAAc;AAErD,SAAOC,EACJ,QAAQ,CAACE,MAAc;AACtB,QAAID,EAAW,SAASC,EAAK,KAAK;AAChC,aAAOA;AAGT,QAAIA,EAAK;AACP,aAAOA,EAAK,QAAQ,OAAO,CAACC,MAAgBF,EAAW,SAASE,EAAO,KAAK,CAAC;AAAA,EAEjF,CAAC,EACA,OAAO,OAAO;AACnB;AAEA,SAASC,EAAUL,GAAiDM,GAAoB;AACtF,SAAOA,IACH,CAAA,EACG,OAAON,CAAc,EACrB,OAAO,OAAO,EACd,IAAI,CAACO,MAA0BA,EAAE,KAAK,IACxCP,EAAc;AACrB;AAEO,SAASQ,EAAYC,GAAuB;AACjD,QAAM,EAAE,aAAAC,GAAa,SAAAT,GAAS,UAAAK,GAAU,eAAAK,IAAgB,IAAM,kBAAAC,IAAmB,CAAA,EAAC,IAAMH,GAElFI,IAASd,EAAWU,EAAM,OAAQA,EAAM,OAAO;AAErD,SACE,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,IAAIH,EAAM;AAAA,MACV,aAAAC;AAAA,MACA,WAAU;AAAA,MACV,iBAAgB;AAAA,MAChB,MAAMD,EAAM,QAAQ;AAAA,MACpB,YAAYZ;AAAA,MACZ,SAAAI;AAAA,MACA,YAAYQ,EAAM;AAAA,MAClB,cAAcE;AAAA,MACd,SAASF,EAAM;AAAA,MACf,OAAOH,IAAWO,IAASA,EAAO,CAAC;AAAA,MACnC,UAAU,CAACb,MAAU;AACnB,QAAAS,EAAM,WAAWA,EAAM,MAAMJ,EAAUL,GAAOS,EAAM,QAAQ,CAAC;AAAA,MAC/D;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAO,EAAkB,gBAAgBR,CAAW;"}