@qwickapps/react-framework 1.4.1 → 1.4.2
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/QUICK_START_GUIDE.md +82 -0
- package/README.md +221 -21
- package/dist/components/Html.d.ts.map +1 -1
- package/dist/components/Markdown.d.ts +1 -2
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/SafeSpan.d.ts +1 -2
- package/dist/components/SafeSpan.d.ts.map +1 -1
- package/dist/components/base/Container.d.ts +32 -0
- package/dist/components/base/Container.d.ts.map +1 -0
- package/dist/components/base/ContainerView.d.ts +65 -0
- package/dist/components/base/ContainerView.d.ts.map +1 -0
- package/dist/components/base/ModelView.d.ts +37 -46
- package/dist/components/base/ModelView.d.ts.map +1 -1
- package/dist/components/base/index.d.ts +3 -2
- package/dist/components/base/index.d.ts.map +1 -1
- package/dist/components/blocks/Article.d.ts +1 -2
- package/dist/components/blocks/Article.d.ts.map +1 -1
- package/dist/components/blocks/Code-factory.d.ts +22 -0
- package/dist/components/blocks/Code-factory.d.ts.map +1 -0
- package/dist/components/blocks/Code-old.d.ts +31 -0
- package/dist/components/blocks/Code-old.d.ts.map +1 -0
- package/dist/components/blocks/Code.d.ts +30 -18
- package/dist/components/blocks/Code.d.ts.map +1 -1
- package/dist/components/blocks/HeroBlock.d.ts +1 -2
- package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
- package/dist/components/blocks/Image.d.ts +1 -2
- package/dist/components/blocks/Image.d.ts.map +1 -1
- package/dist/components/blocks/Section.d.ts +1 -2
- package/dist/components/blocks/Section.d.ts.map +1 -1
- package/dist/components/blocks/Text.d.ts +35 -27
- package/dist/components/blocks/Text.d.ts.map +1 -1
- package/dist/components/buttons/Button.d.ts +1 -2
- package/dist/components/buttons/Button.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/ChoiceInputField.d.ts +1 -2
- package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
- package/dist/components/input/HtmlInputField.d.ts +1 -2
- package/dist/components/input/HtmlInputField.d.ts.map +1 -1
- package/dist/components/input/SelectInputField.d.ts +1 -2
- package/dist/components/input/SelectInputField.d.ts.map +1 -1
- package/dist/components/pages/Page.d.ts +29 -47
- package/dist/components/pages/Page.d.ts.map +1 -1
- package/dist/components/pages/index.d.ts +2 -3
- package/dist/components/pages/index.d.ts.map +1 -1
- package/dist/components/shared/createSerializableView.d.ts +68 -0
- package/dist/components/shared/createSerializableView.d.ts.map +1 -0
- package/dist/components/shared/viewProps.d.ts +37 -0
- package/dist/components/shared/viewProps.d.ts.map +1 -0
- package/dist/index.esm.js +21782 -22580
- package/dist/index.js +21782 -22579
- package/dist/qa/ConsoleWarningTest.d.ts +5 -0
- package/dist/qa/ConsoleWarningTest.d.ts.map +1 -0
- package/dist/qa/StorageKeyTest.d.ts +6 -0
- package/dist/qa/StorageKeyTest.d.ts.map +1 -0
- package/dist/qa/ThemeStorageKeyTest.d.ts +6 -0
- package/dist/qa/ThemeStorageKeyTest.d.ts.map +1 -0
- package/dist/schemas/CodeSchema.d.ts +2 -2
- package/dist/schemas/CodeSchema.d.ts.map +1 -1
- package/dist/schemas/ContainerSchema.d.ts +12 -0
- package/dist/schemas/ContainerSchema.d.ts.map +1 -0
- package/dist/schemas/PageTemplateSchema.d.ts +3 -3
- package/dist/schemas/PageTemplateSchema.d.ts.map +1 -1
- package/dist/schemas/ViewModelSchema.d.ts +46 -6
- package/dist/schemas/ViewModelSchema.d.ts.map +1 -1
- package/dist/schemas/ViewSchema.d.ts +65 -0
- package/dist/schemas/ViewSchema.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/transformers/ComponentTransformer.d.ts +27 -15
- package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
- package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
- package/dist/schemas/transformers/registry.d.ts +3 -0
- package/dist/schemas/transformers/registry.d.ts.map +1 -1
- package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +66 -0
- package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -0
- package/dist/src/components/AccessibilityChecker.d.ts +12 -0
- package/dist/src/components/AccessibilityChecker.d.ts.map +1 -0
- package/dist/src/components/AccessibilityProvider.d.ts +64 -0
- package/dist/src/components/AccessibilityProvider.d.ts.map +1 -0
- package/dist/src/components/Breadcrumbs.d.ts +39 -0
- package/dist/src/components/Breadcrumbs.d.ts.map +1 -0
- package/dist/src/components/ErrorBoundary.d.ts +46 -0
- package/dist/src/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/src/components/Html.d.ts +58 -0
- package/dist/src/components/Html.d.ts.map +1 -0
- package/dist/src/components/Logo.d.ts +56 -0
- package/dist/src/components/Logo.d.ts.map +1 -0
- package/dist/src/components/Markdown.d.ts +51 -0
- package/dist/src/components/Markdown.d.ts.map +1 -0
- package/dist/src/components/QwickApp.d.ts +69 -0
- package/dist/src/components/QwickApp.d.ts.map +1 -0
- package/dist/src/components/QwickAppsLogo.d.ts +25 -0
- package/dist/src/components/QwickAppsLogo.d.ts.map +1 -0
- package/dist/src/components/QwickIcon.d.ts +23 -0
- package/dist/src/components/QwickIcon.d.ts.map +1 -0
- package/dist/src/components/ResponsiveMenu.d.ts +38 -0
- package/dist/src/components/ResponsiveMenu.d.ts.map +1 -0
- package/dist/src/components/SafeSpan.d.ts +29 -0
- package/dist/src/components/SafeSpan.d.ts.map +1 -0
- package/dist/src/components/Scaffold.d.ts +57 -0
- package/dist/src/components/Scaffold.d.ts.map +1 -0
- package/dist/src/components/base/Container.d.ts +33 -0
- package/dist/src/components/base/Container.d.ts.map +1 -0
- package/dist/src/components/base/ModelView.d.ts +92 -0
- package/dist/src/components/base/ModelView.d.ts.map +1 -0
- package/dist/src/components/base/index.d.ts +12 -0
- package/dist/src/components/base/index.d.ts.map +1 -0
- package/dist/src/components/blocks/Article.d.ts +32 -0
- package/dist/src/components/blocks/Article.d.ts.map +1 -0
- package/dist/src/components/blocks/CardListGrid.d.ts +23 -0
- package/dist/src/components/blocks/CardListGrid.d.ts.map +1 -0
- package/dist/src/components/blocks/Code.d.ts +37 -0
- package/dist/src/components/blocks/Code.d.ts.map +1 -0
- package/dist/src/components/blocks/Content.d.ts +24 -0
- package/dist/src/components/blocks/Content.d.ts.map +1 -0
- package/dist/src/components/blocks/CoverImageHeader.d.ts +44 -0
- package/dist/src/components/blocks/CoverImageHeader.d.ts.map +1 -0
- package/dist/src/components/blocks/FeatureCard.d.ts +66 -0
- package/dist/src/components/blocks/FeatureCard.d.ts.map +1 -0
- package/dist/src/components/blocks/FeatureGrid.d.ts +48 -0
- package/dist/src/components/blocks/FeatureGrid.d.ts.map +1 -0
- package/dist/src/components/blocks/Footer.d.ts +56 -0
- package/dist/src/components/blocks/Footer.d.ts.map +1 -0
- package/dist/src/components/blocks/HeroBlock.d.ts +55 -0
- package/dist/src/components/blocks/HeroBlock.d.ts.map +1 -0
- package/dist/src/components/blocks/Image.d.ts +40 -0
- package/dist/src/components/blocks/Image.d.ts.map +1 -0
- package/dist/src/components/blocks/PageBannerHeader.d.ts +30 -0
- package/dist/src/components/blocks/PageBannerHeader.d.ts.map +1 -0
- package/dist/src/components/blocks/ProductCard.d.ts +57 -0
- package/dist/src/components/blocks/ProductCard.d.ts.map +1 -0
- package/dist/src/components/blocks/Section.d.ts +45 -0
- package/dist/src/components/blocks/Section.d.ts.map +1 -0
- package/dist/src/components/blocks/Text.d.ts +34 -0
- package/dist/src/components/blocks/Text.d.ts.map +1 -0
- package/dist/src/components/blocks/index.d.ts +41 -0
- package/dist/src/components/blocks/index.d.ts.map +1 -0
- package/dist/src/components/buttons/Button.d.ts +41 -0
- package/dist/src/components/buttons/Button.d.ts.map +1 -0
- package/dist/src/components/buttons/PaletteSwitcher.d.ts +24 -0
- package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +1 -0
- package/dist/src/components/buttons/ThemeSwitcher.d.ts +24 -0
- package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +1 -0
- package/dist/src/components/buttons/index.d.ts +11 -0
- package/dist/src/components/buttons/index.d.ts.map +1 -0
- package/dist/src/components/forms/FormBlock.d.ts +51 -0
- package/dist/src/components/forms/FormBlock.d.ts.map +1 -0
- package/dist/src/components/forms/index.d.ts +8 -0
- package/dist/src/components/forms/index.d.ts.map +1 -0
- package/dist/src/components/index.d.ts +41 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/input/ChoiceInputField.d.ts +29 -0
- package/dist/src/components/input/ChoiceInputField.d.ts.map +1 -0
- package/dist/src/components/input/HtmlInputField.d.ts +33 -0
- package/dist/src/components/input/HtmlInputField.d.ts.map +1 -0
- package/dist/src/components/input/SelectInputField.d.ts +31 -0
- package/dist/src/components/input/SelectInputField.d.ts.map +1 -0
- package/dist/src/components/input/SwitchInputField.d.ts +27 -0
- package/dist/src/components/input/SwitchInputField.d.ts.map +1 -0
- package/dist/src/components/input/TextField.d.ts +18 -0
- package/dist/src/components/input/TextField.d.ts.map +1 -0
- package/dist/src/components/input/TextInputField.d.ts +34 -0
- package/dist/src/components/input/TextInputField.d.ts.map +1 -0
- package/dist/src/components/input/index.d.ts +19 -0
- package/dist/src/components/input/index.d.ts.map +1 -0
- package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +34 -0
- package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +1 -0
- package/dist/src/components/layout/CollapsibleLayout/index.d.ts +9 -0
- package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +1 -0
- package/dist/src/components/layout/GridCell.d.ts +32 -0
- package/dist/src/components/layout/GridCell.d.ts.map +1 -0
- package/dist/src/components/layout/GridCellWrapper.d.ts +46 -0
- package/dist/src/components/layout/GridCellWrapper.d.ts.map +1 -0
- package/dist/src/components/layout/GridLayout.d.ts +50 -0
- package/dist/src/components/layout/GridLayout.d.ts.map +1 -0
- package/dist/src/components/layout/index.d.ts +14 -0
- package/dist/src/components/layout/index.d.ts.map +1 -0
- package/dist/src/components/menu/Menu.d.ts +1 -0
- package/dist/src/components/menu/Menu.d.ts.map +1 -0
- package/dist/src/components/menu/MenuItem.d.ts +31 -0
- package/dist/src/components/menu/MenuItem.d.ts.map +1 -0
- package/dist/src/components/menu/index.d.ts +7 -0
- package/dist/src/components/menu/index.d.ts.map +1 -0
- package/dist/src/components/pages/FormPage.d.ts +66 -0
- package/dist/src/components/pages/FormPage.d.ts.map +1 -0
- package/dist/src/components/pages/Page.d.ts +68 -0
- package/dist/src/components/pages/Page.d.ts.map +1 -0
- package/dist/src/components/pages/index.d.ts +10 -0
- package/dist/src/components/pages/index.d.ts.map +1 -0
- package/dist/src/components/shared/createSerializableView.d.ts +81 -0
- package/dist/src/components/shared/createSerializableView.d.ts.map +1 -0
- package/dist/src/components/shared/viewProps.d.ts +37 -0
- package/dist/src/components/shared/viewProps.d.ts.map +1 -0
- package/dist/src/config/AppConfig.d.ts +49 -0
- package/dist/src/config/AppConfig.d.ts.map +1 -0
- package/dist/src/config/AppConfigBuilder.d.ts +75 -0
- package/dist/src/config/AppConfigBuilder.d.ts.map +1 -0
- package/dist/src/config/index.d.ts +13 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/types.d.ts +130 -0
- package/dist/src/config/types.d.ts.map +1 -0
- package/dist/src/config.d.ts +15 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/contexts/DataContext.d.ts +139 -0
- package/dist/src/contexts/DataContext.d.ts.map +1 -0
- package/dist/src/contexts/DimensionsContext.d.ts +42 -0
- package/dist/src/contexts/DimensionsContext.d.ts.map +1 -0
- package/dist/src/contexts/PaletteContext.d.ts +53 -0
- package/dist/src/contexts/PaletteContext.d.ts.map +1 -0
- package/dist/src/contexts/PrintModeContext.d.ts +27 -0
- package/dist/src/contexts/PrintModeContext.d.ts.map +1 -0
- package/dist/src/contexts/QwickAppContext.d.ts +71 -0
- package/dist/src/contexts/QwickAppContext.d.ts.map +1 -0
- package/dist/src/contexts/ThemeContext.d.ts +65 -0
- package/dist/src/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/src/contexts/index.d.ts +11 -0
- package/dist/src/contexts/index.d.ts.map +1 -0
- package/dist/src/hooks/index.d.ts +12 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/useBaseProps.d.ts +101 -0
- package/dist/src/hooks/useBaseProps.d.ts.map +1 -0
- package/dist/src/hooks/useDataBinding.d.ts +22 -0
- package/dist/src/hooks/useDataBinding.d.ts.map +1 -0
- package/dist/src/hooks/usePrintMode.d.ts +39 -0
- package/dist/src/hooks/usePrintMode.d.ts.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/palettes/PaletteAutumn.d.ts +10 -0
- package/dist/src/palettes/PaletteAutumn.d.ts.map +1 -0
- package/dist/src/palettes/PaletteCosmic.d.ts +10 -0
- package/dist/src/palettes/PaletteCosmic.d.ts.map +1 -0
- package/dist/src/palettes/PaletteDefault.d.ts +10 -0
- package/dist/src/palettes/PaletteDefault.d.ts.map +1 -0
- package/dist/src/palettes/PaletteOcean.d.ts +10 -0
- package/dist/src/palettes/PaletteOcean.d.ts.map +1 -0
- package/dist/src/palettes/PaletteSpring.d.ts +10 -0
- package/dist/src/palettes/PaletteSpring.d.ts.map +1 -0
- package/dist/src/palettes/PaletteWinter.d.ts +10 -0
- package/dist/src/palettes/PaletteWinter.d.ts.map +1 -0
- package/dist/src/palettes/index.d.ts +13 -0
- package/dist/src/palettes/index.d.ts.map +1 -0
- package/dist/src/schemas/ActionSchema.d.ts +21 -0
- package/dist/src/schemas/ActionSchema.d.ts.map +1 -0
- package/dist/src/schemas/ArticleSchema.d.ts +13 -0
- package/dist/src/schemas/ArticleSchema.d.ts.map +1 -0
- package/dist/src/schemas/ButtonSchema.d.ts +19 -0
- package/dist/src/schemas/ButtonSchema.d.ts.map +1 -0
- package/dist/src/schemas/CardListGridSchema.d.ts +17 -0
- package/dist/src/schemas/CardListGridSchema.d.ts.map +1 -0
- package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +18 -0
- package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +1 -0
- package/dist/src/schemas/CodeSchema.d.ts +18 -0
- package/dist/src/schemas/CodeSchema.d.ts.map +1 -0
- package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +32 -0
- package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +1 -0
- package/dist/src/schemas/ContainerSchema.d.ts +12 -0
- package/dist/src/schemas/ContainerSchema.d.ts.map +1 -0
- package/dist/src/schemas/ContentSchema.d.ts +21 -0
- package/dist/src/schemas/ContentSchema.d.ts.map +1 -0
- package/dist/src/schemas/CoverImageHeaderSchema.d.ts +28 -0
- package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +1 -0
- package/dist/src/schemas/FeatureCardSchema.d.ts +28 -0
- package/dist/src/schemas/FeatureCardSchema.d.ts.map +1 -0
- package/dist/src/schemas/FeatureGridSchema.d.ts +17 -0
- package/dist/src/schemas/FeatureGridSchema.d.ts.map +1 -0
- package/dist/src/schemas/FeatureItemSchema.d.ts +16 -0
- package/dist/src/schemas/FeatureItemSchema.d.ts.map +1 -0
- package/dist/src/schemas/FooterItemSchema.d.ts +15 -0
- package/dist/src/schemas/FooterItemSchema.d.ts.map +1 -0
- package/dist/src/schemas/FooterSchema.d.ts +20 -0
- package/dist/src/schemas/FooterSchema.d.ts.map +1 -0
- package/dist/src/schemas/FooterSectionSchema.d.ts +15 -0
- package/dist/src/schemas/FooterSectionSchema.d.ts.map +1 -0
- package/dist/src/schemas/FormBlockSchema.d.ts +19 -0
- package/dist/src/schemas/FormBlockSchema.d.ts.map +1 -0
- package/dist/src/schemas/GridCellSchema.d.ts +23 -0
- package/dist/src/schemas/GridCellSchema.d.ts.map +1 -0
- package/dist/src/schemas/GridLayoutSchema.d.ts +21 -0
- package/dist/src/schemas/GridLayoutSchema.d.ts.map +1 -0
- package/dist/src/schemas/HeaderActionSchema.d.ts +17 -0
- package/dist/src/schemas/HeaderActionSchema.d.ts.map +1 -0
- package/dist/src/schemas/HeroBlockSchema.d.ts +22 -0
- package/dist/src/schemas/HeroBlockSchema.d.ts.map +1 -0
- package/dist/src/schemas/HtmlInputFieldSchema.d.ts +18 -0
- package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +1 -0
- package/dist/src/schemas/HtmlSchema.d.ts +14 -0
- package/dist/src/schemas/HtmlSchema.d.ts.map +1 -0
- package/dist/src/schemas/ImageSchema.d.ts +32 -0
- package/dist/src/schemas/ImageSchema.d.ts.map +1 -0
- package/dist/src/schemas/LogoSchema.d.ts +35 -0
- package/dist/src/schemas/LogoSchema.d.ts.map +1 -0
- package/dist/src/schemas/MarkdownSchema.d.ts +14 -0
- package/dist/src/schemas/MarkdownSchema.d.ts.map +1 -0
- package/dist/src/schemas/MetadataItemSchema.d.ts +13 -0
- package/dist/src/schemas/MetadataItemSchema.d.ts.map +1 -0
- package/dist/src/schemas/PageBannerHeaderSchema.d.ts +28 -0
- package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +1 -0
- package/dist/src/schemas/PageTemplateSchema.d.ts +31 -0
- package/dist/src/schemas/PageTemplateSchema.d.ts.map +1 -0
- package/dist/src/schemas/PaletteSwitcherSchema.d.ts +16 -0
- package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +1 -0
- package/dist/src/schemas/PrintConfigSchema.d.ts +31 -0
- package/dist/src/schemas/PrintConfigSchema.d.ts.map +1 -0
- package/dist/src/schemas/ProductCardSchema.d.ts +39 -0
- package/dist/src/schemas/ProductCardSchema.d.ts.map +1 -0
- package/dist/src/schemas/SafeSpanSchema.d.ts +13 -0
- package/dist/src/schemas/SafeSpanSchema.d.ts.map +1 -0
- package/dist/src/schemas/SectionSchema.d.ts +16 -0
- package/dist/src/schemas/SectionSchema.d.ts.map +1 -0
- package/dist/src/schemas/SelectInputFieldSchema.d.ts +27 -0
- package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +1 -0
- package/dist/src/schemas/SwitchInputFieldSchema.d.ts +18 -0
- package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +1 -0
- package/dist/src/schemas/TextInputFieldSchema.d.ts +22 -0
- package/dist/src/schemas/TextInputFieldSchema.d.ts.map +1 -0
- package/dist/src/schemas/TextSchema.d.ts +37 -0
- package/dist/src/schemas/TextSchema.d.ts.map +1 -0
- package/dist/src/schemas/ThemeSwitcherSchema.d.ts +19 -0
- package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +1 -0
- package/dist/src/schemas/ViewSchema.d.ts +66 -0
- package/dist/src/schemas/ViewSchema.d.ts.map +1 -0
- package/dist/src/schemas/index.d.ts +47 -0
- package/dist/src/schemas/index.d.ts.map +1 -0
- package/dist/src/schemas/transformers/ComponentTransformer.d.ts +128 -0
- package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +1 -0
- package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +53 -0
- package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -0
- package/dist/src/schemas/transformers/registry.d.ts +18 -0
- package/dist/src/schemas/transformers/registry.d.ts.map +1 -0
- package/dist/src/schemas/types/Serializable.d.ts +46 -0
- package/dist/src/schemas/types/Serializable.d.ts.map +1 -0
- package/dist/src/stories/_templates/SerializationTemplate.d.ts +44 -0
- package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +1 -0
- package/dist/src/templates/TemplateResolver.d.ts +52 -0
- package/dist/src/templates/TemplateResolver.d.ts.map +1 -0
- package/dist/src/templates/index.d.ts +7 -0
- package/dist/src/templates/index.d.ts.map +1 -0
- package/dist/src/types/CacheProvider.d.ts +18 -0
- package/dist/src/types/CacheProvider.d.ts.map +1 -0
- package/dist/src/types/CollapsibleLayout.d.ts +142 -0
- package/dist/src/types/CollapsibleLayout.d.ts.map +1 -0
- package/dist/src/types/ContentProxy.d.ts +47 -0
- package/dist/src/types/ContentProxy.d.ts.map +1 -0
- package/dist/src/types/DataTypes.d.ts +185 -0
- package/dist/src/types/DataTypes.d.ts.map +1 -0
- package/dist/src/types/TemplateProvider.d.ts +10 -0
- package/dist/src/types/TemplateProvider.d.ts.map +1 -0
- package/dist/src/types/TemplateResolver.d.ts +23 -0
- package/dist/src/types/TemplateResolver.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +82 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/utils/breakpoints.d.ts +35 -0
- package/dist/src/utils/breakpoints.d.ts.map +1 -0
- package/dist/src/utils/cssUtils.d.ts +17 -0
- package/dist/src/utils/cssUtils.d.ts.map +1 -0
- package/dist/src/utils/customPaletteManager.d.ts +8 -0
- package/dist/src/utils/customPaletteManager.d.ts.map +1 -0
- package/dist/src/utils/dimensions.d.ts +34 -0
- package/dist/src/utils/dimensions.d.ts.map +1 -0
- package/dist/src/utils/htmlTransform.d.ts +44 -0
- package/dist/src/utils/htmlTransform.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +16 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/logger.d.ts +26 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/paletteUtils.d.ts +38 -0
- package/dist/src/utils/paletteUtils.d.ts.map +1 -0
- package/dist/src/utils/persistenceUtils.d.ts +31 -0
- package/dist/src/utils/persistenceUtils.d.ts.map +1 -0
- package/dist/src/utils/reactUtils.d.ts +33 -0
- package/dist/src/utils/reactUtils.d.ts.map +1 -0
- package/dist/src/utils/spacing.d.ts +34 -0
- package/dist/src/utils/spacing.d.ts.map +1 -0
- package/dist/src/utils/themePerformanceMonitor.d.ts +32 -0
- package/dist/src/utils/themePerformanceMonitor.d.ts.map +1 -0
- package/dist/src/utils/themeUtils.d.ts +27 -0
- package/dist/src/utils/themeUtils.d.ts.map +1 -0
- package/dist/utils/cssUtils.d.ts +17 -0
- package/dist/utils/cssUtils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +5 -2
- package/scripts/bundle-css.cjs +27 -0
- package/scripts/create-project.sh +28 -0
- package/scripts/create-qwickapps-project.js +284 -0
- package/src/__tests__/components/base/Container.test.tsx +966 -0
- package/src/__tests__/schemas/PageTemplateSchema.test.ts +1 -1
- package/src/__tests__/schemas/ViewSchema.test.ts +805 -0
- package/src/__tests__/schemas/builders.test.ts +2 -2
- package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +19 -19
- package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +13 -13
- package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +39 -39
- package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +14 -14
- package/src/__tests__/schemas/transformers/TestAutomation.test.ts +8 -8
- package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +181 -0
- package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +458 -0
- package/src/__tests__/test_image_accessibility.test.tsx +226 -0
- package/src/__tests__/utils/optional-logging.test.ts +3 -3
- package/src/components/Html.tsx +24 -15
- package/src/components/Logo.tsx +2 -2
- package/src/components/Markdown.tsx +2 -7
- package/src/components/SafeSpan.tsx +2 -7
- package/src/components/base/Container.tsx +61 -0
- package/src/components/base/ModelView.tsx +225 -91
- package/src/components/base/index.ts +3 -2
- package/src/components/blocks/Article.tsx +2 -7
- package/src/components/blocks/CardListGrid.tsx +2 -2
- package/src/components/blocks/Code.tsx +91 -179
- package/src/components/blocks/Content.tsx +2 -2
- package/src/components/blocks/CoverImageHeader.tsx +2 -2
- package/src/components/blocks/HeroBlock.tsx +54 -146
- package/src/components/blocks/Image.tsx +82 -196
- package/src/components/blocks/PageBannerHeader.tsx +2 -2
- package/src/components/blocks/Section.tsx +79 -181
- package/src/components/blocks/Text.tsx +100 -198
- package/src/components/buttons/Button.tsx +85 -183
- package/src/components/buttons/PaletteSwitcher.tsx +2 -2
- package/src/components/buttons/ThemeSwitcher.tsx +2 -2
- package/src/components/forms/FormBlock.tsx +2 -2
- package/src/components/index.ts +5 -0
- package/src/components/input/ChoiceInputField.tsx +76 -160
- package/src/components/input/HtmlInputField.tsx +141 -264
- package/src/components/input/SelectInputField.tsx +48 -153
- package/src/components/input/SwitchInputField.tsx +41 -139
- package/src/components/input/TextInputField.tsx +39 -116
- package/src/components/layout/GridCell.tsx +36 -122
- package/src/components/layout/GridLayout.tsx +55 -127
- package/src/components/pages/Page.tsx +268 -276
- package/src/components/pages/index.ts +2 -3
- package/src/components/shared/createSerializableView.tsx +280 -0
- package/src/components/shared/viewProps.ts +207 -0
- package/src/config/__tests__/AppConfigBuilder.test.ts +2 -2
- package/src/contexts/DataContext.tsx +1 -1
- package/src/schemas/ButtonSchema.ts +3 -2
- package/src/schemas/CardListGridSchema.ts +3 -2
- package/src/schemas/ChoiceInputFieldSchema.ts +3 -2
- package/src/schemas/CodeSchema.ts +8 -6
- package/src/schemas/ContainerSchema.ts +25 -0
- package/src/schemas/FeatureCardSchema.ts +1 -1
- package/src/schemas/FormBlockSchema.ts +3 -2
- package/src/schemas/GridCellSchema.ts +4 -10
- package/src/schemas/GridLayoutSchema.ts +8 -14
- package/src/schemas/HeroBlockSchema.ts +3 -2
- package/src/schemas/HtmlInputFieldSchema.ts +3 -2
- package/src/schemas/ImageSchema.ts +3 -2
- package/src/schemas/PageTemplateSchema.ts +5 -5
- package/src/schemas/SectionSchema.ts +4 -12
- package/src/schemas/SelectInputFieldSchema.ts +3 -2
- package/src/schemas/SwitchInputFieldSchema.ts +2 -2
- package/src/schemas/TextInputFieldSchema.ts +3 -2
- package/src/schemas/ViewSchema.ts +570 -0
- package/src/schemas/index.ts +1 -1
- package/src/schemas/transformers/ComponentTransformer.ts +185 -163
- package/src/schemas/transformers/ReactNodeTransformer.ts +31 -28
- package/src/schemas/transformers/registry.ts +17 -10
- package/src/stories/Button.stories.tsx +24 -0
- package/src/stories/ChoiceInputField.stories.tsx +28 -1
- package/src/stories/Code.stories.tsx +61 -1
- package/src/stories/Container.stories.tsx +954 -0
- package/src/stories/FormBlock.stories.tsx +54 -0
- package/src/stories/FormComponents.stories.tsx +8 -13
- package/src/stories/GridCell.stories.tsx +23 -64
- package/src/stories/GridLayout.stories.tsx +22 -47
- package/src/stories/HeroBlock.stories.tsx +28 -0
- package/src/stories/HtmlInputField.stories.tsx +23 -1
- package/src/stories/Image.stories.tsx +45 -233
- package/src/stories/Markdown.stories.tsx +1 -1
- package/src/stories/Section.stories.tsx +38 -4
- package/src/stories/SelectInputField.stories.tsx +26 -1
- package/src/stories/Text.stories.tsx +22 -54
- package/src/stories/TextInputField.stories.tsx +24 -1
- package/src/stories/_templates/SerializationTemplate.tsx +165 -0
- package/src/templates/TemplateResolver.ts +2 -2
- package/src/types/CollapsibleLayout.ts +2 -2
- package/src/utils/cssUtils.ts +49 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/logger.ts +13 -13
- package/src/__tests__/components/base/ModelView.test.tsx +0 -220
- package/src/__tests__/schemas/ViewModelSchema.test.ts +0 -80
- package/src/components/blocks/Code.md +0 -529
- package/src/schemas/README.md +0 -661
- package/src/schemas/ViewModelSchema.ts +0 -115
- package/src/tests/ConsoleWarningTest.tsx +0 -30
- package/src/tests/StorageKeyTest.tsx +0 -110
- package/src/tests/ThemeStorageKeyTest.tsx +0 -114
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardListGrid - Generic grid layout for cards with data binding support
|
|
3
|
+
*
|
|
4
|
+
* A unified grid component that can display any type of card component
|
|
5
|
+
* with consistent spacing and layout. Works with ProductCard, FeatureCard,
|
|
6
|
+
* or any other card-like components. Supports both traditional props and
|
|
7
|
+
* data binding through dataSource.
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
10
|
+
*/
|
|
11
|
+
import { WithDataBinding, SchemaProps } from '@qwickapps/schema';
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import CardListGridModel from '../../schemas/CardListGridSchema';
|
|
14
|
+
type CardListGridViewProps = SchemaProps<CardListGridModel> & {
|
|
15
|
+
/** Render function for each item (traditional usage) */
|
|
16
|
+
renderItem?: (item: any, index: number) => React.ReactNode;
|
|
17
|
+
};
|
|
18
|
+
export interface CardListGridProps extends CardListGridViewProps, WithDataBinding {
|
|
19
|
+
}
|
|
20
|
+
declare function CardListGrid(props: CardListGridProps): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export default CardListGrid;
|
|
22
|
+
export { CardListGrid };
|
|
23
|
+
//# sourceMappingURL=CardListGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardListGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CardListGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAKjE,KAAK,qBAAqB,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG;IAC5D,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,EAAE,eAAe;CAChF;AAwDD,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,kDA+C7C;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code - Content-prop leaf component for secure code display
|
|
3
|
+
*
|
|
4
|
+
* Uses content-prop strategy to prevent JSON deserialization vulnerabilities.
|
|
5
|
+
* Code content is serialized as data.content (string), not data.children,
|
|
6
|
+
* preventing recursive deserialization of example JSON that looks like components.
|
|
7
|
+
*
|
|
8
|
+
* Features preserved:
|
|
9
|
+
* - Syntax highlighting support
|
|
10
|
+
* - Copy to clipboard functionality
|
|
11
|
+
* - Light/dark theme support
|
|
12
|
+
* - Multiple language support
|
|
13
|
+
* - Responsive design
|
|
14
|
+
* - Line numbers support
|
|
15
|
+
* - Title display
|
|
16
|
+
* - Custom backgrounds
|
|
17
|
+
*
|
|
18
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
19
|
+
*/
|
|
20
|
+
import CodeSchema from '../../schemas/CodeSchema';
|
|
21
|
+
import type { SchemaProps } from '@qwickapps/schema/src/types/ModelProps';
|
|
22
|
+
import { ViewProps } from '../shared/viewProps';
|
|
23
|
+
import { SerializableComponent } from '../shared/createSerializableView';
|
|
24
|
+
/**
|
|
25
|
+
* Props interface for Code component
|
|
26
|
+
* Uses SchemaProps<typeof CodeSchema> for clean typing
|
|
27
|
+
*/
|
|
28
|
+
export type CodeProps = ViewProps & SchemaProps<typeof CodeSchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Create Code component using the factory pattern
|
|
31
|
+
*/
|
|
32
|
+
export declare const Code: SerializableComponent<CodeProps>;
|
|
33
|
+
/**
|
|
34
|
+
* Export the component as default
|
|
35
|
+
*/
|
|
36
|
+
export default Code;
|
|
37
|
+
//# sourceMappingURL=Code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Code.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;AAuNnE;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAMhD,CAAC;AAoDH;;GAEG;AACH,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Component - General-purpose content container with data binding support
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* - Traditional: <Content title="Welcome" subtitle="Get started" actions={[...]} />
|
|
6
|
+
* - Data-driven: <Content dataSource="pages.home.intro" />
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Optional title, subtitle, and actions
|
|
10
|
+
* - Variant styles: default, elevated, outlined, filled
|
|
11
|
+
* - Responsive spacing, max width, and alignment
|
|
12
|
+
* - Theme-aware and flexible for layouts
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
15
|
+
*/
|
|
16
|
+
import { WithDataBinding, SchemaProps } from '@qwickapps/schema';
|
|
17
|
+
import ContentModel from '../../schemas/ContentSchema';
|
|
18
|
+
type ContentViewProps = SchemaProps<ContentModel>;
|
|
19
|
+
export interface ContentProps extends ContentViewProps, WithDataBinding {
|
|
20
|
+
}
|
|
21
|
+
declare function Content(props: ContentProps): import("react/jsx-runtime").JSX.Element | null;
|
|
22
|
+
export default Content;
|
|
23
|
+
export { Content };
|
|
24
|
+
//# sourceMappingURL=Content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Content.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,YAAY,MAAM,6BAA6B,CAAC;AAMvD,KAAK,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAElD,MAAM,WAAW,YAAa,SAAQ,gBAAgB,EAAE,eAAe;CAAG;AAwI1E,iBAAS,OAAO,CAAC,KAAK,EAAE,YAAY,kDA6CnC;AAED,eAAe,OAAO,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CoverImageHeader - Flexible header with optional image, info section, and context menu
|
|
3
|
+
*
|
|
4
|
+
* Provides a clean header layout similar to modern app interfaces with:
|
|
5
|
+
* - Optional image/avatar on the left
|
|
6
|
+
* - Info section with overline, title, subtitle, and tags
|
|
7
|
+
* - Context menu with up to 3 visible actions + overflow menu
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
10
|
+
*/
|
|
11
|
+
import { WithDataBinding, SchemaProps } from '@qwickapps/schema';
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { WithBaseProps } from '../../hooks';
|
|
14
|
+
import CoverImageHeaderModel from '../../schemas/CoverImageHeaderSchema';
|
|
15
|
+
import './CoverImageHeader.css';
|
|
16
|
+
export interface HeaderAction {
|
|
17
|
+
/** Unique identifier for the action */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Display label for the action */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Icon component or JSX element */
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
/** Click handler */
|
|
24
|
+
onClick: () => void;
|
|
25
|
+
/** Whether this action is disabled */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** Whether this action is destructive (shows with warning styling) */
|
|
28
|
+
destructive?: boolean;
|
|
29
|
+
/** Priority for ordering (lower numbers = higher priority, shown first) */
|
|
30
|
+
priority?: number;
|
|
31
|
+
}
|
|
32
|
+
type CoverImageHeaderViewProps = Omit<SchemaProps<CoverImageHeaderModel>, 'actions' | 'tags' | 'image'> & WithBaseProps & {
|
|
33
|
+
/** Image URL or React component (extended from schema string) */
|
|
34
|
+
image?: string | React.ReactNode;
|
|
35
|
+
/** Array of tag strings or JSX elements (extended from schema string[]) */
|
|
36
|
+
tags?: (string | React.ReactNode)[];
|
|
37
|
+
/** Context menu actions (extended from schema HeaderActionModel[]) */
|
|
38
|
+
actions?: HeaderAction[];
|
|
39
|
+
};
|
|
40
|
+
export interface CoverImageHeaderProps extends CoverImageHeaderViewProps, WithDataBinding {
|
|
41
|
+
}
|
|
42
|
+
declare function CoverImageHeader(props: CoverImageHeaderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
43
|
+
export default CoverImageHeader;
|
|
44
|
+
//# sourceMappingURL=CoverImageHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoverImageHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CoverImageHeader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAgC,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,aAAa,GAAG;IACxH,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IACpC,sEAAsE;IACtE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB,EAAE,eAAe;CAAG;AAoV5F,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,kDA0CrD;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FeatureCard Component - Unified feature card with data binding support
|
|
3
|
+
*
|
|
4
|
+
* Enhanced with data binding support through dataSource prop.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* - Traditional: <FeatureCard feature={featureObj} variant="standard" elevation={2} />
|
|
8
|
+
* - Data-driven: <FeatureCard dataSource="product.single-feature" />
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Standard variant: Rich feature cards with icons, titles, descriptions, and actions
|
|
12
|
+
* - List variant: Simple bullet list of features for compact display
|
|
13
|
+
* - Interactive elements with hover effects and customizable actions
|
|
14
|
+
* - Full CMS integration through dataSource prop
|
|
15
|
+
*
|
|
16
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
17
|
+
*/
|
|
18
|
+
import { WithDataBinding } from '@qwickapps/schema';
|
|
19
|
+
import React from 'react';
|
|
20
|
+
import { WithBaseProps } from '../../hooks';
|
|
21
|
+
export interface FeatureItem {
|
|
22
|
+
/** Unique identifier */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Feature icon */
|
|
25
|
+
icon?: React.ReactNode;
|
|
26
|
+
/** Feature title */
|
|
27
|
+
title: string;
|
|
28
|
+
/** Feature description */
|
|
29
|
+
description?: string;
|
|
30
|
+
/** Optional action/button */
|
|
31
|
+
action?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export interface FeatureCardAction {
|
|
34
|
+
id: string;
|
|
35
|
+
label: string;
|
|
36
|
+
variant?: 'contained' | 'outlined' | 'text';
|
|
37
|
+
color?: 'primary' | 'secondary' | 'error';
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
onClick: () => void;
|
|
40
|
+
}
|
|
41
|
+
type FeatureCardViewProps = WithBaseProps & {
|
|
42
|
+
/** Feature data */
|
|
43
|
+
feature?: FeatureItem;
|
|
44
|
+
/** For list variant: array of feature strings */
|
|
45
|
+
features?: string[];
|
|
46
|
+
/** Card variant */
|
|
47
|
+
variant?: 'standard' | 'list';
|
|
48
|
+
/** Custom actions - with click handlers */
|
|
49
|
+
actions?: FeatureCardAction[];
|
|
50
|
+
/** Click handler for card */
|
|
51
|
+
onClick?: () => void;
|
|
52
|
+
/** List variant title */
|
|
53
|
+
title?: string;
|
|
54
|
+
/** Whether to show as paper card or plain box */
|
|
55
|
+
elevation?: number;
|
|
56
|
+
};
|
|
57
|
+
export interface FeatureCardProps extends FeatureCardViewProps, WithDataBinding {
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* FeatureCard component with data binding support
|
|
61
|
+
* Supports both traditional props and dataSource-driven rendering
|
|
62
|
+
*/
|
|
63
|
+
declare function FeatureCard(props: FeatureCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
64
|
+
export default FeatureCard;
|
|
65
|
+
export { FeatureCard };
|
|
66
|
+
//# sourceMappingURL=FeatureCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureCard.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FeatureCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoD,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9F,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,KAAK,oBAAoB,GAAG,aAAa,GAAG;IAC1C,mBAAmB;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC9B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,EAAE,eAAe;CAAG;AAuLlF;;;GAGG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,kDA4D3C;AAED,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FeatureGrid Component - Responsive grid for showcasing features with data binding support
|
|
3
|
+
*
|
|
4
|
+
* Enhanced with data binding support through dataSource prop.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* - Traditional: <FeatureGrid features={featuresArray} columns={3} gap="medium" />
|
|
8
|
+
* - Data-driven: <FeatureGrid dataSource="pages.home.features" />
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Displays feature items in responsive grid layout
|
|
12
|
+
* - Supports icons, titles, descriptions, and actions
|
|
13
|
+
* - Customizable columns, spacing, and equal height
|
|
14
|
+
* - Full CMS integration through dataSource prop
|
|
15
|
+
*
|
|
16
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
17
|
+
*/
|
|
18
|
+
import { WithDataBinding } from '@qwickapps/schema';
|
|
19
|
+
import React from 'react';
|
|
20
|
+
import { WithBaseProps } from '../../hooks';
|
|
21
|
+
export interface FeatureItem {
|
|
22
|
+
/** Unique identifier */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Feature icon */
|
|
25
|
+
icon?: React.ReactNode;
|
|
26
|
+
/** Feature title */
|
|
27
|
+
title: string;
|
|
28
|
+
/** Feature description */
|
|
29
|
+
description: string;
|
|
30
|
+
/** Optional action/link */
|
|
31
|
+
action?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
interface FeatureGridViewProps extends WithBaseProps {
|
|
34
|
+
/** Array of feature items */
|
|
35
|
+
features?: FeatureItem[];
|
|
36
|
+
/** Number of columns */
|
|
37
|
+
columns?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
38
|
+
/** Grid gap */
|
|
39
|
+
gap?: 'small' | 'medium' | 'large';
|
|
40
|
+
/** Equal height for grid items */
|
|
41
|
+
equalHeight?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface FeatureGridProps extends FeatureGridViewProps, WithDataBinding {
|
|
44
|
+
}
|
|
45
|
+
declare function FeatureGrid(props: FeatureGridProps): import("react/jsx-runtime").JSX.Element | null;
|
|
46
|
+
export default FeatureGrid;
|
|
47
|
+
export { FeatureGrid };
|
|
48
|
+
//# sourceMappingURL=FeatureGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FeatureGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoD,aAAa,EAAE,MAAM,aAAa,CAAC;AAK9F,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,eAAe;IACf,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,EAAE,eAAe;CAAG;AAwClF,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,kDAwE3C;AAED,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer - Reusable footer component with flexible layout options
|
|
3
|
+
*
|
|
4
|
+
* Provides a clean footer layout with:
|
|
5
|
+
* - Configurable orientation (vertical/horizontal)
|
|
6
|
+
* - Optional logo/branding
|
|
7
|
+
* - Multiple sections for links, text, or custom content
|
|
8
|
+
* - Responsive design with MUI components
|
|
9
|
+
* - Copyright and legal information support
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
12
|
+
*/
|
|
13
|
+
import { WithDataBinding } from '@qwickapps/schema';
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { WithBaseProps } from '../../hooks';
|
|
16
|
+
export interface FooterSection {
|
|
17
|
+
/** Unique identifier for the section */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Section title/heading */
|
|
20
|
+
title?: string;
|
|
21
|
+
/** Array of items in this section */
|
|
22
|
+
items: FooterItem[];
|
|
23
|
+
}
|
|
24
|
+
export interface FooterItem {
|
|
25
|
+
/** Unique identifier for the item */
|
|
26
|
+
id: string;
|
|
27
|
+
/** Display text */
|
|
28
|
+
label: string;
|
|
29
|
+
/** Optional URL for links */
|
|
30
|
+
href?: string;
|
|
31
|
+
/** Click handler for custom actions */
|
|
32
|
+
onClick?: () => void;
|
|
33
|
+
/** Whether to open links in new tab */
|
|
34
|
+
external?: boolean;
|
|
35
|
+
}
|
|
36
|
+
interface FooterViewProps extends WithBaseProps {
|
|
37
|
+
/** Footer sections */
|
|
38
|
+
sections?: FooterSection[];
|
|
39
|
+
/** Optional logo or branding element */
|
|
40
|
+
logo?: React.ReactNode;
|
|
41
|
+
/** Copyright text */
|
|
42
|
+
copyright?: string;
|
|
43
|
+
/** Additional legal or info text */
|
|
44
|
+
legalText?: string;
|
|
45
|
+
/** Layout orientation */
|
|
46
|
+
orientation?: 'vertical' | 'horizontal';
|
|
47
|
+
/** Background variant */
|
|
48
|
+
variant?: 'default' | 'contained' | 'outlined';
|
|
49
|
+
/** Whether to show divider above footer */
|
|
50
|
+
showDivider?: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface FooterProps extends FooterViewProps, WithDataBinding {
|
|
53
|
+
}
|
|
54
|
+
declare function Footer(props: FooterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
55
|
+
export default Footer;
|
|
56
|
+
//# sourceMappingURL=Footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Footer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoD,aAAa,EAAE,MAAM,aAAa,CAAC;AAG9F,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,eAAgB,SAAQ,aAAa;IAC7C,sBAAsB;IACtB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,yBAAyB;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAC/C,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe,EAAE,eAAe;CAAG;AAwNxE,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,kDAsEjC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HeroBlock Component - Factory-based implementation using createSerializableView
|
|
3
|
+
*
|
|
4
|
+
* Migrated from class-based ModelView to factory pattern for better
|
|
5
|
+
* schema-driven architecture while preserving all functionality.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Responsive headline, subtitle, and actions
|
|
9
|
+
* - Supports background images, gradients, and theme colors
|
|
10
|
+
* - Overlay for image backgrounds
|
|
11
|
+
* - Customizable height, alignment, and overlay opacity
|
|
12
|
+
* - Full serialization support
|
|
13
|
+
* - Nested Button component support
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* - Traditional: <HeroBlock title="Welcome" subtitle="Get started" actions={[...]} />
|
|
17
|
+
* - Data-driven: <HeroBlock dataSource="pages.home.hero" />
|
|
18
|
+
*
|
|
19
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
20
|
+
*/
|
|
21
|
+
import { SerializableComponent } from '../shared/createSerializableView';
|
|
22
|
+
import { ViewProps } from '../shared/viewProps';
|
|
23
|
+
import { ButtonProps } from '../buttons/Button';
|
|
24
|
+
/**
|
|
25
|
+
* Props interface for HeroBlock component - extends ViewProps
|
|
26
|
+
*/
|
|
27
|
+
export interface HeroBlockProps extends ViewProps {
|
|
28
|
+
/** Main headline text */
|
|
29
|
+
title?: string;
|
|
30
|
+
/** Subtitle or description text */
|
|
31
|
+
subtitle?: string;
|
|
32
|
+
/** Background image URL */
|
|
33
|
+
backgroundImage?: string;
|
|
34
|
+
/** Background gradient CSS value */
|
|
35
|
+
backgroundGradient?: string;
|
|
36
|
+
/** Background color theme variant */
|
|
37
|
+
backgroundColor?: 'default' | 'primary' | 'secondary' | 'surface';
|
|
38
|
+
/** Action buttons (data-driven) */
|
|
39
|
+
actions?: ButtonProps[];
|
|
40
|
+
/** Text alignment */
|
|
41
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
42
|
+
/** Block height preset */
|
|
43
|
+
blockHeight?: 'small' | 'medium' | 'large' | 'viewport';
|
|
44
|
+
/** Custom overlay opacity (0-1) when using background images */
|
|
45
|
+
overlayOpacity?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create HeroBlock component using the factory pattern
|
|
49
|
+
*/
|
|
50
|
+
export declare const HeroBlock: SerializableComponent<HeroBlockProps>;
|
|
51
|
+
/**
|
|
52
|
+
* Export the component as default
|
|
53
|
+
*/
|
|
54
|
+
export default HeroBlock;
|
|
55
|
+
//# sourceMappingURL=HeroBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeroBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/HeroBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAClE,mCAAmC;IACnC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACxD,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAgMD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAK1D,CAAC;AAEH;;GAEG;AACH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image - Comprehensive image display component with serialization support
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Responsive image handling with srcSet and sizes
|
|
6
|
+
* - Multiple fit modes and positioning options
|
|
7
|
+
* - Loading states and error handling
|
|
8
|
+
* - Accessibility support with proper alt text
|
|
9
|
+
* - Lazy loading support
|
|
10
|
+
* - Fallback image handling
|
|
11
|
+
* - Full serialization support via factory pattern
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
14
|
+
*/
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import { ImageFit, ImageLoading, ImagePosition } from '../../schemas/ImageSchema';
|
|
17
|
+
import { SerializableComponent } from '../shared/createSerializableView';
|
|
18
|
+
import { ViewProps } from '../shared/viewProps';
|
|
19
|
+
export interface ImageProps extends ViewProps {
|
|
20
|
+
src?: string;
|
|
21
|
+
alt?: string;
|
|
22
|
+
width?: number;
|
|
23
|
+
height?: number;
|
|
24
|
+
objectFit?: ImageFit;
|
|
25
|
+
objectPosition?: ImagePosition;
|
|
26
|
+
loading?: ImageLoading;
|
|
27
|
+
title?: string;
|
|
28
|
+
draggable?: boolean;
|
|
29
|
+
borderRadius?: string;
|
|
30
|
+
showLoading?: boolean;
|
|
31
|
+
showError?: boolean;
|
|
32
|
+
fallbackSrc?: string;
|
|
33
|
+
sizes?: string;
|
|
34
|
+
srcSet?: string;
|
|
35
|
+
loadingPlaceholder?: React.ReactNode;
|
|
36
|
+
errorPlaceholder?: React.ReactNode;
|
|
37
|
+
}
|
|
38
|
+
export declare const Image: SerializableComponent<ImageProps>;
|
|
39
|
+
export default Image;
|
|
40
|
+
//# sourceMappingURL=Image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Image.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAA8C,MAAM,OAAO,CAAC;AAGnE,OAAmB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,UAAW,SAAQ,SAAS;IAE3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AA8KD,eAAO,MAAM,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAMlD,CAAC;AA2DH,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PageBannerHeader - Facebook-style banner header with cover image and profile info
|
|
3
|
+
*
|
|
4
|
+
* Similar to social media banners with:
|
|
5
|
+
* - Large cover/banner image background
|
|
6
|
+
* - Profile image overlay (typically bottom-left)
|
|
7
|
+
* - Info section with title, subtitle, and metadata
|
|
8
|
+
* - Action buttons in various positions
|
|
9
|
+
*
|
|
10
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
11
|
+
*/
|
|
12
|
+
import { WithDataBinding, SchemaProps } from '@qwickapps/schema';
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import PageBannerHeaderModel from '../../schemas/PageBannerHeaderSchema';
|
|
15
|
+
import { HeaderAction } from './CoverImageHeader';
|
|
16
|
+
type PageBannerHeaderViewProps = Omit<SchemaProps<PageBannerHeaderModel>, 'actions'> & {
|
|
17
|
+
/** Profile/avatar image URL or component (extended from schema string) */
|
|
18
|
+
profileImage?: string | React.ReactNode;
|
|
19
|
+
/** Array of tag strings or JSX elements (extended from schema string[]) */
|
|
20
|
+
tags?: (string | React.ReactNode)[];
|
|
21
|
+
/** Banner height (extended to support string) */
|
|
22
|
+
height?: number | string;
|
|
23
|
+
/** Action buttons (extended from schema to include onClick) */
|
|
24
|
+
actions?: HeaderAction[];
|
|
25
|
+
};
|
|
26
|
+
export interface PageBannerHeaderProps extends PageBannerHeaderViewProps, WithDataBinding {
|
|
27
|
+
}
|
|
28
|
+
declare function PageBannerHeader(props: PageBannerHeaderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
29
|
+
export default PageBannerHeader;
|
|
30
|
+
//# sourceMappingURL=PageBannerHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageBannerHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/PageBannerHeader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC,GAAG;IACrF,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACxC,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IACpC,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB,EAAE,eAAe;CAAG;AAmV5F,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,kDAwFrD;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProductCard - Unified product card component with variants
|
|
3
|
+
*
|
|
4
|
+
* A flexible product card that can display products in different formats:
|
|
5
|
+
* - Compact variant: For showcases and lists (shows limited features)
|
|
6
|
+
* - Detailed variant: For product pages (shows full details)
|
|
7
|
+
*
|
|
8
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
9
|
+
*/
|
|
10
|
+
import { WithDataBinding } from '@qwickapps/schema';
|
|
11
|
+
import { WithBaseProps } from '../../hooks';
|
|
12
|
+
export interface Product {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
category: string;
|
|
16
|
+
description: string;
|
|
17
|
+
shortDescription?: string;
|
|
18
|
+
features: string[];
|
|
19
|
+
technologies: string[];
|
|
20
|
+
status: string;
|
|
21
|
+
image?: string;
|
|
22
|
+
url?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ProductCardAction {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
variant?: 'contained' | 'outlined' | 'text';
|
|
28
|
+
color?: 'primary' | 'secondary' | 'error';
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
onClick: () => void;
|
|
31
|
+
}
|
|
32
|
+
interface ProductCardViewProps extends WithBaseProps {
|
|
33
|
+
/** Product data */
|
|
34
|
+
product?: Product;
|
|
35
|
+
/** Card variant */
|
|
36
|
+
variant?: 'compact' | 'detailed';
|
|
37
|
+
/** Custom actions - if not provided, uses default actions */
|
|
38
|
+
actions?: ProductCardAction[];
|
|
39
|
+
/** Click handler for card */
|
|
40
|
+
onClick?: () => void;
|
|
41
|
+
/** Whether to show the image */
|
|
42
|
+
showImage?: boolean;
|
|
43
|
+
/** Whether to show technologies */
|
|
44
|
+
showTechnologies?: boolean;
|
|
45
|
+
/** Maximum features to show in compact mode */
|
|
46
|
+
maxFeaturesCompact?: number;
|
|
47
|
+
}
|
|
48
|
+
export interface ProductCardProps extends ProductCardViewProps, WithDataBinding {
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* ProductCard component with data binding support
|
|
52
|
+
* Supports both traditional props and dataSource-driven rendering
|
|
53
|
+
*/
|
|
54
|
+
declare function ProductCard(props: ProductCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
55
|
+
export default ProductCard;
|
|
56
|
+
export { ProductCard };
|
|
57
|
+
//# sourceMappingURL=ProductCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/ProductCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAoD,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9F,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,EAAE,eAAe;CAAG;AA+UlF;;;GAGG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,kDAmE3C;AAED,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Component - Factory-based implementation using createSerializableView
|
|
3
|
+
*
|
|
4
|
+
* Migrated from class-based ModelView to factory pattern for better
|
|
5
|
+
* schema-driven architecture while preserving all functionality.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* - Traditional: <Section background="#f5f5f5" padding="large">Content</Section>
|
|
9
|
+
* - Data-driven: <Section dataSource="pages.home.intro-section">Content</Section>
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Theme-aware background color (supports theme palette paths and CSS colors)
|
|
13
|
+
* - Responsive vertical spacing and max width
|
|
14
|
+
* - Semantic HTML element customization
|
|
15
|
+
* - Full CMS integration through dataSource prop
|
|
16
|
+
*
|
|
17
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
18
|
+
*/
|
|
19
|
+
import { SerializableComponent } from '../shared/createSerializableView';
|
|
20
|
+
import { ViewProps } from '../shared/viewProps';
|
|
21
|
+
import type { BreakpointValue } from '../../types';
|
|
22
|
+
/**
|
|
23
|
+
* Props interface for Section component - extends ViewProps
|
|
24
|
+
*/
|
|
25
|
+
export interface SectionProps extends ViewProps {
|
|
26
|
+
/** Section background color */
|
|
27
|
+
background?: string;
|
|
28
|
+
/** Section text color */
|
|
29
|
+
color?: string;
|
|
30
|
+
/** Section padding/spacing */
|
|
31
|
+
padding?: 'none' | 'tiny' | 'small' | 'medium' | 'large' | 'extra-large';
|
|
32
|
+
/** Maximum content width (maps to MUI Container maxWidth) */
|
|
33
|
+
contentMaxWidth?: BreakpointValue;
|
|
34
|
+
/** HTML element type */
|
|
35
|
+
component?: 'div' | 'section' | 'article' | 'main';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create Section component using the factory pattern
|
|
39
|
+
*/
|
|
40
|
+
export declare const Section: SerializableComponent<SectionProps>;
|
|
41
|
+
/**
|
|
42
|
+
* Export the component as default
|
|
43
|
+
*/
|
|
44
|
+
export default Section;
|
|
45
|
+
//# sourceMappingURL=Section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IACzE,6DAA6D;IAC7D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wBAAwB;IACxB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACpD;AAyGD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,qBAAqB,CAAC,YAAY,CAYtD,CAAC;AAgDH;;GAEG;AACH,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text - Factory-based typography component with serialization support
|
|
3
|
+
*
|
|
4
|
+
* Migrated from class-based ModelView to factory pattern for better
|
|
5
|
+
* schema-driven architecture while preserving all typography features.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Complete typography variant support (h1-h6, body1/2, subtitle, etc.)
|
|
9
|
+
* - Rich styling options (color, alignment, font properties)
|
|
10
|
+
* - Custom typography overrides (fontSize, fontFamily, etc.)
|
|
11
|
+
* - Semantic HTML element rendering
|
|
12
|
+
* - Text formatting and decoration options
|
|
13
|
+
* - Full serialization support via createSerializableView
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
16
|
+
*/
|
|
17
|
+
import { SerializableComponent } from '../shared/createSerializableView';
|
|
18
|
+
import { ViewProps } from '../shared/viewProps';
|
|
19
|
+
import TextSchema from '../../schemas/TextSchema';
|
|
20
|
+
import type { SchemaProps } from '@qwickapps/schema/src/types/ModelProps';
|
|
21
|
+
/**
|
|
22
|
+
* Props interface for Text component
|
|
23
|
+
* Uses SchemaProps<typeof TextSchema> for clean typing
|
|
24
|
+
*/
|
|
25
|
+
export type TextProps = ViewProps & SchemaProps<typeof TextSchema>;
|
|
26
|
+
/**
|
|
27
|
+
* Create Text component using the factory pattern
|
|
28
|
+
*/
|
|
29
|
+
export declare const Text: SerializableComponent<TextProps>;
|
|
30
|
+
/**
|
|
31
|
+
* Export the component as default
|
|
32
|
+
*/
|
|
33
|
+
export default Text;
|
|
34
|
+
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Text.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;AA6EnE;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAMhD,CAAC;AAoEH;;GAEG;AACH,eAAe,IAAI,CAAC"}
|