@qwickapps/react-framework 1.4.0 → 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.
Files changed (486) hide show
  1. package/QUICK_START_GUIDE.md +82 -0
  2. package/README.md +231 -21
  3. package/dist/components/Html.d.ts.map +1 -1
  4. package/dist/components/Markdown.d.ts +1 -2
  5. package/dist/components/Markdown.d.ts.map +1 -1
  6. package/dist/components/SafeSpan.d.ts +1 -2
  7. package/dist/components/SafeSpan.d.ts.map +1 -1
  8. package/dist/components/base/Container.d.ts +32 -0
  9. package/dist/components/base/Container.d.ts.map +1 -0
  10. package/dist/components/base/ContainerView.d.ts +65 -0
  11. package/dist/components/base/ContainerView.d.ts.map +1 -0
  12. package/dist/components/base/ModelView.d.ts +37 -46
  13. package/dist/components/base/ModelView.d.ts.map +1 -1
  14. package/dist/components/base/index.d.ts +3 -2
  15. package/dist/components/base/index.d.ts.map +1 -1
  16. package/dist/components/blocks/Article.d.ts +1 -2
  17. package/dist/components/blocks/Article.d.ts.map +1 -1
  18. package/dist/components/blocks/Code-factory.d.ts +22 -0
  19. package/dist/components/blocks/Code-factory.d.ts.map +1 -0
  20. package/dist/components/blocks/Code-old.d.ts +31 -0
  21. package/dist/components/blocks/Code-old.d.ts.map +1 -0
  22. package/dist/components/blocks/Code.d.ts +30 -18
  23. package/dist/components/blocks/Code.d.ts.map +1 -1
  24. package/dist/components/blocks/HeroBlock.d.ts +1 -2
  25. package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
  26. package/dist/components/blocks/Image.d.ts +1 -2
  27. package/dist/components/blocks/Image.d.ts.map +1 -1
  28. package/dist/components/blocks/Section.d.ts +1 -2
  29. package/dist/components/blocks/Section.d.ts.map +1 -1
  30. package/dist/components/blocks/Text.d.ts +35 -27
  31. package/dist/components/blocks/Text.d.ts.map +1 -1
  32. package/dist/components/buttons/Button.d.ts +1 -2
  33. package/dist/components/buttons/Button.d.ts.map +1 -1
  34. package/dist/components/index.d.ts +2 -0
  35. package/dist/components/index.d.ts.map +1 -1
  36. package/dist/components/input/ChoiceInputField.d.ts +1 -2
  37. package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
  38. package/dist/components/input/HtmlInputField.d.ts +1 -2
  39. package/dist/components/input/HtmlInputField.d.ts.map +1 -1
  40. package/dist/components/input/SelectInputField.d.ts +1 -2
  41. package/dist/components/input/SelectInputField.d.ts.map +1 -1
  42. package/dist/components/pages/Page.d.ts +29 -47
  43. package/dist/components/pages/Page.d.ts.map +1 -1
  44. package/dist/components/pages/index.d.ts +2 -3
  45. package/dist/components/pages/index.d.ts.map +1 -1
  46. package/dist/components/shared/createSerializableView.d.ts +68 -0
  47. package/dist/components/shared/createSerializableView.d.ts.map +1 -0
  48. package/dist/components/shared/viewProps.d.ts +37 -0
  49. package/dist/components/shared/viewProps.d.ts.map +1 -0
  50. package/dist/index.esm.js +21782 -22580
  51. package/dist/index.js +21782 -22579
  52. package/dist/qa/ConsoleWarningTest.d.ts +5 -0
  53. package/dist/qa/ConsoleWarningTest.d.ts.map +1 -0
  54. package/dist/qa/StorageKeyTest.d.ts +6 -0
  55. package/dist/qa/StorageKeyTest.d.ts.map +1 -0
  56. package/dist/qa/ThemeStorageKeyTest.d.ts +6 -0
  57. package/dist/qa/ThemeStorageKeyTest.d.ts.map +1 -0
  58. package/dist/schemas/CodeSchema.d.ts +2 -2
  59. package/dist/schemas/CodeSchema.d.ts.map +1 -1
  60. package/dist/schemas/ContainerSchema.d.ts +12 -0
  61. package/dist/schemas/ContainerSchema.d.ts.map +1 -0
  62. package/dist/schemas/PageTemplateSchema.d.ts +3 -3
  63. package/dist/schemas/PageTemplateSchema.d.ts.map +1 -1
  64. package/dist/schemas/ViewModelSchema.d.ts +46 -6
  65. package/dist/schemas/ViewModelSchema.d.ts.map +1 -1
  66. package/dist/schemas/ViewSchema.d.ts +65 -0
  67. package/dist/schemas/ViewSchema.d.ts.map +1 -0
  68. package/dist/schemas/index.d.ts +1 -1
  69. package/dist/schemas/index.d.ts.map +1 -1
  70. package/dist/schemas/transformers/ComponentTransformer.d.ts +27 -15
  71. package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
  72. package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
  73. package/dist/schemas/transformers/registry.d.ts +3 -0
  74. package/dist/schemas/transformers/registry.d.ts.map +1 -1
  75. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +66 -0
  76. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -0
  77. package/dist/src/components/AccessibilityChecker.d.ts +12 -0
  78. package/dist/src/components/AccessibilityChecker.d.ts.map +1 -0
  79. package/dist/src/components/AccessibilityProvider.d.ts +64 -0
  80. package/dist/src/components/AccessibilityProvider.d.ts.map +1 -0
  81. package/dist/src/components/Breadcrumbs.d.ts +39 -0
  82. package/dist/src/components/Breadcrumbs.d.ts.map +1 -0
  83. package/dist/src/components/ErrorBoundary.d.ts +46 -0
  84. package/dist/src/components/ErrorBoundary.d.ts.map +1 -0
  85. package/dist/src/components/Html.d.ts +58 -0
  86. package/dist/src/components/Html.d.ts.map +1 -0
  87. package/dist/src/components/Logo.d.ts +56 -0
  88. package/dist/src/components/Logo.d.ts.map +1 -0
  89. package/dist/src/components/Markdown.d.ts +51 -0
  90. package/dist/src/components/Markdown.d.ts.map +1 -0
  91. package/dist/src/components/QwickApp.d.ts +69 -0
  92. package/dist/src/components/QwickApp.d.ts.map +1 -0
  93. package/dist/src/components/QwickAppsLogo.d.ts +25 -0
  94. package/dist/src/components/QwickAppsLogo.d.ts.map +1 -0
  95. package/dist/src/components/QwickIcon.d.ts +23 -0
  96. package/dist/src/components/QwickIcon.d.ts.map +1 -0
  97. package/dist/src/components/ResponsiveMenu.d.ts +38 -0
  98. package/dist/src/components/ResponsiveMenu.d.ts.map +1 -0
  99. package/dist/src/components/SafeSpan.d.ts +29 -0
  100. package/dist/src/components/SafeSpan.d.ts.map +1 -0
  101. package/dist/src/components/Scaffold.d.ts +57 -0
  102. package/dist/src/components/Scaffold.d.ts.map +1 -0
  103. package/dist/src/components/base/Container.d.ts +33 -0
  104. package/dist/src/components/base/Container.d.ts.map +1 -0
  105. package/dist/src/components/base/ModelView.d.ts +92 -0
  106. package/dist/src/components/base/ModelView.d.ts.map +1 -0
  107. package/dist/src/components/base/index.d.ts +12 -0
  108. package/dist/src/components/base/index.d.ts.map +1 -0
  109. package/dist/src/components/blocks/Article.d.ts +32 -0
  110. package/dist/src/components/blocks/Article.d.ts.map +1 -0
  111. package/dist/src/components/blocks/CardListGrid.d.ts +23 -0
  112. package/dist/src/components/blocks/CardListGrid.d.ts.map +1 -0
  113. package/dist/src/components/blocks/Code.d.ts +37 -0
  114. package/dist/src/components/blocks/Code.d.ts.map +1 -0
  115. package/dist/src/components/blocks/Content.d.ts +24 -0
  116. package/dist/src/components/blocks/Content.d.ts.map +1 -0
  117. package/dist/src/components/blocks/CoverImageHeader.d.ts +44 -0
  118. package/dist/src/components/blocks/CoverImageHeader.d.ts.map +1 -0
  119. package/dist/src/components/blocks/FeatureCard.d.ts +66 -0
  120. package/dist/src/components/blocks/FeatureCard.d.ts.map +1 -0
  121. package/dist/src/components/blocks/FeatureGrid.d.ts +48 -0
  122. package/dist/src/components/blocks/FeatureGrid.d.ts.map +1 -0
  123. package/dist/src/components/blocks/Footer.d.ts +56 -0
  124. package/dist/src/components/blocks/Footer.d.ts.map +1 -0
  125. package/dist/src/components/blocks/HeroBlock.d.ts +55 -0
  126. package/dist/src/components/blocks/HeroBlock.d.ts.map +1 -0
  127. package/dist/src/components/blocks/Image.d.ts +40 -0
  128. package/dist/src/components/blocks/Image.d.ts.map +1 -0
  129. package/dist/src/components/blocks/PageBannerHeader.d.ts +30 -0
  130. package/dist/src/components/blocks/PageBannerHeader.d.ts.map +1 -0
  131. package/dist/src/components/blocks/ProductCard.d.ts +57 -0
  132. package/dist/src/components/blocks/ProductCard.d.ts.map +1 -0
  133. package/dist/src/components/blocks/Section.d.ts +45 -0
  134. package/dist/src/components/blocks/Section.d.ts.map +1 -0
  135. package/dist/src/components/blocks/Text.d.ts +34 -0
  136. package/dist/src/components/blocks/Text.d.ts.map +1 -0
  137. package/dist/src/components/blocks/index.d.ts +41 -0
  138. package/dist/src/components/blocks/index.d.ts.map +1 -0
  139. package/dist/src/components/buttons/Button.d.ts +41 -0
  140. package/dist/src/components/buttons/Button.d.ts.map +1 -0
  141. package/dist/src/components/buttons/PaletteSwitcher.d.ts +24 -0
  142. package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +1 -0
  143. package/dist/src/components/buttons/ThemeSwitcher.d.ts +24 -0
  144. package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +1 -0
  145. package/dist/src/components/buttons/index.d.ts +11 -0
  146. package/dist/src/components/buttons/index.d.ts.map +1 -0
  147. package/dist/src/components/forms/FormBlock.d.ts +51 -0
  148. package/dist/src/components/forms/FormBlock.d.ts.map +1 -0
  149. package/dist/src/components/forms/index.d.ts +8 -0
  150. package/dist/src/components/forms/index.d.ts.map +1 -0
  151. package/dist/src/components/index.d.ts +41 -0
  152. package/dist/src/components/index.d.ts.map +1 -0
  153. package/dist/src/components/input/ChoiceInputField.d.ts +29 -0
  154. package/dist/src/components/input/ChoiceInputField.d.ts.map +1 -0
  155. package/dist/src/components/input/HtmlInputField.d.ts +33 -0
  156. package/dist/src/components/input/HtmlInputField.d.ts.map +1 -0
  157. package/dist/src/components/input/SelectInputField.d.ts +31 -0
  158. package/dist/src/components/input/SelectInputField.d.ts.map +1 -0
  159. package/dist/src/components/input/SwitchInputField.d.ts +27 -0
  160. package/dist/src/components/input/SwitchInputField.d.ts.map +1 -0
  161. package/dist/src/components/input/TextField.d.ts +18 -0
  162. package/dist/src/components/input/TextField.d.ts.map +1 -0
  163. package/dist/src/components/input/TextInputField.d.ts +34 -0
  164. package/dist/src/components/input/TextInputField.d.ts.map +1 -0
  165. package/dist/src/components/input/index.d.ts +19 -0
  166. package/dist/src/components/input/index.d.ts.map +1 -0
  167. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +34 -0
  168. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +1 -0
  169. package/dist/src/components/layout/CollapsibleLayout/index.d.ts +9 -0
  170. package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +1 -0
  171. package/dist/src/components/layout/GridCell.d.ts +32 -0
  172. package/dist/src/components/layout/GridCell.d.ts.map +1 -0
  173. package/dist/src/components/layout/GridCellWrapper.d.ts +46 -0
  174. package/dist/src/components/layout/GridCellWrapper.d.ts.map +1 -0
  175. package/dist/src/components/layout/GridLayout.d.ts +50 -0
  176. package/dist/src/components/layout/GridLayout.d.ts.map +1 -0
  177. package/dist/src/components/layout/index.d.ts +14 -0
  178. package/dist/src/components/layout/index.d.ts.map +1 -0
  179. package/dist/src/components/menu/Menu.d.ts +1 -0
  180. package/dist/src/components/menu/Menu.d.ts.map +1 -0
  181. package/dist/src/components/menu/MenuItem.d.ts +31 -0
  182. package/dist/src/components/menu/MenuItem.d.ts.map +1 -0
  183. package/dist/src/components/menu/index.d.ts +7 -0
  184. package/dist/src/components/menu/index.d.ts.map +1 -0
  185. package/dist/src/components/pages/FormPage.d.ts +66 -0
  186. package/dist/src/components/pages/FormPage.d.ts.map +1 -0
  187. package/dist/src/components/pages/Page.d.ts +68 -0
  188. package/dist/src/components/pages/Page.d.ts.map +1 -0
  189. package/dist/src/components/pages/index.d.ts +10 -0
  190. package/dist/src/components/pages/index.d.ts.map +1 -0
  191. package/dist/src/components/shared/createSerializableView.d.ts +81 -0
  192. package/dist/src/components/shared/createSerializableView.d.ts.map +1 -0
  193. package/dist/src/components/shared/viewProps.d.ts +37 -0
  194. package/dist/src/components/shared/viewProps.d.ts.map +1 -0
  195. package/dist/src/config/AppConfig.d.ts +49 -0
  196. package/dist/src/config/AppConfig.d.ts.map +1 -0
  197. package/dist/src/config/AppConfigBuilder.d.ts +75 -0
  198. package/dist/src/config/AppConfigBuilder.d.ts.map +1 -0
  199. package/dist/src/config/index.d.ts +13 -0
  200. package/dist/src/config/index.d.ts.map +1 -0
  201. package/dist/src/config/types.d.ts +130 -0
  202. package/dist/src/config/types.d.ts.map +1 -0
  203. package/dist/src/config.d.ts +15 -0
  204. package/dist/src/config.d.ts.map +1 -0
  205. package/dist/src/contexts/DataContext.d.ts +139 -0
  206. package/dist/src/contexts/DataContext.d.ts.map +1 -0
  207. package/dist/src/contexts/DimensionsContext.d.ts +42 -0
  208. package/dist/src/contexts/DimensionsContext.d.ts.map +1 -0
  209. package/dist/src/contexts/PaletteContext.d.ts +53 -0
  210. package/dist/src/contexts/PaletteContext.d.ts.map +1 -0
  211. package/dist/src/contexts/PrintModeContext.d.ts +27 -0
  212. package/dist/src/contexts/PrintModeContext.d.ts.map +1 -0
  213. package/dist/src/contexts/QwickAppContext.d.ts +71 -0
  214. package/dist/src/contexts/QwickAppContext.d.ts.map +1 -0
  215. package/dist/src/contexts/ThemeContext.d.ts +65 -0
  216. package/dist/src/contexts/ThemeContext.d.ts.map +1 -0
  217. package/dist/src/contexts/index.d.ts +11 -0
  218. package/dist/src/contexts/index.d.ts.map +1 -0
  219. package/dist/src/hooks/index.d.ts +12 -0
  220. package/dist/src/hooks/index.d.ts.map +1 -0
  221. package/dist/src/hooks/useBaseProps.d.ts +101 -0
  222. package/dist/src/hooks/useBaseProps.d.ts.map +1 -0
  223. package/dist/src/hooks/useDataBinding.d.ts +22 -0
  224. package/dist/src/hooks/useDataBinding.d.ts.map +1 -0
  225. package/dist/src/hooks/usePrintMode.d.ts +39 -0
  226. package/dist/src/hooks/usePrintMode.d.ts.map +1 -0
  227. package/dist/src/index.d.ts +9 -0
  228. package/dist/src/index.d.ts.map +1 -0
  229. package/dist/src/palettes/PaletteAutumn.d.ts +10 -0
  230. package/dist/src/palettes/PaletteAutumn.d.ts.map +1 -0
  231. package/dist/src/palettes/PaletteCosmic.d.ts +10 -0
  232. package/dist/src/palettes/PaletteCosmic.d.ts.map +1 -0
  233. package/dist/src/palettes/PaletteDefault.d.ts +10 -0
  234. package/dist/src/palettes/PaletteDefault.d.ts.map +1 -0
  235. package/dist/src/palettes/PaletteOcean.d.ts +10 -0
  236. package/dist/src/palettes/PaletteOcean.d.ts.map +1 -0
  237. package/dist/src/palettes/PaletteSpring.d.ts +10 -0
  238. package/dist/src/palettes/PaletteSpring.d.ts.map +1 -0
  239. package/dist/src/palettes/PaletteWinter.d.ts +10 -0
  240. package/dist/src/palettes/PaletteWinter.d.ts.map +1 -0
  241. package/dist/src/palettes/index.d.ts +13 -0
  242. package/dist/src/palettes/index.d.ts.map +1 -0
  243. package/dist/src/schemas/ActionSchema.d.ts +21 -0
  244. package/dist/src/schemas/ActionSchema.d.ts.map +1 -0
  245. package/dist/src/schemas/ArticleSchema.d.ts +13 -0
  246. package/dist/src/schemas/ArticleSchema.d.ts.map +1 -0
  247. package/dist/src/schemas/ButtonSchema.d.ts +19 -0
  248. package/dist/src/schemas/ButtonSchema.d.ts.map +1 -0
  249. package/dist/src/schemas/CardListGridSchema.d.ts +17 -0
  250. package/dist/src/schemas/CardListGridSchema.d.ts.map +1 -0
  251. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +18 -0
  252. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +1 -0
  253. package/dist/src/schemas/CodeSchema.d.ts +18 -0
  254. package/dist/src/schemas/CodeSchema.d.ts.map +1 -0
  255. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +32 -0
  256. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +1 -0
  257. package/dist/src/schemas/ContainerSchema.d.ts +12 -0
  258. package/dist/src/schemas/ContainerSchema.d.ts.map +1 -0
  259. package/dist/src/schemas/ContentSchema.d.ts +21 -0
  260. package/dist/src/schemas/ContentSchema.d.ts.map +1 -0
  261. package/dist/src/schemas/CoverImageHeaderSchema.d.ts +28 -0
  262. package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +1 -0
  263. package/dist/src/schemas/FeatureCardSchema.d.ts +28 -0
  264. package/dist/src/schemas/FeatureCardSchema.d.ts.map +1 -0
  265. package/dist/src/schemas/FeatureGridSchema.d.ts +17 -0
  266. package/dist/src/schemas/FeatureGridSchema.d.ts.map +1 -0
  267. package/dist/src/schemas/FeatureItemSchema.d.ts +16 -0
  268. package/dist/src/schemas/FeatureItemSchema.d.ts.map +1 -0
  269. package/dist/src/schemas/FooterItemSchema.d.ts +15 -0
  270. package/dist/src/schemas/FooterItemSchema.d.ts.map +1 -0
  271. package/dist/src/schemas/FooterSchema.d.ts +20 -0
  272. package/dist/src/schemas/FooterSchema.d.ts.map +1 -0
  273. package/dist/src/schemas/FooterSectionSchema.d.ts +15 -0
  274. package/dist/src/schemas/FooterSectionSchema.d.ts.map +1 -0
  275. package/dist/src/schemas/FormBlockSchema.d.ts +19 -0
  276. package/dist/src/schemas/FormBlockSchema.d.ts.map +1 -0
  277. package/dist/src/schemas/GridCellSchema.d.ts +23 -0
  278. package/dist/src/schemas/GridCellSchema.d.ts.map +1 -0
  279. package/dist/src/schemas/GridLayoutSchema.d.ts +21 -0
  280. package/dist/src/schemas/GridLayoutSchema.d.ts.map +1 -0
  281. package/dist/src/schemas/HeaderActionSchema.d.ts +17 -0
  282. package/dist/src/schemas/HeaderActionSchema.d.ts.map +1 -0
  283. package/dist/src/schemas/HeroBlockSchema.d.ts +22 -0
  284. package/dist/src/schemas/HeroBlockSchema.d.ts.map +1 -0
  285. package/dist/src/schemas/HtmlInputFieldSchema.d.ts +18 -0
  286. package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +1 -0
  287. package/dist/src/schemas/HtmlSchema.d.ts +14 -0
  288. package/dist/src/schemas/HtmlSchema.d.ts.map +1 -0
  289. package/dist/src/schemas/ImageSchema.d.ts +32 -0
  290. package/dist/src/schemas/ImageSchema.d.ts.map +1 -0
  291. package/dist/src/schemas/LogoSchema.d.ts +35 -0
  292. package/dist/src/schemas/LogoSchema.d.ts.map +1 -0
  293. package/dist/src/schemas/MarkdownSchema.d.ts +14 -0
  294. package/dist/src/schemas/MarkdownSchema.d.ts.map +1 -0
  295. package/dist/src/schemas/MetadataItemSchema.d.ts +13 -0
  296. package/dist/src/schemas/MetadataItemSchema.d.ts.map +1 -0
  297. package/dist/src/schemas/PageBannerHeaderSchema.d.ts +28 -0
  298. package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +1 -0
  299. package/dist/src/schemas/PageTemplateSchema.d.ts +31 -0
  300. package/dist/src/schemas/PageTemplateSchema.d.ts.map +1 -0
  301. package/dist/src/schemas/PaletteSwitcherSchema.d.ts +16 -0
  302. package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +1 -0
  303. package/dist/src/schemas/PrintConfigSchema.d.ts +31 -0
  304. package/dist/src/schemas/PrintConfigSchema.d.ts.map +1 -0
  305. package/dist/src/schemas/ProductCardSchema.d.ts +39 -0
  306. package/dist/src/schemas/ProductCardSchema.d.ts.map +1 -0
  307. package/dist/src/schemas/SafeSpanSchema.d.ts +13 -0
  308. package/dist/src/schemas/SafeSpanSchema.d.ts.map +1 -0
  309. package/dist/src/schemas/SectionSchema.d.ts +16 -0
  310. package/dist/src/schemas/SectionSchema.d.ts.map +1 -0
  311. package/dist/src/schemas/SelectInputFieldSchema.d.ts +27 -0
  312. package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +1 -0
  313. package/dist/src/schemas/SwitchInputFieldSchema.d.ts +18 -0
  314. package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +1 -0
  315. package/dist/src/schemas/TextInputFieldSchema.d.ts +22 -0
  316. package/dist/src/schemas/TextInputFieldSchema.d.ts.map +1 -0
  317. package/dist/src/schemas/TextSchema.d.ts +37 -0
  318. package/dist/src/schemas/TextSchema.d.ts.map +1 -0
  319. package/dist/src/schemas/ThemeSwitcherSchema.d.ts +19 -0
  320. package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +1 -0
  321. package/dist/src/schemas/ViewSchema.d.ts +66 -0
  322. package/dist/src/schemas/ViewSchema.d.ts.map +1 -0
  323. package/dist/src/schemas/index.d.ts +47 -0
  324. package/dist/src/schemas/index.d.ts.map +1 -0
  325. package/dist/src/schemas/transformers/ComponentTransformer.d.ts +128 -0
  326. package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +1 -0
  327. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +53 -0
  328. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -0
  329. package/dist/src/schemas/transformers/registry.d.ts +18 -0
  330. package/dist/src/schemas/transformers/registry.d.ts.map +1 -0
  331. package/dist/src/schemas/types/Serializable.d.ts +46 -0
  332. package/dist/src/schemas/types/Serializable.d.ts.map +1 -0
  333. package/dist/src/stories/_templates/SerializationTemplate.d.ts +44 -0
  334. package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +1 -0
  335. package/dist/src/templates/TemplateResolver.d.ts +52 -0
  336. package/dist/src/templates/TemplateResolver.d.ts.map +1 -0
  337. package/dist/src/templates/index.d.ts +7 -0
  338. package/dist/src/templates/index.d.ts.map +1 -0
  339. package/dist/src/types/CacheProvider.d.ts +18 -0
  340. package/dist/src/types/CacheProvider.d.ts.map +1 -0
  341. package/dist/src/types/CollapsibleLayout.d.ts +142 -0
  342. package/dist/src/types/CollapsibleLayout.d.ts.map +1 -0
  343. package/dist/src/types/ContentProxy.d.ts +47 -0
  344. package/dist/src/types/ContentProxy.d.ts.map +1 -0
  345. package/dist/src/types/DataTypes.d.ts +185 -0
  346. package/dist/src/types/DataTypes.d.ts.map +1 -0
  347. package/dist/src/types/TemplateProvider.d.ts +10 -0
  348. package/dist/src/types/TemplateProvider.d.ts.map +1 -0
  349. package/dist/src/types/TemplateResolver.d.ts +23 -0
  350. package/dist/src/types/TemplateResolver.d.ts.map +1 -0
  351. package/dist/src/types/index.d.ts +82 -0
  352. package/dist/src/types/index.d.ts.map +1 -0
  353. package/dist/src/utils/breakpoints.d.ts +35 -0
  354. package/dist/src/utils/breakpoints.d.ts.map +1 -0
  355. package/dist/src/utils/cssUtils.d.ts +17 -0
  356. package/dist/src/utils/cssUtils.d.ts.map +1 -0
  357. package/dist/src/utils/customPaletteManager.d.ts +8 -0
  358. package/dist/src/utils/customPaletteManager.d.ts.map +1 -0
  359. package/dist/src/utils/dimensions.d.ts +34 -0
  360. package/dist/src/utils/dimensions.d.ts.map +1 -0
  361. package/dist/src/utils/htmlTransform.d.ts +44 -0
  362. package/dist/src/utils/htmlTransform.d.ts.map +1 -0
  363. package/dist/src/utils/index.d.ts +16 -0
  364. package/dist/src/utils/index.d.ts.map +1 -0
  365. package/dist/src/utils/logger.d.ts +26 -0
  366. package/dist/src/utils/logger.d.ts.map +1 -0
  367. package/dist/src/utils/paletteUtils.d.ts +38 -0
  368. package/dist/src/utils/paletteUtils.d.ts.map +1 -0
  369. package/dist/src/utils/persistenceUtils.d.ts +31 -0
  370. package/dist/src/utils/persistenceUtils.d.ts.map +1 -0
  371. package/dist/src/utils/reactUtils.d.ts +33 -0
  372. package/dist/src/utils/reactUtils.d.ts.map +1 -0
  373. package/dist/src/utils/spacing.d.ts +34 -0
  374. package/dist/src/utils/spacing.d.ts.map +1 -0
  375. package/dist/src/utils/themePerformanceMonitor.d.ts +32 -0
  376. package/dist/src/utils/themePerformanceMonitor.d.ts.map +1 -0
  377. package/dist/src/utils/themeUtils.d.ts +27 -0
  378. package/dist/src/utils/themeUtils.d.ts.map +1 -0
  379. package/dist/utils/cssUtils.d.ts +17 -0
  380. package/dist/utils/cssUtils.d.ts.map +1 -0
  381. package/dist/utils/index.d.ts +1 -0
  382. package/dist/utils/index.d.ts.map +1 -1
  383. package/package.json +5 -2
  384. package/scripts/bundle-css.cjs +27 -0
  385. package/scripts/create-project.sh +28 -0
  386. package/scripts/create-qwickapps-project.js +284 -0
  387. package/src/__tests__/components/base/Container.test.tsx +966 -0
  388. package/src/__tests__/schemas/PageTemplateSchema.test.ts +1 -1
  389. package/src/__tests__/schemas/ViewSchema.test.ts +805 -0
  390. package/src/__tests__/schemas/builders.test.ts +2 -2
  391. package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +19 -19
  392. package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +13 -13
  393. package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +39 -39
  394. package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +14 -14
  395. package/src/__tests__/schemas/transformers/TestAutomation.test.ts +8 -8
  396. package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +181 -0
  397. package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +458 -0
  398. package/src/__tests__/test_image_accessibility.test.tsx +226 -0
  399. package/src/__tests__/utils/optional-logging.test.ts +3 -3
  400. package/src/components/Html.tsx +24 -15
  401. package/src/components/Logo.tsx +2 -2
  402. package/src/components/Markdown.tsx +2 -7
  403. package/src/components/SafeSpan.tsx +2 -7
  404. package/src/components/base/Container.tsx +61 -0
  405. package/src/components/base/ModelView.tsx +225 -91
  406. package/src/components/base/index.ts +3 -2
  407. package/src/components/blocks/Article.tsx +2 -7
  408. package/src/components/blocks/CardListGrid.tsx +2 -2
  409. package/src/components/blocks/Code.tsx +91 -179
  410. package/src/components/blocks/Content.tsx +2 -2
  411. package/src/components/blocks/CoverImageHeader.tsx +2 -2
  412. package/src/components/blocks/HeroBlock.tsx +54 -146
  413. package/src/components/blocks/Image.tsx +82 -196
  414. package/src/components/blocks/PageBannerHeader.tsx +2 -2
  415. package/src/components/blocks/Section.tsx +79 -181
  416. package/src/components/blocks/Text.tsx +100 -198
  417. package/src/components/buttons/Button.tsx +85 -183
  418. package/src/components/buttons/PaletteSwitcher.tsx +2 -2
  419. package/src/components/buttons/ThemeSwitcher.tsx +2 -2
  420. package/src/components/forms/FormBlock.tsx +2 -2
  421. package/src/components/index.ts +5 -0
  422. package/src/components/input/ChoiceInputField.tsx +76 -160
  423. package/src/components/input/HtmlInputField.tsx +141 -264
  424. package/src/components/input/SelectInputField.tsx +48 -153
  425. package/src/components/input/SwitchInputField.tsx +41 -139
  426. package/src/components/input/TextInputField.tsx +39 -116
  427. package/src/components/layout/GridCell.tsx +36 -122
  428. package/src/components/layout/GridLayout.tsx +55 -127
  429. package/src/components/pages/Page.tsx +268 -276
  430. package/src/components/pages/index.ts +2 -3
  431. package/src/components/shared/createSerializableView.tsx +280 -0
  432. package/src/components/shared/viewProps.ts +207 -0
  433. package/src/config/__tests__/AppConfigBuilder.test.ts +2 -2
  434. package/src/contexts/DataContext.tsx +1 -1
  435. package/src/schemas/ButtonSchema.ts +3 -2
  436. package/src/schemas/CardListGridSchema.ts +3 -2
  437. package/src/schemas/ChoiceInputFieldSchema.ts +3 -2
  438. package/src/schemas/CodeSchema.ts +8 -6
  439. package/src/schemas/ContainerSchema.ts +25 -0
  440. package/src/schemas/FeatureCardSchema.ts +1 -1
  441. package/src/schemas/FormBlockSchema.ts +3 -2
  442. package/src/schemas/GridCellSchema.ts +4 -10
  443. package/src/schemas/GridLayoutSchema.ts +8 -14
  444. package/src/schemas/HeroBlockSchema.ts +3 -2
  445. package/src/schemas/HtmlInputFieldSchema.ts +3 -2
  446. package/src/schemas/ImageSchema.ts +3 -2
  447. package/src/schemas/PageTemplateSchema.ts +5 -5
  448. package/src/schemas/SectionSchema.ts +4 -12
  449. package/src/schemas/SelectInputFieldSchema.ts +3 -2
  450. package/src/schemas/SwitchInputFieldSchema.ts +2 -2
  451. package/src/schemas/TextInputFieldSchema.ts +3 -2
  452. package/src/schemas/ViewSchema.ts +570 -0
  453. package/src/schemas/index.ts +1 -1
  454. package/src/schemas/transformers/ComponentTransformer.ts +185 -163
  455. package/src/schemas/transformers/ReactNodeTransformer.ts +31 -28
  456. package/src/schemas/transformers/registry.ts +17 -10
  457. package/src/stories/Button.stories.tsx +24 -0
  458. package/src/stories/ChoiceInputField.stories.tsx +28 -1
  459. package/src/stories/Code.stories.tsx +61 -1
  460. package/src/stories/Container.stories.tsx +954 -0
  461. package/src/stories/FormBlock.stories.tsx +54 -0
  462. package/src/stories/FormComponents.stories.tsx +8 -13
  463. package/src/stories/GridCell.stories.tsx +23 -64
  464. package/src/stories/GridLayout.stories.tsx +22 -47
  465. package/src/stories/HeroBlock.stories.tsx +28 -0
  466. package/src/stories/HtmlInputField.stories.tsx +23 -1
  467. package/src/stories/Image.stories.tsx +45 -233
  468. package/src/stories/Markdown.stories.tsx +1 -1
  469. package/src/stories/Section.stories.tsx +38 -4
  470. package/src/stories/SelectInputField.stories.tsx +26 -1
  471. package/src/stories/Text.stories.tsx +22 -54
  472. package/src/stories/TextInputField.stories.tsx +24 -1
  473. package/src/stories/_templates/SerializationTemplate.tsx +165 -0
  474. package/src/templates/TemplateResolver.ts +2 -2
  475. package/src/types/CollapsibleLayout.ts +2 -2
  476. package/src/utils/cssUtils.ts +49 -0
  477. package/src/utils/index.ts +1 -0
  478. package/src/utils/logger.ts +13 -13
  479. package/src/__tests__/components/base/ModelView.test.tsx +0 -220
  480. package/src/__tests__/schemas/ViewModelSchema.test.ts +0 -80
  481. package/src/components/blocks/Code.md +0 -529
  482. package/src/schemas/README.md +0 -661
  483. package/src/schemas/ViewModelSchema.ts +0 -115
  484. package/src/tests/ConsoleWarningTest.tsx +0 -30
  485. package/src/tests/StorageKeyTest.tsx +0 -110
  486. 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"}