@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,26 @@
|
|
|
1
|
+
import { Button } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/TableAction.tsx
|
|
6
|
+
function TableAction({ items, row }) {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: "flex items-center gap-1",
|
|
9
|
+
children: items.map((item, index) => /* @__PURE__ */ jsx(Button, {
|
|
10
|
+
"aria-label": item.tooltip || item.label,
|
|
11
|
+
className: "h-8 w-8 p-0",
|
|
12
|
+
disabled: typeof item.disabled === "function" ? item.disabled(row) : item.disabled,
|
|
13
|
+
onClick: (e) => {
|
|
14
|
+
e.stopPropagation();
|
|
15
|
+
item.onClick(row);
|
|
16
|
+
},
|
|
17
|
+
title: item.tooltip || item.label,
|
|
18
|
+
variant: "ghost",
|
|
19
|
+
children: item.icon
|
|
20
|
+
}, `action-${index}`))
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { TableAction };
|
|
26
|
+
//# sourceMappingURL=TableAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableAction.js","names":[],"sources":["../../../../src/components/data-table/TableAction.tsx"],"sourcesContent":["import { Button } from \"@lumeweb/portal-framework-ui-core\";\nimport React from \"react\";\n\nexport interface TableActionItem<TData> {\n disabled?: boolean | ((row: TData) => boolean);\n icon: React.ReactNode;\n label?: string;\n onClick: (row: TData) => void;\n tooltip?: string;\n}\n\ninterface TableActionProps<TData> {\n items: TableActionItem<TData>[];\n row: TData;\n}\n\nfunction TableAction<TData>({ items, row }: TableActionProps<TData>) {\n return (\n <div className=\"flex items-center gap-1\">\n {items.map((item, index) => (\n <Button\n aria-label={item.tooltip || item.label}\n className=\"h-8 w-8 p-0\"\n disabled={typeof item.disabled === 'function' ? item.disabled(row) : item.disabled}\n key={`action-${index}`}\n onClick={(e) => {\n e.stopPropagation();\n item.onClick(row);\n }}\n title={item.tooltip || item.label}\n variant=\"ghost\">\n {item.icon}\n </Button>\n ))}\n </div>\n );\n}\n\nexport { TableAction };\n"],"mappings":";;;;;AAgBA,SAAS,YAAmB,EAAE,OAAO,OAAgC;AACnE,QACE,oBAAC,OAAD;EAAK,WAAU;YACZ,MAAM,KAAK,MAAM,UAChB,oBAAC,QAAD;GACE,cAAY,KAAK,WAAW,KAAK;GACjC,WAAU;GACV,UAAU,OAAO,KAAK,aAAa,aAAa,KAAK,SAAS,IAAI,GAAG,KAAK;GAE1E,UAAU,MAAM;AACd,MAAE,iBAAiB;AACnB,SAAK,QAAQ,IAAI;;GAEnB,OAAO,KAAK,WAAW,KAAK;GAC5B,SAAQ;aACP,KAAK;GACC,EARF,UAAU,QAQR,CACT;EACE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/data-table/TableActionMenu.d.ts
|
|
4
|
+
interface TableActionMenuItem<TData> {
|
|
5
|
+
disabled?: boolean | ((row: TData) => boolean);
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
label: string;
|
|
8
|
+
onClick: (row: TData) => void;
|
|
9
|
+
}
|
|
10
|
+
interface TableActionMenuProps<TData> {
|
|
11
|
+
items: TableActionMenuItem<TData>[];
|
|
12
|
+
row: TData;
|
|
13
|
+
}
|
|
14
|
+
declare function TableActionMenu<TData>({
|
|
15
|
+
items,
|
|
16
|
+
row
|
|
17
|
+
}: TableActionMenuProps<TData>): any;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { TableActionMenu, TableActionMenuItem };
|
|
20
|
+
//# sourceMappingURL=TableActionMenu.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { MoreHorizontal } from "lucide-react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/data-table/TableActionMenu.tsx
|
|
7
|
+
function TableActionMenu({ items, row }) {
|
|
8
|
+
return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
|
|
9
|
+
asChild: true,
|
|
10
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
11
|
+
"aria-label": "Open actions menu",
|
|
12
|
+
className: "h-8 w-8 p-0",
|
|
13
|
+
variant: "ghost",
|
|
14
|
+
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" })
|
|
15
|
+
})
|
|
16
|
+
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
17
|
+
align: "end",
|
|
18
|
+
children: items?.map((item, index) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
19
|
+
disabled: typeof item.disabled === "function" ? item.disabled(row) : item.disabled,
|
|
20
|
+
onClick: () => item.onClick(row),
|
|
21
|
+
children: [item.icon && /* @__PURE__ */ jsx("span", {
|
|
22
|
+
className: "mr-2",
|
|
23
|
+
children: item.icon
|
|
24
|
+
}), item.label]
|
|
25
|
+
}, index))
|
|
26
|
+
})] });
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { TableActionMenu };
|
|
31
|
+
//# sourceMappingURL=TableActionMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableActionMenu.js","names":[],"sources":["../../../../src/components/data-table/TableActionMenu.tsx"],"sourcesContent":["import {\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport { MoreHorizontal } from \"lucide-react\";\nimport React from \"react\";\n\nexport interface TableActionMenuItem<TData> {\n disabled?: boolean | ((row: TData) => boolean);\n icon?: React.ReactNode;\n label: string;\n onClick: (row: TData) => void;\n}\n\ninterface TableActionMenuProps<TData> {\n items: TableActionMenuItem<TData>[];\n row: TData;\n}\n\nfunction TableActionMenu<TData>({ items, row }: TableActionMenuProps<TData>) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n aria-label=\"Open actions menu\"\n className=\"h-8 w-8 p-0\"\n variant=\"ghost\">\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {items?.map((item, index) => (\n <DropdownMenuItem\n disabled={typeof item.disabled === 'function' ? item.disabled(row) : item.disabled}\n key={index}\n onClick={() => item.onClick(row)}>\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport { TableActionMenu };\n"],"mappings":";;;;;;AAsBA,SAAS,gBAAuB,EAAE,OAAO,OAAoC;AAC3E,QACE,qBAAC,cAAD,aACE,oBAAC,qBAAD;EAAqB;YACnB,oBAAC,QAAD;GACE,cAAW;GACX,WAAU;GACV,SAAQ;aACR,oBAAC,gBAAD,EAAgB,WAAU,WAAY;GAC/B;EACW,GACtB,oBAAC,qBAAD;EAAqB,OAAM;YACxB,OAAO,KAAK,MAAM,UACjB,qBAAC,kBAAD;GACE,UAAU,OAAO,KAAK,aAAa,aAAa,KAAK,SAAS,IAAI,GAAG,KAAK;GAE1E,eAAe,KAAK,QAAQ,IAAI;aAHlC,CAIG,KAAK,QAAQ,oBAAC,QAAD;IAAM,WAAU;cAAQ,KAAK;IAAY,GACtD,KAAK,MACW;KAJZ,MAIY,CACnB;EACkB,EACT"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { TableLayoutType } from "./DataTable.types.js";
|
|
2
|
+
import { ComponentSize } from "../sizing/index.js";
|
|
3
|
+
import { BaseRecord, useTableReturnType } from "@refinedev/core";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Table } from "@tanstack/react-table";
|
|
6
|
+
|
|
7
|
+
//#region src/components/data-table/TableLayoutRenderer.d.ts
|
|
8
|
+
interface TableLayoutRendererProps<TData extends BaseRecord> {
|
|
9
|
+
layoutType: TableLayoutType;
|
|
10
|
+
table: Table<TData>;
|
|
11
|
+
refineTable?: useTableReturnType<TData, any>;
|
|
12
|
+
className?: string;
|
|
13
|
+
emptyState?: React.ReactNode;
|
|
14
|
+
footer?: React.ReactNode;
|
|
15
|
+
getCellProps?: (cell: any) => React.HTMLAttributes<HTMLTableCellElement>;
|
|
16
|
+
getRowProps?: (row: any) => React.HTMLAttributes<HTMLTableRowElement>;
|
|
17
|
+
header?: React.ReactNode;
|
|
18
|
+
isLoading?: boolean;
|
|
19
|
+
loadingState?: React.ReactNode;
|
|
20
|
+
onRowClick?: (row: any) => void;
|
|
21
|
+
pagination?: React.ReactNode;
|
|
22
|
+
responsive?: boolean;
|
|
23
|
+
hideColumnsOnMobile?: string[];
|
|
24
|
+
mobileBreakpoint?: ComponentSize | string;
|
|
25
|
+
stackedHeaderColumn?: string;
|
|
26
|
+
}
|
|
27
|
+
declare function TableLayoutRenderer<TData extends BaseRecord>({
|
|
28
|
+
layoutType,
|
|
29
|
+
table,
|
|
30
|
+
refineTable,
|
|
31
|
+
className,
|
|
32
|
+
emptyState,
|
|
33
|
+
footer,
|
|
34
|
+
getCellProps,
|
|
35
|
+
getRowProps,
|
|
36
|
+
header,
|
|
37
|
+
isLoading,
|
|
38
|
+
loadingState,
|
|
39
|
+
onRowClick,
|
|
40
|
+
pagination,
|
|
41
|
+
responsive,
|
|
42
|
+
hideColumnsOnMobile,
|
|
43
|
+
mobileBreakpoint,
|
|
44
|
+
stackedHeaderColumn
|
|
45
|
+
}: TableLayoutRendererProps<TData>): any;
|
|
46
|
+
//#endregion
|
|
47
|
+
export { TableLayoutRenderer };
|
|
48
|
+
//# sourceMappingURL=TableLayoutRenderer.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { TableLayoutType } from "./DataTable.types.js";
|
|
2
|
+
import { useTableConfigOptional } from "./contexts/TableConfig.js";
|
|
3
|
+
import "./contexts/index.js";
|
|
4
|
+
import { BaseTableStackedLayout } from "./BaseTableStackedLayout.js";
|
|
5
|
+
import { DefaultTableLayout } from "./DefaultTableLayout.js";
|
|
6
|
+
import { useTableLayoutSelector } from "./useTableLayoutSelector.js";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/components/data-table/TableLayoutRenderer.tsx
|
|
11
|
+
const layoutRegistry = {
|
|
12
|
+
["table"]: DefaultTableLayout,
|
|
13
|
+
["stacked"]: BaseTableStackedLayout
|
|
14
|
+
};
|
|
15
|
+
function TableLayoutRenderer({ layoutType, table, refineTable, className, emptyState, footer, getCellProps, getRowProps, header, isLoading, loadingState, onRowClick, pagination, responsive = false, hideColumnsOnMobile = [], mobileBreakpoint, stackedHeaderColumn }) {
|
|
16
|
+
const tableConfig = useTableConfigOptional();
|
|
17
|
+
const actualLayoutType = useTableLayoutSelector({
|
|
18
|
+
responsive,
|
|
19
|
+
mobileLayout: layoutType,
|
|
20
|
+
mobileBreakpoint: mobileBreakpoint || tableConfig?.toolbarConfig?.mobileBreakpoint
|
|
21
|
+
});
|
|
22
|
+
const LayoutComponent = layoutRegistry[actualLayoutType];
|
|
23
|
+
if (!LayoutComponent) throw new Error(`Unsupported layout type: ${actualLayoutType}`);
|
|
24
|
+
return /* @__PURE__ */ jsx(LayoutComponent, {
|
|
25
|
+
className,
|
|
26
|
+
emptyState,
|
|
27
|
+
footer,
|
|
28
|
+
getCellProps,
|
|
29
|
+
getRowProps,
|
|
30
|
+
header,
|
|
31
|
+
isLoading,
|
|
32
|
+
loadingState,
|
|
33
|
+
onRowClick,
|
|
34
|
+
pagination,
|
|
35
|
+
table,
|
|
36
|
+
responsive,
|
|
37
|
+
hideColumnsOnMobile,
|
|
38
|
+
mobileBreakpoint,
|
|
39
|
+
stackedHeaderColumn
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { TableLayoutRenderer };
|
|
45
|
+
//# sourceMappingURL=TableLayoutRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableLayoutRenderer.js","names":[],"sources":["../../../../src/components/data-table/TableLayoutRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { BaseRecord, useTableReturnType } from \"@refinedev/core\";\nimport { Table } from \"@tanstack/react-table\";\n\nimport { BaseTableStackedLayout } from \"./BaseTableStackedLayout\";\nimport { DefaultTableLayout } from \"./DefaultTableLayout\";\nimport { useTableLayoutSelector } from \"./useTableLayoutSelector\";\nimport { useTableConfigOptional } from \"./contexts\";\nimport { BaseTableContentProps } from \"./BaseTableContent\";\nimport { TableLayoutType } from \"./DataTable.types\";\nimport { ComponentSize } from \"@/components\";\n\n// Layout registry mapping layout types to components\nconst layoutRegistry = {\n [TableLayoutType.TABLE]: DefaultTableLayout,\n [TableLayoutType.STACKED]: BaseTableStackedLayout,\n};\n\n// Type for layout components\ntype LayoutComponent<TData extends BaseRecord> = React.ComponentType<\n Omit<BaseTableContentProps<TData>, \"table\" | \"layoutType\">\n>;\n\ninterface TableLayoutRendererProps<TData extends BaseRecord> {\n layoutType: TableLayoutType;\n table: Table<TData>;\n refineTable?: useTableReturnType<TData, any>;\n // All other props from BaseTableContent\n className?: string;\n emptyState?: React.ReactNode;\n footer?: React.ReactNode;\n getCellProps?: (\n cell: any, // Using any to avoid complex typing issues\n ) => React.HTMLAttributes<HTMLTableCellElement>;\n getRowProps?: (row: any) => React.HTMLAttributes<HTMLTableRowElement>;\n header?: React.ReactNode;\n isLoading?: boolean;\n loadingState?: React.ReactNode;\n onRowClick?: (row: any) => void;\n pagination?: React.ReactNode;\n responsive?: boolean;\n hideColumnsOnMobile?: string[];\n mobileBreakpoint?: ComponentSize | string;\n stackedHeaderColumn?: string;\n}\n\nfunction TableLayoutRenderer<TData extends BaseRecord>({\n layoutType,\n table,\n refineTable,\n className,\n emptyState,\n footer,\n getCellProps,\n getRowProps,\n header,\n isLoading,\n loadingState,\n onRowClick,\n pagination,\n responsive = false,\n hideColumnsOnMobile = [],\n mobileBreakpoint,\n stackedHeaderColumn,\n}: TableLayoutRendererProps<TData>) {\n const tableConfig = useTableConfigOptional<TData>();\n\n // Determine the actual layout to render\n const actualLayoutType = useTableLayoutSelector({\n responsive,\n mobileLayout: layoutType,\n mobileBreakpoint:\n mobileBreakpoint || tableConfig?.toolbarConfig?.mobileBreakpoint,\n });\n\n // Get the layout component from registry\n const LayoutComponent = layoutRegistry[\n actualLayoutType\n ] as LayoutComponent<TData>;\n\n if (!LayoutComponent) {\n throw new Error(`Unsupported layout type: ${actualLayoutType}`);\n }\n\n // Render the registered layout component\n return (\n <LayoutComponent\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 table={table}\n responsive={responsive}\n hideColumnsOnMobile={hideColumnsOnMobile}\n mobileBreakpoint={mobileBreakpoint}\n stackedHeaderColumn={stackedHeaderColumn}\n />\n );\n}\n\nexport { TableLayoutRenderer };\n"],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB;YACI;cACE;CAC5B;AA8BD,SAAS,oBAA8C,EACrD,YACA,OACA,aACA,WACA,YACA,QACA,cACA,aACA,QACA,WACA,cACA,YACA,YACA,aAAa,OACb,sBAAsB,EAAE,EACxB,kBACA,uBACkC;CAClC,MAAM,cAAc,wBAA+B;CAGnD,MAAM,mBAAmB,uBAAuB;EAC9C;EACA,cAAc;EACd,kBACE,oBAAoB,aAAa,eAAe;EACnD,CAAC;CAGF,MAAM,kBAAkB,eACtB;AAGF,KAAI,CAAC,gBACH,OAAM,IAAI,MAAM,4BAA4B,mBAAmB;AAIjE,QACE,oBAAC,iBAAD;EACa;EACC;EACJ;EACM;EACD;EACL;EACG;EACG;EACF;EACA;EACL;EACK;EACS;EACH;EACG;EACrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseRecord } from "@refinedev/core";
|
|
2
|
+
import { Table } from "@tanstack/react-table";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/Toolbar.d.ts
|
|
5
|
+
interface ToolbarProps<TData extends BaseRecord> {
|
|
6
|
+
/** The table instance */
|
|
7
|
+
table: Table<TData>;
|
|
8
|
+
/** Additional class name for the toolbar container */
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
declare function Toolbar<TData extends BaseRecord>({
|
|
12
|
+
table,
|
|
13
|
+
className
|
|
14
|
+
}: ToolbarProps<TData>): any;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { Toolbar };
|
|
17
|
+
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { ToolbarItemAlignment, ToolbarItemType } from "./DataTable.types.js";
|
|
2
|
+
import { ComponentSize as ComponentSize$1 } from "../sizing/index.js";
|
|
3
|
+
import { FilterOperator } from "./toolbarItems/filters/types.js";
|
|
4
|
+
import { createFilterOnChangeHandler } from "./toolbarItems/filters/util.js";
|
|
5
|
+
import { useMobileDetection as useMobileDetection$1 } from "./useMobileDetection.js";
|
|
6
|
+
import { ToolbarRenderer } from "./ToolbarRenderer.js";
|
|
7
|
+
import { useFilterHelpers } from "./contexts/FilterHelpers.js";
|
|
8
|
+
import { useRefineTable } from "./contexts/RefineTable.js";
|
|
9
|
+
import { useTableConfig } from "./contexts/TableConfig.js";
|
|
10
|
+
import "./contexts/index.js";
|
|
11
|
+
import "./toolbarItems/index.js";
|
|
12
|
+
import "../index.js";
|
|
13
|
+
import { cn } from "@lumeweb/portal-framework-ui-core";
|
|
14
|
+
import React, { useCallback } from "react";
|
|
15
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
+
|
|
17
|
+
//#region src/components/data-table/Toolbar.tsx
|
|
18
|
+
function MobileToolbarLayout({ table, className, config, refineContext, sortedItems, createCommonProps }) {
|
|
19
|
+
const containerClassName = cn("flex flex-col gap-3 p-3 border-b bg-background", config.sticky && "sticky top-0 z-10", className);
|
|
20
|
+
const getItemAlignment = (item) => {
|
|
21
|
+
if (item.alignment) return item.alignment;
|
|
22
|
+
return config.defaultAlignment || "left";
|
|
23
|
+
};
|
|
24
|
+
const isLeftAligned = (item) => {
|
|
25
|
+
return getItemAlignment(item) === "left";
|
|
26
|
+
};
|
|
27
|
+
const isRightAligned = (item) => {
|
|
28
|
+
return getItemAlignment(item) === "right";
|
|
29
|
+
};
|
|
30
|
+
const isCenterAligned = (item) => {
|
|
31
|
+
return getItemAlignment(item) === "center";
|
|
32
|
+
};
|
|
33
|
+
const leftItems = sortedItems.filter(isLeftAligned);
|
|
34
|
+
const centerItems = sortedItems.filter(isCenterAligned);
|
|
35
|
+
const rightItems = sortedItems.filter(isRightAligned);
|
|
36
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
37
|
+
className: containerClassName,
|
|
38
|
+
children: [
|
|
39
|
+
leftItems.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
40
|
+
className: "flex flex-wrap gap-2",
|
|
41
|
+
children: leftItems.map((item) => {
|
|
42
|
+
return /* @__PURE__ */ jsx(ToolbarRenderer, {
|
|
43
|
+
item,
|
|
44
|
+
commonProps: createCommonProps(item)
|
|
45
|
+
}, item.id);
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
centerItems.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: "flex flex-wrap justify-center gap-2",
|
|
50
|
+
children: centerItems.map((item) => {
|
|
51
|
+
return /* @__PURE__ */ jsx(ToolbarRenderer, {
|
|
52
|
+
item,
|
|
53
|
+
commonProps: createCommonProps(item)
|
|
54
|
+
}, item.id);
|
|
55
|
+
})
|
|
56
|
+
}),
|
|
57
|
+
rightItems.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
58
|
+
className: "flex flex-wrap justify-end gap-2",
|
|
59
|
+
children: rightItems.map((item) => {
|
|
60
|
+
return /* @__PURE__ */ jsx(ToolbarRenderer, {
|
|
61
|
+
item,
|
|
62
|
+
commonProps: createCommonProps(item)
|
|
63
|
+
}, item.id);
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function DesktopToolbarLayout({ table, className, config, refineContext, sortedItems, createCommonProps }) {
|
|
70
|
+
const getItemAlignment = (item) => {
|
|
71
|
+
if (item.alignment) return item.alignment;
|
|
72
|
+
return config.defaultAlignment || "left";
|
|
73
|
+
};
|
|
74
|
+
const isRightAligned = (item) => {
|
|
75
|
+
return getItemAlignment(item) === "right";
|
|
76
|
+
};
|
|
77
|
+
const isCenterAligned = (item) => {
|
|
78
|
+
return getItemAlignment(item) === "center";
|
|
79
|
+
};
|
|
80
|
+
return /* @__PURE__ */ jsx("div", {
|
|
81
|
+
className: cn("flex flex-wrap items-center gap-2 p-4 border-b bg-background", config.justifyBetween ? "justify-between" : void 0, config.sticky && "sticky top-0 z-10", className),
|
|
82
|
+
children: sortedItems.map((item) => {
|
|
83
|
+
return /* @__PURE__ */ jsx(ToolbarRenderer, {
|
|
84
|
+
item,
|
|
85
|
+
commonProps: createCommonProps(item),
|
|
86
|
+
className: cn(isRightAligned(item) && "ml-auto", isCenterAligned(item) && "mx-auto")
|
|
87
|
+
}, item.id);
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function Toolbar({ table, className }) {
|
|
92
|
+
const { setFilters, setSorters, tableQuery, filters, sorters } = useRefineTable();
|
|
93
|
+
const { toolbarConfig: config, refineContext } = useTableConfig();
|
|
94
|
+
const { getDefaultFilter, getDefaultOperator } = useFilterHelpers();
|
|
95
|
+
const { isMobile } = useMobileDetection$1({ mobileBreakpoint: React.useMemo(() => {
|
|
96
|
+
const breakpoint = config?.mobileBreakpoint;
|
|
97
|
+
if (typeof breakpoint === "string" && [
|
|
98
|
+
"xs",
|
|
99
|
+
"sm",
|
|
100
|
+
"md",
|
|
101
|
+
"lg",
|
|
102
|
+
"xl",
|
|
103
|
+
"2xl"
|
|
104
|
+
].includes(breakpoint)) return breakpoint;
|
|
105
|
+
if (typeof breakpoint === "string" && /^\d+$/.test(breakpoint)) {
|
|
106
|
+
const parsed = parseInt(breakpoint, 10);
|
|
107
|
+
if (parsed > 0) return parsed;
|
|
108
|
+
}
|
|
109
|
+
if (typeof breakpoint === "number" && breakpoint > 0) return breakpoint;
|
|
110
|
+
return "sm";
|
|
111
|
+
}, [config?.mobileBreakpoint]) });
|
|
112
|
+
const sortedItems = React.useMemo(() => {
|
|
113
|
+
if (!config) return [];
|
|
114
|
+
return [...config.items].sort((a, b) => {
|
|
115
|
+
return (a.order ?? 0) - (b.order ?? 0);
|
|
116
|
+
});
|
|
117
|
+
}, [config?.items]);
|
|
118
|
+
const onChangeHandler = useCallback((item) => {
|
|
119
|
+
return createFilterOnChangeHandler(item, (filters) => {
|
|
120
|
+
if (setFilters) setFilters(filters);
|
|
121
|
+
}, getDefaultOperator, { itemId: item.id });
|
|
122
|
+
}, [setFilters, getDefaultOperator]);
|
|
123
|
+
const createCommonProps = useCallback((item) => {
|
|
124
|
+
const baseProps = {
|
|
125
|
+
table,
|
|
126
|
+
refineContext,
|
|
127
|
+
context: {
|
|
128
|
+
setFilters,
|
|
129
|
+
setSorters,
|
|
130
|
+
tableQuery,
|
|
131
|
+
filters,
|
|
132
|
+
sorters
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
if (["filter", "filter-group"].includes(item.type)) {
|
|
136
|
+
const operator = item.config?.operator || (item.config?.type ? getDefaultOperator?.(item.config.type) : "eq");
|
|
137
|
+
const existingValue = getDefaultFilter?.(item.config?.field, operator);
|
|
138
|
+
const initialValue = "initialValue" in item ? item.initialValue : void 0;
|
|
139
|
+
baseProps.value = existingValue ?? initialValue;
|
|
140
|
+
baseProps.onChange = onChangeHandler(item);
|
|
141
|
+
}
|
|
142
|
+
return baseProps;
|
|
143
|
+
}, [
|
|
144
|
+
table,
|
|
145
|
+
refineContext,
|
|
146
|
+
setFilters,
|
|
147
|
+
getDefaultFilter,
|
|
148
|
+
getDefaultOperator,
|
|
149
|
+
setSorters,
|
|
150
|
+
tableQuery,
|
|
151
|
+
filters,
|
|
152
|
+
sorters,
|
|
153
|
+
onChangeHandler
|
|
154
|
+
]);
|
|
155
|
+
if (!config) return null;
|
|
156
|
+
if (isMobile) return /* @__PURE__ */ jsx(MobileToolbarLayout, {
|
|
157
|
+
table,
|
|
158
|
+
className,
|
|
159
|
+
config,
|
|
160
|
+
refineContext,
|
|
161
|
+
sortedItems,
|
|
162
|
+
createCommonProps
|
|
163
|
+
});
|
|
164
|
+
return /* @__PURE__ */ jsx(DesktopToolbarLayout, {
|
|
165
|
+
table,
|
|
166
|
+
className,
|
|
167
|
+
config,
|
|
168
|
+
refineContext,
|
|
169
|
+
sortedItems,
|
|
170
|
+
createCommonProps
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
//#endregion
|
|
175
|
+
export { Toolbar };
|
|
176
|
+
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.js","names":["useMobileDetection"],"sources":["../../../../src/components/data-table/Toolbar.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { cn } from \"@lumeweb/portal-framework-ui-core\";\nimport { Table } from \"@tanstack/react-table\";\nimport { ComponentSize } from \"@/components\";\n\nimport type {\n TableContext,\n ToolbarItem,\n ToolbarItemComponentProps,\n} from \"./DataTable.types\";\nimport { ToolbarItemAlignment, ToolbarItemType } from \"./DataTable.types\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport { ToolbarRenderer } from \"./ToolbarRenderer\";\nimport { useFilterHelpers, useRefineTable, useTableConfig } from \"./contexts\";\nimport { createFilterOnChangeHandler, FilterOperator } from \"./toolbarItems\";\nimport { useMobileDetection } from \"./useMobileDetection\";\n\ninterface ToolbarProps<TData extends BaseRecord> {\n /** The table instance */\n table: Table<TData>;\n /** Additional class name for the toolbar container */\n className?: string;\n}\n\nfunction MobileToolbarLayout<TData extends BaseRecord>({\n table,\n className,\n config,\n refineContext,\n sortedItems,\n createCommonProps,\n}: {\n table: Table<TData>;\n className?: string;\n config: any;\n refineContext: any;\n sortedItems: ToolbarItem<TData>[];\n createCommonProps: (\n item: ToolbarItem<TData>,\n ) => ToolbarItemComponentProps<TData>;\n}) {\n const containerClassName = cn(\n \"flex flex-col gap-3 p-3 border-b bg-background\",\n config.sticky && \"sticky top-0 z-10\",\n className,\n );\n\n // Helper functions to determine item alignment (defined at component level, not inside hooks)\n const getItemAlignment = (item: ToolbarItem<TData>): ToolbarItemAlignment => {\n // If item has explicit alignment, use it\n if (item.alignment) {\n return item.alignment;\n }\n\n // Otherwise use the default alignment from config\n return config.defaultAlignment || ToolbarItemAlignment.LEFT;\n };\n\n const isLeftAligned = (item: ToolbarItem<TData>): boolean => {\n return getItemAlignment(item) === ToolbarItemAlignment.LEFT;\n };\n\n const isRightAligned = (item: ToolbarItem<TData>): boolean => {\n return getItemAlignment(item) === ToolbarItemAlignment.RIGHT;\n };\n\n const isCenterAligned = (item: ToolbarItem<TData>): boolean => {\n return getItemAlignment(item) === ToolbarItemAlignment.CENTER;\n };\n\n // Group items by alignment for mobile\n const leftItems = sortedItems.filter(isLeftAligned);\n const centerItems = sortedItems.filter(isCenterAligned);\n const rightItems = sortedItems.filter(isRightAligned);\n\n return (\n <div className={containerClassName}>\n {leftItems.length > 0 && (\n <div className=\"flex flex-wrap gap-2\">\n {leftItems.map((item) => {\n const commonProps = createCommonProps(item);\n return (\n <ToolbarRenderer\n key={item.id}\n item={item}\n commonProps={commonProps}\n />\n );\n })}\n </div>\n )}\n\n {centerItems.length > 0 && (\n <div className=\"flex flex-wrap justify-center gap-2\">\n {centerItems.map((item) => {\n const commonProps = createCommonProps(item);\n return (\n <ToolbarRenderer\n key={item.id}\n item={item}\n commonProps={commonProps}\n />\n );\n })}\n </div>\n )}\n\n {rightItems.length > 0 && (\n <div className=\"flex flex-wrap justify-end gap-2\">\n {rightItems.map((item) => {\n const commonProps = createCommonProps(item);\n return (\n <ToolbarRenderer\n key={item.id}\n item={item}\n commonProps={commonProps}\n />\n );\n })}\n </div>\n )}\n </div>\n );\n}\n\nfunction DesktopToolbarLayout<TData extends BaseRecord>({\n table,\n className,\n config,\n refineContext,\n sortedItems,\n createCommonProps,\n}: {\n table: Table<TData>;\n className?: string;\n config: any;\n refineContext: any;\n sortedItems: ToolbarItem<TData>[];\n createCommonProps: (\n item: ToolbarItem<TData>,\n ) => ToolbarItemComponentProps<TData>;\n}) {\n // Helper functions to determine item alignment (defined at component level, not inside hooks)\n const getItemAlignment = (item: ToolbarItem<TData>): ToolbarItemAlignment => {\n // If item has explicit alignment, use it\n if (item.alignment) {\n return item.alignment;\n }\n\n // Otherwise use the default alignment from config\n return config.defaultAlignment || ToolbarItemAlignment.LEFT;\n };\n\n const isRightAligned = (item: ToolbarItem<TData>): boolean => {\n return getItemAlignment(item) === ToolbarItemAlignment.RIGHT;\n };\n\n const isCenterAligned = (item: ToolbarItem<TData>): boolean => {\n return getItemAlignment(item) === ToolbarItemAlignment.CENTER;\n };\n\n const containerClassName = cn(\n \"flex flex-wrap items-center gap-2 p-4 border-b bg-background\",\n config.justifyBetween ? \"justify-between\" : undefined,\n config.sticky && \"sticky top-0 z-10\",\n className,\n );\n\n return (\n <div className={containerClassName}>\n {sortedItems.map((item) => {\n const commonProps = createCommonProps(item);\n\n // Add appropriate positioning classes based on alignment\n const itemClassName = cn(\n isRightAligned(item) && \"ml-auto\",\n isCenterAligned(item) && \"mx-auto\",\n );\n\n return (\n <ToolbarRenderer\n key={item.id}\n item={item}\n commonProps={commonProps}\n className={itemClassName}\n />\n );\n })}\n </div>\n );\n}\n\nfunction Toolbar<TData extends BaseRecord>({\n table,\n className,\n}: ToolbarProps<TData>) {\n const { setFilters, setSorters, tableQuery, filters, sorters } = useRefineTable<TData>();\n const { toolbarConfig: config, refineContext } = useTableConfig<TData>();\n const { getDefaultFilter, getDefaultOperator } = useFilterHelpers<TData>();\n\n // Validate mobileBreakpoint value\n const mobileBreakpoint = React.useMemo(() => {\n const breakpoint = config?.mobileBreakpoint;\n const validTokens = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\"];\n\n // If it's a valid Tailwind token, use it as-is\n if (typeof breakpoint === \"string\" && validTokens.includes(breakpoint)) {\n return breakpoint;\n }\n\n // If it's a numeric string or number, parse it and use the numeric value\n if (typeof breakpoint === \"string\" && /^\\d+$/.test(breakpoint)) {\n const parsed = parseInt(breakpoint, 10);\n if (parsed > 0) {\n return parsed;\n }\n }\n\n if (typeof breakpoint === \"number\" && breakpoint > 0) {\n return breakpoint;\n }\n\n // For any other value, fall back to ComponentSize.SM\n return ComponentSize.SM;\n }, [config?.mobileBreakpoint]);\n\n // Mobile detection with proper breakpoint\n const { isMobile } = useMobileDetection({\n mobileBreakpoint: mobileBreakpoint,\n });\n\n\n\n // Sort items by order if specified (compute regardless of config presence)\n const sortedItems = React.useMemo(() => {\n if (!config) {\n return [];\n }\n return [...config.items].sort((a, b) => {\n const orderA = a.order ?? 0;\n const orderB = b.order ?? 0;\n return orderA - orderB;\n });\n }, [config?.items]);\n\n // Create stable onChange handler using refs (compute regardless of config presence)\n const onChangeHandler = useCallback(\n (item: ToolbarItem<TData>) => {\n return createFilterOnChangeHandler(\n item,\n (filters) => {\n if (setFilters) {\n setFilters(filters);\n }\n },\n getDefaultOperator,\n { itemId: item.id },\n );\n },\n [setFilters, getDefaultOperator],\n );\n\n // Create common props for all toolbar items (compute regardless of config presence)\n const createCommonProps = useCallback(\n (item: ToolbarItem<TData>): ToolbarItemComponentProps<TData> => {\n const context: TableContext<TData> = {\n setFilters,\n setSorters,\n tableQuery,\n filters,\n sorters,\n } as TableContext<TData>;\n\n const baseProps: ToolbarItemComponentProps<TData> = {\n table,\n refineContext,\n context,\n };\n\n // Add filter-specific props\n if (\n [ToolbarItemType.FILTER, ToolbarItemType.FILTER_GROUP].includes(\n item.type,\n )\n ) {\n // Get the operator to use - either from config or default based on field type\n const operator =\n (item as any).config?.operator ||\n ((item as any).config?.type\n ? getDefaultOperator?.((item as any).config.type)\n : FilterOperator.EQ);\n\n // Use the table contexts's getDefaultFilter function to get existing filter value\n const existingValue = getDefaultFilter?.(\n (item as any).config?.field as string,\n operator,\n );\n\n // Only use initialValue for item types that support it\n const initialValue =\n \"initialValue\" in item ? item.initialValue : undefined;\n baseProps.value = existingValue ?? initialValue;\n baseProps.onChange = onChangeHandler(item);\n }\n\n return baseProps;\n },\n [\n table,\n refineContext,\n setFilters,\n getDefaultFilter,\n getDefaultOperator,\n setSorters,\n tableQuery,\n filters,\n sorters,\n onChangeHandler,\n ],\n );\n\n // If no toolbar config is provided through contexts, don't render anything\n if (!config) {\n return null;\n }\n\n // For mobile, we want a more vertical layout with appropriate spacing\n if (isMobile) {\n return (\n <MobileToolbarLayout\n table={table}\n className={className}\n config={config}\n refineContext={refineContext}\n sortedItems={sortedItems}\n createCommonProps={createCommonProps}\n />\n );\n }\n\n // Desktop layout\n return (\n <DesktopToolbarLayout\n table={table}\n className={className}\n config={config}\n refineContext={refineContext}\n sortedItems={sortedItems}\n createCommonProps={createCommonProps}\n />\n );\n}\n\nexport { Toolbar };\n"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,SAAS,oBAA8C,EACrD,OACA,WACA,QACA,eACA,aACA,qBAUC;CACD,MAAM,qBAAqB,GACzB,kDACA,OAAO,UAAU,qBACjB,UACD;CAGD,MAAM,oBAAoB,SAAmD;AAE3E,MAAI,KAAK,UACP,QAAO,KAAK;AAId,SAAO,OAAO;;CAGhB,MAAM,iBAAiB,SAAsC;AAC3D,SAAO,iBAAiB,KAAK;;CAG/B,MAAM,kBAAkB,SAAsC;AAC5D,SAAO,iBAAiB,KAAK;;CAG/B,MAAM,mBAAmB,SAAsC;AAC7D,SAAO,iBAAiB,KAAK;;CAI/B,MAAM,YAAY,YAAY,OAAO,cAAc;CACnD,MAAM,cAAc,YAAY,OAAO,gBAAgB;CACvD,MAAM,aAAa,YAAY,OAAO,eAAe;AAErD,QACE,qBAAC,OAAD;EAAK,WAAW;YAAhB;GACG,UAAU,SAAS,KAClB,oBAAC,OAAD;IAAK,WAAU;cACZ,UAAU,KAAK,SAAS;AAEvB,YACE,oBAAC,iBAAD;MAEQ;MACN,aALgB,kBAAkB,KAKV;MACxB,EAHK,KAAK,GAGV;MAEJ;IACE;GAGP,YAAY,SAAS,KACpB,oBAAC,OAAD;IAAK,WAAU;cACZ,YAAY,KAAK,SAAS;AAEzB,YACE,oBAAC,iBAAD;MAEQ;MACN,aALgB,kBAAkB,KAKV;MACxB,EAHK,KAAK,GAGV;MAEJ;IACE;GAGP,WAAW,SAAS,KACnB,oBAAC,OAAD;IAAK,WAAU;cACZ,WAAW,KAAK,SAAS;AAExB,YACE,oBAAC,iBAAD;MAEQ;MACN,aALgB,kBAAkB,KAKV;MACxB,EAHK,KAAK,GAGV;MAEJ;IACE;GAEJ;;;AAIV,SAAS,qBAA+C,EACtD,OACA,WACA,QACA,eACA,aACA,qBAUC;CAED,MAAM,oBAAoB,SAAmD;AAE3E,MAAI,KAAK,UACP,QAAO,KAAK;AAId,SAAO,OAAO;;CAGhB,MAAM,kBAAkB,SAAsC;AAC5D,SAAO,iBAAiB,KAAK;;CAG/B,MAAM,mBAAmB,SAAsC;AAC7D,SAAO,iBAAiB,KAAK;;AAU/B,QACE,oBAAC,OAAD;EAAK,WARoB,GACzB,gEACA,OAAO,iBAAiB,oBAAoB,QAC5C,OAAO,UAAU,qBACjB,UAIkC;YAC/B,YAAY,KAAK,SAAS;AASzB,UACE,oBAAC,iBAAD;IAEQ;IACN,aAZgB,kBAAkB,KAYV;IACxB,WAVkB,GACpB,eAAe,KAAK,IAAI,WACxB,gBAAgB,KAAK,IAAI,UAQC;IACxB,EAJK,KAAK,GAIV;IAEJ;EACE;;AAIV,SAAS,QAAkC,EACzC,OACA,aACsB;CACtB,MAAM,EAAE,YAAY,YAAY,YAAY,SAAS,YAAY,gBAAuB;CACxF,MAAM,EAAE,eAAe,QAAQ,kBAAkB,gBAAuB;CACxE,MAAM,EAAE,kBAAkB,uBAAuB,kBAAyB;CA6B1E,MAAM,EAAE,aAAaA,qBAAmB,EACtC,kBA3BuB,MAAM,cAAc;EAC3C,MAAM,aAAa,QAAQ;AAI3B,MAAI,OAAO,eAAe,YAAY;GAHjB;GAAM;GAAM;GAAM;GAAM;GAAM;GAGF,CAAC,SAAS,WAAW,CACpE,QAAO;AAIT,MAAI,OAAO,eAAe,YAAY,QAAQ,KAAK,WAAW,EAAE;GAC9D,MAAM,SAAS,SAAS,YAAY,GAAG;AACvC,OAAI,SAAS,EACX,QAAO;;AAIX,MAAI,OAAO,eAAe,YAAY,aAAa,EACjD,QAAO;AAIT;IACC,CAAC,QAAQ,iBAAiB,CAIO,EACnC,CAAC;CAKF,MAAM,cAAc,MAAM,cAAc;AACtC,MAAI,CAAC,OACH,QAAO,EAAE;AAEX,SAAO,CAAC,GAAG,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM;AAGtC,WAFe,EAAE,SAAS,MACX,EAAE,SAAS;IAE1B;IACD,CAAC,QAAQ,MAAM,CAAC;CAGnB,MAAM,kBAAkB,aACrB,SAA6B;AAC5B,SAAO,4BACL,OACC,YAAY;AACX,OAAI,WACF,YAAW,QAAQ;KAGvB,oBACA,EAAE,QAAQ,KAAK,IAAI,CACpB;IAEH,CAAC,YAAY,mBAAmB,CACjC;CAGD,MAAM,oBAAoB,aACvB,SAA+D;EAS9D,MAAM,YAA8C;GAClD;GACA;GACA;IAVA;IACA;IACA;IACA;IACA;IAMO;GACR;AAGD,MACE,0BAAsD,CAAC,SACrD,KAAK,KACN,EACD;GAEA,MAAM,WACH,KAAa,QAAQ,aACpB,KAAa,QAAQ,OACnB,qBAAsB,KAAa,OAAO,KAAK;GAIrD,MAAM,gBAAgB,mBACnB,KAAa,QAAQ,OACtB,SACD;GAGD,MAAM,eACJ,kBAAkB,OAAO,KAAK,eAAe;AAC/C,aAAU,QAAQ,iBAAiB;AACnC,aAAU,WAAW,gBAAgB,KAAK;;AAG5C,SAAO;IAET;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAGD,KAAI,CAAC,OACH,QAAO;AAIT,KAAI,SACF,QACE,oBAAC,qBAAD;EACS;EACI;EACH;EACO;EACF;EACM;EACnB;AAKN,QACE,oBAAC,sBAAD;EACS;EACI;EACH;EACO;EACF;EACM;EACnB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ToolbarActionItem, ToolbarFilterItem } from "./DataTable.types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/ToolbarRegistry.d.ts
|
|
5
|
+
interface RegisteredActionItem<TData extends BaseRecord> {
|
|
6
|
+
id: string;
|
|
7
|
+
item: ToolbarActionItem<TData>;
|
|
8
|
+
}
|
|
9
|
+
interface RegisteredFilterItem<TData extends BaseRecord> {
|
|
10
|
+
id: string;
|
|
11
|
+
item: ToolbarFilterItem<TData>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Register a toolbar action item
|
|
15
|
+
*/
|
|
16
|
+
declare function registerAction<TData extends BaseRecord>(id: string, item: ToolbarActionItem<TData>): void;
|
|
17
|
+
/**
|
|
18
|
+
* Register a toolbar filter item
|
|
19
|
+
*/
|
|
20
|
+
declare function registerFilter<TData extends BaseRecord>(id: string, item: ToolbarFilterItem<TData>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get a registered action item by ID
|
|
23
|
+
*/
|
|
24
|
+
declare function getAction<TData extends BaseRecord>(id: string): ToolbarActionItem<TData> | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Get a registered filter item by ID
|
|
27
|
+
*/
|
|
28
|
+
declare function getFilter<TData extends BaseRecord>(id: string): ToolbarFilterItem<TData> | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Check if an action item exists
|
|
31
|
+
*/
|
|
32
|
+
declare function hasAction(id: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a filter item exists
|
|
35
|
+
*/
|
|
36
|
+
declare function hasFilter(id: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Get all registered action items
|
|
39
|
+
*/
|
|
40
|
+
declare function listActions<TData extends BaseRecord>(): RegisteredActionItem<TData>[];
|
|
41
|
+
/**
|
|
42
|
+
* Get all registered filter items
|
|
43
|
+
*/
|
|
44
|
+
declare function listFilters<TData extends BaseRecord>(): RegisteredFilterItem<TData>[];
|
|
45
|
+
/**
|
|
46
|
+
* Get all registered items
|
|
47
|
+
*/
|
|
48
|
+
declare function listAll<TData extends BaseRecord>(): {
|
|
49
|
+
actions: RegisteredActionItem<TData>[];
|
|
50
|
+
filters: RegisteredFilterItem<TData>[];
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Clear all registered items
|
|
54
|
+
*/
|
|
55
|
+
declare function clear(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Remove a specific action item
|
|
58
|
+
*/
|
|
59
|
+
declare function removeAction(id: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Remove a specific filter item
|
|
62
|
+
*/
|
|
63
|
+
declare function removeFilter(id: string): boolean;
|
|
64
|
+
//#endregion
|
|
65
|
+
export { type RegisteredActionItem, type RegisteredFilterItem, clear, getAction, getFilter, hasAction, hasFilter, listActions, listAll, listFilters, registerAction, registerFilter, removeAction, removeFilter };
|
|
66
|
+
//# sourceMappingURL=ToolbarRegistry.d.ts.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
//#region src/components/data-table/ToolbarRegistry.tsx
|
|
2
|
+
const actions = /* @__PURE__ */ new Map();
|
|
3
|
+
const filters = /* @__PURE__ */ new Map();
|
|
4
|
+
/**
|
|
5
|
+
* Register a toolbar action item
|
|
6
|
+
*/
|
|
7
|
+
function registerAction(id, item) {
|
|
8
|
+
actions.set(id, item);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Register a toolbar filter item
|
|
12
|
+
*/
|
|
13
|
+
function registerFilter(id, item) {
|
|
14
|
+
filters.set(id, item);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get a registered action item by ID
|
|
18
|
+
*/
|
|
19
|
+
function getAction(id) {
|
|
20
|
+
return actions.get(id);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get a registered filter item by ID
|
|
24
|
+
*/
|
|
25
|
+
function getFilter(id) {
|
|
26
|
+
return filters.get(id);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if an action item exists
|
|
30
|
+
*/
|
|
31
|
+
function hasAction(id) {
|
|
32
|
+
return actions.has(id);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if a filter item exists
|
|
36
|
+
*/
|
|
37
|
+
function hasFilter(id) {
|
|
38
|
+
return filters.has(id);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get all registered action items
|
|
42
|
+
*/
|
|
43
|
+
function listActions() {
|
|
44
|
+
return Array.from(actions.entries()).map(([id, item]) => ({
|
|
45
|
+
id,
|
|
46
|
+
item
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get all registered filter items
|
|
51
|
+
*/
|
|
52
|
+
function listFilters() {
|
|
53
|
+
return Array.from(filters.entries()).map(([id, item]) => ({
|
|
54
|
+
id,
|
|
55
|
+
item
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get all registered items
|
|
60
|
+
*/
|
|
61
|
+
function listAll() {
|
|
62
|
+
return {
|
|
63
|
+
actions: listActions(),
|
|
64
|
+
filters: listFilters()
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Clear all registered items
|
|
69
|
+
*/
|
|
70
|
+
function clear() {
|
|
71
|
+
actions.clear();
|
|
72
|
+
filters.clear();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Remove a specific action item
|
|
76
|
+
*/
|
|
77
|
+
function removeAction(id) {
|
|
78
|
+
return actions.delete(id);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Remove a specific filter item
|
|
82
|
+
*/
|
|
83
|
+
function removeFilter(id) {
|
|
84
|
+
return filters.delete(id);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
export { clear, getAction, getFilter, hasAction, hasFilter, listActions, listAll, listFilters, registerAction, registerFilter, removeAction, removeFilter };
|
|
89
|
+
//# sourceMappingURL=ToolbarRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarRegistry.js","names":[],"sources":["../../../../src/components/data-table/ToolbarRegistry.tsx"],"sourcesContent":["import type {\n ToolbarActionItem,\n ToolbarFilterItem,\n} from \"./\";\nimport { BaseRecord } from \"@refinedev/core\";\n\ninterface RegisteredActionItem<TData extends BaseRecord> {\n id: string;\n item: ToolbarActionItem<TData>;\n}\n\ninterface RegisteredFilterItem<TData extends BaseRecord> {\n id: string;\n item: ToolbarFilterItem<TData>;\n}\n\n// Module-level private state\nconst actions: Map<string, ToolbarActionItem<any>> = new Map();\nconst filters: Map<string, ToolbarFilterItem<any>> = new Map();\n\n/**\n * Register a toolbar action item\n */\nfunction registerAction<TData extends BaseRecord>(\n id: string,\n item: ToolbarActionItem<TData>,\n): void {\n actions.set(id, item);\n}\n\n/**\n * Register a toolbar filter item\n */\nfunction registerFilter<TData extends BaseRecord>(\n id: string,\n item: ToolbarFilterItem<TData>,\n): void {\n filters.set(id, item as ToolbarFilterItem<any>);\n}\n\n/**\n * Get a registered action item by ID\n */\nfunction getAction<TData extends BaseRecord>(\n id: string,\n): ToolbarActionItem<TData> | undefined {\n return actions.get(id);\n}\n\n/**\n * Get a registered filter item by ID\n */\nfunction getFilter<TData extends BaseRecord>(\n id: string,\n): ToolbarFilterItem<TData> | undefined {\n return filters.get(id) as ToolbarFilterItem<TData> | undefined;\n}\n\n/**\n * Check if an action item exists\n */\nfunction hasAction(id: string): boolean {\n return actions.has(id);\n}\n\n/**\n * Check if a filter item exists\n */\nfunction hasFilter(id: string): boolean {\n return filters.has(id);\n}\n\n/**\n * Get all registered action items\n */\nfunction listActions<\n TData extends BaseRecord,\n>(): RegisteredActionItem<TData>[] {\n return Array.from(actions.entries()).map(([id, item]) => ({\n id,\n item: item as ToolbarActionItem<TData>,\n }));\n}\n\n/**\n * Get all registered filter items\n */\nfunction listFilters<\n TData extends BaseRecord,\n>(): RegisteredFilterItem<TData>[] {\n return Array.from(filters.entries()).map(([id, item]) => ({\n id,\n item: item as ToolbarFilterItem<TData>,\n }));\n}\n\n/**\n * Get all registered items\n */\nfunction listAll<TData extends BaseRecord>() {\n return {\n actions: listActions<TData>(),\n filters: listFilters<TData>(),\n };\n}\n\n/**\n * Clear all registered items\n */\nfunction clear(): void {\n actions.clear();\n filters.clear();\n}\n\n/**\n * Remove a specific action item\n */\nfunction removeAction(id: string): boolean {\n return actions.delete(id);\n}\n\n/**\n * Remove a specific filter item\n */\nfunction removeFilter(id: string): boolean {\n return filters.delete(id);\n}\n\nexport {\n registerAction,\n getAction,\n registerFilter,\n getFilter,\n hasAction,\n hasFilter,\n listActions,\n listFilters,\n listAll,\n clear,\n removeAction,\n removeFilter,\n};\n\nexport type {\n RegisteredActionItem,\n RegisteredFilterItem,\n};\n"],"mappings":";AAiBA,MAAM,0BAA+C,IAAI,KAAK;AAC9D,MAAM,0BAA+C,IAAI,KAAK;;;;AAK9D,SAAS,eACP,IACA,MACM;AACN,SAAQ,IAAI,IAAI,KAAK;;;;;AAMvB,SAAS,eACP,IACA,MACM;AACN,SAAQ,IAAI,IAAI,KAA+B;;;;;AAMjD,SAAS,UACP,IACsC;AACtC,QAAO,QAAQ,IAAI,GAAG;;;;;AAMxB,SAAS,UACP,IACsC;AACtC,QAAO,QAAQ,IAAI,GAAG;;;;;AAMxB,SAAS,UAAU,IAAqB;AACtC,QAAO,QAAQ,IAAI,GAAG;;;;;AAMxB,SAAS,UAAU,IAAqB;AACtC,QAAO,QAAQ,IAAI,GAAG;;;;;AAMxB,SAAS,cAE0B;AACjC,QAAO,MAAM,KAAK,QAAQ,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW;EACxD;EACM;EACP,EAAE;;;;;AAML,SAAS,cAE0B;AACjC,QAAO,MAAM,KAAK,QAAQ,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,WAAW;EACxD;EACM;EACP,EAAE;;;;;AAML,SAAS,UAAoC;AAC3C,QAAO;EACL,SAAS,aAAoB;EAC7B,SAAS,aAAoB;EAC9B;;;;;AAMH,SAAS,QAAc;AACrB,SAAQ,OAAO;AACf,SAAQ,OAAO;;;;;AAMjB,SAAS,aAAa,IAAqB;AACzC,QAAO,QAAQ,OAAO,GAAG;;;;;AAM3B,SAAS,aAAa,IAAqB;AACzC,QAAO,QAAQ,OAAO,GAAG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ExtendedToolbarItem, ToolbarItemComponentProps } from "./DataTable.types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/ToolbarRenderer.d.ts
|
|
6
|
+
type ToolbarItemRenderer<TData extends BaseRecord> = (item: ExtendedToolbarItem<TData>, commonProps: ToolbarItemComponentProps<TData>) => React.ReactNode;
|
|
7
|
+
declare const ToolbarRendererRegistry: {
|
|
8
|
+
/**
|
|
9
|
+
* Register a custom renderer for a toolbar item type
|
|
10
|
+
*/
|
|
11
|
+
register<TData extends BaseRecord>(type: string, renderer: ToolbarItemRenderer<TData>): void;
|
|
12
|
+
/**
|
|
13
|
+
* Get a registered renderer for a toolbar item type
|
|
14
|
+
*/
|
|
15
|
+
get<TData extends BaseRecord>(type: string): ToolbarItemRenderer<TData> | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Check if a renderer is registered for a type
|
|
18
|
+
*/
|
|
19
|
+
has(type: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Remove a registered renderer
|
|
22
|
+
*/
|
|
23
|
+
remove(type: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Clear all registered renderers
|
|
26
|
+
*/
|
|
27
|
+
clear(): void;
|
|
28
|
+
list(): string[];
|
|
29
|
+
};
|
|
30
|
+
interface ToolbarRendererProps<TData extends BaseRecord> {
|
|
31
|
+
/** The toolbar item to render */
|
|
32
|
+
item: ExtendedToolbarItem<TData>;
|
|
33
|
+
/** Common props passed to all toolbar item components */
|
|
34
|
+
commonProps: ToolbarItemComponentProps<TData>;
|
|
35
|
+
/** Additional class name for the item container */
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
declare function ToolbarRenderer<TData extends BaseRecord>({
|
|
39
|
+
item,
|
|
40
|
+
commonProps,
|
|
41
|
+
className
|
|
42
|
+
}: ToolbarRendererProps<TData>): any;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { ToolbarRenderer, ToolbarRendererRegistry };
|
|
45
|
+
//# sourceMappingURL=ToolbarRenderer.d.ts.map
|