@tsed/react-formio 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (228) hide show
  1. package/dist/all.d.ts +0 -0
  2. package/dist/all.js +38 -0
  3. package/dist/all.js.map +1 -0
  4. package/dist/atoms/icon/Icon.js.map +1 -1
  5. package/dist/chunks/_commonjsHelpers.js +30 -3
  6. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  7. package/dist/chunks/index.js +33 -30
  8. package/dist/chunks/index.js.map +1 -1
  9. package/dist/chunks/index.module.js +16 -16
  10. package/dist/chunks/index.module.js.map +1 -1
  11. package/dist/chunks/index2.js +56953 -0
  12. package/dist/chunks/index2.js.map +1 -0
  13. package/dist/chunks/react-select-animated.esm.js +1204 -1101
  14. package/dist/chunks/react-select-animated.esm.js.map +1 -1
  15. package/dist/contexts/FormioContext.d.ts +20 -0
  16. package/dist/contexts/FormioContext.js +40 -0
  17. package/dist/contexts/FormioContext.js.map +1 -0
  18. package/dist/hooks/keyboard.constants.js.map +1 -1
  19. package/dist/hooks/useFormioContext.d.ts +10 -0
  20. package/dist/hooks/useFormioContext.js +12 -0
  21. package/dist/hooks/useFormioContext.js.map +1 -0
  22. package/dist/hooks/useI18n.d.ts +4 -0
  23. package/dist/hooks/useI18n.js +9 -0
  24. package/dist/hooks/useI18n.js.map +1 -0
  25. package/dist/hooks/useKeyboardControls.js.map +1 -1
  26. package/dist/hooks/useTooltip.js.map +1 -1
  27. package/dist/index.d.ts +1 -6
  28. package/dist/index.js +18 -13
  29. package/dist/index.js.map +1 -1
  30. package/dist/interfaces/ComponentType.d.ts +6 -2
  31. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  32. package/dist/interfaces/FormBuilderOptions.js +2 -0
  33. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  34. package/dist/interfaces/FormOptions.d.ts +6 -13
  35. package/dist/interfaces/FormType.d.ts +4 -11
  36. package/dist/interfaces/SubmissionType.d.ts +5 -10
  37. package/dist/interfaces/index.d.ts +1 -0
  38. package/dist/molecules/alert/Alert.js.map +1 -1
  39. package/dist/molecules/button/Button.js +17 -20
  40. package/dist/molecules/button/Button.js.map +1 -1
  41. package/dist/molecules/card/Card.js.map +1 -1
  42. package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
  43. package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
  44. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +19 -19
  45. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +32 -32
  46. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  47. package/dist/molecules/forms/input-tags/components/ReactTags.js +289 -300
  48. package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -1
  49. package/dist/molecules/forms/input-text/InputText.js +3 -3
  50. package/dist/molecules/forms/input-text/InputText.js.map +1 -1
  51. package/dist/molecules/forms/select/Select.js.map +1 -1
  52. package/dist/molecules/forms/select/components/ChoicesSelect.js +71 -73
  53. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  54. package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
  55. package/dist/molecules/forms/select/components/ReactSelect.js +13 -14
  56. package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
  57. package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
  58. package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
  59. package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
  60. package/dist/molecules/loader/Loader.js.map +1 -1
  61. package/dist/molecules/modal/Modal.js +23 -24
  62. package/dist/molecules/modal/Modal.js.map +1 -1
  63. package/dist/molecules/pagination/Pagination.d.ts +2 -1
  64. package/dist/molecules/pagination/Pagination.js +29 -29
  65. package/dist/molecules/pagination/Pagination.js.map +1 -1
  66. package/dist/molecules/pagination/PaginationButton.js.map +1 -1
  67. package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -1
  68. package/dist/molecules/table/Table.js +35 -41
  69. package/dist/molecules/table/Table.js.map +1 -1
  70. package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
  71. package/dist/molecules/table/components/DefaultCell.js.map +1 -1
  72. package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -1
  73. package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
  74. package/dist/molecules/table/components/DefaultCellOperations.js +10 -10
  75. package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
  76. package/dist/molecules/table/components/DefaultFilter.js.map +1 -1
  77. package/dist/molecules/table/components/DefaultOperationButton.js +1 -1
  78. package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
  79. package/dist/molecules/table/filters/RangeFilter.js +23 -24
  80. package/dist/molecules/table/filters/RangeFilter.js.map +1 -1
  81. package/dist/molecules/table/filters/SelectFilter.js +11 -13
  82. package/dist/molecules/table/filters/SelectFilter.js.map +1 -1
  83. package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -1
  84. package/dist/molecules/table/hooks/useTable.d.ts +3 -3
  85. package/dist/molecules/table/hooks/useTable.js +17 -16
  86. package/dist/molecules/table/hooks/useTable.js.map +1 -1
  87. package/dist/molecules/table/hooks/useUniqValues.js.map +1 -1
  88. package/dist/molecules/table/utils/mapFormToColumns.js +21 -22
  89. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  90. package/dist/molecules/tabs/Tab.js +36 -37
  91. package/dist/molecules/tabs/Tab.js.map +1 -1
  92. package/dist/molecules/tabs/TabList.js +9 -10
  93. package/dist/molecules/tabs/TabList.js.map +1 -1
  94. package/dist/molecules/tabs/TabPanel.js.map +1 -1
  95. package/dist/molecules/tabs/Tabs.js.map +1 -1
  96. package/dist/molecules/tabs/TabsBody.js.map +1 -1
  97. package/dist/molecules/tabs/TabsLegacy.d.ts +3 -2
  98. package/dist/molecules/tabs/TabsLegacy.js +30 -30
  99. package/dist/molecules/tabs/TabsLegacy.js.map +1 -1
  100. package/dist/molecules/tabs/context/TabControl.js.map +1 -1
  101. package/dist/molecules/tabs/hooks/tabControl.js.map +1 -1
  102. package/dist/organisms/form/Form.js.map +1 -1
  103. package/dist/organisms/form/access/FormAccess.js +41 -41
  104. package/dist/organisms/form/access/FormAccess.js.map +1 -1
  105. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  106. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  107. package/dist/organisms/form/access/FormAccess.utils.js +2 -2
  108. package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
  109. package/dist/organisms/form/actions/FormAction.js +15 -13
  110. package/dist/organisms/form/actions/FormAction.js.map +1 -1
  111. package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
  112. package/dist/organisms/form/builder/FormEdit.d.ts +4 -3
  113. package/dist/organisms/form/builder/FormEdit.js +36 -36
  114. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  115. package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
  116. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  117. package/dist/organisms/form/builder/FormEditCtas.js +36 -35
  118. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  119. package/dist/organisms/form/builder/FormParameters.js.map +1 -1
  120. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  121. package/dist/organisms/form/builder/useFormBuilder.js +36 -33
  122. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  123. package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
  124. package/dist/organisms/form/builder/useFormEdit.js +17 -17
  125. package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
  126. package/dist/organisms/form/exports/FormExport.d.ts +3 -2
  127. package/dist/organisms/form/exports/FormExport.js +23 -22
  128. package/dist/organisms/form/exports/FormExport.js.map +1 -1
  129. package/dist/organisms/form/preview/FormPreview.d.ts +3 -3
  130. package/dist/organisms/form/preview/FormPreview.js +5 -4
  131. package/dist/organisms/form/preview/FormPreview.js.map +1 -1
  132. package/dist/organisms/form/settings/FormSettings.js +28 -28
  133. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  134. package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
  135. package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
  136. package/dist/organisms/form/useForm.d.ts +2 -1
  137. package/dist/organisms/form/useForm.js +664 -661
  138. package/dist/organisms/form/useForm.js.map +1 -1
  139. package/dist/organisms/modal/RemoveModal.js +16 -17
  140. package/dist/organisms/modal/RemoveModal.js.map +1 -1
  141. package/dist/organisms/table/actions/ActionsTable.d.ts +2 -1
  142. package/dist/organisms/table/actions/ActionsTable.js +10 -9
  143. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  144. package/dist/organisms/table/forms/FormsTable.d.ts +1 -1
  145. package/dist/organisms/table/forms/FormsTable.js +9 -8
  146. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  147. package/dist/organisms/table/forms/components/FormsCell.js +10 -10
  148. package/dist/organisms/table/forms/components/FormsCell.js.map +1 -1
  149. package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
  150. package/dist/organisms/views/FormViews.d.ts +3 -3
  151. package/dist/organisms/views/FormViews.js +47 -46
  152. package/dist/organisms/views/FormViews.js.map +1 -1
  153. package/dist/registries/components.js.map +1 -1
  154. package/dist/utils/getEventValue.js.map +1 -1
  155. package/dist/utils/iconClass.js +4 -5
  156. package/dist/utils/iconClass.js.map +1 -1
  157. package/dist/utils/mapPagination.js.map +1 -1
  158. package/dist/utils/stopPropagationWrapper.js.map +1 -1
  159. package/package.json +7 -7
  160. package/src/all.ts +34 -0
  161. package/src/atoms/icon/Icon.stories.tsx +1 -1
  162. package/src/contexts/FormioContext.tsx +96 -0
  163. package/src/hooks/useFormioContext.ts +13 -0
  164. package/src/hooks/useI18n.ts +9 -0
  165. package/src/index.ts +17 -13
  166. package/src/interfaces/ComponentType.ts +2 -2
  167. package/src/interfaces/FormBuilderOptions.ts +9 -0
  168. package/src/interfaces/FormOptions.ts +7 -13
  169. package/src/interfaces/FormType.ts +5 -11
  170. package/src/interfaces/SubmissionType.ts +9 -8
  171. package/src/interfaces/index.ts +1 -0
  172. package/src/molecules/button/Button.stories.tsx +1 -1
  173. package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
  174. package/src/molecules/forms/form-control/FormControl.stories.tsx +1 -1
  175. package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +1 -1
  176. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
  177. package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +1 -1
  178. package/src/molecules/forms/input-text/InputText.stories.tsx +2 -2
  179. package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +2 -2
  180. package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
  181. package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +2 -2
  182. package/src/molecules/forms/select/components/ReactSelect.stories.tsx +2 -2
  183. package/src/molecules/loader/Loader.stories.tsx +1 -1
  184. package/src/molecules/modal/Modal.stories.tsx +1 -1
  185. package/src/molecules/pagination/Pagination.stories.tsx +1 -1
  186. package/src/molecules/pagination/Pagination.tsx +10 -10
  187. package/src/molecules/table/Table.stories.tsx +8 -8
  188. package/src/molecules/table/Table.tsx +1 -1
  189. package/src/molecules/table/filters/SelectFilter.tsx +1 -1
  190. package/src/molecules/table/hooks/useTable.tsx +7 -6
  191. package/src/molecules/table/utils/mapFormToColumns.tsx +6 -5
  192. package/src/molecules/tabs/Tabs.stories.tsx +2 -2
  193. package/src/molecules/tabs/TabsLegacy.stories.tsx +2 -2
  194. package/src/molecules/tabs/TabsLegacy.tsx +5 -3
  195. package/src/organisms/form/Form.stories.tsx +98 -118
  196. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  197. package/src/organisms/form/access/FormAccess.stories.tsx +5 -3
  198. package/src/organisms/form/actions/FormAction.stories.tsx +6 -2
  199. package/src/organisms/form/actions/FormAction.tsx +2 -2
  200. package/src/organisms/form/builder/FormBuilder.stories.tsx +4 -1
  201. package/src/organisms/form/builder/FormEdit.stories.tsx +11 -7
  202. package/src/organisms/form/builder/FormEdit.tsx +6 -6
  203. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  204. package/src/organisms/form/builder/useFormBuilder.ts +12 -7
  205. package/src/organisms/form/exports/FormExport.stories.tsx +9 -12
  206. package/src/organisms/form/exports/FormExport.tsx +12 -9
  207. package/src/organisms/form/preview/FormPreview.stories.tsx +7 -10
  208. package/src/organisms/form/preview/FormPreview.tsx +7 -5
  209. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  210. package/src/organisms/form/settings/FormSettings.stories.tsx +1 -1
  211. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  212. package/src/organisms/form/useForm.ts +2 -3
  213. package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
  214. package/src/organisms/table/actions/ActionsTable.stories.tsx +2 -2
  215. package/src/organisms/table/actions/ActionsTable.tsx +7 -5
  216. package/src/organisms/table/forms/FormsTable.tsx +6 -5
  217. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +11 -14
  218. package/src/organisms/views/FormViews.stories.tsx +14 -17
  219. package/src/organisms/views/FormViews.tsx +18 -16
  220. package/src/utils/iconClass.ts +1 -3
  221. package/vite.config.mts +2 -2
  222. package/dist/typings.d.js +0 -2
  223. package/dist/typings.d.js.map +0 -1
  224. package/src/typings.d.ts +0 -3
  225. package/tsconfig.app.json +0 -11
  226. package/tsconfig.json +0 -21
  227. package/tsconfig.node.json +0 -13
  228. package/tsconfig.spec.json +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"useOptions.js","sources":["../../../../../src/molecules/forms/select/hooks/useOptions.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport type { AllSelectProps } from \"../Select.interface\";\n\nexport function mapOptions(options: AllSelectProps[\"options\"]) {\n if (options.find((item) => item.group)) {\n let groupsMap = new Map();\n\n function mapItem(item: AllSelectProps[\"options\"][0]) {\n return {\n ...item,\n customProperties: {\n ...item.data,\n template: item.template\n }\n };\n }\n\n options.forEach((item) => {\n if (item.group) {\n // legacy model group\n const group = groupsMap.get(item.group) || [];\n\n group.push(item);\n\n groupsMap.set(item.group, group);\n } else {\n const group = groupsMap.get(\"default\") || [];\n group.push(mapItem(item));\n groupsMap.set(\"default\", group);\n }\n });\n\n return [...groupsMap.entries()].map(([label, options]) => {\n return {\n label,\n options\n };\n });\n }\n\n return options;\n}\n\nexport function useOptions<Data = string>({ options, choices }: AllSelectProps<Data>) {\n if (choices) {\n options = choices;\n }\n\n return useMemo(() => {\n return mapOptions(options);\n }, [options]);\n}\n"],"names":["mapOptions","options","item","mapItem","groupsMap","group","label","useOptions","choices","useMemo"],"mappings":";AAIO,SAASA,EAAWC,GAAoC;AAC7D,MAAIA,EAAQ,KAAK,CAACC,MAASA,EAAK,KAAK,GAAG;AAG7B,QAAAC,IAAT,SAAiBD,GAAoC;AAC5C,aAAA;AAAA,QACL,GAAGA;AAAA,QACH,kBAAkB;AAAA,UAChB,GAAGA,EAAK;AAAA,UACR,UAAUA,EAAK;AAAA,QAAA;AAAA,MAEnB;AAAA,IACF,GAVIE,wBAAgB,IAAI;AAYhB,WAAAH,EAAA,QAAQ,CAACC,MAAS;AACxB,UAAIA,EAAK,OAAO;AAEd,cAAMG,IAAQD,EAAU,IAAIF,EAAK,KAAK,KAAK,CAAC;AAE5C,QAAAG,EAAM,KAAKH,CAAI,GAELE,EAAA,IAAIF,EAAK,OAAOG,CAAK;AAAA,MAAA,OAC1B;AACL,cAAMA,IAAQD,EAAU,IAAI,SAAS,KAAK,CAAC;AACrC,QAAAC,EAAA,KAAKF,EAAQD,CAAI,CAAC,GACdE,EAAA,IAAI,WAAWC,CAAK;AAAA,MAAA;AAAA,IAChC,CACD,GAEM,CAAC,GAAGD,EAAU,QAAS,CAAA,EAAE,IAAI,CAAC,CAACE,GAAOL,CAAO,OAC3C;AAAA,MACL,OAAAK;AAAA,MACA,SAAAL;AAAAA,IACF,EACD;AAAA,EAAA;AAGI,SAAAA;AACT;AAEO,SAASM,EAA0B,EAAE,SAAAN,GAAS,SAAAO,KAAiC;AACpF,SAAIA,MACQP,IAAAO,IAGLC,EAAQ,MACNT,EAAWC,CAAO,GACxB,CAACA,CAAO,CAAC;AACd;"}
