@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.
- package/dist/all.d.ts +0 -0
- package/dist/all.js +38 -0
- package/dist/all.js.map +1 -0
- package/dist/atoms/icon/Icon.js.map +1 -1
- package/dist/chunks/_commonjsHelpers.js +30 -3
- package/dist/chunks/_commonjsHelpers.js.map +1 -1
- package/dist/chunks/index.js +33 -30
- package/dist/chunks/index.js.map +1 -1
- package/dist/chunks/index.module.js +16 -16
- package/dist/chunks/index.module.js.map +1 -1
- package/dist/chunks/index2.js +56953 -0
- package/dist/chunks/index2.js.map +1 -0
- package/dist/chunks/react-select-animated.esm.js +1204 -1101
- package/dist/chunks/react-select-animated.esm.js.map +1 -1
- package/dist/contexts/FormioContext.d.ts +20 -0
- package/dist/contexts/FormioContext.js +40 -0
- package/dist/contexts/FormioContext.js.map +1 -0
- package/dist/hooks/keyboard.constants.js.map +1 -1
- package/dist/hooks/useFormioContext.d.ts +10 -0
- package/dist/hooks/useFormioContext.js +12 -0
- package/dist/hooks/useFormioContext.js.map +1 -0
- package/dist/hooks/useI18n.d.ts +4 -0
- package/dist/hooks/useI18n.js +9 -0
- package/dist/hooks/useI18n.js.map +1 -0
- package/dist/hooks/useKeyboardControls.js.map +1 -1
- package/dist/hooks/useTooltip.js.map +1 -1
- package/dist/index.d.ts +1 -6
- package/dist/index.js +18 -13
- package/dist/index.js.map +1 -1
- package/dist/interfaces/ComponentType.d.ts +6 -2
- package/dist/interfaces/FormBuilderOptions.d.ts +7 -0
- package/dist/interfaces/FormBuilderOptions.js +2 -0
- package/dist/interfaces/FormBuilderOptions.js.map +1 -0
- package/dist/interfaces/FormOptions.d.ts +6 -13
- package/dist/interfaces/FormType.d.ts +4 -11
- package/dist/interfaces/SubmissionType.d.ts +5 -10
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/molecules/alert/Alert.js.map +1 -1
- package/dist/molecules/button/Button.js +17 -20
- package/dist/molecules/button/Button.js.map +1 -1
- package/dist/molecules/card/Card.js.map +1 -1
- package/dist/molecules/forms/form-control/FormControl.js.map +1 -1
- package/dist/molecules/forms/input-tags/InputTags.js.map +1 -1
- package/dist/molecules/forms/input-tags/components/ChoicesTags.d.ts +19 -19
- package/dist/molecules/forms/input-tags/components/ChoicesTags.js +32 -32
- package/dist/molecules/forms/input-tags/components/ChoicesTags.js.map +1 -1
- package/dist/molecules/forms/input-tags/components/ReactTags.js +289 -300
- package/dist/molecules/forms/input-tags/components/ReactTags.js.map +1 -1
- package/dist/molecules/forms/input-text/InputText.js +3 -3
- package/dist/molecules/forms/input-text/InputText.js.map +1 -1
- package/dist/molecules/forms/select/Select.js.map +1 -1
- package/dist/molecules/forms/select/components/ChoicesSelect.js +71 -73
- package/dist/molecules/forms/select/components/ChoicesSelect.js.map +1 -1
- package/dist/molecules/forms/select/components/HtmlSelect.js.map +1 -1
- package/dist/molecules/forms/select/components/ReactSelect.js +13 -14
- package/dist/molecules/forms/select/components/ReactSelect.js.map +1 -1
- package/dist/molecules/forms/select/components/choices.template.js +2340 -2257
- package/dist/molecules/forms/select/components/choices.template.js.map +1 -1
- package/dist/molecules/forms/select/hooks/useOptions.js.map +1 -1
- package/dist/molecules/loader/Loader.js.map +1 -1
- package/dist/molecules/modal/Modal.js +23 -24
- package/dist/molecules/modal/Modal.js.map +1 -1
- package/dist/molecules/pagination/Pagination.d.ts +2 -1
- package/dist/molecules/pagination/Pagination.js +29 -29
- package/dist/molecules/pagination/Pagination.js.map +1 -1
- package/dist/molecules/pagination/PaginationButton.js.map +1 -1
- package/dist/molecules/pagination/utils/getPageNumbers.js.map +1 -1
- package/dist/molecules/table/Table.js +35 -41
- package/dist/molecules/table/Table.js.map +1 -1
- package/dist/molecules/table/components/DefaultArrowSort.js.map +1 -1
- package/dist/molecules/table/components/DefaultCell.js.map +1 -1
- package/dist/molecules/table/components/DefaultCellFooter.js.map +1 -1
- package/dist/molecules/table/components/DefaultCellHeader.js.map +1 -1
- package/dist/molecules/table/components/DefaultCellOperations.js +10 -10
- package/dist/molecules/table/components/DefaultCellOperations.js.map +1 -1
- package/dist/molecules/table/components/DefaultFilter.js.map +1 -1
- package/dist/molecules/table/components/DefaultOperationButton.js +1 -1
- package/dist/molecules/table/components/DefaultOperationButton.js.map +1 -1
- package/dist/molecules/table/filters/RangeFilter.js +23 -24
- package/dist/molecules/table/filters/RangeFilter.js.map +1 -1
- package/dist/molecules/table/filters/SelectFilter.js +11 -13
- package/dist/molecules/table/filters/SelectFilter.js.map +1 -1
- package/dist/molecules/table/filters/TextFieldFilter.js.map +1 -1
- package/dist/molecules/table/hooks/useTable.d.ts +3 -3
- package/dist/molecules/table/hooks/useTable.js +17 -16
- package/dist/molecules/table/hooks/useTable.js.map +1 -1
- package/dist/molecules/table/hooks/useUniqValues.js.map +1 -1
- package/dist/molecules/table/utils/mapFormToColumns.js +21 -22
- package/dist/molecules/table/utils/mapFormToColumns.js.map +1 -1
- package/dist/molecules/tabs/Tab.js +36 -37
- package/dist/molecules/tabs/Tab.js.map +1 -1
- package/dist/molecules/tabs/TabList.js +9 -10
- package/dist/molecules/tabs/TabList.js.map +1 -1
- package/dist/molecules/tabs/TabPanel.js.map +1 -1
- package/dist/molecules/tabs/Tabs.js.map +1 -1
- package/dist/molecules/tabs/TabsBody.js.map +1 -1
- package/dist/molecules/tabs/TabsLegacy.d.ts +3 -2
- package/dist/molecules/tabs/TabsLegacy.js +30 -30
- package/dist/molecules/tabs/TabsLegacy.js.map +1 -1
- package/dist/molecules/tabs/context/TabControl.js.map +1 -1
- package/dist/molecules/tabs/hooks/tabControl.js.map +1 -1
- package/dist/organisms/form/Form.js.map +1 -1
- package/dist/organisms/form/access/FormAccess.js +41 -41
- package/dist/organisms/form/access/FormAccess.js.map +1 -1
- package/dist/organisms/form/access/FormAccess.schema.js +1 -0
- package/dist/organisms/form/access/FormAccess.schema.js.map +1 -1
- package/dist/organisms/form/access/FormAccess.utils.js +2 -2
- package/dist/organisms/form/access/FormAccess.utils.js.map +1 -1
- package/dist/organisms/form/actions/FormAction.js +15 -13
- package/dist/organisms/form/actions/FormAction.js.map +1 -1
- package/dist/organisms/form/builder/FormBuilder.js.map +1 -1
- package/dist/organisms/form/builder/FormEdit.d.ts +4 -3
- package/dist/organisms/form/builder/FormEdit.js +36 -36
- package/dist/organisms/form/builder/FormEdit.js.map +1 -1
- package/dist/organisms/form/builder/FormEdit.reducer.js.map +1 -1
- package/dist/organisms/form/builder/FormEditCtas.d.ts +2 -2
- package/dist/organisms/form/builder/FormEditCtas.js +36 -35
- package/dist/organisms/form/builder/FormEditCtas.js.map +1 -1
- package/dist/organisms/form/builder/FormParameters.js.map +1 -1
- package/dist/organisms/form/builder/useFormBuilder.d.ts +4 -4
- package/dist/organisms/form/builder/useFormBuilder.js +36 -33
- package/dist/organisms/form/builder/useFormBuilder.js.map +1 -1
- package/dist/organisms/form/builder/useFormEdit.d.ts +1 -1
- package/dist/organisms/form/builder/useFormEdit.js +17 -17
- package/dist/organisms/form/builder/useFormEdit.js.map +1 -1
- package/dist/organisms/form/exports/FormExport.d.ts +3 -2
- package/dist/organisms/form/exports/FormExport.js +23 -22
- package/dist/organisms/form/exports/FormExport.js.map +1 -1
- package/dist/organisms/form/preview/FormPreview.d.ts +3 -3
- package/dist/organisms/form/preview/FormPreview.js +5 -4
- package/dist/organisms/form/preview/FormPreview.js.map +1 -1
- package/dist/organisms/form/settings/FormSettings.js +28 -28
- package/dist/organisms/form/settings/FormSettings.js.map +1 -1
- package/dist/organisms/form/settings/FormSettings.schema.js.map +1 -1
- package/dist/organisms/form/settings/FormSettings.utils.js.map +1 -1
- package/dist/organisms/form/useForm.d.ts +2 -1
- package/dist/organisms/form/useForm.js +664 -661
- package/dist/organisms/form/useForm.js.map +1 -1
- package/dist/organisms/modal/RemoveModal.js +16 -17
- package/dist/organisms/modal/RemoveModal.js.map +1 -1
- package/dist/organisms/table/actions/ActionsTable.d.ts +2 -1
- package/dist/organisms/table/actions/ActionsTable.js +10 -9
- package/dist/organisms/table/actions/ActionsTable.js.map +1 -1
- package/dist/organisms/table/forms/FormsTable.d.ts +1 -1
- package/dist/organisms/table/forms/FormsTable.js +9 -8
- package/dist/organisms/table/forms/FormsTable.js.map +1 -1
- package/dist/organisms/table/forms/components/FormsCell.js +10 -10
- package/dist/organisms/table/forms/components/FormsCell.js.map +1 -1
- package/dist/organisms/table/submissions/SubmissionsTable.js.map +1 -1
- package/dist/organisms/views/FormViews.d.ts +3 -3
- package/dist/organisms/views/FormViews.js +47 -46
- package/dist/organisms/views/FormViews.js.map +1 -1
- package/dist/registries/components.js.map +1 -1
- package/dist/utils/getEventValue.js.map +1 -1
- package/dist/utils/iconClass.js +4 -5
- package/dist/utils/iconClass.js.map +1 -1
- package/dist/utils/mapPagination.js.map +1 -1
- package/dist/utils/stopPropagationWrapper.js.map +1 -1
- package/package.json +7 -7
- package/src/all.ts +34 -0
- package/src/atoms/icon/Icon.stories.tsx +1 -1
- package/src/contexts/FormioContext.tsx +96 -0
- package/src/hooks/useFormioContext.ts +13 -0
- package/src/hooks/useI18n.ts +9 -0
- package/src/index.ts +17 -13
- package/src/interfaces/ComponentType.ts +2 -2
- package/src/interfaces/FormBuilderOptions.ts +9 -0
- package/src/interfaces/FormOptions.ts +7 -13
- package/src/interfaces/FormType.ts +5 -11
- package/src/interfaces/SubmissionType.ts +9 -8
- package/src/interfaces/index.ts +1 -0
- package/src/molecules/button/Button.stories.tsx +1 -1
- package/src/molecules/forms/form-control/FormControl.spec.tsx +5 -2
- package/src/molecules/forms/form-control/FormControl.stories.tsx +1 -1
- package/src/molecules/forms/input-tags/components/ChoicesTags.stories.tsx +1 -1
- package/src/molecules/forms/input-tags/components/ChoicesTags.tsx +4 -4
- package/src/molecules/forms/input-tags/components/ReactTags.stories.tsx +1 -1
- package/src/molecules/forms/input-text/InputText.stories.tsx +2 -2
- package/src/molecules/forms/select/components/ChoicesSelect.stories.tsx +2 -2
- package/src/molecules/forms/select/components/ChoicesSelect.tsx +2 -2
- package/src/molecules/forms/select/components/HtmlSelect.stories.tsx +2 -2
- package/src/molecules/forms/select/components/ReactSelect.stories.tsx +2 -2
- package/src/molecules/loader/Loader.stories.tsx +1 -1
- package/src/molecules/modal/Modal.stories.tsx +1 -1
- package/src/molecules/pagination/Pagination.stories.tsx +1 -1
- package/src/molecules/pagination/Pagination.tsx +10 -10
- package/src/molecules/table/Table.stories.tsx +8 -8
- package/src/molecules/table/Table.tsx +1 -1
- package/src/molecules/table/filters/SelectFilter.tsx +1 -1
- package/src/molecules/table/hooks/useTable.tsx +7 -6
- package/src/molecules/table/utils/mapFormToColumns.tsx +6 -5
- package/src/molecules/tabs/Tabs.stories.tsx +2 -2
- package/src/molecules/tabs/TabsLegacy.stories.tsx +2 -2
- package/src/molecules/tabs/TabsLegacy.tsx +5 -3
- package/src/organisms/form/Form.stories.tsx +98 -118
- package/src/organisms/form/access/FormAccess.schema.ts +1 -0
- package/src/organisms/form/access/FormAccess.stories.tsx +5 -3
- package/src/organisms/form/actions/FormAction.stories.tsx +6 -2
- package/src/organisms/form/actions/FormAction.tsx +2 -2
- package/src/organisms/form/builder/FormBuilder.stories.tsx +4 -1
- package/src/organisms/form/builder/FormEdit.stories.tsx +11 -7
- package/src/organisms/form/builder/FormEdit.tsx +6 -6
- package/src/organisms/form/builder/FormEditCtas.tsx +10 -10
- package/src/organisms/form/builder/useFormBuilder.ts +12 -7
- package/src/organisms/form/exports/FormExport.stories.tsx +9 -12
- package/src/organisms/form/exports/FormExport.tsx +12 -9
- package/src/organisms/form/preview/FormPreview.stories.tsx +7 -10
- package/src/organisms/form/preview/FormPreview.tsx +7 -5
- package/src/organisms/form/settings/FormSettings.component.spec.tsx +3 -1
- package/src/organisms/form/settings/FormSettings.stories.tsx +1 -1
- package/src/organisms/form/settings/FormSettings.tsx +6 -6
- package/src/organisms/form/useForm.ts +2 -3
- package/src/organisms/modal/RemoveModal.stories.tsx +1 -1
- package/src/organisms/table/actions/ActionsTable.stories.tsx +2 -2
- package/src/organisms/table/actions/ActionsTable.tsx +7 -5
- package/src/organisms/table/forms/FormsTable.tsx +6 -5
- package/src/organisms/table/submissions/SubmissionsTable.stories.tsx +11 -14
- package/src/organisms/views/FormViews.stories.tsx +14 -17
- package/src/organisms/views/FormViews.tsx +18 -16
- package/src/utils/iconClass.ts +1 -3
- package/vite.config.mts +2 -2
- package/dist/typings.d.js +0 -2
- package/dist/typings.d.js.map +0 -1
- package/src/typings.d.ts +0 -3
- package/tsconfig.app.json +0 -11
- package/tsconfig.json +0 -21
- package/tsconfig.node.json +0 -13
- 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;
|
|
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":";;;
|
|
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
|
|
3
|
-
import { useState as
|
|
4
|
-
function
|
|
5
|
-
const [e, t] =
|
|
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
|
|
17
|
+
function $({
|
|
18
18
|
show: e,
|
|
19
19
|
children: t,
|
|
20
|
-
closeModal: s =
|
|
21
|
-
onClose:
|
|
20
|
+
closeModal: s = f,
|
|
21
|
+
onClose: g = f,
|
|
22
22
|
title: d,
|
|
23
23
|
footer: n,
|
|
24
|
-
style:
|
|
25
|
-
className:
|
|
26
|
-
...
|
|
24
|
+
style: h,
|
|
25
|
+
className: v = "",
|
|
26
|
+
...p
|
|
27
27
|
}) {
|
|
28
|
-
const
|
|
29
|
-
s(),
|
|
28
|
+
const l = m(), a = m(), [N, c] = u(), i = () => {
|
|
29
|
+
s(), g();
|
|
30
30
|
};
|
|
31
|
-
return
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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 ${
|
|
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:
|
|
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:
|
|
43
|
-
/* @__PURE__ */ o("div", { className: "formio-dialog-body", style: { maxHeight:
|
|
44
|
-
n ? /* @__PURE__ */ o("div", { className: "formio-dialog-footer", ref:
|
|
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
|
-
|
|
60
|
-
|
|
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","
|
|
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?:
|
|
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
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { c as s } from "../../chunks/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
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:
|
|
16
|
-
pageOptions:
|
|
16
|
+
pageIndex: t = 1,
|
|
17
|
+
pageOptions: d,
|
|
17
18
|
pageSize: C,
|
|
18
19
|
onPageSizeChange: v,
|
|
19
|
-
rowCount:
|
|
20
|
-
|
|
21
|
-
|
|
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((
|
|
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__ */
|
|
29
|
-
|
|
30
|
-
if ([
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
const
|
|
33
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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: (
|
|
47
|
-
|
|
46
|
+
onChange: (a, o) => {
|
|
47
|
+
v(+o);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
),
|
|
51
|
-
/* @__PURE__ */
|
|
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: [
|
|
55
55
|
i("Page"),
|
|
56
56
|
" "
|
|
57
57
|
] }),
|
|
58
58
|
/* @__PURE__ */ n("strong", { children: [
|
|
59
|
-
|
|
59
|
+
t + 1,
|
|
60
60
|
" of ",
|
|
61
|
-
|
|
61
|
+
d.length
|
|
62
62
|
] })
|
|
63
63
|
] }),
|
|
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__ */
|
|
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
|
-
|
|
73
|
+
z("Pagination", _);
|
|
74
74
|
export {
|
|
75
|
-
|
|
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?:
|
|
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\")} </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;
|
|
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,
|
|
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
|
|
2
|
-
import { createElement as
|
|
3
|
-
import { flexRender as
|
|
4
|
-
import { c as
|
|
5
|
-
import { getComponent as
|
|
6
|
-
import { useTable as
|
|
7
|
-
function
|
|
8
|
-
className:
|
|
9
|
-
enableFooter:
|
|
10
|
-
children:
|
|
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:
|
|
14
|
-
return /* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
const
|
|
18
|
-
return /* @__PURE__ */
|
|
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":
|
|
23
|
-
children: e.isPlaceholder ? null : /* @__PURE__ */
|
|
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__ */
|
|
29
|
-
|
|
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__ */
|
|
38
|
-
i.data.length &&
|
|
39
|
-
|
|
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:
|
|
43
|
-
canPreviousPage:
|
|
44
|
-
pageIndex:
|
|
45
|
-
pageSize:
|
|
36
|
+
canNextPage: a.getCanNextPage(),
|
|
37
|
+
canPreviousPage: a.getCanPreviousPage(),
|
|
38
|
+
pageIndex: o.pageIndex,
|
|
39
|
+
pageSize: o.pageSize,
|
|
46
40
|
pageSizes: i.pageSizes,
|
|
47
|
-
i18n:
|
|
48
|
-
pageCount:
|
|
41
|
+
i18n: i.i18n,
|
|
42
|
+
pageCount: a.getPageCount(),
|
|
49
43
|
rowCount: i.rowCount,
|
|
50
|
-
onPageIndexChange: (t) =>
|
|
51
|
-
onClickPreviousPage: () =>
|
|
52
|
-
onClickNextPage: () =>
|
|
53
|
-
onPageSizeChange: (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__ */
|
|
50
|
+
/* @__PURE__ */ n("div", { children: m })
|
|
57
51
|
] })
|
|
58
52
|
] });
|
|
59
53
|
}
|
|
60
54
|
export {
|
|
61
|
-
|
|
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","
|
|
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":";;;
|
|
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,
|
|
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;
|
|
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;
|
|
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
|
|
3
|
-
function
|
|
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:
|
|
6
|
+
operations: e,
|
|
7
7
|
i18n: i,
|
|
8
|
-
onClick:
|
|
8
|
+
onClick: l
|
|
9
9
|
}) {
|
|
10
|
-
const
|
|
11
|
-
return /* @__PURE__ */ o("div", { className: "btn-group", children:
|
|
12
|
-
|
|
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
|
-
|
|
20
|
+
l?.(r.row.original, t);
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
t.action
|
|
24
24
|
)) });
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
c("CellOperations", m);
|
|
27
27
|
export {
|
|
28
|
-
|
|
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;
|
|
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;
|
|
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;"}
|