@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,39 @@
|
|
|
1
|
+
import { TableLayoutType, ToolbarItemAlignment, ToolbarItemType } from "./DataTable.types.js";
|
|
2
|
+
import { clear, getAction, getFilter, hasAction, hasFilter, listActions, listAll, listFilters, registerAction, registerFilter, removeAction, removeFilter } from "./ToolbarRegistry.js";
|
|
3
|
+
import { ActionType, FilterOperator, FilterType } from "./toolbarItems/filters/types.js";
|
|
4
|
+
import { BooleanFilter } from "./toolbarItems/filters/components/BooleanFilter.js";
|
|
5
|
+
import { DateFilter } from "./toolbarItems/filters/components/DateFilter.js";
|
|
6
|
+
import { MultiSelectFilter } from "./toolbarItems/filters/components/MultiSelectFilter.js";
|
|
7
|
+
import { NumberFilter } from "./toolbarItems/filters/components/NumberFilter.js";
|
|
8
|
+
import { RangeFilter } from "./toolbarItems/filters/components/RangeFilter.js";
|
|
9
|
+
import { SearchFilter } from "./toolbarItems/filters/components/SearchFilter.js";
|
|
10
|
+
import { SelectFilter } from "./toolbarItems/filters/components/SelectFilter.js";
|
|
11
|
+
import { TextFilter } from "./toolbarItems/filters/components/TextFilter.js";
|
|
12
|
+
import { createFilterOnChangeHandler, createFiltersFromValue } from "./toolbarItems/filters/util.js";
|
|
13
|
+
import { FilterGroup } from "./toolbarItems/FilterGroup.js";
|
|
14
|
+
import { ToolbarRenderer, ToolbarRendererRegistry } from "./ToolbarRenderer.js";
|
|
15
|
+
import { FilterHelpersProvider, useDefaultFilter, useFilterHelpers } from "./contexts/FilterHelpers.js";
|
|
16
|
+
import { RefineTableProvider, useRefineTable } from "./contexts/RefineTable.js";
|
|
17
|
+
import { TableConfigProvider, useTableConfig, useTableConfigOptional } from "./contexts/TableConfig.js";
|
|
18
|
+
import { TableInstanceProvider, useTableInstance } from "./contexts/TableInstance.js";
|
|
19
|
+
import "./contexts/index.js";
|
|
20
|
+
import { registerRefreshToolbarItem } from "./toolbarItems/items/refresh.js";
|
|
21
|
+
import { registerSearchToolbarItem } from "./toolbarItems/items/search.js";
|
|
22
|
+
import { ToolbarSeparatorItemComponent, registerSeparatorToolbarItem } from "./toolbarItems/items/separator.js";
|
|
23
|
+
import { ToolbarCustomItemComponent, registerCustomToolbarItem } from "./toolbarItems/items/custom.js";
|
|
24
|
+
import "./toolbarItems/index.js";
|
|
25
|
+
import { Toolbar } from "./Toolbar.js";
|
|
26
|
+
import { DefaultPagination } from "./DefaultPagination.js";
|
|
27
|
+
import { TableEmptyState } from "./EmptyState.js";
|
|
28
|
+
import { TableLoadingState } from "./LoadingState.js";
|
|
29
|
+
import { normalizeTableOptions } from "./tableOptions.js";
|
|
30
|
+
import { BaseTableContent } from "./BaseTableContent.js";
|
|
31
|
+
import { BaseTableInner } from "./BaseTableInner.js";
|
|
32
|
+
import { BaseTable } from "./BaseTable.js";
|
|
33
|
+
import { TableAction } from "./TableAction.js";
|
|
34
|
+
import { TableActionMenu } from "./TableActionMenu.js";
|
|
35
|
+
import { DataTable } from "./DataTable.js";
|
|
36
|
+
import { DataTableController } from "./DataTableController.js";
|
|
37
|
+
import "./register.js";
|
|
38
|
+
|
|
39
|
+
export { ActionType, BaseTable, BaseTableContent, BaseTableInner, BooleanFilter, DataTable, DataTableController, DateFilter, DefaultPagination, FilterGroup, FilterHelpersProvider, FilterOperator, FilterType, MultiSelectFilter, NumberFilter, RangeFilter, RefineTableProvider, SearchFilter, SelectFilter, TableAction, TableActionMenu, TableConfigProvider, TableEmptyState, TableInstanceProvider, TableLayoutType, TableLoadingState, TextFilter, Toolbar, ToolbarCustomItemComponent, ToolbarItemAlignment, ToolbarItemType, ToolbarRenderer, ToolbarRendererRegistry, ToolbarSeparatorItemComponent, clear, createFilterOnChangeHandler, createFiltersFromValue, getAction, getFilter, hasAction, hasFilter, listActions, listAll, listFilters, normalizeTableOptions, registerAction, registerCustomToolbarItem, registerFilter, registerRefreshToolbarItem, registerSearchToolbarItem, registerSeparatorToolbarItem, removeAction, removeFilter, useDefaultFilter, useFilterHelpers, useRefineTable, useTableConfig, useTableConfigOptional, useTableInstance };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./toolbarItems/register.js";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseTablePaginationConfig, TableStateProps } from "./BaseTable.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Table } from "@tanstack/react-table";
|
|
5
|
+
|
|
6
|
+
//#region src/components/data-table/tableOptions.d.ts
|
|
7
|
+
interface NormalizedTableOptions<TData> {
|
|
8
|
+
emptyState: React.ReactNode;
|
|
9
|
+
loadingState: React.ReactNode;
|
|
10
|
+
pagination: {
|
|
11
|
+
component?: React.ReactNode;
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
declare function normalizeTableOptions<TData extends BaseRecord>(pagination: BaseTablePaginationConfig | undefined, emptyState: TableStateProps<TData>["emptyState"], emptyStateMessage: TableStateProps<TData>["emptyStateMessage"], loadingState: TableStateProps<TData>["loadingState"], loadingStateMessage: TableStateProps<TData>["loadingStateMessage"], table: Table<TData>): NormalizedTableOptions<TData>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { NormalizedTableOptions, normalizeTableOptions };
|
|
18
|
+
//# sourceMappingURL=tableOptions.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DefaultPagination } from "./DefaultPagination.js";
|
|
2
|
+
import { TableEmptyState } from "./EmptyState.js";
|
|
3
|
+
import { TableLoadingState } from "./LoadingState.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/data-table/tableOptions.tsx
|
|
8
|
+
function normalizeTableOptions(pagination, emptyState, emptyStateMessage, loadingState, loadingStateMessage, table) {
|
|
9
|
+
let paginationComponent = null;
|
|
10
|
+
const paginationEnabled = pagination !== false && (pagination === true || typeof pagination === "object" && pagination.enabled === true);
|
|
11
|
+
const colSpan = table.getAllColumns().length;
|
|
12
|
+
if (paginationEnabled) if (typeof pagination === "object" && pagination.component) paginationComponent = pagination.component;
|
|
13
|
+
else paginationComponent = /* @__PURE__ */ jsx(DefaultPagination, {});
|
|
14
|
+
let normalizedEmptyState;
|
|
15
|
+
if (!emptyState) normalizedEmptyState = /* @__PURE__ */ jsx(TableEmptyState, {
|
|
16
|
+
colSpan,
|
|
17
|
+
message: emptyStateMessage
|
|
18
|
+
});
|
|
19
|
+
else if (typeof emptyState === "function") normalizedEmptyState = emptyState(colSpan);
|
|
20
|
+
else normalizedEmptyState = emptyState;
|
|
21
|
+
let normalizedLoadingState;
|
|
22
|
+
if (!loadingState) normalizedLoadingState = /* @__PURE__ */ jsx(TableLoadingState, {
|
|
23
|
+
colSpan,
|
|
24
|
+
message: loadingStateMessage
|
|
25
|
+
});
|
|
26
|
+
else if (typeof loadingState === "function") normalizedLoadingState = loadingState(colSpan);
|
|
27
|
+
else normalizedLoadingState = loadingState;
|
|
28
|
+
return {
|
|
29
|
+
emptyState: normalizedEmptyState,
|
|
30
|
+
loadingState: normalizedLoadingState,
|
|
31
|
+
pagination: {
|
|
32
|
+
component: paginationComponent,
|
|
33
|
+
enabled: paginationEnabled
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { normalizeTableOptions };
|
|
40
|
+
//# sourceMappingURL=tableOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableOptions.js","names":[],"sources":["../../../../src/components/data-table/tableOptions.tsx"],"sourcesContent":["import { Table } from \"@tanstack/react-table\";\nimport React from \"react\";\n\nimport { BaseTablePaginationConfig, TableStateProps } from \"./BaseTable\";\nimport { DefaultPagination } from \"./DefaultPagination\";\nimport { TableEmptyState } from \"./EmptyState\";\nimport { TableLoadingState } from \"./LoadingState\";\nimport { BaseRecord } from \"@refinedev/core\";\n\nexport interface NormalizedTableOptions<TData> {\n emptyState: React.ReactNode;\n loadingState: React.ReactNode;\n pagination: {\n component?: React.ReactNode;\n enabled: boolean;\n };\n}\n\nexport function normalizeTableOptions<TData extends BaseRecord>(\n pagination: BaseTablePaginationConfig | undefined,\n emptyState: TableStateProps<TData>[\"emptyState\"],\n emptyStateMessage: TableStateProps<TData>[\"emptyStateMessage\"],\n loadingState: TableStateProps<TData>[\"loadingState\"],\n loadingStateMessage: TableStateProps<TData>[\"loadingStateMessage\"],\n table: Table<TData>,\n): NormalizedTableOptions<TData> {\n let paginationComponent: React.ReactNode = null;\n const paginationEnabled =\n pagination !== false &&\n (pagination === true ||\n (typeof pagination === \"object\" && pagination.enabled === true));\n const colSpan = table.getAllColumns().length;\n\n if (paginationEnabled) {\n if (typeof pagination === \"object\" && pagination.component) {\n paginationComponent = pagination.component;\n } else {\n paginationComponent = <DefaultPagination />;\n }\n }\n\n let normalizedEmptyState: React.ReactNode;\n if (!emptyState) {\n normalizedEmptyState = (\n <TableEmptyState colSpan={colSpan} message={emptyStateMessage} />\n );\n } else if (typeof emptyState === \"function\") {\n normalizedEmptyState = emptyState(colSpan);\n } else {\n normalizedEmptyState = emptyState;\n }\n\n let normalizedLoadingState: React.ReactNode;\n if (!loadingState) {\n normalizedLoadingState = (\n <TableLoadingState colSpan={colSpan} message={loadingStateMessage} />\n );\n } else if (typeof loadingState === \"function\") {\n normalizedLoadingState = loadingState(colSpan);\n } else {\n normalizedLoadingState = loadingState;\n }\n\n return {\n emptyState: normalizedEmptyState,\n loadingState: normalizedLoadingState,\n pagination: {\n component: paginationComponent,\n enabled: paginationEnabled,\n },\n };\n}\n"],"mappings":";;;;;;;AAkBA,SAAgB,sBACd,YACA,YACA,mBACA,cACA,qBACA,OAC+B;CAC/B,IAAI,sBAAuC;CAC3C,MAAM,oBACJ,eAAe,UACd,eAAe,QACb,OAAO,eAAe,YAAY,WAAW,YAAY;CAC9D,MAAM,UAAU,MAAM,eAAe,CAAC;AAEtC,KAAI,kBACF,KAAI,OAAO,eAAe,YAAY,WAAW,UAC/C,uBAAsB,WAAW;KAEjC,uBAAsB,oBAAC,mBAAD,EAAqB;CAI/C,IAAI;AACJ,KAAI,CAAC,WACH,wBACE,oBAAC,iBAAD;EAA0B;EAAS,SAAS;EAAqB;UAE1D,OAAO,eAAe,WAC/B,wBAAuB,WAAW,QAAQ;KAE1C,wBAAuB;CAGzB,IAAI;AACJ,KAAI,CAAC,aACH,0BACE,oBAAC,mBAAD;EAA4B;EAAS,SAAS;EAAuB;UAE9D,OAAO,iBAAiB,WACjC,0BAAyB,aAAa,QAAQ;KAE9C,0BAAyB;AAG3B,QAAO;EACL,YAAY;EACZ,cAAc;EACd,YAAY;GACV,WAAW;GACX,SAAS;GACV;EACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ToolbarFilterGroupItem, ToolbarItemComponentProps } from "../DataTable.types.js";
|
|
2
|
+
import { ComponentSize } from "../../sizing/index.js";
|
|
3
|
+
import { BaseRecord } from "@refinedev/core";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/toolbarItems/FilterGroup.d.ts
|
|
6
|
+
interface FilterGroupProps<TData extends BaseRecord> {
|
|
7
|
+
item: ToolbarFilterGroupItem<TData>;
|
|
8
|
+
commonProps: ToolbarItemComponentProps<TData>;
|
|
9
|
+
size?: ComponentSize;
|
|
10
|
+
}
|
|
11
|
+
declare function FilterGroup<TData extends BaseRecord>({
|
|
12
|
+
item,
|
|
13
|
+
commonProps,
|
|
14
|
+
size
|
|
15
|
+
}: FilterGroupProps<TData>): any;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { FilterGroup };
|
|
18
|
+
//# sourceMappingURL=FilterGroup.d.ts.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { FilterResolver } from "./FilterResolver.js";
|
|
2
|
+
import { getSizeClass } from "../../sizing/index.js";
|
|
3
|
+
import { FilterOperator } from "./filters/types.js";
|
|
4
|
+
import { createFilterOnChangeHandler } from "./filters/util.js";
|
|
5
|
+
import "./filters/index.js";
|
|
6
|
+
import { Button, cn } from "@lumeweb/portal-framework-ui-core";
|
|
7
|
+
import React, { useCallback, useState } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { ChevronDown, Filter } from "lucide-react";
|
|
10
|
+
import * as DropdownMenu$1 from "@radix-ui/react-dropdown-menu";
|
|
11
|
+
|
|
12
|
+
//#region src/components/data-table/toolbarItems/FilterGroup.tsx
|
|
13
|
+
const dropdownContentClasses = "bg-background rounded-lg border shadow-lg p-3";
|
|
14
|
+
function FilterGroup({ item, commonProps, size }) {
|
|
15
|
+
const [isExpanded, setIsExpanded] = useState(item.initiallyExpanded ?? false);
|
|
16
|
+
const layout = item.layout ?? "horizontal";
|
|
17
|
+
const createChildOnChangeHandler = useCallback((childItem) => {
|
|
18
|
+
return createFilterOnChangeHandler(childItem, (filters) => {
|
|
19
|
+
if (commonProps.context?.setFilters) commonProps.context.setFilters(filters);
|
|
20
|
+
}, commonProps.context?.getDefaultOperator, {
|
|
21
|
+
itemId: item.id,
|
|
22
|
+
childItemId: childItem.id
|
|
23
|
+
});
|
|
24
|
+
}, [commonProps.context, item.id]);
|
|
25
|
+
const createChildCommonProps = useCallback((childItem) => {
|
|
26
|
+
return {
|
|
27
|
+
...commonProps,
|
|
28
|
+
value: commonProps.context?.getDefaultFilter?.(childItem.config?.field, childItem.config?.operator || (commonProps.context?.getDefaultOperator ? commonProps.context.getDefaultOperator(childItem.config?.type) : "eq")) ?? childItem.initialValue,
|
|
29
|
+
onChange: createChildOnChangeHandler(childItem)
|
|
30
|
+
};
|
|
31
|
+
}, [commonProps, createChildOnChangeHandler]);
|
|
32
|
+
const toggleExpanded = () => {
|
|
33
|
+
setIsExpanded(!isExpanded);
|
|
34
|
+
};
|
|
35
|
+
const renderFilterIcon = () => {
|
|
36
|
+
if (!item.icon) return /* @__PURE__ */ jsx(Filter, { className: "mr-2 h-4 w-4" });
|
|
37
|
+
if (React.isValidElement(item.icon)) return item.icon;
|
|
38
|
+
const IconComponent = item.icon;
|
|
39
|
+
return /* @__PURE__ */ jsx(IconComponent, { className: "mr-4 h-4 w-4" });
|
|
40
|
+
};
|
|
41
|
+
if (item.dropdownStyle) return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, {
|
|
42
|
+
open: isExpanded,
|
|
43
|
+
onOpenChange: setIsExpanded,
|
|
44
|
+
children: [/* @__PURE__ */ jsx(DropdownMenu$1.Trigger, {
|
|
45
|
+
asChild: true,
|
|
46
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
47
|
+
variant: "ghost",
|
|
48
|
+
className: "hover:bg-muted h-auto justify-start p-3",
|
|
49
|
+
children: [
|
|
50
|
+
renderFilterIcon(),
|
|
51
|
+
/* @__PURE__ */ jsx("span", {
|
|
52
|
+
className: "flex-1 text-left font-medium",
|
|
53
|
+
children: item.label
|
|
54
|
+
}),
|
|
55
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: cn("ml-2 h-4 w-4 transition-transform duration-200 ease-in-out", isExpanded ? "rotate-180" : "rotate-0") })
|
|
56
|
+
]
|
|
57
|
+
})
|
|
58
|
+
}), /* @__PURE__ */ jsx(DropdownMenu$1.Portal, { children: /* @__PURE__ */ jsx(DropdownMenu$1.Content, {
|
|
59
|
+
className: cn(dropdownContentClasses, layout === "vertical" ? "space-y-3" : "grid grid-cols-2 gap-3 md:grid-cols-3", size ? getSizeClass({ size }) : void 0, "animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200"),
|
|
60
|
+
side: "bottom",
|
|
61
|
+
align: "start",
|
|
62
|
+
sideOffset: 5,
|
|
63
|
+
children: item.items.map((filterItem) => {
|
|
64
|
+
return /* @__PURE__ */ jsx("div", {
|
|
65
|
+
className: "flex flex-col",
|
|
66
|
+
children: /* @__PURE__ */ jsx(FilterResolver, {
|
|
67
|
+
filterItem,
|
|
68
|
+
commonProps: createChildCommonProps(filterItem)
|
|
69
|
+
})
|
|
70
|
+
}, filterItem.id);
|
|
71
|
+
})
|
|
72
|
+
}) })]
|
|
73
|
+
});
|
|
74
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
75
|
+
className: cn("bg-background rounded-lg border", item.className),
|
|
76
|
+
children: [/* @__PURE__ */ jsxs(Button, {
|
|
77
|
+
variant: "ghost",
|
|
78
|
+
className: "hover:bg-muted h-auto w-full justify-start p-3",
|
|
79
|
+
onClick: toggleExpanded,
|
|
80
|
+
children: [
|
|
81
|
+
renderFilterIcon(),
|
|
82
|
+
/* @__PURE__ */ jsx("span", {
|
|
83
|
+
className: "flex-1 text-left font-medium",
|
|
84
|
+
children: item.label
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: cn("h-4 w-4 transition-transform duration-200 ease-in-out", isExpanded ? "rotate-0" : "-rotate-90") })
|
|
87
|
+
]
|
|
88
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
89
|
+
className: cn("overflow-hidden border-t transition-all duration-300 ease-in-out", isExpanded ? "max-h-[1000px] opacity-100" : "max-h-0 opacity-0", layout === "vertical" ? "space-y-3" : "grid grid-cols-2 gap-3 md:grid-cols-3", "p-3", size ? getSizeClass({ size }) : void 0),
|
|
90
|
+
children: item.items.map((filterItem) => {
|
|
91
|
+
return /* @__PURE__ */ jsx("div", {
|
|
92
|
+
className: "flex flex-col",
|
|
93
|
+
children: /* @__PURE__ */ jsx(FilterResolver, {
|
|
94
|
+
filterItem,
|
|
95
|
+
commonProps: createChildCommonProps(filterItem)
|
|
96
|
+
})
|
|
97
|
+
}, filterItem.id);
|
|
98
|
+
})
|
|
99
|
+
})]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { FilterGroup };
|
|
105
|
+
//# sourceMappingURL=FilterGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterGroup.js","names":["DropdownMenu"],"sources":["../../../../../src/components/data-table/toolbarItems/FilterGroup.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { ChevronDown, Filter } from \"lucide-react\";\nimport { Button, cn } from \"@lumeweb/portal-framework-ui-core\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport * as DropdownMenu from \"@radix-ui/react-dropdown-menu\";\nimport type {\n ToolbarFilterGroupItem,\n ToolbarItemComponentProps,\n} from \"@/components/data-table/DataTable.types\";\nimport { FilterResolver } from \"./FilterResolver\";\nimport { ComponentSize, getSizeClass } from \"@/components/sizing\";\nimport { FilterOperator } from \"./filters/types\";\nimport { createFilterOnChangeHandler } from \"./filters\";\n\ninterface FilterGroupProps<TData extends BaseRecord> {\n item: ToolbarFilterGroupItem<TData>;\n commonProps: ToolbarItemComponentProps<TData>;\n size?: ComponentSize;\n}\n\nconst dropdownContentClasses = \"bg-background rounded-lg border shadow-lg p-3\";\n\nfunction FilterGroup<TData extends BaseRecord>({\n item,\n commonProps,\n size,\n}: FilterGroupProps<TData>) {\n const [isExpanded, setIsExpanded] = useState(item.initiallyExpanded ?? false);\n const layout = item.layout ?? \"horizontal\";\n\n // Create specialized onChange handler for child filters\n const createChildOnChangeHandler = useCallback(\n (childItem: any) => {\n return createFilterOnChangeHandler(\n childItem,\n (filters) => {\n if (commonProps.context?.setFilters) {\n commonProps.context.setFilters(filters);\n }\n },\n commonProps.context?.getDefaultOperator,\n {\n itemId: item.id,\n childItemId: childItem.id,\n },\n );\n },\n [commonProps.context, item.id],\n );\n\n // Create specialized common props for child filters\n const createChildCommonProps = useCallback(\n (childItem: any): ToolbarItemComponentProps<TData> => {\n return {\n ...commonProps,\n value:\n commonProps.context?.getDefaultFilter?.(\n (childItem as any).config?.field as string,\n (childItem as any).config?.operator ||\n (commonProps.context?.getDefaultOperator\n ? commonProps.context.getDefaultOperator(\n (childItem as any).config?.type,\n )\n : FilterOperator.EQ),\n ) ?? childItem.initialValue,\n onChange: createChildOnChangeHandler(childItem),\n };\n },\n [commonProps, createChildOnChangeHandler],\n );\n\n const toggleExpanded = () => {\n setIsExpanded(!isExpanded);\n };\n\n const renderFilterIcon = () => {\n if (!item.icon) {\n return <Filter className=\"mr-2 h-4 w-4\" />;\n }\n\n // Check if icon is a React element (JSX)\n if (React.isValidElement(item.icon)) {\n return item.icon;\n }\n\n // Otherwise treat it as a component type\n const IconComponent = item.icon as React.ComponentType<{\n className?: string;\n }>;\n return <IconComponent className=\"mr-4 h-4 w-4\" />;\n };\n\n // If dropdownStyle is enabled, render as a dropdown menu\n if (item.dropdownStyle) {\n return (\n <DropdownMenu.Root open={isExpanded} onOpenChange={setIsExpanded}>\n <DropdownMenu.Trigger asChild>\n <Button\n variant=\"ghost\"\n className=\"hover:bg-muted h-auto justify-start p-3\">\n {renderFilterIcon()}\n <span className=\"flex-1 text-left font-medium\">{item.label}</span>\n <ChevronDown\n className={cn(\n \"ml-2 h-4 w-4 transition-transform duration-200 ease-in-out\",\n isExpanded ? \"rotate-180\" : \"rotate-0\",\n )}\n />\n </Button>\n </DropdownMenu.Trigger>\n\n <DropdownMenu.Portal>\n <DropdownMenu.Content\n className={cn(\n dropdownContentClasses,\n layout === \"vertical\"\n ? \"space-y-3\"\n : \"grid grid-cols-2 gap-3 md:grid-cols-3\",\n size ? getSizeClass({ size }) : undefined,\n \"animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200\",\n )}\n side=\"bottom\"\n align=\"start\"\n sideOffset={5}>\n {item.items.map((filterItem) => {\n const childCommonProps = createChildCommonProps(filterItem);\n return (\n <div key={filterItem.id} className=\"flex flex-col\">\n <FilterResolver\n filterItem={filterItem}\n commonProps={childCommonProps}\n />\n </div>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n );\n }\n\n // Default inline expansion behavior\n return (\n <div className={cn(\"bg-background rounded-lg border\", item.className)}>\n {/* Group header */}\n <Button\n variant=\"ghost\"\n className=\"hover:bg-muted h-auto w-full justify-start p-3\"\n onClick={toggleExpanded}>\n {renderFilterIcon()}\n <span className=\"flex-1 text-left font-medium\">{item.label}</span>\n <ChevronDown\n className={cn(\n \"h-4 w-4 transition-transform duration-200 ease-in-out\",\n isExpanded ? \"rotate-0\" : \"-rotate-90\",\n )}\n />\n </Button>\n\n {/* Group content */}\n <div\n className={cn(\n \"overflow-hidden border-t transition-all duration-300 ease-in-out\",\n isExpanded ? \"max-h-[1000px] opacity-100\" : \"max-h-0 opacity-0\",\n layout === \"vertical\"\n ? \"space-y-3\"\n : \"grid grid-cols-2 gap-3 md:grid-cols-3\",\n \"p-3\",\n size ? getSizeClass({ size }) : undefined,\n )}>\n {item.items.map((filterItem) => {\n const childCommonProps = createChildCommonProps(filterItem);\n return (\n <div key={filterItem.id} className=\"flex flex-col\">\n <FilterResolver\n filterItem={filterItem}\n commonProps={childCommonProps}\n />\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nexport { FilterGroup };\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,yBAAyB;AAE/B,SAAS,YAAsC,EAC7C,MACA,aACA,QAC0B;CAC1B,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK,qBAAqB,MAAM;CAC7E,MAAM,SAAS,KAAK,UAAU;CAG9B,MAAM,6BAA6B,aAChC,cAAmB;AAClB,SAAO,4BACL,YACC,YAAY;AACX,OAAI,YAAY,SAAS,WACvB,aAAY,QAAQ,WAAW,QAAQ;KAG3C,YAAY,SAAS,oBACrB;GACE,QAAQ,KAAK;GACb,aAAa,UAAU;GACxB,CACF;IAEH,CAAC,YAAY,SAAS,KAAK,GAAG,CAC/B;CAGD,MAAM,yBAAyB,aAC5B,cAAqD;AACpD,SAAO;GACL,GAAG;GACH,OACE,YAAY,SAAS,mBAClB,UAAkB,QAAQ,OAC1B,UAAkB,QAAQ,aACxB,YAAY,SAAS,qBAClB,YAAY,QAAQ,mBACjB,UAAkB,QAAQ,KAC5B,SAER,IAAI,UAAU;GACjB,UAAU,2BAA2B,UAAU;GAChD;IAEH,CAAC,aAAa,2BAA2B,CAC1C;CAED,MAAM,uBAAuB;AAC3B,gBAAc,CAAC,WAAW;;CAG5B,MAAM,yBAAyB;AAC7B,MAAI,CAAC,KAAK,KACR,QAAO,oBAAC,QAAD,EAAQ,WAAU,gBAAiB;AAI5C,MAAI,MAAM,eAAe,KAAK,KAAK,CACjC,QAAO,KAAK;EAId,MAAM,gBAAgB,KAAK;AAG3B,SAAO,oBAAC,eAAD,EAAe,WAAU,gBAAiB;;AAInD,KAAI,KAAK,cACP,QACE,qBAACA,eAAa,MAAd;EAAmB,MAAM;EAAY,cAAc;YAAnD,CACE,oBAACA,eAAa,SAAd;GAAsB;aACpB,qBAAC,QAAD;IACE,SAAQ;IACR,WAAU;cAFZ;KAGG,kBAAkB;KACnB,oBAAC,QAAD;MAAM,WAAU;gBAAgC,KAAK;MAAa;KAClE,oBAAC,aAAD,EACE,WAAW,GACT,8DACA,aAAa,eAAe,WAC7B,EACD;KACK;;GACY,GAEvB,oBAACA,eAAa,QAAd,YACE,oBAACA,eAAa,SAAd;GACE,WAAW,GACT,wBACA,WAAW,aACP,cACA,yCACJ,OAAO,aAAa,EAAE,MAAM,CAAC,GAAG,QAChC,mEACD;GACD,MAAK;GACL,OAAM;GACN,YAAY;aACX,KAAK,MAAM,KAAK,eAAe;AAE9B,WACE,oBAAC,OAAD;KAAyB,WAAU;eACjC,oBAAC,gBAAD;MACc;MACZ,aALmB,uBAAuB,WAKb;MAC7B;KACE,EALI,WAAW,GAKf;KAER;GACmB,GACH,EACJ;;AAKxB,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,mCAAmC,KAAK,UAAU;YAArE,CAEE,qBAAC,QAAD;GACE,SAAQ;GACR,WAAU;GACV,SAAS;aAHX;IAIG,kBAAkB;IACnB,oBAAC,QAAD;KAAM,WAAU;eAAgC,KAAK;KAAa;IAClE,oBAAC,aAAD,EACE,WAAW,GACT,yDACA,aAAa,aAAa,aAC3B,EACD;IACK;MAGT,oBAAC,OAAD;GACE,WAAW,GACT,oEACA,aAAa,+BAA+B,qBAC5C,WAAW,aACP,cACA,yCACJ,OACA,OAAO,aAAa,EAAE,MAAM,CAAC,GAAG,OACjC;aACA,KAAK,MAAM,KAAK,eAAe;AAE9B,WACE,oBAAC,OAAD;KAAyB,WAAU;eACjC,oBAAC,gBAAD;MACc;MACZ,aALmB,uBAAuB,WAKb;MAC7B;KACE,EALI,WAAW,GAKf;KAER;GACE,EACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ToolbarFilterItem, ToolbarItemComponentProps } from "../DataTable.types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/toolbarItems/FilterResolver.d.ts
|
|
5
|
+
interface FilterResolverProps<TData extends BaseRecord> {
|
|
6
|
+
filterItem: ToolbarFilterItem<TData>;
|
|
7
|
+
commonProps: ToolbarItemComponentProps<TData>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* FilterResolver handles dynamic filter component resolution
|
|
11
|
+
* It supports:
|
|
12
|
+
* 1. Direct component references
|
|
13
|
+
* 2. Registered filter components by ID
|
|
14
|
+
* 3. Inferred components based on config.type
|
|
15
|
+
*/
|
|
16
|
+
declare function FilterResolver<TData extends BaseRecord>({
|
|
17
|
+
filterItem,
|
|
18
|
+
commonProps
|
|
19
|
+
}: FilterResolverProps<TData>): any;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { FilterResolver };
|
|
22
|
+
//# sourceMappingURL=FilterResolver.d.ts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { getFilter } from "../ToolbarRegistry.js";
|
|
2
|
+
import { useFilterHelpers } from "../contexts/FilterHelpers.js";
|
|
3
|
+
import "../../index.js";
|
|
4
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/data-table/toolbarItems/FilterResolver.tsx
|
|
8
|
+
/**
|
|
9
|
+
* FilterResolver handles dynamic filter component resolution
|
|
10
|
+
* It supports:
|
|
11
|
+
* 1. Direct component references
|
|
12
|
+
* 2. Registered filter components by ID
|
|
13
|
+
* 3. Inferred components based on config.type
|
|
14
|
+
*/
|
|
15
|
+
function FilterResolver({ filterItem, commonProps }) {
|
|
16
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
17
|
+
const [notFound, setNotFound] = useState(false);
|
|
18
|
+
const filterComponentRef = useRef(null);
|
|
19
|
+
const filterItemRef = useRef(filterItem);
|
|
20
|
+
const { getAvailableOperators } = useFilterHelpers();
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
filterItemRef.current = filterItem;
|
|
23
|
+
}, [filterItem]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const resolveFilterComponent = async () => {
|
|
26
|
+
const currentFilterItem = filterItemRef.current;
|
|
27
|
+
setIsLoading(true);
|
|
28
|
+
setNotFound(false);
|
|
29
|
+
let Component = null;
|
|
30
|
+
if (typeof currentFilterItem.component === "function") Component = currentFilterItem.component;
|
|
31
|
+
else if (typeof currentFilterItem.component === "string") {
|
|
32
|
+
const registeredFilter = getFilter(currentFilterItem.component);
|
|
33
|
+
if (registeredFilter) Component = registeredFilter.component;
|
|
34
|
+
} else if (!currentFilterItem.component && currentFilterItem.config?.type) {
|
|
35
|
+
const registeredFilter = getFilter(currentFilterItem.config.type);
|
|
36
|
+
if (registeredFilter) Component = registeredFilter.component;
|
|
37
|
+
}
|
|
38
|
+
filterComponentRef.current = Component;
|
|
39
|
+
setIsLoading(false);
|
|
40
|
+
if (!Component) setNotFound(true);
|
|
41
|
+
};
|
|
42
|
+
resolveFilterComponent();
|
|
43
|
+
}, [
|
|
44
|
+
filterItem.component,
|
|
45
|
+
filterItem.config?.type,
|
|
46
|
+
filterItem.id
|
|
47
|
+
]);
|
|
48
|
+
if (isLoading) return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: "text-sm text-gray-500",
|
|
50
|
+
children: "Loading filter component..."
|
|
51
|
+
});
|
|
52
|
+
if (notFound) return /* @__PURE__ */ jsxs("div", {
|
|
53
|
+
className: "text-sm text-red-500",
|
|
54
|
+
children: ["Filter component not found for: ", filterItem.id]
|
|
55
|
+
});
|
|
56
|
+
const configWithField = {
|
|
57
|
+
...filterItem.config,
|
|
58
|
+
field: filterItem.config?.field || filterItem.field || filterItem.id
|
|
59
|
+
};
|
|
60
|
+
const filterProps = {
|
|
61
|
+
...commonProps,
|
|
62
|
+
value: commonProps.value ?? filterItem.initialValue,
|
|
63
|
+
onChange: commonProps.onChange,
|
|
64
|
+
config: configWithField,
|
|
65
|
+
itemLabel: filterItem.label,
|
|
66
|
+
getAvailableOperators
|
|
67
|
+
};
|
|
68
|
+
const FilterComponent = filterComponentRef.current;
|
|
69
|
+
return /* @__PURE__ */ jsx(FilterComponent, { ...filterProps });
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
export { FilterResolver };
|
|
74
|
+
//# sourceMappingURL=FilterResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterResolver.js","names":[],"sources":["../../../../../src/components/data-table/toolbarItems/FilterResolver.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { BaseRecord } from \"@refinedev/core\";\nimport { getFilter } from \"@/components/data-table/ToolbarRegistry\";\nimport type {\n ToolbarFilterComponentProps,\n ToolbarFilterItem,\n ToolbarItemComponentProps,\n} from \"@/components/data-table/DataTable.types\";\nimport { useFilterHelpers } from \"@/components\";\n\ninterface FilterResolverProps<TData extends BaseRecord> {\n filterItem: ToolbarFilterItem<TData>;\n commonProps: ToolbarItemComponentProps<TData>;\n}\n\n/**\n * FilterResolver handles dynamic filter component resolution\n * It supports:\n * 1. Direct component references\n * 2. Registered filter components by ID\n * 3. Inferred components based on config.type\n */\nfunction FilterResolver<TData extends BaseRecord>({\n filterItem,\n commonProps,\n}: FilterResolverProps<TData>) {\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [notFound, setNotFound] = useState<boolean>(false);\n const filterComponentRef = useRef<React.ComponentType<any> | null>(null);\n const filterItemRef = useRef(filterItem);\n const { getAvailableOperators } = useFilterHelpers();\n\n // Update ref when filterItem changes\n useEffect(() => {\n filterItemRef.current = filterItem;\n }, [filterItem]);\n\n useEffect(() => {\n const resolveFilterComponent = async () => {\n const currentFilterItem = filterItemRef.current;\n setIsLoading(true);\n setNotFound(false);\n let Component: React.ComponentType<any> | null = null;\n\n // Case 1: Direct component reference\n if (typeof currentFilterItem.component === \"function\") {\n Component = currentFilterItem.component;\n }\n // Case 2: String ID reference - check registry\n else if (typeof currentFilterItem.component === \"string\") {\n const registeredFilter = getFilter(currentFilterItem.component);\n if (registeredFilter) {\n Component = registeredFilter.component;\n }\n }\n // Case 3: No component property - infer from config.type using FilterRegistry\n else if (!currentFilterItem.component && currentFilterItem.config?.type) {\n const registeredFilter = getFilter(currentFilterItem.config.type);\n if (registeredFilter) {\n Component = registeredFilter.component;\n }\n }\n\n filterComponentRef.current = Component;\n setIsLoading(false);\n\n // Set not found state if no component was resolved\n if (!Component) {\n setNotFound(true);\n }\n };\n\n resolveFilterComponent();\n }, [filterItem.component, filterItem.config?.type, filterItem.id]);\n\n // Show loading state while resolving component\n if (isLoading) {\n return (\n <div className=\"text-sm text-gray-500\">Loading filter component...</div>\n );\n }\n\n // Show error only after resolution is complete and no component was found\n if (notFound) {\n return (\n <div className=\"text-sm text-red-500\">\n Filter component not found for: {filterItem.id}\n </div>\n );\n }\n\n // Prepare props for the filter component using the new unified configuration system\n // Auto-set field from item if not provided in config\n const configWithField = {\n ...filterItem.config,\n field: filterItem.config?.field || filterItem.field || filterItem.id,\n };\n\n const filterProps: ToolbarFilterComponentProps<TData> = {\n ...commonProps,\n value: commonProps.value ?? filterItem.initialValue,\n onChange: commonProps.onChange,\n config: configWithField,\n itemLabel: filterItem.label,\n getAvailableOperators: getAvailableOperators,\n };\n\n const FilterComponent = filterComponentRef.current;\n return <FilterComponent {...filterProps} />;\n}\n\nexport { FilterResolver };\n"],"mappings":";;;;;;;;;;;;;;AAsBA,SAAS,eAAyC,EAChD,YACA,eAC6B;CAC7B,MAAM,CAAC,WAAW,gBAAgB,SAAkB,KAAK;CACzD,MAAM,CAAC,UAAU,eAAe,SAAkB,MAAM;CACxD,MAAM,qBAAqB,OAAwC,KAAK;CACxE,MAAM,gBAAgB,OAAO,WAAW;CACxC,MAAM,EAAE,0BAA0B,kBAAkB;AAGpD,iBAAgB;AACd,gBAAc,UAAU;IACvB,CAAC,WAAW,CAAC;AAEhB,iBAAgB;EACd,MAAM,yBAAyB,YAAY;GACzC,MAAM,oBAAoB,cAAc;AACxC,gBAAa,KAAK;AAClB,eAAY,MAAM;GAClB,IAAI,YAA6C;AAGjD,OAAI,OAAO,kBAAkB,cAAc,WACzC,aAAY,kBAAkB;YAGvB,OAAO,kBAAkB,cAAc,UAAU;IACxD,MAAM,mBAAmB,UAAU,kBAAkB,UAAU;AAC/D,QAAI,iBACF,aAAY,iBAAiB;cAIxB,CAAC,kBAAkB,aAAa,kBAAkB,QAAQ,MAAM;IACvE,MAAM,mBAAmB,UAAU,kBAAkB,OAAO,KAAK;AACjE,QAAI,iBACF,aAAY,iBAAiB;;AAIjC,sBAAmB,UAAU;AAC7B,gBAAa,MAAM;AAGnB,OAAI,CAAC,UACH,aAAY,KAAK;;AAIrB,0BAAwB;IACvB;EAAC,WAAW;EAAW,WAAW,QAAQ;EAAM,WAAW;EAAG,CAAC;AAGlE,KAAI,UACF,QACE,oBAAC,OAAD;EAAK,WAAU;YAAwB;EAAiC;AAK5E,KAAI,SACF,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CAAsC,oCACH,WAAW,GACxC;;CAMV,MAAM,kBAAkB;EACtB,GAAG,WAAW;EACd,OAAO,WAAW,QAAQ,SAAS,WAAW,SAAS,WAAW;EACnE;CAED,MAAM,cAAkD;EACtD,GAAG;EACH,OAAO,YAAY,SAAS,WAAW;EACvC,UAAU,YAAY;EACtB,QAAQ;EACR,WAAW,WAAW;EACC;EACxB;CAED,MAAM,kBAAkB,mBAAmB;AAC3C,QAAO,oBAAC,iBAAD,EAAiB,GAAI,aAAe"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FilterConfig } from "./types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/toolbarItems/filters/BaseFilter.d.ts
|
|
6
|
+
interface BaseFilterProps<TData extends BaseRecord = any> {
|
|
7
|
+
/** Label for the filter */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** Children content */
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/** Additional class names */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Filter configuration */
|
|
14
|
+
config?: FilterConfig<TData>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* BaseFilter provides common layout and styling for all filter components
|
|
18
|
+
*/
|
|
19
|
+
declare function BaseFilter<TData extends BaseRecord = any>({
|
|
20
|
+
label,
|
|
21
|
+
children,
|
|
22
|
+
className,
|
|
23
|
+
config
|
|
24
|
+
}: BaseFilterProps<TData>): any;
|
|
25
|
+
//#endregion
|
|
26
|
+
export { BaseFilter, BaseFilterProps };
|
|
27
|
+
//# sourceMappingURL=BaseFilter.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { cn } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/data-table/toolbarItems/filters/BaseFilter.tsx
|
|
6
|
+
/**
|
|
7
|
+
* BaseFilter provides common layout and styling for all filter components
|
|
8
|
+
*/
|
|
9
|
+
function BaseFilter({ label, children, className, config }) {
|
|
10
|
+
const filterLabel = config?.label || label;
|
|
11
|
+
if (filterLabel) return /* @__PURE__ */ jsxs("div", {
|
|
12
|
+
className: cn("flex flex-col space-y-2", className),
|
|
13
|
+
children: [/* @__PURE__ */ jsx("label", {
|
|
14
|
+
className: "text-sm font-medium",
|
|
15
|
+
children: filterLabel
|
|
16
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
17
|
+
className: "flex items-center space-x-2",
|
|
18
|
+
children
|
|
19
|
+
})]
|
|
20
|
+
});
|
|
21
|
+
return /* @__PURE__ */ jsx("div", {
|
|
22
|
+
className: cn("flex items-center", className),
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { BaseFilter };
|
|
29
|
+
//# sourceMappingURL=BaseFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseFilter.js","names":[],"sources":["../../../../../../src/components/data-table/toolbarItems/filters/BaseFilter.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"@lumeweb/portal-framework-ui-core\";\nimport type { BaseRecord } from \"@refinedev/core\";\nimport type { FilterConfig } from \"./types\";\n\nexport interface BaseFilterProps<TData extends BaseRecord = any> {\n /** Label for the filter */\n label?: string;\n /** Children content */\n children: React.ReactNode;\n /** Additional class names */\n className?: string;\n /** Filter configuration */\n config?: FilterConfig<TData>;\n}\n\n/**\n * BaseFilter provides common layout and styling for all filter components\n */\nfunction BaseFilter<TData extends BaseRecord = any>({\n label,\n children,\n className,\n config,\n}: BaseFilterProps<TData>) {\n // Use label from config if available, otherwise use the label prop\n const filterLabel = config?.label || label;\n\n if (filterLabel) {\n return (\n <div className={cn(\"flex flex-col space-y-2\", className)}>\n <label className=\"text-sm font-medium\">{filterLabel}</label>\n <div className=\"flex items-center space-x-2\">{children}</div>\n </div>\n );\n }\n\n return <div className={cn(\"flex items-center\", className)}>{children}</div>;\n}\n\nexport { BaseFilter };\n"],"mappings":";;;;;;;;AAmBA,SAAS,WAA2C,EAClD,OACA,UACA,WACA,UACyB;CAEzB,MAAM,cAAc,QAAQ,SAAS;AAErC,KAAI,YACF,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,2BAA2B,UAAU;YAAxD,CACE,oBAAC,SAAD;GAAO,WAAU;aAAuB;GAAoB,GAC5D,oBAAC,OAAD;GAAK,WAAU;GAA+B;GAAe,EACzD;;AAIV,QAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,qBAAqB,UAAU;EAAG;EAAe"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseRecord } from "@refinedev/core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/toolbarItems/filters/FilterRegistry.d.ts
|
|
5
|
+
interface FilterComponentProps<TData extends BaseRecord = BaseRecord> {
|
|
6
|
+
value: any;
|
|
7
|
+
onChange?: (value: any) => void;
|
|
8
|
+
context?: any;
|
|
9
|
+
}
|
|
10
|
+
interface RegisteredFilter<TData extends BaseRecord> {
|
|
11
|
+
id: string;
|
|
12
|
+
component: React.ComponentType<FilterComponentProps<TData>>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Register a filter component
|
|
16
|
+
* @template TData - The type of record data
|
|
17
|
+
* @param id - Unique identifier for the filter
|
|
18
|
+
* @param component - The React component for the filter
|
|
19
|
+
*/
|
|
20
|
+
declare function registerFilter<TData extends BaseRecord = BaseRecord>(id: string, component: React.ComponentType<FilterComponentProps<TData>>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get a registered filter component by ID
|
|
23
|
+
* @template TData - The type of record data
|
|
24
|
+
* @param id - The filter ID
|
|
25
|
+
* @returns The registered filter component or undefined
|
|
26
|
+
*/
|
|
27
|
+
declare function getFilter<TData extends BaseRecord = BaseRecord>(id: string): React.ComponentType<FilterComponentProps<TData>> | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a filter component exists
|
|
30
|
+
* @param id - The filter ID
|
|
31
|
+
* @returns True if the filter exists, false otherwise
|
|
32
|
+
*/
|
|
33
|
+
declare function hasFilter(id: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get all registered filter components
|
|
36
|
+
* @template TData - The type of record data
|
|
37
|
+
* @returns Array of registered filters with their IDs and components
|
|
38
|
+
*/
|
|
39
|
+
declare function listFilters<TData extends BaseRecord = BaseRecord>(): RegisteredFilter<TData>[];
|
|
40
|
+
/**
|
|
41
|
+
* Remove a specific filter component
|
|
42
|
+
* @param id - The filter ID to remove
|
|
43
|
+
* @returns True if the filter was removed, false if it didn't exist
|
|
44
|
+
*/
|
|
45
|
+
declare function removeFilter(id: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Clear all registered filter components
|
|
48
|
+
*/
|
|
49
|
+
declare function clearFilters(): void;
|
|
50
|
+
//#endregion
|
|
51
|
+
export { type FilterComponentProps, type RegisteredFilter, clearFilters, getFilter, hasFilter, listFilters, registerFilter, removeFilter };
|
|
52
|
+
//# sourceMappingURL=FilterRegistry.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
//#region src/components/data-table/toolbarItems/filters/FilterRegistry.ts
|
|
2
|
+
const filters = /* @__PURE__ */ new Map();
|
|
3
|
+
/**
|
|
4
|
+
* Register a filter component
|
|
5
|
+
* @template TData - The type of record data
|
|
6
|
+
* @param id - Unique identifier for the filter
|
|
7
|
+
* @param component - The React component for the filter
|
|
8
|
+
*/
|
|
9
|
+
function registerFilter(id, component) {
|
|
10
|
+
filters.set(id, component);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get a registered filter component by ID
|
|
14
|
+
* @template TData - The type of record data
|
|
15
|
+
* @param id - The filter ID
|
|
16
|
+
* @returns The registered filter component or undefined
|
|
17
|
+
*/
|
|
18
|
+
function getFilter(id) {
|
|
19
|
+
return filters.get(id);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if a filter component exists
|
|
23
|
+
* @param id - The filter ID
|
|
24
|
+
* @returns True if the filter exists, false otherwise
|
|
25
|
+
*/
|
|
26
|
+
function hasFilter(id) {
|
|
27
|
+
return filters.has(id);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get all registered filter components
|
|
31
|
+
* @template TData - The type of record data
|
|
32
|
+
* @returns Array of registered filters with their IDs and components
|
|
33
|
+
*/
|
|
34
|
+
function listFilters() {
|
|
35
|
+
return Array.from(filters.entries()).map(([id, component]) => ({
|
|
36
|
+
id,
|
|
37
|
+
component
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Remove a specific filter component
|
|
42
|
+
* @param id - The filter ID to remove
|
|
43
|
+
* @returns True if the filter was removed, false if it didn't exist
|
|
44
|
+
*/
|
|
45
|
+
function removeFilter(id) {
|
|
46
|
+
return filters.delete(id);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Clear all registered filter components
|
|
50
|
+
*/
|
|
51
|
+
function clearFilters() {
|
|
52
|
+
filters.clear();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
export { clearFilters, getFilter, hasFilter, listFilters, registerFilter, removeFilter };
|
|
57
|
+
//# sourceMappingURL=FilterRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterRegistry.js","names":[],"sources":["../../../../../../src/components/data-table/toolbarItems/filters/FilterRegistry.ts"],"sourcesContent":["import React from \"react\";\nimport { BaseRecord } from \"@refinedev/core\";\n\ninterface FilterComponentProps<TData extends BaseRecord = BaseRecord> {\n value: any;\n onChange?: (value: any) => void;\n context?: any;\n}\n\ninterface RegisteredFilter<TData extends BaseRecord> {\n id: string;\n component: React.ComponentType<FilterComponentProps<TData>>;\n}\n\n// Module-level private state\nconst filters: Map<\n string,\n React.ComponentType<FilterComponentProps<any>>\n> = new Map();\n\n/**\n * Register a filter component\n * @template TData - The type of record data\n * @param id - Unique identifier for the filter\n * @param component - The React component for the filter\n */\nfunction registerFilter<TData extends BaseRecord = BaseRecord>(\n id: string,\n component: React.ComponentType<FilterComponentProps<TData>>,\n): void {\n filters.set(id, component as React.ComponentType<FilterComponentProps<any>>);\n}\n\n/**\n * Get a registered filter component by ID\n * @template TData - The type of record data\n * @param id - The filter ID\n * @returns The registered filter component or undefined\n */\nfunction getFilter<TData extends BaseRecord = BaseRecord>(\n id: string,\n): React.ComponentType<FilterComponentProps<TData>> | undefined {\n return filters.get(id) as\n | React.ComponentType<FilterComponentProps<TData>>\n | undefined;\n}\n\n/**\n * Check if a filter component exists\n * @param id - The filter ID\n * @returns True if the filter exists, false otherwise\n */\nfunction hasFilter(id: string): boolean {\n return filters.has(id);\n}\n\n/**\n * Get all registered filter components\n * @template TData - The type of record data\n * @returns Array of registered filters with their IDs and components\n */\nfunction listFilters<\n TData extends BaseRecord = BaseRecord,\n>(): RegisteredFilter<TData>[] {\n return Array.from(filters.entries()).map(([id, component]) => ({\n id,\n component: component as React.ComponentType<FilterComponentProps<TData>>,\n }));\n}\n\n/**\n * Remove a specific filter component\n * @param id - The filter ID to remove\n * @returns True if the filter was removed, false if it didn't exist\n */\nfunction removeFilter(id: string): boolean {\n return filters.delete(id);\n}\n\n/**\n * Clear all registered filter components\n */\nfunction clearFilters(): void {\n filters.clear();\n}\n\nexport {\n registerFilter,\n getFilter,\n hasFilter,\n listFilters,\n removeFilter,\n clearFilters,\n};\n\nexport type { RegisteredFilter, FilterComponentProps };\n"],"mappings":";AAeA,MAAM,0BAGF,IAAI,KAAK;;;;;;;AAQb,SAAS,eACP,IACA,WACM;AACN,SAAQ,IAAI,IAAI,UAA4D;;;;;;;;AAS9E,SAAS,UACP,IAC8D;AAC9D,QAAO,QAAQ,IAAI,GAAG;;;;;;;AAUxB,SAAS,UAAU,IAAqB;AACtC,QAAO,QAAQ,IAAI,GAAG;;;;;;;AAQxB,SAAS,cAEsB;AAC7B,QAAO,MAAM,KAAK,QAAQ,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,gBAAgB;EAC7D;EACW;EACZ,EAAE;;;;;;;AAQL,SAAS,aAAa,IAAqB;AACzC,QAAO,QAAQ,OAAO,GAAG;;;;;AAM3B,SAAS,eAAqB;AAC5B,SAAQ,OAAO"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseFilterComponentProps } from "../types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/toolbarItems/filters/components/BooleanFilter.d.ts
|
|
5
|
+
declare function BooleanFilter<TData extends BaseRecord>({
|
|
6
|
+
value,
|
|
7
|
+
onChange,
|
|
8
|
+
config
|
|
9
|
+
}: BaseFilterComponentProps<TData>): any;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { BooleanFilter };
|
|
12
|
+
//# sourceMappingURL=BooleanFilter.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BaseFilter } from "../BaseFilter.js";
|
|
2
|
+
import { Switch } from "@lumeweb/portal-framework-ui-core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/data-table/toolbarItems/filters/components/BooleanFilter.tsx
|
|
7
|
+
function BooleanFilter({ value, onChange, config }) {
|
|
8
|
+
const handleChange = (checked) => {
|
|
9
|
+
if (onChange) onChange(checked);
|
|
10
|
+
};
|
|
11
|
+
const switchId = `boolean-filter-${config.name || config.id}`;
|
|
12
|
+
const label = config.itemLabel ?? config.label;
|
|
13
|
+
return /* @__PURE__ */ jsx(BaseFilter, {
|
|
14
|
+
config,
|
|
15
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
16
|
+
className: "flex items-center space-x-2",
|
|
17
|
+
children: [/* @__PURE__ */ jsx(Switch, {
|
|
18
|
+
id: switchId,
|
|
19
|
+
checked: value === true,
|
|
20
|
+
onCheckedChange: handleChange,
|
|
21
|
+
disabled: config.disabled || false,
|
|
22
|
+
"aria-label": label
|
|
23
|
+
}), /* @__PURE__ */ jsx("label", {
|
|
24
|
+
htmlFor: switchId,
|
|
25
|
+
className: "text-sm font-medium",
|
|
26
|
+
children: label
|
|
27
|
+
})]
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { BooleanFilter };
|
|
34
|
+
//# sourceMappingURL=BooleanFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanFilter.js","names":[],"sources":["../../../../../../../src/components/data-table/toolbarItems/filters/components/BooleanFilter.tsx"],"sourcesContent":["import React from \"react\";\nimport { Switch } from \"@lumeweb/portal-framework-ui-core\";\nimport { BaseFilter } from \"../BaseFilter\";\nimport type { BaseFilterComponentProps } from \"@/components/data-table/toolbarItems/filters/types\";\nimport { BaseRecord } from \"@refinedev/core\";\n\nfunction BooleanFilter<TData extends BaseRecord>({\n value,\n onChange,\n config,\n}: BaseFilterComponentProps<TData>) {\n const handleChange = (checked: boolean) => {\n if (onChange) {\n onChange(checked);\n }\n };\n\n const switchId = `boolean-filter-${config.name || config.id}`;\n const label = config.itemLabel ?? config.label;\n\n return (\n <BaseFilter config={config}>\n <div className=\"flex items-center space-x-2\">\n <Switch\n id={switchId}\n checked={value === true}\n onCheckedChange={handleChange}\n disabled={config.disabled || false}\n aria-label={label}\n />\n <label htmlFor={switchId} className=\"text-sm font-medium\">{label}</label>\n </div>\n </BaseFilter>\n );\n}\n\nexport { BooleanFilter };\n"],"mappings":";;;;;;AAMA,SAAS,cAAwC,EAC/C,OACA,UACA,UACkC;CAClC,MAAM,gBAAgB,YAAqB;AACzC,MAAI,SACF,UAAS,QAAQ;;CAIrB,MAAM,WAAW,kBAAkB,OAAO,QAAQ,OAAO;CACzD,MAAM,QAAQ,OAAO,aAAa,OAAO;AAEzC,QACE,oBAAC,YAAD;EAAoB;YAClB,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,QAAD;IACE,IAAI;IACJ,SAAS,UAAU;IACnB,iBAAiB;IACjB,UAAU,OAAO,YAAY;IAC7B,cAAY;IACZ,GACF,oBAAC,SAAD;IAAO,SAAS;IAAU,WAAU;cAAuB;IAAc,EACrE;;EACK"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseFilterComponentProps } from "../types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
|
|
4
|
+
//#region src/components/data-table/toolbarItems/filters/components/DateFilter.d.ts
|
|
5
|
+
declare function DateFilter<TData extends BaseRecord>({
|
|
6
|
+
value,
|
|
7
|
+
onChange,
|
|
8
|
+
config
|
|
9
|
+
}: BaseFilterComponentProps<TData>): any;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { DateFilter };
|
|
12
|
+
//# sourceMappingURL=DateFilter.d.ts.map
|