@qwickapps/react-framework 1.4.9 → 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 +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 +3980 -2194
- package/dist/index.js +4006 -2191
- 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 +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.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 +18 -112
- 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 +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 -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
package/dist/utils/logger.d.ts
CHANGED
|
@@ -6,19 +6,23 @@
|
|
|
6
6
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
7
7
|
*/
|
|
8
8
|
export interface Logger {
|
|
9
|
-
debug(message: string, ...args:
|
|
10
|
-
info(message: string, ...args:
|
|
11
|
-
warn(message: string, ...args:
|
|
12
|
-
error(message: string, ...args:
|
|
9
|
+
debug(message: string, ...args: unknown[]): void;
|
|
10
|
+
info(message: string, ...args: unknown[]): void;
|
|
11
|
+
warn(message: string, ...args: unknown[]): void;
|
|
12
|
+
error(message: string, ...args: unknown[]): void;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* No-op logger for when logging should be disabled
|
|
16
|
+
* Not currently used but available for future configuration options
|
|
17
|
+
*/
|
|
14
18
|
/**
|
|
15
19
|
* Create logger with optional @qwickapps/logging dependency
|
|
16
20
|
*/
|
|
17
|
-
declare function
|
|
21
|
+
declare function getLogger(name: string): Logger;
|
|
18
22
|
/**
|
|
19
|
-
* Re-export Logger type and
|
|
23
|
+
* Re-export Logger type and getLogger function for compatibility
|
|
20
24
|
*/
|
|
21
|
-
export {
|
|
25
|
+
export { getLogger };
|
|
22
26
|
/**
|
|
23
27
|
* Framework-specific loggers
|
|
24
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AA2BD;;;GAGG;AAYH;;GAEG;AACH,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUvC;AAED;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU1C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Palette CSS Loader - Dynamically loads palette CSS files on demand using manifest
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import { type PaletteManifestConfig } from './paletteManifest';
|
|
7
|
+
/**
|
|
8
|
+
* Configure palette loader
|
|
9
|
+
*/
|
|
10
|
+
export declare function configurePaletteLoader(config: PaletteManifestConfig): void;
|
|
11
|
+
/**
|
|
12
|
+
* Dynamically load a palette CSS file
|
|
13
|
+
*
|
|
14
|
+
* @param paletteId - The ID of the palette to load (e.g., 'autumn', 'ocean')
|
|
15
|
+
* @param config - Optional configuration override
|
|
16
|
+
* @returns Promise that resolves when the palette is loaded
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadPalette(paletteId: string, config?: PaletteManifestConfig): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Preload multiple palettes at once
|
|
21
|
+
* @param paletteIds - Array of palette IDs to preload
|
|
22
|
+
* @param config - Optional configuration
|
|
23
|
+
*/
|
|
24
|
+
export declare function preloadPalettes(paletteIds: string[], config?: PaletteManifestConfig): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a palette is loaded
|
|
27
|
+
* @param paletteId - The palette ID to check
|
|
28
|
+
*/
|
|
29
|
+
export declare function isPaletteLoaded(paletteId: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Clear loaded palettes cache (useful for testing)
|
|
32
|
+
*/
|
|
33
|
+
export declare function clearPaletteCache(): void;
|
|
34
|
+
//# sourceMappingURL=paletteLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paletteLoader.d.ts","sourceRoot":"","sources":["../../src/utils/paletteLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAiB3B;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAE1E;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkBf;AAkID;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Palette Manifest Utilities - Fetch and manage palette manifests
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
export interface PaletteManifestEntry {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
author?: string;
|
|
11
|
+
license?: string;
|
|
12
|
+
version: string;
|
|
13
|
+
file: string;
|
|
14
|
+
fileMinified?: string;
|
|
15
|
+
thumbnail?: string;
|
|
16
|
+
primaryColor: string;
|
|
17
|
+
inlined?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface PaletteManifest {
|
|
20
|
+
version: string;
|
|
21
|
+
palettes: PaletteManifestEntry[];
|
|
22
|
+
}
|
|
23
|
+
export interface PaletteManifestConfig {
|
|
24
|
+
/** Enable/disable remote palette loading */
|
|
25
|
+
enableRemote?: boolean;
|
|
26
|
+
/** Custom remote URL for palette manifest */
|
|
27
|
+
remoteUrl?: string;
|
|
28
|
+
/** Custom local path for palette manifest */
|
|
29
|
+
localPath?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load palette manifest from configured sources
|
|
33
|
+
*/
|
|
34
|
+
export declare function loadPaletteManifest(config?: PaletteManifestConfig): Promise<PaletteManifest>;
|
|
35
|
+
/**
|
|
36
|
+
* Get a specific palette from the manifest
|
|
37
|
+
*/
|
|
38
|
+
export declare function getPaletteFromManifest(paletteId: string, config?: PaletteManifestConfig): Promise<PaletteManifestEntry | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Get all available palettes
|
|
41
|
+
*/
|
|
42
|
+
export declare function getAvailablePalettes(config?: PaletteManifestConfig): Promise<PaletteManifestEntry[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Clear the cached manifest (useful for testing)
|
|
45
|
+
*/
|
|
46
|
+
export declare function clearManifestCache(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Register a custom palette dynamically
|
|
49
|
+
*/
|
|
50
|
+
export declare function registerCustomPalette(palette: PaletteManifestEntry): void;
|
|
51
|
+
//# sourceMappingURL=paletteManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paletteManifest.d.ts","sourceRoot":"","sources":["../../src/utils/paletteManifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAGD,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6ED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,eAAe,CAAC,CA0C1B;AAmED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAGtC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAUzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paletteUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paletteUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAM7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,
|
|
1
|
+
{"version":3,"file":"paletteUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paletteUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAM7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAMpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAS5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,KAAG,MAGlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,aAAa,GAAG,SAEpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,IAMpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,IAMvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,MAKjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,KAAG,IAKhE,CAAC"}
|
|
@@ -5,22 +5,28 @@
|
|
|
5
5
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
6
6
|
*/
|
|
7
7
|
import { ReactNode } from 'react';
|
|
8
|
-
/** Location type for
|
|
8
|
+
/** Location type for routing */
|
|
9
9
|
type LocationType = {
|
|
10
10
|
pathname: string;
|
|
11
11
|
search: string;
|
|
12
12
|
hash: string;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Get the current location from browser or undefined in SSR
|
|
16
|
+
* Works without relying on routing libraries
|
|
17
|
+
* @returns {object | undefined} - The location object if in browser, otherwise undefined
|
|
17
18
|
*/
|
|
18
19
|
export declare const useSafeLocation: () => LocationType | undefined;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @returns {Function} - The navigate function (React Router or window.location fallback)
|
|
21
|
+
* Navigate function type
|
|
22
22
|
*/
|
|
23
|
-
export
|
|
23
|
+
export type NavigateFunction = (to: string | number, options?: unknown) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Get a navigation function with fallback to window.location
|
|
26
|
+
* Works without relying on routing libraries
|
|
27
|
+
* @returns {NavigateFunction} - The navigate function
|
|
28
|
+
*/
|
|
29
|
+
export declare const useSafeNavigate: () => NavigateFunction;
|
|
24
30
|
/**
|
|
25
31
|
* Extract text content from ReactNode for code processing
|
|
26
32
|
* Handles natural React usage like <Code>const x = 1;</Code>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,gCAAgC;AAChC,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAO,YAAY,GAAG,SAUjD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAO,gBAalC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CA2BhE"}
|
package/dist/utils/spacing.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type SpacingContext = 'padding' | 'margin' | 'gap';
|
|
|
11
11
|
/**
|
|
12
12
|
* Resolves a spacing value to MUI spacing units or CSS value
|
|
13
13
|
*/
|
|
14
|
-
export declare function resolveSpacing(value: SpacingValue
|
|
14
|
+
export declare function resolveSpacing(value: SpacingValue): number | string | undefined;
|
|
15
15
|
/**
|
|
16
16
|
* Resolves spacing props with support for directional values
|
|
17
17
|
*/
|
|
@@ -30,5 +30,5 @@ export declare function resolveSpacingProps(props: {
|
|
|
30
30
|
marginLeft?: SpacingValue;
|
|
31
31
|
marginX?: SpacingValue;
|
|
32
32
|
marginY?: SpacingValue;
|
|
33
|
-
}):
|
|
33
|
+
}): Record<string, string | number | undefined>;
|
|
34
34
|
//# sourceMappingURL=spacing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/utils/spacing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAoB1D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/utils/spacing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAoB1D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,GAClB,MAAM,GAAG,MAAM,GAAG,SAAS,CA+C7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,+CAkDA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/utils/themePerformanceMonitor.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"themePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/utils/themePerformanceMonitor.js"],"names":[],"mappings":"AAmHO;;;;;;SAA8E;AAC9E,iDAA8E;AAC9E,mDAAwE;;AAL/E,+DAA8D;AAhH9D;;;;GAIG;AAEH;IAEI,oBAAsB;IACtB,mBAAuD;IAOzD,4BAeC;IAED,gDAqCC;IAED;;;;;;aAiBC;IAED,sBAaC;IAED,cAEC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/themeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGtE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,
|
|
1
|
+
{"version":3,"file":"themeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/themeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGtE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,SAOlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,KAAG,IAS3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,eAKjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAO,SAA6B,KAAG,eAKvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,IAclC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,KAAG,IAMtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwickapps/react-framework",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Complete React framework with responsive navigation, flexible layouts, theming system, and reusable components for building modern applications.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -37,18 +37,20 @@
|
|
|
37
37
|
"QUICK_START_GUIDE.md"
|
|
38
38
|
],
|
|
39
39
|
"scripts": {
|
|
40
|
-
"build": "rollup -c && npm run
|
|
41
|
-
"
|
|
42
|
-
"build:dev": "NODE_ENV=development rollup -c && npm run
|
|
43
|
-
"build:prod": "NODE_ENV=production STRIP_LOGS=true rollup -c && npm run
|
|
40
|
+
"build": "rollup -c && npm run build-palettes",
|
|
41
|
+
"build-palettes": "node scripts/build-palettes.cjs",
|
|
42
|
+
"build:dev": "NODE_ENV=development rollup -c && npm run build-palettes",
|
|
43
|
+
"build:prod": "NODE_ENV=production STRIP_LOGS=true rollup -c && npm run build-palettes",
|
|
44
44
|
"dev": "rollup -c -w",
|
|
45
45
|
"test": "jest",
|
|
46
46
|
"test:watch": "jest --watch",
|
|
47
47
|
"test:coverage": "jest --coverage",
|
|
48
48
|
"clean": "rm -rf dist node_modules .rollup.cache storybook-static",
|
|
49
49
|
"create-project": "node scripts/create-qwickapps-project.js",
|
|
50
|
-
"
|
|
50
|
+
"validate:clean-install": "./qa/clean-install/validate.sh",
|
|
51
|
+
"prepublishOnly": "npm run build && npm run validate:clean-install",
|
|
51
52
|
"publish": "npm publish",
|
|
53
|
+
"publish:palettes": "../../products/qwickapps/anvil/publish-palettes.sh",
|
|
52
54
|
"storybook": "storybook dev -p 6006",
|
|
53
55
|
"build-storybook": "storybook build"
|
|
54
56
|
},
|
|
@@ -69,7 +71,7 @@
|
|
|
69
71
|
"author": "QwickApps",
|
|
70
72
|
"license": "PolyForm-Shield-1.0.0",
|
|
71
73
|
"dependencies": {
|
|
72
|
-
"@qwickapps/schema": "^1.3.
|
|
74
|
+
"@qwickapps/schema": "^1.3.2",
|
|
73
75
|
"marked": "^4.3.0",
|
|
74
76
|
"md5": "^2.3.0",
|
|
75
77
|
"sanitize-html": "^2.17.0"
|
|
@@ -112,8 +114,8 @@
|
|
|
112
114
|
"@types/md5": "^2.3.5",
|
|
113
115
|
"@types/mustache": "^4.2.5",
|
|
114
116
|
"@types/node": "^24.1.0",
|
|
115
|
-
"@types/react": "^
|
|
116
|
-
"@types/react-dom": "^
|
|
117
|
+
"@types/react": "^19.0.0",
|
|
118
|
+
"@types/react-dom": "^19.0.0",
|
|
117
119
|
"@types/react-router-dom": "^5.3.3",
|
|
118
120
|
"@types/sanitize-html": "^2.16.0",
|
|
119
121
|
"babel-jest": "^29.0.0",
|
|
@@ -141,6 +143,15 @@
|
|
|
141
143
|
"moduleNameMapper": {
|
|
142
144
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy"
|
|
143
145
|
},
|
|
146
|
+
"globals": {
|
|
147
|
+
"import.meta": {
|
|
148
|
+
"env": {
|
|
149
|
+
"DEV": false,
|
|
150
|
+
"PROD": true,
|
|
151
|
+
"MODE": "test"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
144
155
|
"transform": {
|
|
145
156
|
"^.+\\.(js|jsx)$": "babel-jest",
|
|
146
157
|
"^.+\\.(ts|tsx)$": "ts-jest"
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Build Palettes Script
|
|
5
|
+
* - Adds version numbers to filenames
|
|
6
|
+
* - Generates minified versions
|
|
7
|
+
* - Updates manifest.json with new filenames
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
const path = require('path');
|
|
12
|
+
|
|
13
|
+
const SRC_DIR = path.join(__dirname, '../src/palettes');
|
|
14
|
+
const DIST_DIR = path.join(__dirname, '../dist/palettes');
|
|
15
|
+
const PACKAGE_JSON = path.join(__dirname, '../package.json');
|
|
16
|
+
|
|
17
|
+
// Read version from package.json
|
|
18
|
+
const packageJson = JSON.parse(fs.readFileSync(PACKAGE_JSON, 'utf-8'));
|
|
19
|
+
const VERSION = packageJson.version;
|
|
20
|
+
|
|
21
|
+
console.log(`Building palettes v${VERSION}...`);
|
|
22
|
+
|
|
23
|
+
// Ensure dist directory exists
|
|
24
|
+
if (!fs.existsSync(DIST_DIR)) {
|
|
25
|
+
fs.mkdirSync(DIST_DIR, { recursive: true });
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Simple CSS minifier
|
|
29
|
+
function minifyCSS(css) {
|
|
30
|
+
return css
|
|
31
|
+
// Remove comments
|
|
32
|
+
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
33
|
+
// Remove whitespace around selectors and braces
|
|
34
|
+
.replace(/\s*([{}:;,])\s*/g, '$1')
|
|
35
|
+
// Remove trailing semicolons
|
|
36
|
+
.replace(/;}/g, '}')
|
|
37
|
+
// Remove empty rules
|
|
38
|
+
.replace(/[^{}]+\{\}/g, '')
|
|
39
|
+
// Trim
|
|
40
|
+
.trim();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Convert PascalCase to kebab-case (PaletteAutumn -> palette-autumn)
|
|
44
|
+
function toKebabCase(str) {
|
|
45
|
+
return str
|
|
46
|
+
.replace(/^Palette/, '') // Remove 'Palette' prefix
|
|
47
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2') // Add hyphen before capitals
|
|
48
|
+
.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Process palette files
|
|
52
|
+
const files = fs.readdirSync(SRC_DIR).filter(f => f.endsWith('.css') && f.startsWith('Palette'));
|
|
53
|
+
|
|
54
|
+
files.forEach(file => {
|
|
55
|
+
const baseName = file.replace('.css', '');
|
|
56
|
+
const paletteId = toKebabCase(baseName); // e.g., 'autumn'
|
|
57
|
+
const content = fs.readFileSync(path.join(SRC_DIR, file), 'utf-8');
|
|
58
|
+
|
|
59
|
+
// Generate filenames using kebab-case pattern
|
|
60
|
+
const versionedName = `palette-${paletteId}.${VERSION}.css`;
|
|
61
|
+
const versionedMinName = `palette-${paletteId}.${VERSION}.min.css`;
|
|
62
|
+
const latestName = `palette-${paletteId}.latest.css`;
|
|
63
|
+
const latestMinName = `palette-${paletteId}.latest.min.css`;
|
|
64
|
+
|
|
65
|
+
// Write versioned files
|
|
66
|
+
fs.writeFileSync(path.join(DIST_DIR, versionedName), content);
|
|
67
|
+
console.log(`✓ ${versionedName}`);
|
|
68
|
+
|
|
69
|
+
const minified = minifyCSS(content);
|
|
70
|
+
fs.writeFileSync(path.join(DIST_DIR, versionedMinName), minified);
|
|
71
|
+
console.log(`✓ ${versionedMinName}`);
|
|
72
|
+
|
|
73
|
+
// Write latest aliases (same content as versioned)
|
|
74
|
+
fs.writeFileSync(path.join(DIST_DIR, latestName), content);
|
|
75
|
+
console.log(`✓ ${latestName}`);
|
|
76
|
+
|
|
77
|
+
fs.writeFileSync(path.join(DIST_DIR, latestMinName), minified);
|
|
78
|
+
console.log(`✓ ${latestMinName}`);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Copy and update manifest.json
|
|
82
|
+
const manifestPath = path.join(SRC_DIR, 'manifest.json');
|
|
83
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
84
|
+
|
|
85
|
+
// Update version
|
|
86
|
+
manifest.version = VERSION;
|
|
87
|
+
|
|
88
|
+
// Update file references with kebab-case versioned names
|
|
89
|
+
manifest.palettes = manifest.palettes.map(palette => {
|
|
90
|
+
const paletteId = palette.id; // e.g., 'autumn', 'default'
|
|
91
|
+
return {
|
|
92
|
+
...palette,
|
|
93
|
+
version: VERSION,
|
|
94
|
+
file: `palette-${paletteId}.${VERSION}.css`,
|
|
95
|
+
fileMinified: `palette-${paletteId}.${VERSION}.min.css`,
|
|
96
|
+
fileLatest: `palette-${paletteId}.latest.css`,
|
|
97
|
+
fileLatestMinified: `palette-${paletteId}.latest.min.css`
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Write updated manifest
|
|
102
|
+
fs.writeFileSync(
|
|
103
|
+
path.join(DIST_DIR, 'manifest.json'),
|
|
104
|
+
JSON.stringify(manifest, null, 2)
|
|
105
|
+
);
|
|
106
|
+
console.log(`✓ manifest.json (updated with kebab-case versioned filenames)`);
|
|
107
|
+
|
|
108
|
+
// Copy index.css if it exists
|
|
109
|
+
const indexCss = path.join(SRC_DIR, 'index.css');
|
|
110
|
+
if (fs.existsSync(indexCss)) {
|
|
111
|
+
fs.copyFileSync(indexCss, path.join(DIST_DIR, 'index.css'));
|
|
112
|
+
console.log(`✓ index.css`);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
console.log('\n✅ Palette build complete!');
|
|
116
|
+
console.log(` ${files.length} palettes × 4 versions each:`);
|
|
117
|
+
console.log(` - palette-{id}.${VERSION}.css (versioned)`);
|
|
118
|
+
console.log(` - palette-{id}.${VERSION}.min.css (versioned minified)`);
|
|
119
|
+
console.log(` - palette-{id}.latest.css (latest alias)`);
|
|
120
|
+
console.log(` - palette-{id}.latest.min.css (latest minified alias)`);
|
|
@@ -81,7 +81,7 @@ const sampleCmsData = {
|
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
// Wrapper component for tests that need providers
|
|
84
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
84
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
85
85
|
children,
|
|
86
86
|
dataProvider
|
|
87
87
|
}) => (
|
|
@@ -191,8 +191,8 @@ describe('Breadcrumbs', () => {
|
|
|
191
191
|
it('handles default link behavior when no onNavigate is provided', () => {
|
|
192
192
|
// Create a mock for window.location.href
|
|
193
193
|
const originalLocation = window.location;
|
|
194
|
-
delete (window as
|
|
195
|
-
window.location = { ...originalLocation, href: '' } as
|
|
194
|
+
delete (window as Window & typeof globalThis).location;
|
|
195
|
+
window.location = { ...originalLocation, href: '' } as Location;
|
|
196
196
|
|
|
197
197
|
const itemsWithHref: BreadcrumbItem[] = [
|
|
198
198
|
{ label: 'Home', href: '/' },
|
|
@@ -74,7 +74,7 @@ const sampleCmsData = {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
// Wrapper component for tests that need providers
|
|
77
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
77
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
78
78
|
children,
|
|
79
79
|
dataProvider
|
|
80
80
|
}) => (
|
|
@@ -573,7 +573,7 @@ describe('Button', () => {
|
|
|
573
573
|
it.skip('preserves component marking for QwickApp framework', () => {
|
|
574
574
|
// The component should be marked as a QwickApp component
|
|
575
575
|
// This is important for framework identification - test skipped due to test environment limitations
|
|
576
|
-
const buttonComponent = Button as
|
|
576
|
+
const buttonComponent = Button as unknown as { QWICKAPP_COMPONENT?: boolean };
|
|
577
577
|
expect(buttonComponent.QWICKAPP_COMPONENT).toBeTruthy();
|
|
578
578
|
});
|
|
579
579
|
});
|
|
@@ -665,7 +665,7 @@ describe('Button', () => {
|
|
|
665
665
|
it('handles invalid variant gracefully', () => {
|
|
666
666
|
render(
|
|
667
667
|
<TestWrapper>
|
|
668
|
-
<Button label="Invalid Variant" variant={'invalid' as
|
|
668
|
+
<Button label="Invalid Variant" variant={'invalid' as 'primary' | 'secondary' | 'outlined' | 'text' | 'contained'} />
|
|
669
669
|
</TestWrapper>
|
|
670
670
|
);
|
|
671
671
|
|
|
@@ -84,7 +84,7 @@ const sampleCmsData = {
|
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
// Wrapper component for tests that need providers
|
|
87
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
87
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
88
88
|
children,
|
|
89
89
|
dataProvider
|
|
90
90
|
}) => (
|
|
@@ -104,9 +104,9 @@ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> =
|
|
|
104
104
|
describe('CardListGrid', () => {
|
|
105
105
|
describe('Traditional Props Usage', () => {
|
|
106
106
|
it('renders with custom render function', () => {
|
|
107
|
-
const customRenderItem = (item:
|
|
107
|
+
const customRenderItem = (item: Record<string, unknown>, index: number) => (
|
|
108
108
|
<div key={index} data-testid={`custom-item-${index}`}>
|
|
109
|
-
{item.name}
|
|
109
|
+
{item.name as string}
|
|
110
110
|
</div>
|
|
111
111
|
);
|
|
112
112
|
|
|
@@ -188,11 +188,11 @@ describe('CardListGrid', () => {
|
|
|
188
188
|
});
|
|
189
189
|
|
|
190
190
|
it('handles empty items array gracefully', () => {
|
|
191
|
-
const customRenderItem = (item:
|
|
191
|
+
const customRenderItem = (item: Record<string, unknown>, index: number) => (
|
|
192
192
|
<div key={index}>Empty</div>
|
|
193
193
|
);
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
render(
|
|
196
196
|
<TestWrapper>
|
|
197
197
|
<CardListGrid
|
|
198
198
|
items={[]}
|
|
@@ -100,7 +100,7 @@ const sampleCmsData = {
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
// Wrapper component for tests that need providers
|
|
103
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
103
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
104
104
|
children,
|
|
105
105
|
dataProvider
|
|
106
106
|
}) => (
|
|
@@ -641,7 +641,7 @@ describe('ChoiceInputField', () => {
|
|
|
641
641
|
it.skip('preserves component marking for QwickApp framework', () => {
|
|
642
642
|
// The component should be marked as a QwickApp component
|
|
643
643
|
// This is important for framework identification - test skipped due to test environment limitations
|
|
644
|
-
const choiceInputFieldComponent = ChoiceInputField as
|
|
644
|
+
const choiceInputFieldComponent = ChoiceInputField as unknown as { QWICKAPP_COMPONENT?: boolean };
|
|
645
645
|
expect(choiceInputFieldComponent.QWICKAPP_COMPONENT).toBeTruthy();
|
|
646
646
|
});
|
|
647
647
|
});
|
|
@@ -80,7 +80,7 @@ const sampleCmsData = {
|
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
// Wrapper component for tests that need providers
|
|
83
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
83
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
84
84
|
children,
|
|
85
85
|
dataProvider
|
|
86
86
|
}) => (
|
|
@@ -508,7 +508,7 @@ describe('Code', () => {
|
|
|
508
508
|
it.skip('preserves component marking for QwickApp framework', () => {
|
|
509
509
|
// The component should be marked as a QwickApp component
|
|
510
510
|
// This is important for framework identification - test skipped due to test environment limitations
|
|
511
|
-
const codeComponent = Code as
|
|
511
|
+
const codeComponent = Code as unknown as { QWICKAPP_COMPONENT?: boolean };
|
|
512
512
|
expect(codeComponent.QWICKAPP_COMPONENT).toBeTruthy();
|
|
513
513
|
});
|
|
514
514
|
});
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import { render, waitFor
|
|
8
|
+
import { render, waitFor } from '@testing-library/react';
|
|
9
9
|
import Content from '../../components/blocks/Content';
|
|
10
10
|
import { DataProvider } from '../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
@@ -52,7 +52,7 @@ const sampleCmsData = {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
// Wrapper component for tests that need providers
|
|
55
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
55
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
56
56
|
children,
|
|
57
57
|
dataProvider
|
|
58
58
|
}) => (
|
|
@@ -121,9 +121,9 @@ describe.skip('Content', () => {
|
|
|
121
121
|
const variants = ['default', 'elevated', 'outlined', 'filled'] as const;
|
|
122
122
|
|
|
123
123
|
variants.forEach(variant => {
|
|
124
|
-
const {
|
|
124
|
+
const { unmount } = render(
|
|
125
125
|
<TestWrapper>
|
|
126
|
-
<Content
|
|
126
|
+
<Content
|
|
127
127
|
title={`${variant} variant`}
|
|
128
128
|
variant={variant}
|
|
129
129
|
/>
|
|
@@ -470,9 +470,9 @@ describe.skip('Content', () => {
|
|
|
470
470
|
});
|
|
471
471
|
|
|
472
472
|
it('handles custom CSS classes and styles', () => {
|
|
473
|
-
|
|
473
|
+
render(
|
|
474
474
|
<TestWrapper>
|
|
475
|
-
<Content
|
|
475
|
+
<Content
|
|
476
476
|
title="Custom Styled"
|
|
477
477
|
className="custom-content"
|
|
478
478
|
sx={{ border: '1px solid red' }}
|
|
@@ -77,7 +77,7 @@ const mockActions = [
|
|
|
77
77
|
];
|
|
78
78
|
|
|
79
79
|
// Wrapper component for tests that need providers
|
|
80
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
80
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
81
81
|
children,
|
|
82
82
|
dataProvider
|
|
83
83
|
}) => {
|
|
@@ -430,9 +430,9 @@ describe('CoverImageHeader', () => {
|
|
|
430
430
|
});
|
|
431
431
|
|
|
432
432
|
it('handles custom CSS classes and styles', () => {
|
|
433
|
-
|
|
433
|
+
render(
|
|
434
434
|
<TestWrapper>
|
|
435
|
-
<CoverImageHeader
|
|
435
|
+
<CoverImageHeader
|
|
436
436
|
title="Custom Styled"
|
|
437
437
|
className="custom-header"
|
|
438
438
|
sx={{ border: '1px solid red' }}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import { render, waitFor
|
|
8
|
+
import { render, waitFor } from '@testing-library/react';
|
|
9
9
|
import FeatureCard from '../../blocks/FeatureCard';
|
|
10
10
|
import { DataProvider } from '../../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import { render, waitFor
|
|
8
|
+
import { render, waitFor } from '@testing-library/react';
|
|
9
9
|
import FeatureGrid from '../../blocks/FeatureGrid';
|
|
10
10
|
import { DataProvider } from '../../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
@@ -99,7 +99,7 @@ const sampleFeatures: FeatureItem[] = [
|
|
|
99
99
|
];
|
|
100
100
|
|
|
101
101
|
// Wrapper component for tests that need providers
|
|
102
|
-
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?:
|
|
102
|
+
const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
|
|
103
103
|
children,
|
|
104
104
|
dataProvider
|
|
105
105
|
}) => (
|
|
@@ -206,9 +206,9 @@ describe.skip('FeatureGrid', () => {
|
|
|
206
206
|
});
|
|
207
207
|
|
|
208
208
|
it('supports grid props', () => {
|
|
209
|
-
|
|
209
|
+
render(
|
|
210
210
|
<TestWrapper>
|
|
211
|
-
<FeatureGrid
|
|
211
|
+
<FeatureGrid
|
|
212
212
|
features={sampleFeatures}
|
|
213
213
|
span={12}
|
|
214
214
|
xs={12}
|