@tsed/react-formio 3.0.0-alpha.12 → 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 (131) 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/chunks/_commonjsHelpers.js +30 -3
  5. package/dist/chunks/_commonjsHelpers.js.map +1 -1
  6. package/dist/chunks/index2.js +56953 -0
  7. package/dist/chunks/index2.js.map +1 -0
  8. package/dist/contexts/FormioContext.d.ts +20 -0
  9. package/dist/contexts/FormioContext.js +40 -0
  10. package/dist/contexts/FormioContext.js.map +1 -0
  11. package/dist/hooks/useFormioContext.d.ts +10 -0
  12. package/dist/hooks/useFormioContext.js +12 -0
  13. package/dist/hooks/useFormioContext.js.map +1 -0
  14. package/dist/hooks/useI18n.d.ts +4 -0
  15. package/dist/hooks/useI18n.js +9 -0
  16. package/dist/hooks/useI18n.js.map +1 -0
  17. package/dist/index.d.ts +1 -6
  18. package/dist/index.js +18 -13
  19. package/dist/index.js.map +1 -1
  20. package/dist/interfaces/ComponentType.d.ts +6 -2
  21. package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
  22. package/dist/interfaces/FormBuilderOptions.js +2 -0
  23. package/dist/interfaces/FormBuilderOptions.js.map +1 -0
  24. package/dist/interfaces/FormOptions.d.ts +6 -13
  25. package/dist/interfaces/FormType.d.ts +4 -11
  26. package/dist/interfaces/SubmissionType.d.ts +5 -10
  27. package/dist/interfaces/index.d.ts +1 -0
  28. package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +19 -19
  29. package/dist/molecules/forms/input-tags/components/ChoicesTags.js +16 -16
  30. package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
  31. package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
  32. package/dist/molecules/modal/Modal.js +6 -6
  33. package/dist/molecules/modal/Modal.js.map +1 -1
  34. package/dist/molecules/pagination/Pagination.d.ts +2 -1
  35. package/dist/molecules/pagination/Pagination.js +24 -24
  36. package/dist/molecules/pagination/Pagination.js.map +1 -1
  37. package/dist/molecules/table/Table.js +27 -27
  38. package/dist/molecules/table/Table.js.map +1 -1
  39. package/dist/molecules/table/hooks/useTable.d.ts +3 -3
  40. package/dist/molecules/table/hooks/useTable.js +13 -12
  41. package/dist/molecules/table/hooks/useTable.js.map +1 -1
  42. package/dist/molecules/table/utils/mapFormToColumns.js +22 -22
  43. package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
  44. package/dist/molecules/tabs/TabsLegacy.d.ts +3 -2
  45. package/dist/molecules/tabs/TabsLegacy.js +30 -30
  46. package/dist/molecules/tabs/TabsLegacy.js.map +1 -1
  47. package/dist/organisms/form/access/FormAccess.schema.js +1 -0
  48. package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
  49. package/dist/organisms/form/actions/FormAction.js +14 -11
  50. package/dist/organisms/form/actions/FormAction.js.map +1 -1
  51. package/dist/organisms/form/builder/FormEdit.d.ts +4 -3
  52. package/dist/organisms/form/builder/FormEdit.js +36 -36
  53. package/dist/organisms/form/builder/FormEdit.js.map +1 -1
  54. package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
  55. package/dist/organisms/form/builder/FormEditCtas.js +14 -13
  56. package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
  57. package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
  58. package/dist/organisms/form/builder/useFormBuilder.js +12 -12
  59. package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
  60. package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
  61. package/dist/organisms/form/exports/FormExport.d.ts +3 -2
  62. package/dist/organisms/form/exports/FormExport.js +21 -20
  63. package/dist/organisms/form/exports/FormExport.js.map +1 -1
  64. package/dist/organisms/form/preview/FormPreview.d.ts +3 -3
  65. package/dist/organisms/form/preview/FormPreview.js +5 -4
  66. package/dist/organisms/form/preview/FormPreview.js.map +1 -1
  67. package/dist/organisms/form/settings/FormSettings.js +21 -21
  68. package/dist/organisms/form/settings/FormSettings.js.map +1 -1
  69. package/dist/organisms/form/useForm.d.ts +2 -1
  70. package/dist/organisms/form/useForm.js +2 -2
  71. package/dist/organisms/form/useForm.js.map +1 -1
  72. package/dist/organisms/table/actions/ActionsTable.d.ts +2 -1
  73. package/dist/organisms/table/actions/ActionsTable.js +10 -9
  74. package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
  75. package/dist/organisms/table/forms/FormsTable.d.ts +1 -1
  76. package/dist/organisms/table/forms/FormsTable.js +9 -8
  77. package/dist/organisms/table/forms/FormsTable.js.map +1 -1
  78. package/dist/organisms/table/forms/components/FormsCell.js +10 -10
  79. package/dist/organisms/views/FormViews.d.ts +3 -3
  80. package/dist/organisms/views/FormViews.js +47 -46
  81. package/dist/organisms/views/FormViews.js.map +1 -1
  82. package/dist/utils/iconClass.js +4 -5
  83. package/dist/utils/iconClass.js.map +1 -1
  84. package/package.json +3 -3
  85. package/src/all.ts +34 -0
  86. package/src/contexts/FormioContext.tsx +96 -0
  87. package/src/hooks/useFormioContext.ts +13 -0
  88. package/src/hooks/useI18n.ts +9 -0
  89. package/src/index.ts +17 -13
  90. package/src/interfaces/ComponentType.ts +2 -2
  91. package/src/interfaces/FormBuilderOptions.ts +9 -0
  92. package/src/interfaces/FormOptions.ts +7 -13
  93. package/src/interfaces/FormType.ts +5 -11
  94. package/src/interfaces/SubmissionType.ts +9 -8
  95. package/src/interfaces/index.ts +1 -0
  96. package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
  97. package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
  98. package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
  99. package/src/molecules/pagination/Pagination.tsx +10 -9
  100. package/src/molecules/table/Table.stories.tsx +6 -6
  101. package/src/molecules/table/Table.tsx +1 -1
  102. package/src/molecules/table/hooks/useTable.tsx +7 -6
  103. package/src/molecules/table/utils/mapFormToColumns.tsx +6 -5
  104. package/src/molecules/tabs/TabsLegacy.stories.tsx +1 -1
  105. package/src/molecules/tabs/TabsLegacy.tsx +5 -3
  106. package/src/organisms/form/Form.stories.tsx +4 -0
  107. package/src/organisms/form/access/FormAccess.schema.ts +1 -0
  108. package/src/organisms/form/access/FormAccess.stories.tsx +3 -1
  109. package/src/organisms/form/actions/FormAction.stories.tsx +5 -1
  110. package/src/organisms/form/actions/FormAction.tsx +2 -2
  111. package/src/organisms/form/builder/FormEdit.stories.tsx +10 -6
  112. package/src/organisms/form/builder/FormEdit.tsx +6 -6
  113. package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
  114. package/src/organisms/form/builder/useFormBuilder.ts +7 -6
  115. package/src/organisms/form/exports/FormExport.stories.tsx +8 -11
  116. package/src/organisms/form/exports/FormExport.tsx +12 -9
  117. package/src/organisms/form/preview/FormPreview.stories.tsx +6 -9
  118. package/src/organisms/form/preview/FormPreview.tsx +7 -5
  119. package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
  120. package/src/organisms/form/settings/FormSettings.stories.tsx +1 -1
  121. package/src/organisms/form/settings/FormSettings.tsx +6 -6
  122. package/src/organisms/form/useForm.ts +2 -3
  123. package/src/organisms/table/actions/ActionsTable.tsx +7 -5
  124. package/src/organisms/table/forms/FormsTable.tsx +6 -5
  125. package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +10 -13
  126. package/src/organisms/views/FormViews.stories.tsx +13 -16
  127. package/src/organisms/views/FormViews.tsx +18 -16
  128. package/src/utils/iconClass.ts +1 -3
  129. package/dist/typings.d.js +0 -2
  130. package/dist/typings.d.js.map +0 -1
  131. package/src/typings.d.ts +0 -3
