@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
|
@@ -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
|
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon Mapping Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides centralized icon mapping for both Material-UI components and emoji representations.
|
|
5
|
+
* Used across the framework for consistent icon rendering in buttons, navigation, admin UI, etc.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import {
|
|
12
|
+
Article,
|
|
13
|
+
Home,
|
|
14
|
+
Book,
|
|
15
|
+
Download,
|
|
16
|
+
CloudDownload,
|
|
17
|
+
CloudUpload,
|
|
18
|
+
Computer,
|
|
19
|
+
Settings,
|
|
20
|
+
Dashboard,
|
|
21
|
+
Info,
|
|
22
|
+
Inventory,
|
|
23
|
+
Inventory2,
|
|
24
|
+
Help,
|
|
25
|
+
Add,
|
|
26
|
+
Edit,
|
|
27
|
+
Delete,
|
|
28
|
+
Check,
|
|
29
|
+
Close,
|
|
30
|
+
ArrowForward,
|
|
31
|
+
ArrowBack,
|
|
32
|
+
Menu,
|
|
33
|
+
Search,
|
|
34
|
+
Favorite,
|
|
35
|
+
Star,
|
|
36
|
+
Share,
|
|
37
|
+
Save,
|
|
38
|
+
Send,
|
|
39
|
+
Email,
|
|
40
|
+
Phone,
|
|
41
|
+
Person,
|
|
42
|
+
Group,
|
|
43
|
+
Business,
|
|
44
|
+
ShoppingCart,
|
|
45
|
+
Speed,
|
|
46
|
+
SupportAgent,
|
|
47
|
+
Tune,
|
|
48
|
+
AttachMoney,
|
|
49
|
+
Lock,
|
|
50
|
+
LockOpen,
|
|
51
|
+
Visibility,
|
|
52
|
+
VisibilityOff,
|
|
53
|
+
// New icons for seed content
|
|
54
|
+
Psychology,
|
|
55
|
+
Autorenew,
|
|
56
|
+
Code,
|
|
57
|
+
IntegrationInstructions,
|
|
58
|
+
Construction,
|
|
59
|
+
Work,
|
|
60
|
+
Layers,
|
|
61
|
+
TrendingUp,
|
|
62
|
+
Route,
|
|
63
|
+
Sync,
|
|
64
|
+
Architecture,
|
|
65
|
+
Security,
|
|
66
|
+
VerifiedUser,
|
|
67
|
+
} from '@mui/icons-material';
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Icon mapping entry with both Material-UI component and emoji representation
|
|
71
|
+
*/
|
|
72
|
+
export interface IconMapping {
|
|
73
|
+
emoji: string;
|
|
74
|
+
component: React.ComponentType;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Centralized icon registry mapping icon names to their representations
|
|
79
|
+
* Supports both Material-UI components and emoji for different contexts
|
|
80
|
+
*/
|
|
81
|
+
export const iconMap: Record<string, IconMapping> = {
|
|
82
|
+
// Navigation & Layout
|
|
83
|
+
home: { emoji: 'π ', component: Home },
|
|
84
|
+
menu: { emoji: 'β°', component: Menu },
|
|
85
|
+
dashboard: { emoji: 'π', component: Dashboard },
|
|
86
|
+
|
|
87
|
+
// Information & Help
|
|
88
|
+
info: { emoji: 'βΉοΈ', component: Info },
|
|
89
|
+
about: { emoji: 'βΉοΈ', component: Info },
|
|
90
|
+
help: { emoji: 'β', component: Help },
|
|
91
|
+
book: { emoji: 'π', component: Book },
|
|
92
|
+
|
|
93
|
+
// Communication
|
|
94
|
+
email: { emoji: 'π§', component: Email },
|
|
95
|
+
contact: { emoji: 'π§', component: Email },
|
|
96
|
+
phone: { emoji: 'π±', component: Phone },
|
|
97
|
+
send: { emoji: 'π€', component: Send },
|
|
98
|
+
|
|
99
|
+
// Actions
|
|
100
|
+
add: { emoji: 'β', component: Add },
|
|
101
|
+
edit: { emoji: 'βοΈ', component: Edit },
|
|
102
|
+
delete: { emoji: 'ποΈ', component: Delete },
|
|
103
|
+
save: { emoji: 'πΎ', component: Save },
|
|
104
|
+
check: { emoji: 'β', component: Check },
|
|
105
|
+
close: { emoji: 'β', component: Close },
|
|
106
|
+
|
|
107
|
+
// Navigation
|
|
108
|
+
arrowforward: { emoji: 'β', component: ArrowForward },
|
|
109
|
+
arrowback: { emoji: 'β', component: ArrowBack },
|
|
110
|
+
|
|
111
|
+
// Content
|
|
112
|
+
search: { emoji: 'π', component: Search },
|
|
113
|
+
share: { emoji: 'π', component: Share },
|
|
114
|
+
download: { emoji: 'β¬οΈ', component: Download },
|
|
115
|
+
clouddownload: { emoji: 'βοΈβ¬οΈ', component: CloudDownload },
|
|
116
|
+
cloudupload: { emoji: 'βοΈβ¬οΈ', component: CloudUpload },
|
|
117
|
+
|
|
118
|
+
// User & Social
|
|
119
|
+
person: { emoji: 'π€', component: Person },
|
|
120
|
+
user: { emoji: 'π€', component: Person },
|
|
121
|
+
group: { emoji: 'π₯', component: Group },
|
|
122
|
+
favorite: { emoji: 'β€οΈ', component: Favorite },
|
|
123
|
+
star: { emoji: 'β', component: Star },
|
|
124
|
+
verified_user: { emoji: 'β
', component: VerifiedUser },
|
|
125
|
+
|
|
126
|
+
// Business
|
|
127
|
+
business: { emoji: 'π’', component: Business },
|
|
128
|
+
shoppingcart: { emoji: 'π', component: ShoppingCart },
|
|
129
|
+
cart: { emoji: 'π', component: ShoppingCart },
|
|
130
|
+
attachmoney: { emoji: 'π°', component: AttachMoney },
|
|
131
|
+
|
|
132
|
+
// Security
|
|
133
|
+
lock: { emoji: 'π', component: Lock },
|
|
134
|
+
lockopen: { emoji: 'π', component: LockOpen },
|
|
135
|
+
visibility: { emoji: 'ποΈ', component: Visibility },
|
|
136
|
+
visibilityoff: { emoji: 'π', component: VisibilityOff },
|
|
137
|
+
|
|
138
|
+
// System
|
|
139
|
+
settings: { emoji: 'βοΈ', component: Settings },
|
|
140
|
+
computer: { emoji: 'π»', component: Computer },
|
|
141
|
+
|
|
142
|
+
// Content Types
|
|
143
|
+
article: { emoji: 'π°', component: Article },
|
|
144
|
+
blog: { emoji: 'π', component: Book },
|
|
145
|
+
news: { emoji: 'π°', component: Book },
|
|
146
|
+
products: { emoji: 'ποΈ', component: ShoppingCart },
|
|
147
|
+
services: { emoji: 'βοΈ', component: Settings },
|
|
148
|
+
portfolio: { emoji: 'πΌ', component: Business },
|
|
149
|
+
gallery: { emoji: 'πΌοΈ', component: Business },
|
|
150
|
+
inventory: { emoji: 'π¦', component: Inventory },
|
|
151
|
+
inventory_2: { emoji: 'π¦', component: Inventory2 },
|
|
152
|
+
speed: { emoji: 'β‘', component: Speed },
|
|
153
|
+
support_agent: { emoji: 'ποΈ', component: SupportAgent },
|
|
154
|
+
tune: { emoji: 'ποΈ', component: Tune },
|
|
155
|
+
|
|
156
|
+
// Development & Technology
|
|
157
|
+
code: { emoji: 'π»', component: Code },
|
|
158
|
+
psychology: { emoji: 'π§ ', component: Psychology },
|
|
159
|
+
autorenew: { emoji: 'π', component: Autorenew },
|
|
160
|
+
integration_instructions: { emoji: 'π', component: IntegrationInstructions },
|
|
161
|
+
construction: { emoji: 'π§', component: Construction },
|
|
162
|
+
work: { emoji: 'πΌ', component: Work },
|
|
163
|
+
layers: { emoji: 'π', component: Layers },
|
|
164
|
+
trending_up: { emoji: 'π', component: TrendingUp },
|
|
165
|
+
route: { emoji: 'πΊοΈ', component: Route },
|
|
166
|
+
sync: { emoji: 'π', component: Sync },
|
|
167
|
+
architecture: { emoji: 'ποΈ', component: Architecture },
|
|
168
|
+
security: { emoji: 'π', component: Security },
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Get emoji representation of an icon
|
|
173
|
+
* @param iconName - Icon name (case-insensitive)
|
|
174
|
+
* @param fallback - Fallback emoji if icon not found (default: π)
|
|
175
|
+
* @returns Emoji string
|
|
176
|
+
*/
|
|
177
|
+
export function getIconEmoji(iconName: string | undefined, fallback: string = 'π'): string {
|
|
178
|
+
if (!iconName) return fallback;
|
|
179
|
+
const mapping = iconMap[iconName.toLowerCase()];
|
|
180
|
+
return mapping?.emoji || iconName;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Get Material-UI component representation of an icon
|
|
185
|
+
* @param iconName - Icon name (case-insensitive)
|
|
186
|
+
* @returns React element or null if not found
|
|
187
|
+
*/
|
|
188
|
+
export function getIconComponent(iconName: string | undefined): React.ReactElement | null {
|
|
189
|
+
if (!iconName) return null;
|
|
190
|
+
|
|
191
|
+
const mapping = iconMap[iconName.toLowerCase()];
|
|
192
|
+
if (!mapping?.component) {
|
|
193
|
+
console.warn(`[IconMap] Icon "${iconName}" not found in registry`);
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const IconComponent = mapping.component;
|
|
198
|
+
return <IconComponent />;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Register a new icon or override an existing one
|
|
203
|
+
* Useful for application-specific icon extensions
|
|
204
|
+
*/
|
|
205
|
+
export function registerIcon(name: string, mapping: IconMapping): void {
|
|
206
|
+
iconMap[name.toLowerCase()] = mapping;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Check if an icon is registered
|
|
211
|
+
*/
|
|
212
|
+
export function hasIcon(iconName: string): boolean {
|
|
213
|
+
return iconName.toLowerCase() in iconMap;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Get all registered icon names
|
|
218
|
+
*/
|
|
219
|
+
export function getRegisteredIcons(): string[] {
|
|
220
|
+
return Object.keys(iconMap);
|
|
221
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility functions and types for QwickApps React Framework
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
5
|
*/
|
|
6
6
|
export * from './cssUtils';
|
|
7
7
|
export * from './customPaletteManager';
|
|
8
8
|
export * from './dimensions';
|
|
9
|
+
export * from './iconMap';
|
|
9
10
|
export * from './logger';
|
|
11
|
+
export * from './paletteLoader';
|
|
12
|
+
export * from './paletteManifest';
|
|
10
13
|
export * from './paletteUtils';
|
|
11
14
|
export * from './persistenceUtils';
|
|
12
15
|
export * from './reactUtils';
|
package/src/utils/logger.ts
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
export interface Logger {
|
|
10
|
-
debug(message: string, ...args:
|
|
11
|
-
info(message: string, ...args:
|
|
12
|
-
warn(message: string, ...args:
|
|
13
|
-
error(message: string, ...args:
|
|
10
|
+
debug(message: string, ...args: unknown[]): void;
|
|
11
|
+
info(message: string, ...args: unknown[]): void;
|
|
12
|
+
warn(message: string, ...args: unknown[]): void;
|
|
13
|
+
error(message: string, ...args: unknown[]): void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -19,34 +19,39 @@ export interface Logger {
|
|
|
19
19
|
class ConsoleLogger implements Logger {
|
|
20
20
|
constructor(private name: string) {}
|
|
21
21
|
|
|
22
|
-
debug(message: string, ...args:
|
|
22
|
+
debug(message: string, ...args: unknown[]): void {
|
|
23
23
|
if (process.env.NODE_ENV !== 'production') {
|
|
24
24
|
console.debug(`[${this.name}] ${message}`, ...args);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
info(message: string, ...args:
|
|
28
|
+
info(message: string, ...args: unknown[]): void {
|
|
29
29
|
console.info(`[${this.name}] ${message}`, ...args);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
warn(message: string, ...args:
|
|
32
|
+
warn(message: string, ...args: unknown[]): void {
|
|
33
33
|
console.warn(`[${this.name}] ${message}`, ...args);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
error(message: string, ...args:
|
|
36
|
+
error(message: string, ...args: unknown[]): void {
|
|
37
37
|
console.error(`[${this.name}] ${message}`, ...args);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* No-op logger for when logging should be disabled
|
|
43
|
+
* Not currently used but available for future configuration options
|
|
43
44
|
*/
|
|
44
|
-
class NoOpLogger implements Logger {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
// class NoOpLogger implements Logger {
|
|
46
|
+
// // intentionally empty - no-op logger
|
|
47
|
+
// debug(): void {}
|
|
48
|
+
// // intentionally empty - no-op logger
|
|
49
|
+
// info(): void {}
|
|
50
|
+
// // intentionally empty - no-op logger
|
|
51
|
+
// warn(): void {}
|
|
52
|
+
// // intentionally empty - no-op logger
|
|
53
|
+
// error(): void {}
|
|
54
|
+
// }
|
|
50
55
|
|
|
51
56
|
/**
|
|
52
57
|
* Create logger with optional @qwickapps/logging dependency
|
|
@@ -54,6 +59,7 @@ class NoOpLogger implements Logger {
|
|
|
54
59
|
function getLogger(name: string): Logger {
|
|
55
60
|
try {
|
|
56
61
|
// Try to use @qwickapps/logging if available
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
57
63
|
const logging = require('@qwickapps/logging');
|
|
58
64
|
return logging.getLogger(name);
|
|
59
65
|
} catch {
|