@lumeweb/portal-framework-ui 0.0.1 → 0.1.1
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/LICENSE +9 -0
- package/README.md +1 -45
- package/dist/esm/components/Copyable.d.ts +43 -0
- package/dist/esm/components/Copyable.js +50 -0
- package/dist/esm/components/Copyable.js.map +1 -0
- package/dist/esm/components/FilterChip.d.ts +16 -0
- package/dist/esm/components/FilterChip.js +47 -0
- package/dist/esm/components/FilterChip.js.map +1 -0
- package/dist/esm/components/Forms.d.ts +55 -0
- package/dist/esm/components/Forms.js +123 -0
- package/dist/esm/components/Forms.js.map +1 -0
- package/dist/esm/components/InlineAuthLinkBanner.d.ts +18 -0
- package/dist/esm/components/InlineAuthLinkBanner.js +23 -0
- package/dist/esm/components/InlineAuthLinkBanner.js.map +1 -0
- package/dist/esm/components/KeyboardShortcutDialog.d.ts +12 -0
- package/dist/esm/components/KeyboardShortcutDialog.js +48 -0
- package/dist/esm/components/KeyboardShortcutDialog.js.map +1 -0
- package/dist/esm/components/Loading.d.ts +13 -0
- package/dist/esm/components/Loading.js +38 -0
- package/dist/esm/components/Loading.js.map +1 -0
- package/dist/esm/components/LumeLogo.d.ts +12 -0
- package/dist/esm/components/LumeLogo.js +22 -0
- package/dist/esm/components/LumeLogo.js.map +1 -0
- package/dist/esm/components/MainNavigation.d.ts +11 -0
- package/dist/esm/components/MainNavigation.js +227 -0
- package/dist/esm/components/MainNavigation.js.map +1 -0
- package/dist/esm/components/SkeletonLoader.d.ts +25 -0
- package/dist/esm/components/SkeletonLoader.js +78 -0
- package/dist/esm/components/SkeletonLoader.js.map +1 -0
- package/dist/esm/components/TableActionsDropdown.d.ts +18 -0
- package/dist/esm/components/TableActionsDropdown.js +34 -0
- package/dist/esm/components/TableActionsDropdown.js.map +1 -0
- package/dist/esm/components/TableContainer.d.ts +13 -0
- package/dist/esm/components/TableContainer.js +15 -0
- package/dist/esm/components/TableContainer.js.map +1 -0
- package/dist/esm/components/ThemeSwitcher.d.ts +7 -0
- package/dist/esm/components/ThemeSwitcher.js +38 -0
- package/dist/esm/components/ThemeSwitcher.js.map +1 -0
- package/dist/esm/components/ThemedBadge.d.ts +23 -0
- package/dist/esm/components/ThemedBadge.js +20 -0
- package/dist/esm/components/ThemedBadge.js.map +1 -0
- package/dist/esm/components/actions/ActionListRenderer.d.ts +15 -0
- package/dist/esm/components/actions/ActionListRenderer.js +38 -0
- package/dist/esm/components/actions/ActionListRenderer.js.map +1 -0
- package/dist/esm/components/actions/actionHelpers.d.ts +127 -0
- package/dist/esm/components/actions/actionHelpers.js +205 -0
- package/dist/esm/components/actions/actionHelpers.js.map +1 -0
- package/dist/esm/components/actions/index.d.ts +6 -0
- package/dist/esm/components/actions/index.js +7 -0
- package/dist/esm/components/actions/items/ButtonActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/ButtonActionItem.js +23 -0
- package/dist/esm/components/actions/items/ButtonActionItem.js.map +1 -0
- package/dist/esm/components/actions/items/CancelActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/CancelActionItem.js +28 -0
- package/dist/esm/components/actions/items/CancelActionItem.js.map +1 -0
- package/dist/esm/components/actions/items/CustomActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/CustomActionItem.js +27 -0
- package/dist/esm/components/actions/items/CustomActionItem.js.map +1 -0
- package/dist/esm/components/actions/items/LinkActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/LinkActionItem.js +33 -0
- package/dist/esm/components/actions/items/LinkActionItem.js.map +1 -0
- package/dist/esm/components/actions/items/RetryActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/RetryActionItem.js +23 -0
- package/dist/esm/components/actions/items/RetryActionItem.js.map +1 -0
- package/dist/esm/components/actions/items/SubmitActionItem.d.ts +9 -0
- package/dist/esm/components/actions/items/SubmitActionItem.js +26 -0
- package/dist/esm/components/actions/items/SubmitActionItem.js.map +1 -0
- package/dist/esm/components/actions/register.d.ts +5 -0
- package/dist/esm/components/actions/register.js +20 -0
- package/dist/esm/components/actions/register.js.map +1 -0
- package/dist/esm/components/actions/registry.d.ts +14 -0
- package/dist/esm/components/actions/registry.js +20 -0
- package/dist/esm/components/actions/registry.js.map +1 -0
- package/dist/esm/components/actions/types.d.ts +132 -0
- package/dist/esm/components/actions/types.js +29 -0
- package/dist/esm/components/actions/types.js.map +1 -0
- package/dist/esm/components/app/AppComponent.d.ts +17 -0
- package/dist/esm/components/app/AppComponent.js +179 -0
- package/dist/esm/components/app/AppComponent.js.map +1 -0
- package/dist/esm/components/data-table/BaseTable.d.ts +86 -0
- package/dist/esm/components/data-table/BaseTable.js +123 -0
- package/dist/esm/components/data-table/BaseTable.js.map +1 -0
- package/dist/esm/components/data-table/BaseTableContent.d.ts +48 -0
- package/dist/esm/components/data-table/BaseTableContent.js +38 -0
- package/dist/esm/components/data-table/BaseTableContent.js.map +1 -0
- package/dist/esm/components/data-table/BaseTableInner.d.ts +11 -0
- package/dist/esm/components/data-table/BaseTableInner.js +35 -0
- package/dist/esm/components/data-table/BaseTableInner.js.map +1 -0
- package/dist/esm/components/data-table/BaseTableStackedLayout.d.ts +31 -0
- package/dist/esm/components/data-table/BaseTableStackedLayout.js +137 -0
- package/dist/esm/components/data-table/BaseTableStackedLayout.js.map +1 -0
- package/dist/esm/components/data-table/DataTable.d.ts +18 -0
- package/dist/esm/components/data-table/DataTable.js +97 -0
- package/dist/esm/components/data-table/DataTable.js.map +1 -0
- package/dist/esm/components/data-table/DataTable.types.d.ts +203 -0
- package/dist/esm/components/data-table/DataTable.types.js +25 -0
- package/dist/esm/components/data-table/DataTable.types.js.map +1 -0
- package/dist/esm/components/data-table/DataTableController.d.ts +19 -0
- package/dist/esm/components/data-table/DataTableController.js +31 -0
- package/dist/esm/components/data-table/DataTableController.js.map +1 -0
- package/dist/esm/components/data-table/DefaultPagination.d.ts +7 -0
- package/dist/esm/components/data-table/DefaultPagination.js +62 -0
- package/dist/esm/components/data-table/DefaultPagination.js.map +1 -0
- package/dist/esm/components/data-table/DefaultTableLayout.d.ts +28 -0
- package/dist/esm/components/data-table/DefaultTableLayout.js +70 -0
- package/dist/esm/components/data-table/DefaultTableLayout.js.map +1 -0
- package/dist/esm/components/data-table/EmptyState.d.ts +19 -0
- package/dist/esm/components/data-table/EmptyState.js +16 -0
- package/dist/esm/components/data-table/EmptyState.js.map +1 -0
- package/dist/esm/components/data-table/LoadingState.d.ts +19 -0
- package/dist/esm/components/data-table/LoadingState.js +34 -0
- package/dist/esm/components/data-table/LoadingState.js.map +1 -0
- package/dist/esm/components/data-table/TableAction.d.ts +21 -0
- package/dist/esm/components/data-table/TableAction.js +26 -0
- package/dist/esm/components/data-table/TableAction.js.map +1 -0
- package/dist/esm/components/data-table/TableActionMenu.d.ts +20 -0
- package/dist/esm/components/data-table/TableActionMenu.js +31 -0
- package/dist/esm/components/data-table/TableActionMenu.js.map +1 -0
- package/dist/esm/components/data-table/TableLayoutRenderer.d.ts +48 -0
- package/dist/esm/components/data-table/TableLayoutRenderer.js +45 -0
- package/dist/esm/components/data-table/TableLayoutRenderer.js.map +1 -0
- package/dist/esm/components/data-table/Toolbar.d.ts +17 -0
- package/dist/esm/components/data-table/Toolbar.js +176 -0
- package/dist/esm/components/data-table/Toolbar.js.map +1 -0
- package/dist/esm/components/data-table/ToolbarRegistry.d.ts +66 -0
- package/dist/esm/components/data-table/ToolbarRegistry.js +89 -0
- package/dist/esm/components/data-table/ToolbarRegistry.js.map +1 -0
- package/dist/esm/components/data-table/ToolbarRenderer.d.ts +45 -0
- package/dist/esm/components/data-table/ToolbarRenderer.js +137 -0
- package/dist/esm/components/data-table/ToolbarRenderer.js.map +1 -0
- package/dist/esm/components/data-table/contexts/FilterHelpers.d.ts +30 -0
- package/dist/esm/components/data-table/contexts/FilterHelpers.js +60 -0
- package/dist/esm/components/data-table/contexts/FilterHelpers.js.map +1 -0
- package/dist/esm/components/data-table/contexts/RefineTable.d.ts +25 -0
- package/dist/esm/components/data-table/contexts/RefineTable.js +69 -0
- package/dist/esm/components/data-table/contexts/RefineTable.js.map +1 -0
- package/dist/esm/components/data-table/contexts/TableConfig.d.ts +24 -0
- package/dist/esm/components/data-table/contexts/TableConfig.js +29 -0
- package/dist/esm/components/data-table/contexts/TableConfig.js.map +1 -0
- package/dist/esm/components/data-table/contexts/TableInstance.d.ts +20 -0
- package/dist/esm/components/data-table/contexts/TableInstance.js +21 -0
- package/dist/esm/components/data-table/contexts/TableInstance.js.map +1 -0
- package/dist/esm/components/data-table/contexts/index.d.ts +5 -0
- package/dist/esm/components/data-table/contexts/index.js +6 -0
- package/dist/esm/components/data-table/filterColumnsForMobile.d.ts +16 -0
- package/dist/esm/components/data-table/filterColumnsForMobile.js +31 -0
- package/dist/esm/components/data-table/filterColumnsForMobile.js.map +1 -0
- package/dist/esm/components/data-table/index.d.ts +50 -0
- package/dist/esm/components/data-table/index.js +39 -0
- package/dist/esm/components/data-table/register.d.ts +1 -0
- package/dist/esm/components/data-table/register.js +1 -0
- package/dist/esm/components/data-table/tableOptions.d.ts +18 -0
- package/dist/esm/components/data-table/tableOptions.js +40 -0
- package/dist/esm/components/data-table/tableOptions.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/FilterGroup.d.ts +18 -0
- package/dist/esm/components/data-table/toolbarItems/FilterGroup.js +105 -0
- package/dist/esm/components/data-table/toolbarItems/FilterGroup.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/FilterResolver.d.ts +22 -0
- package/dist/esm/components/data-table/toolbarItems/FilterResolver.js +74 -0
- package/dist/esm/components/data-table/toolbarItems/FilterResolver.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.d.ts +27 -0
- package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js +29 -0
- package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.d.ts +52 -0
- package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js +57 -0
- package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.d.ts +12 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js +34 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.d.ts +12 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js +25 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.d.ts +13 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js +44 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.d.ts +12 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js +29 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.d.ts +16 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js +61 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.d.ts +12 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js +33 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.d.ts +13 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js +95 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.d.ts +12 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js +25 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/index.d.ts +9 -0
- package/dist/esm/components/data-table/toolbarItems/filters/components/index.js +10 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.d.ts +43 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js +102 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.d.ts +19 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js +34 -0
- package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/index.d.ts +11 -0
- package/dist/esm/components/data-table/toolbarItems/filters/index.js +13 -0
- package/dist/esm/components/data-table/toolbarItems/filters/register.d.ts +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/register.js +8 -0
- package/dist/esm/components/data-table/toolbarItems/filters/types.d.ts +140 -0
- package/dist/esm/components/data-table/toolbarItems/filters/types.js +58 -0
- package/dist/esm/components/data-table/toolbarItems/filters/types.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/filters/util.d.ts +24 -0
- package/dist/esm/components/data-table/toolbarItems/filters/util.js +43 -0
- package/dist/esm/components/data-table/toolbarItems/filters/util.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/index.d.ts +17 -0
- package/dist/esm/components/data-table/toolbarItems/index.js +18 -0
- package/dist/esm/components/data-table/toolbarItems/items/custom.d.ts +15 -0
- package/dist/esm/components/data-table/toolbarItems/items/custom.js +19 -0
- package/dist/esm/components/data-table/toolbarItems/items/custom.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/items/index.d.ts +6 -0
- package/dist/esm/components/data-table/toolbarItems/items/index.js +6 -0
- package/dist/esm/components/data-table/toolbarItems/items/refresh.d.ts +7 -0
- package/dist/esm/components/data-table/toolbarItems/items/refresh.js +36 -0
- package/dist/esm/components/data-table/toolbarItems/items/refresh.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/items/search.d.ts +7 -0
- package/dist/esm/components/data-table/toolbarItems/items/search.js +66 -0
- package/dist/esm/components/data-table/toolbarItems/items/search.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/items/separator.d.ts +16 -0
- package/dist/esm/components/data-table/toolbarItems/items/separator.js +20 -0
- package/dist/esm/components/data-table/toolbarItems/items/separator.js.map +1 -0
- package/dist/esm/components/data-table/toolbarItems/register.d.ts +24 -0
- package/dist/esm/components/data-table/toolbarItems/register.js +119 -0
- package/dist/esm/components/data-table/toolbarItems/register.js.map +1 -0
- package/dist/esm/components/data-table/useMobileDetection.d.ts +18 -0
- package/dist/esm/components/data-table/useMobileDetection.js +32 -0
- package/dist/esm/components/data-table/useMobileDetection.js.map +1 -0
- package/dist/esm/components/data-table/useTableHandlers.d.ts +57 -0
- package/dist/esm/components/data-table/useTableHandlers.js +69 -0
- package/dist/esm/components/data-table/useTableHandlers.js.map +1 -0
- package/dist/esm/components/data-table/useTableLayoutSelector.d.ts +16 -0
- package/dist/esm/components/data-table/useTableLayoutSelector.js +12 -0
- package/dist/esm/components/data-table/useTableLayoutSelector.js.map +1 -0
- package/dist/esm/components/dialog/Dialog.context.d.ts +18 -0
- package/dist/esm/components/dialog/Dialog.context.js +80 -0
- package/dist/esm/components/dialog/Dialog.context.js.map +1 -0
- package/dist/esm/components/dialog/Dialog.registry.d.ts +22 -0
- package/dist/esm/components/dialog/Dialog.registry.js +24 -0
- package/dist/esm/components/dialog/Dialog.registry.js.map +1 -0
- package/dist/esm/components/dialog/Dialog.renderer.d.ts +9 -0
- package/dist/esm/components/dialog/Dialog.renderer.js +63 -0
- package/dist/esm/components/dialog/Dialog.renderer.js.map +1 -0
- package/dist/esm/components/dialog/Dialog.types.d.ts +273 -0
- package/dist/esm/components/dialog/Dialog.types.js +233 -0
- package/dist/esm/components/dialog/Dialog.types.js.map +1 -0
- package/dist/esm/components/dialog/DialogActions.context.d.ts +13 -0
- package/dist/esm/components/dialog/DialogActions.context.js +13 -0
- package/dist/esm/components/dialog/DialogActions.context.js.map +1 -0
- package/dist/esm/components/dialog/DialogContainer.d.ts +15 -0
- package/dist/esm/components/dialog/DialogContainer.js +37 -0
- package/dist/esm/components/dialog/DialogContainer.js.map +1 -0
- package/dist/esm/components/dialog/DialogContent.d.ts +14 -0
- package/dist/esm/components/dialog/DialogContent.js +18 -0
- package/dist/esm/components/dialog/DialogContent.js.map +1 -0
- package/dist/esm/components/dialog/DialogFooterContent.d.ts +14 -0
- package/dist/esm/components/dialog/DialogFooterContent.js +20 -0
- package/dist/esm/components/dialog/DialogFooterContent.js.map +1 -0
- package/dist/esm/components/dialog/DialogHeaderContent.d.ts +12 -0
- package/dist/esm/components/dialog/DialogHeaderContent.js +24 -0
- package/dist/esm/components/dialog/DialogHeaderContent.js.map +1 -0
- package/dist/esm/components/dialog/DialogState.context.d.ts +11 -0
- package/dist/esm/components/dialog/DialogState.context.js +11 -0
- package/dist/esm/components/dialog/DialogState.context.js.map +1 -0
- package/dist/esm/components/dialog/index.d.ts +6 -0
- package/dist/esm/components/dialog/index.js +8 -0
- package/dist/esm/components/dialog/types/AlertDialog.d.ts +19 -0
- package/dist/esm/components/dialog/types/AlertDialog.js +29 -0
- package/dist/esm/components/dialog/types/AlertDialog.js.map +1 -0
- package/dist/esm/components/dialog/types/ConfirmDialog.d.ts +17 -0
- package/dist/esm/components/dialog/types/ConfirmDialog.js +24 -0
- package/dist/esm/components/dialog/types/ConfirmDialog.js.map +1 -0
- package/dist/esm/components/dialog/types/CustomDialog.d.ts +28 -0
- package/dist/esm/components/dialog/types/CustomDialog.js +17 -0
- package/dist/esm/components/dialog/types/CustomDialog.js.map +1 -0
- package/dist/esm/components/dialog/types/FormDialog.d.ts +22 -0
- package/dist/esm/components/dialog/types/FormDialog.js +46 -0
- package/dist/esm/components/dialog/types/FormDialog.js.map +1 -0
- package/dist/esm/components/dialog/types/WizardDialog.d.ts +29 -0
- package/dist/esm/components/dialog/types/WizardDialog.js +43 -0
- package/dist/esm/components/dialog/types/WizardDialog.js.map +1 -0
- package/dist/esm/components/dialog/utils/dialogClasses.d.ts +7 -0
- package/dist/esm/components/dialog/utils/dialogClasses.js +14 -0
- package/dist/esm/components/dialog/utils/dialogClasses.js.map +1 -0
- package/dist/esm/components/dialog/utils/dialogDetection.d.ts +32 -0
- package/dist/esm/components/dialog/utils/dialogDetection.js +47 -0
- package/dist/esm/components/dialog/utils/dialogDetection.js.map +1 -0
- package/dist/esm/components/dialog/utils/index.d.ts +3 -0
- package/dist/esm/components/dialog/utils/index.js +4 -0
- package/dist/esm/components/editor/BlockTypeDropdown.d.ts +12 -0
- package/dist/esm/components/editor/BlockTypeDropdown.js +57 -0
- package/dist/esm/components/editor/BlockTypeDropdown.js.map +1 -0
- package/dist/esm/components/editor/Editor.d.ts +7 -0
- package/dist/esm/components/editor/Editor.js +17 -0
- package/dist/esm/components/editor/Editor.js.map +1 -0
- package/dist/esm/components/editor/EditorInner.d.ts +14 -0
- package/dist/esm/components/editor/EditorInner.js +107 -0
- package/dist/esm/components/editor/EditorInner.js.map +1 -0
- package/dist/esm/components/editor/Preview.d.ts +5 -0
- package/dist/esm/components/editor/Preview.js +18 -0
- package/dist/esm/components/editor/Preview.js.map +1 -0
- package/dist/esm/components/editor/ToolbarContext.d.ts +39 -0
- package/dist/esm/components/editor/ToolbarContext.js +54 -0
- package/dist/esm/components/editor/ToolbarContext.js.map +1 -0
- package/dist/esm/components/editor/ToolbarPlugin.d.ts +20 -0
- package/dist/esm/components/editor/ToolbarPlugin.js +194 -0
- package/dist/esm/components/editor/ToolbarPlugin.js.map +1 -0
- package/dist/esm/components/editor/formatting.d.ts +15 -0
- package/dist/esm/components/editor/formatting.js +117 -0
- package/dist/esm/components/editor/formatting.js.map +1 -0
- package/dist/esm/components/editor/index.d.ts +3 -0
- package/dist/esm/components/editor/index.js +3 -0
- package/dist/esm/components/form/FormGroup.d.ts +18 -0
- package/dist/esm/components/form/FormGroup.js +28 -0
- package/dist/esm/components/form/FormGroup.js.map +1 -0
- package/dist/esm/components/form/FormRenderer.d.ts +14 -0
- package/dist/esm/components/form/FormRenderer.js +179 -0
- package/dist/esm/components/form/FormRenderer.js.map +1 -0
- package/dist/esm/components/form/SchemaForm.d.ts +18 -0
- package/dist/esm/components/form/SchemaForm.js +172 -0
- package/dist/esm/components/form/SchemaForm.js.map +1 -0
- package/dist/esm/components/form/StepControlContext.d.ts +199 -0
- package/dist/esm/components/form/StepControlContext.js +249 -0
- package/dist/esm/components/form/StepControlContext.js.map +1 -0
- package/dist/esm/components/form/StepSchemaForm.d.ts +22 -0
- package/dist/esm/components/form/StepSchemaForm.js +176 -0
- package/dist/esm/components/form/StepSchemaForm.js.map +1 -0
- package/dist/esm/components/form/WizardForm.d.ts +16 -0
- package/dist/esm/components/form/WizardForm.js +126 -0
- package/dist/esm/components/form/WizardForm.js.map +1 -0
- package/dist/esm/components/form/WizardStepContent.d.ts +26 -0
- package/dist/esm/components/form/WizardStepContent.js +46 -0
- package/dist/esm/components/form/WizardStepContent.js.map +1 -0
- package/dist/esm/components/form/__mocks__/@hookform/resolvers/zod.d.ts +8 -0
- package/dist/esm/components/form/adapters.d.ts +23 -0
- package/dist/esm/components/form/adapters.js +43 -0
- package/dist/esm/components/form/adapters.js.map +1 -0
- package/dist/esm/components/form/autocomplete/index.d.ts +3 -0
- package/dist/esm/components/form/autocomplete/index.js +4 -0
- package/dist/esm/components/form/autocomplete/register.d.ts +8 -0
- package/dist/esm/components/form/autocomplete/register.js +161 -0
- package/dist/esm/components/form/autocomplete/register.js.map +1 -0
- package/dist/esm/components/form/autocomplete/rules.d.ts +15 -0
- package/dist/esm/components/form/autocomplete/rules.js +198 -0
- package/dist/esm/components/form/autocomplete/rules.js.map +1 -0
- package/dist/esm/components/form/context.d.ts +29 -0
- package/dist/esm/components/form/context.js +25 -0
- package/dist/esm/components/form/context.js.map +1 -0
- package/dist/esm/components/form/fields/Checkbox.d.ts +6 -0
- package/dist/esm/components/form/fields/Checkbox.js +33 -0
- package/dist/esm/components/form/fields/Checkbox.js.map +1 -0
- package/dist/esm/components/form/fields/DatePicker.d.ts +6 -0
- package/dist/esm/components/form/fields/DatePicker.js +29 -0
- package/dist/esm/components/form/fields/DatePicker.js.map +1 -0
- package/dist/esm/components/form/fields/EmailInput.d.ts +6 -0
- package/dist/esm/components/form/fields/EmailInput.js +25 -0
- package/dist/esm/components/form/fields/EmailInput.js.map +1 -0
- package/dist/esm/components/form/fields/FileInput.d.ts +6 -0
- package/dist/esm/components/form/fields/FileInput.js +28 -0
- package/dist/esm/components/form/fields/FileInput.js.map +1 -0
- package/dist/esm/components/form/fields/Input.d.ts +6 -0
- package/dist/esm/components/form/fields/Input.js +30 -0
- package/dist/esm/components/form/fields/Input.js.map +1 -0
- package/dist/esm/components/form/fields/RadioGroup.d.ts +6 -0
- package/dist/esm/components/form/fields/RadioGroup.js +42 -0
- package/dist/esm/components/form/fields/RadioGroup.js.map +1 -0
- package/dist/esm/components/form/fields/RichText.d.ts +6 -0
- package/dist/esm/components/form/fields/RichText.js +30 -0
- package/dist/esm/components/form/fields/RichText.js.map +1 -0
- package/dist/esm/components/form/fields/Select.d.ts +6 -0
- package/dist/esm/components/form/fields/Select.js +37 -0
- package/dist/esm/components/form/fields/Select.js.map +1 -0
- package/dist/esm/components/form/fields/Slider.d.ts +6 -0
- package/dist/esm/components/form/fields/Slider.js +29 -0
- package/dist/esm/components/form/fields/Slider.js.map +1 -0
- package/dist/esm/components/form/fields/Switch.d.ts +6 -0
- package/dist/esm/components/form/fields/Switch.js +33 -0
- package/dist/esm/components/form/fields/Switch.js.map +1 -0
- package/dist/esm/components/form/fields/Textarea.d.ts +6 -0
- package/dist/esm/components/form/fields/Textarea.js +28 -0
- package/dist/esm/components/form/fields/Textarea.js.map +1 -0
- package/dist/esm/components/form/fields/index.d.ts +13 -0
- package/dist/esm/components/form/fields/index.js +14 -0
- package/dist/esm/components/form/fields/registry.d.ts +11 -0
- package/dist/esm/components/form/fields/registry.js +15 -0
- package/dist/esm/components/form/fields/registry.js.map +1 -0
- package/dist/esm/components/form/fields/types.d.ts +37 -0
- package/dist/esm/components/form/fields/types.js +21 -0
- package/dist/esm/components/form/fields/types.js.map +1 -0
- package/dist/esm/components/form/handlers/core.d.ts +19 -0
- package/dist/esm/components/form/handlers/core.js +51 -0
- package/dist/esm/components/form/handlers/core.js.map +1 -0
- package/dist/esm/components/form/handlers/step.d.ts +19 -0
- package/dist/esm/components/form/handlers/step.js +40 -0
- package/dist/esm/components/form/handlers/step.js.map +1 -0
- package/dist/esm/components/form/index.d.ts +26 -0
- package/dist/esm/components/form/index.js +28 -0
- package/dist/esm/components/form/register.d.ts +5 -0
- package/dist/esm/components/form/register.js +31 -0
- package/dist/esm/components/form/register.js.map +1 -0
- package/dist/esm/components/form/types.d.ts +521 -0
- package/dist/esm/components/form/types.js +69 -0
- package/dist/esm/components/form/types.js.map +1 -0
- package/dist/esm/components/form/utils/animationUtils.d.ts +14 -0
- package/dist/esm/components/form/utils/animationUtils.js +20 -0
- package/dist/esm/components/form/utils/animationUtils.js.map +1 -0
- package/dist/esm/components/form/utils/autoSave.d.ts +8 -0
- package/dist/esm/components/form/utils/autoSave.js +17 -0
- package/dist/esm/components/form/utils/autoSave.js.map +1 -0
- package/dist/esm/components/form/utils/index.d.ts +4 -0
- package/dist/esm/components/form/utils/index.js +5 -0
- package/dist/esm/components/form/utils/stepRetry.d.ts +12 -0
- package/dist/esm/components/form/utils/stepRetry.js +16 -0
- package/dist/esm/components/form/utils/stepRetry.js.map +1 -0
- package/dist/esm/components/index.d.ts +126 -0
- package/dist/esm/components/index.js +130 -0
- package/dist/esm/components/layout/DesktopSidebar.d.ts +5 -0
- package/dist/esm/components/layout/DesktopSidebar.js +51 -0
- package/dist/esm/components/layout/DesktopSidebar.js.map +1 -0
- package/dist/esm/components/layout/GeneralLayout.d.ts +5 -0
- package/dist/esm/components/layout/GeneralLayout.js +34 -0
- package/dist/esm/components/layout/GeneralLayout.js.map +1 -0
- package/dist/esm/components/layout/MobileMenu.d.ts +5 -0
- package/dist/esm/components/layout/MobileMenu.js +48 -0
- package/dist/esm/components/layout/MobileMenu.js.map +1 -0
- package/dist/esm/components/layout/PageHeader.d.ts +16 -0
- package/dist/esm/components/layout/PageHeader.js +20 -0
- package/dist/esm/components/layout/PageHeader.js.map +1 -0
- package/dist/esm/components/layout/SidebarContext.d.ts +10 -0
- package/dist/esm/components/layout/SidebarContext.js +27 -0
- package/dist/esm/components/layout/SidebarContext.js.map +1 -0
- package/dist/esm/components/layout/SidebarToggle.d.ts +12 -0
- package/dist/esm/components/layout/SidebarToggle.js +23 -0
- package/dist/esm/components/layout/SidebarToggle.js.map +1 -0
- package/dist/esm/components/layout/UserNav.d.ts +5 -0
- package/dist/esm/components/layout/UserNav.js +110 -0
- package/dist/esm/components/layout/UserNav.js.map +1 -0
- package/dist/esm/components/layout/index.d.ts +7 -0
- package/dist/esm/components/layout/index.js +9 -0
- package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.d.ts +23 -0
- package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js +28 -0
- package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js.map +1 -0
- package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.d.ts +10 -0
- package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js +30 -0
- package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js.map +1 -0
- package/dist/esm/components/shared/UnifiedFooter.d.ts +17 -0
- package/dist/esm/components/shared/UnifiedFooter.js +210 -0
- package/dist/esm/components/shared/UnifiedFooter.js.map +1 -0
- package/dist/esm/components/shared/UnifiedHeader.d.ts +17 -0
- package/dist/esm/components/shared/UnifiedHeader.js +48 -0
- package/dist/esm/components/shared/UnifiedHeader.js.map +1 -0
- package/dist/esm/components/shared/context/FooterContext.d.ts +18 -0
- package/dist/esm/components/shared/context/FooterContext.js +24 -0
- package/dist/esm/components/shared/context/FooterContext.js.map +1 -0
- package/dist/esm/components/shared/context/HeaderContext.d.ts +18 -0
- package/dist/esm/components/shared/context/HeaderContext.js +23 -0
- package/dist/esm/components/shared/context/HeaderContext.js.map +1 -0
- package/dist/esm/components/shared/context/index.d.ts +3 -0
- package/dist/esm/components/shared/context/index.js +4 -0
- package/dist/esm/components/shared/environment/builders.d.ts +95 -0
- package/dist/esm/components/shared/environment/builders.js +163 -0
- package/dist/esm/components/shared/environment/builders.js.map +1 -0
- package/dist/esm/components/shared/environment/index.d.ts +7 -0
- package/dist/esm/components/shared/environment/index.js +3 -0
- package/dist/esm/components/shared/footers/ActionsFooter.d.ts +11 -0
- package/dist/esm/components/shared/footers/ActionsFooter.js +19 -0
- package/dist/esm/components/shared/footers/ActionsFooter.js.map +1 -0
- package/dist/esm/components/shared/footers/DefaultFooter.d.ts +13 -0
- package/dist/esm/components/shared/footers/DefaultFooter.js +20 -0
- package/dist/esm/components/shared/footers/DefaultFooter.js.map +1 -0
- package/dist/esm/components/shared/footers/FormFooter.d.ts +15 -0
- package/dist/esm/components/shared/footers/FormFooter.js +28 -0
- package/dist/esm/components/shared/footers/FormFooter.js.map +1 -0
- package/dist/esm/components/shared/footers/StepFormFooter.d.ts +15 -0
- package/dist/esm/components/shared/footers/StepFormFooter.js +28 -0
- package/dist/esm/components/shared/footers/StepFormFooter.js.map +1 -0
- package/dist/esm/components/shared/footers/WizardFooter.d.ts +12 -0
- package/dist/esm/components/shared/footers/WizardFooter.js +72 -0
- package/dist/esm/components/shared/footers/WizardFooter.js.map +1 -0
- package/dist/esm/components/shared/footers/index.d.ts +6 -0
- package/dist/esm/components/shared/footers/index.js +7 -0
- package/dist/esm/components/shared/headers/DefaultHeader.d.ts +13 -0
- package/dist/esm/components/shared/headers/DefaultHeader.js +30 -0
- package/dist/esm/components/shared/headers/DefaultHeader.js.map +1 -0
- package/dist/esm/components/shared/headers/FormHeader.d.ts +12 -0
- package/dist/esm/components/shared/headers/FormHeader.js +31 -0
- package/dist/esm/components/shared/headers/FormHeader.js.map +1 -0
- package/dist/esm/components/shared/headers/WizardHeader.d.ts +9 -0
- package/dist/esm/components/shared/headers/WizardHeader.js +116 -0
- package/dist/esm/components/shared/headers/WizardHeader.js.map +1 -0
- package/dist/esm/components/shared/headers/index.d.ts +4 -0
- package/dist/esm/components/shared/headers/index.js +5 -0
- package/dist/esm/components/shared/hooks/index.d.ts +3 -0
- package/dist/esm/components/shared/hooks/index.js +4 -0
- package/dist/esm/components/shared/hooks/useEnvironmentSync.d.ts +17 -0
- package/dist/esm/components/shared/hooks/useEnvironmentSync.js +17 -0
- package/dist/esm/components/shared/hooks/useEnvironmentSync.js.map +1 -0
- package/dist/esm/components/shared/hooks/useForceRerender.d.ts +17 -0
- package/dist/esm/components/shared/hooks/useForceRerender.js +26 -0
- package/dist/esm/components/shared/hooks/useForceRerender.js.map +1 -0
- package/dist/esm/components/shared/index.d.ts +31 -0
- package/dist/esm/components/shared/index.js +36 -0
- package/dist/esm/components/shared/registry/FooterRegistry.d.ts +15 -0
- package/dist/esm/components/shared/registry/FooterRegistry.js +47 -0
- package/dist/esm/components/shared/registry/FooterRegistry.js.map +1 -0
- package/dist/esm/components/shared/registry/HeaderRegistry.d.ts +15 -0
- package/dist/esm/components/shared/registry/HeaderRegistry.js +41 -0
- package/dist/esm/components/shared/registry/HeaderRegistry.js.map +1 -0
- package/dist/esm/components/shared/registry/index.d.ts +4 -0
- package/dist/esm/components/shared/registry/index.js +5 -0
- package/dist/esm/components/shared/registry/types.d.ts +23 -0
- package/dist/esm/components/shared/registry/types.js +21 -0
- package/dist/esm/components/shared/registry/types.js.map +1 -0
- package/dist/esm/components/shared/types/container.d.ts +70 -0
- package/dist/esm/components/shared/types/container.js +35 -0
- package/dist/esm/components/shared/types/container.js.map +1 -0
- package/dist/esm/components/shared/types/environment.d.ts +25 -0
- package/dist/esm/components/shared/types/environment.js +0 -0
- package/dist/esm/components/shared/types/footer.d.ts +121 -0
- package/dist/esm/components/shared/types/footer.js +58 -0
- package/dist/esm/components/shared/types/footer.js.map +1 -0
- package/dist/esm/components/shared/types/form.d.ts +120 -0
- package/dist/esm/components/shared/types/form.js +47 -0
- package/dist/esm/components/shared/types/form.js.map +1 -0
- package/dist/esm/components/shared/types/header.d.ts +81 -0
- package/dist/esm/components/shared/types/header.js +38 -0
- package/dist/esm/components/shared/types/header.js.map +1 -0
- package/dist/esm/components/shared/types/index.d.ts +8 -0
- package/dist/esm/components/shared/types/index.js +7 -0
- package/dist/esm/components/shared/types/navigation.d.ts +9 -0
- package/dist/esm/components/shared/types/navigation.js +0 -0
- package/dist/esm/components/shared/types/step.d.ts +104 -0
- package/dist/esm/components/shared/types/step.js +31 -0
- package/dist/esm/components/shared/types/step.js.map +1 -0
- package/dist/esm/components/shared/utils/createEnvironmentReceiver.d.ts +23 -0
- package/dist/esm/components/shared/utils/createEnvironmentReceiver.js +30 -0
- package/dist/esm/components/shared/utils/createEnvironmentReceiver.js.map +1 -0
- package/dist/esm/components/shared/utils/createForceRerenderReceiver.d.ts +22 -0
- package/dist/esm/components/shared/utils/createForceRerenderReceiver.js +30 -0
- package/dist/esm/components/shared/utils/createForceRerenderReceiver.js.map +1 -0
- package/dist/esm/components/shared/utils/index.d.ts +6 -0
- package/dist/esm/components/shared/utils/index.js +7 -0
- package/dist/esm/components/shared/utils/renderFooter.d.ts +37 -0
- package/dist/esm/components/shared/utils/renderFooter.js +99 -0
- package/dist/esm/components/shared/utils/renderFooter.js.map +1 -0
- package/dist/esm/components/shared/utils/renderHeader.d.ts +39 -0
- package/dist/esm/components/shared/utils/renderHeader.js +120 -0
- package/dist/esm/components/shared/utils/renderHeader.js.map +1 -0
- package/dist/esm/components/shared/utils/stepState.d.ts +36 -0
- package/dist/esm/components/shared/utils/stepState.js +61 -0
- package/dist/esm/components/shared/utils/stepState.js.map +1 -0
- package/dist/esm/components/sizing/index.d.ts +97 -0
- package/dist/esm/components/sizing/index.js +79 -0
- package/dist/esm/components/sizing/index.js.map +1 -0
- package/dist/esm/hooks/index.d.ts +16 -0
- package/dist/esm/hooks/index.js +17 -0
- package/dist/esm/hooks/useAccountSubdomain.d.ts +5 -0
- package/dist/esm/hooks/useAccountSubdomain.js +11 -0
- package/dist/esm/hooks/useAccountSubdomain.js.map +1 -0
- package/dist/esm/hooks/useAccountUrl.d.ts +5 -0
- package/dist/esm/hooks/useAccountUrl.js +27 -0
- package/dist/esm/hooks/useAccountUrl.js.map +1 -0
- package/dist/esm/hooks/useApiUrl.d.ts +5 -0
- package/dist/esm/hooks/useApiUrl.js +14 -0
- package/dist/esm/hooks/useApiUrl.js.map +1 -0
- package/dist/esm/hooks/useAvatar.d.ts +10 -0
- package/dist/esm/hooks/useAvatar.js +20 -0
- package/dist/esm/hooks/useAvatar.js.map +1 -0
- package/dist/esm/hooks/useFeatureFlag.d.ts +5 -0
- package/dist/esm/hooks/useFeatureFlag.js +10 -0
- package/dist/esm/hooks/useFeatureFlag.js.map +1 -0
- package/dist/esm/hooks/useLoginUrl.d.ts +5 -0
- package/dist/esm/hooks/useLoginUrl.js +10 -0
- package/dist/esm/hooks/useLoginUrl.js.map +1 -0
- package/dist/esm/hooks/useMenuItems.d.ts +12 -0
- package/dist/esm/hooks/useMenuItems.js +16 -0
- package/dist/esm/hooks/useMenuItems.js.map +1 -0
- package/dist/esm/hooks/usePluginMeta.d.ts +5 -0
- package/dist/esm/hooks/usePluginMeta.js +11 -0
- package/dist/esm/hooks/usePluginMeta.js.map +1 -0
- package/dist/esm/hooks/usePortalMeta.d.ts +7 -0
- package/dist/esm/hooks/usePortalMeta.js +10 -0
- package/dist/esm/hooks/usePortalMeta.js.map +1 -0
- package/dist/esm/hooks/usePortalUrl.d.ts +5 -0
- package/dist/esm/hooks/usePortalUrl.js +20 -0
- package/dist/esm/hooks/usePortalUrl.js.map +1 -0
- package/dist/esm/hooks/useProtocolDomain.d.ts +5 -0
- package/dist/esm/hooks/useProtocolDomain.js +12 -0
- package/dist/esm/hooks/useProtocolDomain.js.map +1 -0
- package/dist/esm/hooks/useRegisterUrl.d.ts +5 -0
- package/dist/esm/hooks/useRegisterUrl.js +10 -0
- package/dist/esm/hooks/useRegisterUrl.js.map +1 -0
- package/dist/esm/hooks/useResetPasswordUrl.d.ts +5 -0
- package/dist/esm/hooks/useResetPasswordUrl.js +10 -0
- package/dist/esm/hooks/useResetPasswordUrl.js.map +1 -0
- package/dist/esm/hooks/useSdk.d.ts +8 -0
- package/dist/esm/hooks/useSdk.js +33 -0
- package/dist/esm/hooks/useSdk.js.map +1 -0
- package/dist/esm/hooks/useTheme.d.ts +41 -0
- package/dist/esm/hooks/useTheme.js +79 -0
- package/dist/esm/hooks/useTheme.js.map +1 -0
- package/dist/esm/image.d.ts +6 -0
- package/dist/esm/images/account-banner-image.js +6 -0
- package/dist/esm/images/account-banner-image.js.map +1 -0
- package/dist/esm/images/discord-logo.js +6 -0
- package/dist/esm/images/discord-logo.js.map +1 -0
- package/dist/esm/images/lume-bg-image.js +6 -0
- package/dist/esm/images/lume-bg-image.js.map +1 -0
- package/dist/esm/images/lume-bg-login.js +6 -0
- package/dist/esm/images/lume-bg-login.js.map +1 -0
- package/dist/esm/images/lume-color-logo.js +6 -0
- package/dist/esm/images/lume-color-logo.js.map +1 -0
- package/dist/esm/images/lume-logo.js +6 -0
- package/dist/esm/images/lume-logo.js.map +1 -0
- package/dist/esm/images.d.ts +11 -0
- package/dist/esm/images.js +19 -0
- package/dist/esm/images.js.map +1 -0
- package/dist/esm/index.d.ts +150 -0
- package/dist/esm/index.js +149 -0
- package/dist/esm/store/appStore.d.ts +50 -0
- package/dist/esm/store/appStore.js +139 -0
- package/dist/esm/store/appStore.js.map +1 -0
- package/dist/esm/store/index.d.ts +5 -0
- package/dist/esm/store/index.js +6 -0
- package/dist/esm/store/portalStore.d.ts +33 -0
- package/dist/esm/store/portalStore.js +58 -0
- package/dist/esm/store/portalStore.js.map +1 -0
- package/dist/esm/store/saved-filters.d.ts +54 -0
- package/dist/esm/store/saved-filters.js +158 -0
- package/dist/esm/store/saved-filters.js.map +1 -0
- package/dist/esm/store/uiStore.d.ts +11 -0
- package/dist/esm/store/uiStore.js +16 -0
- package/dist/esm/store/uiStore.js.map +1 -0
- package/dist/esm/tests/portalMetaMocks.d.ts +16 -0
- package/dist/esm/tests/portalMetaMocks.js +15 -0
- package/dist/esm/tests/portalMetaMocks.js.map +1 -0
- package/dist/esm/types/badge.d.ts +16 -0
- package/dist/esm/types/badge.js +42 -0
- package/dist/esm/types/badge.js.map +1 -0
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/theme.d.ts +35 -0
- package/dist/esm/types/theme.js +0 -0
- package/dist/esm/utils/asyncUtils.d.ts +5 -0
- package/dist/esm/utils/asyncUtils.js +9 -0
- package/dist/esm/utils/asyncUtils.js.map +1 -0
- package/dist/esm/utils/fileSize.d.ts +5 -0
- package/dist/esm/utils/fileSize.js +18 -0
- package/dist/esm/utils/fileSize.js.map +1 -0
- package/dist/esm/utils/index.d.ts +4 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/theme.d.ts +197 -0
- package/dist/esm/utils/theme.js +689 -0
- package/dist/esm/utils/theme.js.map +1 -0
- package/package.json +75 -8
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { TableLayoutType } from "./DataTable.types.js";
|
|
2
|
+
import { getAvailableOperators, getDefaultOperatorForFieldType } from "./toolbarItems/filters/hooks/useFilterOperators.js";
|
|
3
|
+
import { FilterHelpersProvider } from "./contexts/FilterHelpers.js";
|
|
4
|
+
import { TableConfigProvider, useTableConfigOptional } from "./contexts/TableConfig.js";
|
|
5
|
+
import { TableInstanceProvider } from "./contexts/TableInstance.js";
|
|
6
|
+
import "./contexts/index.js";
|
|
7
|
+
import { BaseTableInner } from "./BaseTableInner.js";
|
|
8
|
+
import { filterColumnsForMobile } from "./filterColumnsForMobile.js";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import { getCoreRowModel, useReactTable } from "@tanstack/react-table";
|
|
12
|
+
|
|
13
|
+
//#region src/components/data-table/BaseTable.tsx
|
|
14
|
+
function BaseTableWithData(props) {
|
|
15
|
+
const { columns, data, hideColumnsOnMobile = [], responsive = false, ...restProps } = props;
|
|
16
|
+
const table = useReactTable({
|
|
17
|
+
data,
|
|
18
|
+
columns: responsive ? filterColumnsForMobile(columns, hideColumnsOnMobile) : columns,
|
|
19
|
+
getCoreRowModel: getCoreRowModel()
|
|
20
|
+
});
|
|
21
|
+
const existingTableConfig = useTableConfigOptional();
|
|
22
|
+
if (!existingTableConfig || !existingTableConfig.toolbarConfig && !existingTableConfig.refineContext) return /* @__PURE__ */ jsx(TableInstanceProvider, {
|
|
23
|
+
table,
|
|
24
|
+
children: /* @__PURE__ */ jsx(FilterHelpersProvider, {
|
|
25
|
+
refineTable: props.refineTable,
|
|
26
|
+
getDefaultOperator: getDefaultOperatorForFieldType,
|
|
27
|
+
getAvailableOperators,
|
|
28
|
+
children: /* @__PURE__ */ jsx(TableConfigProvider, {
|
|
29
|
+
toolbarConfig: props.toolbarConfig,
|
|
30
|
+
refineContext: props.refineTable ? {
|
|
31
|
+
tableInstance: props.refineTable,
|
|
32
|
+
refetch: props.refineTable?.tableQuery?.refetch,
|
|
33
|
+
isLoading: props.refineTable?.tableQuery?.isFetching,
|
|
34
|
+
error: props.refineTable?.tableQuery?.error
|
|
35
|
+
} : void 0,
|
|
36
|
+
children: /* @__PURE__ */ jsx(BaseTableInner, { ...restProps })
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
return /* @__PURE__ */ jsx(TableInstanceProvider, {
|
|
41
|
+
table,
|
|
42
|
+
children: /* @__PURE__ */ jsx(FilterHelpersProvider, {
|
|
43
|
+
refineTable: props.refineTable,
|
|
44
|
+
getDefaultOperator: getDefaultOperatorForFieldType,
|
|
45
|
+
getAvailableOperators,
|
|
46
|
+
children: /* @__PURE__ */ jsx(BaseTableInner, { ...restProps })
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function BaseTable(props) {
|
|
51
|
+
const { className, emptyState, emptyStateMessage, footer, getCellProps, getRowProps, header, isLoading, loadingState, loadingStateMessage, onRowClick, pagination, responsive = false, layoutType = "auto", hideColumnsOnMobile = [], mobileBreakpoint, ...restProps } = props;
|
|
52
|
+
if ("table" in props && props.table && "data" in props && props.data) throw new Error("BaseTable cannot accept both table and data props - use one or the other");
|
|
53
|
+
if ("table" in props && props.table) {
|
|
54
|
+
const existingTableConfig = useTableConfigOptional();
|
|
55
|
+
if (!existingTableConfig || !existingTableConfig.toolbarConfig && !existingTableConfig.refineContext) return /* @__PURE__ */ jsx(TableInstanceProvider, {
|
|
56
|
+
table: props.table,
|
|
57
|
+
children: /* @__PURE__ */ jsx(FilterHelpersProvider, {
|
|
58
|
+
refineTable: props.refineTable,
|
|
59
|
+
getDefaultOperator: getDefaultOperatorForFieldType,
|
|
60
|
+
getAvailableOperators,
|
|
61
|
+
children: /* @__PURE__ */ jsx(TableConfigProvider, {
|
|
62
|
+
toolbarConfig: props.toolbarConfig,
|
|
63
|
+
refineContext: props.refineTable ? {
|
|
64
|
+
tableInstance: props.refineTable,
|
|
65
|
+
refetch: props.refineTable?.tableQuery?.refetch,
|
|
66
|
+
isLoading: props.refineTable?.tableQuery?.isFetching,
|
|
67
|
+
error: props.refineTable?.tableQuery?.error
|
|
68
|
+
} : void 0,
|
|
69
|
+
children: /* @__PURE__ */ jsx(BaseTableInner, {
|
|
70
|
+
className,
|
|
71
|
+
emptyState,
|
|
72
|
+
emptyStateMessage,
|
|
73
|
+
footer,
|
|
74
|
+
getCellProps,
|
|
75
|
+
getRowProps,
|
|
76
|
+
header,
|
|
77
|
+
isLoading,
|
|
78
|
+
loadingState,
|
|
79
|
+
loadingStateMessage,
|
|
80
|
+
onRowClick,
|
|
81
|
+
pagination,
|
|
82
|
+
responsive,
|
|
83
|
+
layoutType,
|
|
84
|
+
hideColumnsOnMobile,
|
|
85
|
+
mobileBreakpoint
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
return /* @__PURE__ */ jsx(TableInstanceProvider, {
|
|
91
|
+
table: props.table,
|
|
92
|
+
children: /* @__PURE__ */ jsx(FilterHelpersProvider, {
|
|
93
|
+
refineTable: props.refineTable,
|
|
94
|
+
getDefaultOperator: getDefaultOperatorForFieldType,
|
|
95
|
+
getAvailableOperators,
|
|
96
|
+
children: /* @__PURE__ */ jsx(BaseTableInner, {
|
|
97
|
+
className,
|
|
98
|
+
emptyState,
|
|
99
|
+
emptyStateMessage,
|
|
100
|
+
footer,
|
|
101
|
+
getCellProps,
|
|
102
|
+
getRowProps,
|
|
103
|
+
header,
|
|
104
|
+
isLoading,
|
|
105
|
+
loadingState,
|
|
106
|
+
loadingStateMessage,
|
|
107
|
+
onRowClick,
|
|
108
|
+
pagination,
|
|
109
|
+
responsive,
|
|
110
|
+
layoutType,
|
|
111
|
+
hideColumnsOnMobile,
|
|
112
|
+
mobileBreakpoint
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if ("data" in props && props.data) return /* @__PURE__ */ jsx(BaseTableWithData, { ...props });
|
|
118
|
+
throw new Error("BaseTable requires either table or data prop");
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
export { BaseTable };
|
|
123
|
+
//# sourceMappingURL=BaseTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTable.js","names":[],"sources":["../../../../src/components/data-table/BaseTable.tsx"],"sourcesContent":["import {\n Cell,\n ColumnDef,\n getCoreRowModel,\n Row,\n Table,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React from \"react\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport type { UseTableReturnType } from \"@refinedev/react-table\";\n\nimport { BaseTableInner } from \"./BaseTableInner\";\nimport {\n FilterHelpersProvider,\n RefineTableProvider,\n TableConfigProvider,\n TableInstanceProvider,\n useTableConfigOptional,\n} from \"./contexts\";\nimport { ToolbarConfig, TableLayoutType } from \"./DataTable.types\";\nimport {\n getAvailableOperators,\n getDefaultOperatorForFieldType,\n} from \"./toolbarItems/filters/hooks/useFilterOperators\";\nimport { filterColumnsForMobile } from \"./filterColumnsForMobile\";\nimport { ComponentSize } from \"@lumeweb/portal-framework-ui-core\";\n\nexport interface ActionColumnCellProps<TData> {\n row: Row<TData>;\n}\n\nexport type ActionColumnDef<TData> = ColumnDef<TData, unknown> & {\n /** Function to render cell content */\n cell: (props: ActionColumnCellProps<TData>) => React.ReactNode;\n};\n\nexport interface BaseTableRefineProps<TData extends BaseRecord> {\n /** Refine table instance */\n refineTable?: UseTableReturnType<TData, any>[\"refineCore\"];\n}\n\nexport interface BaseTableCommonProps<TData extends BaseRecord> {\n /** Whether table is in loading state */\n isLoading?: boolean;\n /** Toolbar configuration */\n toolbarConfig?: ToolbarConfig<TData>;\n}\n\nexport type BaseTableCommonPropsType<TData extends BaseRecord> =\n TableInteractionProps<TData> &\n TablePaginationConfigProps &\n TableStateProps<TData> &\n TableStylingProps &\n BaseTableRefineProps<TData> &\n BaseTableCommonProps<TData>;\n\nexport type BaseTablePaginationConfig = boolean | TablePaginationProps;\n\nexport type BaseTableProps<TData extends BaseRecord> =\n | BaseTableWithDataProps<TData>\n | BaseTableWithTableProps<TData>;\n\nexport type BaseTableWithDataProps<TData extends BaseRecord> =\n BaseTableCommonPropsType<TData> &\n TableDataProps<TData> & {\n table?: never;\n };\n\nexport type BaseTableWithTableProps<TData extends BaseRecord> =\n BaseTableCommonPropsType<TData> &\n TableInstanceProps<TData> & {\n actionColumn?: never;\n columns?: never;\n data?: never;\n };\n\nexport interface TableDataProps<TData> {\n /** Optional action column configuration */\n actionColumn?: ActionColumnDef<TData>;\n columns: ColumnDef<TData>[];\n data: TData[];\n}\n\nexport interface TableInstanceProps<TData extends BaseRecord> {\n table: Table<TData>;\n refineTable?: UseTableReturnType<TData, any>[\"refineCore\"];\n}\n\nexport interface TableInteractionProps<TData> {\n getCellProps?: (\n cell: Cell<TData, unknown>,\n ) => React.HTMLAttributes<HTMLTableCellElement>;\n getRowProps?: (row: Row<TData>) => React.HTMLAttributes<HTMLTableRowElement>;\n onRowClick?: (row: Row<TData>) => void;\n}\n\nexport interface TablePaginationConfigProps {\n /** Pagination configuration */\n pagination?: BaseTablePaginationConfig;\n}\n\nexport interface TablePaginationProps {\n /** Custom pagination component */\n component?: React.ReactNode;\n /** Whether pagination is enabled */\n enabled?: boolean;\n}\n\nexport interface TableStateProps<TData> {\n emptyState?: ((colSpan: number) => React.ReactNode) | React.ReactNode;\n emptyStateMessage?: string;\n loadingState?: ((colSpan: number) => React.ReactNode) | React.ReactNode;\n loadingStateMessage?: string;\n}\n\nexport interface TableResponsiveProps {\n responsive?: boolean;\n layoutType?: TableLayoutType;\n hideColumnsOnMobile?: string[];\n mobileBreakpoint?: ComponentSize | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n}\n\nexport interface TableHeaderFooterProps {\n header?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport interface TableStylingProps extends TableResponsiveProps, TableHeaderFooterProps {\n className?: string;\n}\n\nexport interface BaseTableLayoutPropsBase<TData extends BaseRecord> \n extends TableInteractionProps<TData>,\n TableStateProps<TData>,\n TableHeaderFooterProps,\n TableStylingProps,\n BaseTableCommonProps<TData>,\n TablePaginationConfigProps {\n table: Table<TData>;\n}\n\nfunction BaseTableWithData<TData extends BaseRecord>(\n props: BaseTableWithDataProps<TData>,\n) {\n const {\n columns,\n data,\n hideColumnsOnMobile = [],\n responsive = false,\n ...restProps\n } = props;\n\n // Filter columns for mobile if responsive mode is enabled\n const filteredColumns = responsive \n ? filterColumnsForMobile(columns, hideColumnsOnMobile) \n : columns;\n\n const table = useReactTable({\n data,\n columns: filteredColumns,\n getCoreRowModel: getCoreRowModel(),\n });\n\n // Safe check for existing TableConfigContext using the optional hook\n const existingTableConfig = useTableConfigOptional<TData>();\n\n // Only render TableConfigProvider if context doesn't already exist\n const shouldRenderTableConfigProvider =\n !existingTableConfig ||\n (!existingTableConfig.toolbarConfig && !existingTableConfig.refineContext);\n\n if (shouldRenderTableConfigProvider) {\n return (\n <TableInstanceProvider table={table}>\n <FilterHelpersProvider\n refineTable={props.refineTable}\n getDefaultOperator={getDefaultOperatorForFieldType}\n getAvailableOperators={getAvailableOperators}>\n <TableConfigProvider\n toolbarConfig={props.toolbarConfig}\n refineContext={\n props.refineTable\n ? {\n tableInstance: props.refineTable,\n refetch: props.refineTable?.tableQuery?.refetch,\n isLoading: props.refineTable?.tableQuery?.isFetching,\n error: props.refineTable?.tableQuery?.error,\n }\n : undefined\n }>\n <BaseTableInner {...restProps} />\n </TableConfigProvider>\n </FilterHelpersProvider>\n </TableInstanceProvider>\n );\n }\n\n return (\n <TableInstanceProvider table={table}>\n <FilterHelpersProvider\n refineTable={props.refineTable}\n getDefaultOperator={getDefaultOperatorForFieldType}\n getAvailableOperators={getAvailableOperators}>\n <BaseTableInner {...restProps} />\n </FilterHelpersProvider>\n </TableInstanceProvider>\n );\n}\n\nfunction BaseTable<TData extends object>(props: BaseTableProps<TData>) {\n const {\n className,\n emptyState,\n emptyStateMessage,\n footer,\n getCellProps,\n getRowProps,\n header,\n isLoading,\n loadingState,\n loadingStateMessage,\n onRowClick,\n pagination,\n responsive = false,\n layoutType = TableLayoutType.AUTO,\n hideColumnsOnMobile = [],\n mobileBreakpoint,\n ...restProps\n } = props;\n\n if (\"table\" in props && props.table && \"data\" in props && props.data) {\n throw new Error(\n \"BaseTable cannot accept both table and data props - use one or the other\",\n );\n }\n\n if (\"table\" in props && props.table) {\n // Safe check for existing TableConfigContext using the optional hook\n const existingTableConfig = useTableConfigOptional<TData>();\n\n // Only render TableConfigProvider if context doesn't already exist\n const shouldRenderTableConfigProvider =\n !existingTableConfig ||\n (!existingTableConfig.toolbarConfig && !existingTableConfig.refineContext);\n\n if (shouldRenderTableConfigProvider) {\n return (\n <TableInstanceProvider table={props.table}>\n <FilterHelpersProvider\n refineTable={props.refineTable}\n getDefaultOperator={getDefaultOperatorForFieldType}\n getAvailableOperators={getAvailableOperators}>\n <TableConfigProvider\n toolbarConfig={props.toolbarConfig}\n refineContext={\n props.refineTable\n ? {\n tableInstance: props.refineTable,\n refetch: props.refineTable?.tableQuery?.refetch,\n isLoading: props.refineTable?.tableQuery?.isFetching,\n error: props.refineTable?.tableQuery?.error,\n }\n : undefined\n }>\n <BaseTableInner \n className={className}\n emptyState={emptyState}\n emptyStateMessage={emptyStateMessage}\n footer={footer}\n getCellProps={getCellProps}\n getRowProps={getRowProps}\n header={header}\n isLoading={isLoading}\n loadingState={loadingState}\n loadingStateMessage={loadingStateMessage}\n onRowClick={onRowClick}\n pagination={pagination}\n responsive={responsive}\n layoutType={layoutType}\n hideColumnsOnMobile={hideColumnsOnMobile}\n mobileBreakpoint={mobileBreakpoint}\n />\n </TableConfigProvider>\n </FilterHelpersProvider>\n </TableInstanceProvider>\n );\n }\n\n return (\n <TableInstanceProvider table={props.table}>\n <FilterHelpersProvider\n refineTable={props.refineTable}\n getDefaultOperator={getDefaultOperatorForFieldType}\n getAvailableOperators={getAvailableOperators}>\n <BaseTableInner \n className={className}\n emptyState={emptyState}\n emptyStateMessage={emptyStateMessage}\n footer={footer}\n getCellProps={getCellProps}\n getRowProps={getRowProps}\n header={header}\n isLoading={isLoading}\n loadingState={loadingState}\n loadingStateMessage={loadingStateMessage}\n onRowClick={onRowClick}\n pagination={pagination}\n responsive={responsive}\n layoutType={layoutType}\n hideColumnsOnMobile={hideColumnsOnMobile}\n mobileBreakpoint={mobileBreakpoint}\n />\n </FilterHelpersProvider>\n </TableInstanceProvider>\n );\n }\n\n if (\"data\" in props && props.data) {\n return <BaseTableWithData {...props} />;\n }\n\n throw new Error(\"BaseTable requires either table or data prop\");\n}\n\nexport { BaseTable };\n"],"mappings":";;;;;;;;;;;;;AA8IA,SAAS,kBACP,OACA;CACA,MAAM,EACJ,SACA,MACA,sBAAsB,EAAE,EACxB,aAAa,OACb,GAAG,cACD;CAOJ,MAAM,QAAQ,cAAc;EAC1B;EACA,SANsB,aACpB,uBAAuB,SAAS,oBAAoB,GACpD;EAKF,iBAAiB,iBAAiB;EACnC,CAAC;CAGF,MAAM,sBAAsB,wBAA+B;AAO3D,KAHE,CAAC,uBACA,CAAC,oBAAoB,iBAAiB,CAAC,oBAAoB,cAG5D,QACE,oBAAC,uBAAD;EAA8B;YAC5B,oBAAC,uBAAD;GACE,aAAa,MAAM;GACnB,oBAAoB;GACG;aACvB,oBAAC,qBAAD;IACE,eAAe,MAAM;IACrB,eACE,MAAM,cACF;KACE,eAAe,MAAM;KACrB,SAAS,MAAM,aAAa,YAAY;KACxC,WAAW,MAAM,aAAa,YAAY;KAC1C,OAAO,MAAM,aAAa,YAAY;KACvC,GACD;cAEN,oBAAC,gBAAD,EAAgB,GAAI,WAAa;IACb;GACA;EACF;AAI5B,QACE,oBAAC,uBAAD;EAA8B;YAC5B,oBAAC,uBAAD;GACE,aAAa,MAAM;GACnB,oBAAoB;GACG;aACvB,oBAAC,gBAAD,EAAgB,GAAI,WAAa;GACX;EACF;;AAI5B,SAAS,UAAgC,OAA8B;CACrE,MAAM,EACJ,WACA,YACA,mBACA,QACA,cACA,aACA,QACA,WACA,cACA,qBACA,YACA,YACA,aAAa,OACb,qBACA,sBAAsB,EAAE,EACxB,kBACA,GAAG,cACD;AAEJ,KAAI,WAAW,SAAS,MAAM,SAAS,UAAU,SAAS,MAAM,KAC9D,OAAM,IAAI,MACR,2EACD;AAGH,KAAI,WAAW,SAAS,MAAM,OAAO;EAEnC,MAAM,sBAAsB,wBAA+B;AAO3D,MAHE,CAAC,uBACA,CAAC,oBAAoB,iBAAiB,CAAC,oBAAoB,cAG5D,QACE,oBAAC,uBAAD;GAAuB,OAAO,MAAM;aAClC,oBAAC,uBAAD;IACE,aAAa,MAAM;IACnB,oBAAoB;IACG;cACvB,oBAAC,qBAAD;KACE,eAAe,MAAM;KACrB,eACE,MAAM,cACF;MACE,eAAe,MAAM;MACrB,SAAS,MAAM,aAAa,YAAY;MACxC,WAAW,MAAM,aAAa,YAAY;MAC1C,OAAO,MAAM,aAAa,YAAY;MACvC,GACD;eAEN,oBAAC,gBAAD;MACa;MACC;MACO;MACX;MACM;MACD;MACL;MACG;MACG;MACO;MACT;MACA;MACA;MACA;MACS;MACH;MAClB;KACkB;IACA;GACF;AAI5B,SACE,oBAAC,uBAAD;GAAuB,OAAO,MAAM;aAClC,oBAAC,uBAAD;IACE,aAAa,MAAM;IACnB,oBAAoB;IACG;cACvB,oBAAC,gBAAD;KACa;KACC;KACO;KACX;KACM;KACD;KACL;KACG;KACG;KACO;KACT;KACA;KACA;KACA;KACS;KACH;KAClB;IACoB;GACF;;AAI5B,KAAI,UAAU,SAAS,MAAM,KAC3B,QAAO,oBAAC,mBAAD,EAAmB,GAAI,OAAS;AAGzC,OAAM,IAAI,MAAM,+CAA+C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TableLayoutType } from "./DataTable.types.js";
|
|
2
|
+
import { ComponentSize } from "@lumeweb/portal-framework-ui-core";
|
|
3
|
+
import { BaseRecord } from "@refinedev/core";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Cell, Row, Table as Table$1 } from "@tanstack/react-table";
|
|
6
|
+
|
|
7
|
+
//#region src/components/data-table/BaseTableContent.d.ts
|
|
8
|
+
interface BaseTableContentProps<TData extends BaseRecord> {
|
|
9
|
+
className?: string;
|
|
10
|
+
emptyState?: React.ReactNode;
|
|
11
|
+
footer?: React.ReactNode;
|
|
12
|
+
getCellProps?: (cell: Cell<TData, unknown>) => React.HTMLAttributes<HTMLTableCellElement>;
|
|
13
|
+
getRowProps?: (row: Row<TData>) => React.HTMLAttributes<HTMLTableRowElement>;
|
|
14
|
+
header?: React.ReactNode;
|
|
15
|
+
/** Whether table is in loading state */
|
|
16
|
+
isLoading?: boolean;
|
|
17
|
+
/** Loading state content */
|
|
18
|
+
loadingState?: React.ReactNode;
|
|
19
|
+
onRowClick?: (row: Row<TData>) => void;
|
|
20
|
+
pagination?: React.ReactNode;
|
|
21
|
+
table: Table$1<TData>;
|
|
22
|
+
responsive?: boolean;
|
|
23
|
+
layoutType?: TableLayoutType;
|
|
24
|
+
hideColumnsOnMobile?: string[];
|
|
25
|
+
mobileBreakpoint?: ComponentSize | string;
|
|
26
|
+
stackedHeaderColumn?: string;
|
|
27
|
+
}
|
|
28
|
+
declare function BaseTableContent<TData extends BaseRecord>({
|
|
29
|
+
className,
|
|
30
|
+
emptyState,
|
|
31
|
+
footer,
|
|
32
|
+
getCellProps,
|
|
33
|
+
getRowProps,
|
|
34
|
+
header,
|
|
35
|
+
isLoading,
|
|
36
|
+
loadingState,
|
|
37
|
+
onRowClick,
|
|
38
|
+
pagination,
|
|
39
|
+
table,
|
|
40
|
+
responsive,
|
|
41
|
+
layoutType,
|
|
42
|
+
hideColumnsOnMobile,
|
|
43
|
+
mobileBreakpoint,
|
|
44
|
+
stackedHeaderColumn
|
|
45
|
+
}: BaseTableContentProps<TData>): any;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { BaseTableContent, BaseTableContentProps };
|
|
48
|
+
//# sourceMappingURL=BaseTableContent.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { TableLayoutType } from "./DataTable.types.js";
|
|
2
|
+
import { useTableConfigOptional } from "./contexts/TableConfig.js";
|
|
3
|
+
import "./contexts/index.js";
|
|
4
|
+
import { Toolbar } from "./Toolbar.js";
|
|
5
|
+
import { TableLayoutRenderer } from "./TableLayoutRenderer.js";
|
|
6
|
+
import { cn } from "@lumeweb/portal-framework-ui-core";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/components/data-table/BaseTableContent.tsx
|
|
11
|
+
function BaseTableContent({ className, emptyState, footer, getCellProps, getRowProps, header, isLoading, loadingState, onRowClick, pagination, table, responsive = false, layoutType = "auto", hideColumnsOnMobile = [], mobileBreakpoint, stackedHeaderColumn }) {
|
|
12
|
+
const toolbarConfig = useTableConfigOptional()?.toolbarConfig;
|
|
13
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
14
|
+
className: cn(className),
|
|
15
|
+
children: [toolbarConfig && /* @__PURE__ */ jsx(Toolbar, { table }), /* @__PURE__ */ jsx(TableLayoutRenderer, {
|
|
16
|
+
layoutType,
|
|
17
|
+
table,
|
|
18
|
+
className,
|
|
19
|
+
emptyState,
|
|
20
|
+
footer,
|
|
21
|
+
getCellProps,
|
|
22
|
+
getRowProps,
|
|
23
|
+
header,
|
|
24
|
+
isLoading,
|
|
25
|
+
loadingState,
|
|
26
|
+
onRowClick,
|
|
27
|
+
pagination,
|
|
28
|
+
responsive,
|
|
29
|
+
hideColumnsOnMobile,
|
|
30
|
+
mobileBreakpoint: mobileBreakpoint || toolbarConfig?.mobileBreakpoint,
|
|
31
|
+
stackedHeaderColumn
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { BaseTableContent };
|
|
38
|
+
//# sourceMappingURL=BaseTableContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTableContent.js","names":[],"sources":["../../../../src/components/data-table/BaseTableContent.tsx"],"sourcesContent":["import { cn } from \"@lumeweb/portal-framework-ui-core\";\nimport { Cell, Row, Table } from \"@tanstack/react-table\";\nimport React from \"react\";\n\nimport { Toolbar } from \"./Toolbar\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport { useTableConfigOptional } from \"./contexts\";\nimport { TableLayoutRenderer } from \"./TableLayoutRenderer\";\nimport { TableLayoutType } from \"./DataTable.types\";\nimport { ComponentSize } from \"@lumeweb/portal-framework-ui-core\";\n\nexport interface BaseTableContentProps<TData extends BaseRecord> {\n className?: string;\n emptyState?: React.ReactNode;\n footer?: React.ReactNode;\n getCellProps?: (\n cell: Cell<TData, unknown>,\n ) => React.HTMLAttributes<HTMLTableCellElement>;\n getRowProps?: (row: Row<TData>) => React.HTMLAttributes<HTMLTableRowElement>;\n header?: React.ReactNode;\n /** Whether table is in loading state */\n isLoading?: boolean;\n /** Loading state content */\n loadingState?: React.ReactNode;\n onRowClick?: (row: Row<TData>) => void;\n pagination?: React.ReactNode;\n table: Table<TData>;\n responsive?: boolean;\n layoutType?: TableLayoutType;\n hideColumnsOnMobile?: string[];\n mobileBreakpoint?: ComponentSize | string;\n stackedHeaderColumn?: string;\n}\n\nfunction BaseTableContent<TData extends BaseRecord>({\n className,\n emptyState,\n footer,\n getCellProps,\n getRowProps,\n header,\n isLoading,\n loadingState,\n onRowClick,\n pagination,\n table,\n responsive = false,\n layoutType = TableLayoutType.AUTO,\n hideColumnsOnMobile = [],\n mobileBreakpoint,\n stackedHeaderColumn,\n}: BaseTableContentProps<TData>) {\n const tableConfig = useTableConfigOptional<TData>();\n const toolbarConfig = tableConfig?.toolbarConfig;\n\n return (\n <div className={cn(className)}>\n {toolbarConfig && <Toolbar table={table} />}\n <TableLayoutRenderer\n layoutType={layoutType}\n table={table}\n className={className}\n emptyState={emptyState}\n footer={footer}\n getCellProps={getCellProps}\n getRowProps={getRowProps}\n header={header}\n isLoading={isLoading}\n loadingState={loadingState}\n onRowClick={onRowClick}\n pagination={pagination}\n responsive={responsive}\n hideColumnsOnMobile={hideColumnsOnMobile}\n mobileBreakpoint={mobileBreakpoint || toolbarConfig?.mobileBreakpoint}\n stackedHeaderColumn={stackedHeaderColumn}\n />\n </div>\n );\n}\n\nexport { BaseTableContent };\n"],"mappings":";;;;;;;;;;AAkCA,SAAS,iBAA2C,EAClD,WACA,YACA,QACA,cACA,aACA,QACA,WACA,cACA,YACA,YACA,OACA,aAAa,OACb,qBACA,sBAAsB,EAAE,EACxB,kBACA,uBAC+B;CAE/B,MAAM,gBADc,wBACa,EAAE;AAEnC,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;YAA7B,CACG,iBAAiB,oBAAC,SAAD,EAAgB,OAAS,GAC3C,oBAAC,qBAAD;GACc;GACL;GACI;GACC;GACJ;GACM;GACD;GACL;GACG;GACG;GACF;GACA;GACA;GACS;GACrB,kBAAkB,oBAAoB,eAAe;GAChC;GACrB,EACE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseTableCommonPropsType, TableHeaderFooterProps, TableResponsiveProps } from "./BaseTable.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/BaseTableInner.d.ts
|
|
5
|
+
interface BaseTableInnerProps<TData extends object> extends BaseTableCommonPropsType<TData>, TableHeaderFooterProps, TableResponsiveProps {
|
|
6
|
+
stackedHeaderColumn?: string;
|
|
7
|
+
}
|
|
8
|
+
declare function BaseTableInner<TData extends object>(props: BaseTableInnerProps<TData>): React.JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { BaseTableInner };
|
|
11
|
+
//# sourceMappingURL=BaseTableInner.d.ts.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useTableInstance } from "./contexts/TableInstance.js";
|
|
2
|
+
import "./contexts/index.js";
|
|
3
|
+
import { normalizeTableOptions } from "./tableOptions.js";
|
|
4
|
+
import { BaseTableContent } from "./BaseTableContent.js";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/data-table/BaseTableInner.tsx
|
|
9
|
+
function BaseTableInner(props) {
|
|
10
|
+
const { className, emptyState, emptyStateMessage, footer, getCellProps, getRowProps, header, isLoading, loadingState, loadingStateMessage, onRowClick, pagination, responsive, layoutType, hideColumnsOnMobile, mobileBreakpoint, stackedHeaderColumn } = props;
|
|
11
|
+
const { table } = useTableInstance();
|
|
12
|
+
const normalizedOptions = normalizeTableOptions(pagination, emptyState, emptyStateMessage, loadingState, loadingStateMessage, table);
|
|
13
|
+
return /* @__PURE__ */ jsx(BaseTableContent, {
|
|
14
|
+
className,
|
|
15
|
+
emptyState: normalizedOptions.emptyState,
|
|
16
|
+
footer,
|
|
17
|
+
getCellProps,
|
|
18
|
+
getRowProps,
|
|
19
|
+
header,
|
|
20
|
+
isLoading,
|
|
21
|
+
loadingState: normalizedOptions.loadingState,
|
|
22
|
+
onRowClick,
|
|
23
|
+
pagination: normalizedOptions.pagination.enabled ? normalizedOptions.pagination.component : void 0,
|
|
24
|
+
table,
|
|
25
|
+
responsive,
|
|
26
|
+
layoutType,
|
|
27
|
+
hideColumnsOnMobile,
|
|
28
|
+
mobileBreakpoint,
|
|
29
|
+
stackedHeaderColumn
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { BaseTableInner };
|
|
35
|
+
//# sourceMappingURL=BaseTableInner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTableInner.js","names":[],"sources":["../../../../src/components/data-table/BaseTableInner.tsx"],"sourcesContent":["import type { BaseTableCommonPropsType, TableHeaderFooterProps, TableResponsiveProps } from \"./BaseTable\";\nimport { BaseTableContent } from \"./BaseTableContent\";\nimport { useTableInstance } from \"./contexts\";\nimport { normalizeTableOptions } from \"./tableOptions\";\nimport { type Table } from \"@tanstack/react-table\";\nimport React from \"react\";\n\n// Extend the common props interface with specific properties BaseTableInner actually uses\ninterface BaseTableInnerProps<TData extends object> \n extends BaseTableCommonPropsType<TData>, TableHeaderFooterProps, TableResponsiveProps {\n stackedHeaderColumn?: string;\n}\n\nfunction BaseTableInner<TData extends object>(\n props: BaseTableInnerProps<TData>,\n): React.JSX.Element {\n const {\n className,\n emptyState,\n emptyStateMessage,\n footer,\n getCellProps,\n getRowProps,\n header,\n isLoading,\n loadingState,\n loadingStateMessage,\n onRowClick,\n pagination,\n responsive,\n layoutType,\n hideColumnsOnMobile,\n mobileBreakpoint,\n stackedHeaderColumn,\n } = props;\n\n const { table } = useTableInstance<TData>();\n\n const normalizedOptions = normalizeTableOptions(\n pagination,\n emptyState,\n emptyStateMessage,\n loadingState,\n loadingStateMessage,\n table,\n );\n\n return (\n <BaseTableContent\n className={className}\n emptyState={normalizedOptions.emptyState}\n footer={footer}\n getCellProps={getCellProps}\n getRowProps={getRowProps}\n header={header}\n isLoading={isLoading}\n loadingState={normalizedOptions.loadingState}\n onRowClick={onRowClick}\n pagination={\n normalizedOptions.pagination.enabled\n ? normalizedOptions.pagination.component\n : undefined\n }\n table={table}\n responsive={responsive}\n layoutType={layoutType}\n hideColumnsOnMobile={hideColumnsOnMobile}\n mobileBreakpoint={mobileBreakpoint}\n stackedHeaderColumn={stackedHeaderColumn}\n />\n );\n}\n\nexport { BaseTableInner };\n"],"mappings":";;;;;;;;AAaA,SAAS,eACP,OACmB;CACnB,MAAM,EACJ,WACA,YACA,mBACA,QACA,cACA,aACA,QACA,WACA,cACA,qBACA,YACA,YACA,YACA,YACA,qBACA,kBACA,wBACE;CAEJ,MAAM,EAAE,UAAU,kBAAyB;CAE3C,MAAM,oBAAoB,sBACxB,YACA,YACA,mBACA,cACA,qBACA,MACD;AAED,QACE,oBAAC,kBAAD;EACa;EACX,YAAY,kBAAkB;EACtB;EACM;EACD;EACL;EACG;EACX,cAAc,kBAAkB;EACpB;EACZ,YACE,kBAAkB,WAAW,UACzB,kBAAkB,WAAW,YAC7B;EAEC;EACK;EACA;EACS;EACH;EACG;EACrB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseTableLayoutPropsBase } from "./BaseTable.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/BaseTableStackedLayout.d.ts
|
|
6
|
+
interface BaseTableStackedLayoutProps<TData extends BaseRecord> extends BaseTableLayoutPropsBase<TData> {
|
|
7
|
+
getCellProps?: (cell: any) => React.HTMLAttributes<HTMLDivElement>;
|
|
8
|
+
stackedHeaderColumn?: string;
|
|
9
|
+
}
|
|
10
|
+
declare function BaseTableStackedLayout<TData extends BaseRecord>({
|
|
11
|
+
className,
|
|
12
|
+
emptyState,
|
|
13
|
+
emptyStateMessage,
|
|
14
|
+
footer,
|
|
15
|
+
getCellProps,
|
|
16
|
+
getRowProps,
|
|
17
|
+
header,
|
|
18
|
+
isLoading,
|
|
19
|
+
loadingState,
|
|
20
|
+
loadingStateMessage,
|
|
21
|
+
onRowClick,
|
|
22
|
+
pagination,
|
|
23
|
+
table,
|
|
24
|
+
responsive,
|
|
25
|
+
hideColumnsOnMobile,
|
|
26
|
+
mobileBreakpoint,
|
|
27
|
+
stackedHeaderColumn
|
|
28
|
+
}: BaseTableStackedLayoutProps<TData>): any;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { BaseTableStackedLayout };
|
|
31
|
+
//# sourceMappingURL=BaseTableStackedLayout.d.ts.map
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { ComponentSize as ComponentSize$1 } from "../sizing/index.js";
|
|
2
|
+
import { useMobileDetection as useMobileDetection$1 } from "./useMobileDetection.js";
|
|
3
|
+
import { useTableConfigOptional } from "./contexts/TableConfig.js";
|
|
4
|
+
import "./contexts/index.js";
|
|
5
|
+
import { useMobileColumnHiding, useTableRowHandlers } from "./useTableHandlers.js";
|
|
6
|
+
import { normalizeTableOptions } from "./tableOptions.js";
|
|
7
|
+
import "../index.js";
|
|
8
|
+
import { Card, CardContent, cn } from "@lumeweb/portal-framework-ui-core";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { flexRender } from "@tanstack/react-table";
|
|
12
|
+
|
|
13
|
+
//#region src/components/data-table/BaseTableStackedLayout.tsx
|
|
14
|
+
const validateBreakpoint = (breakpoint) => {
|
|
15
|
+
if (typeof breakpoint === "string" && [
|
|
16
|
+
"xs",
|
|
17
|
+
"sm",
|
|
18
|
+
"md",
|
|
19
|
+
"lg",
|
|
20
|
+
"xl",
|
|
21
|
+
"2xl"
|
|
22
|
+
].includes(breakpoint)) return breakpoint;
|
|
23
|
+
if (typeof breakpoint === "string" && breakpoint !== "") console.warn(`Unknown breakpoint value "${breakpoint}", falling back to "md"`);
|
|
24
|
+
return "md";
|
|
25
|
+
};
|
|
26
|
+
function BaseTableStackedLayout({ className, emptyState, emptyStateMessage, footer, getCellProps, getRowProps, header, isLoading, loadingState, loadingStateMessage, onRowClick, pagination, table, responsive, hideColumnsOnMobile, mobileBreakpoint, stackedHeaderColumn }) {
|
|
27
|
+
const tableConfig = useTableConfigOptional();
|
|
28
|
+
const { isMobile } = useMobileDetection$1({ mobileBreakpoint: validateBreakpoint(mobileBreakpoint || tableConfig?.toolbarConfig?.mobileBreakpoint || "sm") });
|
|
29
|
+
const normalizedOptions = normalizeTableOptions(pagination, emptyState, emptyStateMessage, loadingState, loadingStateMessage, table);
|
|
30
|
+
const getTableRowProps = useTableRowHandlers({
|
|
31
|
+
onRowClick,
|
|
32
|
+
getRowProps
|
|
33
|
+
});
|
|
34
|
+
const hiddenColumns = useMobileColumnHiding({
|
|
35
|
+
responsive,
|
|
36
|
+
hideColumnsOnMobile,
|
|
37
|
+
columnIds: React.useMemo(() => {
|
|
38
|
+
return table.getAllLeafColumns().map((column) => column.id);
|
|
39
|
+
}, [table])
|
|
40
|
+
});
|
|
41
|
+
if (isLoading) return /* @__PURE__ */ jsxs("div", {
|
|
42
|
+
className: cn(className),
|
|
43
|
+
children: [
|
|
44
|
+
header && /* @__PURE__ */ jsx("div", {
|
|
45
|
+
className: "mb-4",
|
|
46
|
+
children: header
|
|
47
|
+
}),
|
|
48
|
+
normalizedOptions.loadingState,
|
|
49
|
+
footer && /* @__PURE__ */ jsx("div", {
|
|
50
|
+
className: "mt-4",
|
|
51
|
+
children: footer
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
});
|
|
55
|
+
const rows = table.getRowModel().rows;
|
|
56
|
+
if (rows.length === 0) return /* @__PURE__ */ jsxs("div", {
|
|
57
|
+
className: cn(className),
|
|
58
|
+
children: [
|
|
59
|
+
header && /* @__PURE__ */ jsx("div", {
|
|
60
|
+
className: "mb-4",
|
|
61
|
+
children: header
|
|
62
|
+
}),
|
|
63
|
+
normalizedOptions.emptyState,
|
|
64
|
+
footer && /* @__PURE__ */ jsx("div", {
|
|
65
|
+
className: "mt-4",
|
|
66
|
+
children: footer
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
});
|
|
70
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
71
|
+
className: cn(className),
|
|
72
|
+
children: [
|
|
73
|
+
header && /* @__PURE__ */ jsx("div", {
|
|
74
|
+
className: "mb-4",
|
|
75
|
+
children: header
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ jsx("div", {
|
|
78
|
+
className: "space-y-4",
|
|
79
|
+
children: rows.map((row) => {
|
|
80
|
+
return /* @__PURE__ */ jsxs(Card, {
|
|
81
|
+
...getTableRowProps(row),
|
|
82
|
+
children: [stackedHeaderColumn && (() => {
|
|
83
|
+
const headerCell = row.getVisibleCells().find((cell) => cell.column.id === stackedHeaderColumn);
|
|
84
|
+
if (headerCell) return /* @__PURE__ */ jsx("div", {
|
|
85
|
+
className: cn("border-b p-4", "[word-break:break-word]"),
|
|
86
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
87
|
+
className: "text-lg font-semibold",
|
|
88
|
+
children: flexRender(headerCell.column.columnDef.cell, headerCell.getContext())
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
return null;
|
|
92
|
+
})(), /* @__PURE__ */ jsx(CardContent, {
|
|
93
|
+
className: cn("space-y-3", "[word-break:break-word]"),
|
|
94
|
+
children: row.getVisibleCells().map((cell) => {
|
|
95
|
+
if (hiddenColumns.has(cell.column.id)) return null;
|
|
96
|
+
if (cell.column.id === "actions") return /* @__PURE__ */ jsx("div", {
|
|
97
|
+
className: cn("flex justify-end border-t pt-3", isMobile && "pt-4"),
|
|
98
|
+
...getCellProps?.(cell),
|
|
99
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
100
|
+
className: cn("flex min-h-10 items-center"),
|
|
101
|
+
children: flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
102
|
+
})
|
|
103
|
+
}, cell.id);
|
|
104
|
+
if (cell.column.id === stackedHeaderColumn) return null;
|
|
105
|
+
const header = cell.column.columnDef.header;
|
|
106
|
+
const headerText = typeof header === "string" ? header : void 0;
|
|
107
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
108
|
+
className: cn("flex flex-col space-y-1", isMobile && "space-y-2", !stackedHeaderColumn && "pt-4"),
|
|
109
|
+
...getCellProps?.(cell),
|
|
110
|
+
children: [headerText && /* @__PURE__ */ jsx("span", {
|
|
111
|
+
className: cn("text-muted-foreground text-sm font-medium", isMobile && "text-base"),
|
|
112
|
+
children: headerText
|
|
113
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
114
|
+
className: cn("flex min-h-6 items-center text-base", isMobile && "min-h-8 text-lg"),
|
|
115
|
+
children: flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
116
|
+
})]
|
|
117
|
+
}, cell.id);
|
|
118
|
+
})
|
|
119
|
+
})]
|
|
120
|
+
}, row.id);
|
|
121
|
+
})
|
|
122
|
+
}),
|
|
123
|
+
normalizedOptions.pagination.enabled && /* @__PURE__ */ jsx("div", {
|
|
124
|
+
className: "mt-4",
|
|
125
|
+
children: normalizedOptions.pagination.component
|
|
126
|
+
}),
|
|
127
|
+
footer && /* @__PURE__ */ jsx("div", {
|
|
128
|
+
className: "mt-4",
|
|
129
|
+
children: footer
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
//#endregion
|
|
136
|
+
export { BaseTableStackedLayout };
|
|
137
|
+
//# sourceMappingURL=BaseTableStackedLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTableStackedLayout.js","names":["useMobileDetection"],"sources":["../../../../src/components/data-table/BaseTableStackedLayout.tsx"],"sourcesContent":["import { Card, CardContent, cn } from \"@lumeweb/portal-framework-ui-core\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport React from \"react\";\n\nimport { useTableConfigOptional } from \"./contexts\";\nimport { useMobileDetection } from \"./useMobileDetection\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport { BaseTableLayoutPropsBase } from \"./BaseTable\";\nimport { useMobileColumnHiding, useTableRowHandlers } from \"./useTableHandlers\";\nimport { normalizeTableOptions } from \"./tableOptions\";\nimport { ComponentSize } from \"@/components\";\n\n// Define the known Tailwind breakpoint names\ntype TailwindBreakpoint = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n\n// Helper function to validate breakpoint values\nconst validateBreakpoint = (breakpoint: any): TailwindBreakpoint => {\n const validBreakpoints: TailwindBreakpoint[] = [\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"2xl\",\n ];\n\n if (\n typeof breakpoint === \"string\" &&\n validBreakpoints.includes(breakpoint as TailwindBreakpoint)\n ) {\n return breakpoint as TailwindBreakpoint;\n }\n\n // Warn and fall back to a safe default for unknown values\n if (typeof breakpoint === \"string\" && breakpoint !== \"\") {\n console.warn(\n `Unknown breakpoint value \"${breakpoint}\", falling back to \"md\"`,\n );\n }\n\n return \"md\";\n};\n\ninterface BaseTableStackedLayoutProps<TData extends BaseRecord>\n extends BaseTableLayoutPropsBase<TData> {\n getCellProps?: (\n cell: any, // Using any to match BaseTableContentProps interface\n ) => React.HTMLAttributes<HTMLDivElement>;\n stackedHeaderColumn?: string;\n}\n\nfunction BaseTableStackedLayout<TData extends BaseRecord>({\n className,\n emptyState,\n emptyStateMessage,\n footer,\n getCellProps,\n getRowProps,\n header,\n isLoading,\n loadingState,\n loadingStateMessage,\n onRowClick,\n pagination,\n table,\n responsive,\n hideColumnsOnMobile,\n mobileBreakpoint,\n stackedHeaderColumn,\n}: BaseTableStackedLayoutProps<TData>) {\n const tableConfig = useTableConfigOptional<TData>();\n const validatedBreakpoint = validateBreakpoint(\n mobileBreakpoint ||\n tableConfig?.toolbarConfig?.mobileBreakpoint ||\n ComponentSize.SM,\n );\n\n const { isMobile } = useMobileDetection({\n mobileBreakpoint: validatedBreakpoint,\n });\n\n // Normalize table options including pagination\n const normalizedOptions = normalizeTableOptions(\n pagination,\n emptyState,\n emptyStateMessage,\n loadingState,\n loadingStateMessage,\n table,\n );\n\n // Use the shared hook for row handling\n const getTableRowProps = useTableRowHandlers({ onRowClick, getRowProps });\n\n // Get all visible column IDs for mobile hiding hook\n const visibleColumnIds = React.useMemo(() => {\n return table.getAllLeafColumns().map(column => column.id);\n }, [table]);\n\n // Determine hidden columns at top level\n const hiddenColumns = useMobileColumnHiding({\n responsive,\n hideColumnsOnMobile,\n columnIds: visibleColumnIds,\n });\n\n if (isLoading) {\n return (\n <div className={cn(className)}>\n {header && <div className=\"mb-4\">{header}</div>}\n {normalizedOptions.loadingState}\n {footer && <div className=\"mt-4\">{footer}</div>}\n </div>\n );\n }\n\n const rows = table.getRowModel().rows;\n\n if (rows.length === 0) {\n return (\n <div className={cn(className)}>\n {header && <div className=\"mb-4\">{header}</div>}\n {normalizedOptions.emptyState}\n {footer && <div className=\"mt-4\">{footer}</div>}\n </div>\n );\n }\n\n return (\n <div className={cn(className)}>\n {header && <div className=\"mb-4\">{header}</div>}\n <div className=\"space-y-4\">\n {rows.map((row) => {\n // Use the shared hook for row props\n const rowProps = getTableRowProps(row);\n\n return (\n <Card key={row.id} {...rowProps}>\n {/* Render stacked header if specified */}\n {stackedHeaderColumn &&\n (() => {\n const headerCell = row\n .getVisibleCells()\n .find((cell) => cell.column.id === stackedHeaderColumn);\n\n if (headerCell) {\n return (\n <div\n className={cn(\n \"border-b p-4\",\n \"[word-break:break-word]\",\n )}>\n <div className=\"text-lg font-semibold\">\n {flexRender(\n headerCell.column.columnDef.cell,\n headerCell.getContext(),\n )}\n </div>\n </div>\n );\n }\n return null;\n })()}\n\n <CardContent\n className={cn(\"space-y-3\", \"[word-break:break-word]\")}>\n {row.getVisibleCells().map((cell) => {\n // Check if column should be hidden using the precomputed set\n if (hiddenColumns.has(cell.column.id)) {\n return null;\n }\n\n // Skip the actions column for stacked layout\n if (cell.column.id === \"actions\") {\n return (\n <div\n key={cell.id}\n className={cn(\n \"flex justify-end border-t pt-3\",\n isMobile && \"pt-4\",\n )}\n {...getCellProps?.(cell)}>\n <div className={cn(\"flex min-h-10 items-center\")}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </div>\n </div>\n );\n }\n\n // Skip the stacked header column to avoid duplication\n if (cell.column.id === stackedHeaderColumn) {\n return null;\n }\n\n const header = cell.column.columnDef.header;\n const headerText =\n typeof header === \"string\" ? header : undefined;\n\n return (\n <div\n key={cell.id}\n className={cn(\n \"flex flex-col space-y-1\",\n isMobile && \"space-y-2\",\n !stackedHeaderColumn && \"pt-4\",\n )}\n {...getCellProps?.(cell)}>\n {headerText && (\n <span\n className={cn(\n \"text-muted-foreground text-sm font-medium\",\n isMobile && \"text-base\",\n )}>\n {headerText}\n </span>\n )}\n <div\n className={cn(\n \"flex min-h-6 items-center text-base\",\n isMobile && \"min-h-8 text-lg\",\n )}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </div>\n </div>\n );\n })}\n </CardContent>\n </Card>\n );\n })}\n </div>\n {normalizedOptions.pagination.enabled && (\n <div className=\"mt-4\">{normalizedOptions.pagination.component}</div>\n )}\n {footer && <div className=\"mt-4\">{footer}</div>}\n </div>\n );\n}\n\nexport { BaseTableStackedLayout };\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAM,sBAAsB,eAAwC;AAUlE,KACE,OAAO,eAAe,YACtB;EAVA;EACA;EACA;EACA;EACA;EACA;EAKgB,CAAC,SAAS,WAAiC,CAE3D,QAAO;AAIT,KAAI,OAAO,eAAe,YAAY,eAAe,GACnD,SAAQ,KACN,6BAA6B,WAAW,yBACzC;AAGH,QAAO;;AAWT,SAAS,uBAAiD,EACxD,WACA,YACA,mBACA,QACA,cACA,aACA,QACA,WACA,cACA,qBACA,YACA,YACA,OACA,YACA,qBACA,kBACA,uBACqC;CACrC,MAAM,cAAc,wBAA+B;CAOnD,MAAM,EAAE,aAAaA,qBAAmB,EACtC,kBAP0B,mBAC1B,oBACE,aAAa,eAAe,yBAKO,EACtC,CAAC;CAGF,MAAM,oBAAoB,sBACxB,YACA,YACA,mBACA,cACA,qBACA,MACD;CAGD,MAAM,mBAAmB,oBAAoB;EAAE;EAAY;EAAa,CAAC;CAQzE,MAAM,gBAAgB,sBAAsB;EAC1C;EACA;EACA,WARuB,MAAM,cAAc;AAC3C,UAAO,MAAM,mBAAmB,CAAC,KAAI,WAAU,OAAO,GAAG;KACxD,CAAC,MAAM,CAMmB;EAC5B,CAAC;AAEF,KAAI,UACF,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;YAA7B;GACG,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC9C,kBAAkB;GAClB,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC3C;;CAIV,MAAM,OAAO,MAAM,aAAa,CAAC;AAEjC,KAAI,KAAK,WAAW,EAClB,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;YAA7B;GACG,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC9C,kBAAkB;GAClB,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC3C;;AAIV,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;YAA7B;GACG,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC/C,oBAAC,OAAD;IAAK,WAAU;cACZ,KAAK,KAAK,QAAQ;AAIjB,YACE,qBAAC,MAAD;MAAmB,GAHJ,iBAAiB,IAGD;gBAA/B,CAEG,8BACQ;OACL,MAAM,aAAa,IAChB,iBAAiB,CACjB,MAAM,SAAS,KAAK,OAAO,OAAO,oBAAoB;AAEzD,WAAI,WACF,QACE,oBAAC,OAAD;QACE,WAAW,GACT,gBACA,0BACD;kBACD,oBAAC,OAAD;SAAK,WAAU;mBACZ,WACC,WAAW,OAAO,UAAU,MAC5B,WAAW,YAAY,CACxB;SACG;QACF;AAGV,cAAO;UACL,EAEN,oBAAC,aAAD;OACE,WAAW,GAAG,aAAa,0BAA0B;iBACpD,IAAI,iBAAiB,CAAC,KAAK,SAAS;AAEnC,YAAI,cAAc,IAAI,KAAK,OAAO,GAAG,CACnC,QAAO;AAIT,YAAI,KAAK,OAAO,OAAO,UACrB,QACE,oBAAC,OAAD;SAEE,WAAW,GACT,kCACA,YAAY,OACb;SACD,GAAI,eAAe,KAAK;mBACxB,oBAAC,OAAD;UAAK,WAAW,GAAG,6BAA6B;oBAC7C,WACC,KAAK,OAAO,UAAU,MACtB,KAAK,YAAY,CAClB;UACG;SACF,EAZC,KAAK,GAYN;AAKV,YAAI,KAAK,OAAO,OAAO,oBACrB,QAAO;QAGT,MAAM,SAAS,KAAK,OAAO,UAAU;QACrC,MAAM,aACJ,OAAO,WAAW,WAAW,SAAS;AAExC,eACE,qBAAC,OAAD;SAEE,WAAW,GACT,2BACA,YAAY,aACZ,CAAC,uBAAuB,OACzB;SACD,GAAI,eAAe,KAAK;mBAP1B,CAQG,cACC,oBAAC,QAAD;UACE,WAAW,GACT,6CACA,YAAY,YACb;oBACA;UACI,GAET,oBAAC,OAAD;UACE,WAAW,GACT,uCACA,YAAY,kBACb;oBACA,WACC,KAAK,OAAO,UAAU,MACtB,KAAK,YAAY,CAClB;UACG,EACF;WA1BC,KAAK,GA0BN;SAER;OACU,EACT;QAhGI,IAAI,GAgGR;MAET;IACE;GACL,kBAAkB,WAAW,WAC5B,oBAAC,OAAD;IAAK,WAAU;cAAQ,kBAAkB,WAAW;IAAgB;GAErE,UAAU,oBAAC,OAAD;IAAK,WAAU;cAAQ;IAAa;GAC3C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataTableProps } from "./DataTable.types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/DataTable.d.ts
|
|
5
|
+
declare function DataTable<TData extends BaseRecord = BaseRecord, TError = unknown, TSearchVariables = unknown>({
|
|
6
|
+
actionMenu,
|
|
7
|
+
columns,
|
|
8
|
+
control,
|
|
9
|
+
dataProviderName,
|
|
10
|
+
refineCoreProps,
|
|
11
|
+
resource,
|
|
12
|
+
toolbar,
|
|
13
|
+
refetchInterval,
|
|
14
|
+
...props
|
|
15
|
+
}: DataTableProps<TData, TError, TSearchVariables>): any;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DataTable };
|
|
18
|
+
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { getAvailableOperators, getDefaultOperatorForFieldType } from "./toolbarItems/filters/hooks/useFilterOperators.js";
|
|
2
|
+
import { FilterHelpersProvider } from "./contexts/FilterHelpers.js";
|
|
3
|
+
import { RefineTableProvider } from "./contexts/RefineTable.js";
|
|
4
|
+
import { TableConfigProvider } from "./contexts/TableConfig.js";
|
|
5
|
+
import { TableInstanceProvider } from "./contexts/TableInstance.js";
|
|
6
|
+
import "./contexts/index.js";
|
|
7
|
+
import { BaseTable } from "./BaseTable.js";
|
|
8
|
+
import { TableAction } from "./TableAction.js";
|
|
9
|
+
import { TableActionMenu } from "./TableActionMenu.js";
|
|
10
|
+
import { getDefaultFilter } from "@refinedev/core";
|
|
11
|
+
import React, { useMemo } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useTable } from "@refinedev/react-table";
|
|
14
|
+
|
|
15
|
+
//#region src/components/data-table/DataTable.tsx
|
|
16
|
+
function DataTable({ actionMenu, columns, control, dataProviderName, refineCoreProps, resource, toolbar, refetchInterval, ...props }) {
|
|
17
|
+
const refineTable = useTable({
|
|
18
|
+
columns: useMemo(() => {
|
|
19
|
+
const cols = [...columns || []];
|
|
20
|
+
const actionColumn = actionMenu ? {
|
|
21
|
+
cell: ({ row }) => /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: "flex items-center gap-1",
|
|
23
|
+
children: [actionMenu.actionItems && /* @__PURE__ */ jsx(TableAction, {
|
|
24
|
+
items: actionMenu.actionItems,
|
|
25
|
+
row: row.original
|
|
26
|
+
}), /* @__PURE__ */ jsx(TableActionMenu, {
|
|
27
|
+
items: actionMenu.items,
|
|
28
|
+
row: row.original
|
|
29
|
+
})]
|
|
30
|
+
}),
|
|
31
|
+
header: actionMenu.label ?? "Actions",
|
|
32
|
+
id: "actions",
|
|
33
|
+
meta: {
|
|
34
|
+
cellClassName: "max-w-24 w-12",
|
|
35
|
+
headerClassName: "max-w-24 w-12"
|
|
36
|
+
},
|
|
37
|
+
size: 0
|
|
38
|
+
} : void 0;
|
|
39
|
+
if (actionColumn) cols.push(actionColumn);
|
|
40
|
+
return cols;
|
|
41
|
+
}, [columns, actionMenu]),
|
|
42
|
+
refineCoreProps: useMemo(() => ({
|
|
43
|
+
dataProviderName: dataProviderName ?? void 0,
|
|
44
|
+
resource,
|
|
45
|
+
...refineCoreProps,
|
|
46
|
+
queryOptions: {
|
|
47
|
+
...refineCoreProps?.queryOptions,
|
|
48
|
+
refetchInterval
|
|
49
|
+
}
|
|
50
|
+
}), [
|
|
51
|
+
dataProviderName,
|
|
52
|
+
resource,
|
|
53
|
+
refineCoreProps,
|
|
54
|
+
refetchInterval
|
|
55
|
+
])
|
|
56
|
+
});
|
|
57
|
+
const table = {
|
|
58
|
+
...refineTable.reactTable,
|
|
59
|
+
options: {
|
|
60
|
+
...refineTable.reactTable.options,
|
|
61
|
+
refineCore: refineTable.refineCore
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const getDefaultFilter$1 = (columnName, operatorType) => getDefaultFilter(columnName, refineTable.refineCore?.filters, operatorType);
|
|
65
|
+
const getDefaultOperator = (fieldType) => getDefaultOperatorForFieldType(fieldType);
|
|
66
|
+
const getAvailableOperators$1 = (fieldType) => getAvailableOperators(fieldType);
|
|
67
|
+
return /* @__PURE__ */ jsx(RefineTableProvider, {
|
|
68
|
+
refineTable,
|
|
69
|
+
children: /* @__PURE__ */ jsx(TableInstanceProvider, {
|
|
70
|
+
table,
|
|
71
|
+
children: /* @__PURE__ */ jsx(FilterHelpersProvider, {
|
|
72
|
+
refineTable,
|
|
73
|
+
getDefaultFilter: getDefaultFilter$1,
|
|
74
|
+
getDefaultOperator,
|
|
75
|
+
getAvailableOperators: getAvailableOperators$1,
|
|
76
|
+
children: /* @__PURE__ */ jsxs(TableConfigProvider, {
|
|
77
|
+
toolbarConfig: toolbar,
|
|
78
|
+
refineContext: {
|
|
79
|
+
tableInstance: refineTable.refineCore,
|
|
80
|
+
refetch: refineTable.refineCore.tableQuery.refetch,
|
|
81
|
+
isLoading: refineTable.refineCore.tableQuery.isFetching,
|
|
82
|
+
error: refineTable.refineCore.tableQuery.error
|
|
83
|
+
},
|
|
84
|
+
children: [control, /* @__PURE__ */ jsx(BaseTable, {
|
|
85
|
+
table,
|
|
86
|
+
refineTable: refineTable.refineCore,
|
|
87
|
+
...props
|
|
88
|
+
})]
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
//#endregion
|
|
96
|
+
export { DataTable };
|
|
97
|
+
//# sourceMappingURL=DataTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["useRefineTable","getDefaultFilter","refineGetDefaultFilter","getAvailableOperators","getAvailableOperatorsHelper"],"sources":["../../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import {\n BaseRecord,\n getDefaultFilter as refineGetDefaultFilter,\n} from \"@refinedev/core\";\nimport { useTable as useRefineTable } from \"@refinedev/react-table\";\nimport { Table } from \"@tanstack/react-table\";\nimport React, { useMemo } from \"react\";\n\nimport type { DataTableProps } from \"./DataTable.types\";\n\nimport { ActionColumnCellProps, BaseTable } from \"./BaseTable\";\nimport { TableAction } from \"./TableAction\";\nimport { TableActionMenu } from \"./TableActionMenu\";\nimport {\n FilterHelpersProvider,\n RefineTableProvider,\n TableConfigProvider,\n TableInstanceProvider,\n} from \"./contexts\";\nimport {\n getAvailableOperators as getAvailableOperatorsHelper,\n getDefaultOperatorForFieldType,\n} from \"./toolbarItems/filters/hooks/useFilterOperators\";\n\nfunction DataTable<\n TData extends BaseRecord = BaseRecord,\n TError = unknown,\n TSearchVariables = unknown,\n>({\n actionMenu,\n columns,\n control,\n dataProviderName,\n refineCoreProps,\n resource,\n toolbar,\n refetchInterval,\n ...props\n}: DataTableProps<TData, TError, TSearchVariables>) {\n const tableColumns = useMemo(() => {\n const cols = [...(columns || [])];\n\n // Create actionColumn inside useMemo to avoid unnecessary recreations\n const actionColumn = actionMenu\n ? {\n cell: ({ row }: ActionColumnCellProps<TData>) => (\n <div className=\"flex items-center gap-1\">\n {actionMenu.actionItems && (\n <TableAction\n items={actionMenu.actionItems}\n row={row.original}\n />\n )}\n <TableActionMenu items={actionMenu.items} row={row.original} />\n </div>\n ),\n header: actionMenu.label ?? \"Actions\",\n id: \"actions\",\n meta: {\n cellClassName: \"max-w-24 w-12\",\n headerClassName: \"max-w-24 w-12\",\n },\n size: 0,\n }\n : undefined;\n\n if (actionColumn) {\n cols.push(actionColumn);\n }\n return cols;\n }, [columns, actionMenu]);\n\n const memoizedRefineCoreProps = useMemo(\n () => ({\n dataProviderName: dataProviderName ?? undefined,\n resource,\n ...refineCoreProps,\n queryOptions: {\n ...refineCoreProps?.queryOptions,\n refetchInterval,\n },\n }),\n [dataProviderName, resource, refineCoreProps, refetchInterval],\n );\n\n const refineTable = useRefineTable<TData>({\n columns: tableColumns,\n // @ts-ignore\n refineCoreProps: memoizedRefineCoreProps,\n });\n\n const table: Table<TData> = {\n ...refineTable.reactTable,\n options: {\n ...refineTable.reactTable.options,\n refineCore: refineTable.refineCore,\n },\n } as unknown as Table<TData>;\n\n const getDefaultFilter = (columnName: string, operatorType?: string) =>\n refineGetDefaultFilter(\n columnName,\n refineTable.refineCore?.filters,\n operatorType as any,\n );\n\n const getDefaultOperator = (fieldType: string): string =>\n getDefaultOperatorForFieldType(fieldType);\n\n const getAvailableOperators = (fieldType: string) =>\n getAvailableOperatorsHelper(fieldType);\n\n return (\n <RefineTableProvider refineTable={refineTable}>\n <TableInstanceProvider table={table}>\n <FilterHelpersProvider\n refineTable={refineTable}\n getDefaultFilter={getDefaultFilter}\n getDefaultOperator={getDefaultOperator}\n getAvailableOperators={getAvailableOperators}>\n <TableConfigProvider\n toolbarConfig={toolbar}\n refineContext={{\n tableInstance: refineTable.refineCore,\n refetch: refineTable.refineCore.tableQuery.refetch,\n isLoading: refineTable.refineCore.tableQuery.isFetching,\n error: refineTable.refineCore.tableQuery.error,\n }}>\n {control}\n <BaseTable\n table={table}\n refineTable={refineTable.refineCore}\n {...props}\n />\n </TableConfigProvider>\n </FilterHelpersProvider>\n </TableInstanceProvider>\n </RefineTableProvider>\n );\n}\n\nexport { DataTable };\n"],"mappings":";;;;;;;;;;;;;;;AAwBA,SAAS,UAIP,EACA,YACA,SACA,SACA,kBACA,iBACA,UACA,SACA,iBACA,GAAG,SAC+C;CA+ClD,MAAM,cAAcA,SAAsB;EACxC,SA/CmB,cAAc;GACjC,MAAM,OAAO,CAAC,GAAI,WAAW,EAAE,CAAE;GAGjC,MAAM,eAAe,aACjB;IACE,OAAO,EAAE,UACP,qBAAC,OAAD;KAAK,WAAU;eAAf,CACG,WAAW,eACV,oBAAC,aAAD;MACE,OAAO,WAAW;MAClB,KAAK,IAAI;MACT,GAEJ,oBAAC,iBAAD;MAAiB,OAAO,WAAW;MAAO,KAAK,IAAI;MAAY,EAC3D;;IAER,QAAQ,WAAW,SAAS;IAC5B,IAAI;IACJ,MAAM;KACJ,eAAe;KACf,iBAAiB;KAClB;IACD,MAAM;IACP,GACD;AAEJ,OAAI,aACF,MAAK,KAAK,aAAa;AAEzB,UAAO;KACN,CAAC,SAAS,WAAW,CAgBD;EAErB,iBAhB8B,eACvB;GACL,kBAAkB,oBAAoB;GACtC;GACA,GAAG;GACH,cAAc;IACZ,GAAG,iBAAiB;IACpB;IACD;GACF,GACD;GAAC;GAAkB;GAAU;GAAiB;GAAgB,CAMtB;EACzC,CAAC;CAEF,MAAM,QAAsB;EAC1B,GAAG,YAAY;EACf,SAAS;GACP,GAAG,YAAY,WAAW;GAC1B,YAAY,YAAY;GACzB;EACF;CAED,MAAMC,sBAAoB,YAAoB,iBAC5CC,iBACE,YACA,YAAY,YAAY,SACxB,aACD;CAEH,MAAM,sBAAsB,cAC1B,+BAA+B,UAAU;CAE3C,MAAMC,2BAAyB,cAC7BC,sBAA4B,UAAU;AAExC,QACE,oBAAC,qBAAD;EAAkC;YAChC,oBAAC,uBAAD;GAA8B;aAC5B,oBAAC,uBAAD;IACe;IACb,kBAAkBH;IACE;IACpB,uBAAuBE;cACvB,qBAAC,qBAAD;KACE,eAAe;KACf,eAAe;MACb,eAAe,YAAY;MAC3B,SAAS,YAAY,WAAW,WAAW;MAC3C,WAAW,YAAY,WAAW,WAAW;MAC7C,OAAO,YAAY,WAAW,WAAW;MAC1C;eAPH,CAQG,SACD,oBAAC,WAAD;MACS;MACP,aAAa,YAAY;MACzB,GAAI;MACJ,EACkB;;IACA;GACF;EACJ"}
|