@qwickapps/react-framework 1.4.8 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (730) hide show
  1. package/README.md +36 -3
  2. package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts +9 -9
  3. package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -1
  4. package/dist/components/AccessibilityProvider.d.ts +1 -1
  5. package/dist/components/AccessibilityProvider.d.ts.map +1 -1
  6. package/dist/components/ErrorBoundary.d.ts +1 -1
  7. package/dist/components/Html.d.ts +8 -8
  8. package/dist/components/Html.d.ts.map +1 -1
  9. package/dist/components/Logo.d.ts +2 -2
  10. package/dist/components/Logo.d.ts.map +1 -1
  11. package/dist/components/Markdown.d.ts +5 -5
  12. package/dist/components/Markdown.d.ts.map +1 -1
  13. package/dist/components/ProductLogo.d.ts +60 -0
  14. package/dist/components/ProductLogo.d.ts.map +1 -0
  15. package/dist/components/QwickAppsLogo.d.ts +1 -1
  16. package/dist/components/QwickAppsLogo.d.ts.map +1 -1
  17. package/dist/components/ResponsiveMenu.d.ts.map +1 -1
  18. package/dist/components/SafeSpan.d.ts +4 -4
  19. package/dist/components/SafeSpan.d.ts.map +1 -1
  20. package/dist/components/Scaffold.d.ts.map +1 -1
  21. package/dist/components/base/Container.d.ts +3 -2
  22. package/dist/components/base/Container.d.ts.map +1 -1
  23. package/dist/components/base/ModelView.d.ts +16 -16
  24. package/dist/components/base/ModelView.d.ts.map +1 -1
  25. package/dist/components/base/index.d.ts +1 -1
  26. package/dist/components/base/index.d.ts.map +1 -1
  27. package/dist/components/blocks/Article.d.ts +4 -18
  28. package/dist/components/blocks/Article.d.ts.map +1 -1
  29. package/dist/components/blocks/CardListGrid.d.ts +3 -3
  30. package/dist/components/blocks/CardListGrid.d.ts.map +1 -1
  31. package/dist/components/blocks/Code.d.ts +5 -31
  32. package/dist/components/blocks/Code.d.ts.map +1 -1
  33. package/dist/components/blocks/Content.d.ts +2 -17
  34. package/dist/components/blocks/Content.d.ts.map +1 -1
  35. package/dist/components/blocks/CoverImageHeader.d.ts +2 -12
  36. package/dist/components/blocks/CoverImageHeader.d.ts.map +1 -1
  37. package/dist/components/blocks/FeatureCard.d.ts +0 -17
  38. package/dist/components/blocks/FeatureCard.d.ts.map +1 -1
  39. package/dist/components/blocks/FeatureGrid.d.ts.map +1 -1
  40. package/dist/components/blocks/Footer.d.ts +2 -14
  41. package/dist/components/blocks/Footer.d.ts.map +1 -1
  42. package/dist/components/blocks/HeroBlock.d.ts +35 -26
  43. package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
  44. package/dist/components/blocks/Image.d.ts +23 -23
  45. package/dist/components/blocks/Image.d.ts.map +1 -1
  46. package/dist/components/blocks/PageBannerHeader.d.ts +2 -13
  47. package/dist/components/blocks/PageBannerHeader.d.ts.map +1 -1
  48. package/dist/components/blocks/ProductCard.d.ts +0 -9
  49. package/dist/components/blocks/ProductCard.d.ts.map +1 -1
  50. package/dist/components/blocks/Section.d.ts +16 -24
  51. package/dist/components/blocks/Section.d.ts.map +1 -1
  52. package/dist/components/blocks/Text.d.ts +5 -20
  53. package/dist/components/blocks/Text.d.ts.map +1 -1
  54. package/dist/components/buttons/Button.d.ts +19 -23
  55. package/dist/components/buttons/Button.d.ts.map +1 -1
  56. package/dist/components/buttons/PaletteSwitcher.d.ts +2 -2
  57. package/dist/components/buttons/PaletteSwitcher.d.ts.map +1 -1
  58. package/dist/components/buttons/ThemeSwitcher.d.ts +2 -2
  59. package/dist/components/buttons/ThemeSwitcher.d.ts.map +1 -1
  60. package/dist/components/dialogs/Dialog.d.ts +35 -0
  61. package/dist/components/dialogs/Dialog.d.ts.map +1 -0
  62. package/dist/components/dialogs/index.d.ts +8 -0
  63. package/dist/components/dialogs/index.d.ts.map +1 -0
  64. package/dist/components/forms/Captcha.d.ts +55 -0
  65. package/dist/components/forms/Captcha.d.ts.map +1 -0
  66. package/dist/components/forms/FormBlock.d.ts +6 -6
  67. package/dist/components/forms/FormBlock.d.ts.map +1 -1
  68. package/dist/components/forms/FormCheckbox.d.ts +27 -0
  69. package/dist/components/forms/FormCheckbox.d.ts.map +1 -0
  70. package/dist/components/forms/FormField.d.ts +43 -0
  71. package/dist/components/forms/FormField.d.ts.map +1 -0
  72. package/dist/components/forms/FormSelect.d.ts +35 -0
  73. package/dist/components/forms/FormSelect.d.ts.map +1 -0
  74. package/dist/components/forms/index.d.ts +8 -0
  75. package/dist/components/forms/index.d.ts.map +1 -1
  76. package/dist/components/index.d.ts +10 -2
  77. package/dist/components/index.d.ts.map +1 -1
  78. package/dist/components/input/ChoiceInputField.d.ts +13 -19
  79. package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
  80. package/dist/components/input/HtmlInputField.d.ts +16 -17
  81. package/dist/components/input/HtmlInputField.d.ts.map +1 -1
  82. package/dist/components/input/SelectInputField.d.ts +14 -17
  83. package/dist/components/input/SelectInputField.d.ts.map +1 -1
  84. package/dist/components/input/SwitchInputField.d.ts +11 -18
  85. package/dist/components/input/SwitchInputField.d.ts.map +1 -1
  86. package/dist/components/input/TextInputField.d.ts +16 -19
  87. package/dist/components/input/TextInputField.d.ts.map +1 -1
  88. package/dist/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +1 -1
  89. package/dist/components/layout/GridCell.d.ts +18 -19
  90. package/dist/components/layout/GridCell.d.ts.map +1 -1
  91. package/dist/components/layout/GridLayout.d.ts +36 -25
  92. package/dist/components/layout/GridLayout.d.ts.map +1 -1
  93. package/dist/components/menu/MenuItem.d.ts +2 -2
  94. package/dist/components/menu/MenuItem.d.ts.map +1 -1
  95. package/dist/components/pages/FormPage.d.ts.map +1 -1
  96. package/dist/components/pages/Page.d.ts +1 -1
  97. package/dist/components/pages/Page.d.ts.map +1 -1
  98. package/dist/components/shared/createSerializableView.d.ts +22 -10
  99. package/dist/components/shared/createSerializableView.d.ts.map +1 -1
  100. package/dist/components/shared/viewProps.d.ts +3 -3
  101. package/dist/components/shared/viewProps.d.ts.map +1 -1
  102. package/dist/config/AppConfig.d.ts +2 -2
  103. package/dist/config/AppConfig.d.ts.map +1 -1
  104. package/dist/config/types.d.ts +1 -1
  105. package/dist/config/types.d.ts.map +1 -1
  106. package/dist/contexts/DataContext.d.ts +3 -3
  107. package/dist/contexts/DataContext.d.ts.map +1 -1
  108. package/dist/contexts/PaletteContext.d.ts.map +1 -1
  109. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  110. package/dist/hooks/useDataBinding.d.ts +2 -2
  111. package/dist/hooks/useDataBinding.d.ts.map +1 -1
  112. package/dist/hooks/usePrintMode.d.ts +2 -2
  113. package/dist/hooks/usePrintMode.d.ts.map +1 -1
  114. package/dist/index.css +1 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.esm.css +1 -1
  117. package/dist/index.esm.js +4929 -2942
  118. package/dist/index.js +4426 -2410
  119. package/dist/palettes/manifest.json +90 -0
  120. package/dist/palettes/palette-autumn.1.4.9.min.css +1 -0
  121. package/dist/palettes/palette-autumn.1.5.0.css +172 -0
  122. package/dist/palettes/palette-autumn.1.5.0.min.css +1 -0
  123. package/dist/palettes/palette-autumn.latest.css +172 -0
  124. package/dist/palettes/palette-autumn.latest.min.css +1 -0
  125. package/dist/palettes/palette-cosmic.1.4.9.min.css +1 -0
  126. package/dist/palettes/palette-cosmic.1.5.0.css +172 -0
  127. package/dist/palettes/palette-cosmic.1.5.0.min.css +1 -0
  128. package/dist/palettes/palette-cosmic.latest.css +172 -0
  129. package/dist/palettes/palette-cosmic.latest.min.css +1 -0
  130. package/dist/palettes/palette-default.1.4.9.min.css +1 -0
  131. package/dist/palettes/palette-default.1.5.0.css +178 -0
  132. package/dist/palettes/palette-default.1.5.0.min.css +1 -0
  133. package/dist/palettes/palette-default.latest.css +178 -0
  134. package/dist/palettes/palette-default.latest.min.css +1 -0
  135. package/dist/palettes/palette-ocean.1.4.9.min.css +1 -0
  136. package/dist/palettes/palette-ocean.1.5.0.css +172 -0
  137. package/dist/palettes/palette-ocean.1.5.0.min.css +1 -0
  138. package/dist/palettes/palette-ocean.latest.css +172 -0
  139. package/dist/palettes/palette-ocean.latest.min.css +1 -0
  140. package/dist/palettes/palette-spring.1.4.9.min.css +1 -0
  141. package/dist/palettes/palette-spring.1.5.0.css +160 -0
  142. package/dist/palettes/palette-spring.1.5.0.min.css +1 -0
  143. package/dist/palettes/palette-spring.latest.css +160 -0
  144. package/dist/palettes/palette-spring.latest.min.css +1 -0
  145. package/dist/palettes/palette-winter.1.4.9.min.css +1 -0
  146. package/dist/palettes/palette-winter.1.5.0.css +172 -0
  147. package/dist/palettes/palette-winter.1.5.0.min.css +1 -0
  148. package/dist/palettes/palette-winter.latest.css +172 -0
  149. package/dist/palettes/palette-winter.latest.min.css +1 -0
  150. package/dist/schemas/ButtonSchema.d.ts +5 -2
  151. package/dist/schemas/ButtonSchema.d.ts.map +1 -1
  152. package/dist/schemas/CardListGridSchema.d.ts +4 -4
  153. package/dist/schemas/CardListGridSchema.d.ts.map +1 -1
  154. package/dist/schemas/ChoiceInputFieldSchema.d.ts +2 -2
  155. package/dist/schemas/ChoiceInputFieldSchema.d.ts.map +1 -1
  156. package/dist/schemas/CodeSchema.d.ts +1 -2
  157. package/dist/schemas/CodeSchema.d.ts.map +1 -1
  158. package/dist/schemas/FormBlockSchema.d.ts +2 -2
  159. package/dist/schemas/FormBlockSchema.d.ts.map +1 -1
  160. package/dist/schemas/GridCellSchema.d.ts +2 -4
  161. package/dist/schemas/GridCellSchema.d.ts.map +1 -1
  162. package/dist/schemas/GridLayoutSchema.d.ts +3 -5
  163. package/dist/schemas/GridLayoutSchema.d.ts.map +1 -1
  164. package/dist/schemas/HeroBlockSchema.d.ts +2 -2
  165. package/dist/schemas/HeroBlockSchema.d.ts.map +1 -1
  166. package/dist/schemas/HtmlInputFieldSchema.d.ts +2 -2
  167. package/dist/schemas/HtmlInputFieldSchema.d.ts.map +1 -1
  168. package/dist/schemas/ImageSchema.d.ts +2 -2
  169. package/dist/schemas/ImageSchema.d.ts.map +1 -1
  170. package/dist/schemas/SectionSchema.d.ts +2 -4
  171. package/dist/schemas/SectionSchema.d.ts.map +1 -1
  172. package/dist/schemas/SelectInputFieldSchema.d.ts +2 -2
  173. package/dist/schemas/SelectInputFieldSchema.d.ts.map +1 -1
  174. package/dist/schemas/SwitchInputFieldSchema.d.ts +2 -2
  175. package/dist/schemas/SwitchInputFieldSchema.d.ts.map +1 -1
  176. package/dist/schemas/TextInputFieldSchema.d.ts +2 -2
  177. package/dist/schemas/TextInputFieldSchema.d.ts.map +1 -1
  178. package/dist/schemas/ViewSchema.d.ts +8 -7
  179. package/dist/schemas/ViewSchema.d.ts.map +1 -1
  180. package/dist/schemas/transformers/ComponentTransformer.d.ts +2 -2
  181. package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
  182. package/dist/schemas/transformers/ReactNodeTransformer.d.ts +2 -2
  183. package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
  184. package/dist/schemas/transformers/registry.d.ts +0 -7
  185. package/dist/schemas/transformers/registry.d.ts.map +1 -1
  186. package/dist/schemas/types/Serializable.d.ts +3 -3
  187. package/dist/schemas/types/Serializable.d.ts.map +1 -1
  188. package/dist/stories/_templates/SerializationTemplate.d.ts.map +1 -0
  189. package/dist/types/CollapsibleLayout.d.ts +3 -3
  190. package/dist/types/CollapsibleLayout.d.ts.map +1 -1
  191. package/dist/types/ContentProxy.d.ts +4 -4
  192. package/dist/types/ContentProxy.d.ts.map +1 -1
  193. package/dist/types/DataTypes.d.ts +4 -4
  194. package/dist/types/DataTypes.d.ts.map +1 -1
  195. package/dist/types/TemplateProvider.d.ts +1 -1
  196. package/dist/types/TemplateProvider.d.ts.map +1 -1
  197. package/dist/types/TemplateResolver.d.ts +1 -1
  198. package/dist/types/TemplateResolver.d.ts.map +1 -1
  199. package/dist/utils/htmlTransform.d.ts +1 -1
  200. package/dist/utils/htmlTransform.d.ts.map +1 -1
  201. package/dist/utils/iconMap.d.ts +48 -0
  202. package/dist/utils/iconMap.d.ts.map +1 -0
  203. package/dist/utils/index.d.ts +3 -0
  204. package/dist/utils/index.d.ts.map +1 -1
  205. package/dist/utils/logger.d.ts +11 -7
  206. package/dist/utils/logger.d.ts.map +1 -1
  207. package/dist/utils/paletteLoader.d.ts +34 -0
  208. package/dist/utils/paletteLoader.d.ts.map +1 -0
  209. package/dist/utils/paletteManifest.d.ts +51 -0
  210. package/dist/utils/paletteManifest.d.ts.map +1 -0
  211. package/dist/utils/paletteUtils.d.ts.map +1 -1
  212. package/dist/utils/reactUtils.d.ts +12 -6
  213. package/dist/utils/reactUtils.d.ts.map +1 -1
  214. package/dist/utils/spacing.d.ts +2 -2
  215. package/dist/utils/spacing.d.ts.map +1 -1
  216. package/dist/utils/themePerformanceMonitor.d.ts.map +1 -1
  217. package/dist/utils/themeUtils.d.ts.map +1 -1
  218. package/package.json +28 -9
  219. package/scripts/build-palettes.cjs +120 -0
  220. package/src/__tests__/components/Article.test.tsx +1 -1
  221. package/src/__tests__/components/Breadcrumbs.test.tsx +2 -2
  222. package/src/__tests__/components/Button.test.tsx +3 -3
  223. package/src/__tests__/components/CardListGrid.test.tsx +5 -5
  224. package/src/__tests__/components/ChoiceInputField.test.tsx +2 -2
  225. package/src/__tests__/components/Code.test.tsx +2 -2
  226. package/src/__tests__/components/Content.integration.test.tsx +1 -1
  227. package/src/__tests__/components/Content.test.tsx +5 -5
  228. package/src/__tests__/components/CoverImageHeader.test.tsx +3 -3
  229. package/src/__tests__/components/FeatureCard.integration.test.tsx +1 -1
  230. package/src/__tests__/components/FeatureGrid.integration.test.tsx +1 -1
  231. package/src/__tests__/components/FeatureGrid.test.tsx +3 -3
  232. package/src/__tests__/components/Footer.test.tsx +3 -3
  233. package/src/__tests__/components/FormBlock.test.tsx +2 -2
  234. package/src/__tests__/components/HeroBlock.integration.test.tsx +1 -1
  235. package/src/__tests__/components/HeroBlock.test.tsx +4 -4
  236. package/src/__tests__/components/HtmlInputField.test.tsx +8 -8
  237. package/src/__tests__/components/PageBannerHeader.test.tsx +7 -7
  238. package/src/__tests__/components/PaletteSwitcher.test.tsx +3 -3
  239. package/src/__tests__/components/ProductCard.test.tsx +1 -1
  240. package/src/__tests__/components/Section.integration.test.tsx +1 -1
  241. package/src/__tests__/components/Section.test.tsx +1 -1
  242. package/src/__tests__/components/SelectInputField.test.tsx +2 -2
  243. package/src/__tests__/components/TextInputField.test.tsx +4 -4
  244. package/src/__tests__/components/ThemeSwitcher.test.tsx +3 -3
  245. package/src/__tests__/components/base/Container.test.tsx +22 -21
  246. package/src/__tests__/components/blocks/Code.performance.test.tsx +10 -10
  247. package/src/__tests__/components/blocks/Code.serialization.test.tsx +9 -9
  248. package/src/__tests__/components/blocks/HeroBlock.serialization.test.tsx +2 -3
  249. package/src/__tests__/components/blocks/Image.serialization.test.tsx +8 -7
  250. package/src/__tests__/components/blocks/Section.serialization.test.tsx +8 -8
  251. package/src/__tests__/components/blocks/Text.performance.test.tsx +5 -5
  252. package/src/__tests__/components/blocks/Text.serialization.test.tsx +9 -9
  253. package/src/__tests__/components/buttons/Button.serialization.test.tsx +4 -4
  254. package/src/__tests__/components/input/FormComponents.serialization.test.tsx +9 -9
  255. package/src/__tests__/components/input/SelectInputField.serialization.test.tsx +16 -18
  256. package/src/__tests__/components/input/TextInputField.serialization.test.tsx +9 -9
  257. package/src/__tests__/components/layout/CollapsibleLayout.test.tsx +5 -9
  258. package/src/__tests__/components/layout/GridCell.serialization.test.tsx +5 -5
  259. package/src/__tests__/components/layout/GridLayout.serialization.test.tsx +5 -5
  260. package/src/__tests__/hooks/usePrintMode.test.ts +1 -0
  261. package/src/__tests__/schemas/builders.test.ts +2 -2
  262. package/src/__tests__/schemas/transformers/ComponentSerializationPatterns.test.tsx +28 -28
  263. package/src/__tests__/schemas/transformers/ComponentTransformer.htmlPatterns.test.ts +5 -5
  264. package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +11 -11
  265. package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +10 -10
  266. package/src/__tests__/schemas/transformers/MockSerializableComponent.ts +15 -15
  267. package/src/__tests__/schemas/transformers/RealWorldScenarios.test.tsx +19 -19
  268. package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +15 -15
  269. package/src/__tests__/schemas/transformers/SerializationIntegration.test.tsx +19 -21
  270. package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +15 -15
  271. package/src/__tests__/schemas/transformers/TestAutomation.test.ts +3 -3
  272. package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +1 -1
  273. package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +10 -10
  274. package/src/__tests__/utils/optional-logging.test.ts +3 -3
  275. package/src/components/AccessibilityProvider.tsx +4 -2
  276. package/src/components/ErrorBoundary.tsx +1 -1
  277. package/src/components/Html.tsx +14 -17
  278. package/src/components/Logo.tsx +44 -33
  279. package/src/components/Markdown.tsx +9 -9
  280. package/src/components/ProductLogo.tsx +118 -0
  281. package/src/components/QwickApp.css +46 -1063
  282. package/src/components/QwickApp.tsx +1 -1
  283. package/src/components/QwickAppsLogo.tsx +1 -1
  284. package/src/components/ResponsiveMenu.tsx +13 -2
  285. package/src/components/SafeSpan.tsx +8 -9
  286. package/src/components/Scaffold.css +14 -0
  287. package/src/components/Scaffold.tsx +71 -27
  288. package/src/components/base/Container.tsx +2 -2
  289. package/src/components/base/ModelView.tsx +28 -27
  290. package/src/components/base/index.ts +1 -1
  291. package/src/components/blocks/Article.tsx +251 -36
  292. package/src/components/blocks/CardListGrid.tsx +18 -14
  293. package/src/components/blocks/Code.tsx +18 -13
  294. package/src/components/blocks/Content.tsx +15 -10
  295. package/src/components/blocks/CoverImageHeader.tsx +15 -10
  296. package/src/components/blocks/FeatureCard.tsx +16 -11
  297. package/src/components/blocks/FeatureGrid.tsx +13 -8
  298. package/src/components/blocks/Footer.tsx +44 -35
  299. package/src/components/blocks/HeroBlock.tsx +12 -13
  300. package/src/components/blocks/Image.tsx +16 -8
  301. package/src/components/blocks/PageBannerHeader.tsx +16 -12
  302. package/src/components/blocks/ProductCard.tsx +32 -25
  303. package/src/components/blocks/Section.tsx +21 -13
  304. package/src/components/blocks/Text.tsx +33 -15
  305. package/src/components/buttons/Button.tsx +110 -30
  306. package/src/components/buttons/PaletteSwitcher.tsx +11 -8
  307. package/src/components/buttons/ThemeSwitcher.tsx +20 -16
  308. package/src/components/dialogs/Dialog.tsx +126 -0
  309. package/src/components/dialogs/index.ts +15 -0
  310. package/src/components/forms/Captcha.tsx +291 -0
  311. package/src/components/forms/FormBlock.tsx +22 -15
  312. package/src/components/forms/FormCheckbox.tsx +116 -0
  313. package/src/components/forms/FormField.tsx +180 -0
  314. package/src/components/forms/FormSelect.tsx +140 -0
  315. package/src/components/forms/index.ts +13 -1
  316. package/src/components/index.ts +13 -2
  317. package/src/components/input/ChoiceInputField.tsx +1 -2
  318. package/src/components/input/HtmlInputField.tsx +2 -3
  319. package/src/components/input/SelectInputField.tsx +31 -5
  320. package/src/components/input/SwitchInputField.tsx +3 -4
  321. package/src/components/input/TextField.tsx +2 -2
  322. package/src/components/input/TextInputField.tsx +32 -6
  323. package/src/components/layout/CollapsibleLayout/CollapsibleLayout.tsx +13 -13
  324. package/src/components/layout/GridCell.tsx +10 -9
  325. package/src/components/layout/GridCellWrapper.tsx +1 -1
  326. package/src/components/layout/GridLayout.tsx +29 -32
  327. package/src/components/menu/MenuItem.tsx +2 -2
  328. package/src/components/pages/FormPage.tsx +0 -1
  329. package/src/components/pages/Page.tsx +2 -2
  330. package/src/components/shared/createSerializableView.tsx +24 -23
  331. package/src/components/shared/viewProps.ts +11 -11
  332. package/src/config/AppConfig.ts +2 -2
  333. package/src/config/__tests__/AppConfig.test.ts +3 -3
  334. package/src/config/__tests__/AppConfigBuilder.test.ts +10 -11
  335. package/src/config/types.ts +1 -1
  336. package/src/contexts/DataContext.tsx +58 -52
  337. package/src/contexts/PaletteContext.tsx +22 -9
  338. package/src/contexts/PrintModeContext.tsx +4 -4
  339. package/src/contexts/ThemeContext.tsx +3 -2
  340. package/src/hooks/useBaseProps.ts +10 -10
  341. package/src/hooks/useDataBinding.ts +15 -18
  342. package/src/hooks/usePrintMode.ts +3 -3
  343. package/src/index.ts +2 -0
  344. package/src/palettes/manifest.json +72 -0
  345. package/src/palettes/manifest.schema.json +74 -0
  346. package/src/schemas/ButtonSchema.ts +33 -0
  347. package/src/schemas/CardListGridSchema.ts +3 -3
  348. package/src/schemas/CodeSchema.ts +0 -1
  349. package/src/schemas/FeatureGridSchema.ts +1 -1
  350. package/src/schemas/FormBlockSchema.ts +1 -1
  351. package/src/schemas/GridCellSchema.ts +0 -1
  352. package/src/schemas/GridLayoutSchema.ts +0 -1
  353. package/src/schemas/SectionSchema.ts +0 -1
  354. package/src/schemas/ViewSchema.ts +7 -7
  355. package/src/schemas/transformers/ComponentTransformer.ts +39 -28
  356. package/src/schemas/transformers/ReactNodeTransformer.ts +18 -17
  357. package/src/schemas/transformers/registry.ts +28 -24
  358. package/src/schemas/types/Serializable.ts +3 -3
  359. package/src/setupTests.js +9 -0
  360. package/src/stories/AccessibilityProvider.stories.tsx +0 -1
  361. package/src/stories/Article.stories.tsx +1 -1
  362. package/src/stories/CardListGrid.stories.tsx +1 -1
  363. package/src/stories/ChoiceInputField.stories.tsx +2 -2
  364. package/src/stories/Code.stories.tsx +2 -3
  365. package/src/stories/CollapsibleLayout.stories.tsx +41 -37
  366. package/src/stories/Container.stories.tsx +1 -2
  367. package/src/stories/DataBinding.advanced.stories.tsx +15 -9
  368. package/src/stories/DataProvider.stories.tsx +33 -16
  369. package/src/stories/ErrorBoundary.stories.tsx +28 -26
  370. package/src/stories/FeatureGrid.stories.tsx +0 -1
  371. package/src/stories/FormBlock.stories.tsx +8 -8
  372. package/src/stories/FormComponents.stories.tsx +15 -11
  373. package/src/stories/GridCell.stories.tsx +5 -5
  374. package/src/stories/GridLayout.stories.tsx +5 -5
  375. package/src/stories/Image.stories.tsx +5 -7
  376. package/src/stories/Introduction.stories.tsx +0 -1
  377. package/src/stories/ModelView.stories.tsx +7 -7
  378. package/src/stories/SafeSpan.stories.tsx +7 -3
  379. package/src/stories/Section.stories.tsx +2 -2
  380. package/src/stories/Text.stories.tsx +1 -3
  381. package/src/stories/_templates/SerializationTemplate.tsx +0 -1
  382. package/src/templates/TemplateResolver.ts +2 -2
  383. package/src/types/CollapsibleLayout.ts +2 -2
  384. package/src/types/ContentProxy.ts +6 -6
  385. package/src/types/DataTypes.ts +4 -4
  386. package/src/types/TemplateProvider.ts +1 -1
  387. package/src/types/TemplateResolver.ts +1 -1
  388. package/src/utils/htmlTransform.tsx +17 -11
  389. package/src/utils/iconMap.tsx +221 -0
  390. package/src/utils/index.ts +4 -1
  391. package/src/utils/logger.ts +20 -14
  392. package/src/utils/paletteLoader.ts +218 -0
  393. package/src/utils/paletteManifest.ts +268 -0
  394. package/src/utils/paletteUtils.ts +19 -1
  395. package/src/utils/reactUtils.tsx +34 -33
  396. package/src/utils/spacing.ts +16 -17
  397. package/src/utils/themePerformanceMonitor.js +14 -6
  398. package/src/utils/themeUtils.ts +17 -2
  399. package/dist/components/base/ContainerView.d.ts +0 -65
  400. package/dist/components/base/ContainerView.d.ts.map +0 -1
  401. package/dist/components/blocks/Code-factory.d.ts +0 -22
  402. package/dist/components/blocks/Code-factory.d.ts.map +0 -1
  403. package/dist/components/blocks/Code-old.d.ts +0 -31
  404. package/dist/components/blocks/Code-old.d.ts.map +0 -1
  405. package/dist/qa/ConsoleWarningTest.d.ts +0 -5
  406. package/dist/qa/ConsoleWarningTest.d.ts.map +0 -1
  407. package/dist/qa/StorageKeyTest.d.ts +0 -6
  408. package/dist/qa/StorageKeyTest.d.ts.map +0 -1
  409. package/dist/qa/ThemeStorageKeyTest.d.ts +0 -6
  410. package/dist/qa/ThemeStorageKeyTest.d.ts.map +0 -1
  411. package/dist/schemas/ViewModelSchema.d.ts +0 -63
  412. package/dist/schemas/ViewModelSchema.d.ts.map +0 -1
  413. package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts +0 -66
  414. package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts.map +0 -1
  415. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +0 -66
  416. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +0 -1
  417. package/dist/src/components/AccessibilityChecker.d.ts +0 -12
  418. package/dist/src/components/AccessibilityChecker.d.ts.map +0 -1
  419. package/dist/src/components/AccessibilityProvider.d.ts +0 -64
  420. package/dist/src/components/AccessibilityProvider.d.ts.map +0 -1
  421. package/dist/src/components/Breadcrumbs.d.ts +0 -39
  422. package/dist/src/components/Breadcrumbs.d.ts.map +0 -1
  423. package/dist/src/components/ErrorBoundary.d.ts +0 -46
  424. package/dist/src/components/ErrorBoundary.d.ts.map +0 -1
  425. package/dist/src/components/Html.d.ts +0 -58
  426. package/dist/src/components/Html.d.ts.map +0 -1
  427. package/dist/src/components/Logo.d.ts +0 -56
  428. package/dist/src/components/Logo.d.ts.map +0 -1
  429. package/dist/src/components/Markdown.d.ts +0 -51
  430. package/dist/src/components/Markdown.d.ts.map +0 -1
  431. package/dist/src/components/QwickApp.d.ts +0 -69
  432. package/dist/src/components/QwickApp.d.ts.map +0 -1
  433. package/dist/src/components/QwickAppsLogo.d.ts +0 -25
  434. package/dist/src/components/QwickAppsLogo.d.ts.map +0 -1
  435. package/dist/src/components/QwickIcon.d.ts +0 -23
  436. package/dist/src/components/QwickIcon.d.ts.map +0 -1
  437. package/dist/src/components/ResponsiveMenu.d.ts +0 -38
  438. package/dist/src/components/ResponsiveMenu.d.ts.map +0 -1
  439. package/dist/src/components/SafeSpan.d.ts +0 -29
  440. package/dist/src/components/SafeSpan.d.ts.map +0 -1
  441. package/dist/src/components/Scaffold.d.ts +0 -57
  442. package/dist/src/components/Scaffold.d.ts.map +0 -1
  443. package/dist/src/components/base/Container.d.ts +0 -33
  444. package/dist/src/components/base/Container.d.ts.map +0 -1
  445. package/dist/src/components/base/ModelView.d.ts +0 -92
  446. package/dist/src/components/base/ModelView.d.ts.map +0 -1
  447. package/dist/src/components/base/index.d.ts +0 -12
  448. package/dist/src/components/base/index.d.ts.map +0 -1
  449. package/dist/src/components/blocks/Article.d.ts +0 -32
  450. package/dist/src/components/blocks/Article.d.ts.map +0 -1
  451. package/dist/src/components/blocks/CardListGrid.d.ts +0 -23
  452. package/dist/src/components/blocks/CardListGrid.d.ts.map +0 -1
  453. package/dist/src/components/blocks/Code.d.ts +0 -37
  454. package/dist/src/components/blocks/Code.d.ts.map +0 -1
  455. package/dist/src/components/blocks/Content.d.ts +0 -24
  456. package/dist/src/components/blocks/Content.d.ts.map +0 -1
  457. package/dist/src/components/blocks/CoverImageHeader.d.ts +0 -44
  458. package/dist/src/components/blocks/CoverImageHeader.d.ts.map +0 -1
  459. package/dist/src/components/blocks/FeatureCard.d.ts +0 -66
  460. package/dist/src/components/blocks/FeatureCard.d.ts.map +0 -1
  461. package/dist/src/components/blocks/FeatureGrid.d.ts +0 -48
  462. package/dist/src/components/blocks/FeatureGrid.d.ts.map +0 -1
  463. package/dist/src/components/blocks/Footer.d.ts +0 -56
  464. package/dist/src/components/blocks/Footer.d.ts.map +0 -1
  465. package/dist/src/components/blocks/HeroBlock.d.ts +0 -55
  466. package/dist/src/components/blocks/HeroBlock.d.ts.map +0 -1
  467. package/dist/src/components/blocks/Image.d.ts +0 -40
  468. package/dist/src/components/blocks/Image.d.ts.map +0 -1
  469. package/dist/src/components/blocks/PageBannerHeader.d.ts +0 -30
  470. package/dist/src/components/blocks/PageBannerHeader.d.ts.map +0 -1
  471. package/dist/src/components/blocks/ProductCard.d.ts +0 -57
  472. package/dist/src/components/blocks/ProductCard.d.ts.map +0 -1
  473. package/dist/src/components/blocks/Section.d.ts +0 -45
  474. package/dist/src/components/blocks/Section.d.ts.map +0 -1
  475. package/dist/src/components/blocks/Text.d.ts +0 -34
  476. package/dist/src/components/blocks/Text.d.ts.map +0 -1
  477. package/dist/src/components/blocks/index.d.ts +0 -41
  478. package/dist/src/components/blocks/index.d.ts.map +0 -1
  479. package/dist/src/components/buttons/Button.d.ts +0 -41
  480. package/dist/src/components/buttons/Button.d.ts.map +0 -1
  481. package/dist/src/components/buttons/PaletteSwitcher.d.ts +0 -24
  482. package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +0 -1
  483. package/dist/src/components/buttons/ThemeSwitcher.d.ts +0 -24
  484. package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +0 -1
  485. package/dist/src/components/buttons/index.d.ts +0 -11
  486. package/dist/src/components/buttons/index.d.ts.map +0 -1
  487. package/dist/src/components/forms/FormBlock.d.ts +0 -51
  488. package/dist/src/components/forms/FormBlock.d.ts.map +0 -1
  489. package/dist/src/components/forms/index.d.ts +0 -8
  490. package/dist/src/components/forms/index.d.ts.map +0 -1
  491. package/dist/src/components/index.d.ts +0 -41
  492. package/dist/src/components/index.d.ts.map +0 -1
  493. package/dist/src/components/input/ChoiceInputField.d.ts +0 -29
  494. package/dist/src/components/input/ChoiceInputField.d.ts.map +0 -1
  495. package/dist/src/components/input/HtmlInputField.d.ts +0 -33
  496. package/dist/src/components/input/HtmlInputField.d.ts.map +0 -1
  497. package/dist/src/components/input/SelectInputField.d.ts +0 -31
  498. package/dist/src/components/input/SelectInputField.d.ts.map +0 -1
  499. package/dist/src/components/input/SwitchInputField.d.ts +0 -27
  500. package/dist/src/components/input/SwitchInputField.d.ts.map +0 -1
  501. package/dist/src/components/input/TextField.d.ts +0 -18
  502. package/dist/src/components/input/TextField.d.ts.map +0 -1
  503. package/dist/src/components/input/TextInputField.d.ts +0 -34
  504. package/dist/src/components/input/TextInputField.d.ts.map +0 -1
  505. package/dist/src/components/input/index.d.ts +0 -19
  506. package/dist/src/components/input/index.d.ts.map +0 -1
  507. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +0 -34
  508. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +0 -1
  509. package/dist/src/components/layout/CollapsibleLayout/index.d.ts +0 -9
  510. package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +0 -1
  511. package/dist/src/components/layout/GridCell.d.ts +0 -32
  512. package/dist/src/components/layout/GridCell.d.ts.map +0 -1
  513. package/dist/src/components/layout/GridCellWrapper.d.ts +0 -46
  514. package/dist/src/components/layout/GridCellWrapper.d.ts.map +0 -1
  515. package/dist/src/components/layout/GridLayout.d.ts +0 -50
  516. package/dist/src/components/layout/GridLayout.d.ts.map +0 -1
  517. package/dist/src/components/layout/index.d.ts +0 -14
  518. package/dist/src/components/layout/index.d.ts.map +0 -1
  519. package/dist/src/components/menu/Menu.d.ts +0 -1
  520. package/dist/src/components/menu/Menu.d.ts.map +0 -1
  521. package/dist/src/components/menu/MenuItem.d.ts +0 -31
  522. package/dist/src/components/menu/MenuItem.d.ts.map +0 -1
  523. package/dist/src/components/menu/index.d.ts +0 -7
  524. package/dist/src/components/menu/index.d.ts.map +0 -1
  525. package/dist/src/components/pages/FormPage.d.ts +0 -66
  526. package/dist/src/components/pages/FormPage.d.ts.map +0 -1
  527. package/dist/src/components/pages/Page.d.ts +0 -68
  528. package/dist/src/components/pages/Page.d.ts.map +0 -1
  529. package/dist/src/components/pages/index.d.ts +0 -10
  530. package/dist/src/components/pages/index.d.ts.map +0 -1
  531. package/dist/src/components/shared/createSerializableView.d.ts +0 -81
  532. package/dist/src/components/shared/createSerializableView.d.ts.map +0 -1
  533. package/dist/src/components/shared/viewProps.d.ts +0 -37
  534. package/dist/src/components/shared/viewProps.d.ts.map +0 -1
  535. package/dist/src/config/AppConfig.d.ts +0 -49
  536. package/dist/src/config/AppConfig.d.ts.map +0 -1
  537. package/dist/src/config/AppConfigBuilder.d.ts +0 -75
  538. package/dist/src/config/AppConfigBuilder.d.ts.map +0 -1
  539. package/dist/src/config/index.d.ts +0 -13
  540. package/dist/src/config/index.d.ts.map +0 -1
  541. package/dist/src/config/types.d.ts +0 -130
  542. package/dist/src/config/types.d.ts.map +0 -1
  543. package/dist/src/config.d.ts +0 -15
  544. package/dist/src/config.d.ts.map +0 -1
  545. package/dist/src/contexts/DataContext.d.ts +0 -139
  546. package/dist/src/contexts/DataContext.d.ts.map +0 -1
  547. package/dist/src/contexts/DimensionsContext.d.ts +0 -42
  548. package/dist/src/contexts/DimensionsContext.d.ts.map +0 -1
  549. package/dist/src/contexts/PaletteContext.d.ts +0 -53
  550. package/dist/src/contexts/PaletteContext.d.ts.map +0 -1
  551. package/dist/src/contexts/PrintModeContext.d.ts +0 -27
  552. package/dist/src/contexts/PrintModeContext.d.ts.map +0 -1
  553. package/dist/src/contexts/QwickAppContext.d.ts +0 -71
  554. package/dist/src/contexts/QwickAppContext.d.ts.map +0 -1
  555. package/dist/src/contexts/ThemeContext.d.ts +0 -65
  556. package/dist/src/contexts/ThemeContext.d.ts.map +0 -1
  557. package/dist/src/contexts/index.d.ts +0 -11
  558. package/dist/src/contexts/index.d.ts.map +0 -1
  559. package/dist/src/hooks/index.d.ts +0 -12
  560. package/dist/src/hooks/index.d.ts.map +0 -1
  561. package/dist/src/hooks/useBaseProps.d.ts +0 -101
  562. package/dist/src/hooks/useBaseProps.d.ts.map +0 -1
  563. package/dist/src/hooks/useDataBinding.d.ts +0 -22
  564. package/dist/src/hooks/useDataBinding.d.ts.map +0 -1
  565. package/dist/src/hooks/usePrintMode.d.ts +0 -39
  566. package/dist/src/hooks/usePrintMode.d.ts.map +0 -1
  567. package/dist/src/index.d.ts +0 -9
  568. package/dist/src/index.d.ts.map +0 -1
  569. package/dist/src/palettes/PaletteAutumn.d.ts +0 -10
  570. package/dist/src/palettes/PaletteAutumn.d.ts.map +0 -1
  571. package/dist/src/palettes/PaletteCosmic.d.ts +0 -10
  572. package/dist/src/palettes/PaletteCosmic.d.ts.map +0 -1
  573. package/dist/src/palettes/PaletteDefault.d.ts +0 -10
  574. package/dist/src/palettes/PaletteDefault.d.ts.map +0 -1
  575. package/dist/src/palettes/PaletteOcean.d.ts +0 -10
  576. package/dist/src/palettes/PaletteOcean.d.ts.map +0 -1
  577. package/dist/src/palettes/PaletteSpring.d.ts +0 -10
  578. package/dist/src/palettes/PaletteSpring.d.ts.map +0 -1
  579. package/dist/src/palettes/PaletteWinter.d.ts +0 -10
  580. package/dist/src/palettes/PaletteWinter.d.ts.map +0 -1
  581. package/dist/src/palettes/index.d.ts +0 -13
  582. package/dist/src/palettes/index.d.ts.map +0 -1
  583. package/dist/src/schemas/ActionSchema.d.ts +0 -21
  584. package/dist/src/schemas/ActionSchema.d.ts.map +0 -1
  585. package/dist/src/schemas/ArticleSchema.d.ts +0 -13
  586. package/dist/src/schemas/ArticleSchema.d.ts.map +0 -1
  587. package/dist/src/schemas/ButtonSchema.d.ts +0 -19
  588. package/dist/src/schemas/ButtonSchema.d.ts.map +0 -1
  589. package/dist/src/schemas/CardListGridSchema.d.ts +0 -17
  590. package/dist/src/schemas/CardListGridSchema.d.ts.map +0 -1
  591. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +0 -18
  592. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +0 -1
  593. package/dist/src/schemas/CodeSchema.d.ts +0 -18
  594. package/dist/src/schemas/CodeSchema.d.ts.map +0 -1
  595. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +0 -32
  596. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +0 -1
  597. package/dist/src/schemas/ContainerSchema.d.ts +0 -12
  598. package/dist/src/schemas/ContainerSchema.d.ts.map +0 -1
  599. package/dist/src/schemas/ContentSchema.d.ts +0 -21
  600. package/dist/src/schemas/ContentSchema.d.ts.map +0 -1
  601. package/dist/src/schemas/CoverImageHeaderSchema.d.ts +0 -28
  602. package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +0 -1
  603. package/dist/src/schemas/FeatureCardSchema.d.ts +0 -28
  604. package/dist/src/schemas/FeatureCardSchema.d.ts.map +0 -1
  605. package/dist/src/schemas/FeatureGridSchema.d.ts +0 -17
  606. package/dist/src/schemas/FeatureGridSchema.d.ts.map +0 -1
  607. package/dist/src/schemas/FeatureItemSchema.d.ts +0 -16
  608. package/dist/src/schemas/FeatureItemSchema.d.ts.map +0 -1
  609. package/dist/src/schemas/FooterItemSchema.d.ts +0 -15
  610. package/dist/src/schemas/FooterItemSchema.d.ts.map +0 -1
  611. package/dist/src/schemas/FooterSchema.d.ts +0 -20
  612. package/dist/src/schemas/FooterSchema.d.ts.map +0 -1
  613. package/dist/src/schemas/FooterSectionSchema.d.ts +0 -15
  614. package/dist/src/schemas/FooterSectionSchema.d.ts.map +0 -1
  615. package/dist/src/schemas/FormBlockSchema.d.ts +0 -19
  616. package/dist/src/schemas/FormBlockSchema.d.ts.map +0 -1
  617. package/dist/src/schemas/GridCellSchema.d.ts +0 -23
  618. package/dist/src/schemas/GridCellSchema.d.ts.map +0 -1
  619. package/dist/src/schemas/GridLayoutSchema.d.ts +0 -21
  620. package/dist/src/schemas/GridLayoutSchema.d.ts.map +0 -1
  621. package/dist/src/schemas/HeaderActionSchema.d.ts +0 -17
  622. package/dist/src/schemas/HeaderActionSchema.d.ts.map +0 -1
  623. package/dist/src/schemas/HeroBlockSchema.d.ts +0 -22
  624. package/dist/src/schemas/HeroBlockSchema.d.ts.map +0 -1
  625. package/dist/src/schemas/HtmlInputFieldSchema.d.ts +0 -18
  626. package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +0 -1
  627. package/dist/src/schemas/HtmlSchema.d.ts +0 -14
  628. package/dist/src/schemas/HtmlSchema.d.ts.map +0 -1
  629. package/dist/src/schemas/ImageSchema.d.ts +0 -32
  630. package/dist/src/schemas/ImageSchema.d.ts.map +0 -1
  631. package/dist/src/schemas/LogoSchema.d.ts +0 -35
  632. package/dist/src/schemas/LogoSchema.d.ts.map +0 -1
  633. package/dist/src/schemas/MarkdownSchema.d.ts +0 -14
  634. package/dist/src/schemas/MarkdownSchema.d.ts.map +0 -1
  635. package/dist/src/schemas/MetadataItemSchema.d.ts +0 -13
  636. package/dist/src/schemas/MetadataItemSchema.d.ts.map +0 -1
  637. package/dist/src/schemas/PageBannerHeaderSchema.d.ts +0 -28
  638. package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +0 -1
  639. package/dist/src/schemas/PageTemplateSchema.d.ts +0 -31
  640. package/dist/src/schemas/PageTemplateSchema.d.ts.map +0 -1
  641. package/dist/src/schemas/PaletteSwitcherSchema.d.ts +0 -16
  642. package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +0 -1
  643. package/dist/src/schemas/PrintConfigSchema.d.ts +0 -31
  644. package/dist/src/schemas/PrintConfigSchema.d.ts.map +0 -1
  645. package/dist/src/schemas/ProductCardSchema.d.ts +0 -39
  646. package/dist/src/schemas/ProductCardSchema.d.ts.map +0 -1
  647. package/dist/src/schemas/SafeSpanSchema.d.ts +0 -13
  648. package/dist/src/schemas/SafeSpanSchema.d.ts.map +0 -1
  649. package/dist/src/schemas/SectionSchema.d.ts +0 -16
  650. package/dist/src/schemas/SectionSchema.d.ts.map +0 -1
  651. package/dist/src/schemas/SelectInputFieldSchema.d.ts +0 -27
  652. package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +0 -1
  653. package/dist/src/schemas/SwitchInputFieldSchema.d.ts +0 -18
  654. package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +0 -1
  655. package/dist/src/schemas/TextInputFieldSchema.d.ts +0 -22
  656. package/dist/src/schemas/TextInputFieldSchema.d.ts.map +0 -1
  657. package/dist/src/schemas/TextSchema.d.ts +0 -37
  658. package/dist/src/schemas/TextSchema.d.ts.map +0 -1
  659. package/dist/src/schemas/ThemeSwitcherSchema.d.ts +0 -19
  660. package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +0 -1
  661. package/dist/src/schemas/ViewSchema.d.ts +0 -66
  662. package/dist/src/schemas/ViewSchema.d.ts.map +0 -1
  663. package/dist/src/schemas/index.d.ts +0 -47
  664. package/dist/src/schemas/index.d.ts.map +0 -1
  665. package/dist/src/schemas/transformers/ComponentTransformer.d.ts +0 -128
  666. package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +0 -1
  667. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +0 -53
  668. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +0 -1
  669. package/dist/src/schemas/transformers/registry.d.ts +0 -18
  670. package/dist/src/schemas/transformers/registry.d.ts.map +0 -1
  671. package/dist/src/schemas/types/Serializable.d.ts +0 -46
  672. package/dist/src/schemas/types/Serializable.d.ts.map +0 -1
  673. package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +0 -1
  674. package/dist/src/templates/TemplateResolver.d.ts +0 -52
  675. package/dist/src/templates/TemplateResolver.d.ts.map +0 -1
  676. package/dist/src/templates/index.d.ts +0 -7
  677. package/dist/src/templates/index.d.ts.map +0 -1
  678. package/dist/src/types/CacheProvider.d.ts +0 -18
  679. package/dist/src/types/CacheProvider.d.ts.map +0 -1
  680. package/dist/src/types/CollapsibleLayout.d.ts +0 -142
  681. package/dist/src/types/CollapsibleLayout.d.ts.map +0 -1
  682. package/dist/src/types/ContentProxy.d.ts +0 -47
  683. package/dist/src/types/ContentProxy.d.ts.map +0 -1
  684. package/dist/src/types/DataTypes.d.ts +0 -185
  685. package/dist/src/types/DataTypes.d.ts.map +0 -1
  686. package/dist/src/types/TemplateProvider.d.ts +0 -10
  687. package/dist/src/types/TemplateProvider.d.ts.map +0 -1
  688. package/dist/src/types/TemplateResolver.d.ts +0 -23
  689. package/dist/src/types/TemplateResolver.d.ts.map +0 -1
  690. package/dist/src/types/index.d.ts +0 -82
  691. package/dist/src/types/index.d.ts.map +0 -1
  692. package/dist/src/utils/breakpoints.d.ts +0 -35
  693. package/dist/src/utils/breakpoints.d.ts.map +0 -1
  694. package/dist/src/utils/cssUtils.d.ts +0 -17
  695. package/dist/src/utils/cssUtils.d.ts.map +0 -1
  696. package/dist/src/utils/customPaletteManager.d.ts +0 -8
  697. package/dist/src/utils/customPaletteManager.d.ts.map +0 -1
  698. package/dist/src/utils/dimensions.d.ts +0 -34
  699. package/dist/src/utils/dimensions.d.ts.map +0 -1
  700. package/dist/src/utils/htmlTransform.d.ts +0 -44
  701. package/dist/src/utils/htmlTransform.d.ts.map +0 -1
  702. package/dist/src/utils/index.d.ts +0 -16
  703. package/dist/src/utils/index.d.ts.map +0 -1
  704. package/dist/src/utils/logger.d.ts +0 -26
  705. package/dist/src/utils/logger.d.ts.map +0 -1
  706. package/dist/src/utils/paletteUtils.d.ts +0 -38
  707. package/dist/src/utils/paletteUtils.d.ts.map +0 -1
  708. package/dist/src/utils/persistenceUtils.d.ts +0 -31
  709. package/dist/src/utils/persistenceUtils.d.ts.map +0 -1
  710. package/dist/src/utils/reactUtils.d.ts +0 -33
  711. package/dist/src/utils/reactUtils.d.ts.map +0 -1
  712. package/dist/src/utils/spacing.d.ts +0 -34
  713. package/dist/src/utils/spacing.d.ts.map +0 -1
  714. package/dist/src/utils/themePerformanceMonitor.d.ts +0 -32
  715. package/dist/src/utils/themePerformanceMonitor.d.ts.map +0 -1
  716. package/dist/src/utils/themeUtils.d.ts +0 -27
  717. package/dist/src/utils/themeUtils.d.ts.map +0 -1
  718. package/dist/tests/ConsoleWarningTest.d.ts +0 -5
  719. package/dist/tests/ConsoleWarningTest.d.ts.map +0 -1
  720. package/dist/tests/StorageKeyTest.d.ts +0 -6
  721. package/dist/tests/StorageKeyTest.d.ts.map +0 -1
  722. package/dist/tests/ThemeStorageKeyTest.d.ts +0 -6
  723. package/dist/tests/ThemeStorageKeyTest.d.ts.map +0 -1
  724. /package/dist/palettes/{PaletteAutumn.css → palette-autumn.1.4.9.css} +0 -0
  725. /package/dist/palettes/{PaletteCosmic.css → palette-cosmic.1.4.9.css} +0 -0
  726. /package/dist/palettes/{PaletteDefault.css → palette-default.1.4.9.css} +0 -0
  727. /package/dist/palettes/{PaletteOcean.css → palette-ocean.1.4.9.css} +0 -0
  728. /package/dist/palettes/{PaletteSpring.css → palette-spring.1.4.9.css} +0 -0
  729. /package/dist/palettes/{PaletteWinter.css → palette-winter.1.4.9.css} +0 -0
  730. /package/dist/{src/stories → stories}/_templates/SerializationTemplate.d.ts +0 -0
