@wix/auto-patterns 1.43.0 → 1.45.0
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/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +19 -5
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.uni.driver.js +3 -0
- package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.uni.driver.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +29 -74
- package/dist/cjs/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +3 -3
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +26 -14
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +38 -29
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/index.js +0 -6
- package/dist/cjs/components/AutoPatternsEntityPage/index.js.map +1 -1
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +147 -25
- package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsPage.js +68 -30
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +8 -7
- package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
- package/dist/cjs/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.js +165 -0
- package/dist/cjs/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.js.map +1 -0
- package/dist/cjs/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.js +15 -0
- package/dist/cjs/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.js.map +1 -0
- package/dist/cjs/components/AutoPatternsSettingsPage/index.js +10 -0
- package/dist/cjs/components/AutoPatternsSettingsPage/index.js.map +1 -0
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +141 -41
- package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +169 -9
- package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -1
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/Checkbox.js +1 -1
- package/dist/cjs/components/fields/Checkbox.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/DateInput.js +9 -8
- package/dist/cjs/components/fields/DateInput.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/DateTime.js +13 -12
- package/dist/cjs/components/fields/DateTime.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/ImageInput.js +11 -10
- package/dist/cjs/components/fields/ImageInput.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/LongText.js +9 -8
- package/dist/cjs/components/fields/LongText.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/Number.js +9 -8
- package/dist/cjs/components/fields/Number.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/ShortText.js +9 -8
- package/dist/cjs/components/fields/ShortText.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/Url.js +11 -10
- package/dist/cjs/components/fields/Url.js.map +1 -0
- package/dist/cjs/components/fields/index.js +38 -0
- package/dist/cjs/components/fields/index.js.map +1 -0
- package/dist/cjs/components/fields/types.js.map +1 -0
- package/dist/cjs/components/fields/utils/dates.js.map +1 -0
- package/dist/cjs/components/{AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js → layouts/ContentCard.js} +26 -15
- package/dist/cjs/components/layouts/ContentCard.js.map +1 -0
- package/dist/cjs/components/layouts/ContentCardLayout.js +157 -0
- package/dist/cjs/components/layouts/ContentCardLayout.js.map +1 -0
- package/dist/cjs/components/layouts/ContentSkeleton.js +98 -0
- package/dist/cjs/components/layouts/ContentSkeleton.js.map +1 -0
- package/dist/cjs/components/layouts/FormField.js +52 -0
- package/dist/cjs/components/layouts/FormField.js.map +1 -0
- package/dist/cjs/components/layouts/ViewField.js +68 -0
- package/dist/cjs/components/layouts/ViewField.js.map +1 -0
- package/dist/cjs/components/layouts/types.js +4 -0
- package/dist/cjs/components/layouts/types.js.map +1 -0
- package/dist/cjs/hooks/getCommonCollectionFeaturesAsync.js +11 -0
- package/dist/cjs/hooks/getCommonCollectionFeaturesAsync.js.map +1 -0
- package/dist/cjs/hooks/getFilterComponent.js +52 -0
- package/dist/cjs/hooks/getFilterComponent.js.map +1 -0
- package/dist/cjs/hooks/index.js +4 -11
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/pluginsDynamicImports.js +25 -0
- package/dist/cjs/hooks/pluginsDynamicImports.js.map +1 -0
- package/dist/cjs/hooks/useAsyncFeaturesPromiseState.js +30 -0
- package/dist/cjs/hooks/useAsyncFeaturesPromiseState.js.map +1 -0
- package/dist/cjs/hooks/useBaseCollectionComponentReadyFeatures.js +62 -0
- package/dist/cjs/hooks/useBaseCollectionComponentReadyFeatures.js.map +1 -0
- package/dist/cjs/hooks/useBasePatternsStateParams.js +36 -0
- package/dist/cjs/hooks/useBasePatternsStateParams.js.map +1 -0
- package/dist/cjs/hooks/useBaseTableFeatures.js +2 -1
- package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -1
- package/dist/cjs/hooks/useCollectionInitAsyncDeps.js +15 -0
- package/dist/cjs/hooks/useCollectionInitAsyncDeps.js.map +1 -0
- package/dist/cjs/hooks/useCommonCollectionFeatures.js +14 -4
- package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFilters.js +17 -103
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useFiltersState.js +112 -0
- package/dist/cjs/hooks/useFiltersState.js.map +1 -0
- package/dist/cjs/hooks/useGridFeaturesAsync.js +42 -0
- package/dist/cjs/hooks/useGridFeaturesAsync.js.map +1 -0
- package/dist/cjs/hooks/useGridVisibleFieldIds.js +17 -0
- package/dist/cjs/hooks/useGridVisibleFieldIds.js.map +1 -0
- package/dist/cjs/hooks/usePagePath.js +4 -1
- package/dist/cjs/hooks/usePagePath.js.map +1 -1
- package/dist/cjs/hooks/useSettingsPageMoreActions.js +36 -0
- package/dist/cjs/hooks/useSettingsPageMoreActions.js.map +1 -0
- package/dist/cjs/hooks/useSyncCollectionStateToAppContext.js +22 -0
- package/dist/cjs/hooks/useSyncCollectionStateToAppContext.js.map +1 -0
- package/dist/cjs/hooks/useTableFeaturesAsync.js +51 -0
- package/dist/cjs/hooks/useTableFeaturesAsync.js.map +1 -0
- package/dist/cjs/hooks/useTableGridSwitchFeaturesAsync.js +52 -0
- package/dist/cjs/hooks/useTableGridSwitchFeaturesAsync.js.map +1 -0
- package/dist/cjs/hooks/useTableSections.js +18 -0
- package/dist/cjs/hooks/useTableSections.js.map +1 -0
- package/dist/cjs/providers/AutoPatternsOverridesContext.js +1 -1
- package/dist/cjs/providers/AutoPatternsOverridesContext.js.map +1 -1
- package/dist/cjs/types/SettingsPageConfig.js +4 -0
- package/dist/cjs/types/SettingsPageConfig.js.map +1 -0
- package/dist/cjs/types/actions/base.js.map +1 -1
- package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
- package/dist/cjs/types/actions/formPageActions.js +4 -0
- package/dist/cjs/types/actions/formPageActions.js.map +1 -0
- package/dist/cjs/types/actions/index.js +6 -0
- package/dist/cjs/types/actions/index.js.map +1 -1
- package/dist/cjs/types/index.js +6 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/types.js.map +1 -1
- package/dist/cjs/utils/filterCreators.js +16 -31
- package/dist/cjs/utils/filterCreators.js.map +1 -1
- package/dist/cjs/utils/minimalRequiredPatternsRuntimeCheck.js +18 -0
- package/dist/cjs/utils/minimalRequiredPatternsRuntimeCheck.js.map +1 -0
- package/dist/cjs/utils/minimalRequiredRuntimeCheck.js +21 -0
- package/dist/cjs/utils/minimalRequiredRuntimeCheck.js.map +1 -0
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +14 -1
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.uni.driver.js +4 -1
- package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.uni.driver.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +23 -31
- package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +3 -3
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +21 -8
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +21 -12
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/index.js +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/index.js.map +1 -1
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +134 -28
- package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsPage.js +34 -13
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +2 -1
- package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -1
- package/dist/esm/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.js +108 -0
- package/dist/esm/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.js.map +1 -0
- package/dist/esm/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.js +10 -0
- package/dist/esm/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.js.map +1 -0
- package/dist/esm/components/AutoPatternsSettingsPage/index.js +2 -0
- package/dist/esm/components/AutoPatternsSettingsPage/index.js.map +1 -0
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +126 -42
- package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
- package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +155 -10
- package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -1
- package/dist/esm/components/fields/Checkbox.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/DateInput.js +7 -6
- package/dist/esm/components/fields/DateInput.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/DateTime.js +7 -6
- package/dist/esm/components/fields/DateTime.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/ImageInput.js +9 -8
- package/dist/esm/components/fields/ImageInput.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/LongText.js +7 -6
- package/dist/esm/components/fields/LongText.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/Number.js +7 -6
- package/dist/esm/components/fields/Number.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/ShortText.js +7 -6
- package/dist/esm/components/fields/ShortText.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/Url.js +7 -6
- package/dist/esm/components/fields/Url.js.map +1 -0
- package/dist/esm/components/fields/index.js +10 -0
- package/dist/esm/components/fields/index.js.map +1 -0
- package/dist/esm/components/fields/types.js.map +1 -0
- package/dist/esm/components/fields/utils/dates.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js → layouts/ContentCard.js} +19 -8
- package/dist/esm/components/layouts/ContentCard.js.map +1 -0
- package/dist/esm/components/{AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js → layouts/ContentCardLayout.js} +38 -19
- package/dist/esm/components/layouts/ContentCardLayout.js.map +1 -0
- package/dist/esm/components/layouts/ContentSkeleton.js +47 -0
- package/dist/esm/components/layouts/ContentSkeleton.js.map +1 -0
- package/dist/esm/components/layouts/FormField.js +40 -0
- package/dist/esm/components/layouts/FormField.js.map +1 -0
- package/dist/esm/components/layouts/ViewField.js +43 -0
- package/dist/esm/components/layouts/ViewField.js.map +1 -0
- package/dist/esm/components/layouts/types.js +2 -0
- package/dist/esm/components/layouts/types.js.map +1 -0
- package/dist/esm/hooks/getCommonCollectionFeaturesAsync.js +7 -0
- package/dist/esm/hooks/getCommonCollectionFeaturesAsync.js.map +1 -0
- package/dist/esm/hooks/getFilterComponent.js +48 -0
- package/dist/esm/hooks/getFilterComponent.js.map +1 -0
- package/dist/esm/hooks/index.js +1 -2
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/pluginsDynamicImports.js +13 -0
- package/dist/esm/hooks/pluginsDynamicImports.js.map +1 -0
- package/dist/esm/hooks/useAsyncFeaturesPromiseState.js +28 -0
- package/dist/esm/hooks/useAsyncFeaturesPromiseState.js.map +1 -0
- package/dist/esm/hooks/useBaseCollectionComponentReadyFeatures.js +58 -0
- package/dist/esm/hooks/useBaseCollectionComponentReadyFeatures.js.map +1 -0
- package/dist/esm/hooks/useBasePatternsStateParams.js +32 -0
- package/dist/esm/hooks/useBasePatternsStateParams.js.map +1 -0
- package/dist/esm/hooks/useBaseTableFeatures.js +1 -0
- package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
- package/dist/esm/hooks/useCollectionInitAsyncDeps.js +11 -0
- package/dist/esm/hooks/useCollectionInitAsyncDeps.js.map +1 -0
- package/dist/esm/hooks/useCommonCollectionFeatures.js +1 -0
- package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
- package/dist/esm/hooks/useFilters.js +14 -100
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useFiltersState.js +107 -0
- package/dist/esm/hooks/useFiltersState.js.map +1 -0
- package/dist/esm/hooks/useGridFeaturesAsync.js +37 -0
- package/dist/esm/hooks/useGridFeaturesAsync.js.map +1 -0
- package/dist/esm/hooks/useGridVisibleFieldIds.js +13 -0
- package/dist/esm/hooks/useGridVisibleFieldIds.js.map +1 -0
- package/dist/esm/hooks/usePagePath.js +4 -1
- package/dist/esm/hooks/usePagePath.js.map +1 -1
- package/dist/esm/hooks/useSettingsPageMoreActions.js +32 -0
- package/dist/esm/hooks/useSettingsPageMoreActions.js.map +1 -0
- package/dist/esm/hooks/useSyncCollectionStateToAppContext.js +18 -0
- package/dist/esm/hooks/useSyncCollectionStateToAppContext.js.map +1 -0
- package/dist/esm/hooks/useTableFeaturesAsync.js +46 -0
- package/dist/esm/hooks/useTableFeaturesAsync.js.map +1 -0
- package/dist/esm/hooks/useTableGridSwitchFeaturesAsync.js +47 -0
- package/dist/esm/hooks/useTableGridSwitchFeaturesAsync.js.map +1 -0
- package/dist/esm/hooks/useTableSections.js +14 -0
- package/dist/esm/hooks/useTableSections.js.map +1 -0
- package/dist/esm/providers/AutoPatternsOverridesContext.js.map +1 -1
- package/dist/esm/types/SettingsPageConfig.js +2 -0
- package/dist/esm/types/SettingsPageConfig.js.map +1 -0
- package/dist/esm/types/actions/base.js.map +1 -1
- package/dist/esm/types/actions/entityPageActions.js.map +1 -1
- package/dist/esm/types/actions/formPageActions.js +2 -0
- package/dist/esm/types/actions/formPageActions.js.map +1 -0
- package/dist/esm/types/actions/index.js +1 -0
- package/dist/esm/types/actions/index.js.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/types.js.map +1 -1
- package/dist/esm/utils/filterCreators.js +17 -32
- package/dist/esm/utils/filterCreators.js.map +1 -1
- package/dist/esm/utils/minimalRequiredPatternsRuntimeCheck.js +14 -0
- package/dist/esm/utils/minimalRequiredPatternsRuntimeCheck.js.map +1 -0
- package/dist/esm/utils/minimalRequiredRuntimeCheck.js +17 -0
- package/dist/esm/utils/minimalRequiredRuntimeCheck.js.map +1 -0
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts +4 -1
- package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.d.ts +6 -0
- package/dist/types/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts +0 -1
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts +17 -2
- package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsRoute/AutoPatternsPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.d.ts +6 -0
- package/dist/types/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.d.ts +145 -0
- package/dist/types/components/AutoPatternsSettingsPage/AutoPatternsSettingsPage.uni.driver.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsSettingsPage/index.d.ts +2 -0
- package/dist/types/components/AutoPatternsSettingsPage/index.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts +17 -2
- package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts +18 -2
- package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts.map +1 -1
- package/dist/types/components/fields/Checkbox.d.ts.map +1 -0
- package/dist/types/components/fields/DateInput.d.ts.map +1 -0
- package/dist/types/components/fields/DateTime.d.ts.map +1 -0
- package/dist/types/components/fields/ImageInput.d.ts.map +1 -0
- package/dist/types/components/fields/LongText.d.ts.map +1 -0
- package/dist/types/components/fields/Number.d.ts.map +1 -0
- package/dist/types/components/fields/ShortText.d.ts.map +1 -0
- package/dist/types/components/fields/Url.d.ts.map +1 -0
- package/dist/types/components/fields/index.d.ts +10 -0
- package/dist/types/components/fields/index.d.ts.map +1 -0
- package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/types.d.ts +4 -1
- package/dist/types/components/fields/types.d.ts.map +1 -0
- package/dist/types/components/fields/utils/dates.d.ts.map +1 -0
- package/dist/types/components/layouts/ContentCard.d.ts +17 -0
- package/dist/types/components/layouts/ContentCard.d.ts.map +1 -0
- package/dist/types/components/layouts/ContentCardLayout.d.ts +18 -0
- package/dist/types/components/layouts/ContentCardLayout.d.ts.map +1 -0
- package/dist/types/components/layouts/ContentSkeleton.d.ts +9 -0
- package/dist/types/components/layouts/ContentSkeleton.d.ts.map +1 -0
- package/dist/types/components/layouts/FormField.d.ts +13 -0
- package/dist/types/components/layouts/FormField.d.ts.map +1 -0
- package/dist/types/components/layouts/ViewField.d.ts +8 -0
- package/dist/types/components/layouts/ViewField.d.ts.map +1 -0
- package/dist/types/components/layouts/types.d.ts +3 -0
- package/dist/types/components/layouts/types.d.ts.map +1 -0
- package/dist/types/hooks/getCommonCollectionFeaturesAsync.d.ts +4 -0
- package/dist/types/hooks/getCommonCollectionFeaturesAsync.d.ts.map +1 -0
- package/dist/types/hooks/getFilterComponent.d.ts +4 -0
- package/dist/types/hooks/getFilterComponent.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +1 -2
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/pluginsDynamicImports.d.ts +7 -0
- package/dist/types/hooks/pluginsDynamicImports.d.ts.map +1 -0
- package/dist/types/hooks/useAsyncFeaturesPromiseState.d.ts +6 -0
- package/dist/types/hooks/useAsyncFeaturesPromiseState.d.ts.map +1 -0
- package/dist/types/hooks/useBaseCollectionComponentReadyFeatures.d.ts +36 -0
- package/dist/types/hooks/useBaseCollectionComponentReadyFeatures.d.ts.map +1 -0
- package/dist/types/hooks/useBasePatternsStateParams.d.ts +31 -0
- package/dist/types/hooks/useBasePatternsStateParams.d.ts.map +1 -0
- package/dist/types/hooks/useBaseTableFeatures.d.ts +2 -0
- package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useCollectionInitAsyncDeps.d.ts +4 -0
- package/dist/types/hooks/useCollectionInitAsyncDeps.d.ts.map +1 -0
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -0
- package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useFilters.d.ts +9 -21
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/hooks/useFiltersState.d.ts +26 -0
- package/dist/types/hooks/useFiltersState.d.ts.map +1 -0
- package/dist/types/hooks/useGridDragAndDrop.d.ts +1 -1
- package/dist/types/hooks/useGridFeaturesAsync.d.ts +26 -0
- package/dist/types/hooks/useGridFeaturesAsync.d.ts.map +1 -0
- package/dist/types/hooks/useGridVisibleFieldIds.d.ts +3 -0
- package/dist/types/hooks/useGridVisibleFieldIds.d.ts.map +1 -0
- package/dist/types/hooks/usePagePath.d.ts.map +1 -1
- package/dist/types/hooks/useSettingsPageMoreActions.d.ts +5 -0
- package/dist/types/hooks/useSettingsPageMoreActions.d.ts.map +1 -0
- package/dist/types/hooks/useSyncCollectionStateToAppContext.d.ts +6 -0
- package/dist/types/hooks/useSyncCollectionStateToAppContext.d.ts.map +1 -0
- package/dist/types/hooks/useTableFeaturesAsync.d.ts +29 -0
- package/dist/types/hooks/useTableFeaturesAsync.d.ts.map +1 -0
- package/dist/types/hooks/useTableGridSwitchDragAndDrop.d.ts +1 -1
- package/dist/types/hooks/useTableGridSwitchFeaturesAsync.d.ts +29 -0
- package/dist/types/hooks/useTableGridSwitchFeaturesAsync.d.ts.map +1 -0
- package/dist/types/hooks/useTableSections.d.ts +8 -0
- package/dist/types/hooks/useTableSections.d.ts.map +1 -0
- package/dist/types/providers/AutoPatternsOverridesContext.d.ts +2 -2
- package/dist/types/providers/AutoPatternsOverridesContext.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +1 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +1 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +1 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +1 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/types/SettingsPageConfig.d.ts +140 -0
- package/dist/types/types/SettingsPageConfig.d.ts.map +1 -0
- package/dist/types/types/actions/base.d.ts +1 -0
- package/dist/types/types/actions/base.d.ts.map +1 -1
- package/dist/types/types/actions/entityPageActions.d.ts +2 -7
- package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
- package/dist/types/types/actions/formPageActions.d.ts +8 -0
- package/dist/types/types/actions/formPageActions.d.ts.map +1 -0
- package/dist/types/types/actions/index.d.ts +1 -0
- package/dist/types/types/actions/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/types.d.ts +20 -1
- package/dist/types/types/types.d.ts.map +1 -1
- package/dist/types/utils/filterCreators.d.ts +10 -19
- package/dist/types/utils/filterCreators.d.ts.map +1 -1
- package/dist/types/utils/minimalRequiredPatternsRuntimeCheck.d.ts +5 -0
- package/dist/types/utils/minimalRequiredPatternsRuntimeCheck.d.ts.map +1 -0
- package/dist/types/utils/minimalRequiredRuntimeCheck.d.ts +9 -0
- package/dist/types/utils/minimalRequiredRuntimeCheck.d.ts.map +1 -0
- package/docs/GETTING_STARTED.md +73 -18
- package/mcp-docs/app_config_structure.md +66 -3
- package/mcp-docs/auto-patterns-guide.md +86 -6
- package/mcp-docs/index.md +4 -0
- package/mcp-docs/pages_configuration.md +20 -3
- package/mcp-docs/settings_page.md +599 -0
- package/package.json +14 -13
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Checkbox.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +0 -59
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/types.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/dates.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +0 -119
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +0 -79
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js +0 -16
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/SkeletonEntity.js +0 -198
- package/dist/cjs/components/AutoPatternsEntityPage/SkeletonEntity.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +0 -77
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +0 -1
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +0 -109
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +0 -1
- package/dist/cjs/hooks/useGridFeatures.js +0 -63
- package/dist/cjs/hooks/useGridFeatures.js.map +0 -1
- package/dist/cjs/hooks/useTableFeatures.js +0 -79
- package/dist/cjs/hooks/useTableFeatures.js.map +0 -1
- package/dist/cjs/hooks/useTableGridSwitchFeatures.js +0 -83
- package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Checkbox.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +0 -46
- package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/types.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/dates.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +0 -48
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js +0 -3
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js +0 -91
- package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +0 -31
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +0 -1
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +0 -66
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +0 -1
- package/dist/esm/hooks/useGridFeatures.js +0 -58
- package/dist/esm/hooks/useGridFeatures.js.map +0 -1
- package/dist/esm/hooks/useTableFeatures.js +0 -74
- package/dist/esm/hooks/useTableFeatures.js.map +0 -1
- package/dist/esm/hooks/useTableGridSwitchFeatures.js +0 -78
- package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Checkbox.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts +0 -10
- package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/Fields/utils/dates.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts +0 -11
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts +0 -13
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts +0 -8
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts +0 -3
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/SkeletonEntity.d.ts +0 -7
- package/dist/types/components/AutoPatternsEntityPage/SkeletonEntity.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts +0 -8
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts.map +0 -1
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts +0 -8
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts.map +0 -1
- package/dist/types/hooks/useGridFeatures.d.ts +0 -43
- package/dist/types/hooks/useGridFeatures.d.ts.map +0 -1
- package/dist/types/hooks/useTableFeatures.d.ts +0 -27
- package/dist/types/hooks/useTableFeatures.d.ts.map +0 -1
- package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +0 -52
- package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +0 -1
- /package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/types.js +0 -0
- /package/dist/cjs/components/{AutoPatternsEntityPage/Fields → fields}/utils/dates.js +0 -0
- /package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/Checkbox.js +0 -0
- /package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/types.js +0 -0
- /package/dist/esm/components/{AutoPatternsEntityPage/Fields → fields}/utils/dates.js +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/Checkbox.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/DateInput.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/DateTime.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/ImageInput.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/LongText.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/Number.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/ShortText.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/Url.d.ts +0 -0
- /package/dist/types/components/{AutoPatternsEntityPage/Fields → fields}/utils/dates.d.ts +0 -0
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
# Settings Page Configuration
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The Settings Page is a dedicated page type for managing application settings and preferences. It provides a form-based interface with automatic save/cancel functionality, validation, and a flexible card-based layout system. The Settings Page uses the same custom data source pattern as Collection Pages for consistency across the framework.
|
|
6
|
+
|
|
7
|
+
## Key Features
|
|
8
|
+
|
|
9
|
+
- **Custom Data Source Pattern**: Uses SchemaConfig with standard CRUD actions (same as Collection Pages)
|
|
10
|
+
- **Form-based Interface**: Built-in form state management with `@wix/patterns/form`
|
|
11
|
+
- **Auto Save/Cancel**: Automatic save and cancel button handling
|
|
12
|
+
- **Validation Support**: Field validation with focus on invalid fields
|
|
13
|
+
- **Flexible Layout**: Card-based layout with main content and optional sidebar
|
|
14
|
+
- **Header Configuration**: Title, subtitle, and more actions support
|
|
15
|
+
|
|
16
|
+
## Page Type
|
|
17
|
+
|
|
18
|
+
Set `type: 'settingsPage'` in your page configuration:
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"id": "settings",
|
|
23
|
+
"type": "settingsPage",
|
|
24
|
+
"appMainPage": true,
|
|
25
|
+
"settingsPage": {
|
|
26
|
+
"entityTypeSource": "custom",
|
|
27
|
+
"custom": {
|
|
28
|
+
"id": "app-settings"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Settings Page Configuration
|
|
35
|
+
|
|
36
|
+
### Required Properties
|
|
37
|
+
|
|
38
|
+
| Property | Type | Description |
|
|
39
|
+
|----------|------|-------------|
|
|
40
|
+
| `route.path` | `string` | Route path for the settings page (e.g., `/settings`) |
|
|
41
|
+
| `entityTypeSource` | `'custom'` | Must be `'custom'` - settings pages use custom data sources |
|
|
42
|
+
| `custom.id` | `string` | ID matching the custom data source identifier |
|
|
43
|
+
|
|
44
|
+
### Optional Properties
|
|
45
|
+
|
|
46
|
+
| Property | Type | Description |
|
|
47
|
+
|----------|------|-------------|
|
|
48
|
+
| `title` | `object` | Page title configuration |
|
|
49
|
+
| `subtitle` | `object` | Page subtitle with optional learn more link |
|
|
50
|
+
| `actions.moreActions` | `MoreActionsType` | Additional actions menu (export, import, reset, etc.) |
|
|
51
|
+
| `layout` | `object` | Card layout for main and sidebar content |
|
|
52
|
+
|
|
53
|
+
## Custom Data Source
|
|
54
|
+
|
|
55
|
+
The settings page requires a custom data source that provides the schema and CRUD actions. This follows the same pattern as Collection Pages. See the [Complete Configuration Example](#complete-configuration-example) section for a full implementation.
|
|
56
|
+
|
|
57
|
+
### Registering the Data Source
|
|
58
|
+
|
|
59
|
+
Create a hook to register your custom data source:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
// useCustomDataSources.tsx
|
|
63
|
+
import { appSettingsDataSource } from './appSettingsDataSource';
|
|
64
|
+
|
|
65
|
+
export const useCustomDataSources = () => {
|
|
66
|
+
return {
|
|
67
|
+
'app-settings': appSettingsDataSource,
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Supported Field Types
|
|
73
|
+
|
|
74
|
+
- `SHORT_TEXT` - Single-line text input
|
|
75
|
+
- `LONG_TEXT` - Multi-line text area
|
|
76
|
+
- `BOOLEAN` - Toggle/checkbox
|
|
77
|
+
- `NUMBER` - Numeric input
|
|
78
|
+
- `URL` - URL input with validation
|
|
79
|
+
- `DATE` - Date picker
|
|
80
|
+
- `DATETIME` - Date and time picker
|
|
81
|
+
|
|
82
|
+
## Actions Configuration
|
|
83
|
+
|
|
84
|
+
### More Actions (Custom Actions)
|
|
85
|
+
|
|
86
|
+
Define custom actions in the `actions.moreActions` array. See the [Complete Configuration Example](#complete-configuration-example) for the full configuration.
|
|
87
|
+
|
|
88
|
+
### Custom Action Resolvers
|
|
89
|
+
|
|
90
|
+
Create action resolvers using `CustomFormPageActionResolver`:
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
// actions/exportSettings.tsx
|
|
94
|
+
import React from 'react';
|
|
95
|
+
import { CustomFormPageActionResolver } from '@wix/auto-patterns';
|
|
96
|
+
import { Download } from '@wix/wix-ui-icons-common';
|
|
97
|
+
|
|
98
|
+
export const exportSettings: CustomFormPageActionResolver = (params) => {
|
|
99
|
+
// params.form provides access to form state if needed
|
|
100
|
+
return {
|
|
101
|
+
label: 'Export settings',
|
|
102
|
+
icon: <Download />,
|
|
103
|
+
onClick: () => {
|
|
104
|
+
// Export logic here
|
|
105
|
+
console.log('Exporting settings');
|
|
106
|
+
},
|
|
107
|
+
biName: 'export-settings-action',
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
// actions/importSettings.tsx
|
|
114
|
+
import React from 'react';
|
|
115
|
+
import { CustomFormPageActionResolver } from '@wix/auto-patterns';
|
|
116
|
+
import { Upload } from '@wix/wix-ui-icons-common';
|
|
117
|
+
|
|
118
|
+
export const importSettings: CustomFormPageActionResolver = () => {
|
|
119
|
+
return {
|
|
120
|
+
label: 'Import settings',
|
|
121
|
+
icon: <Upload />,
|
|
122
|
+
onClick: () => console.log('Importing settings'),
|
|
123
|
+
biName: 'import-settings-action',
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
// actions/resetSettings.tsx
|
|
130
|
+
import React from 'react';
|
|
131
|
+
import { CustomFormPageActionResolver } from '@wix/auto-patterns';
|
|
132
|
+
import { Undo } from '@wix/wix-ui-icons-common';
|
|
133
|
+
|
|
134
|
+
export const resetSettings: CustomFormPageActionResolver = () => {
|
|
135
|
+
return {
|
|
136
|
+
label: 'Reset settings',
|
|
137
|
+
icon: <Undo />,
|
|
138
|
+
onClick: () => console.log('Resetting to defaults'),
|
|
139
|
+
biName: 'reset-settings-action',
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Registering Actions
|
|
145
|
+
|
|
146
|
+
Create a hook to register your custom actions:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// useActions.tsx
|
|
150
|
+
import { exportSettings, importSettings, resetSettings } from './actions';
|
|
151
|
+
|
|
152
|
+
export const useActions = () => {
|
|
153
|
+
return {
|
|
154
|
+
exportSettings,
|
|
155
|
+
importSettings,
|
|
156
|
+
resetSettings,
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Header Configuration
|
|
162
|
+
|
|
163
|
+
The header supports `title` and `subtitle` with optional `learnMore` link. See the [Complete Configuration Example](#complete-configuration-example) for usage.
|
|
164
|
+
|
|
165
|
+
## Layout Configuration
|
|
166
|
+
|
|
167
|
+
The settings page uses a card-based layout with main content and optional sidebar areas.
|
|
168
|
+
|
|
169
|
+
### Layout Structure
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
layout: {
|
|
173
|
+
main: CardLayout[]; // Main content area (required)
|
|
174
|
+
sidebar?: CardLayout[]; // Sidebar area (optional)
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Card Layout
|
|
179
|
+
|
|
180
|
+
Each card in the layout has the following structure:
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
{
|
|
184
|
+
type: 'card',
|
|
185
|
+
card: {
|
|
186
|
+
title: { text: 'Card Title' },
|
|
187
|
+
subtitle?: { text: 'Optional subtitle' },
|
|
188
|
+
children: LayoutContent[]
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Layout Content Types
|
|
194
|
+
|
|
195
|
+
#### 1. Field Content
|
|
196
|
+
|
|
197
|
+
Renders a form field from the data source schema:
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
{
|
|
201
|
+
type: 'field',
|
|
202
|
+
field: {
|
|
203
|
+
fieldId: 'name', // Must match a field ID from the data source schema
|
|
204
|
+
span?: 6 // Grid columns (1-12), default is 12
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
#### 2. Container Content
|
|
210
|
+
|
|
211
|
+
Groups related content items:
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
{
|
|
215
|
+
type: 'container',
|
|
216
|
+
container: {
|
|
217
|
+
span?: 12, // Grid columns (1-12)
|
|
218
|
+
children: [ // Nested layout content
|
|
219
|
+
{ type: 'field', field: { fieldId: 'field1', span: 4 } },
|
|
220
|
+
{ type: 'field', field: { fieldId: 'field2', span: 4 } },
|
|
221
|
+
{ type: 'field', field: { fieldId: 'field3', span: 4 } }
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
#### 3. Component Content
|
|
228
|
+
|
|
229
|
+
Renders a custom component via overrides:
|
|
230
|
+
|
|
231
|
+
```typescript
|
|
232
|
+
{
|
|
233
|
+
type: 'component',
|
|
234
|
+
component: {
|
|
235
|
+
componentId: 'myCustomComponent', // Matches override key
|
|
236
|
+
span?: 12 // Grid columns (1-12)
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Grid System
|
|
242
|
+
|
|
243
|
+
- **12-Column Grid**: The layout uses a 12-column grid system
|
|
244
|
+
- The `span` property controls how many columns an item occupies (1-12)
|
|
245
|
+
- When items in a row exceed 12 columns total, the next item wraps to a new line
|
|
246
|
+
|
|
247
|
+
## Complete Configuration Example
|
|
248
|
+
|
|
249
|
+
### App Config (settingPageConfig.patterns.ts)
|
|
250
|
+
|
|
251
|
+
```typescript
|
|
252
|
+
import type { AppConfig } from '@wix/auto-patterns';
|
|
253
|
+
|
|
254
|
+
export const appConfig: AppConfig = {
|
|
255
|
+
pages: [
|
|
256
|
+
{
|
|
257
|
+
id: 'settings',
|
|
258
|
+
type: 'settingsPage',
|
|
259
|
+
appMainPage: true,
|
|
260
|
+
settingsPage: {
|
|
261
|
+
route: {
|
|
262
|
+
path: '/settings',
|
|
263
|
+
},
|
|
264
|
+
entityTypeSource: 'custom',
|
|
265
|
+
custom: {
|
|
266
|
+
id: 'app-settings',
|
|
267
|
+
},
|
|
268
|
+
|
|
269
|
+
// Header
|
|
270
|
+
title: {
|
|
271
|
+
text: 'App Settings',
|
|
272
|
+
},
|
|
273
|
+
subtitle: {
|
|
274
|
+
text: 'Configure your application preferences and defaults',
|
|
275
|
+
learnMore: {
|
|
276
|
+
url: 'https://support.wix.com/en/article/wix-apps',
|
|
277
|
+
label: 'Learn more',
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
|
|
281
|
+
// Custom actions
|
|
282
|
+
actions: {
|
|
283
|
+
moreActions: [
|
|
284
|
+
{
|
|
285
|
+
id: 'exportSettings',
|
|
286
|
+
type: 'custom',
|
|
287
|
+
label: 'Export Settings',
|
|
288
|
+
biName: 'export-settings',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
id: 'importSettings',
|
|
292
|
+
type: 'custom',
|
|
293
|
+
label: 'Import Settings',
|
|
294
|
+
biName: 'import-settings',
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: 'resetSettings',
|
|
298
|
+
type: 'custom',
|
|
299
|
+
label: 'Reset to Defaults',
|
|
300
|
+
biName: 'reset-settings',
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
},
|
|
304
|
+
|
|
305
|
+
// Layout
|
|
306
|
+
layout: {
|
|
307
|
+
main: [
|
|
308
|
+
{
|
|
309
|
+
type: 'card',
|
|
310
|
+
card: {
|
|
311
|
+
title: { text: 'General Settings' },
|
|
312
|
+
subtitle: { text: 'Basic configuration for your application' },
|
|
313
|
+
children: [
|
|
314
|
+
{ type: 'field', field: { fieldId: 'name', span: 6 } },
|
|
315
|
+
{ type: 'field', field: { fieldId: 'description', span: 6 } },
|
|
316
|
+
],
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
type: 'card',
|
|
321
|
+
card: {
|
|
322
|
+
title: { text: 'Display Options' },
|
|
323
|
+
subtitle: { text: 'Customize how content appears to users' },
|
|
324
|
+
children: [
|
|
325
|
+
{
|
|
326
|
+
type: 'container',
|
|
327
|
+
container: {
|
|
328
|
+
span: 12,
|
|
329
|
+
children: [
|
|
330
|
+
{ type: 'field', field: { fieldId: 'showHeader', span: 4 } },
|
|
331
|
+
{ type: 'field', field: { fieldId: 'showFooter', span: 4 } },
|
|
332
|
+
{ type: 'field', field: { fieldId: 'showSidebar', span: 4 } },
|
|
333
|
+
],
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
{ type: 'field', field: { fieldId: 'maxItemsPerPage', span: 6 } },
|
|
337
|
+
],
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
type: 'card',
|
|
342
|
+
card: {
|
|
343
|
+
title: { text: 'Notification Settings' },
|
|
344
|
+
children: [
|
|
345
|
+
{ type: 'field', field: { fieldId: 'emailNotifications', span: 6 } },
|
|
346
|
+
{ type: 'field', field: { fieldId: 'pushNotifications', span: 6 } },
|
|
347
|
+
{ type: 'field', field: { fieldId: 'notificationEmail', span: 12 } },
|
|
348
|
+
],
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
sidebar: [
|
|
353
|
+
{
|
|
354
|
+
type: 'card',
|
|
355
|
+
card: {
|
|
356
|
+
title: { text: 'Branding' },
|
|
357
|
+
subtitle: { text: 'Set your website URL' },
|
|
358
|
+
children: [
|
|
359
|
+
{ type: 'field', field: { fieldId: 'websiteUrl', span: 12 } },
|
|
360
|
+
],
|
|
361
|
+
},
|
|
362
|
+
},
|
|
363
|
+
],
|
|
364
|
+
},
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
],
|
|
368
|
+
};
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Data Source (appSettingsDataSource.ts)
|
|
372
|
+
|
|
373
|
+
```typescript
|
|
374
|
+
import type { SchemaConfig } from '@wix/auto-patterns';
|
|
375
|
+
|
|
376
|
+
export const appSettingsDataSource = async (
|
|
377
|
+
_collectionId: string,
|
|
378
|
+
_context: any,
|
|
379
|
+
): Promise<SchemaConfig> => {
|
|
380
|
+
return {
|
|
381
|
+
id: 'app-settings',
|
|
382
|
+
displayField: 'name',
|
|
383
|
+
idField: 'id',
|
|
384
|
+
fields: {
|
|
385
|
+
id: {
|
|
386
|
+
id: 'id',
|
|
387
|
+
type: 'SHORT_TEXT',
|
|
388
|
+
displayName: 'ID',
|
|
389
|
+
validation: { required: true },
|
|
390
|
+
},
|
|
391
|
+
name: {
|
|
392
|
+
id: 'name',
|
|
393
|
+
type: 'SHORT_TEXT',
|
|
394
|
+
displayName: 'App Name',
|
|
395
|
+
validation: { required: true },
|
|
396
|
+
},
|
|
397
|
+
description: {
|
|
398
|
+
id: 'description',
|
|
399
|
+
type: 'LONG_TEXT',
|
|
400
|
+
displayName: 'Description',
|
|
401
|
+
},
|
|
402
|
+
showHeader: {
|
|
403
|
+
id: 'showHeader',
|
|
404
|
+
type: 'BOOLEAN',
|
|
405
|
+
displayName: 'Show Header',
|
|
406
|
+
},
|
|
407
|
+
showFooter: {
|
|
408
|
+
id: 'showFooter',
|
|
409
|
+
type: 'BOOLEAN',
|
|
410
|
+
displayName: 'Show Footer',
|
|
411
|
+
},
|
|
412
|
+
showSidebar: {
|
|
413
|
+
id: 'showSidebar',
|
|
414
|
+
type: 'BOOLEAN',
|
|
415
|
+
displayName: 'Show Sidebar',
|
|
416
|
+
},
|
|
417
|
+
maxItemsPerPage: {
|
|
418
|
+
id: 'maxItemsPerPage',
|
|
419
|
+
type: 'NUMBER',
|
|
420
|
+
displayName: 'Max Items Per Page',
|
|
421
|
+
},
|
|
422
|
+
emailNotifications: {
|
|
423
|
+
id: 'emailNotifications',
|
|
424
|
+
type: 'BOOLEAN',
|
|
425
|
+
displayName: 'Email Notifications',
|
|
426
|
+
},
|
|
427
|
+
pushNotifications: {
|
|
428
|
+
id: 'pushNotifications',
|
|
429
|
+
type: 'BOOLEAN',
|
|
430
|
+
displayName: 'Push Notifications',
|
|
431
|
+
},
|
|
432
|
+
notificationEmail: {
|
|
433
|
+
id: 'notificationEmail',
|
|
434
|
+
type: 'SHORT_TEXT',
|
|
435
|
+
displayName: 'Notification Email',
|
|
436
|
+
},
|
|
437
|
+
websiteUrl: {
|
|
438
|
+
id: 'websiteUrl',
|
|
439
|
+
type: 'URL',
|
|
440
|
+
displayName: 'Website URL',
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
actions: {
|
|
444
|
+
get: async (entityId: string) => {
|
|
445
|
+
console.log('Getting settings:', entityId);
|
|
446
|
+
return {
|
|
447
|
+
id: 'app-settings',
|
|
448
|
+
name: 'My App',
|
|
449
|
+
description: 'App description',
|
|
450
|
+
showHeader: true,
|
|
451
|
+
showFooter: true,
|
|
452
|
+
showSidebar: false,
|
|
453
|
+
maxItemsPerPage: 10,
|
|
454
|
+
emailNotifications: true,
|
|
455
|
+
pushNotifications: false,
|
|
456
|
+
notificationEmail: 'admin@example.com',
|
|
457
|
+
websiteUrl: 'https://example.com',
|
|
458
|
+
};
|
|
459
|
+
},
|
|
460
|
+
create: async (newEntity: any) => {
|
|
461
|
+
console.log('Creating settings:', newEntity);
|
|
462
|
+
return newEntity;
|
|
463
|
+
},
|
|
464
|
+
update: async (updatedEntity: any) => {
|
|
465
|
+
console.log('Saving settings:', updatedEntity);
|
|
466
|
+
return updatedEntity;
|
|
467
|
+
},
|
|
468
|
+
delete: async (entityId: string) => {
|
|
469
|
+
console.log('Deleting settings:', entityId);
|
|
470
|
+
return { id: entityId };
|
|
471
|
+
},
|
|
472
|
+
bulkDelete: async (entityIds: string[]) => {
|
|
473
|
+
console.log('Bulk deleting settings:', entityIds);
|
|
474
|
+
return entityIds.map((id) => ({ id }));
|
|
475
|
+
},
|
|
476
|
+
find: async () => {
|
|
477
|
+
console.log('Fetching settings...');
|
|
478
|
+
return {
|
|
479
|
+
items: [
|
|
480
|
+
{
|
|
481
|
+
id: 'app-settings',
|
|
482
|
+
name: 'My App',
|
|
483
|
+
description: 'App description',
|
|
484
|
+
showHeader: true,
|
|
485
|
+
showFooter: true,
|
|
486
|
+
showSidebar: false,
|
|
487
|
+
maxItemsPerPage: 10,
|
|
488
|
+
emailNotifications: true,
|
|
489
|
+
pushNotifications: false,
|
|
490
|
+
notificationEmail: 'admin@example.com',
|
|
491
|
+
websiteUrl: 'https://example.com',
|
|
492
|
+
},
|
|
493
|
+
],
|
|
494
|
+
hasNext: false,
|
|
495
|
+
total: 1,
|
|
496
|
+
};
|
|
497
|
+
},
|
|
498
|
+
},
|
|
499
|
+
};
|
|
500
|
+
};
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
## Usage with AutoPatternsApp
|
|
504
|
+
|
|
505
|
+
```tsx
|
|
506
|
+
import React from 'react';
|
|
507
|
+
import { WixDesignSystemProvider } from '@wix/design-system';
|
|
508
|
+
import '@wix/design-system/styles.global.css';
|
|
509
|
+
import {
|
|
510
|
+
AutoPatternsOverridesProvider,
|
|
511
|
+
AutoPatternsApp,
|
|
512
|
+
} from '@wix/auto-patterns';
|
|
513
|
+
import { WixPatternsBMProvider } from '@wix/patterns/bm';
|
|
514
|
+
import { appConfig } from './settingPageConfig.patterns';
|
|
515
|
+
import { useActions } from './useActions';
|
|
516
|
+
import { useCustomDataSources } from './useCustomDataSources';
|
|
517
|
+
|
|
518
|
+
const App = () => {
|
|
519
|
+
const actions = useActions();
|
|
520
|
+
const customDataSources = useCustomDataSources();
|
|
521
|
+
|
|
522
|
+
return (
|
|
523
|
+
<WixDesignSystemProvider features={{ newColorsBranding: true }}>
|
|
524
|
+
<WixPatternsBMProvider>
|
|
525
|
+
<AutoPatternsOverridesProvider
|
|
526
|
+
value={{
|
|
527
|
+
actions,
|
|
528
|
+
customDataSources,
|
|
529
|
+
}}
|
|
530
|
+
>
|
|
531
|
+
<AutoPatternsApp configuration={appConfig} />
|
|
532
|
+
</AutoPatternsOverridesProvider>
|
|
533
|
+
</WixPatternsBMProvider>
|
|
534
|
+
</WixDesignSystemProvider>
|
|
535
|
+
);
|
|
536
|
+
};
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
## Validation
|
|
540
|
+
|
|
541
|
+
Field validation is configured in the data source schema:
|
|
542
|
+
|
|
543
|
+
```typescript
|
|
544
|
+
fields: {
|
|
545
|
+
email: {
|
|
546
|
+
id: 'email',
|
|
547
|
+
type: 'SHORT_TEXT',
|
|
548
|
+
displayName: 'Email',
|
|
549
|
+
validation: { required: true },
|
|
550
|
+
},
|
|
551
|
+
}
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
When a user attempts to save with invalid fields:
|
|
555
|
+
1. The first invalid field is focused
|
|
556
|
+
2. The save action is prevented
|
|
557
|
+
3. An error is thrown to indicate form validation failure
|
|
558
|
+
|
|
559
|
+
## Best Practices
|
|
560
|
+
|
|
561
|
+
1. **Use Custom Data Source Pattern**: Settings pages use the same data source pattern as collection pages for consistency
|
|
562
|
+
2. **Group Related Settings**: Use cards to organize related settings together
|
|
563
|
+
3. **Use Descriptive Labels**: Field `displayName` should clearly describe the setting
|
|
564
|
+
4. **Provide Context**: Use card subtitles and learn more links to help users understand settings
|
|
565
|
+
5. **Validate Required Fields**: Mark essential settings as required in the schema
|
|
566
|
+
6. **Handle Errors**: Implement proper error handling in data source actions
|
|
567
|
+
7. **Use Appropriate Field Types**: Choose the right field type for each setting (BOOLEAN for toggles, NUMBER for numeric values, etc.)
|
|
568
|
+
|
|
569
|
+
## Common Mistakes to Avoid
|
|
570
|
+
|
|
571
|
+
- Missing `entityTypeSource: 'custom'` and `custom.id` configuration
|
|
572
|
+
- Not registering the custom data source in `AutoPatternsOverridesProvider`
|
|
573
|
+
- Field IDs in layout not matching field definitions in the data source schema
|
|
574
|
+
- Forgetting to wrap with required providers (WixDesignSystemProvider, WixPatternsBMProvider, AutoPatternsOverridesProvider)
|
|
575
|
+
- Not handling async errors in data source actions
|
|
576
|
+
- Using span values that exceed 12 columns per row
|
|
577
|
+
- Forgetting to export and register custom actions
|
|
578
|
+
|
|
579
|
+
## File Structure
|
|
580
|
+
|
|
581
|
+
A typical settings page implementation has the following structure:
|
|
582
|
+
|
|
583
|
+
```
|
|
584
|
+
src/
|
|
585
|
+
├── components/
|
|
586
|
+
│ └── Settings/
|
|
587
|
+
│ ├── settingPageConfig.patterns.ts # AppConfig with page configuration
|
|
588
|
+
│ ├── appSettingsDataSource.ts # Custom data source with schema and actions
|
|
589
|
+
│ ├── useCustomDataSources.tsx # Hook to register data source
|
|
590
|
+
│ ├── useActions.tsx # Hook to register custom actions
|
|
591
|
+
│ └── actions/
|
|
592
|
+
│ ├── index.ts # Export all actions
|
|
593
|
+
│ ├── exportSettings.tsx # Export action resolver
|
|
594
|
+
│ ├── importSettings.tsx # Import action resolver
|
|
595
|
+
│ └── resetSettings.tsx # Reset action resolver
|
|
596
|
+
└── pages/
|
|
597
|
+
└── settings/
|
|
598
|
+
└── index.tsx # Page component with providers
|
|
599
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/auto-patterns",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Matvey Oklander",
|
|
@@ -84,19 +84,19 @@
|
|
|
84
84
|
"@types/lodash": "^4.17.20",
|
|
85
85
|
"@types/node": "^16.18.126",
|
|
86
86
|
"@types/node-fetch": "^2.6.13",
|
|
87
|
-
"@types/react": "^16.14.
|
|
87
|
+
"@types/react": "^16.14.68",
|
|
88
88
|
"@wix/crm": "^1.0.1175",
|
|
89
89
|
"@wix/design-system": "^1.223.0",
|
|
90
|
-
"@wix/eslint-config-yoshi": "^6.
|
|
91
|
-
"@wix/fe-essentials-standalone": "^1.
|
|
92
|
-
"@wix/jest-yoshi-preset": "^6.
|
|
93
|
-
"@wix/patterns": "^1.
|
|
90
|
+
"@wix/eslint-config-yoshi": "^6.163.0",
|
|
91
|
+
"@wix/fe-essentials-standalone": "^1.1401.0",
|
|
92
|
+
"@wix/jest-yoshi-preset": "^6.163.0",
|
|
93
|
+
"@wix/patterns": "^1.308.0",
|
|
94
94
|
"@wix/sdk": "^1.17.2",
|
|
95
95
|
"@wix/sdk-testkit": ">=0.1.9",
|
|
96
|
-
"@wix/wix-data-items-common": "^1.0.
|
|
97
|
-
"@wix/wix-data-items-sdk": "^1.0.
|
|
98
|
-
"@wix/yoshi-flow-library": "^6.
|
|
99
|
-
"@wix/yoshi-style-dependencies": "^6.
|
|
96
|
+
"@wix/wix-data-items-common": "^1.0.270",
|
|
97
|
+
"@wix/wix-data-items-sdk": "^1.0.440",
|
|
98
|
+
"@wix/yoshi-flow-library": "^6.163.0",
|
|
99
|
+
"@wix/yoshi-style-dependencies": "^6.163.0",
|
|
100
100
|
"chance": "^1.1.13",
|
|
101
101
|
"date-fns": "^2.30.0",
|
|
102
102
|
"express": "^4.21.2",
|
|
@@ -104,14 +104,15 @@
|
|
|
104
104
|
"jest": "^27.5.1",
|
|
105
105
|
"node-fetch": "^2.7.0",
|
|
106
106
|
"react": "16.14.0",
|
|
107
|
-
"react-router-dom": "^6.30.
|
|
107
|
+
"react-router-dom": "^6.30.2",
|
|
108
|
+
"semver": "^7.7.3",
|
|
108
109
|
"typescript": "~5.8.3"
|
|
109
110
|
},
|
|
110
111
|
"peerDependencies": {
|
|
111
112
|
"@wix/dashboard": "^1.3.33",
|
|
112
113
|
"@wix/design-system": "^1.204.0",
|
|
113
114
|
"@wix/essentials": "^0.1.26",
|
|
114
|
-
"@wix/patterns": "^1.
|
|
115
|
+
"@wix/patterns": "^1.304.0",
|
|
115
116
|
"react": "^16.8.0 || ^18.0.0",
|
|
116
117
|
"react-router-dom": "^6.0.0 || ^7.0.0"
|
|
117
118
|
},
|
|
@@ -159,5 +160,5 @@
|
|
|
159
160
|
"wallaby": {
|
|
160
161
|
"autoDetect": true
|
|
161
162
|
},
|
|
162
|
-
"falconPackageHash": "
|
|
163
|
+
"falconPackageHash": "3915a980411ec11e3ce247a04e1f7aa76cfa8c3c0a038cc3c51bc004"
|
|
163
164
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_jsxFileName","Checkbox","props","field","onChange","value","default","createElement","checked","e","target","dataHook","id","__self","__source","fileName","lineNumber","columnNumber","displayName","exports"],"sources":["../../../../../src/components/AutoPatternsEntityPage/Fields/Checkbox.tsx"],"sourcesContent":["import React from 'react';\nimport { Checkbox as CheckboxWSR } from '@wix/design-system';\nimport { BaseInputProps } from './types';\n\nexport interface CheckboxProps extends BaseInputProps<boolean> {}\n\nexport const Checkbox = (props: CheckboxProps) => {\n const { field, onChange, value } = props;\n\n return (\n <CheckboxWSR\n checked={value}\n onChange={(e) => {\n onChange(e.target.checked);\n }}\n dataHook={`checkbox-${field.id}`}\n >\n {field.displayName}\n </CheckboxWSR>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAA6D,IAAAE,YAAA;AAKtD,MAAMC,QAAQ,GAAIC,KAAoB,IAAK;EAChD,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,KAAK;EAExC,oBACEN,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,aAAA,CAAAE,QAAW;IACVO,OAAO,EAAEH,KAAM;IACfD,QAAQ,EAAGK,CAAC,IAAK;MACfL,QAAQ,CAACK,CAAC,CAACC,MAAM,CAACF,OAAO,CAAC;IAC5B,CAAE;IACFG,QAAQ,EAAE,YAAYR,KAAK,CAACS,EAAE,EAAG;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAf,YAAA;MAAAgB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEhCd,KAAK,CAACe,WACI,CAAC;AAElB,CAAC;AAACC,OAAA,CAAAlB,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_dates","_patterns","_form","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","validateDateField","value","validation","format","validationType","required","undefined","dateFormat","DateInput","props","_pageState$entity","_field$validation","field","dataHook","inputRef","translate","container","useWixPatternsContainer","useSelector","initTask","status","pageState","useEntityPageContext","controller","useController","name","id","control","form","defaultValue","entity","rules","validate","error","date","setDate","useState","getDateWithoutTimezone","getISODateStringWithFixedTimezone","ref","useRef","errorMessage","setErrorMessage","createElement","FormField","label","displayName","__self","__source","fileName","lineNumber","columnNumber","DatePicker","internalRef","current","focus","_internalRef$state","state","width","onChange","newValue","formattedDate","split","onValidate","invalid","statusMessage","exports"],"sources":["../../../../../src/components/AutoPatternsEntityPage/Fields/DateInput.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { FormField, DatePicker } from '@wix/design-system';\nimport {\n getDateWithoutTimezone,\n getISODateStringWithFixedTimezone,\n} from './utils/dates';\nimport { BaseInputProps, BaseInputRef } from './types';\nimport {\n useSelector,\n useWixPatternsContainer,\n useEntityPageContext,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { Translate } from '@wix/patterns/core';\n\nexport interface DateProps extends BaseInputProps<string | null> {}\n\nfunction validateDateField(\n value: string | null | undefined,\n validation: DateProps['field']['validation'],\n t: Translate,\n format?: string,\n validationType?: 'outOfBoundsError' | 'formatError' | 'valid',\n) {\n if (\n validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n } else if (validationType === 'formatError' && format) {\n return t('cairo.customFields.fieldType.date.invalid.value', {\n dateFormat: format,\n });\n }\n\n return '';\n}\n\nexport const DateInput = (props: DateProps) => {\n const { field, dataHook, inputRef } = props;\n const { translate: t, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const pageState = useEntityPageContext();\n\n const controller = useController({\n name: field?.id ?? '',\n control: pageState.form.control,\n defaultValue: (pageState.entity as any)?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n const error = validateDateField(value, field.validation, t);\n return error || true;\n },\n },\n });\n\n const [date, setDate] = useState<Date | undefined>(() => {\n if (controller.field.value) {\n return getDateWithoutTimezone(\n getISODateStringWithFixedTimezone(controller.field.value),\n );\n }\n return undefined;\n });\n\n const ref = useRef<BaseInputRef>({});\n const [errorMessage, setErrorMessage] = useState<string>('');\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n dataHook={dataHook}\n >\n <DatePicker\n ref={(internalRef) => {\n inputRef?.(ref.current);\n // @ts-expect-error: WSR internal API hack for focusing\n ref.current.focus = () => internalRef?.state?.inputRef?.focus?.();\n }}\n dataHook={`date-${field.id}`}\n width=\"100%\"\n value={date}\n onChange={(newValue: Date) => {\n setDate(newValue);\n if (newValue) {\n const formattedDate = getISODateStringWithFixedTimezone(newValue);\n controller.field.onChange(formattedDate.split('T')[0]);\n } else {\n controller.field.onChange(null);\n }\n }}\n onValidate={({ validationType, value: newValue, format }) => {\n const error = validateDateField(\n newValue,\n field.validation,\n t,\n format,\n validationType,\n );\n setErrorMessage(error);\n ref.current.invalid = !!error;\n\n if (validationType === 'formatError' && newValue === '') {\n setDate(undefined);\n controller.field.onChange(null);\n }\n }}\n status={errorMessage ? 'error' : undefined}\n statusMessage={errorMessage}\n />\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|