@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 @@
|
|
|
1
|
+
{"version":3,"file":"FormRenderer.js","names":["useFormContext","useRHFContext"],"sources":["../../../../src/components/form/FormRenderer.tsx"],"sourcesContent":["import {\n cn,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n Spinner,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport { get } from \"lodash/get\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport {\n FieldValues,\n Path as ReactHookFormPath,\n useFormContext as useRHFContext,\n} from \"react-hook-form\";\n\nimport { adapters } from \"./adapters\";\nimport { getAutocompleteValue } from \"./autocomplete\";\nimport { useFormContext } from \"./context\";\nimport { FormFieldType, getFormComponent } from \"./fields\";\nimport { FormGroup } from \"./FormGroup\";\nimport { useOptionalStepControlContext } from \"./StepControlContext\";\nimport { type FormFieldConfig, type FormGroupType, GroupOrder } from \"./types\";\n\ninterface FieldRendererProps<TFieldValues extends FieldValues> {\n field: FormFieldConfig<TFieldValues>;\n}\n\nexport function FormRenderer<TRequest extends FieldValues = FieldValues>({\n fields = [],\n groups = [],\n}: {\n fields?: FormFieldConfig<TRequest>[];\n groups?: FormGroupType[];\n}) {\n // Group fields by their group ID\n const { groupedFields, ungroupedFields } = React.useMemo(() => {\n const grouped: Record<string, FormFieldConfig<TRequest>[]> = {};\n const ungrouped: FormFieldConfig<TRequest>[] = [];\n\n // Initialize groups\n groups?.forEach((group) => {\n grouped[group.id] = [];\n });\n\n // Distribute fields\n fields.forEach((field) => {\n if (field.group && grouped[field.group]) {\n grouped[field.group].push(field);\n } else {\n ungrouped.push(field);\n }\n });\n\n return { groupedFields: grouped, ungroupedFields: ungrouped };\n }, [fields, groups]);\n const { adapter: adapterName, config } = useFormContext();\n const adapter = adapters[adapterName];\n\n if (!adapter) {\n throw new Error(`Form adapter \"${String(adapterName)}\" is not registered`);\n }\n\n const groupOrder = config.groupOrder ?? GroupOrder.UNGROUPED_FIRST;\n\n const renderGroups = () => (\n <>\n {groups?.map((group) => {\n const groupFields = groupedFields[group.id];\n if (!groupFields?.length) return null;\n\n return (\n <FormGroup\n className={group.className}\n description={group.description}\n key={group.id}\n title={group.title}>\n {groupFields.map((field) => (\n <FieldRenderer field={field} key={field.name as string} />\n ))}\n </FormGroup>\n );\n })}\n </>\n );\n\n const renderUngrouped = () => (\n <>\n {ungroupedFields.map((field) => (\n <FieldRenderer field={field} key={field.name as string} />\n ))}\n </>\n );\n\n return (\n <>\n {groupOrder === GroupOrder.GROUPS_FIRST ? (\n <>\n {renderGroups()}\n {renderUngrouped()}\n </>\n ) : (\n <>\n {renderUngrouped()}\n {renderGroups()}\n </>\n )}\n </>\n );\n}\n\nfunction FieldRenderer<TFieldValues extends FieldValues = FieldValues>({\n field,\n}: FieldRendererProps<TFieldValues>) {\n const rhfMethods = useRHFContext<TFieldValues>();\n const { control, getValues, watch } = rhfMethods;\n const [isVisible, setIsVisible] = useState(true);\n const [isLoading, setIsLoading] = useState(false);\n const { config: formConfig } = useFormContext();\n\n const dependencies = useMemo(\n () => field.dependencies || [],\n [field.dependencies],\n );\n\n const autoCompleteValue = useMemo(\n () => getFieldAutocompleteValue(field, formConfig?.action),\n [field, formConfig?.action],\n );\n\n useEffect(() => {\n // Subscribe to form changes and check visibility when relevant fields change\n const subscription = watch((values, { name }) => {\n // Only check visibility if dependencies are empty (watch all) or changed field is in dependencies\n if (!dependencies.length || (name && dependencies.includes(name))) {\n checkVisibility();\n }\n });\n\n const checkVisibility = async () => {\n if (!getValues) return;\n\n const currentValues = getValues();\n let shouldShow = true;\n\n if (field.requires) {\n for (const requiredFieldPath in field.requires) {\n if (\n Object.prototype.hasOwnProperty.call(\n field.requires,\n requiredFieldPath,\n )\n ) {\n const requirement = field.requires[requiredFieldPath];\n const actualValue = get(currentValues as object, requiredFieldPath);\n\n let requirementMet = false;\n if (typeof requirement === \"function\") {\n requirementMet = requirement(actualValue);\n } else {\n requirementMet = actualValue === requirement;\n }\n\n if (!requirementMet) {\n shouldShow = false;\n break;\n }\n }\n }\n }\n\n if (shouldShow && field.show) {\n try {\n const showPromiseOrValue = field.show(currentValues);\n if (showPromiseOrValue instanceof Promise) {\n setIsLoading(true);\n shouldShow = await showPromiseOrValue;\n if (isLoading) setIsLoading(false);\n } else {\n shouldShow = showPromiseOrValue;\n if (isLoading) setIsLoading(false);\n }\n } catch (error) {\n console.error(\n `Error checking show status for field ${String(field.name)}:`,\n error,\n );\n shouldShow = false;\n if (isLoading) setIsLoading(false);\n }\n } else if (!field.show) {\n if (isLoading) setIsLoading(false);\n } else {\n if (isLoading) setIsLoading(false);\n }\n\n setIsVisible((prev) => {\n if (prev !== shouldShow) return shouldShow;\n return prev;\n });\n };\n\n checkVisibility(); // Initial check\n\n return () => subscription.unsubscribe();\n }, [dependencies, field, getValues, isLoading, watch]);\n\n if (isLoading) {\n return (\n <FormItem className={cn(field.className, field.itemClassName)}>\n {field.label && <FormLabel>{field.label}</FormLabel>}\n <FormControl>\n <div className=\"flex h-14 items-center justify-center\">\n <Spinner size=\"small\" />\n </div>\n </FormControl>\n {field.description && (\n <FormDescription>{field.description}</FormDescription>\n )}\n </FormItem>\n );\n }\n\n if (!isVisible) {\n return null;\n }\n\n const componentEntry = getFormComponent(field.type);\n const RegisteredComponent = componentEntry?.component;\n if (!componentEntry && field.type !== FormFieldType.CUSTOM) {\n console.warn(`No component registered for form field type: ${field.type}`);\n return null;\n }\n\n return (\n <FormField<TFieldValues>\n control={control}\n key={field.name as string}\n name={field.name as ReactHookFormPath<TFieldValues>}\n render={({ field: formFieldRenderProps }) => (\n <FormItem className={cn(field.className, field.itemClassName)}>\n {field.label && !componentEntry?.handlesLabel && (\n <FormLabel className={field.labelClassName}>\n {field.label}\n {field.required && isVisible && (\n <span className=\"text-destructive\">*</span>\n )}\n </FormLabel>\n )}\n <FormControl>\n {RegisteredComponent ? (\n <RegisteredComponent\n {...formFieldRenderProps}\n {...field.inputProps}\n // Derive and include autocomplete\n autocomplete={autoCompleteValue}\n inputClassName={field.inputClassName}\n label={componentEntry?.handlesLabel ? field.label : undefined}\n options={field.options}\n placeholder={field.placeholder}\n required={field.required}\n type={field.type}\n />\n ) : field.component ? (\n <field.component\n {...formFieldRenderProps}\n formMethods={rhfMethods}\n stepEnvironment={\n useOptionalStepControlContext()\n ? {\n current:\n useOptionalStepControlContext()?.currentStep || 0,\n isFirst:\n useOptionalStepControlContext()?.isFirstStep || false,\n isLast:\n useOptionalStepControlContext()?.isLastStep || false,\n jumpTo: useOptionalStepControlContext()?.jumpTo,\n onNext: useOptionalStepControlContext()?.handleNext,\n onPrevious:\n useOptionalStepControlContext()?.handlePrevious,\n onRetry: useOptionalStepControlContext()?.handleRetry,\n retryCount:\n useOptionalStepControlContext()?.retryCount || 0,\n total: useOptionalStepControlContext()?.totalSteps || 0,\n }\n : undefined\n }\n />\n ) : null}\n </FormControl>\n {field.description && (\n <FormDescription>{field.description}</FormDescription>\n )}\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n\nfunction getFieldAutocompleteValue(\n field: FormFieldConfig<any>,\n formPurpose?: string,\n) {\n return (\n field.autocomplete ?? // Explicit field config wins\n getAutocompleteValue(field, { formPurpose }) ?? // Then try derivation\n field.inputProps?.autocomplete // Finally, any inputProps value\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FormConfig } from "./types.js";
|
|
2
|
+
import { BaseRecord } from "@refinedev/core";
|
|
3
|
+
import { FieldValues } from "react-hook-form";
|
|
4
|
+
|
|
5
|
+
//#region src/components/form/SchemaForm.d.ts
|
|
6
|
+
interface SchemaFormProps<TRequest extends FieldValues = FieldValues, TResponse extends BaseRecord = any> {
|
|
7
|
+
active?: boolean;
|
|
8
|
+
closeDialog?: () => void;
|
|
9
|
+
config: FormConfig<TRequest, TResponse>;
|
|
10
|
+
}
|
|
11
|
+
declare function SchemaForm<T extends FieldValues = FieldValues>({
|
|
12
|
+
active,
|
|
13
|
+
closeDialog,
|
|
14
|
+
config
|
|
15
|
+
}: SchemaFormProps<T>): any;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { SchemaForm, SchemaFormProps };
|
|
18
|
+
//# sourceMappingURL=SchemaForm.d.ts.map
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { useDialog } from "../dialog/Dialog.context.js";
|
|
2
|
+
import { useIsFormDialog } from "../dialog/utils/dialogDetection.js";
|
|
3
|
+
import { adapters } from "./adapters.js";
|
|
4
|
+
import { FormProvider } from "./context.js";
|
|
5
|
+
import { AdapterType, isStepFormConfig } from "./types.js";
|
|
6
|
+
import { FormRenderer } from "./FormRenderer.js";
|
|
7
|
+
import { handleFormSubmission } from "./handlers/core.js";
|
|
8
|
+
import { computeAutoSaveConfig } from "./utils/autoSave.js";
|
|
9
|
+
import { Environment } from "../shared/environment/builders.js";
|
|
10
|
+
import { UnifiedFooter } from "../shared/UnifiedFooter.js";
|
|
11
|
+
import { renderHeader } from "../shared/utils/renderHeader.js";
|
|
12
|
+
import { useForceRerender } from "../shared/hooks/useForceRerender.js";
|
|
13
|
+
import "../index.js";
|
|
14
|
+
import { Form, cn } from "@lumeweb/portal-framework-ui-core";
|
|
15
|
+
import { AutoSaveIndicator, useNotification } from "@refinedev/core";
|
|
16
|
+
import React, { useEffect, useMemo } from "react";
|
|
17
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
|
+
import { isElement, isValidElementType } from "react-is";
|
|
19
|
+
|
|
20
|
+
//#region src/components/form/SchemaForm.tsx
|
|
21
|
+
const defaultFooterCss = "pt-4 mt-4 border-t";
|
|
22
|
+
function SchemaForm({ active = true, closeDialog = () => void 0, config }) {
|
|
23
|
+
if (!active) return null;
|
|
24
|
+
const { currentDialog, setFormMethods: setFormInstance, formMethods } = useDialog();
|
|
25
|
+
const { open: openNotification } = useNotification();
|
|
26
|
+
const isInDialog = useIsFormDialog();
|
|
27
|
+
if (!config) throw new Error("SchemaForm requires a form config");
|
|
28
|
+
const shouldUseRefine = config.adapter === "refine" || config.refine || Boolean(config.refineCoreProps?.resource);
|
|
29
|
+
const adapterName = shouldUseRefine ? "refine" : config.adapter ?? "rhf";
|
|
30
|
+
const adapter = adapters[adapterName];
|
|
31
|
+
const autoSaveConfig = computeAutoSaveConfig(config.autoSave);
|
|
32
|
+
const formInstance = adapter.useForm({
|
|
33
|
+
defaultValues: config.defaultValues,
|
|
34
|
+
refineCoreProps: {
|
|
35
|
+
...config.refineCoreProps,
|
|
36
|
+
action: config.action,
|
|
37
|
+
autoSave: autoSaveConfig,
|
|
38
|
+
errorNotification: config.errorNotification,
|
|
39
|
+
id: ["edit", "clone"].includes(config.action) ? config.id : void 0,
|
|
40
|
+
redirectOnSuccess: false,
|
|
41
|
+
resource: config.resource,
|
|
42
|
+
successNotification: config.successNotification
|
|
43
|
+
},
|
|
44
|
+
validationSchema: config.validationSchema
|
|
45
|
+
});
|
|
46
|
+
const autoSaveProps = shouldUseRefine ? "refineCore" in formInstance ? formInstance.refineCore.autoSaveProps : void 0 : void 0;
|
|
47
|
+
const isActiveDialog = !!(currentDialog?.formConfig && currentDialog.formConfig.formId === config.formId) && isInDialog;
|
|
48
|
+
useForceRerender(config.forceRerender);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (!setFormInstance) return;
|
|
51
|
+
if (isActiveDialog) setFormInstance(formInstance);
|
|
52
|
+
return () => {
|
|
53
|
+
try {
|
|
54
|
+
setFormInstance(void 0);
|
|
55
|
+
} catch {}
|
|
56
|
+
};
|
|
57
|
+
}, [
|
|
58
|
+
formInstance,
|
|
59
|
+
setFormInstance,
|
|
60
|
+
isActiveDialog
|
|
61
|
+
]);
|
|
62
|
+
const cConfig = { ...config };
|
|
63
|
+
if (cConfig.footerClassName === void 0) cConfig.footerClassName = defaultFooterCss;
|
|
64
|
+
if (cConfig.footerClassName === false) cConfig.footerClassName = void 0;
|
|
65
|
+
const finalConfig = useMemo(() => isActiveDialog ? {
|
|
66
|
+
...currentDialog,
|
|
67
|
+
formConfig: cConfig
|
|
68
|
+
} : cConfig, [
|
|
69
|
+
isActiveDialog,
|
|
70
|
+
currentDialog,
|
|
71
|
+
cConfig
|
|
72
|
+
]);
|
|
73
|
+
useForceRerender(config.forceRerender);
|
|
74
|
+
const isRefineWithAutosave = shouldUseRefine && autoSaveConfig?.enabled;
|
|
75
|
+
return /* @__PURE__ */ jsx(FormProvider, {
|
|
76
|
+
adapter: adapterName,
|
|
77
|
+
autoSave: autoSaveProps,
|
|
78
|
+
config: cConfig,
|
|
79
|
+
formInstance,
|
|
80
|
+
children: /* @__PURE__ */ jsx(Form, {
|
|
81
|
+
...formInstance,
|
|
82
|
+
children: /* @__PURE__ */ jsxs("form", {
|
|
83
|
+
className: cn(cConfig.formClassName, {
|
|
84
|
+
"flex flex-col space-y-4": cConfig.layout === "vertical" || !cConfig.layout,
|
|
85
|
+
"flex flex-row items-end gap-4": cConfig.layout === "horizontal",
|
|
86
|
+
"grid gap-4": cConfig.layout === "grid",
|
|
87
|
+
"space-y-4": cConfig.layout !== "grid"
|
|
88
|
+
}),
|
|
89
|
+
onSubmit: formInstance.handleSubmit(async () => {
|
|
90
|
+
await handleFormSubmission({
|
|
91
|
+
closeDialog,
|
|
92
|
+
config: cConfig,
|
|
93
|
+
currentDialog,
|
|
94
|
+
formMethods: formInstance,
|
|
95
|
+
isStep: isStepFormConfig(cConfig),
|
|
96
|
+
onError: async (error) => {
|
|
97
|
+
if (adapterName !== "refine" && cConfig.errorNotification) {
|
|
98
|
+
const notification = typeof cConfig.errorNotification === "function" ? cConfig.errorNotification(error) : cConfig.errorNotification;
|
|
99
|
+
openNotification?.(notification);
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
onSubmit: async (data) => adapter.submitHandler(cConfig, formInstance)
|
|
103
|
+
});
|
|
104
|
+
}),
|
|
105
|
+
children: [
|
|
106
|
+
renderHeader({
|
|
107
|
+
actions: cConfig.actions,
|
|
108
|
+
className: "form-header",
|
|
109
|
+
description: cConfig.description,
|
|
110
|
+
header: cConfig.header,
|
|
111
|
+
isDialog: isActiveDialog,
|
|
112
|
+
title: cConfig.title,
|
|
113
|
+
unifiedHeaderConfig: cConfig
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ jsx(FormRenderer, {
|
|
116
|
+
fields: cConfig.fields,
|
|
117
|
+
groups: cConfig.groups
|
|
118
|
+
}),
|
|
119
|
+
renderFooter(cConfig.footer, {
|
|
120
|
+
className: cConfig.footerClassName,
|
|
121
|
+
closeDialog,
|
|
122
|
+
config: finalConfig,
|
|
123
|
+
formMethods: formInstance
|
|
124
|
+
}, isActiveDialog, currentDialog),
|
|
125
|
+
isRefineWithAutosave && /* @__PURE__ */ jsx(AutoSaveIndicator, {
|
|
126
|
+
...autoSaveProps,
|
|
127
|
+
elements: cConfig.autoSaveStates
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
function renderFooter(footerConfig, footerProps, isInDialog, currentDialog) {
|
|
135
|
+
if (footerConfig === void 0) {
|
|
136
|
+
const { config, formMethods, closeDialog } = footerProps;
|
|
137
|
+
const isSubmitting = formMethods?.formState?.isSubmitting || false;
|
|
138
|
+
const footerEnvironment = Environment.footer();
|
|
139
|
+
if (isInDialog) footerEnvironment.dialog({
|
|
140
|
+
dialogConfig: currentDialog,
|
|
141
|
+
onClose: config.onCancel || closeDialog
|
|
142
|
+
});
|
|
143
|
+
else footerEnvironment.standalone();
|
|
144
|
+
footerEnvironment.simpleForm({
|
|
145
|
+
isSubmitting,
|
|
146
|
+
methods: formMethods
|
|
147
|
+
});
|
|
148
|
+
return /* @__PURE__ */ jsx(UnifiedFooter, {
|
|
149
|
+
className: footerProps.className,
|
|
150
|
+
config: { ...config },
|
|
151
|
+
environment: footerEnvironment.build()
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (footerConfig === false) return null;
|
|
155
|
+
if (isElement(footerConfig) || isValidElementType(footerConfig)) {
|
|
156
|
+
if (isElement(footerConfig)) return footerConfig;
|
|
157
|
+
if (isValidElementType(footerConfig)) return /* @__PURE__ */ jsx(footerConfig, { ...footerProps });
|
|
158
|
+
}
|
|
159
|
+
const footerEnvironment = Environment.footer().standalone().simpleForm({
|
|
160
|
+
isSubmitting: footerProps.formMethods?.formState?.isSubmitting || false,
|
|
161
|
+
methods: footerProps.formMethods
|
|
162
|
+
}).build();
|
|
163
|
+
return /* @__PURE__ */ jsx(UnifiedFooter, {
|
|
164
|
+
className: footerProps.className,
|
|
165
|
+
config: footerProps.config,
|
|
166
|
+
environment: footerEnvironment
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
export { SchemaForm };
|
|
172
|
+
//# sourceMappingURL=SchemaForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaForm.js","names":["AdapterFormProvider","FooterComponent"],"sources":["../../../../src/components/form/SchemaForm.tsx"],"sourcesContent":["import type { DefaultValues, FieldValues } from \"react-hook-form\";\n\nimport {\n Form as AdapterFormProvider,\n cn,\n} from \"@lumeweb/portal-framework-ui-core\";\nimport {\n AutoSaveIndicator,\n BaseRecord,\n type FormAction,\n useNotification,\n} from \"@refinedev/core\";\nimport React, { useEffect, useMemo } from \"react\";\nimport { isElement, isValidElementType } from \"react-is\";\n\nimport { createFormActions } from \"@/components\";\nimport { DialogConfig, FormDialogConfig, useDialog } from \"@/components\";\nimport { useIsFormDialog } from \"@/components\";\nimport { Environment, renderHeader, UnifiedFooter } from \"@/components\";\nimport { adapters, FormAdapter, UnifiedFormReturnType } from \"./adapters\";\nimport { FormProvider } from \"./context\";\nimport { FormRenderer } from \"./FormRenderer\";\nimport { handleFormSubmission } from \"./handlers/core\";\nimport { AdapterType, type FormConfig, isStepFormConfig } from \"./types\";\nimport { computeAutoSaveConfig } from \"./utils/autoSave\";\nimport { useForceRerender as useSharedForceRerender } from \"@/components\";\n\nconst defaultFooterCss = \"pt-4 mt-4 border-t\";\n\nexport interface SchemaFormProps<\n TRequest extends FieldValues = FieldValues,\n TResponse extends BaseRecord = any,\n> {\n active?: boolean;\n closeDialog?: () => void;\n config: FormConfig<TRequest, TResponse>;\n}\n\nexport function SchemaForm<T extends FieldValues = FieldValues>({\n active = true,\n closeDialog = () => void 0,\n config,\n}: SchemaFormProps<T>) {\n if (!active) {\n return null;\n }\n\n const { currentDialog, setFormMethods: setFormInstance, formMethods } = useDialog();\n const { open: openNotification } = useNotification();\n const isInDialog = useIsFormDialog();\n\n if (!config) throw new Error(\"SchemaForm requires a form config\");\n\n // Determine adapter - prioritize explicit config, then refine resource presence\n const shouldUseRefine =\n config.adapter === AdapterType.REFINE ||\n config.refine ||\n Boolean(config.refineCoreProps?.resource);\n const adapterName = shouldUseRefine\n ? AdapterType.REFINE\n : (config.adapter ?? AdapterType.RHF);\n const adapter = adapters[adapterName] as FormAdapter<T>;\n\n const autoSaveConfig = computeAutoSaveConfig(config.autoSave);\n\n const formInstance = adapter.useForm({\n defaultValues: config.defaultValues as DefaultValues<T>,\n refineCoreProps: {\n ...config.refineCoreProps,\n action: config.action,\n autoSave: autoSaveConfig,\n errorNotification: config.errorNotification,\n id: ([\"edit\", \"clone\"] as FormAction[]).includes(config.action!)\n ? config.id\n : undefined,\n redirectOnSuccess: false,\n resource: config.resource,\n successNotification: config.successNotification,\n },\n validationSchema: config.validationSchema,\n });\n\n const autoSaveProps = shouldUseRefine\n ? \"refineCore\" in formInstance\n ? formInstance.refineCore.autoSaveProps\n : undefined\n : undefined;\n\n const isActiveDialog =\n !!(\n currentDialog?.formConfig &&\n currentDialog.formConfig.formId === config.formId\n ) && isInDialog;\n\n // Implement forceRerender mechanism\n useSharedForceRerender(config.forceRerender);\n\n useEffect(() => {\n if (!setFormInstance) return;\n if (isActiveDialog) {\n setFormInstance(formInstance);\n }\n return () => {\n // clear on unmount or when dialog closes\n try {\n setFormInstance(undefined as any);\n } catch {}\n };\n }, [formInstance, setFormInstance, isActiveDialog]);\n\n const cConfig = { ...config };\n\n if (cConfig.footerClassName === undefined) {\n cConfig.footerClassName = defaultFooterCss;\n }\n\n if (cConfig.footerClassName === false) {\n cConfig.footerClassName = undefined;\n }\n\n const finalConfig: FormConfig<T> | FormDialogConfig<T> = useMemo(\n () =>\n isActiveDialog ? { ...currentDialog!, formConfig: cConfig } : cConfig,\n [isActiveDialog, currentDialog, cConfig],\n );\n\n // Implement forceRerender mechanism\n useSharedForceRerender(config.forceRerender);\n\n const isRefineWithAutosave = shouldUseRefine && autoSaveConfig?.enabled;\n\n return (\n <FormProvider<T>\n adapter={adapterName}\n autoSave={autoSaveProps}\n config={cConfig}\n formInstance={formInstance}>\n <AdapterFormProvider\n {...(formInstance as unknown as UnifiedFormReturnType<FieldValues>)}>\n <form\n className={cn(cConfig.formClassName, {\n \"flex flex-col space-y-4\":\n cConfig.layout === \"vertical\" || !cConfig.layout,\n \"flex flex-row items-end gap-4\": cConfig.layout === \"horizontal\",\n \"grid gap-4\": cConfig.layout === \"grid\",\n \"space-y-4\": cConfig.layout !== \"grid\",\n })}\n onSubmit={formInstance.handleSubmit(async () => {\n await handleFormSubmission({\n closeDialog,\n config: cConfig,\n currentDialog,\n formMethods: formInstance,\n isStep: isStepFormConfig(cConfig),\n onError: async (error) => {\n if (adapterName !== \"refine\" && cConfig.errorNotification) {\n const notification =\n typeof cConfig.errorNotification === \"function\"\n ? cConfig.errorNotification(error)\n : cConfig.errorNotification;\n openNotification?.(notification);\n }\n },\n onSubmit: async (data) =>\n adapter.submitHandler(cConfig, formInstance),\n });\n })}>\n {renderHeader({\n actions: cConfig.actions,\n className: \"form-header\",\n description: cConfig.description,\n header: cConfig.header,\n isDialog: isActiveDialog,\n title: cConfig.title,\n unifiedHeaderConfig: cConfig,\n })}\n <FormRenderer fields={cConfig.fields} groups={cConfig.groups} />\n {renderFooter(\n cConfig.footer,\n {\n className: cConfig.footerClassName,\n closeDialog,\n config: finalConfig,\n formMethods: formInstance,\n },\n isActiveDialog,\n currentDialog,\n )}\n {isRefineWithAutosave && (\n <AutoSaveIndicator\n {...autoSaveProps!}\n elements={cConfig.autoSaveStates}\n />\n )}\n </form>\n </AdapterFormProvider>\n </FormProvider>\n );\n}\n\n// Helper function to render footer based on configuration\nfunction renderFooter(\n footerConfig: any,\n footerProps: any,\n isInDialog: boolean,\n currentDialog?: DialogConfig,\n): React.ReactNode {\n // If footer is undefined, check if we're in a dialog context\n if (footerConfig === undefined) {\n const { config, formMethods, closeDialog } = footerProps;\n const isSubmitting = formMethods?.formState?.isSubmitting || false;\n\n const footerEnvironment = Environment.footer();\n\n if (isInDialog) {\n footerEnvironment.dialog({\n dialogConfig: currentDialog,\n onClose: config.onCancel || closeDialog,\n });\n } else {\n footerEnvironment.standalone();\n }\n footerEnvironment.simpleForm({\n isSubmitting,\n methods: formMethods,\n });\n\n return (\n <UnifiedFooter\n className={footerProps.className}\n config={{ ...config }}\n environment={footerEnvironment.build()}\n />\n );\n }\n\n // If footer is false, render nothing\n if (footerConfig === false) {\n return null;\n }\n\n // If footer is a React element or functional component, render it\n if (isElement(footerConfig) || isValidElementType(footerConfig)) {\n // If it's a valid element, render it directly\n if (isElement(footerConfig)) {\n return footerConfig;\n }\n // If it's a valid component type, instantiate it with footerProps\n if (isValidElementType(footerConfig)) {\n const FooterComponent = footerConfig as React.ComponentType<any>;\n return <FooterComponent {...footerProps} />;\n }\n }\n\n // For any other case, render default unified footer\n const footerEnvironment = Environment.footer()\n .standalone()\n .simpleForm({\n isSubmitting: footerProps.formMethods?.formState?.isSubmitting || false,\n methods: footerProps.formMethods,\n })\n .build();\n return (\n <UnifiedFooter\n className={footerProps.className}\n config={footerProps.config}\n environment={footerEnvironment}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,mBAAmB;AAWzB,SAAgB,WAAgD,EAC9D,SAAS,MACT,oBAAoB,KAAK,GACzB,UACqB;AACrB,KAAI,CAAC,OACH,QAAO;CAGT,MAAM,EAAE,eAAe,gBAAgB,iBAAiB,gBAAgB,WAAW;CACnF,MAAM,EAAE,MAAM,qBAAqB,iBAAiB;CACpD,MAAM,aAAa,iBAAiB;AAEpC,KAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,oCAAoC;CAGjE,MAAM,kBACJ,OAAO,wBACP,OAAO,UACP,QAAQ,OAAO,iBAAiB,SAAS;CAC3C,MAAM,cAAc,6BAEf,OAAO;CACZ,MAAM,UAAU,SAAS;CAEzB,MAAM,iBAAiB,sBAAsB,OAAO,SAAS;CAE7D,MAAM,eAAe,QAAQ,QAAQ;EACnC,eAAe,OAAO;EACtB,iBAAiB;GACf,GAAG,OAAO;GACV,QAAQ,OAAO;GACf,UAAU;GACV,mBAAmB,OAAO;GAC1B,IAAK,CAAC,QAAQ,QAAQ,CAAkB,SAAS,OAAO,OAAQ,GAC5D,OAAO,KACP;GACJ,mBAAmB;GACnB,UAAU,OAAO;GACjB,qBAAqB,OAAO;GAC7B;EACD,kBAAkB,OAAO;EAC1B,CAAC;CAEF,MAAM,gBAAgB,kBAClB,gBAAgB,eACd,aAAa,WAAW,gBACxB,SACF;CAEJ,MAAM,iBACJ,CAAC,EACC,eAAe,cACf,cAAc,WAAW,WAAW,OAAO,WACxC;AAGP,kBAAuB,OAAO,cAAc;AAE5C,iBAAgB;AACd,MAAI,CAAC,gBAAiB;AACtB,MAAI,eACF,iBAAgB,aAAa;AAE/B,eAAa;AAEX,OAAI;AACF,oBAAgB,OAAiB;WAC3B;;IAET;EAAC;EAAc;EAAiB;EAAe,CAAC;CAEnD,MAAM,UAAU,EAAE,GAAG,QAAQ;AAE7B,KAAI,QAAQ,oBAAoB,OAC9B,SAAQ,kBAAkB;AAG5B,KAAI,QAAQ,oBAAoB,MAC9B,SAAQ,kBAAkB;CAG5B,MAAM,cAAmD,cAErD,iBAAiB;EAAE,GAAG;EAAgB,YAAY;EAAS,GAAG,SAChE;EAAC;EAAgB;EAAe;EAAQ,CACzC;AAGD,kBAAuB,OAAO,cAAc;CAE5C,MAAM,uBAAuB,mBAAmB,gBAAgB;AAEhE,QACE,oBAAC,cAAD;EACE,SAAS;EACT,UAAU;EACV,QAAQ;EACM;YACd,oBAACA,MAAD;GACE,GAAK;aACL,qBAAC,QAAD;IACE,WAAW,GAAG,QAAQ,eAAe;KACnC,2BACE,QAAQ,WAAW,cAAc,CAAC,QAAQ;KAC5C,iCAAiC,QAAQ,WAAW;KACpD,cAAc,QAAQ,WAAW;KACjC,aAAa,QAAQ,WAAW;KACjC,CAAC;IACF,UAAU,aAAa,aAAa,YAAY;AAC9C,WAAM,qBAAqB;MACzB;MACA,QAAQ;MACR;MACA,aAAa;MACb,QAAQ,iBAAiB,QAAQ;MACjC,SAAS,OAAO,UAAU;AACxB,WAAI,gBAAgB,YAAY,QAAQ,mBAAmB;QACzD,MAAM,eACJ,OAAO,QAAQ,sBAAsB,aACjC,QAAQ,kBAAkB,MAAM,GAChC,QAAQ;AACd,2BAAmB,aAAa;;;MAGpC,UAAU,OAAO,SACf,QAAQ,cAAc,SAAS,aAAa;MAC/C,CAAC;MACF;cA3BJ;KA4BG,aAAa;MACZ,SAAS,QAAQ;MACjB,WAAW;MACX,aAAa,QAAQ;MACrB,QAAQ,QAAQ;MAChB,UAAU;MACV,OAAO,QAAQ;MACf,qBAAqB;MACtB,CAAC;KACF,oBAAC,cAAD;MAAc,QAAQ,QAAQ;MAAQ,QAAQ,QAAQ;MAAU;KAC/D,aACC,QAAQ,QACR;MACE,WAAW,QAAQ;MACnB;MACA,QAAQ;MACR,aAAa;MACd,EACD,gBACA,cACD;KACA,wBACC,oBAAC,mBAAD;MACE,GAAI;MACJ,UAAU,QAAQ;MAClB;KAEC;;GACa;EACT;;AAKnB,SAAS,aACP,cACA,aACA,YACA,eACiB;AAEjB,KAAI,iBAAiB,QAAW;EAC9B,MAAM,EAAE,QAAQ,aAAa,gBAAgB;EAC7C,MAAM,eAAe,aAAa,WAAW,gBAAgB;EAE7D,MAAM,oBAAoB,YAAY,QAAQ;AAE9C,MAAI,WACF,mBAAkB,OAAO;GACvB,cAAc;GACd,SAAS,OAAO,YAAY;GAC7B,CAAC;MAEF,mBAAkB,YAAY;AAEhC,oBAAkB,WAAW;GAC3B;GACA,SAAS;GACV,CAAC;AAEF,SACE,oBAAC,eAAD;GACE,WAAW,YAAY;GACvB,QAAQ,EAAE,GAAG,QAAQ;GACrB,aAAa,kBAAkB,OAAO;GACtC;;AAKN,KAAI,iBAAiB,MACnB,QAAO;AAIT,KAAI,UAAU,aAAa,IAAI,mBAAmB,aAAa,EAAE;AAE/D,MAAI,UAAU,aAAa,CACzB,QAAO;AAGT,MAAI,mBAAmB,aAAa,CAElC,QAAO,oBAACC,cAAD,EAAiB,GAAI,aAAe;;CAK/C,MAAM,oBAAoB,YAAY,QAAQ,CAC3C,YAAY,CACZ,WAAW;EACV,cAAc,YAAY,aAAa,WAAW,gBAAgB;EAClE,SAAS,YAAY;EACtB,CAAC,CACD,OAAO;AACV,QACE,oBAAC,eAAD;EACE,WAAW,YAAY;EACvB,QAAQ,YAAY;EACpB,aAAa;EACb"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { NavigationType } from "../shared/types/header.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/form/StepControlContext.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Interface for step control context values
|
|
7
|
+
*/
|
|
8
|
+
interface StepControlContextType {
|
|
9
|
+
/**
|
|
10
|
+
* Current active step index
|
|
11
|
+
*/
|
|
12
|
+
currentStep: number;
|
|
13
|
+
/**
|
|
14
|
+
* Navigate to a specific step
|
|
15
|
+
* @param step - The step index to navigate to
|
|
16
|
+
*/
|
|
17
|
+
goToStep: (step: number) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Jump to a specific step without transition animation
|
|
20
|
+
* @param step - The step index to jump to
|
|
21
|
+
*/
|
|
22
|
+
jumpTo: (step: number) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Navigate to the next step
|
|
25
|
+
*/
|
|
26
|
+
handleNext: () => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Navigate to the previous step
|
|
29
|
+
*/
|
|
30
|
+
handlePrevious: () => Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Retry the current step
|
|
33
|
+
*/
|
|
34
|
+
handleRetry: () => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Number of times the current step has been retried
|
|
37
|
+
*/
|
|
38
|
+
retryCount: number;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the current step is the first step
|
|
41
|
+
*/
|
|
42
|
+
isFirstStep: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the current step is the last step
|
|
45
|
+
*/
|
|
46
|
+
isLastStep: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Total number of steps
|
|
49
|
+
*/
|
|
50
|
+
totalSteps: number;
|
|
51
|
+
/**
|
|
52
|
+
* Transition state with navigation direction
|
|
53
|
+
*/
|
|
54
|
+
transitionState: {
|
|
55
|
+
direction: "backward" | "forward" | null;
|
|
56
|
+
enteringStep: null | number;
|
|
57
|
+
exitingStep: null | number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
interface StepControlProviderProps {
|
|
61
|
+
children: React.ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* Default step to start on
|
|
64
|
+
*/
|
|
65
|
+
defaultStep?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Function to handle step submission
|
|
68
|
+
*/
|
|
69
|
+
handleStepSubmit?: () => Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Whether to validate when going back steps
|
|
72
|
+
*/
|
|
73
|
+
isBackValidate?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Callback when step changes
|
|
76
|
+
*/
|
|
77
|
+
onStepChange?: (step: number) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Callback when step is retried
|
|
80
|
+
*/
|
|
81
|
+
onStepRetry?: (step: number) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Callback when navigation starts
|
|
84
|
+
*/
|
|
85
|
+
onNavigationStart?: (fromStep: number, toStep: number, type: NavigationType) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Callback when navigation ends successfully
|
|
88
|
+
*/
|
|
89
|
+
onNavigationEnd?: (fromStep: number, toStep: number, type: NavigationType) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Callback when navigation fails
|
|
92
|
+
*/
|
|
93
|
+
onNavigationError?: (fromStep: number, toStep: number, type: NavigationType, error: any) => void;
|
|
94
|
+
/**
|
|
95
|
+
* Total number of steps
|
|
96
|
+
*/
|
|
97
|
+
totalSteps?: number;
|
|
98
|
+
/**
|
|
99
|
+
* Function to trigger validation for the current step
|
|
100
|
+
*/
|
|
101
|
+
triggerValidation?: () => Promise<boolean>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Hook to create step control state independently
|
|
105
|
+
* This hook can be used outside of StepControlProvider
|
|
106
|
+
*/
|
|
107
|
+
interface UseCreateStepControlOptions {
|
|
108
|
+
/**
|
|
109
|
+
* Default step to start on
|
|
110
|
+
* @default 1
|
|
111
|
+
*/
|
|
112
|
+
defaultStep?: number;
|
|
113
|
+
/**
|
|
114
|
+
* Function to handle step submission
|
|
115
|
+
*/
|
|
116
|
+
handleStepSubmit?: () => Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Whether to validate when going back steps
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
isBackValidate?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Callback when step changes
|
|
124
|
+
*/
|
|
125
|
+
onStepChange?: (step: number) => void;
|
|
126
|
+
/**
|
|
127
|
+
* Callback when step is retried
|
|
128
|
+
*/
|
|
129
|
+
onStepRetry?: (step: number) => void;
|
|
130
|
+
/**
|
|
131
|
+
* Callback when navigation starts
|
|
132
|
+
*/
|
|
133
|
+
onNavigationStart?: (fromStep: number, toStep: number, type: NavigationType) => void;
|
|
134
|
+
/**
|
|
135
|
+
* Callback when navigation ends successfully
|
|
136
|
+
*/
|
|
137
|
+
onNavigationEnd?: (fromStep: number, toStep: number, type: NavigationType) => void;
|
|
138
|
+
/**
|
|
139
|
+
* Callback when navigation fails
|
|
140
|
+
*/
|
|
141
|
+
onNavigationError?: (fromStep: number, toStep: number, type: NavigationType, error: any) => void;
|
|
142
|
+
/**
|
|
143
|
+
* Total number of steps
|
|
144
|
+
*/
|
|
145
|
+
totalSteps: number;
|
|
146
|
+
/**
|
|
147
|
+
* Function to trigger validation for the current step
|
|
148
|
+
*/
|
|
149
|
+
triggerValidation?: () => Promise<boolean>;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Provider component for step control functionality
|
|
153
|
+
* Handles step navigation logic and state management
|
|
154
|
+
*/
|
|
155
|
+
declare function StepControlProvider({
|
|
156
|
+
children,
|
|
157
|
+
defaultStep,
|
|
158
|
+
handleStepSubmit,
|
|
159
|
+
isBackValidate,
|
|
160
|
+
onStepChange,
|
|
161
|
+
onStepRetry,
|
|
162
|
+
onNavigationStart,
|
|
163
|
+
onNavigationEnd,
|
|
164
|
+
onNavigationError,
|
|
165
|
+
totalSteps,
|
|
166
|
+
triggerValidation
|
|
167
|
+
}: StepControlProviderProps): any;
|
|
168
|
+
declare function useCreateStepControl({
|
|
169
|
+
defaultStep,
|
|
170
|
+
handleStepSubmit,
|
|
171
|
+
isBackValidate,
|
|
172
|
+
onStepChange,
|
|
173
|
+
onStepRetry,
|
|
174
|
+
onNavigationStart,
|
|
175
|
+
onNavigationEnd,
|
|
176
|
+
onNavigationError,
|
|
177
|
+
totalSteps: totalStepsProp,
|
|
178
|
+
triggerValidation
|
|
179
|
+
}: UseCreateStepControlOptions): StepControlContextType;
|
|
180
|
+
/**
|
|
181
|
+
* Hook to optionally consume the step control context
|
|
182
|
+
* @returns StepControlContextType | undefined - Step control methods and state, or undefined if not in context
|
|
183
|
+
*/
|
|
184
|
+
declare function useOptionalStepControlContext(): any;
|
|
185
|
+
/**
|
|
186
|
+
* Backward compatibility hook
|
|
187
|
+
* This maintains the original API where useStepControl could be used as both
|
|
188
|
+
* a context consumer and a creator depending on whether options were passed
|
|
189
|
+
*/
|
|
190
|
+
declare function useStepControl(options?: UseCreateStepControlOptions): StepControlContextType;
|
|
191
|
+
/**
|
|
192
|
+
* Hook to consume the step control context
|
|
193
|
+
* @returns StepControlContextType - Step control methods and state
|
|
194
|
+
* @throws Error if used outside StepControlProvider
|
|
195
|
+
*/
|
|
196
|
+
declare function useStepControlContext(): any;
|
|
197
|
+
//#endregion
|
|
198
|
+
export { StepControlContextType, StepControlProvider, StepControlProviderProps, UseCreateStepControlOptions, useCreateStepControl, useOptionalStepControlContext, useStepControl, useStepControlContext };
|
|
199
|
+
//# sourceMappingURL=StepControlContext.d.ts.map
|