@@ -431,12 +431,11 @@ export const InitiallyCollapsed: Story = {
431
431
  },
432
432
  };
433
433
 
434
- export const ControlledState: Story = {
435
- render: () => {
436
- const [isCollapsed, setIsCollapsed] = useState(false);
437
-
438
- return (
439
- <QwickApp appId="collapsible-controlled" appName='Controlled State'>
434
+ const ControlledStateComponent = () => {
435
+ const [isCollapsed, setIsCollapsed] = useState(false);
436
+
437
+ return (
438
+ <QwickApp appId="collapsible-controlled" appName='Controlled State'>
440
439
  <Stack spacing={2}>
441
440
  <Box>
442
441
  <FormControlLabel
@@ -463,19 +462,22 @@ export const ControlledState: Story = {
463
462
  <Alert severity="info">
464
463
  This CollapsibleLayout's state is controlled by the switch above.
465
464
  You can also click the header to toggle, but the switch will update accordingly.
466
- </Alert>
467
- </CollapsibleLayout>
468
- </Stack>
469
- </QwickApp>
470
- );
471
- },
472
- parameters: {
473
- docs: {
474
- description: {
475
- story: 'CollapsibleLayout with controlled state managed by external component (switch).',
476
- },
477
- },
478
- },
465
+ </Alert>
466
+ </CollapsibleLayout>
467
+ </Stack>
468
+ </QwickApp>
469
+ );
470
+ };
471
+
472
+ export const ControlledState: Story = {
473
+ render: () => <ControlledStateComponent />,
474
+ parameters: {
475
+ docs: {
476
+ description: {
477
+ story: 'CollapsibleLayout with controlled state managed by external component (switch).',
478
+ },
479
+ },
480
+ },
479
481
  };
480
482
 
481
483
  export const WithPersistence: Story = {
@@ -833,12 +835,11 @@ export const CustomIcons: Story = {
833
835
  },
834
836
  };
835
837
 
836
- export const DisabledState: Story = {
837
- render: () => {
838
- const [disabled, setDisabled] = useState(false);
839
-
840
- return (
841
- <QwickApp appId="collapsible-disabled" appName='Disabled State'>
838
+ const DisabledStateComponent = () => {
839
+ const [disabled, setDisabled] = useState(false);
840
+
841
+ return (
842
+ <QwickApp appId="collapsible-disabled" appName='Disabled State'>
842
843
  <Stack spacing={2}>
843
844
  <Box>
844
845
  <FormControlLabel
@@ -870,18 +871,21 @@ export const DisabledState: Story = {
870
871
  : "This content can be toggled normally. Use the switch above to simulate a disabled state."
871
872
  }
872
873
  </Typography>
873
- </CollapsibleLayout>
874
- </Stack>
875
- </QwickApp>
876
- );
877
- },
878
- parameters: {
879
- docs: {
880
- description: {
881
- story: 'Demonstrating how to create a disabled-like state by conditionally removing event handlers.',
882
- },
883
- },
884
- },
874
+ </CollapsibleLayout>
875
+ </Stack>
876
+ </QwickApp>
877
+ );
878
+ };
879
+
880
+ export const DisabledState: Story = {
881
+ render: () => <DisabledStateComponent />,
882
+ parameters: {
883
+ docs: {
884
+ description: {
885
+ story: 'Demonstrating how to create a disabled-like state by conditionally removing event handlers.',
886
+ },
887
+ },
888
+ },
885
889
  };
886
890
 
887
891
  // ============================================
@@ -8,7 +8,7 @@
8
8
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
9
  */
10
10
 
11
- import { Alert, Box, Paper, Typography } from '@mui/material';
11
+ import { Alert, Box, Typography } from '@mui/material';
12
12
  import { JsonDataProvider } from '@qwickapps/schema';
13
13
  import type { Meta, StoryObj } from '@storybook/react';
14
14
  import React from 'react';
@@ -17,7 +17,6 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
17
17
  import { Code, Text } from '../components/blocks';
18
18
  import { Button } from '../components/buttons/Button';
19
19
  import QwickApp from '../components/QwickApp';
20
- import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
21
20
  import {registerSerializableComponents} from '../schemas/transformers/registry';
22
21
 
23
22
  console.log('Registering serializable components for stories...', registerSerializableComponents);
@@ -132,9 +132,8 @@ All HTML content is automatically sanitized:
132
132
  export default meta;
133
133
  type Story = StoryObj<typeof meta>;
134
134
 
135
- // Multi-language Support
136
- export const MultiLanguageContent: Story = {
137
- render: () => {
135
+ // Multi-language Support Component
136
+ const MultiLanguageComponent = () => {
138
137
  const [language, setLanguage] = useState<'en' | 'es'>('en');
139
138
 
140
139
  return (
@@ -175,7 +174,11 @@ export const MultiLanguageContent: Story = {
175
174
  ]`}</Code>
176
175
  </Section>
177
176
  );
178
- },
177
+ };
178
+ MultiLanguageComponent.displayName = 'MultiLanguageComponent';
179
+
180
+ export const MultiLanguageContent: Story = {
181
+ render: () => <MultiLanguageComponent />,
179
182
  parameters: {
180
183
  docs: {
181
184
  description: {
@@ -185,9 +188,8 @@ export const MultiLanguageContent: Story = {
185
188
  }
186
189
  };
187
190
 
188
- // A/B Testing
189
- export const ABTestingVariants: Story = {
190
- render: () => {
191
+ // A/B Testing Component
192
+ const ABTestingComponent = () => {
191
193
  const [variant, setVariant] = useState<'a' | 'b'>('a');
192
194
 
193
195
  return (
@@ -207,7 +209,7 @@ export const ABTestingVariants: Story = {
207
209
  Variant B (Join Community)
208
210
  </Button>
209
211
  </GridLayout>
210
-
212
+
211
213
  <Card variant="outlined" style={{ padding: '1.5rem', backgroundColor: '#e3f2fd' }}>
212
214
  <SafeSpan dataSource={`cta.variant-${variant}`} />
213
215
  </Card>
@@ -231,7 +233,11 @@ return (
231
233
  ]`}</Code>
232
234
  </Section>
233
235
  );
234
- },
236
+ };
237
+ ABTestingComponent.displayName = 'ABTestingComponent';
238
+
239
+ export const ABTestingVariants: Story = {
240
+ render: () => <ABTestingComponent />,
235
241
  parameters: {
236
242
  docs: {
237
243
  description: {
@@ -365,7 +365,7 @@ export const BasicUsage: Story = {
365
365
  };
366
366
 
367
367
  // Enhanced ProviderDemo component using MUI components
368
- const ProviderDemo = ({ provider, title }: { provider: any; title: string }) => {
368
+ const ProviderDemo = ({ provider, title }: { provider: JsonDataProvider | CachedDataProvider; title: string }) => {
369
369
  const [stats, setStats] = useState(() => {
370
370
  if ('getCacheStats' in provider && typeof provider.getCacheStats === 'function') {
371
371
  return provider.getCacheStats();
@@ -848,8 +848,8 @@ export const ErrorHandling: Story = {
848
848
  /**
849
849
  * External JSON file loading (simulated with fetch mock)
850
850
  */
851
- export const ExternalJSON: Story = {
852
- render: () => {
851
+ // External JSON Component
852
+ const ExternalJSONComponent = () => {
853
853
  // Mock fetch for this story
854
854
  const originalFetch = global.fetch;
855
855
  global.fetch = ((url: string) => {
@@ -876,7 +876,7 @@ export const ExternalJSON: Story = {
876
876
  return () => {
877
877
  global.fetch = originalFetch;
878
878
  };
879
- }, []);
879
+ }, [originalFetch]);
880
880
 
881
881
  return (
882
882
  <DataProvider dataSource={{ dataProvider: provider }}>
@@ -899,14 +899,17 @@ export const ExternalJSON: Story = {
899
899
  </div>
900
900
  </DataProvider>
901
901
  );
902
- }
902
+ };
903
+ ExternalJSONComponent.displayName = 'ExternalJSONComponent';
904
+
905
+ export const ExternalJSON: Story = {
906
+ render: () => <ExternalJSONComponent />
903
907
  };
904
908
 
905
909
  /**
906
- * Performance demonstration with caching
910
+ * Performance demonstration component
907
911
  */
908
- export const PerformanceDemo: Story = {
909
- render: () => {
912
+ const PerformanceDemoComponent = () => {
910
913
  const [renderCount, setRenderCount] = useState(1);
911
914
  const [cacheStats, setCacheStats] = useState<{ totalEntries: number; maxSize: number; expiredEntries: number }>({ totalEntries: 0, maxSize: 100, expiredEntries: 0 });
912
915
  const [forceRefresh, setForceRefresh] = useState(0);
@@ -925,7 +928,7 @@ export const PerformanceDemo: Story = {
925
928
  }, []);
926
929
 
927
930
  // Update cache stats when requested
928
- const updateCacheStats = () => {
931
+ const updateCacheStats = React.useCallback(() => {
929
932
  const stats = provider.getCacheStats();
930
933
  // Map stats to expected shape for cacheStats state
931
934
  setCacheStats({
@@ -934,7 +937,7 @@ export const PerformanceDemo: Story = {
934
937
  expiredEntries: stats.expiredEntries ?? stats.expiredEntries ?? 0
935
938
  });
936
939
  console.log('[Performance Demo] Cache stats updated:', stats);
937
- };
940
+ }, [provider]);
938
941
 
939
942
  // Initialize cache stats on mount
940
943
  React.useEffect(() => {
@@ -942,12 +945,13 @@ export const PerformanceDemo: Story = {
942
945
  setTimeout(() => {
943
946
  updateCacheStats();
944
947
  }, 100);
948
+ // eslint-disable-next-line react-hooks/exhaustive-deps
945
949
  }, []);
946
950
 
947
951
  // Update cache stats when content changes
948
952
  React.useEffect(() => {
949
953
  updateCacheStats();
950
- }, [forceRefresh]);
954
+ }, [forceRefresh, updateCacheStats]);
951
955
 
952
956
  const triggerRender = (action: string) => {
953
957
  setRenderCount(prev => prev + 1);
@@ -1131,7 +1135,14 @@ export const PerformanceDemo: Story = {
1131
1135
  </div>
1132
1136
  </DataProvider>
1133
1137
  );
1134
- }
1138
+ };
1139
+ PerformanceDemoComponent.displayName = 'PerformanceDemoComponent';
1140
+
1141
+ /**
1142
+ * Performance demonstration with caching
1143
+ */
1144
+ export const PerformanceDemo: Story = {
1145
+ render: () => <PerformanceDemoComponent />
1135
1146
  };
1136
1147
 
1137
1148
  /**
@@ -1264,10 +1275,9 @@ export const CachingBehavior: Story = {
1264
1275
  };
1265
1276
 
1266
1277
  /**
1267
- * Interactive configuration playground with real-time settings
1278
+ * Configuration playground component
1268
1279
  */
1269
- export const ConfigurationPlayground: Story = {
1270
- render: () => {
1280
+ const ConfigurationPlaygroundComponent = () => {
1271
1281
  const [config, setConfig] = useState({
1272
1282
  cacheTimeout: 5000,
1273
1283
  maxCacheSize: 10,
@@ -1357,5 +1367,12 @@ export const ConfigurationPlayground: Story = {
1357
1367
  </GridLayout>
1358
1368
  </Box>
1359
1369
  );
1360
- }
1370
+ };
1371
+ ConfigurationPlaygroundComponent.displayName = 'ConfigurationPlaygroundComponent';
1372
+
1373
+ /**
1374
+ * Interactive configuration playground with real-time settings
1375
+ */
1376
+ export const ConfigurationPlayground: Story = {
1377
+ render: () => <ConfigurationPlaygroundComponent />
1361
1378
  };
@@ -122,33 +122,35 @@ export const HigherOrderComponent: Story = {
122
122
  };
123
123
 
124
124
  // Interactive story for testing retry functionality
125
+ const InteractiveComponent = () => {
126
+ const [shouldThrow, setShouldThrow] = React.useState(false);
127
+
128
+ return (
129
+ <div style={{ padding: '2rem' }}>
130
+ <button
131
+ onClick={() => setShouldThrow(!shouldThrow)}
132
+ style={{
133
+ marginBottom: '1rem',
134
+ padding: '0.5rem 1rem',
135
+ background: shouldThrow ? '#ff4444' : '#44aa44',
136
+ color: 'white',
137
+ border: 'none',
138
+ borderRadius: '4px',
139
+ cursor: 'pointer'
140
+ }}
141
+ >
142
+ {shouldThrow ? 'Fix Component' : 'Break Component'}
143
+ </button>
144
+
145
+ <ErrorBoundary>
146
+ <ThrowError shouldThrow={shouldThrow} />
147
+ </ErrorBoundary>
148
+ </div>
149
+ );
150
+ };
151
+
125
152
  export const Interactive: Story = {
126
- render: () => {
127
- const [shouldThrow, setShouldThrow] = React.useState(false);
128
-
129
- return (
130
- <div style={{ padding: '2rem' }}>
131
- <button
132
- onClick={() => setShouldThrow(!shouldThrow)}
133
- style={{
134
- marginBottom: '1rem',
135
- padding: '0.5rem 1rem',
136
- background: shouldThrow ? '#ff4444' : '#44aa44',
137
- color: 'white',
138
- border: 'none',
139
- borderRadius: '4px',
140
- cursor: 'pointer'
141
- }}
142
- >
143
- {shouldThrow ? 'Fix Component' : 'Break Component'}
144
- </button>
145
-
146
- <ErrorBoundary>
147
- <ThrowError shouldThrow={shouldThrow} />
148
- </ErrorBoundary>
149
- </div>
150
- );
151
- },
153
+ render: () => <InteractiveComponent />,
152
154
  parameters: {
153
155
  docs: {
154
156
  description: {
@@ -10,7 +10,6 @@ import type { Meta, StoryObj } from '@storybook/react';
10
10
  import QwickApp from '../components/QwickApp';
11
11
  import { Code } from '../components/blocks';
12
12
  import FeatureGrid from '../components/blocks/FeatureGrid';
13
- import { DataProvider } from '../contexts/DataContext';
14
13
 
15
14
  // Sample CMS data for data binding stories
16
15
  const sampleCmsData = {
@@ -154,14 +154,14 @@ export const LoginForm: Story = {
154
154
  type="email"
155
155
  placeholder="your.email@example.com"
156
156
  required={true}
157
- onChange={(value) => console.log('Email:', value)}
157
+ onChange={(_value) => console.log('Email:', _value)}
158
158
  />
159
159
  <TextInputField
160
160
  label="Password"
161
161
  type="password"
162
162
  placeholder="Enter your password"
163
163
  required={true}
164
- onChange={(value) => console.log('Password:', '***')}
164
+ onChange={() => console.log('Password:', '***')}
165
165
  />
166
166
  <Button
167
167
  label="Sign In"
@@ -219,7 +219,7 @@ export const RegistrationForm: Story = {
219
219
  placeholder="john.doe@example.com"
220
220
  required={true}
221
221
  helperText="We'll never share your email address"
222
- onChange={(value) => console.log('Email:', value)}
222
+ onChange={(_value) => console.log('Email:', _value)}
223
223
  />
224
224
  <TextInputField
225
225
  label="Password"
@@ -227,7 +227,7 @@ export const RegistrationForm: Story = {
227
227
  placeholder="Create a strong password"
228
228
  required={true}
229
229
  helperText="Minimum 8 characters with mixed case and numbers"
230
- onChange={(value) => console.log('Password:', '***')}
230
+ onChange={() => console.log('Password:', '***')}
231
231
  />
232
232
  <SelectInputField
233
233
  label="Country"
@@ -290,7 +290,7 @@ export const ContactForm: Story = {
290
290
  type="email"
291
291
  placeholder="your.email@example.com"
292
292
  required={true}
293
- onChange={(value) => console.log('Email:', value)}
293
+ onChange={(_value) => console.log('Email:', _value)}
294
294
  />
295
295
  </Box>
296
296
  <TextInputField
@@ -352,7 +352,7 @@ export const WithStatusMessages: Story = {
352
352
  type="email"
353
353
  placeholder="your.email@example.com"
354
354
  required={true}
355
- onChange={(value) => console.log('Email:', value)}
355
+ onChange={(_value) => console.log('Email:', _value)}
356
356
  />
357
357
  <Button
358
358
  label="Subscribe"
@@ -503,14 +503,14 @@ export const DataBindingBasic: Story = {
503
503
  type="email"
504
504
  placeholder="your.email@example.com"
505
505
  required={true}
506
- onChange={(value) => console.log('Email:', value)}
506
+ onChange={(_value) => console.log('Email:', _value)}
507
507
  />
508
508
  <TextInputField
509
509
  label="Password"
510
510
  type="password"
511
511
  placeholder="Enter your password"
512
512
  required={true}
513
- onChange={(value) => console.log('Password:', '***')}
513
+ onChange={() => console.log('Password:', '***')}
514
514
  />
515
515
  <Button
516
516
  label="Sign In"
@@ -284,10 +284,9 @@ export const SelectInputFieldShowcase: Story = {
284
284
  )
285
285
  };
286
286
 
287
- export const CompleteFormExample: Story = {
288
- name: 'Complete Form - All Components Together',
289
- render: () => {
290
- const [formData, setFormData] = useState({
287
+ // Complete Form Component
288
+ const CompleteFormComponent = () => {
289
+ const [formData] = useState({
291
290
  name: '',
292
291
  email: '',
293
292
  country: '',
@@ -313,7 +312,7 @@ export const CompleteFormExample: Story = {
313
312
  placeholder="Enter your full name"
314
313
  required={true}
315
314
  />
316
-
315
+
317
316
  <TextInputField
318
317
  label="Email Address"
319
318
  value={formData.email}
@@ -322,7 +321,7 @@ export const CompleteFormExample: Story = {
322
321
  required={true}
323
322
  helperText="We'll use this to send you important updates"
324
323
  />
325
-
324
+
326
325
  <SelectInputField
327
326
  label="Country"
328
327
  value={formData.country}
@@ -336,7 +335,7 @@ export const CompleteFormExample: Story = {
336
335
  ]}
337
336
  required={true}
338
337
  />
339
-
338
+
340
339
  <HtmlInputField
341
340
  label="About Yourself"
342
341
  value={formData.description}
@@ -344,7 +343,7 @@ export const CompleteFormExample: Story = {
344
343
  rows={4}
345
344
  multiline={true}
346
345
  />
347
-
346
+
348
347
  <ChoiceInputField
349
348
  label="Interests"
350
349
  options={formData.interests}
@@ -352,14 +351,14 @@ export const CompleteFormExample: Story = {
352
351
  placeholder="Add your interests..."
353
352
  addButtonText="Add Interest"
354
353
  />
355
-
354
+
356
355
  <SwitchInputField
357
356
  label="Email Notifications"
358
357
  checked={formData.notifications}
359
358
  helperText="Receive important updates via email"
360
359
  color="primary"
361
360
  />
362
-
361
+
363
362
  <SwitchInputField
364
363
  label="Newsletter Subscription"
365
364
  checked={formData.newsletter}
@@ -387,5 +386,10 @@ export const CompleteFormExample: Story = {
387
386
  />
388
387
  </Box>
389
388
  );
390
- }
389
+ };
390
+ CompleteFormComponent.displayName = 'CompleteFormComponent';
391
+
392
+ export const CompleteFormExample: Story = {
393
+ name: 'Complete Form - All Components Together',
394
+ render: () => <CompleteFormComponent />
391
395
  };
@@ -13,11 +13,11 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
13
13
  import React from 'react';
14
14
 
15
15
  // Ensure components are registered for serialization
16
- ComponentTransformer.registerComponent(GridCell as any);
17
- ComponentTransformer.registerComponent(Text as any);
18
- ComponentTransformer.registerComponent(Button as any);
19
- ComponentTransformer.registerComponent(Code as any);
20
- ComponentTransformer.registerComponent(Image as any);
16
+ ComponentTransformer.registerComponent(GridCell as React.ComponentType);
17
+ ComponentTransformer.registerComponent(Text as React.ComponentType);
18
+ ComponentTransformer.registerComponent(Button as React.ComponentType);
19
+ ComponentTransformer.registerComponent(Code as React.ComponentType);
20
+ ComponentTransformer.registerComponent(Image as React.ComponentType);
21
21
 
22
22
  const meta: Meta<typeof GridCell> = {
23
23
  title: 'Layout/GridCell',
@@ -13,11 +13,11 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
13
13
  import React from 'react';
14
14
 
15
15
  // Ensure components are registered for serialization
16
- ComponentTransformer.registerComponent(GridLayout as any);
17
- ComponentTransformer.registerComponent(GridCell as any);
18
- ComponentTransformer.registerComponent(Text as any);
19
- ComponentTransformer.registerComponent(Button as any);
20
- ComponentTransformer.registerComponent(Code as any);
16
+ ComponentTransformer.registerComponent(GridLayout as React.ComponentType);
17
+ ComponentTransformer.registerComponent(GridCell as React.ComponentType);
18
+ ComponentTransformer.registerComponent(Text as React.ComponentType);
19
+ ComponentTransformer.registerComponent(Button as React.ComponentType);
20
+ ComponentTransformer.registerComponent(Code as React.ComponentType);
21
21
 
22
22
  const meta: Meta<typeof GridLayout> = {
23
23
  title: 'Layout/GridLayout',
@@ -4,12 +4,10 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { Box, Divider, Typography, Alert, Paper, Grid } from '@mui/material';
7
+ import { Box, Typography, Alert, Grid } from '@mui/material';
8
8
  import { JsonDataProvider } from '@qwickapps/schema';
9
9
  import type { Meta, StoryObj } from '@storybook/react';
10
10
  import { Image } from '../components/blocks';
11
- import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
12
- import { ModelView } from '../components/base/ModelView';
13
11
  import QwickApp from '../components/QwickApp';
14
12
  import React from 'react';
15
13
 
@@ -380,7 +378,7 @@ export const InteractiveFeatures: Story = {
380
378
  objectFit="cover"
381
379
  borderRadius="12px"
382
380
  showLoading={true}
383
- onClick={(e) => alert('Image clicked!')}
381
+ onClick={() => alert('Image clicked!')}
384
382
  style={{ cursor: 'pointer', transition: 'transform 0.2s', '&:hover': { transform: 'scale(1.02)' } }}
385
383
  title="Click me!"
386
384
  />
@@ -523,9 +521,9 @@ export const ModelViewBasic: Story = {
523
521
 
524
522
  // Show that it has ModelView properties
525
523
  const hasToJson = typeof imageInstance.toJson === 'function';
526
- const hasFromJson = typeof (imageInstance.constructor as any).fromJson === 'function';
527
- const tagName = (imageInstance.constructor as any).tagName;
528
- const version = (imageInstance.constructor as any).version;
524
+ const hasFromJson = typeof (imageInstance.constructor as Record<string, unknown>).fromJson === 'function';
525
+ const tagName = (imageInstance.constructor as Record<string, unknown>).tagName as string;
526
+ const version = (imageInstance.constructor as Record<string, unknown>).version as string;
529
527
 
530
528
  return (
531
529
  <QwickApp appId="image-modelview" appName='Image ModelView Demonstration'>
@@ -32,7 +32,6 @@ import {
32
32
  } from '@mui/icons-material';
33
33
  import Logo from '../components/Logo';
34
34
  import { Code } from '../components/blocks';
35
- import { Button } from '../components/buttons/Button';
36
35
 
37
36
  const meta: Meta = {
38
37
  title: 'Introduction',
@@ -4,7 +4,7 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { Box, Typography, Alert, Paper, Divider } from '@mui/material';
7
+ import { Box, Typography, Alert, Paper } from '@mui/material';
8
8
  import { JsonDataProvider } from '@qwickapps/schema';
9
9
  import type { Meta, StoryObj } from '@storybook/react';
10
10
  import { Code } from '../components/blocks';
@@ -28,7 +28,7 @@ class Code extends ModelView<CodeProps, CodeModel> {
28
28
  static readonly tagName = 'Code';
29
29
  static readonly version = '1.0.0';
30
30
 
31
- protected getComponentSpecificProps(): any {
31
+ protected getComponentSpecificProps(): unknown {
32
32
  return {
33
33
  language: this.props.language,
34
34
  showCopy: this.props.showCopy,
@@ -123,7 +123,7 @@ export abstract class ModelView<TProps, TModel>
123
123
  static readonly version: string;
124
124
 
125
125
  // Common serialization implementation
126
- toJson(): any {
126
+ toJson(): unknown {
127
127
  return {
128
128
  ...this.getBaseSerializableProps(),
129
129
  ...this.getComponentSpecificProps()
@@ -131,7 +131,7 @@ export abstract class ModelView<TProps, TModel>
131
131
  }
132
132
 
133
133
  // Base props all components serialize
134
- protected getBaseSerializableProps(): any {
134
+ protected getBaseSerializableProps(): unknown {
135
135
  return {
136
136
  children: this.serializeChildren(this.props.children),
137
137
  dataSource: this.props.dataSource,
@@ -142,7 +142,7 @@ export abstract class ModelView<TProps, TModel>
142
142
  }
143
143
 
144
144
  // Hook for component-specific props (implemented by subclasses)
145
- protected abstract getComponentSpecificProps(): any;
145
+ protected abstract getComponentSpecificProps(): unknown;
146
146
 
147
147
  // Common render pattern
148
148
  render() {
@@ -168,12 +168,12 @@ export class Code extends ModelView<CodeProps, CodeModel> {
168
168
  static readonly version = '1.0.0';
169
169
 
170
170
  // Required: Deserialization factory method
171
- static fromJson(jsonData: any): ReactElement {
171
+ static fromJson(jsonData: unknown): ReactElement {
172
172
  return <Code {...jsonData} />;
173
173
  }
174
174
 
175
175
  // Required: Component-specific serialization properties
176
- protected getComponentSpecificProps(): any {
176
+ protected getComponentSpecificProps(): unknown {
177
177
  return {
178
178
  language: this.props.language,
179
179
  showCopy: this.props.showCopy,