@qwickapps/react-framework 1.4.8 → 1.5.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/README.md +36 -3
- package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts +9 -9
- package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -1
- package/dist/components/AccessibilityProvider.d.ts +1 -1
- package/dist/components/AccessibilityProvider.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.d.ts +1 -1
- package/dist/components/Html.d.ts +8 -8
- package/dist/components/Html.d.ts.map +1 -1
- package/dist/components/Logo.d.ts +2 -2
- package/dist/components/Logo.d.ts.map +1 -1
- package/dist/components/Markdown.d.ts +5 -5
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/ProductLogo.d.ts +60 -0
- package/dist/components/ProductLogo.d.ts.map +1 -0
- package/dist/components/QwickAppsLogo.d.ts +1 -1
- package/dist/components/QwickAppsLogo.d.ts.map +1 -1
- package/dist/components/ResponsiveMenu.d.ts.map +1 -1
- package/dist/components/SafeSpan.d.ts +4 -4
- package/dist/components/SafeSpan.d.ts.map +1 -1
- package/dist/components/Scaffold.d.ts.map +1 -1
- package/dist/components/base/Container.d.ts +3 -2
- package/dist/components/base/Container.d.ts.map +1 -1
- package/dist/components/base/ModelView.d.ts +16 -16
- package/dist/components/base/ModelView.d.ts.map +1 -1
- package/dist/components/base/index.d.ts +1 -1
- package/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/blocks/Article.d.ts +4 -18
- package/dist/components/blocks/Article.d.ts.map +1 -1
- package/dist/components/blocks/CardListGrid.d.ts +3 -3
- package/dist/components/blocks/CardListGrid.d.ts.map +1 -1
- package/dist/components/blocks/Code.d.ts +5 -31
- package/dist/components/blocks/Code.d.ts.map +1 -1
- package/dist/components/blocks/Content.d.ts +2 -17
- package/dist/components/blocks/Content.d.ts.map +1 -1
- package/dist/components/blocks/CoverImageHeader.d.ts +2 -12
- package/dist/components/blocks/CoverImageHeader.d.ts.map +1 -1
- package/dist/components/blocks/FeatureCard.d.ts +0 -17
- package/dist/components/blocks/FeatureCard.d.ts.map +1 -1
- package/dist/components/blocks/FeatureGrid.d.ts.map +1 -1
- package/dist/components/blocks/Footer.d.ts +2 -14
- package/dist/components/blocks/Footer.d.ts.map +1 -1
- package/dist/components/blocks/HeroBlock.d.ts +35 -26
- package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
- package/dist/components/blocks/Image.d.ts +23 -23
- package/dist/components/blocks/Image.d.ts.map +1 -1
- package/dist/components/blocks/PageBannerHeader.d.ts +2 -13
- package/dist/components/blocks/PageBannerHeader.d.ts.map +1 -1
- package/dist/components/blocks/ProductCard.d.ts +0 -9
- package/dist/components/blocks/ProductCard.d.ts.map +1 -1
- package/dist/components/blocks/Section.d.ts +16 -24
- package/dist/components/blocks/Section.d.ts.map +1 -1
- package/dist/components/blocks/Text.d.ts +5 -20
- package/dist/components/blocks/Text.d.ts.map +1 -1
- package/dist/components/buttons/Button.d.ts +19 -23
- package/dist/components/buttons/Button.d.ts.map +1 -1
- package/dist/components/buttons/PaletteSwitcher.d.ts +2 -2
- package/dist/components/buttons/PaletteSwitcher.d.ts.map +1 -1
- package/dist/components/buttons/ThemeSwitcher.d.ts +2 -2
- package/dist/components/buttons/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/dialogs/Dialog.d.ts +35 -0
- package/dist/components/dialogs/Dialog.d.ts.map +1 -0
- package/dist/components/dialogs/index.d.ts +8 -0
- package/dist/components/dialogs/index.d.ts.map +1 -0
- package/dist/components/forms/Captcha.d.ts +55 -0
- package/dist/components/forms/Captcha.d.ts.map +1 -0
- package/dist/components/forms/FormBlock.d.ts +6 -6
- package/dist/components/forms/FormBlock.d.ts.map +1 -1
- package/dist/components/forms/FormCheckbox.d.ts +27 -0
- package/dist/components/forms/FormCheckbox.d.ts.map +1 -0
- package/dist/components/forms/FormField.d.ts +43 -0
- package/dist/components/forms/FormField.d.ts.map +1 -0
- package/dist/components/forms/FormSelect.d.ts +35 -0
- package/dist/components/forms/FormSelect.d.ts.map +1 -0
- package/dist/components/forms/index.d.ts +8 -0
- package/dist/components/forms/index.d.ts.map +1 -1
- package/dist/components/index.d.ts +10 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/ChoiceInputField.d.ts +13 -19
- package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
- package/dist/components/input/HtmlInputField.d.ts +16 -17
- package/dist/components/input/HtmlInputField.d.ts.map +1 -1
- package/dist/components/input/SelectInputField.d.ts +14 -17
- package/dist/components/input/SelectInputField.d.ts.map +1 -1
- package/dist/components/input/SwitchInputField.d.ts +11 -18
- package/dist/components/input/SwitchInputField.d.ts.map +1 -1
- package/dist/components/input/TextInputField.d.ts +16 -19
- package/dist/components/input/TextInputField.d.ts.map +1 -1
- package/dist/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +1 -1
- package/dist/components/layout/GridCell.d.ts +18 -19
- package/dist/components/layout/GridCell.d.ts.map +1 -1
- package/dist/components/layout/GridLayout.d.ts +36 -25
- package/dist/components/layout/GridLayout.d.ts.map +1 -1
- package/dist/components/menu/MenuItem.d.ts +2 -2
- package/dist/components/menu/MenuItem.d.ts.map +1 -1
- package/dist/components/pages/FormPage.d.ts.map +1 -1
- package/dist/components/pages/Page.d.ts +1 -1
- package/dist/components/pages/Page.d.ts.map +1 -1
- package/dist/components/shared/createSerializableView.d.ts +22 -10
- package/dist/components/shared/createSerializableView.d.ts.map +1 -1
- package/dist/components/shared/viewProps.d.ts +3 -3
- package/dist/components/shared/viewProps.d.ts.map +1 -1
- package/dist/config/AppConfig.d.ts +2 -2
- package/dist/config/AppConfig.d.ts.map +1 -1
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/contexts/DataContext.d.ts +3 -3
- package/dist/contexts/DataContext.d.ts.map +1 -1
- package/dist/contexts/PaletteContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/hooks/useDataBinding.d.ts +2 -2
- package/dist/hooks/useDataBinding.d.ts.map +1 -1
- package/dist/hooks/usePrintMode.d.ts +2 -2
- package/dist/hooks/usePrintMode.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +4929 -2942
- package/dist/index.js +4426 -2410
- package/dist/palettes/manifest.json +90 -0
- package/dist/palettes/palette-autumn.1.4.9.min.css +1 -0
- package/dist/palettes/palette-autumn.1.5.0.css +172 -0
- package/dist/palettes/palette-autumn.1.5.0.min.css +1 -0
- package/dist/palettes/palette-autumn.latest.css +172 -0
- package/dist/palettes/palette-autumn.latest.min.css +1 -0
- package/dist/palettes/palette-cosmic.1.4.9.min.css +1 -0
- package/dist/palettes/palette-cosmic.1.5.0.css +172 -0
- package/dist/palettes/palette-cosmic.1.5.0.min.css +1 -0
- package/dist/palettes/palette-cosmic.latest.css +172 -0
- package/dist/palettes/palette-cosmic.latest.min.css +1 -0
- package/dist/palettes/palette-default.1.4.9.min.css +1 -0
- package/dist/palettes/palette-default.1.5.0.css +178 -0
- package/dist/palettes/palette-default.1.5.0.min.css +1 -0
- package/dist/palettes/palette-default.latest.css +178 -0
- package/dist/palettes/palette-default.latest.min.css +1 -0
- package/dist/palettes/palette-ocean.1.4.9.min.css +1 -0
- package/dist/palettes/palette-ocean.1.5.0.css +172 -0
- package/dist/palettes/palette-ocean.1.5.0.min.css +1 -0
- package/dist/palettes/palette-ocean.latest.css +172 -0
- package/dist/palettes/palette-ocean.latest.min.css +1 -0
- package/dist/palettes/palette-spring.1.4.9.min.css +1 -0
- package/dist/palettes/palette-spring.1.5.0.css +160 -0
- package/dist/palettes/palette-spring.1.5.0.min.css +1 -0
- package/dist/palettes/palette-spring.latest.css +160 -0
- package/dist/palettes/palette-spring.latest.min.css +1 -0
- package/dist/palettes/palette-winter.1.4.9.min.css +1 -0
- package/dist/palettes/palette-winter.1.5.0.css +172 -0
- package/dist/palettes/palette-winter.1.5.0.min.css +1 -0
- package/dist/palettes/palette-winter.latest.css +172 -0
- package/dist/palettes/palette-winter.latest.min.css +1 -0
- package/dist/schemas/ButtonSchema.d.ts +5 -2
- package/dist/schemas/ButtonSchema.d.ts.map +1 -1
- package/dist/schemas/CardListGridSchema.d.ts +4 -4
- package/dist/schemas/CardListGridSchema.d.ts.map +1 -1
- package/dist/schemas/ChoiceInputFieldSchema.d.ts +2 -2
- package/dist/schemas/ChoiceInputFieldSchema.d.ts.map +1 -1
- package/dist/schemas/CodeSchema.d.ts +1 -2
- package/dist/schemas/CodeSchema.d.ts.map +1 -1
- package/dist/schemas/FormBlockSchema.d.ts +2 -2
- package/dist/schemas/FormBlockSchema.d.ts.map +1 -1
- package/dist/schemas/GridCellSchema.d.ts +2 -4
- package/dist/schemas/GridCellSchema.d.ts.map +1 -1
- package/dist/schemas/GridLayoutSchema.d.ts +3 -5
- package/dist/schemas/GridLayoutSchema.d.ts.map +1 -1
- package/dist/schemas/HeroBlockSchema.d.ts +2 -2
- package/dist/schemas/HeroBlockSchema.d.ts.map +1 -1
- package/dist/schemas/HtmlInputFieldSchema.d.ts +2 -2
- package/dist/schemas/HtmlInputFieldSchema.d.ts.map +1 -1
- package/dist/schemas/ImageSchema.d.ts +2 -2
- package/dist/schemas/ImageSchema.d.ts.map +1 -1
- package/dist/schemas/SectionSchema.d.ts +2 -4
- package/dist/schemas/SectionSchema.d.ts.map +1 -1
- package/dist/schemas/SelectInputFieldSchema.d.ts +2 -2
- package/dist/schemas/SelectInputFieldSchema.d.ts.map +1 -1
- package/dist/schemas/SwitchInputFieldSchema.d.ts +2 -2
- package/dist/schemas/SwitchInputFieldSchema.d.ts.map +1 -1
- package/dist/schemas/TextInputFieldSchema.d.ts +2 -2
- package/dist/schemas/TextInputFieldSchema.d.ts.map +1 -1
- package/dist/schemas/ViewSchema.d.ts +8 -7
- package/dist/schemas/ViewSchema.d.ts.map +1 -1
- package/dist/schemas/transformers/ComponentTransformer.d.ts +2 -2
- package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
- package/dist/schemas/transformers/ReactNodeTransformer.d.ts +2 -2
- package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
- package/dist/schemas/transformers/registry.d.ts +0 -7
- package/dist/schemas/transformers/registry.d.ts.map +1 -1
- package/dist/schemas/types/Serializable.d.ts +3 -3
- package/dist/schemas/types/Serializable.d.ts.map +1 -1
- package/dist/stories/_templates/SerializationTemplate.d.ts.map +1 -0
- package/dist/types/CollapsibleLayout.d.ts +3 -3
- package/dist/types/CollapsibleLayout.d.ts.map +1 -1
- package/dist/types/ContentProxy.d.ts +4 -4
- package/dist/types/ContentProxy.d.ts.map +1 -1
- package/dist/types/DataTypes.d.ts +4 -4
- package/dist/types/DataTypes.d.ts.map +1 -1
- package/dist/types/TemplateProvider.d.ts +1 -1
- package/dist/types/TemplateProvider.d.ts.map +1 -1
- package/dist/types/TemplateResolver.d.ts +1 -1
- package/dist/types/TemplateResolver.d.ts.map +1 -1
- package/dist/utils/htmlTransform.d.ts +1 -1
- package/dist/utils/htmlTransform.d.ts.map +1 -1
- package/dist/utils/iconMap.d.ts +48 -0
- package/dist/utils/iconMap.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +11 -7
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/paletteLoader.d.ts +34 -0
- package/dist/utils/paletteLoader.d.ts.map +1 -0
- package/dist/utils/paletteManifest.d.ts +51 -0
- package/dist/utils/paletteManifest.d.ts.map +1 -0
- package/dist/utils/paletteUtils.d.ts.map +1 -1
- package/dist/utils/reactUtils.d.ts +12 -6
- package/dist/utils/reactUtils.d.ts.map +1 -1
- package/dist/utils/spacing.d.ts +2 -2
- package/dist/utils/spacing.d.ts.map +1 -1
- package/dist/utils/themePerformanceMonitor.d.ts.map +1 -1
- package/dist/utils/themeUtils.d.ts.map +1 -1
- package/package.json +28 -9
- package/scripts/build-palettes.cjs +120 -0
- package/src/__tests__/components/Article.test.tsx +1 -1
- package/src/__tests__/components/Breadcrumbs.test.tsx +2 -2
- package/src/__tests__/components/Button.test.tsx +3 -3
- package/src/__tests__/components/CardListGrid.test.tsx +5 -5
- package/src/__tests__/components/ChoiceInputField.test.tsx +2 -2
- package/src/__tests__/components/Code.test.tsx +2 -2
- package/src/__tests__/components/Content.integration.test.tsx +1 -1
- package/src/__tests__/components/Content.test.tsx +5 -5
- package/src/__tests__/components/CoverImageHeader.test.tsx +3 -3
- package/src/__tests__/components/FeatureCard.integration.test.tsx +1 -1
- package/src/__tests__/components/FeatureGrid.integration.test.tsx +1 -1
- package/src/__tests__/components/FeatureGrid.test.tsx +3 -3
- package/src/__tests__/components/Footer.test.tsx +3 -3
- package/src/__tests__/components/FormBlock.test.tsx +2 -2
- package/src/__tests__/components/HeroBlock.integration.test.tsx +1 -1
- package/src/__tests__/components/HeroBlock.test.tsx +4 -4
- package/src/__tests__/components/HtmlInputField.test.tsx +8 -8
- package/src/__tests__/components/PageBannerHeader.test.tsx +7 -7
- package/src/__tests__/components/PaletteSwitcher.test.tsx +3 -3
- package/src/__tests__/components/ProductCard.test.tsx +1 -1
- package/src/__tests__/components/Section.integration.test.tsx +1 -1
- package/src/__tests__/components/Section.test.tsx +1 -1
- package/src/__tests__/components/SelectInputField.test.tsx +2 -2
- package/src/__tests__/components/TextInputField.test.tsx +4 -4
- package/src/__tests__/components/ThemeSwitcher.test.tsx +3 -3
- package/src/__tests__/components/base/Container.test.tsx +22 -21
- package/src/__tests__/components/blocks/Code.performance.test.tsx +10 -10
- package/src/__tests__/components/blocks/Code.serialization.test.tsx +9 -9
- package/src/__tests__/components/blocks/HeroBlock.serialization.test.tsx +2 -3
- package/src/__tests__/components/blocks/Image.serialization.test.tsx +8 -7
- package/src/__tests__/components/blocks/Section.serialization.test.tsx +8 -8
- package/src/__tests__/components/blocks/Text.performance.test.tsx +5 -5
- package/src/__tests__/components/blocks/Text.serialization.test.tsx +9 -9
- package/src/__tests__/components/buttons/Button.serialization.test.tsx +4 -4
- package/src/__tests__/components/input/FormComponents.serialization.test.tsx +9 -9
- package/src/__tests__/components/input/SelectInputField.serialization.test.tsx +16 -18
- package/src/__tests__/components/input/TextInputField.serialization.test.tsx +9 -9
- package/src/__tests__/components/layout/CollapsibleLayout.test.tsx +5 -9
- package/src/__tests__/components/layout/GridCell.serialization.test.tsx +5 -5
- package/src/__tests__/components/layout/GridLayout.serialization.test.tsx +5 -5
- package/src/__tests__/hooks/usePrintMode.test.ts +1 -0
- package/src/__tests__/schemas/builders.test.ts +2 -2
- package/src/__tests__/schemas/transformers/ComponentSerializationPatterns.test.tsx +28 -28
- package/src/__tests__/schemas/transformers/ComponentTransformer.htmlPatterns.test.ts +5 -5
- package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +11 -11
- package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +10 -10
- package/src/__tests__/schemas/transformers/MockSerializableComponent.ts +15 -15
- package/src/__tests__/schemas/transformers/RealWorldScenarios.test.tsx +19 -19
- package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +15 -15
- package/src/__tests__/schemas/transformers/SerializationIntegration.test.tsx +19 -21
- package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +15 -15
- package/src/__tests__/schemas/transformers/TestAutomation.test.ts +3 -3
- package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +1 -1
- package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +10 -10
- package/src/__tests__/utils/optional-logging.test.ts +3 -3
- package/src/components/AccessibilityProvider.tsx +4 -2
- package/src/components/ErrorBoundary.tsx +1 -1
- package/src/components/Html.tsx +14 -17
- package/src/components/Logo.tsx +44 -33
- package/src/components/Markdown.tsx +9 -9
- package/src/components/ProductLogo.tsx +118 -0
- package/src/components/QwickApp.css +46 -1063
- package/src/components/QwickApp.tsx +1 -1
- package/src/components/QwickAppsLogo.tsx +1 -1
- package/src/components/ResponsiveMenu.tsx +13 -2
- package/src/components/SafeSpan.tsx +8 -9
- package/src/components/Scaffold.css +14 -0
- package/src/components/Scaffold.tsx +71 -27
- package/src/components/base/Container.tsx +2 -2
- package/src/components/base/ModelView.tsx +28 -27
- package/src/components/base/index.ts +1 -1
- package/src/components/blocks/Article.tsx +251 -36
- package/src/components/blocks/CardListGrid.tsx +18 -14
- package/src/components/blocks/Code.tsx +18 -13
- package/src/components/blocks/Content.tsx +15 -10
- package/src/components/blocks/CoverImageHeader.tsx +15 -10
- package/src/components/blocks/FeatureCard.tsx +16 -11
- package/src/components/blocks/FeatureGrid.tsx +13 -8
- package/src/components/blocks/Footer.tsx +44 -35
- package/src/components/blocks/HeroBlock.tsx +12 -13
- package/src/components/blocks/Image.tsx +16 -8
- package/src/components/blocks/PageBannerHeader.tsx +16 -12
- package/src/components/blocks/ProductCard.tsx +32 -25
- package/src/components/blocks/Section.tsx +21 -13
- package/src/components/blocks/Text.tsx +33 -15
- package/src/components/buttons/Button.tsx +110 -30
- package/src/components/buttons/PaletteSwitcher.tsx +11 -8
- package/src/components/buttons/ThemeSwitcher.tsx +20 -16
- package/src/components/dialogs/Dialog.tsx +126 -0
- package/src/components/dialogs/index.ts +15 -0
- package/src/components/forms/Captcha.tsx +291 -0
- package/src/components/forms/FormBlock.tsx +22 -15
- package/src/components/forms/FormCheckbox.tsx +116 -0
- package/src/components/forms/FormField.tsx +180 -0
- package/src/components/forms/FormSelect.tsx +140 -0
- package/src/components/forms/index.ts +13 -1
- package/src/components/index.ts +13 -2
- package/src/components/input/ChoiceInputField.tsx +1 -2
- package/src/components/input/HtmlInputField.tsx +2 -3
- package/src/components/input/SelectInputField.tsx +31 -5
- package/src/components/input/SwitchInputField.tsx +3 -4
- package/src/components/input/TextField.tsx +2 -2
- package/src/components/input/TextInputField.tsx +32 -6
- package/src/components/layout/CollapsibleLayout/CollapsibleLayout.tsx +13 -13
- package/src/components/layout/GridCell.tsx +10 -9
- package/src/components/layout/GridCellWrapper.tsx +1 -1
- package/src/components/layout/GridLayout.tsx +29 -32
- package/src/components/menu/MenuItem.tsx +2 -2
- package/src/components/pages/FormPage.tsx +0 -1
- package/src/components/pages/Page.tsx +2 -2
- package/src/components/shared/createSerializableView.tsx +24 -23
- package/src/components/shared/viewProps.ts +11 -11
- package/src/config/AppConfig.ts +2 -2
- package/src/config/__tests__/AppConfig.test.ts +3 -3
- package/src/config/__tests__/AppConfigBuilder.test.ts +10 -11
- package/src/config/types.ts +1 -1
- package/src/contexts/DataContext.tsx +58 -52
- package/src/contexts/PaletteContext.tsx +22 -9
- package/src/contexts/PrintModeContext.tsx +4 -4
- package/src/contexts/ThemeContext.tsx +3 -2
- package/src/hooks/useBaseProps.ts +10 -10
- package/src/hooks/useDataBinding.ts +15 -18
- package/src/hooks/usePrintMode.ts +3 -3
- package/src/index.ts +2 -0
- package/src/palettes/manifest.json +72 -0
- package/src/palettes/manifest.schema.json +74 -0
- package/src/schemas/ButtonSchema.ts +33 -0
- package/src/schemas/CardListGridSchema.ts +3 -3
- package/src/schemas/CodeSchema.ts +0 -1
- package/src/schemas/FeatureGridSchema.ts +1 -1
- package/src/schemas/FormBlockSchema.ts +1 -1
- package/src/schemas/GridCellSchema.ts +0 -1
- package/src/schemas/GridLayoutSchema.ts +0 -1
- package/src/schemas/SectionSchema.ts +0 -1
- package/src/schemas/ViewSchema.ts +7 -7
- package/src/schemas/transformers/ComponentTransformer.ts +39 -28
- package/src/schemas/transformers/ReactNodeTransformer.ts +18 -17
- package/src/schemas/transformers/registry.ts +28 -24
- package/src/schemas/types/Serializable.ts +3 -3
- package/src/setupTests.js +9 -0
- package/src/stories/AccessibilityProvider.stories.tsx +0 -1
- package/src/stories/Article.stories.tsx +1 -1
- package/src/stories/CardListGrid.stories.tsx +1 -1
- package/src/stories/ChoiceInputField.stories.tsx +2 -2
- package/src/stories/Code.stories.tsx +2 -3
- package/src/stories/CollapsibleLayout.stories.tsx +41 -37
- package/src/stories/Container.stories.tsx +1 -2
- package/src/stories/DataBinding.advanced.stories.tsx +15 -9
- package/src/stories/DataProvider.stories.tsx +33 -16
- package/src/stories/ErrorBoundary.stories.tsx +28 -26
- package/src/stories/FeatureGrid.stories.tsx +0 -1
- package/src/stories/FormBlock.stories.tsx +8 -8
- package/src/stories/FormComponents.stories.tsx +15 -11
- package/src/stories/GridCell.stories.tsx +5 -5
- package/src/stories/GridLayout.stories.tsx +5 -5
- package/src/stories/Image.stories.tsx +5 -7
- package/src/stories/Introduction.stories.tsx +0 -1
- package/src/stories/ModelView.stories.tsx +7 -7
- package/src/stories/SafeSpan.stories.tsx +7 -3
- package/src/stories/Section.stories.tsx +2 -2
- package/src/stories/Text.stories.tsx +1 -3
- package/src/stories/_templates/SerializationTemplate.tsx +0 -1
- package/src/templates/TemplateResolver.ts +2 -2
- package/src/types/CollapsibleLayout.ts +2 -2
- package/src/types/ContentProxy.ts +6 -6
- package/src/types/DataTypes.ts +4 -4
- package/src/types/TemplateProvider.ts +1 -1
- package/src/types/TemplateResolver.ts +1 -1
- package/src/utils/htmlTransform.tsx +17 -11
- package/src/utils/iconMap.tsx +221 -0
- package/src/utils/index.ts +4 -1
- package/src/utils/logger.ts +20 -14
- package/src/utils/paletteLoader.ts +218 -0
- package/src/utils/paletteManifest.ts +268 -0
- package/src/utils/paletteUtils.ts +19 -1
- package/src/utils/reactUtils.tsx +34 -33
- package/src/utils/spacing.ts +16 -17
- package/src/utils/themePerformanceMonitor.js +14 -6
- package/src/utils/themeUtils.ts +17 -2
- package/dist/components/base/ContainerView.d.ts +0 -65
- package/dist/components/base/ContainerView.d.ts.map +0 -1
- package/dist/components/blocks/Code-factory.d.ts +0 -22
- package/dist/components/blocks/Code-factory.d.ts.map +0 -1
- package/dist/components/blocks/Code-old.d.ts +0 -31
- package/dist/components/blocks/Code-old.d.ts.map +0 -1
- package/dist/qa/ConsoleWarningTest.d.ts +0 -5
- package/dist/qa/ConsoleWarningTest.d.ts.map +0 -1
- package/dist/qa/StorageKeyTest.d.ts +0 -6
- package/dist/qa/StorageKeyTest.d.ts.map +0 -1
- package/dist/qa/ThemeStorageKeyTest.d.ts +0 -6
- package/dist/qa/ThemeStorageKeyTest.d.ts.map +0 -1
- package/dist/schemas/ViewModelSchema.d.ts +0 -63
- package/dist/schemas/ViewModelSchema.d.ts.map +0 -1
- package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts +0 -66
- package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts.map +0 -1
- package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +0 -66
- package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +0 -1
- package/dist/src/components/AccessibilityChecker.d.ts +0 -12
- package/dist/src/components/AccessibilityChecker.d.ts.map +0 -1
- package/dist/src/components/AccessibilityProvider.d.ts +0 -64
- package/dist/src/components/AccessibilityProvider.d.ts.map +0 -1
- package/dist/src/components/Breadcrumbs.d.ts +0 -39
- package/dist/src/components/Breadcrumbs.d.ts.map +0 -1
- package/dist/src/components/ErrorBoundary.d.ts +0 -46
- package/dist/src/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/src/components/Html.d.ts +0 -58
- package/dist/src/components/Html.d.ts.map +0 -1
- package/dist/src/components/Logo.d.ts +0 -56
- package/dist/src/components/Logo.d.ts.map +0 -1
- package/dist/src/components/Markdown.d.ts +0 -51
- package/dist/src/components/Markdown.d.ts.map +0 -1
- package/dist/src/components/QwickApp.d.ts +0 -69
- package/dist/src/components/QwickApp.d.ts.map +0 -1
- package/dist/src/components/QwickAppsLogo.d.ts +0 -25
- package/dist/src/components/QwickAppsLogo.d.ts.map +0 -1
- package/dist/src/components/QwickIcon.d.ts +0 -23
- package/dist/src/components/QwickIcon.d.ts.map +0 -1
- package/dist/src/components/ResponsiveMenu.d.ts +0 -38
- package/dist/src/components/ResponsiveMenu.d.ts.map +0 -1
- package/dist/src/components/SafeSpan.d.ts +0 -29
- package/dist/src/components/SafeSpan.d.ts.map +0 -1
- package/dist/src/components/Scaffold.d.ts +0 -57
- package/dist/src/components/Scaffold.d.ts.map +0 -1
- package/dist/src/components/base/Container.d.ts +0 -33
- package/dist/src/components/base/Container.d.ts.map +0 -1
- package/dist/src/components/base/ModelView.d.ts +0 -92
- package/dist/src/components/base/ModelView.d.ts.map +0 -1
- package/dist/src/components/base/index.d.ts +0 -12
- package/dist/src/components/base/index.d.ts.map +0 -1
- package/dist/src/components/blocks/Article.d.ts +0 -32
- package/dist/src/components/blocks/Article.d.ts.map +0 -1
- package/dist/src/components/blocks/CardListGrid.d.ts +0 -23
- package/dist/src/components/blocks/CardListGrid.d.ts.map +0 -1
- package/dist/src/components/blocks/Code.d.ts +0 -37
- package/dist/src/components/blocks/Code.d.ts.map +0 -1
- package/dist/src/components/blocks/Content.d.ts +0 -24
- package/dist/src/components/blocks/Content.d.ts.map +0 -1
- package/dist/src/components/blocks/CoverImageHeader.d.ts +0 -44
- package/dist/src/components/blocks/CoverImageHeader.d.ts.map +0 -1
- package/dist/src/components/blocks/FeatureCard.d.ts +0 -66
- package/dist/src/components/blocks/FeatureCard.d.ts.map +0 -1
- package/dist/src/components/blocks/FeatureGrid.d.ts +0 -48
- package/dist/src/components/blocks/FeatureGrid.d.ts.map +0 -1
- package/dist/src/components/blocks/Footer.d.ts +0 -56
- package/dist/src/components/blocks/Footer.d.ts.map +0 -1
- package/dist/src/components/blocks/HeroBlock.d.ts +0 -55
- package/dist/src/components/blocks/HeroBlock.d.ts.map +0 -1
- package/dist/src/components/blocks/Image.d.ts +0 -40
- package/dist/src/components/blocks/Image.d.ts.map +0 -1
- package/dist/src/components/blocks/PageBannerHeader.d.ts +0 -30
- package/dist/src/components/blocks/PageBannerHeader.d.ts.map +0 -1
- package/dist/src/components/blocks/ProductCard.d.ts +0 -57
- package/dist/src/components/blocks/ProductCard.d.ts.map +0 -1
- package/dist/src/components/blocks/Section.d.ts +0 -45
- package/dist/src/components/blocks/Section.d.ts.map +0 -1
- package/dist/src/components/blocks/Text.d.ts +0 -34
- package/dist/src/components/blocks/Text.d.ts.map +0 -1
- package/dist/src/components/blocks/index.d.ts +0 -41
- package/dist/src/components/blocks/index.d.ts.map +0 -1
- package/dist/src/components/buttons/Button.d.ts +0 -41
- package/dist/src/components/buttons/Button.d.ts.map +0 -1
- package/dist/src/components/buttons/PaletteSwitcher.d.ts +0 -24
- package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +0 -1
- package/dist/src/components/buttons/ThemeSwitcher.d.ts +0 -24
- package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +0 -1
- package/dist/src/components/buttons/index.d.ts +0 -11
- package/dist/src/components/buttons/index.d.ts.map +0 -1
- package/dist/src/components/forms/FormBlock.d.ts +0 -51
- package/dist/src/components/forms/FormBlock.d.ts.map +0 -1
- package/dist/src/components/forms/index.d.ts +0 -8
- package/dist/src/components/forms/index.d.ts.map +0 -1
- package/dist/src/components/index.d.ts +0 -41
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/input/ChoiceInputField.d.ts +0 -29
- package/dist/src/components/input/ChoiceInputField.d.ts.map +0 -1
- package/dist/src/components/input/HtmlInputField.d.ts +0 -33
- package/dist/src/components/input/HtmlInputField.d.ts.map +0 -1
- package/dist/src/components/input/SelectInputField.d.ts +0 -31
- package/dist/src/components/input/SelectInputField.d.ts.map +0 -1
- package/dist/src/components/input/SwitchInputField.d.ts +0 -27
- package/dist/src/components/input/SwitchInputField.d.ts.map +0 -1
- package/dist/src/components/input/TextField.d.ts +0 -18
- package/dist/src/components/input/TextField.d.ts.map +0 -1
- package/dist/src/components/input/TextInputField.d.ts +0 -34
- package/dist/src/components/input/TextInputField.d.ts.map +0 -1
- package/dist/src/components/input/index.d.ts +0 -19
- package/dist/src/components/input/index.d.ts.map +0 -1
- package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +0 -34
- package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +0 -1
- package/dist/src/components/layout/CollapsibleLayout/index.d.ts +0 -9
- package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +0 -1
- package/dist/src/components/layout/GridCell.d.ts +0 -32
- package/dist/src/components/layout/GridCell.d.ts.map +0 -1
- package/dist/src/components/layout/GridCellWrapper.d.ts +0 -46
- package/dist/src/components/layout/GridCellWrapper.d.ts.map +0 -1
- package/dist/src/components/layout/GridLayout.d.ts +0 -50
- package/dist/src/components/layout/GridLayout.d.ts.map +0 -1
- package/dist/src/components/layout/index.d.ts +0 -14
- package/dist/src/components/layout/index.d.ts.map +0 -1
- package/dist/src/components/menu/Menu.d.ts +0 -1
- package/dist/src/components/menu/Menu.d.ts.map +0 -1
- package/dist/src/components/menu/MenuItem.d.ts +0 -31
- package/dist/src/components/menu/MenuItem.d.ts.map +0 -1
- package/dist/src/components/menu/index.d.ts +0 -7
- package/dist/src/components/menu/index.d.ts.map +0 -1
- package/dist/src/components/pages/FormPage.d.ts +0 -66
- package/dist/src/components/pages/FormPage.d.ts.map +0 -1
- package/dist/src/components/pages/Page.d.ts +0 -68
- package/dist/src/components/pages/Page.d.ts.map +0 -1
- package/dist/src/components/pages/index.d.ts +0 -10
- package/dist/src/components/pages/index.d.ts.map +0 -1
- package/dist/src/components/shared/createSerializableView.d.ts +0 -81
- package/dist/src/components/shared/createSerializableView.d.ts.map +0 -1
- package/dist/src/components/shared/viewProps.d.ts +0 -37
- package/dist/src/components/shared/viewProps.d.ts.map +0 -1
- package/dist/src/config/AppConfig.d.ts +0 -49
- package/dist/src/config/AppConfig.d.ts.map +0 -1
- package/dist/src/config/AppConfigBuilder.d.ts +0 -75
- package/dist/src/config/AppConfigBuilder.d.ts.map +0 -1
- package/dist/src/config/index.d.ts +0 -13
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/config/types.d.ts +0 -130
- package/dist/src/config/types.d.ts.map +0 -1
- package/dist/src/config.d.ts +0 -15
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/contexts/DataContext.d.ts +0 -139
- package/dist/src/contexts/DataContext.d.ts.map +0 -1
- package/dist/src/contexts/DimensionsContext.d.ts +0 -42
- package/dist/src/contexts/DimensionsContext.d.ts.map +0 -1
- package/dist/src/contexts/PaletteContext.d.ts +0 -53
- package/dist/src/contexts/PaletteContext.d.ts.map +0 -1
- package/dist/src/contexts/PrintModeContext.d.ts +0 -27
- package/dist/src/contexts/PrintModeContext.d.ts.map +0 -1
- package/dist/src/contexts/QwickAppContext.d.ts +0 -71
- package/dist/src/contexts/QwickAppContext.d.ts.map +0 -1
- package/dist/src/contexts/ThemeContext.d.ts +0 -65
- package/dist/src/contexts/ThemeContext.d.ts.map +0 -1
- package/dist/src/contexts/index.d.ts +0 -11
- package/dist/src/contexts/index.d.ts.map +0 -1
- package/dist/src/hooks/index.d.ts +0 -12
- package/dist/src/hooks/index.d.ts.map +0 -1
- package/dist/src/hooks/useBaseProps.d.ts +0 -101
- package/dist/src/hooks/useBaseProps.d.ts.map +0 -1
- package/dist/src/hooks/useDataBinding.d.ts +0 -22
- package/dist/src/hooks/useDataBinding.d.ts.map +0 -1
- package/dist/src/hooks/usePrintMode.d.ts +0 -39
- package/dist/src/hooks/usePrintMode.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -9
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/palettes/PaletteAutumn.d.ts +0 -10
- package/dist/src/palettes/PaletteAutumn.d.ts.map +0 -1
- package/dist/src/palettes/PaletteCosmic.d.ts +0 -10
- package/dist/src/palettes/PaletteCosmic.d.ts.map +0 -1
- package/dist/src/palettes/PaletteDefault.d.ts +0 -10
- package/dist/src/palettes/PaletteDefault.d.ts.map +0 -1
- package/dist/src/palettes/PaletteOcean.d.ts +0 -10
- package/dist/src/palettes/PaletteOcean.d.ts.map +0 -1
- package/dist/src/palettes/PaletteSpring.d.ts +0 -10
- package/dist/src/palettes/PaletteSpring.d.ts.map +0 -1
- package/dist/src/palettes/PaletteWinter.d.ts +0 -10
- package/dist/src/palettes/PaletteWinter.d.ts.map +0 -1
- package/dist/src/palettes/index.d.ts +0 -13
- package/dist/src/palettes/index.d.ts.map +0 -1
- package/dist/src/schemas/ActionSchema.d.ts +0 -21
- package/dist/src/schemas/ActionSchema.d.ts.map +0 -1
- package/dist/src/schemas/ArticleSchema.d.ts +0 -13
- package/dist/src/schemas/ArticleSchema.d.ts.map +0 -1
- package/dist/src/schemas/ButtonSchema.d.ts +0 -19
- package/dist/src/schemas/ButtonSchema.d.ts.map +0 -1
- package/dist/src/schemas/CardListGridSchema.d.ts +0 -17
- package/dist/src/schemas/CardListGridSchema.d.ts.map +0 -1
- package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +0 -18
- package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +0 -1
- package/dist/src/schemas/CodeSchema.d.ts +0 -18
- package/dist/src/schemas/CodeSchema.d.ts.map +0 -1
- package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +0 -32
- package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +0 -1
- package/dist/src/schemas/ContainerSchema.d.ts +0 -12
- package/dist/src/schemas/ContainerSchema.d.ts.map +0 -1
- package/dist/src/schemas/ContentSchema.d.ts +0 -21
- package/dist/src/schemas/ContentSchema.d.ts.map +0 -1
- package/dist/src/schemas/CoverImageHeaderSchema.d.ts +0 -28
- package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +0 -1
- package/dist/src/schemas/FeatureCardSchema.d.ts +0 -28
- package/dist/src/schemas/FeatureCardSchema.d.ts.map +0 -1
- package/dist/src/schemas/FeatureGridSchema.d.ts +0 -17
- package/dist/src/schemas/FeatureGridSchema.d.ts.map +0 -1
- package/dist/src/schemas/FeatureItemSchema.d.ts +0 -16
- package/dist/src/schemas/FeatureItemSchema.d.ts.map +0 -1
- package/dist/src/schemas/FooterItemSchema.d.ts +0 -15
- package/dist/src/schemas/FooterItemSchema.d.ts.map +0 -1
- package/dist/src/schemas/FooterSchema.d.ts +0 -20
- package/dist/src/schemas/FooterSchema.d.ts.map +0 -1
- package/dist/src/schemas/FooterSectionSchema.d.ts +0 -15
- package/dist/src/schemas/FooterSectionSchema.d.ts.map +0 -1
- package/dist/src/schemas/FormBlockSchema.d.ts +0 -19
- package/dist/src/schemas/FormBlockSchema.d.ts.map +0 -1
- package/dist/src/schemas/GridCellSchema.d.ts +0 -23
- package/dist/src/schemas/GridCellSchema.d.ts.map +0 -1
- package/dist/src/schemas/GridLayoutSchema.d.ts +0 -21
- package/dist/src/schemas/GridLayoutSchema.d.ts.map +0 -1
- package/dist/src/schemas/HeaderActionSchema.d.ts +0 -17
- package/dist/src/schemas/HeaderActionSchema.d.ts.map +0 -1
- package/dist/src/schemas/HeroBlockSchema.d.ts +0 -22
- package/dist/src/schemas/HeroBlockSchema.d.ts.map +0 -1
- package/dist/src/schemas/HtmlInputFieldSchema.d.ts +0 -18
- package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +0 -1
- package/dist/src/schemas/HtmlSchema.d.ts +0 -14
- package/dist/src/schemas/HtmlSchema.d.ts.map +0 -1
- package/dist/src/schemas/ImageSchema.d.ts +0 -32
- package/dist/src/schemas/ImageSchema.d.ts.map +0 -1
- package/dist/src/schemas/LogoSchema.d.ts +0 -35
- package/dist/src/schemas/LogoSchema.d.ts.map +0 -1
- package/dist/src/schemas/MarkdownSchema.d.ts +0 -14
- package/dist/src/schemas/MarkdownSchema.d.ts.map +0 -1
- package/dist/src/schemas/MetadataItemSchema.d.ts +0 -13
- package/dist/src/schemas/MetadataItemSchema.d.ts.map +0 -1
- package/dist/src/schemas/PageBannerHeaderSchema.d.ts +0 -28
- package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +0 -1
- package/dist/src/schemas/PageTemplateSchema.d.ts +0 -31
- package/dist/src/schemas/PageTemplateSchema.d.ts.map +0 -1
- package/dist/src/schemas/PaletteSwitcherSchema.d.ts +0 -16
- package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +0 -1
- package/dist/src/schemas/PrintConfigSchema.d.ts +0 -31
- package/dist/src/schemas/PrintConfigSchema.d.ts.map +0 -1
- package/dist/src/schemas/ProductCardSchema.d.ts +0 -39
- package/dist/src/schemas/ProductCardSchema.d.ts.map +0 -1
- package/dist/src/schemas/SafeSpanSchema.d.ts +0 -13
- package/dist/src/schemas/SafeSpanSchema.d.ts.map +0 -1
- package/dist/src/schemas/SectionSchema.d.ts +0 -16
- package/dist/src/schemas/SectionSchema.d.ts.map +0 -1
- package/dist/src/schemas/SelectInputFieldSchema.d.ts +0 -27
- package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +0 -1
- package/dist/src/schemas/SwitchInputFieldSchema.d.ts +0 -18
- package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +0 -1
- package/dist/src/schemas/TextInputFieldSchema.d.ts +0 -22
- package/dist/src/schemas/TextInputFieldSchema.d.ts.map +0 -1
- package/dist/src/schemas/TextSchema.d.ts +0 -37
- package/dist/src/schemas/TextSchema.d.ts.map +0 -1
- package/dist/src/schemas/ThemeSwitcherSchema.d.ts +0 -19
- package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +0 -1
- package/dist/src/schemas/ViewSchema.d.ts +0 -66
- package/dist/src/schemas/ViewSchema.d.ts.map +0 -1
- package/dist/src/schemas/index.d.ts +0 -47
- package/dist/src/schemas/index.d.ts.map +0 -1
- package/dist/src/schemas/transformers/ComponentTransformer.d.ts +0 -128
- package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +0 -1
- package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +0 -53
- package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +0 -1
- package/dist/src/schemas/transformers/registry.d.ts +0 -18
- package/dist/src/schemas/transformers/registry.d.ts.map +0 -1
- package/dist/src/schemas/types/Serializable.d.ts +0 -46
- package/dist/src/schemas/types/Serializable.d.ts.map +0 -1
- package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +0 -1
- package/dist/src/templates/TemplateResolver.d.ts +0 -52
- package/dist/src/templates/TemplateResolver.d.ts.map +0 -1
- package/dist/src/templates/index.d.ts +0 -7
- package/dist/src/templates/index.d.ts.map +0 -1
- package/dist/src/types/CacheProvider.d.ts +0 -18
- package/dist/src/types/CacheProvider.d.ts.map +0 -1
- package/dist/src/types/CollapsibleLayout.d.ts +0 -142
- package/dist/src/types/CollapsibleLayout.d.ts.map +0 -1
- package/dist/src/types/ContentProxy.d.ts +0 -47
- package/dist/src/types/ContentProxy.d.ts.map +0 -1
- package/dist/src/types/DataTypes.d.ts +0 -185
- package/dist/src/types/DataTypes.d.ts.map +0 -1
- package/dist/src/types/TemplateProvider.d.ts +0 -10
- package/dist/src/types/TemplateProvider.d.ts.map +0 -1
- package/dist/src/types/TemplateResolver.d.ts +0 -23
- package/dist/src/types/TemplateResolver.d.ts.map +0 -1
- package/dist/src/types/index.d.ts +0 -82
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/utils/breakpoints.d.ts +0 -35
- package/dist/src/utils/breakpoints.d.ts.map +0 -1
- package/dist/src/utils/cssUtils.d.ts +0 -17
- package/dist/src/utils/cssUtils.d.ts.map +0 -1
- package/dist/src/utils/customPaletteManager.d.ts +0 -8
- package/dist/src/utils/customPaletteManager.d.ts.map +0 -1
- package/dist/src/utils/dimensions.d.ts +0 -34
- package/dist/src/utils/dimensions.d.ts.map +0 -1
- package/dist/src/utils/htmlTransform.d.ts +0 -44
- package/dist/src/utils/htmlTransform.d.ts.map +0 -1
- package/dist/src/utils/index.d.ts +0 -16
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -26
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/paletteUtils.d.ts +0 -38
- package/dist/src/utils/paletteUtils.d.ts.map +0 -1
- package/dist/src/utils/persistenceUtils.d.ts +0 -31
- package/dist/src/utils/persistenceUtils.d.ts.map +0 -1
- package/dist/src/utils/reactUtils.d.ts +0 -33
- package/dist/src/utils/reactUtils.d.ts.map +0 -1
- package/dist/src/utils/spacing.d.ts +0 -34
- package/dist/src/utils/spacing.d.ts.map +0 -1
- package/dist/src/utils/themePerformanceMonitor.d.ts +0 -32
- package/dist/src/utils/themePerformanceMonitor.d.ts.map +0 -1
- package/dist/src/utils/themeUtils.d.ts +0 -27
- package/dist/src/utils/themeUtils.d.ts.map +0 -1
- package/dist/tests/ConsoleWarningTest.d.ts +0 -5
- package/dist/tests/ConsoleWarningTest.d.ts.map +0 -1
- package/dist/tests/StorageKeyTest.d.ts +0 -6
- package/dist/tests/StorageKeyTest.d.ts.map +0 -1
- package/dist/tests/ThemeStorageKeyTest.d.ts +0 -6
- package/dist/tests/ThemeStorageKeyTest.d.ts.map +0 -1
- /package/dist/palettes/{PaletteAutumn.css → palette-autumn.1.4.9.css} +0 -0
- /package/dist/palettes/{PaletteCosmic.css → palette-cosmic.1.4.9.css} +0 -0
- /package/dist/palettes/{PaletteDefault.css → palette-default.1.4.9.css} +0 -0
- /package/dist/palettes/{PaletteOcean.css → palette-ocean.1.4.9.css} +0 -0
- /package/dist/palettes/{PaletteSpring.css → palette-spring.1.4.9.css} +0 -0
- /package/dist/palettes/{PaletteWinter.css → palette-winter.1.4.9.css} +0 -0
- /package/dist/{src/stories → stories}/_templates/SerializationTemplate.d.ts +0 -0
|
@@ -431,12 +431,11 @@ export const InitiallyCollapsed: Story = {
|
|
|
431
431
|
},
|
|
432
432
|
};
|
|
433
433
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
<QwickApp appId="collapsible-controlled" appName='Controlled State'>
|
|
434
|
+
const ControlledStateComponent = () => {
|
|
435
|
+
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
436
|
+
|
|
437
|
+
return (
|
|
438
|
+
<QwickApp appId="collapsible-controlled" appName='Controlled State'>
|
|
440
439
|
<Stack spacing={2}>
|
|
441
440
|
<Box>
|
|
442
441
|
<FormControlLabel
|
|
@@ -463,19 +462,22 @@ export const ControlledState: Story = {
|
|
|
463
462
|
<Alert severity="info">
|
|
464
463
|
This CollapsibleLayout's state is controlled by the switch above.
|
|
465
464
|
You can also click the header to toggle, but the switch will update accordingly.
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
465
|
+
</Alert>
|
|
466
|
+
</CollapsibleLayout>
|
|
467
|
+
</Stack>
|
|
468
|
+
</QwickApp>
|
|
469
|
+
);
|
|
470
|
+
};
|
|
471
|
+
|
|
472
|
+
export const ControlledState: Story = {
|
|
473
|
+
render: () => <ControlledStateComponent />,
|
|
474
|
+
parameters: {
|
|
475
|
+
docs: {
|
|
476
|
+
description: {
|
|
477
|
+
story: 'CollapsibleLayout with controlled state managed by external component (switch).',
|
|
478
|
+
},
|
|
479
|
+
},
|
|
480
|
+
},
|
|
479
481
|
};
|
|
480
482
|
|
|
481
483
|
export const WithPersistence: Story = {
|
|
@@ -833,12 +835,11 @@ export const CustomIcons: Story = {
|
|
|
833
835
|
},
|
|
834
836
|
};
|
|
835
837
|
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
<QwickApp appId="collapsible-disabled" appName='Disabled State'>
|
|
838
|
+
const DisabledStateComponent = () => {
|
|
839
|
+
const [disabled, setDisabled] = useState(false);
|
|
840
|
+
|
|
841
|
+
return (
|
|
842
|
+
<QwickApp appId="collapsible-disabled" appName='Disabled State'>
|
|
842
843
|
<Stack spacing={2}>
|
|
843
844
|
<Box>
|
|
844
845
|
<FormControlLabel
|
|
@@ -870,18 +871,21 @@ export const DisabledState: Story = {
|
|
|
870
871
|
: "This content can be toggled normally. Use the switch above to simulate a disabled state."
|
|
871
872
|
}
|
|
872
873
|
</Typography>
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
874
|
+
</CollapsibleLayout>
|
|
875
|
+
</Stack>
|
|
876
|
+
</QwickApp>
|
|
877
|
+
);
|
|
878
|
+
};
|
|
879
|
+
|
|
880
|
+
export const DisabledState: Story = {
|
|
881
|
+
render: () => <DisabledStateComponent />,
|
|
882
|
+
parameters: {
|
|
883
|
+
docs: {
|
|
884
|
+
description: {
|
|
885
|
+
story: 'Demonstrating how to create a disabled-like state by conditionally removing event handlers.',
|
|
886
|
+
},
|
|
887
|
+
},
|
|
888
|
+
},
|
|
885
889
|
};
|
|
886
890
|
|
|
887
891
|
// ============================================
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { Alert, Box,
|
|
11
|
+
import { Alert, Box, Typography } from '@mui/material';
|
|
12
12
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
13
13
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
14
14
|
import React from 'react';
|
|
@@ -17,7 +17,6 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
|
|
|
17
17
|
import { Code, Text } from '../components/blocks';
|
|
18
18
|
import { Button } from '../components/buttons/Button';
|
|
19
19
|
import QwickApp from '../components/QwickApp';
|
|
20
|
-
import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
|
|
21
20
|
import {registerSerializableComponents} from '../schemas/transformers/registry';
|
|
22
21
|
|
|
23
22
|
console.log('Registering serializable components for stories...', registerSerializableComponents);
|
|
@@ -132,9 +132,8 @@ All HTML content is automatically sanitized:
|
|
|
132
132
|
export default meta;
|
|
133
133
|
type Story = StoryObj<typeof meta>;
|
|
134
134
|
|
|
135
|
-
// Multi-language Support
|
|
136
|
-
|
|
137
|
-
render: () => {
|
|
135
|
+
// Multi-language Support Component
|
|
136
|
+
const MultiLanguageComponent = () => {
|
|
138
137
|
const [language, setLanguage] = useState<'en' | 'es'>('en');
|
|
139
138
|
|
|
140
139
|
return (
|
|
@@ -175,7 +174,11 @@ export const MultiLanguageContent: Story = {
|
|
|
175
174
|
]`}</Code>
|
|
176
175
|
</Section>
|
|
177
176
|
);
|
|
178
|
-
|
|
177
|
+
};
|
|
178
|
+
MultiLanguageComponent.displayName = 'MultiLanguageComponent';
|
|
179
|
+
|
|
180
|
+
export const MultiLanguageContent: Story = {
|
|
181
|
+
render: () => <MultiLanguageComponent />,
|
|
179
182
|
parameters: {
|
|
180
183
|
docs: {
|
|
181
184
|
description: {
|
|
@@ -185,9 +188,8 @@ export const MultiLanguageContent: Story = {
|
|
|
185
188
|
}
|
|
186
189
|
};
|
|
187
190
|
|
|
188
|
-
// A/B Testing
|
|
189
|
-
|
|
190
|
-
render: () => {
|
|
191
|
+
// A/B Testing Component
|
|
192
|
+
const ABTestingComponent = () => {
|
|
191
193
|
const [variant, setVariant] = useState<'a' | 'b'>('a');
|
|
192
194
|
|
|
193
195
|
return (
|
|
@@ -207,7 +209,7 @@ export const ABTestingVariants: Story = {
|
|
|
207
209
|
Variant B (Join Community)
|
|
208
210
|
</Button>
|
|
209
211
|
</GridLayout>
|
|
210
|
-
|
|
212
|
+
|
|
211
213
|
<Card variant="outlined" style={{ padding: '1.5rem', backgroundColor: '#e3f2fd' }}>
|
|
212
214
|
<SafeSpan dataSource={`cta.variant-${variant}`} />
|
|
213
215
|
</Card>
|
|
@@ -231,7 +233,11 @@ return (
|
|
|
231
233
|
]`}</Code>
|
|
232
234
|
</Section>
|
|
233
235
|
);
|
|
234
|
-
|
|
236
|
+
};
|
|
237
|
+
ABTestingComponent.displayName = 'ABTestingComponent';
|
|
238
|
+
|
|
239
|
+
export const ABTestingVariants: Story = {
|
|
240
|
+
render: () => <ABTestingComponent />,
|
|
235
241
|
parameters: {
|
|
236
242
|
docs: {
|
|
237
243
|
description: {
|
|
@@ -365,7 +365,7 @@ export const BasicUsage: Story = {
|
|
|
365
365
|
};
|
|
366
366
|
|
|
367
367
|
// Enhanced ProviderDemo component using MUI components
|
|
368
|
-
const ProviderDemo = ({ provider, title }: { provider:
|
|
368
|
+
const ProviderDemo = ({ provider, title }: { provider: JsonDataProvider | CachedDataProvider; title: string }) => {
|
|
369
369
|
const [stats, setStats] = useState(() => {
|
|
370
370
|
if ('getCacheStats' in provider && typeof provider.getCacheStats === 'function') {
|
|
371
371
|
return provider.getCacheStats();
|
|
@@ -848,8 +848,8 @@ export const ErrorHandling: Story = {
|
|
|
848
848
|
/**
|
|
849
849
|
* External JSON file loading (simulated with fetch mock)
|
|
850
850
|
*/
|
|
851
|
-
|
|
852
|
-
|
|
851
|
+
// External JSON Component
|
|
852
|
+
const ExternalJSONComponent = () => {
|
|
853
853
|
// Mock fetch for this story
|
|
854
854
|
const originalFetch = global.fetch;
|
|
855
855
|
global.fetch = ((url: string) => {
|
|
@@ -876,7 +876,7 @@ export const ExternalJSON: Story = {
|
|
|
876
876
|
return () => {
|
|
877
877
|
global.fetch = originalFetch;
|
|
878
878
|
};
|
|
879
|
-
}, []);
|
|
879
|
+
}, [originalFetch]);
|
|
880
880
|
|
|
881
881
|
return (
|
|
882
882
|
<DataProvider dataSource={{ dataProvider: provider }}>
|
|
@@ -899,14 +899,17 @@ export const ExternalJSON: Story = {
|
|
|
899
899
|
</div>
|
|
900
900
|
</DataProvider>
|
|
901
901
|
);
|
|
902
|
-
|
|
902
|
+
};
|
|
903
|
+
ExternalJSONComponent.displayName = 'ExternalJSONComponent';
|
|
904
|
+
|
|
905
|
+
export const ExternalJSON: Story = {
|
|
906
|
+
render: () => <ExternalJSONComponent />
|
|
903
907
|
};
|
|
904
908
|
|
|
905
909
|
/**
|
|
906
|
-
* Performance demonstration
|
|
910
|
+
* Performance demonstration component
|
|
907
911
|
*/
|
|
908
|
-
|
|
909
|
-
render: () => {
|
|
912
|
+
const PerformanceDemoComponent = () => {
|
|
910
913
|
const [renderCount, setRenderCount] = useState(1);
|
|
911
914
|
const [cacheStats, setCacheStats] = useState<{ totalEntries: number; maxSize: number; expiredEntries: number }>({ totalEntries: 0, maxSize: 100, expiredEntries: 0 });
|
|
912
915
|
const [forceRefresh, setForceRefresh] = useState(0);
|
|
@@ -925,7 +928,7 @@ export const PerformanceDemo: Story = {
|
|
|
925
928
|
}, []);
|
|
926
929
|
|
|
927
930
|
// Update cache stats when requested
|
|
928
|
-
const updateCacheStats = () => {
|
|
931
|
+
const updateCacheStats = React.useCallback(() => {
|
|
929
932
|
const stats = provider.getCacheStats();
|
|
930
933
|
// Map stats to expected shape for cacheStats state
|
|
931
934
|
setCacheStats({
|
|
@@ -934,7 +937,7 @@ export const PerformanceDemo: Story = {
|
|
|
934
937
|
expiredEntries: stats.expiredEntries ?? stats.expiredEntries ?? 0
|
|
935
938
|
});
|
|
936
939
|
console.log('[Performance Demo] Cache stats updated:', stats);
|
|
937
|
-
};
|
|
940
|
+
}, [provider]);
|
|
938
941
|
|
|
939
942
|
// Initialize cache stats on mount
|
|
940
943
|
React.useEffect(() => {
|
|
@@ -942,12 +945,13 @@ export const PerformanceDemo: Story = {
|
|
|
942
945
|
setTimeout(() => {
|
|
943
946
|
updateCacheStats();
|
|
944
947
|
}, 100);
|
|
948
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
945
949
|
}, []);
|
|
946
950
|
|
|
947
951
|
// Update cache stats when content changes
|
|
948
952
|
React.useEffect(() => {
|
|
949
953
|
updateCacheStats();
|
|
950
|
-
}, [forceRefresh]);
|
|
954
|
+
}, [forceRefresh, updateCacheStats]);
|
|
951
955
|
|
|
952
956
|
const triggerRender = (action: string) => {
|
|
953
957
|
setRenderCount(prev => prev + 1);
|
|
@@ -1131,7 +1135,14 @@ export const PerformanceDemo: Story = {
|
|
|
1131
1135
|
</div>
|
|
1132
1136
|
</DataProvider>
|
|
1133
1137
|
);
|
|
1134
|
-
|
|
1138
|
+
};
|
|
1139
|
+
PerformanceDemoComponent.displayName = 'PerformanceDemoComponent';
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* Performance demonstration with caching
|
|
1143
|
+
*/
|
|
1144
|
+
export const PerformanceDemo: Story = {
|
|
1145
|
+
render: () => <PerformanceDemoComponent />
|
|
1135
1146
|
};
|
|
1136
1147
|
|
|
1137
1148
|
/**
|
|
@@ -1264,10 +1275,9 @@ export const CachingBehavior: Story = {
|
|
|
1264
1275
|
};
|
|
1265
1276
|
|
|
1266
1277
|
/**
|
|
1267
|
-
*
|
|
1278
|
+
* Configuration playground component
|
|
1268
1279
|
*/
|
|
1269
|
-
|
|
1270
|
-
render: () => {
|
|
1280
|
+
const ConfigurationPlaygroundComponent = () => {
|
|
1271
1281
|
const [config, setConfig] = useState({
|
|
1272
1282
|
cacheTimeout: 5000,
|
|
1273
1283
|
maxCacheSize: 10,
|
|
@@ -1357,5 +1367,12 @@ export const ConfigurationPlayground: Story = {
|
|
|
1357
1367
|
</GridLayout>
|
|
1358
1368
|
</Box>
|
|
1359
1369
|
);
|
|
1360
|
-
|
|
1370
|
+
};
|
|
1371
|
+
ConfigurationPlaygroundComponent.displayName = 'ConfigurationPlaygroundComponent';
|
|
1372
|
+
|
|
1373
|
+
/**
|
|
1374
|
+
* Interactive configuration playground with real-time settings
|
|
1375
|
+
*/
|
|
1376
|
+
export const ConfigurationPlayground: Story = {
|
|
1377
|
+
render: () => <ConfigurationPlaygroundComponent />
|
|
1361
1378
|
};
|
|
@@ -122,33 +122,35 @@ export const HigherOrderComponent: Story = {
|
|
|
122
122
|
};
|
|
123
123
|
|
|
124
124
|
// Interactive story for testing retry functionality
|
|
125
|
+
const InteractiveComponent = () => {
|
|
126
|
+
const [shouldThrow, setShouldThrow] = React.useState(false);
|
|
127
|
+
|
|
128
|
+
return (
|
|
129
|
+
<div style={{ padding: '2rem' }}>
|
|
130
|
+
<button
|
|
131
|
+
onClick={() => setShouldThrow(!shouldThrow)}
|
|
132
|
+
style={{
|
|
133
|
+
marginBottom: '1rem',
|
|
134
|
+
padding: '0.5rem 1rem',
|
|
135
|
+
background: shouldThrow ? '#ff4444' : '#44aa44',
|
|
136
|
+
color: 'white',
|
|
137
|
+
border: 'none',
|
|
138
|
+
borderRadius: '4px',
|
|
139
|
+
cursor: 'pointer'
|
|
140
|
+
}}
|
|
141
|
+
>
|
|
142
|
+
{shouldThrow ? 'Fix Component' : 'Break Component'}
|
|
143
|
+
</button>
|
|
144
|
+
|
|
145
|
+
<ErrorBoundary>
|
|
146
|
+
<ThrowError shouldThrow={shouldThrow} />
|
|
147
|
+
</ErrorBoundary>
|
|
148
|
+
</div>
|
|
149
|
+
);
|
|
150
|
+
};
|
|
151
|
+
|
|
125
152
|
export const Interactive: Story = {
|
|
126
|
-
render: () =>
|
|
127
|
-
const [shouldThrow, setShouldThrow] = React.useState(false);
|
|
128
|
-
|
|
129
|
-
return (
|
|
130
|
-
<div style={{ padding: '2rem' }}>
|
|
131
|
-
<button
|
|
132
|
-
onClick={() => setShouldThrow(!shouldThrow)}
|
|
133
|
-
style={{
|
|
134
|
-
marginBottom: '1rem',
|
|
135
|
-
padding: '0.5rem 1rem',
|
|
136
|
-
background: shouldThrow ? '#ff4444' : '#44aa44',
|
|
137
|
-
color: 'white',
|
|
138
|
-
border: 'none',
|
|
139
|
-
borderRadius: '4px',
|
|
140
|
-
cursor: 'pointer'
|
|
141
|
-
}}
|
|
142
|
-
>
|
|
143
|
-
{shouldThrow ? 'Fix Component' : 'Break Component'}
|
|
144
|
-
</button>
|
|
145
|
-
|
|
146
|
-
<ErrorBoundary>
|
|
147
|
-
<ThrowError shouldThrow={shouldThrow} />
|
|
148
|
-
</ErrorBoundary>
|
|
149
|
-
</div>
|
|
150
|
-
);
|
|
151
|
-
},
|
|
153
|
+
render: () => <InteractiveComponent />,
|
|
152
154
|
parameters: {
|
|
153
155
|
docs: {
|
|
154
156
|
description: {
|
|
@@ -10,7 +10,6 @@ import type { Meta, StoryObj } from '@storybook/react';
|
|
|
10
10
|
import QwickApp from '../components/QwickApp';
|
|
11
11
|
import { Code } from '../components/blocks';
|
|
12
12
|
import FeatureGrid from '../components/blocks/FeatureGrid';
|
|
13
|
-
import { DataProvider } from '../contexts/DataContext';
|
|
14
13
|
|
|
15
14
|
// Sample CMS data for data binding stories
|
|
16
15
|
const sampleCmsData = {
|
|
@@ -154,14 +154,14 @@ export const LoginForm: Story = {
|
|
|
154
154
|
type="email"
|
|
155
155
|
placeholder="your.email@example.com"
|
|
156
156
|
required={true}
|
|
157
|
-
onChange={(
|
|
157
|
+
onChange={(_value) => console.log('Email:', _value)}
|
|
158
158
|
/>
|
|
159
159
|
<TextInputField
|
|
160
160
|
label="Password"
|
|
161
161
|
type="password"
|
|
162
162
|
placeholder="Enter your password"
|
|
163
163
|
required={true}
|
|
164
|
-
onChange={(
|
|
164
|
+
onChange={() => console.log('Password:', '***')}
|
|
165
165
|
/>
|
|
166
166
|
<Button
|
|
167
167
|
label="Sign In"
|
|
@@ -219,7 +219,7 @@ export const RegistrationForm: Story = {
|
|
|
219
219
|
placeholder="john.doe@example.com"
|
|
220
220
|
required={true}
|
|
221
221
|
helperText="We'll never share your email address"
|
|
222
|
-
onChange={(
|
|
222
|
+
onChange={(_value) => console.log('Email:', _value)}
|
|
223
223
|
/>
|
|
224
224
|
<TextInputField
|
|
225
225
|
label="Password"
|
|
@@ -227,7 +227,7 @@ export const RegistrationForm: Story = {
|
|
|
227
227
|
placeholder="Create a strong password"
|
|
228
228
|
required={true}
|
|
229
229
|
helperText="Minimum 8 characters with mixed case and numbers"
|
|
230
|
-
onChange={(
|
|
230
|
+
onChange={() => console.log('Password:', '***')}
|
|
231
231
|
/>
|
|
232
232
|
<SelectInputField
|
|
233
233
|
label="Country"
|
|
@@ -290,7 +290,7 @@ export const ContactForm: Story = {
|
|
|
290
290
|
type="email"
|
|
291
291
|
placeholder="your.email@example.com"
|
|
292
292
|
required={true}
|
|
293
|
-
onChange={(
|
|
293
|
+
onChange={(_value) => console.log('Email:', _value)}
|
|
294
294
|
/>
|
|
295
295
|
</Box>
|
|
296
296
|
<TextInputField
|
|
@@ -352,7 +352,7 @@ export const WithStatusMessages: Story = {
|
|
|
352
352
|
type="email"
|
|
353
353
|
placeholder="your.email@example.com"
|
|
354
354
|
required={true}
|
|
355
|
-
onChange={(
|
|
355
|
+
onChange={(_value) => console.log('Email:', _value)}
|
|
356
356
|
/>
|
|
357
357
|
<Button
|
|
358
358
|
label="Subscribe"
|
|
@@ -503,14 +503,14 @@ export const DataBindingBasic: Story = {
|
|
|
503
503
|
type="email"
|
|
504
504
|
placeholder="your.email@example.com"
|
|
505
505
|
required={true}
|
|
506
|
-
onChange={(
|
|
506
|
+
onChange={(_value) => console.log('Email:', _value)}
|
|
507
507
|
/>
|
|
508
508
|
<TextInputField
|
|
509
509
|
label="Password"
|
|
510
510
|
type="password"
|
|
511
511
|
placeholder="Enter your password"
|
|
512
512
|
required={true}
|
|
513
|
-
onChange={(
|
|
513
|
+
onChange={() => console.log('Password:', '***')}
|
|
514
514
|
/>
|
|
515
515
|
<Button
|
|
516
516
|
label="Sign In"
|
|
@@ -284,10 +284,9 @@ export const SelectInputFieldShowcase: Story = {
|
|
|
284
284
|
)
|
|
285
285
|
};
|
|
286
286
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
const [formData, setFormData] = useState({
|
|
287
|
+
// Complete Form Component
|
|
288
|
+
const CompleteFormComponent = () => {
|
|
289
|
+
const [formData] = useState({
|
|
291
290
|
name: '',
|
|
292
291
|
email: '',
|
|
293
292
|
country: '',
|
|
@@ -313,7 +312,7 @@ export const CompleteFormExample: Story = {
|
|
|
313
312
|
placeholder="Enter your full name"
|
|
314
313
|
required={true}
|
|
315
314
|
/>
|
|
316
|
-
|
|
315
|
+
|
|
317
316
|
<TextInputField
|
|
318
317
|
label="Email Address"
|
|
319
318
|
value={formData.email}
|
|
@@ -322,7 +321,7 @@ export const CompleteFormExample: Story = {
|
|
|
322
321
|
required={true}
|
|
323
322
|
helperText="We'll use this to send you important updates"
|
|
324
323
|
/>
|
|
325
|
-
|
|
324
|
+
|
|
326
325
|
<SelectInputField
|
|
327
326
|
label="Country"
|
|
328
327
|
value={formData.country}
|
|
@@ -336,7 +335,7 @@ export const CompleteFormExample: Story = {
|
|
|
336
335
|
]}
|
|
337
336
|
required={true}
|
|
338
337
|
/>
|
|
339
|
-
|
|
338
|
+
|
|
340
339
|
<HtmlInputField
|
|
341
340
|
label="About Yourself"
|
|
342
341
|
value={formData.description}
|
|
@@ -344,7 +343,7 @@ export const CompleteFormExample: Story = {
|
|
|
344
343
|
rows={4}
|
|
345
344
|
multiline={true}
|
|
346
345
|
/>
|
|
347
|
-
|
|
346
|
+
|
|
348
347
|
<ChoiceInputField
|
|
349
348
|
label="Interests"
|
|
350
349
|
options={formData.interests}
|
|
@@ -352,14 +351,14 @@ export const CompleteFormExample: Story = {
|
|
|
352
351
|
placeholder="Add your interests..."
|
|
353
352
|
addButtonText="Add Interest"
|
|
354
353
|
/>
|
|
355
|
-
|
|
354
|
+
|
|
356
355
|
<SwitchInputField
|
|
357
356
|
label="Email Notifications"
|
|
358
357
|
checked={formData.notifications}
|
|
359
358
|
helperText="Receive important updates via email"
|
|
360
359
|
color="primary"
|
|
361
360
|
/>
|
|
362
|
-
|
|
361
|
+
|
|
363
362
|
<SwitchInputField
|
|
364
363
|
label="Newsletter Subscription"
|
|
365
364
|
checked={formData.newsletter}
|
|
@@ -387,5 +386,10 @@ export const CompleteFormExample: Story = {
|
|
|
387
386
|
/>
|
|
388
387
|
</Box>
|
|
389
388
|
);
|
|
390
|
-
|
|
389
|
+
};
|
|
390
|
+
CompleteFormComponent.displayName = 'CompleteFormComponent';
|
|
391
|
+
|
|
392
|
+
export const CompleteFormExample: Story = {
|
|
393
|
+
name: 'Complete Form - All Components Together',
|
|
394
|
+
render: () => <CompleteFormComponent />
|
|
391
395
|
};
|
|
@@ -13,11 +13,11 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
|
|
|
13
13
|
import React from 'react';
|
|
14
14
|
|
|
15
15
|
// Ensure components are registered for serialization
|
|
16
|
-
ComponentTransformer.registerComponent(GridCell as
|
|
17
|
-
ComponentTransformer.registerComponent(Text as
|
|
18
|
-
ComponentTransformer.registerComponent(Button as
|
|
19
|
-
ComponentTransformer.registerComponent(Code as
|
|
20
|
-
ComponentTransformer.registerComponent(Image as
|
|
16
|
+
ComponentTransformer.registerComponent(GridCell as React.ComponentType);
|
|
17
|
+
ComponentTransformer.registerComponent(Text as React.ComponentType);
|
|
18
|
+
ComponentTransformer.registerComponent(Button as React.ComponentType);
|
|
19
|
+
ComponentTransformer.registerComponent(Code as React.ComponentType);
|
|
20
|
+
ComponentTransformer.registerComponent(Image as React.ComponentType);
|
|
21
21
|
|
|
22
22
|
const meta: Meta<typeof GridCell> = {
|
|
23
23
|
title: 'Layout/GridCell',
|
|
@@ -13,11 +13,11 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
|
|
|
13
13
|
import React from 'react';
|
|
14
14
|
|
|
15
15
|
// Ensure components are registered for serialization
|
|
16
|
-
ComponentTransformer.registerComponent(GridLayout as
|
|
17
|
-
ComponentTransformer.registerComponent(GridCell as
|
|
18
|
-
ComponentTransformer.registerComponent(Text as
|
|
19
|
-
ComponentTransformer.registerComponent(Button as
|
|
20
|
-
ComponentTransformer.registerComponent(Code as
|
|
16
|
+
ComponentTransformer.registerComponent(GridLayout as React.ComponentType);
|
|
17
|
+
ComponentTransformer.registerComponent(GridCell as React.ComponentType);
|
|
18
|
+
ComponentTransformer.registerComponent(Text as React.ComponentType);
|
|
19
|
+
ComponentTransformer.registerComponent(Button as React.ComponentType);
|
|
20
|
+
ComponentTransformer.registerComponent(Code as React.ComponentType);
|
|
21
21
|
|
|
22
22
|
const meta: Meta<typeof GridLayout> = {
|
|
23
23
|
title: 'Layout/GridLayout',
|
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Box,
|
|
7
|
+
import { Box, Typography, Alert, Grid } from '@mui/material';
|
|
8
8
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
9
9
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
10
10
|
import { Image } from '../components/blocks';
|
|
11
|
-
import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
|
|
12
|
-
import { ModelView } from '../components/base/ModelView';
|
|
13
11
|
import QwickApp from '../components/QwickApp';
|
|
14
12
|
import React from 'react';
|
|
15
13
|
|
|
@@ -380,7 +378,7 @@ export const InteractiveFeatures: Story = {
|
|
|
380
378
|
objectFit="cover"
|
|
381
379
|
borderRadius="12px"
|
|
382
380
|
showLoading={true}
|
|
383
|
-
onClick={(
|
|
381
|
+
onClick={() => alert('Image clicked!')}
|
|
384
382
|
style={{ cursor: 'pointer', transition: 'transform 0.2s', '&:hover': { transform: 'scale(1.02)' } }}
|
|
385
383
|
title="Click me!"
|
|
386
384
|
/>
|
|
@@ -523,9 +521,9 @@ export const ModelViewBasic: Story = {
|
|
|
523
521
|
|
|
524
522
|
// Show that it has ModelView properties
|
|
525
523
|
const hasToJson = typeof imageInstance.toJson === 'function';
|
|
526
|
-
const hasFromJson = typeof (imageInstance.constructor as
|
|
527
|
-
const tagName = (imageInstance.constructor as
|
|
528
|
-
const version = (imageInstance.constructor as
|
|
524
|
+
const hasFromJson = typeof (imageInstance.constructor as Record<string, unknown>).fromJson === 'function';
|
|
525
|
+
const tagName = (imageInstance.constructor as Record<string, unknown>).tagName as string;
|
|
526
|
+
const version = (imageInstance.constructor as Record<string, unknown>).version as string;
|
|
529
527
|
|
|
530
528
|
return (
|
|
531
529
|
<QwickApp appId="image-modelview" appName='Image ModelView Demonstration'>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Box, Typography, Alert, Paper
|
|
7
|
+
import { Box, Typography, Alert, Paper } from '@mui/material';
|
|
8
8
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
9
9
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
10
10
|
import { Code } from '../components/blocks';
|
|
@@ -28,7 +28,7 @@ class Code extends ModelView<CodeProps, CodeModel> {
|
|
|
28
28
|
static readonly tagName = 'Code';
|
|
29
29
|
static readonly version = '1.0.0';
|
|
30
30
|
|
|
31
|
-
protected getComponentSpecificProps():
|
|
31
|
+
protected getComponentSpecificProps(): unknown {
|
|
32
32
|
return {
|
|
33
33
|
language: this.props.language,
|
|
34
34
|
showCopy: this.props.showCopy,
|
|
@@ -123,7 +123,7 @@ export abstract class ModelView<TProps, TModel>
|
|
|
123
123
|
static readonly version: string;
|
|
124
124
|
|
|
125
125
|
// Common serialization implementation
|
|
126
|
-
toJson():
|
|
126
|
+
toJson(): unknown {
|
|
127
127
|
return {
|
|
128
128
|
...this.getBaseSerializableProps(),
|
|
129
129
|
...this.getComponentSpecificProps()
|
|
@@ -131,7 +131,7 @@ export abstract class ModelView<TProps, TModel>
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
// Base props all components serialize
|
|
134
|
-
protected getBaseSerializableProps():
|
|
134
|
+
protected getBaseSerializableProps(): unknown {
|
|
135
135
|
return {
|
|
136
136
|
children: this.serializeChildren(this.props.children),
|
|
137
137
|
dataSource: this.props.dataSource,
|
|
@@ -142,7 +142,7 @@ export abstract class ModelView<TProps, TModel>
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
// Hook for component-specific props (implemented by subclasses)
|
|
145
|
-
protected abstract getComponentSpecificProps():
|
|
145
|
+
protected abstract getComponentSpecificProps(): unknown;
|
|
146
146
|
|
|
147
147
|
// Common render pattern
|
|
148
148
|
render() {
|
|
@@ -168,12 +168,12 @@ export class Code extends ModelView<CodeProps, CodeModel> {
|
|
|
168
168
|
static readonly version = '1.0.0';
|
|
169
169
|
|
|
170
170
|
// Required: Deserialization factory method
|
|
171
|
-
static fromJson(jsonData:
|
|
171
|
+
static fromJson(jsonData: unknown): ReactElement {
|
|
172
172
|
return <Code {...jsonData} />;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
// Required: Component-specific serialization properties
|
|
176
|
-
protected getComponentSpecificProps():
|
|
176
|
+
protected getComponentSpecificProps(): unknown {
|
|
177
177
|
return {
|
|
178
178
|
language: this.props.language,
|
|
179
179
|
showCopy: this.props.showCopy,
|