@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,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/MainNavigation.d.ts
|
|
4
|
+
interface MenuProps {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
onItemClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const MainNavigation: React.FC<MenuProps>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { MainNavigation };
|
|
11
|
+
//# sourceMappingURL=MainNavigation.d.ts.map
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { useSidebarContext } from "./layout/SidebarContext.js";
|
|
2
|
+
import { useMenuItems } from "../hooks/useMenuItems.js";
|
|
3
|
+
import { Button, Collapsible, CollapsibleContent, CollapsibleTrigger, ScrollArea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, cn } from "@lumeweb/portal-framework-ui-core";
|
|
4
|
+
import { Link } from "@refinedev/core";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { useLocation } from "react-router";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { ChevronDown, Dot } from "lucide-react";
|
|
9
|
+
|
|
10
|
+
//#region src/components/MainNavigation.tsx
|
|
11
|
+
const isRouteActive = (item, currentPathname) => {
|
|
12
|
+
const itemPath = item.path;
|
|
13
|
+
if (!itemPath) return false;
|
|
14
|
+
if (itemPath === currentPathname) return true;
|
|
15
|
+
if (itemPath !== "/" && currentPathname.startsWith(`${itemPath}/`)) return true;
|
|
16
|
+
return false;
|
|
17
|
+
};
|
|
18
|
+
const isChildRouteActive = (child, parent, currentPathname) => {
|
|
19
|
+
if (child.index && child.path === "" && parent.path === currentPathname) return true;
|
|
20
|
+
return isRouteActive(child, currentPathname);
|
|
21
|
+
};
|
|
22
|
+
const NavItemContent = ({ IconComponent, isCollapsed, item }) => /* @__PURE__ */ jsxs("div", {
|
|
23
|
+
className: "flex items-center",
|
|
24
|
+
children: [IconComponent && /* @__PURE__ */ jsx("span", {
|
|
25
|
+
className: "mr-2 h-5 w-5",
|
|
26
|
+
children: /* @__PURE__ */ jsx(IconComponent, {})
|
|
27
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
28
|
+
className: cn({ hidden: isCollapsed }),
|
|
29
|
+
children: item.label
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
const CollapseMenuButton = ({ active, icon: Icon, isOpen, item, label, onItemClick, resetKey, submenus }) => {
|
|
33
|
+
const pathname = useLocation().pathname;
|
|
34
|
+
const isSubmenuActive = submenus.some((submenu) => submenu.active === void 0 ? submenu.href === pathname : submenu.active);
|
|
35
|
+
const [isOpenState, setIsOpenState] = React.useState(active || isSubmenuActive);
|
|
36
|
+
const headerHref = item.path || submenus[0]?.href;
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
setIsOpenState(active || isSubmenuActive);
|
|
39
|
+
}, [active, isSubmenuActive]);
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
if (resetKey) setIsOpenState(false);
|
|
42
|
+
}, [resetKey]);
|
|
43
|
+
return /* @__PURE__ */ jsxs(Collapsible, {
|
|
44
|
+
className: "w-full",
|
|
45
|
+
onOpenChange: setIsOpenState,
|
|
46
|
+
open: isOpenState,
|
|
47
|
+
children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
|
|
48
|
+
asChild: true,
|
|
49
|
+
className: "mb-1 [&[data-state=open]>div>div>svg]:rotate-180",
|
|
50
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
51
|
+
className: "h-10 w-full justify-start",
|
|
52
|
+
variant: active || isSubmenuActive ? "secondary" : "ghost",
|
|
53
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
54
|
+
className: "flex w-full items-center justify-between",
|
|
55
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
56
|
+
className: "flex items-center",
|
|
57
|
+
children: [Icon && /* @__PURE__ */ jsx("span", {
|
|
58
|
+
className: "mr-4",
|
|
59
|
+
children: /* @__PURE__ */ jsx(Icon, { size: 18 })
|
|
60
|
+
}), headerHref && item.linkable !== false ? /* @__PURE__ */ jsx(Link, {
|
|
61
|
+
"aria-label": label,
|
|
62
|
+
onClick: (e) => e.stopPropagation(),
|
|
63
|
+
onKeyDown: (e) => {
|
|
64
|
+
if (e.key === " ") {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
e.stopPropagation();
|
|
67
|
+
}
|
|
68
|
+
if (e.key === "Enter") e.stopPropagation();
|
|
69
|
+
},
|
|
70
|
+
to: headerHref,
|
|
71
|
+
children: /* @__PURE__ */ jsx("p", {
|
|
72
|
+
className: cn({
|
|
73
|
+
"-translate-x-96 opacity-0": !isOpen,
|
|
74
|
+
"translate-x-0 opacity-100": isOpen
|
|
75
|
+
}),
|
|
76
|
+
children: label
|
|
77
|
+
})
|
|
78
|
+
}) : /* @__PURE__ */ jsx("p", {
|
|
79
|
+
"aria-disabled": "true",
|
|
80
|
+
className: cn({
|
|
81
|
+
"-translate-x-96 opacity-0": !isOpen,
|
|
82
|
+
"translate-x-0 opacity-100": isOpen
|
|
83
|
+
}),
|
|
84
|
+
children: label
|
|
85
|
+
})]
|
|
86
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
87
|
+
className: cn("whitespace-nowrap", isOpen ? "translate-x-0 opacity-100" : "-translate-x-96 opacity-0"),
|
|
88
|
+
children: /* @__PURE__ */ jsx(ChevronDown, {
|
|
89
|
+
className: "transition-transform duration-200",
|
|
90
|
+
size: 18
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
}), /* @__PURE__ */ jsx(CollapsibleContent, {
|
|
96
|
+
className: "data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden",
|
|
97
|
+
children: submenus.map(({ active, href, icon: Icon, label }, index) => /* @__PURE__ */ jsx(Button, {
|
|
98
|
+
asChild: true,
|
|
99
|
+
className: "mb-1 h-10 w-full justify-start",
|
|
100
|
+
variant: active === void 0 && pathname === href || active ? "secondary" : "ghost",
|
|
101
|
+
children: /* @__PURE__ */ jsxs(Link, {
|
|
102
|
+
onClick: () => {
|
|
103
|
+
if (onItemClick) onItemClick();
|
|
104
|
+
},
|
|
105
|
+
to: href,
|
|
106
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
107
|
+
className: "ml-2 mr-4",
|
|
108
|
+
children: Icon ? /* @__PURE__ */ jsx(Icon, { size: 18 }) : /* @__PURE__ */ jsx(Dot, { size: 18 })
|
|
109
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
110
|
+
className: cn({
|
|
111
|
+
"-translate-x-96 opacity-0": !isOpen,
|
|
112
|
+
"translate-x-0 opacity-100": isOpen
|
|
113
|
+
}),
|
|
114
|
+
children: label
|
|
115
|
+
})]
|
|
116
|
+
})
|
|
117
|
+
}, index))
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
const LinkableNavItem = ({ active, IconComponent, isCollapsed, item, onItemClick }) => /* @__PURE__ */ jsx(Button, {
|
|
122
|
+
asChild: true,
|
|
123
|
+
className: "mb-1 h-10 w-full justify-start",
|
|
124
|
+
variant: active ? "secondary" : "ghost",
|
|
125
|
+
children: /* @__PURE__ */ jsx(Link, {
|
|
126
|
+
onClick: onItemClick,
|
|
127
|
+
to: item.path || "",
|
|
128
|
+
children: /* @__PURE__ */ jsx(NavItemContent, {
|
|
129
|
+
active,
|
|
130
|
+
IconComponent,
|
|
131
|
+
isCollapsed,
|
|
132
|
+
item,
|
|
133
|
+
onItemClick
|
|
134
|
+
})
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
const NonLinkableNavItem = ({ active, IconComponent, isCollapsed, item, onItemClick }) => /* @__PURE__ */ jsx(Button, {
|
|
138
|
+
className: "mb-1 h-10 w-full justify-start",
|
|
139
|
+
onClick: onItemClick,
|
|
140
|
+
variant: active ? "secondary" : "ghost",
|
|
141
|
+
children: /* @__PURE__ */ jsx(NavItemContent, {
|
|
142
|
+
active,
|
|
143
|
+
IconComponent,
|
|
144
|
+
isCollapsed,
|
|
145
|
+
item,
|
|
146
|
+
onItemClick
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
const NavItem = React.forwardRef(({ active, item, onItemClick }, ref) => {
|
|
150
|
+
const { isCollapsed } = useSidebarContext();
|
|
151
|
+
let IconComponent = void 0;
|
|
152
|
+
if (item.icon) IconComponent = item.icon;
|
|
153
|
+
return /* @__PURE__ */ jsx("li", {
|
|
154
|
+
ref,
|
|
155
|
+
children: item.linkable !== false && Boolean(item.path) ? /* @__PURE__ */ jsx(LinkableNavItem, {
|
|
156
|
+
active,
|
|
157
|
+
IconComponent,
|
|
158
|
+
isCollapsed,
|
|
159
|
+
item,
|
|
160
|
+
onItemClick
|
|
161
|
+
}) : /* @__PURE__ */ jsx(NonLinkableNavItem, {
|
|
162
|
+
active,
|
|
163
|
+
IconComponent,
|
|
164
|
+
isCollapsed,
|
|
165
|
+
item,
|
|
166
|
+
onItemClick
|
|
167
|
+
})
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
NavItem.displayName = "NavItem";
|
|
171
|
+
const MainNavigation = ({ isOpen, onItemClick }) => {
|
|
172
|
+
const menu = useMenuItems();
|
|
173
|
+
const pathname = useLocation().pathname;
|
|
174
|
+
const renderMenuItem = (item) => {
|
|
175
|
+
const active = isRouteActive(item, pathname);
|
|
176
|
+
if (item.children && item.children.length > 0) {
|
|
177
|
+
const submenus = item.children.map((child) => ({
|
|
178
|
+
active: isChildRouteActive(child, item, pathname),
|
|
179
|
+
href: child.index ? item.path : child.path || "",
|
|
180
|
+
icon: child.icon,
|
|
181
|
+
label: child.label
|
|
182
|
+
}));
|
|
183
|
+
let CollapseMenuIcon = void 0;
|
|
184
|
+
if (item.icon) CollapseMenuIcon = item.icon;
|
|
185
|
+
return /* @__PURE__ */ jsx(CollapseMenuButton, {
|
|
186
|
+
active,
|
|
187
|
+
icon: CollapseMenuIcon,
|
|
188
|
+
isOpen,
|
|
189
|
+
item,
|
|
190
|
+
label: item.label,
|
|
191
|
+
onItemClick,
|
|
192
|
+
resetKey: typeof onItemClick === "function" ? pathname : void 0,
|
|
193
|
+
submenus
|
|
194
|
+
}, item.id);
|
|
195
|
+
} else return /* @__PURE__ */ jsx(TooltipProvider, {
|
|
196
|
+
disableHoverableContent: true,
|
|
197
|
+
children: /* @__PURE__ */ jsxs(Tooltip, {
|
|
198
|
+
delayDuration: 100,
|
|
199
|
+
children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
200
|
+
asChild: true,
|
|
201
|
+
children: /* @__PURE__ */ jsx(NavItem, {
|
|
202
|
+
active,
|
|
203
|
+
item,
|
|
204
|
+
onItemClick
|
|
205
|
+
})
|
|
206
|
+
}), isOpen === false && /* @__PURE__ */ jsx(TooltipContent, {
|
|
207
|
+
side: "right",
|
|
208
|
+
children: item.label
|
|
209
|
+
})]
|
|
210
|
+
})
|
|
211
|
+
}, item.id);
|
|
212
|
+
};
|
|
213
|
+
return /* @__PURE__ */ jsx(ScrollArea, {
|
|
214
|
+
className: "[&>div>div[style]]:!block",
|
|
215
|
+
children: /* @__PURE__ */ jsx("nav", {
|
|
216
|
+
className: "mt-8 flex h-full w-full flex-col",
|
|
217
|
+
children: /* @__PURE__ */ jsx("ul", {
|
|
218
|
+
className: "flex flex-1 flex-col items-start space-y-1 overflow-y-auto overflow-x-hidden px-2",
|
|
219
|
+
children: menu.getMenuItems().map(renderMenuItem)
|
|
220
|
+
})
|
|
221
|
+
})
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
//#endregion
|
|
226
|
+
export { MainNavigation };
|
|
227
|
+
//# sourceMappingURL=MainNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainNavigation.js","names":[],"sources":["../../../src/components/MainNavigation.tsx"],"sourcesContent":["import type {\n NavigationItemIconProps,\n NavigationItem as NavigationItemType,\n} from \"@lumeweb/portal-framework-core\";\n\nimport {\n Button,\n cn,\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n ScrollArea,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport { Link } from \"@refinedev/core\";\nimport { ChevronDown, Dot } from \"lucide-react\";\nimport React from \"react\";\nimport { useLocation } from \"react-router\";\n\nimport { useMenuItems } from \"@/hooks/useMenuItems\";\n\nimport { useSidebarContext } from \"./layout/SidebarContext\";\n\nconst isRouteActive = (\n item: NavigationItemType,\n currentPathname: string,\n): boolean => {\n const itemPath = item.path;\n\n if (!itemPath) return false;\n\n // Exact match\n if (itemPath === currentPathname) return true;\n\n // Check if current path starts with item path + \"/\"\n if (itemPath !== \"/\" && currentPathname.startsWith(`${itemPath}/`))\n return true;\n\n return false;\n};\n\nconst isChildRouteActive = (\n child: NavigationItemType,\n parent: NavigationItemType,\n currentPathname: string,\n): boolean => {\n // Special handling for index routes - they should be active when we're on the parent path\n if (child.index && child.path === \"\" && parent.path === currentPathname) {\n return true;\n }\n\n return isRouteActive(child, currentPathname);\n};\n\ninterface BaseNavItemProps {\n active: boolean;\n IconComponent: React.FC<NavigationItemIconProps> | undefined;\n isCollapsed: boolean;\n item: NavigationItemType;\n onItemClick?: () => void;\n}\n\nconst NavItemContent: React.FC<BaseNavItemProps> = ({\n IconComponent,\n isCollapsed,\n item,\n}) => (\n <div className=\"flex items-center\">\n {IconComponent && (\n <span className=\"mr-2 h-5 w-5\">\n <IconComponent />\n </span>\n )}\n <span className={cn({ hidden: isCollapsed })}>{item.label}</span>\n </div>\n);\n\ninterface CollapseMenuButtonProps {\n active: boolean;\n icon?: React.FC<NavigationItemIconProps>;\n isOpen: boolean;\n item: NavigationItemType;\n label: string;\n onItemClick?: () => void;\n resetKey?: string;\n submenus: Submenu[];\n}\n\ninterface Submenu {\n active?: boolean;\n href: string;\n icon?: React.FC<NavigationItemIconProps>;\n label: string;\n}\n\nconst CollapseMenuButton: React.FC<CollapseMenuButtonProps> = ({\n active,\n icon: Icon,\n isOpen,\n item,\n label,\n onItemClick,\n resetKey,\n submenus,\n}) => {\n const location = useLocation();\n const pathname = location.pathname; // Get current path\n const isSubmenuActive = submenus.some((submenu) =>\n submenu.active === undefined ? submenu.href === pathname : submenu.active,\n );\n const [isOpenState, setIsOpenState] = React.useState<boolean>(\n active || isSubmenuActive,\n );\n const headerHref = item.path || submenus[0]?.href;\n\n React.useEffect(() => {\n setIsOpenState(active || isSubmenuActive);\n }, [active, isSubmenuActive]);\n\n // Reset state when resetKey changes (mobile navigation)\n React.useEffect(() => {\n if (resetKey) {\n setIsOpenState(false);\n }\n }, [resetKey]);\n\n return (\n <Collapsible\n className=\"w-full\"\n onOpenChange={setIsOpenState}\n open={isOpenState}>\n <CollapsibleTrigger\n asChild\n className=\"mb-1 [&[data-state=open]>div>div>svg]:rotate-180\">\n <Button\n className=\"h-10 w-full justify-start\"\n variant={active || isSubmenuActive ? \"secondary\" : \"ghost\"}>\n <div className=\"flex w-full items-center justify-between\">\n <div className=\"flex items-center\">\n {Icon && (\n <span className=\"mr-4\">\n <Icon size={18} />\n </span>\n )}\n {headerHref && item.linkable !== false ? (\n <Link\n aria-label={label}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n if (e.key === \" \") {\n e.preventDefault(); // avoid page scroll\n e.stopPropagation();\n }\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n }}\n to={headerHref}>\n <p\n className={cn({\n \"-translate-x-96 opacity-0\": !isOpen,\n \"translate-x-0 opacity-100\": isOpen,\n })}>\n {label}\n </p>\n </Link>\n ) : (\n <p\n aria-disabled=\"true\"\n className={cn({\n \"-translate-x-96 opacity-0\": !isOpen,\n \"translate-x-0 opacity-100\": isOpen,\n })}>\n {label}\n </p>\n )}\n </div>\n <div\n className={cn(\n \"whitespace-nowrap\",\n isOpen\n ? \"translate-x-0 opacity-100\"\n : \"-translate-x-96 opacity-0\",\n )}>\n <ChevronDown\n className=\"transition-transform duration-200\"\n size={18}\n />\n </div>\n </div>\n </Button>\n </CollapsibleTrigger>\n <CollapsibleContent className=\"data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden\">\n {submenus.map(({ active, href, icon: Icon, label }, index) => (\n <Button\n asChild\n className=\"mb-1 h-10 w-full justify-start\"\n key={index}\n variant={\n (active === undefined && pathname === href) || active\n ? \"secondary\"\n : \"ghost\"\n }>\n <Link\n onClick={() => {\n if (onItemClick) {\n onItemClick();\n }\n }}\n to={href}>\n <span className=\"ml-2 mr-4\">\n {Icon ? <Icon size={18} /> : <Dot size={18} />}\n </span>\n <p\n className={cn({\n \"-translate-x-96 opacity-0\": !isOpen,\n \"translate-x-0 opacity-100\": isOpen,\n })}>\n {label}\n </p>\n </Link>\n </Button>\n ))}\n </CollapsibleContent>\n </Collapsible>\n );\n};\n\nconst LinkableNavItem: React.FC<BaseNavItemProps> = ({\n active,\n IconComponent,\n isCollapsed,\n item,\n onItemClick,\n}) => (\n <Button\n asChild\n className=\"mb-1 h-10 w-full justify-start\"\n variant={active ? \"secondary\" : \"ghost\"}>\n <Link onClick={onItemClick} to={item.path || \"\"}>\n <NavItemContent\n active={active}\n IconComponent={IconComponent}\n isCollapsed={isCollapsed}\n item={item}\n onItemClick={onItemClick}\n />\n </Link>\n </Button>\n);\n\nconst NonLinkableNavItem: React.FC<BaseNavItemProps> = ({\n active,\n IconComponent,\n isCollapsed,\n item,\n onItemClick,\n}) => (\n <Button\n className=\"mb-1 h-10 w-full justify-start\"\n onClick={onItemClick}\n variant={active ? \"secondary\" : \"ghost\"}>\n <NavItemContent\n active={active}\n IconComponent={IconComponent}\n isCollapsed={isCollapsed}\n item={item}\n onItemClick={onItemClick}\n />\n </Button>\n);\n\ninterface MenuProps {\n isOpen: boolean;\n onItemClick?: () => void;\n}\n\nconst NavItem: React.FC<{\n active: boolean;\n item: NavigationItemType;\n onItemClick?: () => void;\n}> = React.forwardRef<\n HTMLLIElement,\n { active: boolean; item: NavigationItemType; onItemClick?: () => void }\n>(({ active, item, onItemClick }, ref) => {\n const { isCollapsed } = useSidebarContext();\n\n let IconComponent: React.FC<NavigationItemIconProps> | undefined = undefined;\n\n if (item.icon) {\n IconComponent = item.icon;\n }\n\n return (\n <li ref={ref}>\n {item.linkable !== false && Boolean(item.path) ? (\n <LinkableNavItem\n active={active}\n IconComponent={IconComponent}\n isCollapsed={isCollapsed}\n item={item}\n onItemClick={onItemClick}\n />\n ) : (\n <NonLinkableNavItem\n active={active}\n IconComponent={IconComponent}\n isCollapsed={isCollapsed}\n item={item}\n onItemClick={onItemClick}\n />\n )}\n </li>\n );\n});\nNavItem.displayName = \"NavItem\";\n\nexport const MainNavigation: React.FC<MenuProps> = ({\n isOpen,\n onItemClick,\n}) => {\n const menu = useMenuItems(); // Get menu data\n const location = useLocation();\n const pathname = location.pathname;\n\n const renderMenuItem = (item: NavigationItemType) => {\n const active = isRouteActive(item, pathname);\n\n if (item.children && item.children.length > 0) {\n const submenus: Submenu[] = item.children.map((child) => ({\n active: isChildRouteActive(child, item, pathname),\n href: child.index ? item.path : child.path || \"\",\n icon: child.icon,\n label: child.label,\n }));\n\n let CollapseMenuIcon: React.FC<NavigationItemIconProps> | undefined =\n undefined;\n\n if (item.icon) {\n CollapseMenuIcon = item.icon;\n }\n\n return (\n <CollapseMenuButton\n active={active}\n icon={CollapseMenuIcon}\n isOpen={isOpen}\n item={item}\n key={item.id}\n label={item.label}\n onItemClick={onItemClick}\n resetKey={typeof onItemClick === \"function\" ? pathname : undefined}\n submenus={submenus}\n />\n );\n } else {\n return (\n <TooltipProvider disableHoverableContent key={item.id}>\n <Tooltip delayDuration={100}>\n <TooltipTrigger asChild>\n <NavItem active={active} item={item} onItemClick={onItemClick} />\n </TooltipTrigger>\n {isOpen === false && (\n <TooltipContent side=\"right\">{item.label}</TooltipContent>\n )}\n </Tooltip>\n </TooltipProvider>\n );\n }\n };\n\n return (\n <ScrollArea className=\"[&>div>div[style]]:!block\">\n <nav className=\"mt-8 flex h-full w-full flex-col\">\n <ul className=\"flex flex-1 flex-col items-start space-y-1 overflow-y-auto overflow-x-hidden px-2\">\n {menu.getMenuItems().map(renderMenuItem)}\n </ul>\n </nav>\n </ScrollArea>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseRecord, HttpError } from "@refinedev/core";
|
|
2
|
+
import { JSX } from "react";
|
|
3
|
+
import { UseTableReturnType } from "@refinedev/react-table";
|
|
4
|
+
|
|
5
|
+
//#region src/components/SkeletonLoader.d.ts
|
|
6
|
+
type LayoutType = "card" | "custom" | "default" | "list" | "profile" | "table";
|
|
7
|
+
interface SkeletonLoaderProps<TData extends BaseRecord> {
|
|
8
|
+
className?: string;
|
|
9
|
+
cols?: number;
|
|
10
|
+
layout?: LayoutType;
|
|
11
|
+
rows?: number;
|
|
12
|
+
showHeader?: boolean;
|
|
13
|
+
table?: UseTableReturnType<TData, HttpError>;
|
|
14
|
+
}
|
|
15
|
+
declare function SkeletonLoader<TData extends BaseRecord>({
|
|
16
|
+
className,
|
|
17
|
+
cols,
|
|
18
|
+
layout,
|
|
19
|
+
rows,
|
|
20
|
+
showHeader,
|
|
21
|
+
table
|
|
22
|
+
}: SkeletonLoaderProps<TData>): JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { SkeletonLoader };
|
|
25
|
+
//# sourceMappingURL=SkeletonLoader.d.ts.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, cn } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { flexRender } from "@tanstack/react-table";
|
|
5
|
+
|
|
6
|
+
//#region src/components/SkeletonLoader.tsx
|
|
7
|
+
function SkeletonLoader({ className, cols = 3, layout = "default", rows = 3, showHeader = true, table }) {
|
|
8
|
+
const renderTableSkeleton = () => {
|
|
9
|
+
if (!table) {
|
|
10
|
+
console.warn("Table object is required for table layout");
|
|
11
|
+
return /* @__PURE__ */ jsx(Fragment, {});
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsxs(Table, {
|
|
14
|
+
className: cn("w-full border-collapse", className),
|
|
15
|
+
children: [showHeader && /* @__PURE__ */ jsx(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, {
|
|
16
|
+
className: "border-none",
|
|
17
|
+
children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx(TableHead, {
|
|
18
|
+
className: "border-none",
|
|
19
|
+
style: { width: header.getSize() },
|
|
20
|
+
children: header.isPlaceholder ? /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }) : flexRender(header.column.columnDef.header, header.getContext())
|
|
21
|
+
}, header.id))
|
|
22
|
+
}, headerGroup.id)) }), /* @__PURE__ */ jsx(TableBody, { children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx(TableRow, {
|
|
23
|
+
className: "border-none",
|
|
24
|
+
children: table.getAllColumns().map((column) => /* @__PURE__ */ jsx(TableCell, {
|
|
25
|
+
className: "border-none",
|
|
26
|
+
children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" })
|
|
27
|
+
}, column.id))
|
|
28
|
+
}, rowIndex)) })]
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const renderCardSkeleton = () => /* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: cn("space-y-2", className),
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-40 w-full" }),
|
|
35
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-3/4" }),
|
|
36
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" })
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
const renderListSkeleton = () => /* @__PURE__ */ jsxs("div", {
|
|
40
|
+
className: cn("flex items-center space-x-4", className),
|
|
41
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-12 rounded-full" }), /* @__PURE__ */ jsxs("div", {
|
|
42
|
+
className: "space-y-2",
|
|
43
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-[200px]" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-[150px]" })]
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
const renderProfileSkeleton = () => /* @__PURE__ */ jsxs("div", {
|
|
47
|
+
className: cn("space-y-4", className),
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-20 w-20 rounded-full" }),
|
|
50
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-[150px]" }),
|
|
51
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-[200px]" })
|
|
52
|
+
]
|
|
53
|
+
});
|
|
54
|
+
const renderCustomSkeleton = () => /* @__PURE__ */ jsx("div", {
|
|
55
|
+
className: cn(`grid grid-cols-${cols} gap-4`, className),
|
|
56
|
+
children: Array.from({ length: cols * rows }).map((_, index) => /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }, index))
|
|
57
|
+
});
|
|
58
|
+
const renderDefaultSkeleton = () => /* @__PURE__ */ jsxs("div", {
|
|
59
|
+
className: cn("space-y-2", className),
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }),
|
|
62
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-5/6" }),
|
|
63
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-4/6" })
|
|
64
|
+
]
|
|
65
|
+
});
|
|
66
|
+
switch (layout) {
|
|
67
|
+
case "card": return renderCardSkeleton();
|
|
68
|
+
case "custom": return renderCustomSkeleton();
|
|
69
|
+
case "list": return renderListSkeleton();
|
|
70
|
+
case "profile": return renderProfileSkeleton();
|
|
71
|
+
case "table": return renderTableSkeleton();
|
|
72
|
+
default: return renderDefaultSkeleton();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
//#endregion
|
|
77
|
+
export { SkeletonLoader };
|
|
78
|
+
//# sourceMappingURL=SkeletonLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonLoader.js","names":[],"sources":["../../../src/components/SkeletonLoader.tsx"],"sourcesContent":["import {\n cn,\n Skeleton,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport { BaseRecord, HttpError } from \"@refinedev/core\";\nimport { UseTableReturnType } from \"@refinedev/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport React, { type JSX } from \"react\";\n\ntype LayoutType = \"card\" | \"custom\" | \"default\" | \"list\" | \"profile\" | \"table\";\n\ninterface SkeletonLoaderProps<TData extends BaseRecord> {\n className?: string;\n cols?: number;\n layout?: LayoutType;\n rows?: number;\n showHeader?: boolean;\n table?: UseTableReturnType<TData, HttpError>;\n}\n\nexport function SkeletonLoader<TData extends BaseRecord>({\n className,\n cols = 3,\n layout = \"default\",\n rows = 3,\n showHeader = true,\n table,\n}: SkeletonLoaderProps<TData>): JSX.Element {\n const renderTableSkeleton = (): JSX.Element => {\n if (!table) {\n console.warn(\"Table object is required for table layout\");\n return <></>;\n }\n\n return (\n <Table className={cn(\"w-full border-collapse\", className)}>\n {showHeader && (\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow className={\"border-none\"} key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n className={\"border-none\"}\n key={header.id}\n style={{ width: header.getSize() }}>\n {header.isPlaceholder ? (\n <Skeleton className=\"h-4 w-full\" />\n ) : (\n flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )\n )}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )}\n <TableBody>\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <TableRow className={\"border-none\"} key={rowIndex}>\n {table.getAllColumns().map((column) => (\n <TableCell className={\"border-none\"} key={column.id}>\n <Skeleton className=\"h-4 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n };\n\n const renderCardSkeleton = (): JSX.Element => (\n <div className={cn(\"space-y-2\", className)}>\n <Skeleton className=\"h-40 w-full\" />\n <Skeleton className=\"h-4 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </div>\n );\n\n const renderListSkeleton = (): JSX.Element => (\n <div className={cn(\"flex items-center space-x-4\", className)}>\n <Skeleton className=\"h-12 w-12 rounded-full\" />\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-[200px]\" />\n <Skeleton className=\"h-4 w-[150px]\" />\n </div>\n </div>\n );\n\n const renderProfileSkeleton = (): JSX.Element => (\n <div className={cn(\"space-y-4\", className)}>\n <Skeleton className=\"h-20 w-20 rounded-full\" />\n <Skeleton className=\"h-4 w-[150px]\" />\n <Skeleton className=\"h-4 w-[200px]\" />\n </div>\n );\n\n const renderCustomSkeleton = (): JSX.Element => (\n <div className={cn(`grid grid-cols-${cols} gap-4`, className)}>\n {Array.from({ length: cols * rows }).map((_, index) => (\n <Skeleton className=\"h-4 w-full\" key={index} />\n ))}\n </div>\n );\n\n const renderDefaultSkeleton = (): JSX.Element => (\n <div className={cn(\"space-y-2\", className)}>\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-5/6\" />\n <Skeleton className=\"h-4 w-4/6\" />\n </div>\n );\n\n switch (layout) {\n case \"card\":\n return renderCardSkeleton();\n case \"custom\":\n return renderCustomSkeleton();\n case \"list\":\n return renderListSkeleton();\n case \"profile\":\n return renderProfileSkeleton();\n case \"table\":\n return renderTableSkeleton();\n default:\n return renderDefaultSkeleton();\n }\n}\n"],"mappings":";;;;;;AA0BA,SAAgB,eAAyC,EACvD,WACA,OAAO,GACP,SAAS,WACT,OAAO,GACP,aAAa,MACb,SAC0C;CAC1C,MAAM,4BAAyC;AAC7C,MAAI,CAAC,OAAO;AACV,WAAQ,KAAK,4CAA4C;AACzD,UAAO,gCAAK;;AAGd,SACE,qBAAC,OAAD;GAAO,WAAW,GAAG,0BAA0B,UAAU;aAAzD,CACG,cACC,oBAAC,aAAD,YACG,MAAM,iBAAiB,CAAC,KAAK,gBAC5B,oBAAC,UAAD;IAAU,WAAW;cAClB,YAAY,QAAQ,KAAK,WACxB,oBAAC,WAAD;KACE,WAAW;KAEX,OAAO,EAAE,OAAO,OAAO,SAAS,EAAE;eACjC,OAAO,gBACN,oBAAC,UAAD,EAAU,WAAU,cAAe,IAEnC,WACE,OAAO,OAAO,UAAU,QACxB,OAAO,YAAY,CACpB;KAEO,EAVL,OAAO,GAUF,CACZ;IACO,EAhB8B,YAAY,GAgB1C,CACX,EACU,GAEhB,oBAAC,WAAD,YACG,MAAM,KAAK,EAAE,QAAQ,MAAM,CAAC,CAAC,KAAK,GAAG,aACpC,oBAAC,UAAD;IAAU,WAAW;cAClB,MAAM,eAAe,CAAC,KAAK,WAC1B,oBAAC,WAAD;KAAW,WAAW;eACpB,oBAAC,UAAD,EAAU,WAAU,cAAe;KACzB,EAF8B,OAAO,GAErC,CACZ;IACO,EAN8B,SAM9B,CACX,EACQ,EACN;;;CAIZ,MAAM,2BACJ,qBAAC,OAAD;EAAK,WAAW,GAAG,aAAa,UAAU;YAA1C;GACE,oBAAC,UAAD,EAAU,WAAU,eAAgB;GACpC,oBAAC,UAAD,EAAU,WAAU,aAAc;GAClC,oBAAC,UAAD,EAAU,WAAU,aAAc;GAC9B;;CAGR,MAAM,2BACJ,qBAAC,OAAD;EAAK,WAAW,GAAG,+BAA+B,UAAU;YAA5D,CACE,oBAAC,UAAD,EAAU,WAAU,0BAA2B,GAC/C,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,UAAD,EAAU,WAAU,iBAAkB,GACtC,oBAAC,UAAD,EAAU,WAAU,iBAAkB,EAClC;KACF;;CAGR,MAAM,8BACJ,qBAAC,OAAD;EAAK,WAAW,GAAG,aAAa,UAAU;YAA1C;GACE,oBAAC,UAAD,EAAU,WAAU,0BAA2B;GAC/C,oBAAC,UAAD,EAAU,WAAU,iBAAkB;GACtC,oBAAC,UAAD,EAAU,WAAU,iBAAkB;GAClC;;CAGR,MAAM,6BACJ,oBAAC,OAAD;EAAK,WAAW,GAAG,kBAAkB,KAAK,SAAS,UAAU;YAC1D,MAAM,KAAK,EAAE,QAAQ,OAAO,MAAM,CAAC,CAAC,KAAK,GAAG,UAC3C,oBAAC,UAAD,EAAU,WAAU,cAA2B,EAAT,MAAS,CAC/C;EACE;CAGR,MAAM,8BACJ,qBAAC,OAAD;EAAK,WAAW,GAAG,aAAa,UAAU;YAA1C;GACE,oBAAC,UAAD,EAAU,WAAU,cAAe;GACnC,oBAAC,UAAD,EAAU,WAAU,aAAc;GAClC,oBAAC,UAAD,EAAU,WAAU,aAAc;GAC9B;;AAGR,SAAQ,QAAR;EACE,KAAK,OACH,QAAO,oBAAoB;EAC7B,KAAK,SACH,QAAO,sBAAsB;EAC/B,KAAK,OACH,QAAO,oBAAoB;EAC7B,KAAK,UACH,QAAO,uBAAuB;EAChC,KAAK,QACH,QAAO,qBAAqB;EAC9B,QACE,QAAO,uBAAuB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/TableActionsDropdown.d.ts
|
|
4
|
+
declare function TableActionsDropdown({
|
|
5
|
+
actions,
|
|
6
|
+
children
|
|
7
|
+
}: {
|
|
8
|
+
actions: {
|
|
9
|
+
destructive?: boolean;
|
|
10
|
+
icon: React.ReactNode;
|
|
11
|
+
label: string;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
}[];
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { TableActionsDropdown };
|
|
18
|
+
//# sourceMappingURL=TableActionsDropdown.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, cn } 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/TableActionsDropdown.tsx
|
|
7
|
+
function TableActionsDropdown({ actions, children }) {
|
|
8
|
+
return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
|
|
9
|
+
asChild: true,
|
|
10
|
+
children: children ?? /* @__PURE__ */ jsxs(Button, {
|
|
11
|
+
className: "h-8 w-8",
|
|
12
|
+
size: "icon",
|
|
13
|
+
variant: "ghost",
|
|
14
|
+
children: [/* @__PURE__ */ jsx(MoreHorizontal, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
|
|
15
|
+
className: "sr-only",
|
|
16
|
+
children: "Open menu"
|
|
17
|
+
})]
|
|
18
|
+
})
|
|
19
|
+
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
20
|
+
align: "end",
|
|
21
|
+
children: actions.map((action, index) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
22
|
+
className: cn("focus:bg-accent transition-colors", action.destructive ? "text-destructive hover:bg-destructive/10" : "hover:bg-accent"),
|
|
23
|
+
onClick: action.onClick,
|
|
24
|
+
children: [action.icon, /* @__PURE__ */ jsx("span", {
|
|
25
|
+
className: "ml-1.5",
|
|
26
|
+
children: action.label
|
|
27
|
+
})]
|
|
28
|
+
}, index))
|
|
29
|
+
})] });
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { TableActionsDropdown };
|
|
34
|
+
//# sourceMappingURL=TableActionsDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableActionsDropdown.js","names":[],"sources":["../../../src/components/TableActionsDropdown.tsx"],"sourcesContent":["import {\n Button,\n cn,\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 function TableActionsDropdown({\n actions,\n children,\n}: {\n actions: {\n destructive?: boolean;\n icon: React.ReactNode;\n label: string;\n onClick: () => void;\n }[];\n children?: React.ReactNode;\n}): React.JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n {children ?? (\n <Button className=\"h-8 w-8\" size=\"icon\" variant=\"ghost\">\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n )}\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {actions.map((action, index) => (\n <DropdownMenuItem\n className={cn(\n \"focus:bg-accent transition-colors\",\n action.destructive\n ? \"text-destructive hover:bg-destructive/10\"\n : \"hover:bg-accent\",\n )}\n key={index}\n onClick={action.onClick}>\n {action.icon}\n <span className=\"ml-1.5\">{action.label}</span>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"mappings":";;;;;;AAWA,SAAgB,qBAAqB,EACnC,SACA,YASoB;AACpB,QACE,qBAAC,cAAD,aACE,oBAAC,qBAAD;EAAqB;YAClB,YACC,qBAAC,QAAD;GAAQ,WAAU;GAAU,MAAK;GAAO,SAAQ;aAAhD,CACE,oBAAC,gBAAD,EAAgB,WAAU,WAAY,GACtC,oBAAC,QAAD;IAAM,WAAU;cAAU;IAAgB,EACnC;;EAES,GACtB,oBAAC,qBAAD;EAAqB,OAAM;YACxB,QAAQ,KAAK,QAAQ,UACpB,qBAAC,kBAAD;GACE,WAAW,GACT,qCACA,OAAO,cACH,6CACA,kBACL;GAED,SAAS,OAAO;aARlB,CASG,OAAO,MACR,oBAAC,QAAD;IAAM,WAAU;cAAU,OAAO;IAAa,EAC7B;KAJZ,MAIY,CACnB;EACkB,EACT"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/components/TableContainer.d.ts
|
|
4
|
+
declare function TableContainer({
|
|
5
|
+
children,
|
|
6
|
+
className
|
|
7
|
+
}: {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { TableContainer };
|
|
13
|
+
//# sourceMappingURL=TableContainer.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cn } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/TableContainer.tsx
|
|
6
|
+
function TableContainer({ children, className }) {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: cn("rounded-lg border p-6 shadow-sm", className),
|
|
9
|
+
children
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { TableContainer };
|
|
15
|
+
//# sourceMappingURL=TableContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableContainer.js","names":[],"sources":["../../../src/components/TableContainer.tsx"],"sourcesContent":["import { cn } from \"@lumeweb/portal-framework-ui-core\";\nimport React from \"react\";\n\nexport function TableContainer({\n children,\n className,\n}: {\n children: React.ReactNode;\n className?: string;\n}): React.JSX.Element {\n return (\n <div className={cn(\"rounded-lg border p-6 shadow-sm\", className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;AAGA,SAAgB,eAAe,EAC7B,UACA,aAIoB;AACpB,QACE,oBAAC,OAAD;EAAK,WAAW,GAAG,mCAAmC,UAAU;EAC7D;EACG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { usePluginMeta } from "../hooks/usePluginMeta.js";
|
|
2
|
+
import { useThemeIdAndSetter } from "../hooks/useTheme.js";
|
|
3
|
+
import { Button, Popover, PopoverContent, PopoverTrigger, ThemeIcon } from "@lumeweb/portal-framework-ui-core";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/ThemeSwitcher.tsx
|
|
8
|
+
const ThemeSwitcher = () => {
|
|
9
|
+
const { setTheme } = useThemeIdAndSetter();
|
|
10
|
+
const themes = usePluginMeta("dashboard", "themes");
|
|
11
|
+
if (!themes) return null;
|
|
12
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
13
|
+
asChild: true,
|
|
14
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
15
|
+
size: "icon",
|
|
16
|
+
variant: "ghost",
|
|
17
|
+
children: [/* @__PURE__ */ jsx(ThemeIcon, { className: "h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all" }), /* @__PURE__ */ jsx("span", {
|
|
18
|
+
className: "sr-only",
|
|
19
|
+
children: "Toggle theme"
|
|
20
|
+
})]
|
|
21
|
+
})
|
|
22
|
+
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
23
|
+
className: "w-56",
|
|
24
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
25
|
+
className: "flex flex-col space-y-2",
|
|
26
|
+
children: themes.map((t) => /* @__PURE__ */ jsx(Button, {
|
|
27
|
+
className: "text-left",
|
|
28
|
+
onClick: () => setTheme(t.id),
|
|
29
|
+
variant: "ghost",
|
|
30
|
+
children: t.name
|
|
31
|
+
}, t.id))
|
|
32
|
+
})
|
|
33
|
+
})] });
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { ThemeSwitcher };
|
|
38
|
+
//# sourceMappingURL=ThemeSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeSwitcher.js","names":[],"sources":["../../../src/components/ThemeSwitcher.tsx"],"sourcesContent":["import {\n Button,\n Popover,\n PopoverContent,\n PopoverTrigger,\n ThemeIcon,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport React from \"react\";\n\nimport { usePluginMeta } from \"@/hooks/usePluginMeta\";\n// Import the hook that provides the setter\nimport { useThemeIdAndSetter } from \"@/hooks/useTheme\";\n\n// Import Theme from the types file\nimport type { Theme } from \"@/types/theme\";\n\nexport const ThemeSwitcher: React.FC = () => {\n // Get setTheme from the correct hook\n const { setTheme } = useThemeIdAndSetter();\n\n // Get themes list using the Theme type\n const themes = usePluginMeta<Theme[]>(\"dashboard\", \"themes\");\n\n if (!themes) {\n return null;\n }\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button size=\"icon\" variant=\"ghost\">\n <ThemeIcon className=\"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-56\">\n <div className=\"flex flex-col space-y-2\">\n {themes.map((t) => (\n <Button\n className=\"text-left\"\n key={t.id}\n onClick={() => setTheme(t.id)}\n variant=\"ghost\">\n {t.name}\n </Button>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n"],"mappings":";;;;;;;AAgBA,MAAa,sBAAgC;CAE3C,MAAM,EAAE,aAAa,qBAAqB;CAG1C,MAAM,SAAS,cAAuB,aAAa,SAAS;AAE5D,KAAI,CAAC,OACH,QAAO;AAGT,QACE,qBAAC,SAAD,aACE,oBAAC,gBAAD;EAAgB;YACd,qBAAC,QAAD;GAAQ,MAAK;GAAO,SAAQ;aAA5B,CACE,oBAAC,WAAD,EAAW,WAAU,2DAA4D,GACjF,oBAAC,QAAD;IAAM,WAAU;cAAU;IAAmB,EACtC;;EACM,GACjB,oBAAC,gBAAD;EAAgB,WAAU;YACxB,oBAAC,OAAD;GAAK,WAAU;aACZ,OAAO,KAAK,MACX,oBAAC,QAAD;IACE,WAAU;IAEV,eAAe,SAAS,EAAE,GAAG;IAC7B,SAAQ;cACP,EAAE;IACI,EAJF,EAAE,GAIA,CACT;GACE;EACS,EACT"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BadgeConfig } from "../types/badge.js";
|
|
2
|
+
import { BadgeVariant } from "@lumeweb/portal-framework-ui-core";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/ThemedBadge.d.ts
|
|
6
|
+
interface ThemedBadgeProps<T extends string> {
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
config: BadgeConfig<T>;
|
|
10
|
+
value: T;
|
|
11
|
+
variant?: BadgeVariant;
|
|
12
|
+
}
|
|
13
|
+
declare function ThemedBadge<T extends string>({
|
|
14
|
+
children,
|
|
15
|
+
className,
|
|
16
|
+
config,
|
|
17
|
+
value,
|
|
18
|
+
variant,
|
|
19
|
+
...restCoreProps
|
|
20
|
+
}: ThemedBadgeProps<T>): any;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ThemedBadge };
|
|
23
|
+
//# sourceMappingURL=ThemedBadge.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Badge, cn } from "@lumeweb/portal-framework-ui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/ThemedBadge.tsx
|
|
6
|
+
function ThemedBadge({ children, className, config, value, variant, ...restCoreProps }) {
|
|
7
|
+
const { base = "", dark = "", hover = "", label } = config[value] || {};
|
|
8
|
+
return /* @__PURE__ */ jsx("span", {
|
|
9
|
+
className: cn("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", base, hover, dark, className),
|
|
10
|
+
children: children ? children : /* @__PURE__ */ jsx(Badge, {
|
|
11
|
+
variant,
|
|
12
|
+
...restCoreProps,
|
|
13
|
+
children: label || value.replace(/_/g, " ")
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ThemedBadge };
|
|
20
|
+
//# sourceMappingURL=ThemedBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemedBadge.js","names":[],"sources":["../../../src/components/ThemedBadge.tsx"],"sourcesContent":["import {\n Badge,\n type BadgeVariant,\n cn,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport React, { type ReactNode } from \"react\";\n\nimport { BadgeConfig } from \"@/types\";\n\ninterface ThemedBadgeProps<T extends string> {\n children?: ReactNode;\n className?: string;\n config: BadgeConfig<T>;\n value: T;\n variant?: BadgeVariant;\n}\n\nexport function ThemedBadge<T extends string>({\n children,\n className,\n config,\n value,\n variant,\n ...restCoreProps\n}: ThemedBadgeProps<T>) {\n const { base = \"\", dark = \"\", hover = \"\", label } = config[value] || {};\n\n const wrapperClassName = cn(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n base,\n hover,\n dark,\n className,\n );\n\n return (\n <span className={wrapperClassName}>\n {children ? (\n children\n ) : (\n <Badge variant={variant} {...restCoreProps}>\n {label || value.replace(/_/g, \" \")}\n </Badge>\n )}\n </span>\n );\n}\n"],"mappings":";;;;;AAiBA,SAAgB,YAA8B,EAC5C,UACA,WACA,QACA,OACA,SACA,GAAG,iBACmB;CACtB,MAAM,EAAE,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,UAAU,OAAO,UAAU,EAAE;AAUvE,QACE,oBAAC,QAAD;EAAM,WATiB,GACvB,8KACA,MACA,OACA,MACA,UAIiC;YAC9B,WACC,WAEA,oBAAC,OAAD;GAAgB;GAAS,GAAI;aAC1B,SAAS,MAAM,QAAQ,MAAM,IAAI;GAC5B;EAEL"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ActionItemConfig, ActionListLayout } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/actions/ActionListRenderer.d.ts
|
|
5
|
+
interface ActionListRendererProps {
|
|
6
|
+
actions: ActionItemConfig[];
|
|
7
|
+
className?: string;
|
|
8
|
+
closeDialog?: () => void;
|
|
9
|
+
isSubmitting?: boolean;
|
|
10
|
+
layout?: ActionListLayout;
|
|
11
|
+
}
|
|
12
|
+
declare const ActionListRenderer: React.FC<ActionListRendererProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ActionListRenderer };
|
|
15
|
+
//# sourceMappingURL=ActionListRenderer.d.ts.map
|