1
+ {"version":3,"file":"useOptions.js","sources":["../../../../../src/molecules/forms/select/hooks/useOptions.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport type { AllSelectProps } from \"../Select.interface\";\n\nexport function mapOptions(options: AllSelectProps[\"options\"]) {\n if (options.find((item) => item.group)) {\n let groupsMap = new Map();\n\n function mapItem(item: AllSelectProps[\"options\"][0]) {\n return {\n ...item,\n customProperties: {\n ...item.data,\n template: item.template\n }\n };\n }\n\n options.forEach((item) => {\n if (item.group) {\n // legacy model group\n const group = groupsMap.get(item.group) || [];\n\n group.push(item);\n\n groupsMap.set(item.group, group);\n } else {\n const group = groupsMap.get(\"default\") || [];\n group.push(mapItem(item));\n groupsMap.set(\"default\", group);\n }\n });\n\n return [...groupsMap.entries()].map(([label, options]) => {\n return {\n label,\n options\n };\n });\n }\n\n return options;\n}\n\nexport function useOptions<Data = string>({ options, choices }: AllSelectProps<Data>) {\n if (choices) {\n options = choices;\n }\n\n return useMemo(() => {\n return mapOptions(options);\n }, [options]);\n}\n"],"names":["mapOptions","options","item","mapItem","groupsMap","group","label","useOptions","choices","useMemo"],"mappings":";AAIO,SAASA,EAAWC,GAAoC;AAC7D,MAAIA,EAAQ,KAAK,CAACC,MAASA,EAAK,KAAK,GAAG;AAGtC,QAASC,IAAT,SAAiBD,GAAoC;AACnD,aAAO;AAAA,QACL,GAAGA;AAAA,QACH,kBAAkB;AAAA,UAChB,GAAGA,EAAK;AAAA,UACR,UAAUA,EAAK;AAAA,QAAA;AAAA,MACjB;AAAA,IAEJ,GAVIE,wBAAgB,IAAA;AAYpB,WAAAH,EAAQ,QAAQ,CAACC,MAAS;AACxB,UAAIA,EAAK,OAAO;AAEd,cAAMG,IAAQD,EAAU,IAAIF,EAAK,KAAK,KAAK,CAAA;AAE3C,QAAAG,EAAM,KAAKH,CAAI,GAEfE,EAAU,IAAIF,EAAK,OAAOG,CAAK;AAAA,MACjC,OAAO;AACL,cAAMA,IAAQD,EAAU,IAAI,SAAS,KAAK,CAAA;AAC1C,QAAAC,EAAM,KAAKF,EAAQD,CAAI,CAAC,GACxBE,EAAU,IAAI,WAAWC,CAAK;AAAA,MAChC;AAAA,IACF,CAAC,GAEM,CAAC,GAAGD,EAAU,QAAA,CAAS,EAAE,IAAI,CAAC,CAACE,GAAOL,CAAO,OAC3C;AAAA,MACL,OAAAK;AAAA,MACA,SAAAL;AAAAA,IAAA,EAEH;AAAA,EACH;AAEA,SAAOA;AACT;AAEO,SAASM,EAA0B,EAAE,SAAAN,GAAS,SAAAO,KAAiC;AACpF,SAAIA,MACFP,IAAUO,IAGLC,EAAQ,MACNT,EAAWC,CAAO,GACxB,CAACA,CAAO,CAAC;AACd;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sources":["../../../src/molecules/loader/Loader.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport { iconClass } from \"../../utils/iconClass\";\n\nexport interface LoaderProps {\n isActive?: boolean;\n color?: string;\n icon?: string;\n className?: string;\n}\n\nexport function Loader({ isActive, color = \"text-primary\", icon = \"radio-circle\", className = \"\" }: PropsWithChildren<LoaderProps>) {\n if (isActive) {\n return (\n <div\n className={classnames(\n \"opacity-85 z-20 flex items-center justify-center p-5 absolute top-0 right-0 left-0 bottom-0 bg-white\",\n className\n )}\n >\n <span data-testid={`icon_${icon}`} className={`text-8xl ${color} ${iconClass(undefined, icon, true)}`} />\n </div>\n );\n }\n return null;\n}\n"],"names":["Loader","isActive","color","icon","className","jsx","classnames","iconClass"],"mappings":";;;AAYgB,SAAAA,EAAO,EAAE,UAAAC,GAAU,OAAAC,IAAQ,gBAAgB,MAAAC,IAAO,gBAAgB,WAAAC,IAAY,MAAsC;AAClI,SAAIH,IAEA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAAA,QACT;AAAA,QACAF;AAAA,MACF;AAAA,MAEA,UAAC,gBAAAC,EAAA,QAAA,EAAK,eAAa,QAAQF,CAAI,IAAI,WAAW,YAAYD,CAAK,IAAIK,EAAU,QAAWJ,GAAM,EAAI,CAAC,GAAI,CAAA;AAAA,IAAA;AAAA,EACzG,IAGG;AACT;"}
1
+ {"version":3,"file":"Loader.js","sources":["../../../src/molecules/loader/Loader.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport { iconClass } from \"../../utils/iconClass\";\n\nexport interface LoaderProps {\n isActive?: boolean;\n color?: string;\n icon?: string;\n className?: string;\n}\n\nexport function Loader({ isActive, color = \"text-primary\", icon = \"radio-circle\", className = \"\" }: PropsWithChildren<LoaderProps>) {\n if (isActive) {\n return (\n <div\n className={classnames(\n \"opacity-85 z-20 flex items-center justify-center p-5 absolute top-0 right-0 left-0 bottom-0 bg-white\",\n className\n )}\n >\n <span data-testid={`icon_${icon}`} className={`text-8xl ${color} ${iconClass(undefined, icon, true)}`} />\n </div>\n );\n }\n return null;\n}\n"],"names":["Loader","isActive","color","icon","className","jsx","classnames","iconClass"],"mappings":";;;AAYO,SAASA,EAAO,EAAE,UAAAC,GAAU,OAAAC,IAAQ,gBAAgB,MAAAC,IAAO,gBAAgB,WAAAC,IAAY,MAAsC;AAClI,SAAIH,IAEA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAC,EAAC,QAAA,EAAK,eAAa,QAAQF,CAAI,IAAI,WAAW,YAAYD,CAAK,IAAIK,EAAU,QAAWJ,GAAM,EAAI,CAAC,GAAA,CAAI;AAAA,IAAA;AAAA,EAAA,IAItG;AACT;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as r, jsx as o } from "react/jsx-runtime";
2
- import u from "lodash";
3
- import { useState as h, useRef as g, useEffect as C } from "react";
4
- function j() {
5
- const [e, t] = h(!1);
2
+ import f from "lodash";
3
+ import { useState as u, useRef as m, useEffect as x } from "react";
4
+ function H() {
5
+ const [e, t] = u(!1);
6
6
  return {
7
7
  show: e,
8
8
  setShowModal: t,
@@ -14,34 +14,33 @@ function j() {
14
14
  }
15
15
  };
16
16
  }
17
- function S({
17
+ function $({
18
18
  show: e,
19
19
  children: t,
20
- closeModal: s = u,
21
- onClose: p = u,
20
+ closeModal: s = f,
21
+ onClose: g = f,
22
22
  title: d,
23
23
  footer: n,
24
- style: v,
25
- className: N = "",
26
- ...b
24
+ style: h,
25
+ className: v = "",
26
+ ...p
27
27
  }) {
28
- const a = g(), l = g(), [x, c] = h(), i = () => {
29
- s(), p();
28
+ const l = m(), a = m(), [N, c] = u(), i = () => {
29
+ s(), g();
30
30
  };
31
- return C(() => {
32
- var m, f;
33
- if (a.current || l.current) {
34
- const y = (((m = a == null ? void 0 : a.current) == null ? void 0 : m.offsetHeight) || 0) + (((f = l == null ? void 0 : l.current) == null ? void 0 : f.offsetHeight) || 0);
35
- c(`calc(85vh - ${y}px)`);
31
+ return x(() => {
32
+ if (l.current || a.current) {
33
+ const b = (l?.current?.offsetHeight || 0) + (a?.current?.offsetHeight || 0);
34
+ c(`calc(85vh - ${b}px)`);
36
35
  } else
37
36
  c("auto");
38
- }, [e]), e ? /* @__PURE__ */ r("div", { role: "dialog", className: `formio-dialog formio-dialog-theme-default ${N}`, children: [
37
+ }, [e]), e ? /* @__PURE__ */ r("div", { role: "dialog", className: `formio-dialog formio-dialog-theme-default ${v}`, children: [
39
38
  /* @__PURE__ */ o("div", { className: "formio-dialog-overlay", onClick: i }),
40
- /* @__PURE__ */ r("div", { style: v, className: "formio-dialog-content", children: [
39
+ /* @__PURE__ */ r("div", { style: h, className: "formio-dialog-content", children: [
41
40
  /* @__PURE__ */ r("div", { className: "formio-dialog-wrapper", children: [
42
- d ? /* @__PURE__ */ o("div", { className: "formio-dialog-title", ref: a, "data-testid": "modalTitle", children: d }) : null,
43
- /* @__PURE__ */ o("div", { className: "formio-dialog-body", style: { maxHeight: x }, "data-testid": "modalBody", children: e && t }),
44
- n ? /* @__PURE__ */ o("div", { className: "formio-dialog-footer", ref: l, "data-testid": "modalFooter", children: /* @__PURE__ */ o(n, { ...b, closeModal: s, onClose: i }) }) : null
41
+ d ? /* @__PURE__ */ o("div", { className: "formio-dialog-title", ref: l, "data-testid": "modalTitle", children: d }) : null,
42
+ /* @__PURE__ */ o("div", { className: "formio-dialog-body", style: { maxHeight: N }, "data-testid": "modalBody", children: e && t }),
43
+ n ? /* @__PURE__ */ o("div", { className: "formio-dialog-footer", ref: a, "data-testid": "modalFooter", children: /* @__PURE__ */ o(n, { ...p, closeModal: s, onClose: i }) }) : null
45
44
  ] }),
46
45
  /* @__PURE__ */ o(
47
46
  "button",
@@ -56,7 +55,7 @@ function S({
56
55
  ] }) : null;
57
56
  }
58
57
  export {
59
- S as Modal,
60
- j as useModal
58
+ $ as Modal,
59
+ H as useModal
61
60
  };
62
61
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/molecules/modal/Modal.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport noop from \"lodash\";\nimport { PropsWithChildren, useEffect, useRef, useState } from \"react\";\n\nexport function useModal() {\n const [show, setShowModal] = useState(false);\n\n return {\n show,\n setShowModal,\n openModal() {\n setShowModal(true);\n },\n closeModal() {\n setShowModal(false);\n }\n };\n}\n\nexport interface ModalProps extends Record<string, any> {\n show?: boolean;\n closeModal?: () => void;\n onClose?: () => void;\n footer?: any;\n title?: string;\n}\n\nexport function Modal({\n show,\n children,\n closeModal = noop as any,\n onClose = noop as any,\n title,\n footer: ModalFooter,\n style,\n className = \"\",\n ...props\n}: PropsWithChildren<ModalProps>) {\n const titleRef: any = useRef<HTMLDivElement>();\n const footerRef: any = useRef<HTMLDivElement>();\n const [maxHeight, setMaxHeight] = useState<string>();\n\n const onClickClose = () => {\n closeModal();\n onClose();\n };\n\n useEffect(() => {\n if (titleRef.current || footerRef.current) {\n const height = (titleRef?.current?.offsetHeight || 0) + (footerRef?.current?.offsetHeight || 0);\n\n setMaxHeight(`calc(85vh - ${height}px)`);\n } else {\n setMaxHeight(\"auto\");\n }\n }, [show]);\n\n if (!show) {\n return null;\n }\n\n return (\n <div role={\"dialog\"} className={`formio-dialog formio-dialog-theme-default ${className}`}>\n <div className='formio-dialog-overlay' onClick={onClickClose} />\n <div style={style} className={\"formio-dialog-content\"}>\n <div className={\"formio-dialog-wrapper\"}>\n {title ? (\n <div className={\"formio-dialog-title\"} ref={titleRef} data-testid={\"modalTitle\"}>\n {title}\n </div>\n ) : null}\n\n <div className='formio-dialog-body' style={{ maxHeight }} data-testid={\"modalBody\"}>\n {show && children}\n </div>\n\n {ModalFooter ? (\n <div className={\"formio-dialog-footer\"} ref={footerRef} data-testid={\"modalFooter\"}>\n <ModalFooter {...props} closeModal={closeModal} onClose={onClickClose} />\n </div>\n ) : null}\n </div>\n <button\n className='formio-dialog-close float-right btn btn-secondary btn-sm'\n aria-label='close'\n data-testid={\"closeModal\"}\n onClick={onClickClose}\n />\n </div>\n </div>\n );\n}\n"],"names":["useModal","show","setShowModal","useState","Modal","children","closeModal","noop","onClose","title","ModalFooter","style","className","props","titleRef","useRef","footerRef","maxHeight","setMaxHeight","onClickClose","useEffect","height","_a","_b","jsx","jsxs"],"mappings":";;;AAKO,SAASA,IAAW;AACzB,QAAM,CAACC,GAAMC,CAAY,IAAIC,EAAS,EAAK;AAEpC,SAAA;AAAA,IACL,MAAAF;AAAA,IACA,cAAAC;AAAA,IACA,YAAY;AACV,MAAAA,EAAa,EAAI;AAAA,IACnB;AAAA,IACA,aAAa;AACX,MAAAA,EAAa,EAAK;AAAA,IAAA;AAAA,EAEtB;AACF;AAUO,SAASE,EAAM;AAAA,EACpB,MAAAH;AAAA,EACA,UAAAI;AAAA,EACA,YAAAC,IAAaC;AAAA,EACb,SAAAC,IAAUD;AAAA,EACV,OAAAE;AAAA,EACA,QAAQC;AAAA,EACR,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAkC;AAChC,QAAMC,IAAgBC,EAAuB,GACvCC,IAAiBD,EAAuB,GACxC,CAACE,GAAWC,CAAY,IAAIf,EAAiB,GAE7CgB,IAAe,MAAM;AACd,IAAAb,EAAA,GACHE,EAAA;AAAA,EACV;AAYA,SAVAY,EAAU,MAAM;;AACV,QAAAN,EAAS,WAAWE,EAAU,SAAS;AACzC,YAAMK,OAAUC,IAAAR,KAAA,gBAAAA,EAAU,YAAV,gBAAAQ,EAAmB,iBAAgB,QAAMC,IAAAP,KAAA,gBAAAA,EAAW,YAAX,gBAAAO,EAAoB,iBAAgB;AAEhF,MAAAL,EAAA,eAAeG,CAAM,KAAK;AAAA,IAAA;AAEvC,MAAAH,EAAa,MAAM;AAAA,EACrB,GACC,CAACjB,CAAI,CAAC,GAEJA,sBAKF,OAAI,EAAA,MAAM,UAAU,WAAW,6CAA6CW,CAAS,IACpF,UAAA;AAAA,IAAA,gBAAAY,EAAC,OAAI,EAAA,WAAU,yBAAwB,SAASL,GAAc;AAAA,IAC7D,gBAAAM,EAAA,OAAA,EAAI,OAAAd,GAAc,WAAW,yBAC5B,UAAA;AAAA,MAAC,gBAAAc,EAAA,OAAA,EAAI,WAAW,yBACb,UAAA;AAAA,QACChB,IAAA,gBAAAe,EAAC,SAAI,WAAW,uBAAuB,KAAKV,GAAU,eAAa,cAChE,UAAAL,EAAA,CACH,IACE;AAAA,QAEJ,gBAAAe,EAAC,OAAI,EAAA,WAAU,sBAAqB,OAAO,EAAE,WAAAP,EAAa,GAAA,eAAa,aACpE,UAAAhB,KAAQI,EACX,CAAA;AAAA,QAECK,IACE,gBAAAc,EAAA,OAAA,EAAI,WAAW,wBAAwB,KAAKR,GAAW,eAAa,eACnE,UAAA,gBAAAQ,EAACd,KAAa,GAAGG,GAAO,YAAAP,GAAwB,SAASa,GAAc,GACzE,IACE;AAAA,MAAA,GACN;AAAA,MACA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,cAAW;AAAA,UACX,eAAa;AAAA,UACb,SAASL;AAAA,QAAA;AAAA,MAAA;AAAA,IACX,EACF,CAAA;AAAA,EAAA,GACF,IA/BO;AAiCX;"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/molecules/modal/Modal.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport noop from \"lodash\";\nimport { PropsWithChildren, useEffect, useRef, useState } from \"react\";\n\nexport function useModal() {\n const [show, setShowModal] = useState(false);\n\n return {\n show,\n setShowModal,\n openModal() {\n setShowModal(true);\n },\n closeModal() {\n setShowModal(false);\n }\n };\n}\n\nexport interface ModalProps extends Record<string, any> {\n show?: boolean;\n closeModal?: () => void;\n onClose?: () => void;\n footer?: any;\n title?: string;\n}\n\nexport function Modal({\n show,\n children,\n closeModal = noop as any,\n onClose = noop as any,\n title,\n footer: ModalFooter,\n style,\n className = \"\",\n ...props\n}: PropsWithChildren<ModalProps>) {\n const titleRef: any = useRef<HTMLDivElement>();\n const footerRef: any = useRef<HTMLDivElement>();\n const [maxHeight, setMaxHeight] = useState<string>();\n\n const onClickClose = () => {\n closeModal();\n onClose();\n };\n\n useEffect(() => {\n if (titleRef.current || footerRef.current) {\n const height = (titleRef?.current?.offsetHeight || 0) + (footerRef?.current?.offsetHeight || 0);\n\n setMaxHeight(`calc(85vh - ${height}px)`);\n } else {\n setMaxHeight(\"auto\");\n }\n }, [show]);\n\n if (!show) {\n return null;\n }\n\n return (\n <div role={\"dialog\"} className={`formio-dialog formio-dialog-theme-default ${className}`}>\n <div className='formio-dialog-overlay' onClick={onClickClose} />\n <div style={style} className={\"formio-dialog-content\"}>\n <div className={\"formio-dialog-wrapper\"}>\n {title ? (\n <div className={\"formio-dialog-title\"} ref={titleRef} data-testid={\"modalTitle\"}>\n {title}\n </div>\n ) : null}\n\n <div className='formio-dialog-body' style={{ maxHeight }} data-testid={\"modalBody\"}>\n {show && children}\n </div>\n\n {ModalFooter ? (\n <div className={\"formio-dialog-footer\"} ref={footerRef} data-testid={\"modalFooter\"}>\n <ModalFooter {...props} closeModal={closeModal} onClose={onClickClose} />\n </div>\n ) : null}\n </div>\n <button\n className='formio-dialog-close float-right btn btn-secondary btn-sm'\n aria-label='close'\n data-testid={\"closeModal\"}\n onClick={onClickClose}\n />\n </div>\n </div>\n );\n}\n"],"names":["useModal","show","setShowModal","useState","Modal","children","closeModal","noop","onClose","title","ModalFooter","style","className","props","titleRef","useRef","footerRef","maxHeight","setMaxHeight","onClickClose","useEffect","height","jsx","jsxs"],"mappings":";;;AAKO,SAASA,IAAW;AACzB,QAAM,CAACC,GAAMC,CAAY,IAAIC,EAAS,EAAK;AAE3C,SAAO;AAAA,IACL,MAAAF;AAAA,IACA,cAAAC;AAAA,IACA,YAAY;AACV,MAAAA,EAAa,EAAI;AAAA,IACnB;AAAA,IACA,aAAa;AACX,MAAAA,EAAa,EAAK;AAAA,IACpB;AAAA,EAAA;AAEJ;AAUO,SAASE,EAAM;AAAA,EACpB,MAAAH;AAAA,EACA,UAAAI;AAAA,EACA,YAAAC,IAAaC;AAAAA,EACb,SAAAC,IAAUD;AAAAA,EACV,OAAAE;AAAA,EACA,QAAQC;AAAA,EACR,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAkC;AAChC,QAAMC,IAAgBC,EAAA,GAChBC,IAAiBD,EAAA,GACjB,CAACE,GAAWC,CAAY,IAAIf,EAAA,GAE5BgB,IAAe,MAAM;AACzB,IAAAb,EAAA,GACAE,EAAA;AAAA,EACF;AAYA,SAVAY,EAAU,MAAM;AACd,QAAIN,EAAS,WAAWE,EAAU,SAAS;AACzC,YAAMK,KAAUP,GAAU,SAAS,gBAAgB,MAAME,GAAW,SAAS,gBAAgB;AAE7F,MAAAE,EAAa,eAAeG,CAAM,KAAK;AAAA,IACzC;AACE,MAAAH,EAAa,MAAM;AAAA,EAEvB,GAAG,CAACjB,CAAI,CAAC,GAEJA,sBAKF,OAAA,EAAI,MAAM,UAAU,WAAW,6CAA6CW,CAAS,IACpF,UAAA;AAAA,IAAA,gBAAAU,EAAC,OAAA,EAAI,WAAU,yBAAwB,SAASH,GAAc;AAAA,IAC9D,gBAAAI,EAAC,OAAA,EAAI,OAAAZ,GAAc,WAAW,yBAC5B,UAAA;AAAA,MAAA,gBAAAY,EAAC,OAAA,EAAI,WAAW,yBACb,UAAA;AAAA,QAAAd,IACC,gBAAAa,EAAC,SAAI,WAAW,uBAAuB,KAAKR,GAAU,eAAa,cAChE,UAAAL,EAAA,CACH,IACE;AAAA,QAEJ,gBAAAa,EAAC,OAAA,EAAI,WAAU,sBAAqB,OAAO,EAAE,WAAAL,EAAA,GAAa,eAAa,aACpE,UAAAhB,KAAQI,EAAA,CACX;AAAA,QAECK,IACC,gBAAAY,EAAC,OAAA,EAAI,WAAW,wBAAwB,KAAKN,GAAW,eAAa,eACnE,UAAA,gBAAAM,EAACZ,KAAa,GAAGG,GAAO,YAAAP,GAAwB,SAASa,GAAc,GACzE,IACE;AAAA,MAAA,GACN;AAAA,MACA,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,cAAW;AAAA,UACX,eAAa;AAAA,UACb,SAASH;AAAA,QAAA;AAAA,MAAA;AAAA,IACX,EAAA,CACF;AAAA,EAAA,GACF,IA/BO;AAiCX;"}
@@ -1,3 +1,4 @@
1
+ import { FormOptions } from '../../interfaces/index.js';
1
2
  export interface PaginationProps {
2
3
  className?: string;
3
4
  pageSizes?: number[];
@@ -9,7 +10,7 @@ export interface PaginationProps {
9
10
  pageSize: number;
10
11
  rowCount?: number;
11
12
  layout?: "html5" | "react" | "choicesjs";
12
- i18n?: (f: string) => string;
13
+ i18n?: FormOptions["i18n"];
13
14
  onPageIndexChange: (pageIndex: number) => void;
14
15
  onClickPreviousPage: () => void;
15
16
  onClickNextPage: () => void;
@@ -1,8 +1,9 @@
1
- import { jsxs as n, jsx as a } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
2
  import { c as s } from "../../chunks/index.js";
3
- import { registerComponent as S, getComponent as h } from "../../registries/components.js";
4
- import { getPageNumbers as z, LEFT_PAGE as E, RIGHT_PAGE as G } from "./utils/getPageNumbers.js";
5
- function T(r) {
3
+ import { useI18n as S } from "../../hooks/useI18n.js";
4
+ import { registerComponent as z, getComponent as p } from "../../registries/components.js";
5
+ import { getPageNumbers as E, LEFT_PAGE as G, RIGHT_PAGE as T } from "./utils/getPageNumbers.js";
6
+ function _(r) {
6
7
  const {
7
8
  className: u,
8
9
  pageSizes: P = [10, 25, 50, 100],
@@ -12,30 +13,29 @@ function T(r) {
12
13
  onClickNextPage: x,
13
14
  canNextPage: m,
14
15
  pageCount: f,
15
- pageIndex: l = 1,
16
- pageOptions: g,
16
+ pageIndex: t = 1,
17
+ pageOptions: d,
17
18
  pageSize: C,
18
19
  onPageSizeChange: v,
19
- rowCount: d,
20
- i18n: i = (e) => e
21
- } = r, p = z({
22
- currentPage: l,
20
+ rowCount: g
21
+ } = r, { t: i } = S(r.i18n), h = E({
22
+ currentPage: t,
23
23
  // pageNeighbours,
24
24
  totalPages: f
25
- }), I = P.map((e) => ({ value: e, label: e })), k = h("Select"), o = h("PaginationButton");
25
+ }), I = P.map((a) => ({ value: a, label: a })), k = p("Select"), l = p("PaginationButton");
26
26
  return /* @__PURE__ */ n("nav", { "aria-label": "Page navigation", className: s("pagination-group -mb-3", u), children: [
27
27
  /* @__PURE__ */ n("ul", { className: "pagination mb-3 mr-3", children: [
28
- /* @__PURE__ */ a("li", { className: s("page-item", !c && "disabled"), children: /* @__PURE__ */ a(o, { tabIndex: -1, disabled: !c, onClick: () => b(), children: i("Previous") }) }),
29
- p.map((e) => {
30
- if ([E, G].includes(e))
31
- return /* @__PURE__ */ a("li", { className: "page-item", children: /* @__PURE__ */ a(o, { "aria-hidden": "true", children: "..." }) }, e);
32
- const t = e - 1 === l;
33
- return /* @__PURE__ */ a("li", { className: s("page-item", t && "active"), children: /* @__PURE__ */ a(o, { tabIndex: l, active: t, onClick: () => N(e - 1), children: e }) }, e);
28
+ /* @__PURE__ */ e("li", { className: s("page-item", !c && "disabled"), children: /* @__PURE__ */ e(l, { tabIndex: -1, disabled: !c, onClick: () => b(), children: i("Previous") }) }),
29
+ h.map((a) => {
30
+ if ([G, T].includes(a))
31
+ return /* @__PURE__ */ e("li", { className: "page-item", children: /* @__PURE__ */ e(l, { "aria-hidden": "true", children: "..." }) }, a);
32
+ const o = a - 1 === t;
33
+ return /* @__PURE__ */ e("li", { className: s("page-item", o && "active"), children: /* @__PURE__ */ e(l, { tabIndex: t, active: o, onClick: () => N(a - 1), children: a }) }, a);
34
34
  }),
35
- /* @__PURE__ */ a("li", { className: s("page-item", !m && "disabled"), children: /* @__PURE__ */ a(o, { tabIndex: p.length, disabled: !m, onClick: () => x(), children: i("Next") }) })
35
+ /* @__PURE__ */ e("li", { className: s("page-item", !m && "disabled"), children: /* @__PURE__ */ e(l, { tabIndex: h.length, disabled: !m, onClick: () => x(), children: i("Next") }) })
36
36
  ] }),
37
37
  /* @__PURE__ */ n("li", { className: "mb-3 mr-3 flex items-center", children: [
38
- /* @__PURE__ */ a(
38
+ /* @__PURE__ */ e(
39
39
  k,
40
40
  {
41
41
  name: "page",
@@ -43,35 +43,35 @@ function T(r) {
43
43
  options: I,
44
44
  multiple: !1,
45
45
  layout: r.layout,
46
- onChange: (e, t) => {
47
- console.log("On page change", t), v(+t);
46
+ onChange: (a, o) => {
47
+ v(+o);
48
48
  }
49
49
  }
50
50
  ),
51
- /* @__PURE__ */ a("span", { className: "ml-3", children: i("items per page") })
51
+ /* @__PURE__ */ e("span", { className: "ml-3", children: i("items per page") })
52
52
  ] }),
53
- g && /* @__PURE__ */ n("li", { className: "mb-3 mr-3 flex items-center", children: [
53
+ d && /* @__PURE__ */ n("li", { className: "mb-3 mr-3 flex items-center", children: [
54
54
  /* @__PURE__ */ n("span", { children: [
55
55
  i("Page"),
56
56
  " "
57
57
  ] }),
58
58
  /* @__PURE__ */ n("strong", { children: [
59
- l + 1,
59
+ t + 1,
60
60
  " of ",
61
- g.length
61
+ d.length
62
62
  ] })
63
63
  ] }),
64
- d !== void 0 && /* @__PURE__ */ n("li", { className: "mb-3 flex items-center", "data-testid": "pagination-total-items", children: [
64
+ g !== void 0 && /* @__PURE__ */ n("li", { className: "mb-3 flex items-center", "data-testid": "pagination-total-items", children: [
65
65
  i("Total"),
66
66
  ": ",
67
- /* @__PURE__ */ a("strong", { className: "mx-1", children: new Intl.NumberFormat(void 0).format(d) }),
67
+ /* @__PURE__ */ e("strong", { className: "mx-1", children: new Intl.NumberFormat(void 0).format(g) }),
68
68
  " ",
69
69
  i("items")
70
70
  ] })
71
71
  ] });
72
72
  }
73
- S("Pagination", T);
73
+ z("Pagination", _);
74
74
  export {
75
- T as Pagination
75
+ _ as Pagination
76
76
  };
77
77
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/molecules/pagination/Pagination.tsx"],"sourcesContent":["import classnames from \"classnames\";\n\nimport { getComponent, registerComponent } from \"../../registries/components\";\nimport type { Select as DefaultSelect } from \"../forms/select/Select\";\nimport type { PaginationButton as DefaultPaginationButton } from \"./PaginationButton\";\nimport { getPageNumbers, LEFT_PAGE, RIGHT_PAGE } from \"./utils/getPageNumbers.js\";\n\nexport interface PaginationProps {\n className?: string;\n pageSizes?: number[];\n canPreviousPage: boolean;\n canNextPage: boolean;\n pageCount: number;\n pageIndex: number;\n pageOptions?: number[];\n pageSize: number;\n rowCount?: number;\n layout?: \"html5\" | \"react\" | \"choicesjs\";\n i18n?: (f: string) => string;\n\n onPageIndexChange: (pageIndex: number) => void;\n onClickPreviousPage: () => void;\n onClickNextPage: () => void;\n onPageSizeChange: (pageSize: number) => void;\n}\n\nexport function Pagination(props: PaginationProps) {\n const {\n className,\n pageSizes = [10, 25, 50, 100],\n onPageIndexChange,\n canPreviousPage,\n onClickPreviousPage,\n onClickNextPage,\n canNextPage,\n pageCount,\n pageIndex = 1,\n pageOptions,\n pageSize,\n onPageSizeChange,\n rowCount,\n i18n = (f: string) => f\n } = props;\n\n const pageNumbers = getPageNumbers({\n currentPage: pageIndex,\n // pageNeighbours,\n totalPages: pageCount\n });\n\n const options: any[] = pageSizes.map((value) => ({ value, label: value }));\n const Select = getComponent<typeof DefaultSelect>(\"Select\");\n const PaginationButton = getComponent<typeof DefaultPaginationButton>(\"PaginationButton\");\n\n return (\n <nav aria-label='Page navigation' className={classnames(\"pagination-group -mb-3\", className)}>\n <ul className='pagination mb-3 mr-3'>\n <li className={classnames(\"page-item\", !canPreviousPage && \"disabled\")}>\n <PaginationButton tabIndex={-1} disabled={!canPreviousPage} onClick={() => onClickPreviousPage()}>\n {i18n(\"Previous\")}\n </PaginationButton>\n </li>\n\n {pageNumbers.map((page) => {\n if ([LEFT_PAGE, RIGHT_PAGE].includes(page)) {\n return (\n <li className='page-item' key={page}>\n <PaginationButton aria-hidden='true'>...</PaginationButton>\n </li>\n );\n }\n\n const active = page - 1 === pageIndex;\n return (\n <li className={classnames(\"page-item\", active && \"active\")} key={page}>\n <PaginationButton tabIndex={pageIndex} active={active} onClick={() => onPageIndexChange(page - 1)}>\n {page}\n </PaginationButton>\n </li>\n );\n })}\n\n <li className={classnames(\"page-item\", !canNextPage && \"disabled\")}>\n <PaginationButton tabIndex={pageNumbers.length} disabled={!canNextPage} onClick={() => onClickNextPage()}>\n {i18n(\"Next\")}\n </PaginationButton>\n </li>\n </ul>\n\n <li className='mb-3 mr-3 flex items-center'>\n <Select<number>\n name={\"page\"}\n value={pageSize}\n options={options}\n multiple={false}\n layout={props.layout}\n onChange={(_, value) => {\n console.log(\"On page change\", value);\n onPageSizeChange(+value);\n }}\n />\n <span className={\"ml-3\"}>{i18n(\"items per page\")}</span>\n </li>\n {pageOptions && (\n <li className={\"mb-3 mr-3 flex items-center\"}>\n <span>{i18n(\"Page\")}&nbsp;</span>\n <strong>\n {pageIndex + 1} of {pageOptions.length}\n </strong>\n </li>\n )}\n {rowCount !== undefined && (\n <li className={\"mb-3 flex items-center\"} data-testid='pagination-total-items'>\n {i18n(\"Total\")}: <strong className='mx-1'>{new Intl.NumberFormat(undefined).format(rowCount)}</strong> {i18n(\"items\")}\n </li>\n )}\n </nav>\n );\n}\n\nregisterComponent(\"Pagination\", Pagination);\n"],"names":["Pagination","props","className","pageSizes","onPageIndexChange","canPreviousPage","onClickPreviousPage","onClickNextPage","canNextPage","pageCount","pageIndex","pageOptions","pageSize","onPageSizeChange","rowCount","i18n","f","pageNumbers","getPageNumbers","options","value","Select","getComponent","PaginationButton","jsxs","classnames","jsx","page","LEFT_PAGE","RIGHT_PAGE","active","_","registerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/molecules/pagination/Pagination.tsx"],"sourcesContent":["import classnames from \"classnames\";\n\nimport { useI18n } from \"../../hooks/useI18n.js\";\nimport type { FormOptions } from \"../../interfaces/index.js\";\nimport { getComponent, registerComponent } from \"../../registries/components\";\nimport type { Select as DefaultSelect } from \"../forms/select/Select\";\nimport type { PaginationButton as DefaultPaginationButton } from \"./PaginationButton\";\nimport { getPageNumbers, LEFT_PAGE, RIGHT_PAGE } from \"./utils/getPageNumbers.js\";\n\nexport interface PaginationProps {\n className?: string;\n pageSizes?: number[];\n canPreviousPage: boolean;\n canNextPage: boolean;\n pageCount: number;\n pageIndex: number;\n pageOptions?: number[];\n pageSize: number;\n rowCount?: number;\n layout?: \"html5\" | \"react\" | \"choicesjs\";\n i18n?: FormOptions[\"i18n\"];\n onPageIndexChange: (pageIndex: number) => void;\n onClickPreviousPage: () => void;\n onClickNextPage: () => void;\n onPageSizeChange: (pageSize: number) => void;\n}\n\nexport function Pagination(props: PaginationProps) {\n const {\n className,\n pageSizes = [10, 25, 50, 100],\n onPageIndexChange,\n canPreviousPage,\n onClickPreviousPage,\n onClickNextPage,\n canNextPage,\n pageCount,\n pageIndex = 1,\n pageOptions,\n pageSize,\n onPageSizeChange,\n rowCount\n } = props;\n const { t } = useI18n(props.i18n);\n\n const pageNumbers = getPageNumbers({\n currentPage: pageIndex,\n // pageNeighbours,\n totalPages: pageCount\n });\n\n const options: any[] = pageSizes.map((value) => ({ value, label: value }));\n const Select = getComponent<typeof DefaultSelect>(\"Select\");\n const PaginationButton = getComponent<typeof DefaultPaginationButton>(\"PaginationButton\");\n\n return (\n <nav aria-label='Page navigation' className={classnames(\"pagination-group -mb-3\", className)}>\n <ul className='pagination mb-3 mr-3'>\n <li className={classnames(\"page-item\", !canPreviousPage && \"disabled\")}>\n <PaginationButton tabIndex={-1} disabled={!canPreviousPage} onClick={() => onClickPreviousPage()}>\n {t(\"Previous\")}\n </PaginationButton>\n </li>\n\n {pageNumbers.map((page) => {\n if ([LEFT_PAGE, RIGHT_PAGE].includes(page)) {\n return (\n <li className='page-item' key={page}>\n <PaginationButton aria-hidden='true'>...</PaginationButton>\n </li>\n );\n }\n\n const active = page - 1 === pageIndex;\n return (\n <li className={classnames(\"page-item\", active && \"active\")} key={page}>\n <PaginationButton tabIndex={pageIndex} active={active} onClick={() => onPageIndexChange(page - 1)}>\n {page}\n </PaginationButton>\n </li>\n );\n })}\n\n <li className={classnames(\"page-item\", !canNextPage && \"disabled\")}>\n <PaginationButton tabIndex={pageNumbers.length} disabled={!canNextPage} onClick={() => onClickNextPage()}>\n {t(\"Next\")}\n </PaginationButton>\n </li>\n </ul>\n\n <li className='mb-3 mr-3 flex items-center'>\n <Select<number>\n name={\"page\"}\n value={pageSize}\n options={options}\n multiple={false}\n layout={props.layout}\n onChange={(_, value) => {\n onPageSizeChange(+value);\n }}\n />\n <span className={\"ml-3\"}>{t(\"items per page\")}</span>\n </li>\n {pageOptions && (\n <li className={\"mb-3 mr-3 flex items-center\"}>\n <span>{t(\"Page\")}&nbsp;</span>\n <strong>\n {pageIndex + 1} of {pageOptions.length}\n </strong>\n </li>\n )}\n {rowCount !== undefined && (\n <li className={\"mb-3 flex items-center\"} data-testid='pagination-total-items'>\n {t(\"Total\")}: <strong className='mx-1'>{new Intl.NumberFormat(undefined).format(rowCount)}</strong> {t(\"items\")}\n </li>\n )}\n </nav>\n );\n}\n\nregisterComponent(\"Pagination\", Pagination);\n"],"names":["Pagination","props","className","pageSizes","onPageIndexChange","canPreviousPage","onClickPreviousPage","onClickNextPage","canNextPage","pageCount","pageIndex","pageOptions","pageSize","onPageSizeChange","rowCount","t","useI18n","pageNumbers","getPageNumbers","options","value","Select","getComponent","PaginationButton","jsxs","classnames","jsx","page","LEFT_PAGE","RIGHT_PAGE","active","_","registerComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationButton.js","sources":["../../../src/molecules/pagination/PaginationButton.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport { registerComponent } from \"../../registries/components\";\n\nexport function PaginationButton(\n props: PropsWithChildren<\n {\n component?: any;\n disabled?: boolean;\n className?: string;\n active?: boolean;\n } & Record<string, any>\n >\n) {\n const { component: Component = \"button\", children, disabled, active, ...otherProps } = props;\n\n return (\n <Component\n {...otherProps}\n data-testid='pagination-button'\n disabled={disabled}\n className={classnames(\"page-link\", disabled ? \"disabled\" : \"\", active ? \"\" : \"\", props.className)}\n >\n {children}\n </Component>\n );\n}\n\nregisterComponent(\"PaginationButton\", PaginationButton);\n"],"names":["PaginationButton","props","Component","children","disabled","active","otherProps","jsx","classnames","registerComponent"],"mappings":";;;AAKO,SAASA,EACdC,GAQA;AACM,QAAA,EAAE,WAAWC,IAAY,UAAU,UAAAC,GAAU,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,EAAA,IAAeL;AAGrF,SAAA,gBAAAM;AAAA,IAACL;AAAA,IAAA;AAAA,MACE,GAAGI;AAAA,MACJ,eAAY;AAAA,MACZ,UAAAF;AAAA,MACA,WAAWI,EAAW,aAAaJ,IAAW,aAAa,IAAa,IAASH,EAAM,SAAS;AAAA,MAE/F,UAAAE;AAAA,IAAA;AAAA,EACH;AAEJ;AAEAM,EAAkB,oBAAoBT,CAAgB;"}
1
+ {"version":3,"file":"PaginationButton.js","sources":["../../../src/molecules/pagination/PaginationButton.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport { registerComponent } from \"../../registries/components\";\n\nexport function PaginationButton(\n props: PropsWithChildren<\n {\n component?: any;\n disabled?: boolean;\n className?: string;\n active?: boolean;\n } & Record<string, any>\n >\n) {\n const { component: Component = \"button\", children, disabled, active, ...otherProps } = props;\n\n return (\n <Component\n {...otherProps}\n data-testid='pagination-button'\n disabled={disabled}\n className={classnames(\"page-link\", disabled ? \"disabled\" : \"\", active ? \"\" : \"\", props.className)}\n >\n {children}\n </Component>\n );\n}\n\nregisterComponent(\"PaginationButton\", PaginationButton);\n"],"names":["PaginationButton","props","Component","children","disabled","active","otherProps","jsx","classnames","registerComponent"],"mappings":";;;AAKO,SAASA,EACdC,GAQA;AACA,QAAM,EAAE,WAAWC,IAAY,UAAU,UAAAC,GAAU,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,EAAA,IAAeL;AAEvF,SACE,gBAAAM;AAAA,IAACL;AAAA,IAAA;AAAA,MACE,GAAGI;AAAA,MACJ,eAAY;AAAA,MACZ,UAAAF;AAAA,MACA,WAAWI,EAAW,aAAaJ,IAAW,aAAa,IAAa,IAASH,EAAM,SAAS;AAAA,MAE/F,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGP;AAEAM,EAAkB,oBAAoBT,CAAgB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPageNumbers.js","sources":["../../../../src/molecules/pagination/utils/getPageNumbers.ts"],"sourcesContent":["export const LEFT_PAGE = \"LEFT\";\nexport const RIGHT_PAGE = \"RIGHT\";\n\nfunction range(from: number, to: number, step = 1): any[] {\n let i = from;\n const range = [];\n\n while (i <= to) {\n range.push(i);\n i += step;\n }\n\n return range;\n}\n\nexport function getPageNumbers({ currentPage, pageNeighbours = 1, totalPages }: any) {\n const totalNumbers = pageNeighbours * 2 + 3;\n const totalBlocks = totalNumbers + 2;\n\n if (totalPages > totalBlocks) {\n const calculatedStartPage = Math.max(2, currentPage - pageNeighbours);\n const calculatedEndPage = Math.min(totalPages - 1, currentPage + pageNeighbours);\n const startPage = calculatedStartPage === 3 ? 2 : calculatedStartPage;\n const endPage = calculatedEndPage === totalPages - 2 ? totalPages - 1 : calculatedEndPage;\n\n let pages = range(startPage, endPage);\n\n const hasLeftSpill = startPage > 2;\n const hasRightSpill = totalPages - endPage > 1;\n const spillOffset = totalNumbers - (pages.length + 1);\n let extraPages;\n\n if (hasLeftSpill && !hasRightSpill) {\n extraPages = range(startPage - spillOffset, startPage - 1);\n pages = [LEFT_PAGE, ...extraPages, ...pages];\n } else if (!hasLeftSpill && hasRightSpill) {\n extraPages = range(endPage + 1, endPage + spillOffset);\n pages = [...pages, ...extraPages, RIGHT_PAGE];\n } else {\n pages = [LEFT_PAGE, ...pages, RIGHT_PAGE];\n }\n\n return [1, ...pages, totalPages];\n }\n\n return range(1, totalPages);\n}\n"],"names":["LEFT_PAGE","RIGHT_PAGE","range","from","to","step","i","getPageNumbers","currentPage","pageNeighbours","totalPages","totalNumbers","totalBlocks","calculatedStartPage","calculatedEndPage","startPage","endPage","pages","hasLeftSpill","hasRightSpill","spillOffset","extraPages"],"mappings":"AAAO,MAAMA,IAAY,QACZC,IAAa;AAE1B,SAASC,EAAMC,GAAcC,GAAYC,IAAO,GAAU;AACxD,MAAIC,IAAIH;AACR,QAAMD,IAAQ,CAAC;AAEf,SAAOI,KAAKF;AACVF,IAAAA,EAAM,KAAKI,CAAC,GACPA,KAAAD;AAGAH,SAAAA;AACT;AAEO,SAASK,EAAe,EAAE,aAAAC,GAAa,gBAAAC,IAAiB,GAAG,YAAAC,KAAmB;AAC7E,QAAAC,IAAeF,IAAiB,IAAI,GACpCG,IAAcD,IAAe;AAEnC,MAAID,IAAaE,GAAa;AAC5B,UAAMC,IAAsB,KAAK,IAAI,GAAGL,IAAcC,CAAc,GAC9DK,IAAoB,KAAK,IAAIJ,IAAa,GAAGF,IAAcC,CAAc,GACzEM,IAAYF,MAAwB,IAAI,IAAIA,GAC5CG,IAAUF,MAAsBJ,IAAa,IAAIA,IAAa,IAAII;AAEpE,QAAAG,IAAQf,EAAMa,GAAWC,CAAO;AAEpC,UAAME,IAAeH,IAAY,GAC3BI,IAAgBT,IAAaM,IAAU,GACvCI,IAAcT,KAAgBM,EAAM,SAAS;AAC/C,QAAAI;AAEA,WAAAH,KAAgB,CAACC,KACnBE,IAAanB,EAAMa,IAAYK,GAAaL,IAAY,CAAC,GACzDE,IAAQ,CAACjB,GAAW,GAAGqB,GAAY,GAAGJ,CAAK,KAClC,CAACC,KAAgBC,KAC1BE,IAAanB,EAAMc,IAAU,GAAGA,IAAUI,CAAW,GACrDH,IAAQ,CAAC,GAAGA,GAAO,GAAGI,GAAYpB,CAAU,KAE5CgB,IAAQ,CAACjB,GAAW,GAAGiB,GAAOhB,CAAU,GAGnC,CAAC,GAAG,GAAGgB,GAAOP,CAAU;AAAA,EAAA;AAG1B,SAAAR,EAAM,GAAGQ,CAAU;AAC5B;"}
1
+ {"version":3,"file":"getPageNumbers.js","sources":["../../../../src/molecules/pagination/utils/getPageNumbers.ts"],"sourcesContent":["export const LEFT_PAGE = \"LEFT\";\nexport const RIGHT_PAGE = \"RIGHT\";\n\nfunction range(from: number, to: number, step = 1): any[] {\n let i = from;\n const range = [];\n\n while (i <= to) {\n range.push(i);\n i += step;\n }\n\n return range;\n}\n\nexport function getPageNumbers({ currentPage, pageNeighbours = 1, totalPages }: any) {\n const totalNumbers = pageNeighbours * 2 + 3;\n const totalBlocks = totalNumbers + 2;\n\n if (totalPages > totalBlocks) {\n const calculatedStartPage = Math.max(2, currentPage - pageNeighbours);\n const calculatedEndPage = Math.min(totalPages - 1, currentPage + pageNeighbours);\n const startPage = calculatedStartPage === 3 ? 2 : calculatedStartPage;\n const endPage = calculatedEndPage === totalPages - 2 ? totalPages - 1 : calculatedEndPage;\n\n let pages = range(startPage, endPage);\n\n const hasLeftSpill = startPage > 2;\n const hasRightSpill = totalPages - endPage > 1;\n const spillOffset = totalNumbers - (pages.length + 1);\n let extraPages;\n\n if (hasLeftSpill && !hasRightSpill) {\n extraPages = range(startPage - spillOffset, startPage - 1);\n pages = [LEFT_PAGE, ...extraPages, ...pages];\n } else if (!hasLeftSpill && hasRightSpill) {\n extraPages = range(endPage + 1, endPage + spillOffset);\n pages = [...pages, ...extraPages, RIGHT_PAGE];\n } else {\n pages = [LEFT_PAGE, ...pages, RIGHT_PAGE];\n }\n\n return [1, ...pages, totalPages];\n }\n\n return range(1, totalPages);\n}\n"],"names":["LEFT_PAGE","RIGHT_PAGE","range","from","to","step","i","getPageNumbers","currentPage","pageNeighbours","totalPages","totalNumbers","totalBlocks","calculatedStartPage","calculatedEndPage","startPage","endPage","pages","hasLeftSpill","hasRightSpill","spillOffset","extraPages"],"mappings":"AAAO,MAAMA,IAAY,QACZC,IAAa;AAE1B,SAASC,EAAMC,GAAcC,GAAYC,IAAO,GAAU;AACxD,MAAIC,IAAIH;AACR,QAAMD,IAAQ,CAAA;AAEd,SAAOI,KAAKF;AACVF,IAAAA,EAAM,KAAKI,CAAC,GACZA,KAAKD;AAGP,SAAOH;AACT;AAEO,SAASK,EAAe,EAAE,aAAAC,GAAa,gBAAAC,IAAiB,GAAG,YAAAC,KAAmB;AACnF,QAAMC,IAAeF,IAAiB,IAAI,GACpCG,IAAcD,IAAe;AAEnC,MAAID,IAAaE,GAAa;AAC5B,UAAMC,IAAsB,KAAK,IAAI,GAAGL,IAAcC,CAAc,GAC9DK,IAAoB,KAAK,IAAIJ,IAAa,GAAGF,IAAcC,CAAc,GACzEM,IAAYF,MAAwB,IAAI,IAAIA,GAC5CG,IAAUF,MAAsBJ,IAAa,IAAIA,IAAa,IAAII;AAExE,QAAIG,IAAQf,EAAMa,GAAWC,CAAO;AAEpC,UAAME,IAAeH,IAAY,GAC3BI,IAAgBT,IAAaM,IAAU,GACvCI,IAAcT,KAAgBM,EAAM,SAAS;AACnD,QAAII;AAEJ,WAAIH,KAAgB,CAACC,KACnBE,IAAanB,EAAMa,IAAYK,GAAaL,IAAY,CAAC,GACzDE,IAAQ,CAACjB,GAAW,GAAGqB,GAAY,GAAGJ,CAAK,KAClC,CAACC,KAAgBC,KAC1BE,IAAanB,EAAMc,IAAU,GAAGA,IAAUI,CAAW,GACrDH,IAAQ,CAAC,GAAGA,GAAO,GAAGI,GAAYpB,CAAU,KAE5CgB,IAAQ,CAACjB,GAAW,GAAGiB,GAAOhB,CAAU,GAGnC,CAAC,GAAG,GAAGgB,GAAOP,CAAU;AAAA,EACjC;AAEA,SAAOR,EAAM,GAAGQ,CAAU;AAC5B;"}
@@ -1,63 +1,57 @@
1
- import { jsxs as d, jsx as a } from "react/jsx-runtime";
2
- import { createElement as x } from "react";
3
- import { flexRender as C } from "@tanstack/react-table";
4
- import { c as f } from "../../chunks/index.js";
5
- import { getComponent as s } from "../../registries/components.js";
6
- import { useTable as b } from "./hooks/useTable.js";
7
- function y({
8
- className: g,
9
- enableFooter: m,
10
- children: u,
1
+ import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
+ import { createElement as h } from "react";
3
+ import { flexRender as x } from "@tanstack/react-table";
4
+ import { c as C } from "../../chunks/index.js";
5
+ import { getComponent as r } from "../../registries/components.js";
6
+ import { useTable as f } from "./hooks/useTable.js";
7
+ function w({
8
+ className: c,
9
+ enableFooter: g,
10
+ children: m,
11
11
  ...i
12
12
  }) {
13
- const { tableInstance: n, i18n: l } = b(i), p = s("CellHeader"), P = s("CellFooter"), h = s("Pagination"), { pagination: r } = n.getState();
14
- return /* @__PURE__ */ d("div", { className: f("table-group table-responsive", g), children: [
15
- /* @__PURE__ */ d("table", { className: "table table-striped table-hover", children: [
16
- /* @__PURE__ */ a("thead", { children: n.getHeaderGroups().map((t) => /* @__PURE__ */ a("tr", { children: t.headers.map((e) => {
17
- const o = e.column.getIsSorted();
18
- return /* @__PURE__ */ a(
13
+ const { tableInstance: a, i18n: d } = f(i), u = r("CellHeader"), P = r("CellFooter"), p = r("Pagination"), { pagination: o } = a.getState();
14
+ return /* @__PURE__ */ l("div", { className: C("table-group table-responsive", c), children: [
15
+ /* @__PURE__ */ l("table", { className: "table table-striped table-hover", children: [
16
+ /* @__PURE__ */ n("thead", { children: a.getHeaderGroups().map((t) => /* @__PURE__ */ n("tr", { children: t.headers.map((e) => {
17
+ const s = e.column.getIsSorted();
18
+ return /* @__PURE__ */ n(
19
19
  "th",
20
20
  {
21
21
  "data-testid": `head-cell-${e.id}`,
22
- "aria-sort": o ? o === "asc" ? "ascending" : "descending" : "none",
23
- children: e.isPlaceholder ? null : /* @__PURE__ */ a(p, { header: e, i18n: l })
22
+ "aria-sort": s ? s === "asc" ? "ascending" : "descending" : "none",
23
+ children: e.isPlaceholder ? null : /* @__PURE__ */ n(u, { header: e, i18n: d })
24
24
  },
25
25
  e.id
26
26
  );
27
27
  }) }, t.id)) }),
28
- /* @__PURE__ */ a("tbody", { children: n.getRowModel().rows.map((t) => /* @__PURE__ */ a("tr", { "data-testid": `body-row-${t.id}`, children: t.getVisibleCells().filter((e) => {
29
- var o;
30
- return !((o = e.column.columnDef.meta) != null && o.hidden);
31
- }).map((e) => {
32
- var o, c;
33
- return /* @__PURE__ */ x("td", { ...(c = (o = e.column.columnDef) == null ? void 0 : o.meta) == null ? void 0 : c.cellProps, key: e.id, "data-testid": `body-cell-${e.id}` }, C(e.column.columnDef.cell, e.getContext()));
34
- }) }, t.id)) }),
35
- m && /* @__PURE__ */ a("tfoot", { children: n.getFooterGroups().map((t) => /* @__PURE__ */ a("tr", { children: t.headers.map((e) => /* @__PURE__ */ a("th", { children: e.isPlaceholder ? null : /* @__PURE__ */ a(P, { header: e, i18n: l }) }, e.id)) }, t.id)) })
28
+ /* @__PURE__ */ n("tbody", { children: a.getRowModel().rows.map((t) => /* @__PURE__ */ n("tr", { "data-testid": `body-row-${t.id}`, children: t.getVisibleCells().filter((e) => !e.column.columnDef.meta?.hidden).map((e) => /* @__PURE__ */ h("td", { ...e.column.columnDef?.meta?.cellProps, key: e.id, "data-testid": `body-cell-${e.id}` }, x(e.column.columnDef.cell, e.getContext()))) }, t.id)) }),
29
+ g && /* @__PURE__ */ n("tfoot", { children: a.getFooterGroups().map((t) => /* @__PURE__ */ n("tr", { children: t.headers.map((e) => /* @__PURE__ */ n("th", { children: e.isPlaceholder ? null : /* @__PURE__ */ n(P, { header: e, i18n: d }) }, e.id)) }, t.id)) })
36
30
  ] }),
37
- /* @__PURE__ */ d("div", { className: "overflow-hidden flex flex-wrap", children: [
38
- i.data.length && r ? /* @__PURE__ */ a(
39
- h,
31
+ /* @__PURE__ */ l("div", { className: "overflow-hidden flex flex-wrap", children: [
32
+ i.data.length && o ? /* @__PURE__ */ n(
33
+ p,
40
34
  {
41
35
  className: "flex-1",
42
- canNextPage: n.getCanNextPage(),
43
- canPreviousPage: n.getCanPreviousPage(),
44
- pageIndex: r.pageIndex,
45
- pageSize: r.pageSize,
36
+ canNextPage: a.getCanNextPage(),
37
+ canPreviousPage: a.getCanPreviousPage(),
38
+ pageIndex: o.pageIndex,
39
+ pageSize: o.pageSize,
46
40
  pageSizes: i.pageSizes,
47
- i18n: l,
48
- pageCount: n.getPageCount(),
41
+ i18n: i.i18n,
42
+ pageCount: a.getPageCount(),
49
43
  rowCount: i.rowCount,
50
- onPageIndexChange: (t) => n.setPageIndex(t),
51
- onClickPreviousPage: () => n.previousPage(),
52
- onClickNextPage: () => n.nextPage(),
53
- onPageSizeChange: (t) => n.setPageSize(t)
44
+ onPageIndexChange: (t) => a.setPageIndex(t),
45
+ onClickPreviousPage: () => a.previousPage(),
46
+ onClickNextPage: () => a.nextPage(),
47
+ onPageSizeChange: (t) => a.setPageSize(t)
54
48
  }
55
49
  ) : null,
56
- /* @__PURE__ */ a("div", { children: u })
50
+ /* @__PURE__ */ n("div", { children: m })
57
51
  ] })
58
52
  ] });
59
53
  }
60
54
  export {
61
- y as Table
55
+ w as Table
62
56
  };
63
57
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../src/molecules/table/Table.tsx"],"sourcesContent":["import { flexRender } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport type { JSON } from \"../../interfaces/index.js\";\nimport { getComponent } from \"../../registries/components\";\nimport type { Pagination as DefaultPagination } from \"../pagination/Pagination\";\nimport type { DefaultCellFooter } from \"./components/DefaultCellFooter\";\nimport type { DefaultCellHeader } from \"./components/DefaultCellHeader\";\nimport { useTable, UseTableProps } from \"./hooks/useTable\";\n\nexport interface TableProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> extends UseTableProps<Data> {\n className?: string;\n\n enableFooter?: boolean;\n\n pageSizes?: number[];\n}\n\nexport function Table<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n className,\n enableFooter,\n children,\n ...props\n}: PropsWithChildren<TableProps<Data>>) {\n const { tableInstance, i18n } = useTable<Data>(props);\n const CellHeader = getComponent<typeof DefaultCellHeader>(\"CellHeader\");\n const CellFooter = getComponent<typeof DefaultCellFooter>(\"CellFooter\");\n const Pagination = getComponent<typeof DefaultPagination>(\"Pagination\");\n\n const { pagination } = tableInstance.getState();\n\n return (\n <div className={cx(\"table-group table-responsive\", className)}>\n <table className='table table-striped table-hover'>\n <thead>\n {tableInstance.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const sort = header.column.getIsSorted();\n return (\n <th\n data-testid={`head-cell-${header.id}`}\n key={header.id}\n aria-sort={sort ? (sort === \"asc\" ? \"ascending\" : \"descending\") : \"none\"}\n >\n {header.isPlaceholder ? null : <CellHeader header={header} i18n={i18n} />}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {tableInstance.getRowModel().rows.map((row) => {\n return (\n <tr key={row.id} data-testid={`body-row-${row.id}`}>\n {row\n .getVisibleCells()\n .filter((cell) => !cell.column.columnDef.meta?.hidden)\n .map((cell) => {\n return (\n <td {...cell.column.columnDef?.meta?.cellProps} key={cell.id} data-testid={`body-cell-${cell.id}`}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n {enableFooter && (\n <tfoot>\n {tableInstance.getFooterGroups().map((footerGroup) => (\n <tr key={footerGroup.id}>\n {footerGroup.headers.map((header) => (\n <th key={header.id}>{header.isPlaceholder ? null : <CellFooter header={header} i18n={i18n} />}</th>\n ))}\n </tr>\n ))}\n </tfoot>\n )}\n </table>\n <div className={\"overflow-hidden flex flex-wrap\"}>\n {props.data.length && pagination ? (\n <Pagination\n className={\"flex-1\"}\n canNextPage={tableInstance.getCanNextPage()}\n canPreviousPage={tableInstance.getCanPreviousPage()}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n pageSizes={props.pageSizes}\n i18n={i18n}\n pageCount={tableInstance.getPageCount()}\n rowCount={props.rowCount}\n onPageIndexChange={(page) => tableInstance.setPageIndex(page)}\n onClickPreviousPage={() => tableInstance.previousPage()}\n onClickNextPage={() => tableInstance.nextPage()}\n onPageSizeChange={(pageSize) => tableInstance.setPageSize(pageSize)}\n />\n ) : null}\n <div>{children}</div>\n </div>\n </div>\n );\n}\n"],"names":["Table","className","enableFooter","children","props","tableInstance","i18n","useTable","CellHeader","getComponent","CellFooter","Pagination","pagination","cx","jsxs","jsx","headerGroup","header","sort","row","cell","_a","createElement","_b","flexRender","footerGroup","page","pageSize"],"mappings":";;;;;;AAmBO,SAASA,EAAsE;AAAA,EACpF,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAwC;AACtC,QAAM,EAAE,eAAAC,GAAe,MAAAC,MAASC,EAAeH,CAAK,GAC9CI,IAAaC,EAAuC,YAAY,GAChEC,IAAaD,EAAuC,YAAY,GAChEE,IAAaF,EAAuC,YAAY,GAEhE,EAAE,YAAAG,EAAA,IAAeP,EAAc,SAAS;AAE9C,2BACG,OAAI,EAAA,WAAWQ,EAAG,gCAAgCZ,CAAS,GAC1D,UAAA;AAAA,IAAC,gBAAAa,EAAA,SAAA,EAAM,WAAU,mCACf,UAAA;AAAA,MAAA,gBAAAC,EAAC,SACE,EAAA,UAAAV,EAAc,gBAAgB,EAAE,IAAI,CAACW,MACpC,gBAAAD,EAAC,MACE,EAAA,UAAAC,EAAY,QAAQ,IAAI,CAACC,MAAW;AAC7B,cAAAC,IAAOD,EAAO,OAAO,YAAY;AAErC,eAAA,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAa,aAAaE,EAAO,EAAE;AAAA,YAEnC,aAAWC,IAAQA,MAAS,QAAQ,cAAc,eAAgB;AAAA,YAEjE,YAAO,gBAAgB,OAAQ,gBAAAH,EAAAP,GAAA,EAAW,QAAAS,GAAgB,MAAAX,EAAY,CAAA;AAAA,UAAA;AAAA,UAHlEW,EAAO;AAAA,QAId;AAAA,MAEH,CAAA,KAZMD,EAAY,EAarB,CACD,EACH,CAAA;AAAA,MACA,gBAAAD,EAAC,WACE,UAAcV,EAAA,YAAA,EAAc,KAAK,IAAI,CAACc,MAEnC,gBAAAJ,EAAC,QAAgB,eAAa,YAAYI,EAAI,EAAE,IAC7C,UACEA,EAAA,kBACA,OAAO,CAACC;;AAAS,kBAACC,IAAAD,EAAK,OAAO,UAAU,SAAtB,QAAAC,EAA4B;AAAA,OAAM,EACpD,IAAI,CAACD,MAAS;;AAEX,eAAA,gBAAAE,EAAC,MAAI,EAAA,IAAGC,KAAAF,IAAAD,EAAK,OAAO,cAAZ,gBAAAC,EAAuB,SAAvB,gBAAAE,EAA6B,WAAW,KAAKH,EAAK,IAAI,eAAa,aAAaA,EAAK,EAAE,GAC5F,GAAAI,EAAWJ,EAAK,OAAO,UAAU,MAAMA,EAAK,WAAY,CAAA,CAC3D;AAAA,MAAA,CAEH,EAVI,GAAAD,EAAI,EAWb,CAEH,GACH;AAAA,MACCjB,KACC,gBAAAa,EAAC,SACE,EAAA,UAAAV,EAAc,gBAAkB,EAAA,IAAI,CAACoB,MACnC,gBAAAV,EAAA,MAAA,EACE,UAAYU,EAAA,QAAQ,IAAI,CAACR,MACvB,gBAAAF,EAAA,MAAA,EAAoB,UAAOE,EAAA,gBAAgB,OAAO,gBAAAF,EAACL,KAAW,QAAAO,GAAgB,MAAAX,EAAA,CAAY,EAAlF,GAAAW,EAAO,EAA8E,CAC/F,EAAA,GAHMQ,EAAY,EAIrB,CACD,EACH,CAAA;AAAA,IAAA,GAEJ;AAAA,IACA,gBAAAX,EAAC,OAAI,EAAA,WAAW,kCACb,UAAA;AAAA,MAAMV,EAAA,KAAK,UAAUQ,IACpB,gBAAAG;AAAA,QAACJ;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,aAAaN,EAAc,eAAe;AAAA,UAC1C,iBAAiBA,EAAc,mBAAmB;AAAA,UAClD,WAAWO,EAAW;AAAA,UACtB,UAAUA,EAAW;AAAA,UACrB,WAAWR,EAAM;AAAA,UACjB,MAAAE;AAAA,UACA,WAAWD,EAAc,aAAa;AAAA,UACtC,UAAUD,EAAM;AAAA,UAChB,mBAAmB,CAACsB,MAASrB,EAAc,aAAaqB,CAAI;AAAA,UAC5D,qBAAqB,MAAMrB,EAAc,aAAa;AAAA,UACtD,iBAAiB,MAAMA,EAAc,SAAS;AAAA,UAC9C,kBAAkB,CAACsB,MAAatB,EAAc,YAAYsB,CAAQ;AAAA,QAAA;AAAA,MAAA,IAElE;AAAA,MACJ,gBAAAZ,EAAC,SAAK,UAAAZ,EAAS,CAAA;AAAA,IAAA,EACjB,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"Table.js","sources":["../../../src/molecules/table/Table.tsx"],"sourcesContent":["import { flexRender } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\nimport { PropsWithChildren } from \"react\";\n\nimport type { JSON } from \"../../interfaces/index.js\";\nimport { getComponent } from \"../../registries/components\";\nimport type { Pagination as DefaultPagination } from \"../pagination/Pagination\";\nimport type { DefaultCellFooter } from \"./components/DefaultCellFooter\";\nimport type { DefaultCellHeader } from \"./components/DefaultCellHeader\";\nimport { useTable, UseTableProps } from \"./hooks/useTable\";\n\nexport interface TableProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> extends UseTableProps<Data> {\n className?: string;\n\n enableFooter?: boolean;\n\n pageSizes?: number[];\n}\n\nexport function Table<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n className,\n enableFooter,\n children,\n ...props\n}: PropsWithChildren<TableProps<Data>>) {\n const { tableInstance, i18n } = useTable<Data>(props);\n const CellHeader = getComponent<typeof DefaultCellHeader>(\"CellHeader\");\n const CellFooter = getComponent<typeof DefaultCellFooter>(\"CellFooter\");\n const Pagination = getComponent<typeof DefaultPagination>(\"Pagination\");\n\n const { pagination } = tableInstance.getState();\n\n return (\n <div className={cx(\"table-group table-responsive\", className)}>\n <table className='table table-striped table-hover'>\n <thead>\n {tableInstance.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const sort = header.column.getIsSorted();\n return (\n <th\n data-testid={`head-cell-${header.id}`}\n key={header.id}\n aria-sort={sort ? (sort === \"asc\" ? \"ascending\" : \"descending\") : \"none\"}\n >\n {header.isPlaceholder ? null : <CellHeader header={header} i18n={i18n} />}\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n <tbody>\n {tableInstance.getRowModel().rows.map((row) => {\n return (\n <tr key={row.id} data-testid={`body-row-${row.id}`}>\n {row\n .getVisibleCells()\n .filter((cell) => !cell.column.columnDef.meta?.hidden)\n .map((cell) => {\n return (\n <td {...cell.column.columnDef?.meta?.cellProps} key={cell.id} data-testid={`body-cell-${cell.id}`}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n {enableFooter && (\n <tfoot>\n {tableInstance.getFooterGroups().map((footerGroup) => (\n <tr key={footerGroup.id}>\n {footerGroup.headers.map((header) => (\n <th key={header.id}>{header.isPlaceholder ? null : <CellFooter header={header} i18n={i18n} />}</th>\n ))}\n </tr>\n ))}\n </tfoot>\n )}\n </table>\n <div className={\"overflow-hidden flex flex-wrap\"}>\n {props.data.length && pagination ? (\n <Pagination\n className={\"flex-1\"}\n canNextPage={tableInstance.getCanNextPage()}\n canPreviousPage={tableInstance.getCanPreviousPage()}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n pageSizes={props.pageSizes}\n i18n={props.i18n}\n pageCount={tableInstance.getPageCount()}\n rowCount={props.rowCount}\n onPageIndexChange={(page) => tableInstance.setPageIndex(page)}\n onClickPreviousPage={() => tableInstance.previousPage()}\n onClickNextPage={() => tableInstance.nextPage()}\n onPageSizeChange={(pageSize) => tableInstance.setPageSize(pageSize)}\n />\n ) : null}\n <div>{children}</div>\n </div>\n </div>\n );\n}\n"],"names":["Table","className","enableFooter","children","props","tableInstance","i18n","useTable","CellHeader","getComponent","CellFooter","Pagination","pagination","cx","jsxs","jsx","headerGroup","header","sort","row","cell","createElement","flexRender","footerGroup","page","pageSize"],"mappings":";;;;;;AAmBO,SAASA,EAAsE;AAAA,EACpF,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAwC;AACtC,QAAM,EAAE,eAAAC,GAAe,MAAAC,MAASC,EAAeH,CAAK,GAC9CI,IAAaC,EAAuC,YAAY,GAChEC,IAAaD,EAAuC,YAAY,GAChEE,IAAaF,EAAuC,YAAY,GAEhE,EAAE,YAAAG,EAAA,IAAeP,EAAc,SAAA;AAErC,2BACG,OAAA,EAAI,WAAWQ,EAAG,gCAAgCZ,CAAS,GAC1D,UAAA;AAAA,IAAA,gBAAAa,EAAC,SAAA,EAAM,WAAU,mCACf,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAA,EACE,UAAAV,EAAc,gBAAA,EAAkB,IAAI,CAACW,MACpC,gBAAAD,EAAC,MAAA,EACE,UAAAC,EAAY,QAAQ,IAAI,CAACC,MAAW;AACnC,cAAMC,IAAOD,EAAO,OAAO,YAAA;AAC3B,eACE,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAa,aAAaE,EAAO,EAAE;AAAA,YAEnC,aAAWC,IAAQA,MAAS,QAAQ,cAAc,eAAgB;AAAA,YAEjE,YAAO,gBAAgB,OAAO,gBAAAH,EAACP,GAAA,EAAW,QAAAS,GAAgB,MAAAX,EAAA,CAAY;AAAA,UAAA;AAAA,UAHlEW,EAAO;AAAA,QAAA;AAAA,MAMlB,CAAC,EAAA,GAZMD,EAAY,EAarB,CACD,EAAA,CACH;AAAA,MACA,gBAAAD,EAAC,WACE,UAAAV,EAAc,YAAA,EAAc,KAAK,IAAI,CAACc,MAEnC,gBAAAJ,EAAC,QAAgB,eAAa,YAAYI,EAAI,EAAE,IAC7C,UAAAA,EACE,kBACA,OAAO,CAACC,MAAS,CAACA,EAAK,OAAO,UAAU,MAAM,MAAM,EACpD,IAAI,CAACA,MAEF,gBAAAC,EAAC,MAAA,EAAI,GAAGD,EAAK,OAAO,WAAW,MAAM,WAAW,KAAKA,EAAK,IAAI,eAAa,aAAaA,EAAK,EAAE,GAAA,GAC5FE,EAAWF,EAAK,OAAO,UAAU,MAAMA,EAAK,WAAA,CAAY,CAC3D,CAEH,EAAA,GAVID,EAAI,EAWb,CAEH,EAAA,CACH;AAAA,MACCjB,KACC,gBAAAa,EAAC,SAAA,EACE,UAAAV,EAAc,kBAAkB,IAAI,CAACkB,MACpC,gBAAAR,EAAC,MAAA,EACE,UAAAQ,EAAY,QAAQ,IAAI,CAACN,MACxB,gBAAAF,EAAC,MAAA,EAAoB,UAAAE,EAAO,gBAAgB,OAAO,gBAAAF,EAACL,KAAW,QAAAO,GAAgB,MAAAX,EAAA,CAAY,EAAA,GAAlFW,EAAO,EAA8E,CAC/F,EAAA,GAHMM,EAAY,EAIrB,CACD,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,IACA,gBAAAT,EAAC,OAAA,EAAI,WAAW,kCACb,UAAA;AAAA,MAAAV,EAAM,KAAK,UAAUQ,IACpB,gBAAAG;AAAA,QAACJ;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,aAAaN,EAAc,eAAA;AAAA,UAC3B,iBAAiBA,EAAc,mBAAA;AAAA,UAC/B,WAAWO,EAAW;AAAA,UACtB,UAAUA,EAAW;AAAA,UACrB,WAAWR,EAAM;AAAA,UACjB,MAAMA,EAAM;AAAA,UACZ,WAAWC,EAAc,aAAA;AAAA,UACzB,UAAUD,EAAM;AAAA,UAChB,mBAAmB,CAACoB,MAASnB,EAAc,aAAamB,CAAI;AAAA,UAC5D,qBAAqB,MAAMnB,EAAc,aAAA;AAAA,UACzC,iBAAiB,MAAMA,EAAc,SAAA;AAAA,UACrC,kBAAkB,CAACoB,MAAapB,EAAc,YAAYoB,CAAQ;AAAA,QAAA;AAAA,MAAA,IAElE;AAAA,MACJ,gBAAAV,EAAC,SAAK,UAAAZ,EAAA,CAAS;AAAA,IAAA,EAAA,CACjB;AAAA,EAAA,GACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultArrowSort.js","sources":["../../../../src/molecules/table/components/DefaultArrowSort.tsx"],"sourcesContent":["import type { Header } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\nimport { iconClass } from \"../../../utils/iconClass\";\n\nexport interface DefaultArrowSortProps<Data = any> {\n header: Header<Data, unknown>;\n}\n\nexport function DefaultArrowSort<Data>({ header }: DefaultArrowSortProps<Data>) {\n const sort = header.column.getIsSorted();\n\n return (\n <span\n data-testid={`head-sort-${header.column.id}`}\n role='button'\n aria-label={`Sort by ${header.column.columnDef.header}`}\n aria-pressed={sort ? sort === \"desc\" : undefined}\n className='table-arrow-sort'\n >\n {sort ? <i className={iconClass(undefined, sort === \"asc\" ? \"sort-up\" : \"sort-down\")} /> : null}\n </span>\n );\n}\n\nregisterComponent(\"ArrowSort\", DefaultArrowSort);\n"],"names":["DefaultArrowSort","header","sort","jsx","iconClass","registerComponent"],"mappings":";;;AASgB,SAAAA,EAAuB,EAAE,QAAAC,KAAuC;AACxE,QAAAC,IAAOD,EAAO,OAAO,YAAY;AAGrC,SAAA,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa,aAAaF,EAAO,OAAO,EAAE;AAAA,MAC1C,MAAK;AAAA,MACL,cAAY,WAAWA,EAAO,OAAO,UAAU,MAAM;AAAA,MACrD,gBAAcC,IAAOA,MAAS,SAAS;AAAA,MACvC,WAAU;AAAA,MAET,UAAAA,IAAQ,gBAAAC,EAAA,KAAA,EAAE,WAAWC,EAAU,QAAWF,MAAS,QAAQ,YAAY,WAAW,EAAG,CAAA,IAAK;AAAA,IAAA;AAAA,EAC7F;AAEJ;AAEAG,EAAkB,aAAaL,CAAgB;"}
1
+ {"version":3,"file":"DefaultArrowSort.js","sources":["../../../../src/molecules/table/components/DefaultArrowSort.tsx"],"sourcesContent":["import type { Header } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\nimport { iconClass } from \"../../../utils/iconClass\";\n\nexport interface DefaultArrowSortProps<Data = any> {\n header: Header<Data, unknown>;\n}\n\nexport function DefaultArrowSort<Data>({ header }: DefaultArrowSortProps<Data>) {\n const sort = header.column.getIsSorted();\n\n return (\n <span\n data-testid={`head-sort-${header.column.id}`}\n role='button'\n aria-label={`Sort by ${header.column.columnDef.header}`}\n aria-pressed={sort ? sort === \"desc\" : undefined}\n className='table-arrow-sort'\n >\n {sort ? <i className={iconClass(undefined, sort === \"asc\" ? \"sort-up\" : \"sort-down\")} /> : null}\n </span>\n );\n}\n\nregisterComponent(\"ArrowSort\", DefaultArrowSort);\n"],"names":["DefaultArrowSort","header","sort","jsx","iconClass","registerComponent"],"mappings":";;;AASO,SAASA,EAAuB,EAAE,QAAAC,KAAuC;AAC9E,QAAMC,IAAOD,EAAO,OAAO,YAAA;AAE3B,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa,aAAaF,EAAO,OAAO,EAAE;AAAA,MAC1C,MAAK;AAAA,MACL,cAAY,WAAWA,EAAO,OAAO,UAAU,MAAM;AAAA,MACrD,gBAAcC,IAAOA,MAAS,SAAS;AAAA,MACvC,WAAU;AAAA,MAET,UAAAA,IAAO,gBAAAC,EAAC,KAAA,EAAE,WAAWC,EAAU,QAAWF,MAAS,QAAQ,YAAY,WAAW,EAAA,CAAG,IAAK;AAAA,IAAA;AAAA,EAAA;AAGjG;AAEAG,EAAkB,aAAaL,CAAgB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCell.js","sources":["../../../../src/molecules/table/components/DefaultCell.tsx"],"sourcesContent":["import { registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultCellProps<Data = any> {\n value: Data;\n render?: (value: Data) => any;\n}\n\nexport function DefaultCell<Data = any>({ value, render = (f: any) => f }: DefaultCellProps<Data>): JSX.Element {\n if (value === undefined) {\n return <span></span>;\n }\n\n const rendered = render(value);\n\n if (value !== rendered) {\n return <div dangerouslySetInnerHTML={{ __html: rendered }} />;\n }\n\n return <span>{String(value)}</span>;\n}\n\nregisterComponent(\"Cell\", DefaultCell);\n"],"names":["DefaultCell","value","render","f","rendered","jsx","registerComponent"],"mappings":";;AAOO,SAASA,EAAwB,EAAE,OAAAC,GAAO,QAAAC,IAAS,CAACC,MAAWA,KAA0C;AAC9G,MAAIF,MAAU;AACZ,6BAAQ,QAAK,EAAA;AAGT,QAAAG,IAAWF,EAAOD,CAAK;AAE7B,SAAIA,MAAUG,sBACJ,OAAI,EAAA,yBAAyB,EAAE,QAAQA,KAAY,IAGrD,gBAAAC,EAAA,QAAA,EAAM,UAAO,OAAAJ,CAAK,GAAE;AAC9B;AAEAK,EAAkB,QAAQN,CAAW;"}
1
+ {"version":3,"file":"DefaultCell.js","sources":["../../../../src/molecules/table/components/DefaultCell.tsx"],"sourcesContent":["import { registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultCellProps<Data = any> {\n value: Data;\n render?: (value: Data) => any;\n}\n\nexport function DefaultCell<Data = any>({ value, render = (f: any) => f }: DefaultCellProps<Data>): JSX.Element {\n if (value === undefined) {\n return <span></span>;\n }\n\n const rendered = render(value);\n\n if (value !== rendered) {\n return <div dangerouslySetInnerHTML={{ __html: rendered }} />;\n }\n\n return <span>{String(value)}</span>;\n}\n\nregisterComponent(\"Cell\", DefaultCell);\n"],"names":["DefaultCell","value","render","f","rendered","jsx","registerComponent"],"mappings":";;AAOO,SAASA,EAAwB,EAAE,OAAAC,GAAO,QAAAC,IAAS,CAACC,MAAWA,KAA0C;AAC9G,MAAIF,MAAU;AACZ,6BAAQ,QAAA,EAAK;AAGf,QAAMG,IAAWF,EAAOD,CAAK;AAE7B,SAAIA,MAAUG,sBACJ,OAAA,EAAI,yBAAyB,EAAE,QAAQA,KAAY,IAGtD,gBAAAC,EAAC,QAAA,EAAM,UAAA,OAAOJ,CAAK,GAAE;AAC9B;AAEAK,EAAkB,QAAQN,CAAW;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCellFooter.js","sources":["../../../../src/molecules/table/components/DefaultCellFooter.tsx"],"sourcesContent":["import { flexRender, type Header } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultCellHeaderProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultCellFooter<Data = any>(props: DefaultCellHeaderProps<Data>) {\n const { header } = props;\n\n return <>{flexRender(header.column.columnDef.footer, header.getContext())}</>;\n}\n\nregisterComponent(\"CellFooter\", DefaultCellFooter);\n"],"names":["DefaultCellFooter","props","header","jsx","Fragment","registerComponent"],"mappings":";;;AASO,SAASA,EAA8BC,GAAqC;AAC3E,QAAA,EAAE,QAAAC,MAAWD;AAEZ,SAAA,gBAAAE,EAAAC,GAAA,EAAG,YAAWF,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAW,CAAC,EAAE,CAAA;AAC5E;AAEAG,EAAkB,cAAcL,CAAiB;"}
1
+ {"version":3,"file":"DefaultCellFooter.js","sources":["../../../../src/molecules/table/components/DefaultCellFooter.tsx"],"sourcesContent":["import { flexRender, type Header } from \"@tanstack/react-table\";\n\nimport { registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultCellHeaderProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultCellFooter<Data = any>(props: DefaultCellHeaderProps<Data>) {\n const { header } = props;\n\n return <>{flexRender(header.column.columnDef.footer, header.getContext())}</>;\n}\n\nregisterComponent(\"CellFooter\", DefaultCellFooter);\n"],"names":["DefaultCellFooter","props","header","jsx","Fragment","registerComponent"],"mappings":";;;AASO,SAASA,EAA8BC,GAAqC;AACjF,QAAM,EAAE,QAAAC,MAAWD;AAEnB,SAAO,gBAAAE,EAAAC,GAAA,EAAG,YAAWF,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAA,CAAY,EAAA,CAAE;AAC5E;AAEAG,EAAkB,cAAcL,CAAiB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCellHeader.js","sources":["../../../../src/molecules/table/components/DefaultCellHeader.tsx"],"sourcesContent":["import { flexRender, type Header } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { DefaultArrowSort } from \"./DefaultArrowSort\";\nimport type { DefaultFilter } from \"./DefaultFilter\";\n\nexport interface DefaultCellHeaderProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultCellHeader<Data = any>(props: DefaultCellHeaderProps<Data>) {\n const { header, i18n } = props;\n\n const ArrowSort = getComponent<typeof DefaultArrowSort>(\"ArrowSort\");\n const Filter = getComponent<typeof DefaultFilter>(\"Filter\");\n const canSort = header.column.getCanSort();\n const canFilter = header.column.getCanFilter();\n\n return (\n <div className={cx(\"table-cell-header\", {})}>\n <div\n className={cx(\"table-cell-header__label\", {\n \"cursor-pointer select-none\": header.column.getCanSort()\n })}\n {...(canSort\n ? {\n onClick: header.column.getToggleSortingHandler()\n }\n : {})}\n >\n <span>{flexRender(header.column.columnDef.header, header.getContext())}</span>\n\n <ArrowSort header={header} />\n </div>\n {canFilter && <Filter header={header} i18n={i18n} />}\n </div>\n );\n}\n\nregisterComponent(\"CellHeader\", DefaultCellHeader);\n"],"names":["DefaultCellHeader","props","header","i18n","ArrowSort","getComponent","Filter","canSort","canFilter","cx","jsxs","jsx","registerComponent"],"mappings":";;;;AAYO,SAASA,EAA8BC,GAAqC;AAC3E,QAAA,EAAE,QAAAC,GAAQ,MAAAC,EAAA,IAASF,GAEnBG,IAAYC,EAAsC,WAAW,GAC7DC,IAASD,EAAmC,QAAQ,GACpDE,IAAUL,EAAO,OAAO,WAAW,GACnCM,IAAYN,EAAO,OAAO,aAAa;AAE7C,2BACG,OAAI,EAAA,WAAWO,EAAG,qBAAqB,CAAA,CAAE,GACxC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAG,4BAA4B;AAAA,UACxC,8BAA8BP,EAAO,OAAO,WAAW;AAAA,QAAA,CACxD;AAAA,QACA,GAAIK,IACD;AAAA,UACE,SAASL,EAAO,OAAO,wBAAwB;AAAA,QAAA,IAEjD,CAAC;AAAA,QAEL,UAAA;AAAA,UAAC,gBAAAS,EAAA,QAAA,EAAM,YAAWT,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAW,CAAC,EAAE,CAAA;AAAA,UAEvE,gBAAAS,EAACP,KAAU,QAAAF,EAAgB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC7B;AAAA,IACCM,KAAa,gBAAAG,EAACL,GAAO,EAAA,QAAAJ,GAAgB,MAAAC,EAAY,CAAA;AAAA,EAAA,GACpD;AAEJ;AAEAS,EAAkB,cAAcZ,CAAiB;"}
1
+ {"version":3,"file":"DefaultCellHeader.js","sources":["../../../../src/molecules/table/components/DefaultCellHeader.tsx"],"sourcesContent":["import { flexRender, type Header } from \"@tanstack/react-table\";\nimport cx from \"classnames\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { DefaultArrowSort } from \"./DefaultArrowSort\";\nimport type { DefaultFilter } from \"./DefaultFilter\";\n\nexport interface DefaultCellHeaderProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultCellHeader<Data = any>(props: DefaultCellHeaderProps<Data>) {\n const { header, i18n } = props;\n\n const ArrowSort = getComponent<typeof DefaultArrowSort>(\"ArrowSort\");\n const Filter = getComponent<typeof DefaultFilter>(\"Filter\");\n const canSort = header.column.getCanSort();\n const canFilter = header.column.getCanFilter();\n\n return (\n <div className={cx(\"table-cell-header\", {})}>\n <div\n className={cx(\"table-cell-header__label\", {\n \"cursor-pointer select-none\": header.column.getCanSort()\n })}\n {...(canSort\n ? {\n onClick: header.column.getToggleSortingHandler()\n }\n : {})}\n >\n <span>{flexRender(header.column.columnDef.header, header.getContext())}</span>\n\n <ArrowSort header={header} />\n </div>\n {canFilter && <Filter header={header} i18n={i18n} />}\n </div>\n );\n}\n\nregisterComponent(\"CellHeader\", DefaultCellHeader);\n"],"names":["DefaultCellHeader","props","header","i18n","ArrowSort","getComponent","Filter","canSort","canFilter","cx","jsxs","jsx","registerComponent"],"mappings":";;;;AAYO,SAASA,EAA8BC,GAAqC;AACjF,QAAM,EAAE,QAAAC,GAAQ,MAAAC,EAAA,IAASF,GAEnBG,IAAYC,EAAsC,WAAW,GAC7DC,IAASD,EAAmC,QAAQ,GACpDE,IAAUL,EAAO,OAAO,WAAA,GACxBM,IAAYN,EAAO,OAAO,aAAA;AAEhC,2BACG,OAAA,EAAI,WAAWO,EAAG,qBAAqB,CAAA,CAAE,GACxC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAG,4BAA4B;AAAA,UACxC,8BAA8BP,EAAO,OAAO,WAAA;AAAA,QAAW,CACxD;AAAA,QACA,GAAIK,IACD;AAAA,UACE,SAASL,EAAO,OAAO,wBAAA;AAAA,QAAwB,IAEjD,CAAA;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAS,EAAC,QAAA,EAAM,YAAWT,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAA,CAAY,EAAA,CAAE;AAAA,UAEvE,gBAAAS,EAACP,KAAU,QAAAF,EAAA,CAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAE5BM,KAAa,gBAAAG,EAACL,GAAA,EAAO,QAAAJ,GAAgB,MAAAC,EAAA,CAAY;AAAA,EAAA,GACpD;AAEJ;AAEAS,EAAkB,cAAcZ,CAAiB;"}
@@ -1,15 +1,15 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { registerComponent as l, getComponent as m } from "../../../registries/components.js";
3
- function g({
2
+ import { registerComponent as c, getComponent as p } from "../../../registries/components.js";
3
+ function m({
4
4
  info: r,
5
5
  metadata: n,
6
- operations: a,
6
+ operations: e,
7
7
  i18n: i,
8
- onClick: e
8
+ onClick: l
9
9
  }) {
10
- const u = m("OperationButton");
11
- return /* @__PURE__ */ o("div", { className: "btn-group", children: a.filter(({ permissionsResolver: t, ...p }) => !t || t(r.row.original, n || {}, p)).map((t) => /* @__PURE__ */ o(
12
- u,
10
+ const a = p("OperationButton");
11
+ return /* @__PURE__ */ o("div", { className: "btn-group", children: e.filter(({ permissionsResolver: t, ...u }) => !t || t(r.row.original, n || {}, u)).map((t) => /* @__PURE__ */ o(
12
+ a,
13
13
  {
14
14
  "data-testid": `operation-${r.row.id}-${t.action}`,
15
15
  operation: t,
@@ -17,14 +17,14 @@ function g({
17
17
  info: r,
18
18
  i18n: i,
19
19
  onClick: () => {
20
- e == null || e(r.row.original, t);
20
+ l?.(r.row.original, t);
21
21
  }
22
22
  },
23
23
  t.action
24
24
  )) });
25
25
  }
26
- l("CellOperations", g);
26
+ c("CellOperations", m);
27
27
  export {
28
- g as DefaultCellOperations
28
+ m as DefaultCellOperations
29
29
  };
30
30
  //# sourceMappingURL=DefaultCellOperations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultCellOperations.js","sources":["../../../../src/molecules/table/components/DefaultCellOperations.tsx"],"sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\n\nimport type { CellMetadata, JSON, Operation } from \"../../../interfaces\";\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { DefaultOperationButton } from \"./DefaultOperationButton\";\n\nexport interface DefaultCellOperationsProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> {\n info: CellContext<Data, unknown>;\n operations: Operation<Data>[];\n metadata?: CellMetadata;\n i18n: (i18n: string) => string;\n onClick?: (data: any, operation: Operation<Data>) => void;\n}\n\nexport function DefaultCellOperations<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n info,\n metadata,\n operations,\n i18n,\n onClick\n}: DefaultCellOperationsProps<Data>) {\n const Button = getComponent<typeof DefaultOperationButton<Data>>(\"OperationButton\");\n return (\n <div className='btn-group'>\n {operations\n .filter(({ permissionsResolver, ...operation }) => {\n return !permissionsResolver || permissionsResolver(info.row.original, metadata || {}, operation);\n })\n .map((operation) => {\n return (\n <Button\n data-testid={`operation-${info.row.id}-${operation.action}`}\n key={operation.action}\n operation={operation}\n metadata={metadata}\n info={info}\n i18n={i18n}\n onClick={() => {\n onClick?.(info.row.original, operation);\n }}\n />\n );\n })}\n </div>\n );\n}\n\nregisterComponent(\"CellOperations\", DefaultCellOperations);\n"],"names":["DefaultCellOperations","info","metadata","operations","i18n","onClick","Button","getComponent","jsx","permissionsResolver","operation","registerComponent"],"mappings":";;AAcO,SAASA,EAAsF;AAAA,EACpG,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,GAAqC;AAC7B,QAAAC,IAASC,EAAkD,iBAAiB;AAEhF,SAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,aACZ,UAAAL,EACE,OAAO,CAAC,EAAE,qBAAAM,GAAqB,GAAGC,EAAA,MAC1B,CAACD,KAAuBA,EAAoBR,EAAK,IAAI,UAAUC,KAAY,CAAC,GAAGQ,CAAS,CAChG,EACA,IAAI,CAACA,MAEF,gBAAAF;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,eAAa,aAAaL,EAAK,IAAI,EAAE,IAAIS,EAAU,MAAM;AAAA,MAEzD,WAAAA;AAAA,MACA,UAAAR;AAAA,MACA,MAAAD;AAAA,MACA,MAAAG;AAAA,MACA,SAAS,MAAM;AACH,QAAAC,KAAA,QAAAA,EAAAJ,EAAK,IAAI,UAAUS;AAAA,MAAS;AAAA,IACxC;AAAA,IAPKA,EAAU;AAAA,EAQjB,CAEH,GACL;AAEJ;AAEAC,EAAkB,kBAAkBX,CAAqB;"}
1
+ {"version":3,"file":"DefaultCellOperations.js","sources":["../../../../src/molecules/table/components/DefaultCellOperations.tsx"],"sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\n\nimport type { CellMetadata, JSON, Operation } from \"../../../interfaces\";\nimport { getComponent, registerComponent } from \"../../../registries/components\";\nimport type { DefaultOperationButton } from \"./DefaultOperationButton\";\n\nexport interface DefaultCellOperationsProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }> {\n info: CellContext<Data, unknown>;\n operations: Operation<Data>[];\n metadata?: CellMetadata;\n i18n: (i18n: string) => string;\n onClick?: (data: any, operation: Operation<Data>) => void;\n}\n\nexport function DefaultCellOperations<Data extends { [key: string]: JSON } = { [key: string]: JSON }>({\n info,\n metadata,\n operations,\n i18n,\n onClick\n}: DefaultCellOperationsProps<Data>) {\n const Button = getComponent<typeof DefaultOperationButton<Data>>(\"OperationButton\");\n return (\n <div className='btn-group'>\n {operations\n .filter(({ permissionsResolver, ...operation }) => {\n return !permissionsResolver || permissionsResolver(info.row.original, metadata || {}, operation);\n })\n .map((operation) => {\n return (\n <Button\n data-testid={`operation-${info.row.id}-${operation.action}`}\n key={operation.action}\n operation={operation}\n metadata={metadata}\n info={info}\n i18n={i18n}\n onClick={() => {\n onClick?.(info.row.original, operation);\n }}\n />\n );\n })}\n </div>\n );\n}\n\nregisterComponent(\"CellOperations\", DefaultCellOperations);\n"],"names":["DefaultCellOperations","info","metadata","operations","i18n","onClick","Button","getComponent","jsx","permissionsResolver","operation","registerComponent"],"mappings":";;AAcO,SAASA,EAAsF;AAAA,EACpG,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,GAAqC;AACnC,QAAMC,IAASC,EAAkD,iBAAiB;AAClF,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAL,EACE,OAAO,CAAC,EAAE,qBAAAM,GAAqB,GAAGC,EAAA,MAC1B,CAACD,KAAuBA,EAAoBR,EAAK,IAAI,UAAUC,KAAY,CAAA,GAAIQ,CAAS,CAChG,EACA,IAAI,CAACA,MAEF,gBAAAF;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,eAAa,aAAaL,EAAK,IAAI,EAAE,IAAIS,EAAU,MAAM;AAAA,MAEzD,WAAAA;AAAA,MACA,UAAAR;AAAA,MACA,MAAAD;AAAA,MACA,MAAAG;AAAA,MACA,SAAS,MAAM;AACb,QAAAC,IAAUJ,EAAK,IAAI,UAAUS,CAAS;AAAA,MACxC;AAAA,IAAA;AAAA,IAPKA,EAAU;AAAA,EAAA,CAUpB,EAAA,CACL;AAEJ;AAEAC,EAAkB,kBAAkBX,CAAqB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultFilter.js","sources":["../../../../src/molecules/table/components/DefaultFilter.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { Header } from \"@tanstack/react-table\";\nimport type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultFilterProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport interface FilterProps<Data = any, Opts = Record<string, unknown>> {\n header: Header<Data, unknown>;\n options: Opts;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultFilter<Data = any>({ header, i18n }: DefaultFilterProps<Data>) {\n const {\n filter = {\n variant: \"text\"\n }\n } = header.column.columnDef.meta || {};\n\n const { variant: filterVariant } = filter;\n const Filter = getComponent<ComponentType<FilterProps>>([`Filter.${header.column.id}`, `Filter.${filterVariant}`, \"Filter.text\"]);\n\n if (!Filter) {\n console.warn(\"Missing filter for `Filter.\" + header.column.id + \"` or `Filter.\" + filterVariant + \"`\");\n\n return null;\n }\n\n return (\n <div className='table-cell-header__filter'>\n <Filter header={header} options={filter} i18n={i18n} />\n </div>\n );\n}\n\nregisterComponent(\"Filter\", DefaultFilter);\n"],"names":["DefaultFilter","header","i18n","filter","filterVariant","Filter","getComponent","jsx","registerComponent"],"mappings":";;AAkBO,SAASA,EAA0B,EAAE,QAAAC,GAAQ,MAAAC,KAAkC;AAC9E,QAAA;AAAA,IACJ,QAAAC,IAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EAET,IAAAF,EAAO,OAAO,UAAU,QAAQ,CAAC,GAE/B,EAAE,SAASG,EAAA,IAAkBD,GAC7BE,IAASC,EAAyC,CAAC,UAAUL,EAAO,OAAO,EAAE,IAAI,UAAUG,CAAa,IAAI,aAAa,CAAC;AAEhI,SAAKC,IAOH,gBAAAE,EAAC,OAAI,EAAA,WAAU,6BACb,UAAA,gBAAAA,EAACF,KAAO,QAAAJ,GAAgB,SAASE,GAAQ,MAAAD,EAAA,CAAY,EACvD,CAAA,KARA,QAAQ,KAAK,gCAAgCD,EAAO,OAAO,KAAK,kBAAkBG,IAAgB,GAAG,GAE9F;AAQX;AAEAI,EAAkB,UAAUR,CAAa;"}
1
+ {"version":3,"file":"DefaultFilter.js","sources":["../../../../src/molecules/table/components/DefaultFilter.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { Header } from \"@tanstack/react-table\";\nimport type { ComponentType } from \"react\";\n\nimport { getComponent, registerComponent } from \"../../../registries/components\";\n\nexport interface DefaultFilterProps<Data = any> {\n header: Header<Data, unknown>;\n i18n?: (f: string) => string;\n}\n\nexport interface FilterProps<Data = any, Opts = Record<string, unknown>> {\n header: Header<Data, unknown>;\n options: Opts;\n i18n?: (f: string) => string;\n}\n\nexport function DefaultFilter<Data = any>({ header, i18n }: DefaultFilterProps<Data>) {\n const {\n filter = {\n variant: \"text\"\n }\n } = header.column.columnDef.meta || {};\n\n const { variant: filterVariant } = filter;\n const Filter = getComponent<ComponentType<FilterProps>>([`Filter.${header.column.id}`, `Filter.${filterVariant}`, \"Filter.text\"]);\n\n if (!Filter) {\n console.warn(\"Missing filter for `Filter.\" + header.column.id + \"` or `Filter.\" + filterVariant + \"`\");\n\n return null;\n }\n\n return (\n <div className='table-cell-header__filter'>\n <Filter header={header} options={filter} i18n={i18n} />\n </div>\n );\n}\n\nregisterComponent(\"Filter\", DefaultFilter);\n"],"names":["DefaultFilter","header","i18n","filter","filterVariant","Filter","getComponent","jsx","registerComponent"],"mappings":";;AAkBO,SAASA,EAA0B,EAAE,QAAAC,GAAQ,MAAAC,KAAkC;AACpF,QAAM;AAAA,IACJ,QAAAC,IAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,EACX,IACEF,EAAO,OAAO,UAAU,QAAQ,CAAA,GAE9B,EAAE,SAASG,EAAA,IAAkBD,GAC7BE,IAASC,EAAyC,CAAC,UAAUL,EAAO,OAAO,EAAE,IAAI,UAAUG,CAAa,IAAI,aAAa,CAAC;AAEhI,SAAKC,IAOH,gBAAAE,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA,gBAAAA,EAACF,KAAO,QAAAJ,GAAgB,SAASE,GAAQ,MAAAD,EAAA,CAAY,EAAA,CACvD,KARA,QAAQ,KAAK,gCAAgCD,EAAO,OAAO,KAAK,kBAAkBG,IAAgB,GAAG,GAE9F;AAQX;AAEAI,EAAkB,UAAUR,CAAa;"}