@qwickapps/react-framework 1.3.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/LICENSE +44 -0
- package/README.md +794 -0
- package/dist/components/AccessibilityChecker.d.ts +12 -0
- package/dist/components/AccessibilityChecker.d.ts.map +1 -0
- package/dist/components/Html.d.ts +48 -0
- package/dist/components/Html.d.ts.map +1 -0
- package/dist/components/Logo.d.ts +79 -0
- package/dist/components/Logo.d.ts.map +1 -0
- package/dist/components/Markdown.d.ts +47 -0
- package/dist/components/Markdown.d.ts.map +1 -0
- package/dist/components/QwickApp.d.ts +56 -0
- package/dist/components/QwickApp.d.ts.map +1 -0
- package/dist/components/QwickAppsLogo.d.ts +25 -0
- package/dist/components/QwickAppsLogo.d.ts.map +1 -0
- package/dist/components/ResponsiveMenu.d.ts +38 -0
- package/dist/components/ResponsiveMenu.d.ts.map +1 -0
- package/dist/components/SafeSpan.d.ts +23 -0
- package/dist/components/SafeSpan.d.ts.map +1 -0
- package/dist/components/Scaffold.d.ts +57 -0
- package/dist/components/Scaffold.d.ts.map +1 -0
- package/dist/components/blocks/Article.d.ts +23 -0
- package/dist/components/blocks/Article.d.ts.map +1 -0
- package/dist/components/blocks/CardListGrid.d.ts +23 -0
- package/dist/components/blocks/CardListGrid.d.ts.map +1 -0
- package/dist/components/blocks/Code.d.ts +21 -0
- package/dist/components/blocks/Code.d.ts.map +1 -0
- package/dist/components/blocks/Content.d.ts +24 -0
- package/dist/components/blocks/Content.d.ts.map +1 -0
- package/dist/components/blocks/CoverImageHeader.d.ts +44 -0
- package/dist/components/blocks/CoverImageHeader.d.ts.map +1 -0
- package/dist/components/blocks/FeatureCard.d.ts +66 -0
- package/dist/components/blocks/FeatureCard.d.ts.map +1 -0
- package/dist/components/blocks/FeatureGrid.d.ts +48 -0
- package/dist/components/blocks/FeatureGrid.d.ts.map +1 -0
- package/dist/components/blocks/Footer.d.ts +56 -0
- package/dist/components/blocks/Footer.d.ts.map +1 -0
- package/dist/components/blocks/HeroBlock.d.ts +33 -0
- package/dist/components/blocks/HeroBlock.d.ts.map +1 -0
- package/dist/components/blocks/PageBannerHeader.d.ts +30 -0
- package/dist/components/blocks/PageBannerHeader.d.ts.map +1 -0
- package/dist/components/blocks/ProductCard.d.ts +57 -0
- package/dist/components/blocks/ProductCard.d.ts.map +1 -0
- package/dist/components/blocks/Section.d.ts +40 -0
- package/dist/components/blocks/Section.d.ts.map +1 -0
- package/dist/components/blocks/index.d.ts +37 -0
- package/dist/components/blocks/index.d.ts.map +1 -0
- package/dist/components/buttons/Button.d.ts +38 -0
- package/dist/components/buttons/Button.d.ts.map +1 -0
- package/dist/components/buttons/PaletteSwitcher.d.ts +24 -0
- package/dist/components/buttons/PaletteSwitcher.d.ts.map +1 -0
- package/dist/components/buttons/ThemeSwitcher.d.ts +24 -0
- package/dist/components/buttons/ThemeSwitcher.d.ts.map +1 -0
- package/dist/components/buttons/index.d.ts +11 -0
- package/dist/components/buttons/index.d.ts.map +1 -0
- package/dist/components/forms/FormBlock.d.ts +45 -0
- package/dist/components/forms/FormBlock.d.ts.map +1 -0
- package/dist/components/forms/index.d.ts +8 -0
- package/dist/components/forms/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +32 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input/ChoiceInputField.d.ts +30 -0
- package/dist/components/input/ChoiceInputField.d.ts.map +1 -0
- package/dist/components/input/HtmlInputField.d.ts +29 -0
- package/dist/components/input/HtmlInputField.d.ts.map +1 -0
- package/dist/components/input/SelectInputField.d.ts +29 -0
- package/dist/components/input/SelectInputField.d.ts.map +1 -0
- package/dist/components/input/TextField.d.ts +18 -0
- package/dist/components/input/TextField.d.ts.map +1 -0
- package/dist/components/input/TextInputField.d.ts +32 -0
- package/dist/components/input/TextInputField.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +17 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/layout/GridCell.d.ts +16 -0
- package/dist/components/layout/GridCell.d.ts.map +1 -0
- package/dist/components/layout/GridCellWrapper.d.ts +46 -0
- package/dist/components/layout/GridCellWrapper.d.ts.map +1 -0
- package/dist/components/layout/GridLayout.d.ts +38 -0
- package/dist/components/layout/GridLayout.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +12 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/menu/Menu.d.ts +1 -0
- package/dist/components/menu/Menu.d.ts.map +1 -0
- package/dist/components/menu/MenuItem.d.ts +31 -0
- package/dist/components/menu/MenuItem.d.ts.map +1 -0
- package/dist/components/menu/index.d.ts +7 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/pages/FormPage.d.ts +66 -0
- package/dist/components/pages/FormPage.d.ts.map +1 -0
- package/dist/components/pages/Page.d.ts +124 -0
- package/dist/components/pages/Page.d.ts.map +1 -0
- package/dist/components/pages/index.d.ts +11 -0
- package/dist/components/pages/index.d.ts.map +1 -0
- package/dist/contexts/DataContext.d.ts +139 -0
- package/dist/contexts/DataContext.d.ts.map +1 -0
- package/dist/contexts/DimensionsContext.d.ts +42 -0
- package/dist/contexts/DimensionsContext.d.ts.map +1 -0
- package/dist/contexts/PaletteContext.d.ts +53 -0
- package/dist/contexts/PaletteContext.d.ts.map +1 -0
- package/dist/contexts/QwickAppContext.d.ts +71 -0
- package/dist/contexts/QwickAppContext.d.ts.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +65 -0
- package/dist/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +9 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useBaseProps.d.ts +101 -0
- package/dist/hooks/useBaseProps.d.ts.map +1 -0
- package/dist/hooks/useDataBinding.d.ts +22 -0
- package/dist/hooks/useDataBinding.d.ts.map +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.css +1 -0
- package/dist/index.esm.js +24143 -0
- package/dist/index.js +24245 -0
- package/dist/palettes/PaletteAutumn.d.ts +10 -0
- package/dist/palettes/PaletteAutumn.d.ts.map +1 -0
- package/dist/palettes/PaletteCosmic.d.ts +10 -0
- package/dist/palettes/PaletteCosmic.d.ts.map +1 -0
- package/dist/palettes/PaletteDefault.d.ts +10 -0
- package/dist/palettes/PaletteDefault.d.ts.map +1 -0
- package/dist/palettes/PaletteOcean.d.ts +10 -0
- package/dist/palettes/PaletteOcean.d.ts.map +1 -0
- package/dist/palettes/PaletteSpring.d.ts +10 -0
- package/dist/palettes/PaletteSpring.d.ts.map +1 -0
- package/dist/palettes/PaletteWinter.d.ts +10 -0
- package/dist/palettes/PaletteWinter.d.ts.map +1 -0
- package/dist/palettes/index.d.ts +13 -0
- package/dist/palettes/index.d.ts.map +1 -0
- package/dist/schemas/ActionSchema.d.ts +21 -0
- package/dist/schemas/ActionSchema.d.ts.map +1 -0
- package/dist/schemas/ArticleSchema.d.ts +13 -0
- package/dist/schemas/ArticleSchema.d.ts.map +1 -0
- package/dist/schemas/Builders.d.ts +7 -0
- package/dist/schemas/Builders.d.ts.map +1 -0
- package/dist/schemas/ButtonSchema.d.ts +19 -0
- package/dist/schemas/ButtonSchema.d.ts.map +1 -0
- package/dist/schemas/CardListGridSchema.d.ts +17 -0
- package/dist/schemas/CardListGridSchema.d.ts.map +1 -0
- package/dist/schemas/ChoiceInputFieldSchema.d.ts +18 -0
- package/dist/schemas/ChoiceInputFieldSchema.d.ts.map +1 -0
- package/dist/schemas/CodeSchema.d.ts +18 -0
- package/dist/schemas/CodeSchema.d.ts.map +1 -0
- package/dist/schemas/ContentSchema.d.ts +20 -0
- package/dist/schemas/ContentSchema.d.ts.map +1 -0
- package/dist/schemas/CoverImageHeaderSchema.d.ts +28 -0
- package/dist/schemas/CoverImageHeaderSchema.d.ts.map +1 -0
- package/dist/schemas/FeatureCardSchema.d.ts +28 -0
- package/dist/schemas/FeatureCardSchema.d.ts.map +1 -0
- package/dist/schemas/FeatureGridSchema.d.ts +17 -0
- package/dist/schemas/FeatureGridSchema.d.ts.map +1 -0
- package/dist/schemas/FeatureItemSchema.d.ts +16 -0
- package/dist/schemas/FeatureItemSchema.d.ts.map +1 -0
- package/dist/schemas/FooterItemSchema.d.ts +15 -0
- package/dist/schemas/FooterItemSchema.d.ts.map +1 -0
- package/dist/schemas/FooterSchema.d.ts +20 -0
- package/dist/schemas/FooterSchema.d.ts.map +1 -0
- package/dist/schemas/FooterSectionSchema.d.ts +15 -0
- package/dist/schemas/FooterSectionSchema.d.ts.map +1 -0
- package/dist/schemas/FormBlockSchema.d.ts +19 -0
- package/dist/schemas/FormBlockSchema.d.ts.map +1 -0
- package/dist/schemas/HeaderActionSchema.d.ts +17 -0
- package/dist/schemas/HeaderActionSchema.d.ts.map +1 -0
- package/dist/schemas/HeroBlockSchema.d.ts +22 -0
- package/dist/schemas/HeroBlockSchema.d.ts.map +1 -0
- package/dist/schemas/HtmlInputFieldSchema.d.ts +18 -0
- package/dist/schemas/HtmlInputFieldSchema.d.ts.map +1 -0
- package/dist/schemas/MetadataItemSchema.d.ts +13 -0
- package/dist/schemas/MetadataItemSchema.d.ts.map +1 -0
- package/dist/schemas/PageBannerHeaderSchema.d.ts +28 -0
- package/dist/schemas/PageBannerHeaderSchema.d.ts.map +1 -0
- package/dist/schemas/PaletteSwitcherSchema.d.ts +16 -0
- package/dist/schemas/PaletteSwitcherSchema.d.ts.map +1 -0
- package/dist/schemas/ProductCardSchema.d.ts +39 -0
- package/dist/schemas/ProductCardSchema.d.ts.map +1 -0
- package/dist/schemas/SafeSpanSchema.d.ts +13 -0
- package/dist/schemas/SafeSpanSchema.d.ts.map +1 -0
- package/dist/schemas/SectionSchema.d.ts +17 -0
- package/dist/schemas/SectionSchema.d.ts.map +1 -0
- package/dist/schemas/SelectInputFieldSchema.d.ts +27 -0
- package/dist/schemas/SelectInputFieldSchema.d.ts.map +1 -0
- package/dist/schemas/TextInputFieldSchema.d.ts +22 -0
- package/dist/schemas/TextInputFieldSchema.d.ts.map +1 -0
- package/dist/schemas/ThemeSwitcherSchema.d.ts +19 -0
- package/dist/schemas/ThemeSwitcherSchema.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +33 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/types.d.ts +7 -0
- package/dist/schemas/types.d.ts.map +1 -0
- package/dist/templates/TemplateResolver.d.ts +52 -0
- package/dist/templates/TemplateResolver.d.ts.map +1 -0
- package/dist/templates/index.d.ts +7 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/tests/ConsoleWarningTest.d.ts +5 -0
- package/dist/tests/ConsoleWarningTest.d.ts.map +1 -0
- package/dist/tests/StorageKeyTest.d.ts +6 -0
- package/dist/tests/StorageKeyTest.d.ts.map +1 -0
- package/dist/tests/ThemeStorageKeyTest.d.ts +6 -0
- package/dist/tests/ThemeStorageKeyTest.d.ts.map +1 -0
- package/dist/types/CacheProvider.d.ts +18 -0
- package/dist/types/CacheProvider.d.ts.map +1 -0
- package/dist/types/ContentProxy.d.ts +47 -0
- package/dist/types/ContentProxy.d.ts.map +1 -0
- package/dist/types/DataBinding.d.ts +7 -0
- package/dist/types/DataBinding.d.ts.map +1 -0
- package/dist/types/DataProvider.d.ts +7 -0
- package/dist/types/DataProvider.d.ts.map +1 -0
- package/dist/types/DataTypes.d.ts +185 -0
- package/dist/types/DataTypes.d.ts.map +1 -0
- package/dist/types/TemplateProvider.d.ts +10 -0
- package/dist/types/TemplateProvider.d.ts.map +1 -0
- package/dist/types/TemplateResolver.d.ts +23 -0
- package/dist/types/TemplateResolver.d.ts.map +1 -0
- package/dist/types/index.d.ts +81 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/breakpoints.d.ts +35 -0
- package/dist/utils/breakpoints.d.ts.map +1 -0
- package/dist/utils/customPaletteManager.d.ts +8 -0
- package/dist/utils/customPaletteManager.d.ts.map +1 -0
- package/dist/utils/dimensions.d.ts +34 -0
- package/dist/utils/dimensions.d.ts.map +1 -0
- package/dist/utils/htmlTransform.d.ts +44 -0
- package/dist/utils/htmlTransform.d.ts.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/paletteUtils.d.ts +38 -0
- package/dist/utils/paletteUtils.d.ts.map +1 -0
- package/dist/utils/persistenceUtils.d.ts +31 -0
- package/dist/utils/persistenceUtils.d.ts.map +1 -0
- package/dist/utils/reactUtils.d.ts +24 -0
- package/dist/utils/reactUtils.d.ts.map +1 -0
- package/dist/utils/spacing.d.ts +34 -0
- package/dist/utils/spacing.d.ts.map +1 -0
- package/dist/utils/themePerformanceMonitor.d.ts +32 -0
- package/dist/utils/themePerformanceMonitor.d.ts.map +1 -0
- package/dist/utils/themeUtils.d.ts +27 -0
- package/dist/utils/themeUtils.d.ts.map +1 -0
- package/package.json +141 -0
- package/src/__tests__/components/Logo.test.js +172 -0
- package/src/__tests__/contexts/DataContext.test.js +505 -0
- package/src/__tests__/contexts/PaletteContext.test.js +115 -0
- package/src/__tests__/contexts/ThemeContext.test.js +123 -0
- package/src/__tests__/utils/paletteUtils.test.js +142 -0
- package/src/__tests__/utils/themeUtils.test.js +142 -0
- package/src/components/AccessibilityChecker.tsx +264 -0
- package/src/components/Html.tsx +191 -0
- package/src/components/Logo.css +217 -0
- package/src/components/Logo.tsx +370 -0
- package/src/components/Markdown.tsx +191 -0
- package/src/components/QwickApp.css +257 -0
- package/src/components/QwickApp.tsx +157 -0
- package/src/components/QwickAppsLogo.tsx +77 -0
- package/src/components/ResponsiveMenu.css +416 -0
- package/src/components/ResponsiveMenu.tsx +310 -0
- package/src/components/SafeSpan.tsx +128 -0
- package/src/components/Scaffold.css +541 -0
- package/src/components/Scaffold.tsx +463 -0
- package/src/components/__tests__/Article.test.tsx +419 -0
- package/src/components/__tests__/Button.test.tsx +702 -0
- package/src/components/__tests__/CardListGrid.test.tsx +478 -0
- package/src/components/__tests__/ChoiceInputField.test.tsx +864 -0
- package/src/components/__tests__/Code.test.tsx +595 -0
- package/src/components/__tests__/Content.integration.test.tsx +193 -0
- package/src/components/__tests__/Content.test.tsx +504 -0
- package/src/components/__tests__/CoverImageHeader.test.tsx +456 -0
- package/src/components/__tests__/FeatureCard.integration.test.tsx +384 -0
- package/src/components/__tests__/FeatureGrid.integration.test.tsx +364 -0
- package/src/components/__tests__/FeatureGrid.test.tsx +494 -0
- package/src/components/__tests__/Footer.test.tsx +544 -0
- package/src/components/__tests__/FormBlock.test.tsx +857 -0
- package/src/components/__tests__/HeroBlock.integration.test.tsx +272 -0
- package/src/components/__tests__/HeroBlock.test.tsx +463 -0
- package/src/components/__tests__/Html.test.tsx +174 -0
- package/src/components/__tests__/HtmlInputField.test.tsx +856 -0
- package/src/components/__tests__/Markdown.test.tsx +233 -0
- package/src/components/__tests__/PageBannerHeader.test.tsx +614 -0
- package/src/components/__tests__/PaletteSwitcher.test.tsx +864 -0
- package/src/components/__tests__/ProductCard.test.tsx +377 -0
- package/src/components/__tests__/SafeSpan.integration.test.tsx +123 -0
- package/src/components/__tests__/SafeSpan.simple.test.tsx +65 -0
- package/src/components/__tests__/SafeSpan.test.tsx +388 -0
- package/src/components/__tests__/Section.integration.test.tsx +288 -0
- package/src/components/__tests__/Section.test.tsx +494 -0
- package/src/components/__tests__/SelectInputField.test.tsx +886 -0
- package/src/components/__tests__/TextInputField.test.tsx +749 -0
- package/src/components/__tests__/ThemeSwitcher.test.tsx +777 -0
- package/src/components/blocks/Article.tsx +194 -0
- package/src/components/blocks/CardListGrid.tsx +132 -0
- package/src/components/blocks/Code.tsx +313 -0
- package/src/components/blocks/Content.tsx +265 -0
- package/src/components/blocks/CoverImageHeader.css +17 -0
- package/src/components/blocks/CoverImageHeader.tsx +435 -0
- package/src/components/blocks/FeatureCard.tsx +321 -0
- package/src/components/blocks/FeatureGrid.tsx +147 -0
- package/src/components/blocks/Footer.tsx +343 -0
- package/src/components/blocks/HeroBlock.tsx +280 -0
- package/src/components/blocks/PageBannerHeader.tsx +471 -0
- package/src/components/blocks/ProductCard.tsx +472 -0
- package/src/components/blocks/Section.tsx +209 -0
- package/src/components/blocks/index.ts +37 -0
- package/src/components/buttons/Button.tsx +233 -0
- package/src/components/buttons/PaletteSwitcher.tsx +268 -0
- package/src/components/buttons/ThemeSwitcher.tsx +283 -0
- package/src/components/buttons/index.ts +11 -0
- package/src/components/forms/FormBlock.tsx +291 -0
- package/src/components/forms/index.ts +7 -0
- package/src/components/index.ts +37 -0
- package/src/components/input/ChoiceInputField.tsx +188 -0
- package/src/components/input/HtmlInputField.tsx +326 -0
- package/src/components/input/SelectInputField.tsx +197 -0
- package/src/components/input/TextField.tsx +47 -0
- package/src/components/input/TextInputField.tsx +144 -0
- package/src/components/input/index.ts +17 -0
- package/src/components/layout/GridCell.tsx +46 -0
- package/src/components/layout/GridCellWrapper.tsx +87 -0
- package/src/components/layout/GridLayout.tsx +169 -0
- package/src/components/layout/index.ts +13 -0
- package/src/components/menu/Menu.tsx +0 -0
- package/src/components/menu/MenuItem.tsx +32 -0
- package/src/components/menu/index.ts +6 -0
- package/src/components/pages/FormPage.tsx +108 -0
- package/src/components/pages/Page.css +460 -0
- package/src/components/pages/Page.tsx +345 -0
- package/src/components/pages/index.ts +11 -0
- package/src/contexts/DataContext.tsx +355 -0
- package/src/contexts/DimensionsContext.tsx +154 -0
- package/src/contexts/PaletteContext.tsx +217 -0
- package/src/contexts/QwickAppContext.tsx +95 -0
- package/src/contexts/ThemeContext.tsx +376 -0
- package/src/contexts/index.ts +9 -0
- package/src/hooks/__tests__/useDataBinding.test.tsx.disabled +229 -0
- package/src/hooks/index.ts +11 -0
- package/src/hooks/useBaseProps.ts +267 -0
- package/src/hooks/useDataBinding.ts +77 -0
- package/src/index.ts +23 -0
- package/src/palettes/PaletteAutumn.css +172 -0
- package/src/palettes/PaletteAutumn.ts +16 -0
- package/src/palettes/PaletteCosmic.css +172 -0
- package/src/palettes/PaletteCosmic.ts +16 -0
- package/src/palettes/PaletteDefault.css +178 -0
- package/src/palettes/PaletteDefault.ts +17 -0
- package/src/palettes/PaletteOcean.css +172 -0
- package/src/palettes/PaletteOcean.ts +16 -0
- package/src/palettes/PaletteSpring.css +160 -0
- package/src/palettes/PaletteSpring.ts +16 -0
- package/src/palettes/PaletteWinter.css +172 -0
- package/src/palettes/PaletteWinter.ts +16 -0
- package/src/palettes/index.css +12 -0
- package/src/palettes/index.ts +29 -0
- package/src/schemas/ActionSchema.ts +140 -0
- package/src/schemas/ArticleSchema.ts +35 -0
- package/src/schemas/ButtonSchema.ts +99 -0
- package/src/schemas/CardListGridSchema.ts +102 -0
- package/src/schemas/ChoiceInputFieldSchema.ts +89 -0
- package/src/schemas/CodeSchema.ts +88 -0
- package/src/schemas/ContentSchema.ts +128 -0
- package/src/schemas/CoverImageHeaderSchema.ts +208 -0
- package/src/schemas/FeatureCardSchema.ts +161 -0
- package/src/schemas/FeatureGridSchema.ts +87 -0
- package/src/schemas/FeatureItemSchema.ts +68 -0
- package/src/schemas/FooterItemSchema.ts +57 -0
- package/src/schemas/FooterSchema.ts +116 -0
- package/src/schemas/FooterSectionSchema.ts +50 -0
- package/src/schemas/FormBlockSchema.ts +102 -0
- package/src/schemas/HeaderActionSchema.ts +83 -0
- package/src/schemas/HeroBlockSchema.ts +149 -0
- package/src/schemas/HtmlInputFieldSchema.ts +88 -0
- package/src/schemas/MetadataItemSchema.ts +35 -0
- package/src/schemas/PageBannerHeaderSchema.ts +206 -0
- package/src/schemas/PaletteSwitcherSchema.ts +66 -0
- package/src/schemas/ProductCardSchema.ts +264 -0
- package/src/schemas/SafeSpanSchema.ts +36 -0
- package/src/schemas/SectionSchema.ts +106 -0
- package/src/schemas/SelectInputFieldSchema.ts +137 -0
- package/src/schemas/TextInputFieldSchema.ts +129 -0
- package/src/schemas/ThemeSwitcherSchema.ts +97 -0
- package/src/schemas/__tests__/builders.test.ts +313 -0
- package/src/schemas/index.ts +34 -0
- package/src/setupTests.js +60 -0
- package/src/stories/Article.stories.tsx +549 -0
- package/src/stories/Button.stories.tsx +498 -0
- package/src/stories/CardListGrid.stories.tsx +539 -0
- package/src/stories/ChoiceInputField.stories.tsx +591 -0
- package/src/stories/Code.stories.tsx +711 -0
- package/src/stories/Content.stories.tsx +463 -0
- package/src/stories/CoverImageHeader.stories.tsx +794 -0
- package/src/stories/DataBinding.advanced.stories.tsx +548 -0
- package/src/stories/DataBinding.stories.tsx +452 -0
- package/src/stories/DataProvider.stories.tsx +1361 -0
- package/src/stories/FeatureCard.stories.tsx +642 -0
- package/src/stories/FeatureGrid.stories.tsx +669 -0
- package/src/stories/Footer.stories.tsx +724 -0
- package/src/stories/FormBlock.stories.tsx +834 -0
- package/src/stories/HeroBlock.stories.tsx +442 -0
- package/src/stories/Html.stories.tsx +264 -0
- package/src/stories/HtmlInputField.stories.tsx +558 -0
- package/src/stories/Introduction.stories.tsx +721 -0
- package/src/stories/LayoutBlocks.stories.tsx +382 -0
- package/src/stories/LayoutSystem.stories.tsx +253 -0
- package/src/stories/Logo.stories.tsx +400 -0
- package/src/stories/Markdown.stories.tsx +349 -0
- package/src/stories/Page.stories.tsx +762 -0
- package/src/stories/PageBannerHeader.stories.tsx +949 -0
- package/src/stories/PaletteSwitcher.stories.tsx +156 -0
- package/src/stories/ProductCard.stories.tsx +504 -0
- package/src/stories/QwickApp.stories.tsx +461 -0
- package/src/stories/ResponsiveMenu.stories.tsx +299 -0
- package/src/stories/SafeSpan.stories.tsx +612 -0
- package/src/stories/Section.stories.tsx +613 -0
- package/src/stories/SelectInputField.stories.tsx +605 -0
- package/src/stories/TextInputField.stories.tsx +526 -0
- package/src/stories/ThemeSwitcher.stories.tsx +170 -0
- package/src/stories/form/FormComponents.stories.tsx +588 -0
- package/src/templates/TemplateResolver.ts +156 -0
- package/src/templates/index.ts +6 -0
- package/src/tests/ConsoleWarningTest.tsx +30 -0
- package/src/tests/StorageKeyTest.tsx +110 -0
- package/src/tests/ThemeStorageKeyTest.tsx +114 -0
- package/src/types/CacheProvider.ts +14 -0
- package/src/types/ContentProxy.ts +99 -0
- package/src/types/DataTypes.ts +196 -0
- package/src/types/TemplateProvider.ts +9 -0
- package/src/types/TemplateResolver.ts +26 -0
- package/src/types/index.ts +99 -0
- package/src/utils/__tests__/createDataDrivenComponent.test.tsx.disabled +193 -0
- package/src/utils/__tests__/htmlTransform.test.tsx +255 -0
- package/src/utils/breakpoints.ts +87 -0
- package/src/utils/customPaletteManager.js +214 -0
- package/src/utils/dimensions.ts +147 -0
- package/src/utils/htmlTransform.tsx +323 -0
- package/src/utils/index.ts +16 -0
- package/src/utils/logger.ts +28 -0
- package/src/utils/paletteUtils.ts +78 -0
- package/src/utils/persistenceUtils.ts +107 -0
- package/src/utils/reactUtils.tsx +37 -0
- package/src/utils/spacing.ts +155 -0
- package/src/utils/themePerformanceMonitor.js +113 -0
- package/src/utils/themeUtils.ts +67 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for PaletteSwitcher component - Color palette switching control
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
export declare class PaletteSwitcherModel extends Model {
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
buttonSize?: 'small' | 'medium' | 'large';
|
|
11
|
+
tooltipText?: string;
|
|
12
|
+
showActiveBadge?: boolean;
|
|
13
|
+
showDescriptions?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export default PaletteSwitcherModel;
|
|
16
|
+
//# sourceMappingURL=PaletteSwitcherSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaletteSwitcherSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/PaletteSwitcherSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E,qBACa,oBAAqB,SAAQ,KAAK;IAS7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAW1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAU1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProductCard Schema - Schema definition for ProductCard component
|
|
3
|
+
*
|
|
4
|
+
* Defines the data structure and form editors for the ProductCard component
|
|
5
|
+
* using the declarative Model pattern with decorators.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
import 'reflect-metadata';
|
|
10
|
+
import { Model } from '@qwickapps/schema';
|
|
11
|
+
export declare class ProductModel extends Model {
|
|
12
|
+
id?: string;
|
|
13
|
+
name?: string;
|
|
14
|
+
category?: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
shortDescription?: string;
|
|
17
|
+
features?: string[];
|
|
18
|
+
technologies?: string[];
|
|
19
|
+
status?: string;
|
|
20
|
+
image?: string;
|
|
21
|
+
url?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class ProductCardActionModel extends Model {
|
|
24
|
+
id?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
variant?: 'contained' | 'outlined' | 'text';
|
|
27
|
+
color?: 'primary' | 'secondary' | 'error';
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare class ProductCardModel extends Model {
|
|
31
|
+
product?: ProductModel;
|
|
32
|
+
variant?: 'compact' | 'detailed';
|
|
33
|
+
actions?: ProductCardActionModel[];
|
|
34
|
+
showImage?: boolean;
|
|
35
|
+
showTechnologies?: boolean;
|
|
36
|
+
maxFeaturesCompact?: number;
|
|
37
|
+
}
|
|
38
|
+
export default ProductCardModel;
|
|
39
|
+
//# sourceMappingURL=ProductCardSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductCardSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/ProductCardSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAuB,MAAM,mBAAmB,CAAC;AAEtF,qBACa,YAAa,SAAQ,KAAK;IAUrC,EAAE,CAAC,EAAE,MAAM,CAAC;IAWZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAUd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAUlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAWrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAU1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAUpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAUxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAWhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAWf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBACa,sBAAuB,SAAQ,KAAK;IAU/C,EAAE,CAAC,EAAE,MAAM,CAAC;IAUZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAiBf,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAiB5C,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAS1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,gBAAiB,SAAQ,KAAK;IAUzC,OAAO,CAAC,EAAE,YAAY,CAAC;IAgBvB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAYjC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IASnC,SAAS,CAAC,EAAE,OAAO,CAAC;IASpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAa3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for SafeSpan component - Safely renders HTML content with sanitization
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
export declare class SafeSpanModel extends Model {
|
|
9
|
+
html?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
}
|
|
12
|
+
export default SafeSpanModel;
|
|
13
|
+
//# sourceMappingURL=SafeSpanSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeSpanSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/SafeSpanSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E,qBACa,aAAc,SAAQ,KAAK;IAUtC,IAAI,CAAC,EAAE,MAAM,CAAC;IAWd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for Section component - Themed, responsive section container
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
export declare class SectionModel extends Model {
|
|
9
|
+
children?: string;
|
|
10
|
+
background?: string;
|
|
11
|
+
color?: string;
|
|
12
|
+
padding?: 'none' | 'tiny' | 'small' | 'medium' | 'large' | 'extra-large';
|
|
13
|
+
contentMaxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'false';
|
|
14
|
+
component?: 'section' | 'div' | 'article' | 'main';
|
|
15
|
+
}
|
|
16
|
+
export default SectionModel;
|
|
17
|
+
//# sourceMappingURL=SectionSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/SectionSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E,qBACa,YAAa,SAAQ,KAAK;IAUrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAWlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAWpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAoBf,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IAoBzE,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;IAkB7D,SAAS,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;CACpD;AAGD,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for SelectInputField component - Select dropdown with options
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
/**
|
|
9
|
+
* Select option definition for dropdown items
|
|
10
|
+
*/
|
|
11
|
+
export declare class SelectOption {
|
|
12
|
+
value?: string | number;
|
|
13
|
+
label?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class SelectInputFieldModel extends Model {
|
|
17
|
+
label?: string;
|
|
18
|
+
value?: string | number;
|
|
19
|
+
options?: SelectOption[];
|
|
20
|
+
required?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
error?: string;
|
|
23
|
+
helperText?: string;
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
}
|
|
26
|
+
export default SelectInputFieldModel;
|
|
27
|
+
//# sourceMappingURL=SelectInputFieldSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectInputFieldSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/SelectInputFieldSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E;;GAEG;AACH,qBAAa,YAAY;IASvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAUxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,qBAAsB,SAAQ,KAAK;IAU9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAWf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAYxB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAUzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAWf,UAAU,CAAC,EAAE,MAAM,CAAC;IAWpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for TextInputField component - Reusable text input with consistent styling
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
export declare class TextInputFieldModel extends Model {
|
|
9
|
+
label?: string;
|
|
10
|
+
value?: string;
|
|
11
|
+
required?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
error?: string;
|
|
14
|
+
helperText?: string;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
type?: string;
|
|
17
|
+
multiline?: boolean;
|
|
18
|
+
rows?: number;
|
|
19
|
+
maxRows?: number;
|
|
20
|
+
}
|
|
21
|
+
export default TextInputFieldModel;
|
|
22
|
+
//# sourceMappingURL=TextInputFieldSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInputFieldSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/TextInputFieldSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E,qBACa,mBAAoB,SAAQ,KAAK;IAS5C,KAAK,CAAC,EAAE,MAAM,CAAC;IAWf,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAUnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAWf,UAAU,CAAC,EAAE,MAAM,CAAC;IAWpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAWrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAUd,SAAS,CAAC,EAAE,OAAO,CAAC;IAUpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAUd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema for ThemeSwitcher component - Theme selection control
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { Model } from '@qwickapps/schema';
|
|
8
|
+
export declare class ThemeSwitcherModel extends Model {
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
size?: 'small' | 'medium' | 'large';
|
|
11
|
+
tooltipText?: string;
|
|
12
|
+
showTooltip?: boolean;
|
|
13
|
+
menuPosition?: 'bottom' | 'top' | 'left' | 'right';
|
|
14
|
+
showLightTheme?: boolean;
|
|
15
|
+
showDarkTheme?: boolean;
|
|
16
|
+
showSystemTheme?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export default ThemeSwitcherModel;
|
|
19
|
+
//# sourceMappingURL=ThemeSwitcherSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeSwitcherSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/ThemeSwitcherSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAyB,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAE5E,qBACa,kBAAmB,SAAQ,KAAK;IAS3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAWnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAWpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,WAAW,CAAC,EAAE,OAAO,CAAC;IAWtB,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAUnD,cAAc,CAAC,EAAE,OAAO,CAAC;IAUzB,aAAa,CAAC,EAAE,OAAO,CAAC;IAUxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schemas Module - Declarative Model schema definitions
|
|
3
|
+
*
|
|
4
|
+
* Exports all Model classes and their type-safe props using the new
|
|
5
|
+
* declarative pattern with @Schema, @Field, and @Editor decorators.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
export * from './ActionSchema';
|
|
10
|
+
export * from './ArticleSchema';
|
|
11
|
+
export * from './CardListGridSchema';
|
|
12
|
+
export * from './ChoiceInputFieldSchema';
|
|
13
|
+
export * from './CodeSchema';
|
|
14
|
+
export * from './ContentSchema';
|
|
15
|
+
export * from './CoverImageHeaderSchema';
|
|
16
|
+
export * from './FeatureCardSchema';
|
|
17
|
+
export * from './FeatureGridSchema';
|
|
18
|
+
export * from './FeatureItemSchema';
|
|
19
|
+
export * from './FooterItemSchema';
|
|
20
|
+
export * from './FormBlockSchema';
|
|
21
|
+
export * from './FooterSchema';
|
|
22
|
+
export * from './FooterSectionSchema';
|
|
23
|
+
export * from './HeaderActionSchema';
|
|
24
|
+
export * from './HeroBlockSchema';
|
|
25
|
+
export * from './MetadataItemSchema';
|
|
26
|
+
export * from './PageBannerHeaderSchema';
|
|
27
|
+
export * from './PaletteSwitcherSchema';
|
|
28
|
+
export * from './ProductCardSchema';
|
|
29
|
+
export * from './SafeSpanSchema';
|
|
30
|
+
export * from './SectionSchema';
|
|
31
|
+
export * from './TextInputFieldSchema';
|
|
32
|
+
export * from './ThemeSwitcherSchema';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema types - Re-exported from @qwickapps/schema
|
|
3
|
+
*
|
|
4
|
+
* @deprecated Import directly from '@qwickapps/schema' instead
|
|
5
|
+
*/
|
|
6
|
+
export { Schema, Model, FieldDefinition, DataType, FieldType, ValidationRules, EditorConfig } from '@qwickapps/schema';
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schemas/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,EACL,eAAe,EACf,QAAQ,EACR,SAAS,EACT,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DataResponse, Model, SelectOptions } from '@qwickapps/schema';
|
|
2
|
+
import { ITemplateResolver, TemplateResolverConfig } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* ContentResolver - Combines data, template, and cache providers
|
|
5
|
+
*
|
|
6
|
+
* This class follows the orchestrator pattern:
|
|
7
|
+
* - Delegates data fetching to IDataProvider
|
|
8
|
+
* - Delegates template resolution to ITemplateResolver
|
|
9
|
+
* - Optionally wraps data provider with ICacheProvider
|
|
10
|
+
* - Creates ContentProxy objects for framework compatibility
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const resolver = new ContentResolver({
|
|
15
|
+
* dataProvider: new JsonDataProvider({ data: {...} }),
|
|
16
|
+
* templateResolver: new MustacheTemplateResolver(),
|
|
17
|
+
* cacheProvider: new MemoryCacheProvider({ maxSize: 50, defaultTtl: 60000 })
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Or with boolean cacheProvider (uses default MemoryCacheProvider)
|
|
21
|
+
* const resolver = new ContentResolver({
|
|
22
|
+
* dataProvider: new JsonDataProvider({ data: {...} }),
|
|
23
|
+
* cacheProvider: true
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Or no caching
|
|
27
|
+
* const resolver = new ContentResolver({
|
|
28
|
+
* dataProvider: new JsonDataProvider({ data: {...} }),
|
|
29
|
+
* cacheProvider: false // or omit entirely
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class TemplateResolver implements ITemplateResolver {
|
|
34
|
+
private dataProvider;
|
|
35
|
+
private templateResolver;
|
|
36
|
+
private cacheProvider?;
|
|
37
|
+
private enableLogging;
|
|
38
|
+
private log;
|
|
39
|
+
constructor(config: TemplateResolverConfig);
|
|
40
|
+
get<T extends Model>(slug: string): Promise<DataResponse<T>>;
|
|
41
|
+
select<T extends Model>(schema: string, options?: SelectOptions): Promise<DataResponse<T[]>>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolve template with lazy context loading
|
|
44
|
+
*/
|
|
45
|
+
resolveTemplate(template: string): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Create lazy loading context for template resolution
|
|
48
|
+
* Only fetches data when accessed by mustache template
|
|
49
|
+
*/
|
|
50
|
+
private createLazyContext;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=TemplateResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateResolver.d.ts","sourceRoot":"","sources":["../../src/templates/TemplateResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAsB,YAAY,EAAsD,KAAK,EAA4B,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzK,OAAO,EAEL,iBAAiB,EAEjB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAwB;IAC9C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;gBAER,MAAM,EAAE,sBAAsB;IA4BpC,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI5D,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAIlG;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAG,MAAM,CAAE;IAsB3D;;;OAGG;YACW,iBAAiB;CAsChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleWarningTest.d.ts","sourceRoot":"","sources":["../../src/tests/ConsoleWarningTest.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAqBzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageKeyTest.d.ts","sourceRoot":"","sources":["../../src/tests/StorageKeyTest.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAqDH,MAAM,CAAC,OAAO,UAAU,cAAc,4CAqDrC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Storage Key Strategy Test Component
|
|
3
|
+
* Demonstrates the three different storage strategies for ThemeProvider
|
|
4
|
+
*/
|
|
5
|
+
export default function ThemeStorageKeyTest(): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ThemeStorageKeyTest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeStorageKeyTest.d.ts","sourceRoot":"","sources":["../../src/tests/ThemeStorageKeyTest.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAwDH,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAsD1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure cache provider interface - Single Responsibility: Caching only
|
|
3
|
+
*/
|
|
4
|
+
export interface ICacheProvider<T> {
|
|
5
|
+
/** Get cached value by key */
|
|
6
|
+
get(key: string): T | null;
|
|
7
|
+
/** Set cached value with optional TTL */
|
|
8
|
+
set(key: string, value: T, ttl?: number): void;
|
|
9
|
+
/** Clear cache entry or all entries */
|
|
10
|
+
clear(key?: string): void;
|
|
11
|
+
/** Get cache statistics */
|
|
12
|
+
getStats?(): {
|
|
13
|
+
size: number;
|
|
14
|
+
maxSize: number;
|
|
15
|
+
keys: string[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=CacheProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheProvider.d.ts","sourceRoot":"","sources":["../../src/types/CacheProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3B,yCAAyC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,uCAAuC;IACvC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2BAA2B;IAC3B,QAAQ,CAAC,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;KAAE,CAAC;CACjE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DataProxy class to enhance Data with nested property access
|
|
3
|
+
* This class wraps a Data object and provides a proxy to allow
|
|
4
|
+
* accessing nested properties using dot notation, e.g., {{company.name}}
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2024 QwickApps.com. All rights reserved.
|
|
7
|
+
*/
|
|
8
|
+
import { Data, Field, FieldGroup, Action } from "./DataTypes";
|
|
9
|
+
/**
|
|
10
|
+
* Enhanced data with nested property access for template resolution
|
|
11
|
+
* Supports deep nested access like {{company.profile.address.city}}
|
|
12
|
+
*/
|
|
13
|
+
export declare class DataProxy implements Data {
|
|
14
|
+
name: string;
|
|
15
|
+
type: string;
|
|
16
|
+
title?: string;
|
|
17
|
+
subtitle?: string;
|
|
18
|
+
overline?: string;
|
|
19
|
+
icon?: string;
|
|
20
|
+
fields?: Field[];
|
|
21
|
+
fieldGroups?: FieldGroup[];
|
|
22
|
+
actions?: Action[];
|
|
23
|
+
repeatable?: boolean;
|
|
24
|
+
minRows?: number;
|
|
25
|
+
maxRows?: number;
|
|
26
|
+
autoCreate?: boolean;
|
|
27
|
+
private data;
|
|
28
|
+
constructor(content: Data, data?: Record<string, any>);
|
|
29
|
+
/**
|
|
30
|
+
* Get nested value from data using dot notation
|
|
31
|
+
* Supports: company.name, user.profile.avatar.url, etc.
|
|
32
|
+
*/
|
|
33
|
+
private getNestedValue;
|
|
34
|
+
/**
|
|
35
|
+
* Set nested value in data using dot notation
|
|
36
|
+
*/
|
|
37
|
+
setNestedValue(path: string, value: any): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get all data including nested structures
|
|
40
|
+
*/
|
|
41
|
+
getData(): Record<string, any>;
|
|
42
|
+
/**
|
|
43
|
+
* Update data while preserving nested structure
|
|
44
|
+
*/
|
|
45
|
+
updateData(newData: Record<string, any>): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ContentProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentProxy.d.ts","sourceRoot":"","sources":["../../src/types/ContentProxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9D;;;GAGG;AACH,qBAAa,SAAU,YAAW,IAAI;IAC7B,IAAI,EAAG,MAAM,CAAC;IACd,IAAI,EAAG,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IAE5B,OAAO,CAAC,IAAI,CAAsB;gBAEtB,OAAO,EAAE,IAAI,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAkBzD;;;OAGG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAgBrD;;OAEG;IACI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIrC;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAGtD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data binding types - Re-exported from @qwickapps/schema
|
|
3
|
+
*
|
|
4
|
+
* @deprecated Import directly from '@qwickapps/schema' instead
|
|
5
|
+
*/
|
|
6
|
+
export { DataBindingProps, DataBindingMeta, DataBindingOptions, WithDataBinding, DataBindingResult } from '@qwickapps/schema';
|
|
7
|
+
//# sourceMappingURL=DataBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataBinding.d.ts","sourceRoot":"","sources":["../../src/types/DataBinding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data provider interface - Re-exported from @qwickapps/schema
|
|
3
|
+
*
|
|
4
|
+
* @deprecated Import directly from '@qwickapps/schema' instead
|
|
5
|
+
*/
|
|
6
|
+
export { IDataProvider, DataResponse, ModelInstance, SelectOptions } from '@qwickapps/schema';
|
|
7
|
+
//# sourceMappingURL=DataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/types/DataProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Types for QwickApps React Framework
|
|
3
|
+
*
|
|
4
|
+
* These interfaces define the framework-agnostic content structure that can be
|
|
5
|
+
* automatically created and managed across different CMS systems and used
|
|
6
|
+
* for template resolution and component rendering.
|
|
7
|
+
*
|
|
8
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Base content structure - common properties for all content elements
|
|
12
|
+
*/
|
|
13
|
+
export interface BaseContent {
|
|
14
|
+
/** Unique identifier for this content element */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Display title for this content element */
|
|
17
|
+
title?: string;
|
|
18
|
+
/** Subtitle or description */
|
|
19
|
+
subtitle?: string;
|
|
20
|
+
/** Short text displayed above the title */
|
|
21
|
+
overline?: string;
|
|
22
|
+
/** Icon identifier or URL for this content element */
|
|
23
|
+
icon?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Individual content field definition
|
|
27
|
+
*/
|
|
28
|
+
export interface Field extends BaseContent {
|
|
29
|
+
/** The type of field */
|
|
30
|
+
type: string;
|
|
31
|
+
/** Current value of the field */
|
|
32
|
+
value?: any;
|
|
33
|
+
/** Default value for the field */
|
|
34
|
+
defaultValue?: any;
|
|
35
|
+
/** Whether this field is required */
|
|
36
|
+
required?: boolean;
|
|
37
|
+
/** Placeholder text for input fields */
|
|
38
|
+
placeholder?: string;
|
|
39
|
+
/** Help text or instructions */
|
|
40
|
+
instructions?: string;
|
|
41
|
+
/** Options for select/radio/checkbox fields */
|
|
42
|
+
choices?: Array<{
|
|
43
|
+
label: string;
|
|
44
|
+
value: any;
|
|
45
|
+
}>;
|
|
46
|
+
/** Minimum value (for numbers) or length (for text) */
|
|
47
|
+
min?: number;
|
|
48
|
+
/** Maximum value (for numbers) or length (for text) */
|
|
49
|
+
max?: number;
|
|
50
|
+
/** Regular expression for validation */
|
|
51
|
+
pattern?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* HTTP methods for form submission
|
|
55
|
+
*/
|
|
56
|
+
export declare enum FormMethod {
|
|
57
|
+
POST = "POST",
|
|
58
|
+
PUT = "PUT",
|
|
59
|
+
PATCH = "PATCH"
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Action types for interactive elements
|
|
63
|
+
*/
|
|
64
|
+
export declare enum ActionType {
|
|
65
|
+
NAVIGATE = "navigate",
|
|
66
|
+
SUBMIT = "submit",
|
|
67
|
+
RESET = "reset",
|
|
68
|
+
CANCEL = "cancel"
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Action definition for interactive elements
|
|
72
|
+
*/
|
|
73
|
+
export interface Action extends BaseContent {
|
|
74
|
+
/** The type of action */
|
|
75
|
+
type: ActionType;
|
|
76
|
+
/** Target URL for navigation actions */
|
|
77
|
+
target?: string;
|
|
78
|
+
/** JavaScript handler function name */
|
|
79
|
+
handler?: string;
|
|
80
|
+
/** Whether the action is disabled */
|
|
81
|
+
disabled?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Field group - container for fields and nested field groups
|
|
85
|
+
*/
|
|
86
|
+
export interface FieldGroup extends BaseContent {
|
|
87
|
+
/** Child fields in this group */
|
|
88
|
+
fields?: Field[];
|
|
89
|
+
/** Nested field groups */
|
|
90
|
+
fieldGroups?: FieldGroup[];
|
|
91
|
+
/** Actions available for this field group */
|
|
92
|
+
actions?: Action[];
|
|
93
|
+
/** Whether this field group is repeatable */
|
|
94
|
+
repeatable?: boolean;
|
|
95
|
+
/** Minimum number of repetitions */
|
|
96
|
+
minRows?: number;
|
|
97
|
+
/** Maximum number of repetitions */
|
|
98
|
+
maxRows?: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Form-specific field with validation
|
|
102
|
+
*/
|
|
103
|
+
export interface FormField extends Field {
|
|
104
|
+
/** Validation rules for forms */
|
|
105
|
+
validation?: {
|
|
106
|
+
required?: boolean;
|
|
107
|
+
minLength?: number;
|
|
108
|
+
maxLength?: number;
|
|
109
|
+
pattern?: RegExp;
|
|
110
|
+
custom?: (value: any) => boolean | string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Form-specific action
|
|
115
|
+
*/
|
|
116
|
+
export interface FormAction extends Action {
|
|
117
|
+
type: ActionType;
|
|
118
|
+
/** Form validation behavior */
|
|
119
|
+
validateOnAction?: boolean;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Form field group
|
|
123
|
+
*/
|
|
124
|
+
export interface FormFieldGroup extends FieldGroup {
|
|
125
|
+
fields?: FormField[];
|
|
126
|
+
actions?: FormAction[];
|
|
127
|
+
/** Form submission endpoint */
|
|
128
|
+
submitUrl?: string;
|
|
129
|
+
/** Form method */
|
|
130
|
+
method?: FormMethod;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Content represents any structured data that can be persisted and managed
|
|
134
|
+
* through the CMS. All content is essentially a field group with a unique type name.
|
|
135
|
+
*
|
|
136
|
+
* Content types are string-based for maximum flexibility - can be anything
|
|
137
|
+
* as long as it's unique (e.g., 'contact', 'product', 'blog-post', 'testimonial').
|
|
138
|
+
*/
|
|
139
|
+
export interface Data extends FieldGroup {
|
|
140
|
+
/** The type of content - flexible string identifier */
|
|
141
|
+
type: string;
|
|
142
|
+
/** Whether this content should be auto-created if missing */
|
|
143
|
+
autoCreate?: boolean;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Generic link interface for database persistence
|
|
147
|
+
* This is a simple data structure, not a Content type
|
|
148
|
+
*/
|
|
149
|
+
export interface Link {
|
|
150
|
+
/** Unique identifier */
|
|
151
|
+
id: string;
|
|
152
|
+
/** Display label */
|
|
153
|
+
label: string;
|
|
154
|
+
/** URL */
|
|
155
|
+
url: string;
|
|
156
|
+
/** Icon identifier or URL */
|
|
157
|
+
icon?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Social media link extending base Link
|
|
161
|
+
* This is a simple data structure, not a Content type
|
|
162
|
+
*/
|
|
163
|
+
export interface SocialLink extends Link {
|
|
164
|
+
/** Social media platform */
|
|
165
|
+
platform: string;
|
|
166
|
+
/** Social media handle or username */
|
|
167
|
+
handle?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Footer section containing multiple links
|
|
171
|
+
* This is a simple data structure, not a Content type
|
|
172
|
+
*/
|
|
173
|
+
export interface FooterSection {
|
|
174
|
+
/** Unique section identifier */
|
|
175
|
+
id: string;
|
|
176
|
+
/** Section title */
|
|
177
|
+
title: string;
|
|
178
|
+
/** Links in this section */
|
|
179
|
+
items: Link[];
|
|
180
|
+
/** Display order */
|
|
181
|
+
order?: number;
|
|
182
|
+
/** Whether section is visible */
|
|
183
|
+
visible?: boolean;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=DataTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTypes.d.ts","sourceRoot":"","sources":["../../src/types/DataTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure template resolution provider interface
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*/
|
|
6
|
+
export interface TemplateProvider {
|
|
7
|
+
/** Resolve template with given context using mustache syntax */
|
|
8
|
+
resolve(template: string, context: any): string;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=TemplateProvider.d.ts.map
|