@qwickapps/react-framework 1.4.9 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- 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 +4143 -2318
- package/dist/index.js +4169 -2315
- 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.1.5.1.css +172 -0
- package/dist/palettes/palette-autumn.1.5.1.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.1.5.1.css +172 -0
- package/dist/palettes/palette-cosmic.1.5.1.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.1.5.1.css +178 -0
- package/dist/palettes/palette-default.1.5.1.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.1.5.1.css +172 -0
- package/dist/palettes/palette-ocean.1.5.1.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.1.5.1.css +160 -0
- package/dist/palettes/palette-spring.1.5.1.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.1.5.1.css +172 -0
- package/dist/palettes/palette-winter.1.5.1.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 +20 -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 +13 -16
- package/src/components/Logo.tsx +42 -29
- package/src/components/Markdown.tsx +9 -9
- package/src/components/ProductLogo.tsx +118 -0
- package/src/components/QwickApp.css +37 -1060
- package/src/components/QwickApp.tsx +1 -1
- package/src/components/QwickAppsLogo.tsx +1 -1
- package/src/components/ResponsiveMenu.tsx +1 -1
- package/src/components/SafeSpan.tsx +8 -8
- package/src/components/Scaffold.css +11 -1
- package/src/components/Scaffold.tsx +55 -25
- 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 +213 -69
- 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 +14 -9
- package/src/components/blocks/FeatureCard.tsx +16 -11
- package/src/components/blocks/FeatureGrid.tsx +13 -8
- package/src/components/blocks/Footer.tsx +25 -16
- package/src/components/blocks/HeroBlock.tsx +12 -13
- package/src/components/blocks/Image.tsx +16 -8
- package/src/components/blocks/PageBannerHeader.tsx +15 -11
- package/src/components/blocks/ProductCard.tsx +32 -25
- package/src/components/blocks/Section.tsx +21 -13
- package/src/components/blocks/Text.tsx +26 -11
- package/src/components/buttons/Button.tsx +22 -118
- 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/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 +2 -1
- 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/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 +6 -6
- package/src/schemas/transformers/ComponentTransformer.ts +37 -20
- package/src/schemas/transformers/ReactNodeTransformer.ts +18 -16
- 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/CardListGrid.stories.tsx +1 -1
- 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 +244 -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 -57
- 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 -22
- 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
|
@@ -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,
|
|
@@ -484,8 +484,8 @@ export const SecurityTestingExample: Story = {
|
|
|
484
484
|
),
|
|
485
485
|
};
|
|
486
486
|
|
|
487
|
-
|
|
488
|
-
|
|
487
|
+
// Interactive SafeSpan Component
|
|
488
|
+
const InteractiveSafeSpanComponent = () => {
|
|
489
489
|
const [htmlContent, setHtmlContent] = useState(safeHtml);
|
|
490
490
|
const [placeholder, setPlaceholder] = useState('Enter some HTML content...');
|
|
491
491
|
|
|
@@ -608,5 +608,9 @@ export const InteractiveExample: Story = {
|
|
|
608
608
|
</Content>
|
|
609
609
|
</Section>
|
|
610
610
|
);
|
|
611
|
-
|
|
611
|
+
};
|
|
612
|
+
InteractiveSafeSpanComponent.displayName = 'InteractiveSafeSpanComponent';
|
|
613
|
+
|
|
614
|
+
export const InteractiveExample: Story = {
|
|
615
|
+
render: () => <InteractiveSafeSpanComponent />,
|
|
612
616
|
};
|
|
@@ -212,7 +212,7 @@ export const ContentWidthVariants: Story = {
|
|
|
212
212
|
<Typography variant="body2">Extra large container width (1536px max)</Typography>
|
|
213
213
|
</Section>
|
|
214
214
|
|
|
215
|
-
<Section background="#fce4ec" padding="medium" contentMaxWidth={
|
|
215
|
+
<Section background="#fce4ec" padding="medium" contentMaxWidth={undefined}>
|
|
216
216
|
<Typography variant="h6" gutterBottom>Full Width (No Max Width)</Typography>
|
|
217
217
|
<Typography variant="body2">Full width container with no maximum width constraint</Typography>
|
|
218
218
|
</Section>
|
|
@@ -628,7 +628,7 @@ export const ModelViewBasic: Story = {
|
|
|
628
628
|
});
|
|
629
629
|
|
|
630
630
|
// Show ModelView metadata
|
|
631
|
-
const ComponentClass = sectionInstance.constructor as
|
|
631
|
+
const ComponentClass = sectionInstance.constructor as { tagName?: string; version?: string };
|
|
632
632
|
const metadata = {
|
|
633
633
|
tagName: ComponentClass.tagName,
|
|
634
634
|
version: ComponentClass.version,
|
|
@@ -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 } from '@mui/material';
|
|
8
8
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
9
9
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
10
10
|
import { Text } from '../components/blocks';
|
|
11
|
-
import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
|
|
12
|
-
import { ModelView } from '../components/base/ModelView';
|
|
13
11
|
import { makeSerializationStory } from './_templates/SerializationTemplate';
|
|
14
12
|
import QwickApp from '../components/QwickApp';
|
|
15
13
|
import React from 'react';
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import React from 'react';
|
|
23
|
-
import { ComponentTransformer } from '../../schemas/transformers/ComponentTransformer';
|
|
24
23
|
import { registerSerializableComponents } from '../../schemas/transformers/registry';
|
|
25
24
|
import { Code } from '../../components/blocks/Code';
|
|
26
25
|
import { Box, Typography } from '@mui/material';
|
|
@@ -111,7 +111,7 @@ export class TemplateResolver implements ITemplateResolver {
|
|
|
111
111
|
* Create lazy loading context for template resolution
|
|
112
112
|
* Only fetches data when accessed by mustache template
|
|
113
113
|
*/
|
|
114
|
-
private async createLazyContext(template: string): Promise<
|
|
114
|
+
private async createLazyContext(template: string): Promise<unknown> {
|
|
115
115
|
// Extract field group IDs from template
|
|
116
116
|
const mustachePattern = /\{\{([^}]+)\}\}/g;
|
|
117
117
|
const matches = Array.from(template.matchAll(mustachePattern));
|
|
@@ -124,7 +124,7 @@ export class TemplateResolver implements ITemplateResolver {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
// Fetch all needed data
|
|
127
|
-
const contextData: Record<string,
|
|
127
|
+
const contextData: Record<string, unknown> = {};
|
|
128
128
|
|
|
129
129
|
for (const fieldGroupId of fieldGroups) {
|
|
130
130
|
try {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import { ReactNode } from 'react';
|
|
11
11
|
import type { WithDataBinding, SchemaProps } from '@qwickapps/schema';
|
|
12
12
|
import type { WithBaseProps } from '../hooks/useBaseProps';
|
|
13
13
|
import CollapsibleLayoutModel from '../schemas/CollapsibleLayoutSchema';
|
|
@@ -133,7 +133,7 @@ export interface CollapsibleLayoutProps extends CollapsibleLayoutViewProps, With
|
|
|
133
133
|
/**
|
|
134
134
|
* Type guard to check if a component has CollapsibleLayout props
|
|
135
135
|
*/
|
|
136
|
-
export function isCollapsibleLayoutProps(props:
|
|
136
|
+
export function isCollapsibleLayoutProps(props: unknown): props is CollapsibleLayoutProps {
|
|
137
137
|
return props && typeof props === 'object' && ('collapsed' in props || 'defaultCollapsed' in props);
|
|
138
138
|
}
|
|
139
139
|
|
|
@@ -26,9 +26,9 @@ export class DataProxy implements Data {
|
|
|
26
26
|
public maxRows?: number;
|
|
27
27
|
public autoCreate?: boolean;
|
|
28
28
|
|
|
29
|
-
private data: Record<string,
|
|
29
|
+
private data: Record<string, unknown>;
|
|
30
30
|
|
|
31
|
-
constructor(content: Data, data: Record<string,
|
|
31
|
+
constructor(content: Data, data: Record<string, unknown> = {}) {
|
|
32
32
|
Object.assign(this, content);
|
|
33
33
|
this.data = data;
|
|
34
34
|
|
|
@@ -50,7 +50,7 @@ export class DataProxy implements Data {
|
|
|
50
50
|
* Get nested value from data using dot notation
|
|
51
51
|
* Supports: company.name, user.profile.avatar.url, etc.
|
|
52
52
|
*/
|
|
53
|
-
private getNestedValue(path: string):
|
|
53
|
+
private getNestedValue(path: string): unknown {
|
|
54
54
|
const keys = path.split('.');
|
|
55
55
|
let current = this.data;
|
|
56
56
|
|
|
@@ -67,7 +67,7 @@ export class DataProxy implements Data {
|
|
|
67
67
|
/**
|
|
68
68
|
* Set nested value in data using dot notation
|
|
69
69
|
*/
|
|
70
|
-
public setNestedValue(path: string, value:
|
|
70
|
+
public setNestedValue(path: string, value: unknown): void {
|
|
71
71
|
const keys = path.split('.');
|
|
72
72
|
const lastKey = keys.pop()!;
|
|
73
73
|
let current = this.data;
|
|
@@ -86,14 +86,14 @@ export class DataProxy implements Data {
|
|
|
86
86
|
/**
|
|
87
87
|
* Get all data including nested structures
|
|
88
88
|
*/
|
|
89
|
-
public getData(): Record<string,
|
|
89
|
+
public getData(): Record<string, unknown> {
|
|
90
90
|
return this.data;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
94
|
* Update data while preserving nested structure
|
|
95
95
|
*/
|
|
96
|
-
public updateData(newData: Record<string,
|
|
96
|
+
public updateData(newData: Record<string, unknown>): void {
|
|
97
97
|
this.data = { ...this.data, ...newData };
|
|
98
98
|
}
|
|
99
99
|
}
|
package/src/types/DataTypes.ts
CHANGED
|
@@ -33,9 +33,9 @@ export interface Field extends BaseContent {
|
|
|
33
33
|
/** The type of field */
|
|
34
34
|
type: string;
|
|
35
35
|
/** Current value of the field */
|
|
36
|
-
value?:
|
|
36
|
+
value?: unknown;
|
|
37
37
|
/** Default value for the field */
|
|
38
|
-
defaultValue?:
|
|
38
|
+
defaultValue?: unknown;
|
|
39
39
|
/** Whether this field is required */
|
|
40
40
|
required?: boolean;
|
|
41
41
|
/** Placeholder text for input fields */
|
|
@@ -43,7 +43,7 @@ export interface Field extends BaseContent {
|
|
|
43
43
|
/** Help text or instructions */
|
|
44
44
|
instructions?: string;
|
|
45
45
|
/** Options for select/radio/checkbox fields */
|
|
46
|
-
choices?: Array<{ label: string; value:
|
|
46
|
+
choices?: Array<{ label: string; value: unknown }>;
|
|
47
47
|
/** Minimum value (for numbers) or length (for text) */
|
|
48
48
|
min?: number;
|
|
49
49
|
/** Maximum value (for numbers) or length (for text) */
|
|
@@ -113,7 +113,7 @@ export interface FormField extends Field {
|
|
|
113
113
|
minLength?: number;
|
|
114
114
|
maxLength?: number;
|
|
115
115
|
pattern?: RegExp;
|
|
116
|
-
custom?: (value:
|
|
116
|
+
custom?: (value: unknown) => boolean | string;
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -11,7 +11,7 @@ export interface TemplateResolverConfig {
|
|
|
11
11
|
/** Template resolver (optional, defaults to MustacheTemplateResolver) */
|
|
12
12
|
templateResolver?: TemplateProvider;
|
|
13
13
|
/** Cache provider (optional, defaults to MemoryCacheProvider, false = no cache) */
|
|
14
|
-
cacheProvider?: ICacheProvider<
|
|
14
|
+
cacheProvider?: ICacheProvider<unknown[]> | boolean;
|
|
15
15
|
/** Enable debug logging */
|
|
16
16
|
enableLogging?: boolean;
|
|
17
17
|
}/**
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { Box
|
|
10
|
+
import { Box } from '@mui/material';
|
|
11
11
|
import React from 'react';
|
|
12
12
|
import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ export interface TransformRule {
|
|
|
19
19
|
export interface TransformConfig {
|
|
20
20
|
rules: TransformRule[];
|
|
21
21
|
sanitize?: boolean;
|
|
22
|
-
sanitizeOptions?:
|
|
22
|
+
sanitizeOptions?: Record<string, unknown>;
|
|
23
23
|
fallbackComponent?: (element: Element, key: string) => React.ReactNode;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -41,7 +41,8 @@ export const defaultArticleRules: TransformRule[] = [
|
|
|
41
41
|
// Use ComponentTransformer to create Code component
|
|
42
42
|
const codeData = {
|
|
43
43
|
tagName: 'Code',
|
|
44
|
-
|
|
44
|
+
version: '1.0.0',
|
|
45
|
+
data: {
|
|
45
46
|
language,
|
|
46
47
|
showCopy: true,
|
|
47
48
|
showLineNumbers: false,
|
|
@@ -76,7 +77,8 @@ export const defaultArticleRules: TransformRule[] = [
|
|
|
76
77
|
// Use ComponentTransformer to create Code component
|
|
77
78
|
const codeData = {
|
|
78
79
|
tagName: 'Code',
|
|
79
|
-
|
|
80
|
+
version: '1.0.0',
|
|
81
|
+
data: {
|
|
80
82
|
language: 'text',
|
|
81
83
|
showCopy: true,
|
|
82
84
|
showLineNumbers: false,
|
|
@@ -107,12 +109,14 @@ export const defaultArticleRules: TransformRule[] = [
|
|
|
107
109
|
// Use ComponentTransformer to create Section component
|
|
108
110
|
const sectionData = {
|
|
109
111
|
tagName: 'Section',
|
|
110
|
-
|
|
112
|
+
version: '1.0.0',
|
|
113
|
+
data: {
|
|
111
114
|
padding: spacing || 'medium',
|
|
112
115
|
children: [
|
|
113
116
|
title && {
|
|
114
117
|
tagName: 'Typography',
|
|
115
|
-
|
|
118
|
+
version: '1.0.0',
|
|
119
|
+
data: {
|
|
116
120
|
variant: 'h4',
|
|
117
121
|
component: 'h2',
|
|
118
122
|
sx: { mb: 2 },
|
|
@@ -133,7 +137,7 @@ export const defaultArticleRules: TransformRule[] = [
|
|
|
133
137
|
// Button elements → Button component
|
|
134
138
|
{
|
|
135
139
|
selector: 'button',
|
|
136
|
-
transform: (element: Element
|
|
140
|
+
transform: (element: Element) => {
|
|
137
141
|
const text = element.textContent || '';
|
|
138
142
|
const variant = element.getAttribute('data-variant') || 'contained';
|
|
139
143
|
const disabled = element.hasAttribute('disabled');
|
|
@@ -141,7 +145,8 @@ export const defaultArticleRules: TransformRule[] = [
|
|
|
141
145
|
// Use ComponentTransformer to create Button component
|
|
142
146
|
const buttonData = {
|
|
143
147
|
tagName: 'Button',
|
|
144
|
-
|
|
148
|
+
version: '1.0.0',
|
|
149
|
+
data: {
|
|
145
150
|
variant,
|
|
146
151
|
disabled,
|
|
147
152
|
label: text
|
|
@@ -171,7 +176,8 @@ export const defaultMarkdownRules: TransformRule[] = [
|
|
|
171
176
|
// Use ComponentTransformer to create Code component
|
|
172
177
|
const codeData = {
|
|
173
178
|
tagName: 'Code',
|
|
174
|
-
|
|
179
|
+
version: '1.0.0',
|
|
180
|
+
data: {
|
|
175
181
|
language,
|
|
176
182
|
showCopy: true,
|
|
177
183
|
showLineNumbers: false,
|
|
@@ -190,7 +196,7 @@ export const defaultMarkdownRules: TransformRule[] = [
|
|
|
190
196
|
// Inline code → preserve as regular code element (no transformation)
|
|
191
197
|
{
|
|
192
198
|
selector: 'code',
|
|
193
|
-
transform: (element: Element
|
|
199
|
+
transform: (element: Element) => {
|
|
194
200
|
// Skip if inside pre (already handled above)
|
|
195
201
|
if (element.closest('pre')) return null;
|
|
196
202
|
|
|
@@ -213,7 +219,7 @@ function parseStyleString(styleStr: string): React.CSSProperties {
|
|
|
213
219
|
if (property && value) {
|
|
214
220
|
// Convert kebab-case to camelCase
|
|
215
221
|
const camelProperty = property.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
216
|
-
styles[camelProperty as keyof React.CSSProperties] = value as
|
|
222
|
+
styles[camelProperty as keyof React.CSSProperties] = value as string;
|
|
217
223
|
}
|
|
218
224
|
});
|
|
219
225
|
|