@@ -1,8 +1,9 @@
1
- import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
- import { c as o } 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) {
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { c as s } from "../../chunks/index.js";
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],
@@ -16,26 +17,25 @@ function T(r) {
16
17
  pageOptions: d,
17
18
  pageSize: C,
18
19
  onPageSizeChange: v,
19
- rowCount: g,
20
- i18n: i = (e) => e
21
- } = r, p = z({
20
+ rowCount: g
21
+ } = r, { t: i } = S(r.i18n), h = E({
22
22
  currentPage: t,
23
23
  // pageNeighbours,
24
24
  totalPages: f
25
- }), I = P.map((e) => ({ value: e, label: e })), k = h("Select"), l = h("PaginationButton");
26
- return /* @__PURE__ */ n("nav", { "aria-label": "Page navigation", className: o("pagination-group -mb-3", u), children: [
25
+ }), I = P.map((a) => ({ value: a, label: a })), k = p("Select"), l = p("PaginationButton");
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: o("page-item", !c && "disabled"), children: /* @__PURE__ */ a(l, { 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(l, { "aria-hidden": "true", children: "..." }) }, e);
32
- const s = e - 1 === t;
33
- return /* @__PURE__ */ a("li", { className: o("page-item", s && "active"), children: /* @__PURE__ */ a(l, { tabIndex: t, active: s, 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: o("page-item", !m && "disabled"), children: /* @__PURE__ */ a(l, { 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,12 +43,12 @@ function T(r) {
43
43
  options: I,
44
44
  multiple: !1,
45
45
  layout: r.layout,
46
- onChange: (e, s) => {
47
- v(+s);
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
53
  d && /* @__PURE__ */ n("li", { className: "mb-3 mr-3 flex items-center", children: [
54
54
  /* @__PURE__ */ n("span", { children: [
@@ -64,14 +64,14 @@ function T(r) {
64
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(g) }),
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 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,53 +1,53 @@
1
- import { jsxs as r, jsx as a } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
2
  import { createElement as h } from "react";
3
3
  import { flexRender as x } from "@tanstack/react-table";
4
4
  import { c as C } from "../../chunks/index.js";
5
- import { getComponent as d } from "../../registries/components.js";
5
+ import { getComponent as r } from "../../registries/components.js";
6
6
  import { useTable as f } from "./hooks/useTable.js";
7
7
  function w({
8
8
  className: c,
9
9
  enableFooter: g,
10
10
  children: m,
11
- ...o
11
+ ...i
12
12
  }) {
13
- const { tableInstance: n, i18n: i } = f(o), u = d("CellHeader"), p = d("CellFooter"), P = d("Pagination"), { pagination: l } = n.getState();
14
- return /* @__PURE__ */ r("div", { className: C("table-group table-responsive", c), children: [
15
- /* @__PURE__ */ r("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) => {
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
17
  const s = e.column.getIsSorted();
18
- return /* @__PURE__ */ a(
18
+ return /* @__PURE__ */ n(
19
19
  "th",
20
20
  {
21
21
  "data-testid": `head-cell-${e.id}`,
22
22
  "aria-sort": s ? s === "asc" ? "ascending" : "descending" : "none",
23
- children: e.isPlaceholder ? null : /* @__PURE__ */ a(u, { header: e, i18n: i })
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) => !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__ */ 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: i }) }, 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)) })
30
30
  ] }),
31
- /* @__PURE__ */ r("div", { className: "overflow-hidden flex flex-wrap", children: [
32
- o.data.length && l ? /* @__PURE__ */ a(
33
- P,
31
+ /* @__PURE__ */ l("div", { className: "overflow-hidden flex flex-wrap", children: [
32
+ i.data.length && o ? /* @__PURE__ */ n(
33
+ p,
34
34
  {
35
35
  className: "flex-1",
36
- canNextPage: n.getCanNextPage(),
37
- canPreviousPage: n.getCanPreviousPage(),
38
- pageIndex: l.pageIndex,
39
- pageSize: l.pageSize,
40
- pageSizes: o.pageSizes,
41
- i18n: i,
42
- pageCount: n.getPageCount(),
43
- rowCount: o.rowCount,
44
- onPageIndexChange: (t) => n.setPageIndex(t),
45
- onClickPreviousPage: () => n.previousPage(),
46
- onClickNextPage: () => n.nextPage(),
47
- onPageSizeChange: (t) => n.setPageSize(t)
36
+ canNextPage: a.getCanNextPage(),
37
+ canPreviousPage: a.getCanPreviousPage(),
38
+ pageIndex: o.pageIndex,
39
+ pageSize: o.pageSize,
40
+ pageSizes: i.pageSizes,
41
+ i18n: i.i18n,
42
+ pageCount: a.getPageCount(),
43
+ rowCount: i.rowCount,
44
+ onPageIndexChange: (t) => a.setPageIndex(t),
45
+ onClickPreviousPage: () => a.previousPage(),
46
+ onClickNextPage: () => a.nextPage(),
47
+ onPageSizeChange: (t) => a.setPageSize(t)
48
48
  }
49
49
  ) : null,
50
- /* @__PURE__ */ a("div", { children: m })
50
+ /* @__PURE__ */ n("div", { children: m })
51
51
  ] })
52
52
  ] });
53
53
  }
@@ -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","createElement","flexRender","footerGroup","page","pageSize"],"mappings":"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"}
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,5 +1,5 @@
1
1
  import { TableOptions, TableState } from '@tanstack/react-table';
2
- import { JSON, Operation } from '../../../interfaces';
2
+ import { FormOptions, JSON, Operation } from '../../../interfaces';
3
3
  export interface UseTableProps<Data extends {
4
4
  [key: string]: JSON;
5
5
  } = {
@@ -7,7 +7,7 @@ export interface UseTableProps<Data extends {
7
7
  }> extends Omit<TableOptions<Data>, "getCoreRowModel" | "onClick"> {
8
8
  operations: Operation<Data>[];
9
9
  metadata?: Record<string, unknown>;
10
- i18n?: (i18n: string) => string;
10
+ i18n?: FormOptions["i18n"];
11
11
  onClick?: (data: any, operation: Operation<Data>) => void;
12
12
  manualFaceted?: boolean;
13
13
  onChange?: (query: TableState) => void;
@@ -18,6 +18,6 @@ export declare function useTable<Data extends {
18
18
  } = {
19
19
  [key: string]: JSON;
20
20
  }>(props: UseTableProps<Data>): {
21
- i18n: (i18n: string) => string;
21
+ i18n: (key: string, defaultValue?: string) => string;
22
22
  tableInstance: import('@tanstack/table-core').Table<Data>;
23
23
  };
@@ -1,34 +1,35 @@
1
1
  import { jsx as R } from "react/jsx-runtime";
2
- import { useReactTable as w, getFacetedUniqueValues as M, getFacetedRowModel as f, getSortedRowModel as C, getFilteredRowModel as S, getPaginationRowModel as b, getCoreRowModel as h } from "@tanstack/react-table";
2
+ import { useReactTable as f, getFacetedUniqueValues as w, getFacetedRowModel as M, getSortedRowModel as C, getFilteredRowModel as S, getPaginationRowModel as b, getCoreRowModel as h } from "@tanstack/react-table";
3
3
  import { useEffect as v } from "react";
4
- import { getComponent as O } from "../../../registries/components.js";
5
- function x(e) {
6
- const i = O("CellOperations"), t = e.i18n || ((n) => n), a = e.operations.length ? [
4
+ import { useI18n as O } from "../../../hooks/useI18n.js";
5
+ import { getComponent as I } from "../../../registries/components.js";
6
+ function z(e) {
7
+ const n = I("CellOperations"), { t } = O(e.i18n), i = e.operations.length ? [
7
8
  {
8
9
  id: "operations",
9
10
  header: t("Operations"),
10
- cell: (n) => /* @__PURE__ */ R(i, { info: n, operations: e.operations, metadata: e.metadata, onClick: e.onClick, i18n: t })
11
+ cell: (F) => /* @__PURE__ */ R(n, { info: F, operations: e.operations, metadata: e.metadata, onClick: e.onClick, i18n: t })
11
12
  }
12
- ] : [], o = w({
13
+ ] : [], o = f({
13
14
  ...e,
14
- columns: [...e.columns, ...a],
15
+ columns: [...e.columns, ...i],
15
16
  getCoreRowModel: h(),
16
17
  getPaginationRowModel: b(),
17
18
  getFilteredRowModel: e.manualFiltering ? void 0 : S(),
18
19
  getSortedRowModel: e.manualSorting ? void 0 : C(),
19
- getFacetedRowModel: e.manualFaceted ? void 0 : f(),
20
+ getFacetedRowModel: e.manualFaceted ? void 0 : M(),
20
21
  // client-side faceting
21
- getFacetedUniqueValues: e.manualFaceted ? void 0 : M()
22
+ getFacetedUniqueValues: e.manualFaceted ? void 0 : w()
22
23
  // generate unique values for select filter/autocomplete
23
- }), { columnFilters: l, sorting: d, pagination: g, columnOrder: c, columnPinning: m, columnSizing: r, columnSizingInfo: u, columnVisibility: s, globalFilter: F } = o.getState();
24
+ }), { columnFilters: a, sorting: l, pagination: d, columnOrder: g, columnPinning: c, columnSizing: m, columnSizingInfo: r, columnVisibility: u, globalFilter: s } = o.getState();
24
25
  return v(() => {
25
26
  e.onChange && e.onChange(o.getState());
26
- }, [l, d, g, c, m, r, u, s, F]), {
27
+ }, [a, l, d, g, c, m, r, u, s]), {
27
28
  i18n: t,
28
29
  tableInstance: o
29
30
  };
30
31
  }
31
32
  export {
32
- x as useTable
33
+ z as useTable
33
34
  };
34
35
  //# sourceMappingURL=useTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","sources":["../../../../src/molecules/table/hooks/useTable.tsx"],"sourcesContent":["import {\n type ColumnDef,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type TableOptions,\n type TableState,\n useReactTable\n} from \"@tanstack/react-table\";\nimport { useEffect } from \"react\";\n\nimport { type JSON, Operation } from \"../../../interfaces\";\nimport { getComponent } from \"../../../registries/components\";\nimport type { DefaultCellOperations } from \"../components/DefaultCellOperations\";\n\nexport interface UseTableProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }>\n extends Omit<TableOptions<Data>, \"getCoreRowModel\" | \"onClick\"> {\n operations: Operation<Data>[];\n metadata?: Record<string, unknown>;\n i18n?: (i18n: string) => string;\n onClick?: (data: any, operation: Operation<Data>) => void;\n manualFaceted?: boolean;\n onChange?: (query: TableState) => void;\n pageSizes?: number[];\n}\n\nexport function useTable<Data extends { [key: string]: JSON } = { [key: string]: JSON }>(props: UseTableProps<Data>) {\n const Operations = getComponent<typeof DefaultCellOperations<Data>>(\"CellOperations\");\n const i18n = props.i18n || ((f: string) => f);\n\n // const [pagination, setPagination] = useState({\n // pageIndex: 0, //initial page index\n // pageSize: 10 //default page size\n // });\n\n const operations = props.operations.length\n ? ([\n {\n id: \"operations\",\n header: i18n(\"Operations\"),\n cell: (info) => (\n <Operations info={info} operations={props.operations} metadata={props.metadata} onClick={props.onClick} i18n={i18n} />\n )\n }\n ] satisfies ColumnDef<Data>[])\n : [];\n\n const tableInstance = useReactTable({\n ...props,\n columns: [...props.columns, ...operations],\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getFilteredRowModel: !props.manualFiltering ? getFilteredRowModel() : undefined,\n getSortedRowModel: !props.manualSorting ? getSortedRowModel() : undefined,\n getFacetedRowModel: !props.manualFaceted ? getFacetedRowModel() : undefined, // client-side faceting\n getFacetedUniqueValues: !props.manualFaceted ? getFacetedUniqueValues() : undefined // generate unique values for select filter/autocomplete\n });\n\n const { columnFilters, sorting, pagination, columnOrder, columnPinning, columnSizing, columnSizingInfo, columnVisibility, globalFilter } =\n tableInstance.getState();\n\n useEffect(() => {\n if (props.onChange) {\n props.onChange(tableInstance.getState());\n }\n }, [columnFilters, sorting, pagination, columnOrder, columnPinning, columnSizing, columnSizingInfo, columnVisibility, globalFilter]);\n\n return {\n i18n,\n tableInstance\n };\n}\n"],"names":["useTable","props","Operations","getComponent","i18n","f","operations","info","jsx","tableInstance","useReactTable","getCoreRowModel","getPaginationRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","columnFilters","sorting","pagination","columnOrder","columnPinning","columnSizing","columnSizingInfo","columnVisibility","globalFilter","useEffect"],"mappings":";;;;AA6BO,SAASA,EAAyEC,GAA4B;AACnH,QAAMC,IAAaC,EAAiD,gBAAgB,GAC9EC,IAAOH,EAAM,SAAS,CAACI,MAAcA,IAOrCC,IAAaL,EAAM,WAAW,SAC/B;AAAA,IACC;AAAA,MACE,IAAI;AAAA,MACJ,QAAQG,EAAK,YAAY;AAAA,MACzB,MAAM,CAACG,MACL,gBAAAC,EAACN,KAAW,MAAAK,GAAY,YAAYN,EAAM,YAAY,UAAUA,EAAM,UAAU,SAASA,EAAM,SAAS,MAAAG,EAAA,CAAY;AAAA,IAAA;AAAA,EAExH,IAEF,CAAA,GAEEK,IAAgBC,EAAc;AAAA,IAClC,GAAGT;AAAA,IACH,SAAS,CAAC,GAAGA,EAAM,SAAS,GAAGK,CAAU;AAAA,IACzC,iBAAiBK,EAAA;AAAA,IACjB,uBAAuBC,EAAA;AAAA,IACvB,qBAAsBX,EAAM,kBAA0C,SAAxBY;IAC9C,mBAAoBZ,EAAM,gBAAsC,SAAtBa;IAC1C,oBAAqBb,EAAM,gBAAuC,SAAvBc;;IAC3C,wBAAyBd,EAAM,gBAA2C,SAA3Be;;EAA2B,CAC3E,GAEK,EAAE,eAAAC,GAAe,SAAAC,GAAS,YAAAC,GAAY,aAAAC,GAAa,eAAAC,GAAe,cAAAC,GAAc,kBAAAC,GAAkB,kBAAAC,GAAkB,cAAAC,MACxHhB,EAAc,SAAA;AAEhB,SAAAiB,EAAU,MAAM;AACd,IAAIzB,EAAM,YACRA,EAAM,SAASQ,EAAc,UAAU;AAAA,EAE3C,GAAG,CAACQ,GAAeC,GAASC,GAAYC,GAAaC,GAAeC,GAAcC,GAAkBC,GAAkBC,CAAY,CAAC,GAE5H;AAAA,IACL,MAAArB;AAAA,IACA,eAAAK;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../src/molecules/table/hooks/useTable.tsx"],"sourcesContent":["import {\n type ColumnDef,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type TableOptions,\n type TableState,\n useReactTable\n} from \"@tanstack/react-table\";\nimport { useEffect } from \"react\";\n\nimport { useI18n } from \"../../../hooks/useI18n.js\";\nimport { type FormOptions, type JSON, Operation } from \"../../../interfaces\";\nimport { getComponent } from \"../../../registries/components\";\nimport type { DefaultCellOperations } from \"../components/DefaultCellOperations\";\n\nexport interface UseTableProps<Data extends { [key: string]: JSON } = { [key: string]: JSON }>\n extends Omit<TableOptions<Data>, \"getCoreRowModel\" | \"onClick\"> {\n operations: Operation<Data>[];\n metadata?: Record<string, unknown>;\n i18n?: FormOptions[\"i18n\"];\n onClick?: (data: any, operation: Operation<Data>) => void;\n manualFaceted?: boolean;\n onChange?: (query: TableState) => void;\n pageSizes?: number[];\n}\n\nexport function useTable<Data extends { [key: string]: JSON } = { [key: string]: JSON }>(props: UseTableProps<Data>) {\n const Operations = getComponent<typeof DefaultCellOperations<Data>>(\"CellOperations\");\n const { t } = useI18n(props.i18n);\n\n // const [pagination, setPagination] = useState({\n // pageIndex: 0, //initial page index\n // pageSize: 10 //default page size\n // });\n\n const operations = props.operations.length\n ? ([\n {\n id: \"operations\",\n header: t(\"Operations\"),\n cell: (info) => (\n <Operations info={info} operations={props.operations} metadata={props.metadata} onClick={props.onClick} i18n={t} />\n )\n }\n ] satisfies ColumnDef<Data>[])\n : [];\n\n const tableInstance = useReactTable({\n ...props,\n columns: [...props.columns, ...operations],\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getFilteredRowModel: !props.manualFiltering ? getFilteredRowModel() : undefined,\n getSortedRowModel: !props.manualSorting ? getSortedRowModel() : undefined,\n getFacetedRowModel: !props.manualFaceted ? getFacetedRowModel() : undefined, // client-side faceting\n getFacetedUniqueValues: !props.manualFaceted ? getFacetedUniqueValues() : undefined // generate unique values for select filter/autocomplete\n });\n\n const { columnFilters, sorting, pagination, columnOrder, columnPinning, columnSizing, columnSizingInfo, columnVisibility, globalFilter } =\n tableInstance.getState();\n\n useEffect(() => {\n if (props.onChange) {\n props.onChange(tableInstance.getState());\n }\n }, [columnFilters, sorting, pagination, columnOrder, columnPinning, columnSizing, columnSizingInfo, columnVisibility, globalFilter]);\n\n return {\n i18n: t,\n tableInstance\n };\n}\n"],"names":["useTable","props","Operations","getComponent","useI18n","operations","info","jsx","tableInstance","useReactTable","getCoreRowModel","getPaginationRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","columnFilters","sorting","pagination","columnOrder","columnPinning","columnSizing","columnSizingInfo","columnVisibility","globalFilter","useEffect"],"mappings":";;;;;AA8BO,SAASA,EAAyEC,GAA4B;AACnH,QAAMC,IAAaC,EAAiD,gBAAgB,GAC9E,EAAE,EAAA,IAAMC,EAAQH,EAAM,IAAI,GAO1BI,IAAaJ,EAAM,WAAW,SAC/B;AAAA,IACC;AAAA,MACE,IAAI;AAAA,MACJ,QAAQ,EAAE,YAAY;AAAA,MACtB,MAAM,CAACK,MACL,gBAAAC,EAACL,GAAA,EAAW,MAAAI,GAAY,YAAYL,EAAM,YAAY,UAAUA,EAAM,UAAU,SAASA,EAAM,SAAS,MAAM,EAAA,CAAG;AAAA,IAAA;AAAA,EAErH,IAEF,CAAA,GAEEO,IAAgBC,EAAc;AAAA,IAClC,GAAGR;AAAA,IACH,SAAS,CAAC,GAAGA,EAAM,SAAS,GAAGI,CAAU;AAAA,IACzC,iBAAiBK,EAAA;AAAA,IACjB,uBAAuBC,EAAA;AAAA,IACvB,qBAAsBV,EAAM,kBAA0C,SAAxBW;IAC9C,mBAAoBX,EAAM,gBAAsC,SAAtBY;IAC1C,oBAAqBZ,EAAM,gBAAuC,SAAvBa;;IAC3C,wBAAyBb,EAAM,gBAA2C,SAA3Bc;;EAA2B,CAC3E,GAEK,EAAE,eAAAC,GAAe,SAAAC,GAAS,YAAAC,GAAY,aAAAC,GAAa,eAAAC,GAAe,cAAAC,GAAc,kBAAAC,GAAkB,kBAAAC,GAAkB,cAAAC,MACxHhB,EAAc,SAAA;AAEhB,SAAAiB,EAAU,MAAM;AACd,IAAIxB,EAAM,YACRA,EAAM,SAASO,EAAc,UAAU;AAAA,EAE3C,GAAG,CAACQ,GAAeC,GAASC,GAAYC,GAAaC,GAAeC,GAAcC,GAAkBC,GAAkBC,CAAY,CAAC,GAE5H;AAAA,IACL,MAAM;AAAA,IACN,eAAAhB;AAAA,EAAA;AAEJ;"}
@@ -1,38 +1,38 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { createColumnHelper as i } from "@tanstack/react-table";
3
- import { Components as d } from "formiojs";
4
- import f from "lodash/cloneDeep";
5
- import C from "lodash/get";
6
- import { getComponent as g } from "../../../registries/components.js";
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { c as d } from "../../../chunks/index2.js";
3
+ import { createColumnHelper as f } from "@tanstack/react-table";
4
+ import C from "lodash/cloneDeep";
5
+ import g from "lodash/get";
6
+ import { getComponent as x } from "../../../registries/components.js";
7
7
  const b = {
8
8
  number: "range",
9
9
  currency: "range",
10
10
  checkbox: "boolean"
11
11
  };
12
- function h(s, c = []) {
13
- const u = i(), o = f(c), n = g("Cell");
14
- return s.components.flatMap((e) => e.type === "tabs" ? e.components.flatMap((r) => r.components) : [e]).filter((e) => e.tableView).map((e) => {
15
- const r = d.create(e, {}, null, !0), l = o.findIndex(({ accessorKey: a }) => a === `data.${e.key}`);
16
- let t = o[l];
17
- return t && o.splice(l, 1), u.accessor(`data.${e.key}`, {
18
- header: (e.label || e.title || e.key)?.replace(/:/, ""),
19
- cell: (a) => /* @__PURE__ */ m(n, { value: a.getValue(), render: (p) => r.asString(p) }),
12
+ function j(s, p = []) {
13
+ const u = f(), r = C(p), l = x("Cell");
14
+ return s.components.flatMap((e) => e.type === "tabs" ? e.components?.flatMap((t) => t.components) : [e]).filter((e) => e?.tableView).map((e) => {
15
+ const t = e, n = d.Components.create(t, {}, null), o = r.findIndex(({ accessorKey: a }) => a === `data.${t.key}`);
16
+ let m = r[o];
17
+ return m && r.splice(o, 1), u.accessor(`data.${t.key}`, {
18
+ header: (t.label || t.title || t.key)?.replace(/:/, ""),
19
+ cell: (a) => /* @__PURE__ */ c(l, { value: a.getValue(), render: (i) => n.asString(i) }),
20
20
  meta: {
21
- filter: { variant: b[e.type] || "text" },
22
- ...t?.meta || {}
21
+ filter: { variant: b[t.type] || "text" },
22
+ ...m?.meta || {}
23
23
  },
24
- ...t || {}
24
+ ...m || {}
25
25
  });
26
- }).concat(o).map((e, r) => ({
26
+ }).concat(r).map((e, t) => ({
27
27
  ...e,
28
28
  meta: {
29
29
  ...e.meta || {},
30
- order: C(e, "meta.order", r * 10)
30
+ order: g(e, "meta.order", t * 10)
31
31
  },
32
- cell: e.cell || ((l) => /* @__PURE__ */ m(n, { value: l.getValue(), render: (t) => t }))
33
- })).sort((e, r) => e.meta.order > r.meta.order ? 1 : -1);
32
+ cell: e.cell || ((n) => /* @__PURE__ */ c(l, { value: n.getValue(), render: (o) => o }))
33
+ })).sort((e, t) => e.meta.order > t.meta.order ? 1 : -1);
34
34
  }
35
35
  export {
36
- h as mapFormToColumns
36
+ j as mapFormToColumns
37
37
  };
38
38
  //# sourceMappingURL=mapFormToColumns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapFormToColumns.js","sources":["../../../../src/molecules/table/utils/mapFormToColumns.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { ColumnDef, ColumnDefResolved, createColumnHelper } from \"@tanstack/react-table\";\nimport { Components } from \"formiojs\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport get from \"lodash/get\";\n\nimport type { ComponentType, FormType } from \"../../../interfaces\";\nimport { getComponent } from \"../../../registries/components\";\nimport type { DefaultCell } from \"../components/DefaultCell\";\nimport type { FilterVariants } from \"../filters/Filters.js\";\n\nconst MAP_TYPES: Record<string, FilterVariants> = {\n number: \"range\",\n currency: \"range\",\n checkbox: \"boolean\"\n};\n\nexport function mapFormToColumns<Data = any>(form: FormType, columns: ColumnDefResolved<Data, any>[] = []): ColumnDef<Data, any>[] {\n const columnHelper = createColumnHelper<Data>();\n const columnsToKeep = cloneDeep(columns);\n\n const Cell = getComponent<typeof DefaultCell>(\"Cell\");\n\n const columnsFromComponents = form.components\n .flatMap((component) => {\n if (component.type === \"tabs\") {\n return component.components.flatMap((subComponent: ComponentType) => subComponent.components);\n }\n\n return [component];\n })\n .filter((component) => component.tableView)\n .map((component: ComponentType) => {\n const cmp: any = Components.create(component, {}, null, true);\n\n const columnIndex = columnsToKeep.findIndex(({ accessorKey }) => {\n return accessorKey === `data.${component.key}`;\n });\n\n let column = columnsToKeep[columnIndex];\n\n if (column) {\n columnsToKeep.splice(columnIndex, 1);\n }\n\n return columnHelper.accessor(`data.${component.key}` as any, {\n header: (component.label || component.title || component.key)?.replace(/:/, \"\"),\n cell: (info) => {\n return <Cell value={info.getValue() as Data} render={(value: Data) => cmp.asString(value)} />;\n },\n meta: {\n filter: { variant: MAP_TYPES[component.type!] || \"text\" },\n ...(column?.meta || {})\n },\n ...(column || {})\n });\n });\n\n const mergedColumns = columnsFromComponents.concat(columnsToKeep as any[]).map((column, index) => ({\n ...column,\n meta: {\n ...(column.meta || {}),\n order: get(column, \"meta.order\", index * 10)\n },\n cell:\n column.cell ||\n ((info) => {\n return <Cell value={info.getValue() as Data} render={(value: Data) => value} />;\n })\n }));\n\n return mergedColumns.sort((a, b) => (a.meta.order > b.meta.order ? 1 : -1)) as ColumnDef<Data, any>[];\n}\n"],"names":["MAP_TYPES","mapFormToColumns","form","columns","columnHelper","createColumnHelper","columnsToKeep","cloneDeep","Cell","getComponent","component","subComponent","cmp","Components","columnIndex","accessorKey","column","info","jsx","value","index","get","a","b"],"mappings":";;;;;;AAYA,MAAMA,IAA4C;AAAA,EAChD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAASC,EAA6BC,GAAgBC,IAA0C,IAA4B;AACjI,QAAMC,IAAeC,EAAA,GACfC,IAAgBC,EAAUJ,CAAO,GAEjCK,IAAOC,EAAiC,MAAM;AAkDpD,SAhD8BP,EAAK,WAChC,QAAQ,CAACQ,MACJA,EAAU,SAAS,SACdA,EAAU,WAAW,QAAQ,CAACC,MAAgCA,EAAa,UAAU,IAGvF,CAACD,CAAS,CAClB,EACA,OAAO,CAACA,MAAcA,EAAU,SAAS,EACzC,IAAI,CAACA,MAA6B;AACjC,UAAME,IAAWC,EAAW,OAAOH,GAAW,CAAA,GAAI,MAAM,EAAI,GAEtDI,IAAcR,EAAc,UAAU,CAAC,EAAE,aAAAS,QACtCA,MAAgB,QAAQL,EAAU,GAAG,EAC7C;AAED,QAAIM,IAASV,EAAcQ,CAAW;AAEtC,WAAIE,KACFV,EAAc,OAAOQ,GAAa,CAAC,GAG9BV,EAAa,SAAS,QAAQM,EAAU,GAAG,IAAW;AAAA,MAC3D,SAASA,EAAU,SAASA,EAAU,SAASA,EAAU,MAAM,QAAQ,KAAK,EAAE;AAAA,MAC9E,MAAM,CAACO,MACE,gBAAAC,EAACV,GAAA,EAAK,OAAOS,EAAK,SAAA,GAAoB,QAAQ,CAACE,MAAgBP,EAAI,SAASO,CAAK,EAAA,CAAG;AAAA,MAE7F,MAAM;AAAA,QACJ,QAAQ,EAAE,SAASnB,EAAUU,EAAU,IAAK,KAAK,OAAA;AAAA,QACjD,GAAIM,GAAQ,QAAQ,CAAA;AAAA,MAAC;AAAA,MAEvB,GAAIA,KAAU,CAAA;AAAA,IAAC,CAChB;AAAA,EACH,CAAC,EAEyC,OAAOV,CAAsB,EAAE,IAAI,CAACU,GAAQI,OAAW;AAAA,IACjG,GAAGJ;AAAA,IACH,MAAM;AAAA,MACJ,GAAIA,EAAO,QAAQ,CAAA;AAAA,MACnB,OAAOK,EAAIL,GAAQ,cAAcI,IAAQ,EAAE;AAAA,IAAA;AAAA,IAE7C,MACEJ,EAAO,SACN,CAACC,MACO,gBAAAC,EAACV,KAAK,OAAOS,EAAK,YAAoB,QAAQ,CAACE,MAAgBA,GAAO;AAAA,EAC/E,EACF,EAEmB,KAAK,CAACG,GAAGC,MAAOD,EAAE,KAAK,QAAQC,EAAE,KAAK,QAAQ,IAAI,EAAG;AAC5E;"}
1
+ {"version":3,"file":"mapFormToColumns.js","sources":["../../../../src/molecules/table/utils/mapFormToColumns.tsx"],"sourcesContent":["import \"../interfaces/extends\";\n\nimport { Components } from \"@formio/js\";\nimport { ColumnDef, ColumnDefResolved, createColumnHelper } from \"@tanstack/react-table\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport get from \"lodash/get\";\n\nimport type { ComponentType, FormType } from \"../../../interfaces\";\nimport { getComponent } from \"../../../registries/components\";\nimport type { DefaultCell } from \"../components/DefaultCell\";\nimport type { FilterVariants } from \"../filters/Filters.js\";\n\nconst MAP_TYPES: Record<string, FilterVariants> = {\n number: \"range\",\n currency: \"range\",\n checkbox: \"boolean\"\n};\n\nexport function mapFormToColumns<Data = any>(form: FormType, columns: ColumnDefResolved<Data, any>[] = []): ColumnDef<Data, any>[] {\n const columnHelper = createColumnHelper<Data>();\n const columnsToKeep = cloneDeep(columns);\n\n const Cell = getComponent<typeof DefaultCell>(\"Cell\");\n\n const columnsFromComponents = form.components\n .flatMap((component) => {\n if (component.type === \"tabs\") {\n return component.components?.flatMap((subComponent: ComponentType) => subComponent.components);\n }\n\n return [component];\n })\n .filter((component) => component?.tableView)\n .map((c) => {\n const component = c as ComponentType;\n const cmp: any = Components.create(component, {}, null);\n\n const columnIndex = columnsToKeep.findIndex(({ accessorKey }) => {\n return accessorKey === `data.${component.key}`;\n });\n\n let column = columnsToKeep[columnIndex];\n\n if (column) {\n columnsToKeep.splice(columnIndex, 1);\n }\n\n return columnHelper.accessor(`data.${component.key}` as any, {\n header: (component.label || component.title || component.key)?.replace(/:/, \"\"),\n cell: (info) => {\n return <Cell value={info.getValue() as Data} render={(value: Data) => cmp.asString(value)} />;\n },\n meta: {\n filter: { variant: MAP_TYPES[component.type!] || \"text\" },\n ...(column?.meta || {})\n },\n ...(column || {})\n });\n });\n\n const mergedColumns = columnsFromComponents.concat(columnsToKeep as any[]).map((column, index) => ({\n ...column,\n meta: {\n ...(column.meta || {}),\n order: get(column, \"meta.order\", index * 10)\n },\n cell:\n column.cell ||\n ((info) => {\n return <Cell value={info.getValue() as Data} render={(value: Data) => value} />;\n })\n }));\n\n return mergedColumns.sort((a, b) => (a.meta.order > b.meta.order ? 1 : -1)) as ColumnDef<Data, any>[];\n}\n"],"names":["MAP_TYPES","mapFormToColumns","form","columns","columnHelper","createColumnHelper","columnsToKeep","cloneDeep","Cell","getComponent","component","subComponent","c","cmp","Components","columnIndex","accessorKey","column","info","jsx","value","index","get","a","b"],"mappings":";;;;;;AAYA,MAAMA,IAA4C;AAAA,EAChD,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,SAASC,EAA6BC,GAAgBC,IAA0C,IAA4B;AACjI,QAAMC,IAAeC,EAAA,GACfC,IAAgBC,EAAUJ,CAAO,GAEjCK,IAAOC,EAAiC,MAAM;AAmDpD,SAjD8BP,EAAK,WAChC,QAAQ,CAACQ,MACJA,EAAU,SAAS,SACdA,EAAU,YAAY,QAAQ,CAACC,MAAgCA,EAAa,UAAU,IAGxF,CAACD,CAAS,CAClB,EACA,OAAO,CAACA,MAAcA,GAAW,SAAS,EAC1C,IAAI,CAACE,MAAM;AACV,UAAMF,IAAYE,GACZC,IAAWC,EAAAA,WAAW,OAAOJ,GAAW,CAAA,GAAI,IAAI,GAEhDK,IAAcT,EAAc,UAAU,CAAC,EAAE,aAAAU,QACtCA,MAAgB,QAAQN,EAAU,GAAG,EAC7C;AAED,QAAIO,IAASX,EAAcS,CAAW;AAEtC,WAAIE,KACFX,EAAc,OAAOS,GAAa,CAAC,GAG9BX,EAAa,SAAS,QAAQM,EAAU,GAAG,IAAW;AAAA,MAC3D,SAASA,EAAU,SAASA,EAAU,SAASA,EAAU,MAAM,QAAQ,KAAK,EAAE;AAAA,MAC9E,MAAM,CAACQ,MACE,gBAAAC,EAACX,GAAA,EAAK,OAAOU,EAAK,SAAA,GAAoB,QAAQ,CAACE,MAAgBP,EAAI,SAASO,CAAK,EAAA,CAAG;AAAA,MAE7F,MAAM;AAAA,QACJ,QAAQ,EAAE,SAASpB,EAAUU,EAAU,IAAK,KAAK,OAAA;AAAA,QACjD,GAAIO,GAAQ,QAAQ,CAAA;AAAA,MAAC;AAAA,MAEvB,GAAIA,KAAU,CAAA;AAAA,IAAC,CAChB;AAAA,EACH,CAAC,EAEyC,OAAOX,CAAsB,EAAE,IAAI,CAACW,GAAQI,OAAW;AAAA,IACjG,GAAGJ;AAAA,IACH,MAAM;AAAA,MACJ,GAAIA,EAAO,QAAQ,CAAA;AAAA,MACnB,OAAOK,EAAIL,GAAQ,cAAcI,IAAQ,EAAE;AAAA,IAAA;AAAA,IAE7C,MACEJ,EAAO,SACN,CAACC,MACO,gBAAAC,EAACX,KAAK,OAAOU,EAAK,YAAoB,QAAQ,CAACE,MAAgBA,GAAO;AAAA,EAC/E,EACF,EAEmB,KAAK,CAACG,GAAGC,MAAOD,EAAE,KAAK,QAAQC,EAAE,KAAK,QAAQ,IAAI,EAAG;AAC5E;"}
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
+ import { FormOptions } from '../../interfaces/index.js';
2
3
  export interface TabsItemProps extends Record<string, any> {
3
4
  label?: string;
4
5
  icon?: string;
@@ -12,6 +13,6 @@ export interface TabsLegacyProps extends Record<string, any> {
12
13
  className?: string;
13
14
  reverse?: boolean;
14
15
  onClick?: (item: TabsItemProps) => void;
15
- i18n?: (f: string) => string;
16
+ i18n?: FormOptions["i18n"];
16
17
  }
17
- export declare function TabsLegacy({ style, current, items, HeaderChildren, AddButton, className, onClick, i18n, reverse, after, ...additionalProps }: TabsLegacyProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function TabsLegacy({ style, current, items, HeaderChildren, AddButton, className, onClick, reverse, after, ...additionalProps }: TabsLegacyProps): import("react/jsx-runtime").JSX.Element;
@@ -1,49 +1,49 @@
1
- import { jsxs as s, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  import "./Tab.js";
3
3
  import "./TabList.js";
4
4
  import "./TabPanel.js";
5
5
  import "./Tabs.js";
6
6
  import "./TabsBody.js";
7
- import { getComponent as a } from "../../registries/components.js";
8
- function w({
9
- style: p,
10
- current: t,
11
- items: m = [],
7
+ import { useI18n as x } from "../../hooks/useI18n.js";
8
+ import { getComponent as c } from "../../registries/components.js";
9
+ function C({
10
+ style: m,
11
+ current: a,
12
+ items: T = [],
12
13
  HeaderChildren: e,
13
- AddButton: l,
14
- className: h,
15
- onClick: b,
16
- i18n: f = (c) => c,
17
- reverse: u,
18
- after: v,
19
- ...i
14
+ AddButton: b,
15
+ className: p,
16
+ onClick: l,
17
+ reverse: h,
18
+ after: f,
19
+ ...s
20
20
  }) {
21
- const c = a("Tab"), y = a("TabsBody"), L = a("TabList"), d = a("TabPanel"), g = a("Tabs"), T = m.filter((o) => o.label || o.icon);
22
- return /* @__PURE__ */ s(g, { className: h, style: p, children: [
23
- /* @__PURE__ */ s("div", { children: [
24
- /* @__PURE__ */ s(L, { children: [
25
- T.map((o, n) => /* @__PURE__ */ r(
26
- c,
21
+ const u = c("Tab"), v = c("TabsBody"), y = c("TabList"), L = c("TabPanel"), g = c("Tabs"), i = T.filter((n) => n.label || n.icon), { t: j } = x(s.i18n);
22
+ return /* @__PURE__ */ t(g, { className: p, style: m, children: [
23
+ /* @__PURE__ */ t("div", { children: [
24
+ /* @__PURE__ */ t(y, { children: [
25
+ i.map((n, o) => /* @__PURE__ */ r(
26
+ u,
27
27
  {
28
28
  onClick: () => {
29
- b && b(o);
29
+ l && l(n);
30
30
  },
31
- icon: o.icon,
32
- value: n,
33
- className: u ? "-reverse" : "",
34
- after: v,
35
- children: f(o.label || "")
31
+ icon: n.icon,
32
+ value: o,
33
+ className: h ? "-reverse" : "",
34
+ after: f,
35
+ children: j(n.label || "")
36
36
  },
37
- n
37
+ o
38
38
  )),
39
- l && /* @__PURE__ */ r(l, { ...i, current: t })
39
+ b && /* @__PURE__ */ r(b, { ...s, current: a })
40
40
  ] }),
41
- e && /* @__PURE__ */ r(e, { ...i, current: t })
41
+ e && /* @__PURE__ */ r(e, { ...s, current: a })
42
42
  ] }),
43
- /* @__PURE__ */ r(y, { children: T.map((o, n) => /* @__PURE__ */ r(d, { value: n, children: o.children || o.content }, n)) })
43
+ /* @__PURE__ */ r(v, { children: i.map((n, o) => /* @__PURE__ */ r(L, { value: o, children: n.children || n.content }, o)) })
44
44
  ] });
45
45
  }
46
46
  export {
47
- w as TabsLegacy
47
+ C as TabsLegacy
48
48
  };
49
49
  //# sourceMappingURL=TabsLegacy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsLegacy.js","sources":["../../../src/molecules/tabs/TabsLegacy.tsx"],"sourcesContent":["import \"./all.js\";\n\nimport { CSSProperties, ReactNode } from \"react\";\n\nimport { getComponent } from \"../../registries/components.js\";\nimport type { Tab as DefaultTab } from \"./Tab.js\";\nimport type { TabList as DefaultTabList } from \"./TabList.js\";\nimport type { TabPanel as DefaultTabPanel } from \"./TabPanel.js\";\nimport type { Tabs as DefaultTabs } from \"./Tabs.js\";\nimport type { TabsBody as DefaultTabsBody } from \"./TabsBody.js\";\n\nexport interface TabsItemProps extends Record<string, any> {\n label?: string;\n icon?: string;\n children?: ReactNode;\n}\n\nexport interface TabsLegacyProps extends Record<string, any> {\n AddButton?: any;\n current?: TabsItemProps;\n items?: TabsItemProps[];\n style?: CSSProperties;\n className?: string;\n reverse?: boolean;\n onClick?: (item: TabsItemProps) => void;\n i18n?: (f: string) => string;\n}\n\nexport function TabsLegacy({\n style,\n current,\n items = [],\n HeaderChildren,\n AddButton,\n className,\n onClick,\n i18n = (f) => f,\n reverse,\n after,\n ...additionalProps\n}: TabsLegacyProps) {\n const Tab = getComponent<typeof DefaultTab>(\"Tab\");\n const TabsBody = getComponent<typeof DefaultTabsBody>(\"TabsBody\");\n const TabList = getComponent<typeof DefaultTabList>(\"TabList\");\n const TabPanel = getComponent<typeof DefaultTabPanel>(\"TabPanel\");\n const Tabs = getComponent<typeof DefaultTabs>(\"Tabs\");\n const tabs = items.filter((item) => item.label || item.icon);\n\n return (\n <Tabs className={className} style={style}>\n <div>\n <TabList>\n {tabs.map((item, index) => {\n return (\n <Tab\n key={index}\n onClick={() => {\n onClick && onClick(item);\n }}\n icon={item.icon}\n value={index}\n className={reverse ? \"-reverse\" : \"\"}\n after={after}\n >\n {i18n(item.label || \"\")}\n </Tab>\n );\n })}\n {AddButton && <AddButton {...additionalProps} current={current} />}\n </TabList>\n {HeaderChildren && <HeaderChildren {...additionalProps} current={current} />}\n </div>\n <TabsBody>\n {tabs.map((item, index) => {\n return (\n <TabPanel key={index} value={index}>\n {item.children || item.content}\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"names":["TabsLegacy","style","current","items","HeaderChildren","AddButton","className","onClick","i18n","f","reverse","after","additionalProps","Tab","getComponent","TabsBody","TabList","TabPanel","Tabs","tabs","item","jsxs","index","jsx"],"mappings":";;;;;;;AA4BO,SAASA,EAAW;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC,IAAO,CAACC,MAAMA;AAAA,EACd,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAMC,IAAMC,EAAgC,KAAK,GAC3CC,IAAWD,EAAqC,UAAU,GAC1DE,IAAUF,EAAoC,SAAS,GACvDG,IAAWH,EAAqC,UAAU,GAC1DI,IAAOJ,EAAiC,MAAM,GAC9CK,IAAOhB,EAAM,OAAO,CAACiB,MAASA,EAAK,SAASA,EAAK,IAAI;AAE3D,SACE,gBAAAC,EAACH,GAAA,EAAK,WAAAZ,GAAsB,OAAAL,GAC1B,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAA,EAACL,GAAA,EACE,UAAA;AAAA,QAAAG,EAAK,IAAI,CAACC,GAAME,MAEb,gBAAAC;AAAA,UAACV;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,cAAAN,KAAWA,EAAQa,CAAI;AAAA,YACzB;AAAA,YACA,MAAMA,EAAK;AAAA,YACX,OAAOE;AAAA,YACP,WAAWZ,IAAU,aAAa;AAAA,YAClC,OAAAC;AAAA,YAEC,UAAAH,EAAKY,EAAK,SAAS,EAAE;AAAA,UAAA;AAAA,UATjBE;AAAA,QAAA,CAYV;AAAA,QACAjB,KAAa,gBAAAkB,EAAClB,GAAA,EAAW,GAAGO,GAAiB,SAAAV,EAAA,CAAkB;AAAA,MAAA,GAClE;AAAA,MACCE,KAAkB,gBAAAmB,EAACnB,GAAA,EAAgB,GAAGQ,GAAiB,SAAAV,EAAA,CAAkB;AAAA,IAAA,GAC5E;AAAA,sBACCa,GAAA,EACE,UAAAI,EAAK,IAAI,CAACC,GAAME,MAEb,gBAAAC,EAACN,KAAqB,OAAOK,GAC1B,YAAK,YAAYF,EAAK,WADVE,CAEf,CAEH,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"TabsLegacy.js","sources":["../../../src/molecules/tabs/TabsLegacy.tsx"],"sourcesContent":["import \"./all.js\";\n\nimport { CSSProperties, ReactNode } from \"react\";\n\nimport { useI18n } from \"../../hooks/useI18n.js\";\nimport type { FormOptions } from \"../../interfaces/index.js\";\nimport { getComponent } from \"../../registries/components.js\";\nimport type { Tab as DefaultTab } from \"./Tab.js\";\nimport type { TabList as DefaultTabList } from \"./TabList.js\";\nimport type { TabPanel as DefaultTabPanel } from \"./TabPanel.js\";\nimport type { Tabs as DefaultTabs } from \"./Tabs.js\";\nimport type { TabsBody as DefaultTabsBody } from \"./TabsBody.js\";\n\nexport interface TabsItemProps extends Record<string, any> {\n label?: string;\n icon?: string;\n children?: ReactNode;\n}\n\nexport interface TabsLegacyProps extends Record<string, any> {\n AddButton?: any;\n current?: TabsItemProps;\n items?: TabsItemProps[];\n style?: CSSProperties;\n className?: string;\n reverse?: boolean;\n onClick?: (item: TabsItemProps) => void;\n i18n?: FormOptions[\"i18n\"];\n}\n\nexport function TabsLegacy({\n style,\n current,\n items = [],\n HeaderChildren,\n AddButton,\n className,\n onClick,\n reverse,\n after,\n ...additionalProps\n}: TabsLegacyProps) {\n const Tab = getComponent<typeof DefaultTab>(\"Tab\");\n const TabsBody = getComponent<typeof DefaultTabsBody>(\"TabsBody\");\n const TabList = getComponent<typeof DefaultTabList>(\"TabList\");\n const TabPanel = getComponent<typeof DefaultTabPanel>(\"TabPanel\");\n const Tabs = getComponent<typeof DefaultTabs>(\"Tabs\");\n const tabs = items.filter((item) => item.label || item.icon);\n const { t } = useI18n(additionalProps.i18n);\n\n return (\n <Tabs className={className} style={style}>\n <div>\n <TabList>\n {tabs.map((item, index) => {\n return (\n <Tab\n key={index}\n onClick={() => {\n onClick && onClick(item);\n }}\n icon={item.icon}\n value={index}\n className={reverse ? \"-reverse\" : \"\"}\n after={after}\n >\n {t(item.label || \"\")}\n </Tab>\n );\n })}\n {AddButton && <AddButton {...additionalProps} current={current} />}\n </TabList>\n {HeaderChildren && <HeaderChildren {...additionalProps} current={current} />}\n </div>\n <TabsBody>\n {tabs.map((item, index) => {\n return (\n <TabPanel key={index} value={index}>\n {item.children || item.content}\n </TabPanel>\n );\n })}\n </TabsBody>\n </Tabs>\n );\n}\n"],"names":["TabsLegacy","style","current","items","HeaderChildren","AddButton","className","onClick","reverse","after","additionalProps","Tab","getComponent","TabsBody","TabList","TabPanel","Tabs","tabs","item","t","useI18n","jsxs","index","jsx"],"mappings":";;;;;;;;AA8BO,SAASA,EAAW;AAAA,EACzB,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAMC,IAAMC,EAAgC,KAAK,GAC3CC,IAAWD,EAAqC,UAAU,GAC1DE,IAAUF,EAAoC,SAAS,GACvDG,IAAWH,EAAqC,UAAU,GAC1DI,IAAOJ,EAAiC,MAAM,GAC9CK,IAAOd,EAAM,OAAO,CAACe,MAASA,EAAK,SAASA,EAAK,IAAI,GACrD,EAAE,GAAAC,EAAA,IAAMC,EAAQV,EAAgB,IAAI;AAE1C,SACE,gBAAAW,EAACL,GAAA,EAAK,WAAAV,GAAsB,OAAAL,GAC1B,UAAA;AAAA,IAAA,gBAAAoB,EAAC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAA,EAACP,GAAA,EACE,UAAA;AAAA,QAAAG,EAAK,IAAI,CAACC,GAAMI,MAEb,gBAAAC;AAAA,UAACZ;AAAA,UAAA;AAAA,YAEC,SAAS,MAAM;AACb,cAAAJ,KAAWA,EAAQW,CAAI;AAAA,YACzB;AAAA,YACA,MAAMA,EAAK;AAAA,YACX,OAAOI;AAAA,YACP,WAAWd,IAAU,aAAa;AAAA,YAClC,OAAAC;AAAA,YAEC,UAAAU,EAAED,EAAK,SAAS,EAAE;AAAA,UAAA;AAAA,UATdI;AAAA,QAAA,CAYV;AAAA,QACAjB,KAAa,gBAAAkB,EAAClB,GAAA,EAAW,GAAGK,GAAiB,SAAAR,EAAA,CAAkB;AAAA,MAAA,GAClE;AAAA,MACCE,KAAkB,gBAAAmB,EAACnB,GAAA,EAAgB,GAAGM,GAAiB,SAAAR,EAAA,CAAkB;AAAA,IAAA,GAC5E;AAAA,sBACCW,GAAA,EACE,UAAAI,EAAK,IAAI,CAACC,GAAMI,MAEb,gBAAAC,EAACR,KAAqB,OAAOO,GAC1B,YAAK,YAAYJ,EAAK,WADVI,CAEf,CAEH,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -9,6 +9,7 @@ function s({ label: e, key: o, description: i, choices: l, data: a }) {
9
9
  placeholder: "Select roles...",
10
10
  tooltip: "",
11
11
  multiple: !0,
12
+ input: !0,
12
13
  dataSrc: "values",
13
14
  defaultValue: "",
14
15
  data: {