@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
@@ -4,7 +4,7 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { IsArray, IsOptional, IsNumber, IsIn, IsBoolean, IsString, ValidateNested, Min, Max } from 'class-validator';
7
+ import { IsArray, IsOptional, IsNumber, IsIn, IsBoolean, IsString, ValidateNested } from 'class-validator';
8
8
  import { Type } from 'class-transformer';
9
9
  import 'reflect-metadata';
10
10
  import { Editor, Field, Schema, Model, FieldType } from '@qwickapps/schema';
@@ -4,7 +4,7 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { IsBoolean, IsIn, IsOptional, IsString } from 'class-validator';
7
+ import { IsIn, IsOptional, IsString } from 'class-validator';
8
8
  import 'reflect-metadata';
9
9
  import { Editor, Field, Schema, FieldType } from '@qwickapps/schema';
10
10
  import { ContainerSchema } from './ContainerSchema';
@@ -4,7 +4,6 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import type { ReactNode } from 'react';
8
7
  import { IsOptional, IsString, IsNumber, IsIn } from 'class-validator';
9
8
  import 'reflect-metadata';
10
9
  import { Editor, Field, Schema, FieldType } from '@qwickapps/schema';
@@ -4,7 +4,6 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import type { ReactNode } from 'react';
8
7
  import { IsBoolean, IsOptional, IsString, IsNumber, IsIn, Min } from 'class-validator';
9
8
  import 'reflect-metadata';
10
9
  import { Editor, Field, Schema, FieldType } from '@qwickapps/schema';
@@ -7,7 +7,6 @@
7
7
  import { IsOptional, IsString, IsIn } from 'class-validator';
8
8
  import 'reflect-metadata';
9
9
  import { Editor, Field, Schema, FieldType } from '@qwickapps/schema';
10
- import { ReactNode } from 'react';
11
10
  import { ContainerSchema } from './ContainerSchema';
12
11
 
13
12
  @Schema('Section', '1.0.0')
@@ -170,7 +170,7 @@ export class ViewSchema extends Model {
170
170
  })
171
171
  @IsOptional()
172
172
  @IsString()
173
- height?: string | number;;
173
+ height?: string | number;
174
174
 
175
175
  @Field()
176
176
  @Editor({
@@ -516,11 +516,11 @@ export class ViewSchema extends Model {
516
516
  field_type: FieldType.TEXTAREA,
517
517
  label: 'Click Handler',
518
518
  description: 'JavaScript function for click events',
519
- placeholder: 'function(event) { console.log("clicked"); }'
519
+ placeholder: 'function(event) { console.debug("clicked"); }'
520
520
  })
521
521
  @IsOptional()
522
522
  @IsString()
523
- onClick?: MouseEventHandler<any>;
523
+ onClick?: MouseEventHandler<unknown>;
524
524
 
525
525
  @Field()
526
526
  @Editor({
@@ -531,7 +531,7 @@ export class ViewSchema extends Model {
531
531
  })
532
532
  @IsOptional()
533
533
  @IsString()
534
- onMouseEnter?: MouseEventHandler<any>;
534
+ onMouseEnter?: MouseEventHandler<unknown>;
535
535
 
536
536
  @Field()
537
537
  @Editor({
@@ -542,7 +542,7 @@ export class ViewSchema extends Model {
542
542
  })
543
543
  @IsOptional()
544
544
  @IsString()
545
- onMouseLeave?: MouseEventHandler<any>;
545
+ onMouseLeave?: MouseEventHandler<unknown>;
546
546
 
547
547
  @Field()
548
548
  @Editor({
@@ -553,7 +553,7 @@ export class ViewSchema extends Model {
553
553
  })
554
554
  @IsOptional()
555
555
  @IsString()
556
- onFocus?: FocusEventHandler<any>;
556
+ onFocus?: FocusEventHandler<unknown>;
557
557
 
558
558
  @Field()
559
559
  @Editor({
@@ -564,7 +564,7 @@ export class ViewSchema extends Model {
564
564
  })
565
565
  @IsOptional()
566
566
  @IsString()
567
- onBlur?: FocusEventHandler<any>;
567
+ onBlur?: FocusEventHandler<unknown>;
568
568
  }
569
569
 
570
570
  export default ViewSchema;
@@ -12,6 +12,7 @@
12
12
  import React, { ReactNode, ReactElement } from 'react';
13
13
  import { SerializableConstructor } from '../types/Serializable';
14
14
  import { ReactNodeTransformer } from './ReactNodeTransformer';
15
+ import SafeSpan from '../../components/SafeSpan';
15
16
 
16
17
  /**
17
18
  * Registry for component classes that support serialization
@@ -26,7 +27,7 @@ const patternRegistry = new Map<string, PatternHandler>();
26
27
  /**
27
28
  * Type for HTML pattern transformation handlers
28
29
  */
29
- export type PatternHandler = (element: Element) => any;
30
+ export type PatternHandler = (element: Element) => unknown;
30
31
 
31
32
  /**
32
33
  * Strict mode: throw on unregistered components
@@ -77,7 +78,7 @@ export class ComponentTransformer {
77
78
  throw new Error(`Component class '${tagName}' must have a static 'version' property`);
78
79
  }
79
80
 
80
- if (typeof (componentClass as any).fromJson !== 'function') {
81
+ if (typeof (componentClass as { fromJson?: unknown }).fromJson !== 'function') {
81
82
  throw new Error(`Component class '${tagName}' must implement static 'fromJson' method`);
82
83
  }
83
84
 
@@ -85,12 +86,12 @@ export class ComponentTransformer {
85
86
  console.warn(`Component '${tagName}' is already registered. Overwriting existing registration.`);
86
87
  }
87
88
 
88
- console.log(`TEST: Registering component: ${tagName} (version ${version})`);
89
89
  componentRegistry.set(tagName, componentClass);
90
90
 
91
91
  // Register HTML patterns if component supports them
92
- if (typeof (componentClass as any).registerPatternHandlers === 'function') {
93
- (componentClass as any).registerPatternHandlers(ComponentTransformer);
92
+ const classWithPatterns = componentClass as SerializableConstructor & { registerPatternHandlers?: (transformer: typeof ComponentTransformer) => void };
93
+ if (typeof classWithPatterns.registerPatternHandlers === 'function') {
94
+ classWithPatterns.registerPatternHandlers(ComponentTransformer);
94
95
  }
95
96
  }
96
97
 
@@ -100,7 +101,7 @@ export class ComponentTransformer {
100
101
  * In legacy mode: uses fallback tag for unregistered components/html/text
101
102
  */
102
103
  static serialize(node: ReactNode | ReactNode[]): string {
103
- const serializedData = ComponentTransformer.serializeNode(node as any);
104
+ const serializedData = ComponentTransformer.serializeNode(node);
104
105
  return JSON.stringify(serializedData);
105
106
  }
106
107
 
@@ -123,20 +124,20 @@ export class ComponentTransformer {
123
124
  }
124
125
 
125
126
  if (input == null) return null;
126
- return ComponentTransformer.deserializeData(input as any);
127
+ return ComponentTransformer.deserializeData(input);
127
128
  }
128
129
 
129
130
  /**
130
131
  * Type guard for serialized component schema objects
131
- * Requires: { tagName: string; version: string; data: any }
132
+ * Requires: { tagName: string; version: string; data: unknown }
132
133
  * Optional: key?: string
133
134
  */
134
- private static isSerializedComponent(obj: any): obj is { tagName: string; version: string; data: any; key?: string } {
135
+ private static isSerializedComponent(obj: unknown): obj is { tagName: string; version: string; data: unknown; key?: string } {
135
136
  return !!obj
136
137
  && typeof obj === 'object'
137
- && typeof (obj as any).tagName === 'string'
138
- && typeof (obj as any).version === 'string'
139
- && 'data' in (obj as any);
138
+ && typeof (obj as { tagName?: string }).tagName === 'string'
139
+ && typeof (obj as { version?: string }).version === 'string'
140
+ && 'data' in obj;
140
141
  }
141
142
 
142
143
  /**
@@ -144,7 +145,7 @@ export class ComponentTransformer {
144
145
  * @param data - Data to deserialize
145
146
  * @returns React node(s)
146
147
  */
147
- private static deserializeData(data: any): ReactNode | ReactNode[] {
148
+ private static deserializeData(data: unknown): ReactNode | ReactNode[] {
148
149
  if (data == null) return null;
149
150
 
150
151
  // Arrays: map recursively
@@ -178,8 +179,21 @@ export class ComponentTransformer {
178
179
  }
179
180
  }
180
181
 
182
+ // Handle primitives that are valid React children
183
+ if (typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean') {
184
+ return data;
185
+ }
186
+
187
+ // For objects, we can't render them directly
181
188
  console.warn(`TEST: Unrecognized data:`, data);
182
- return String(data);
189
+
190
+ // In development, show debug info; in production, return null
191
+ if (process.env.NODE_ENV !== 'production') {
192
+ const displayText = typeof data === 'object' ? JSON.stringify(data, null, 2) : String(data);
193
+ return React.createElement(SafeSpan, { html: `<pre>${displayText}</pre>` });
194
+ }
195
+
196
+ return null;
183
197
  }
184
198
 
185
199
  /**
@@ -187,7 +201,7 @@ export class ComponentTransformer {
187
201
  * @param node - React node to serialize
188
202
  * @returns Serializable data structure { tagName, version, data }
189
203
  */
190
- private static serializeNode(node: any): any {
204
+ private static serializeNode(node: unknown): unknown {
191
205
  if (node == null) return null;
192
206
 
193
207
  // Handle arrays of nodes (produce array of schema objects/null)
@@ -210,15 +224,12 @@ export class ComponentTransformer {
210
224
  if (typeof componentType === 'function') {
211
225
  const tagName = ComponentTransformer.findTagNameForComponent(componentType);
212
226
  if (tagName) {
213
- console.log(`TEST: Serializing component instance of ${tagName}:`, element.props);
214
227
  const componentClass = componentRegistry.get(tagName)!;
215
228
 
216
- let serializedData: any = null;
217
- console.log(`TEST: Element type:`, typeof (element as any).toJson);
218
- console.log(`TEST: Component type:`, typeof (componentClass as any).toJson);
219
- if (typeof (componentClass as any).toJson === 'function') {
220
- console.log(`TEST: Serializing via component toJson method ${tagName}:`, element.props);
221
- serializedData = (componentClass as any).toJson(element.props);
229
+ let serializedData: unknown = null;
230
+ const classWithToJson = componentClass as SerializableConstructor & { toJson?: (props: unknown) => unknown };
231
+ if (typeof classWithToJson.toJson === 'function') {
232
+ serializedData = classWithToJson.toJson(element.props);
222
233
  }
223
234
 
224
235
  if (serializedData !== null) {
@@ -231,12 +242,13 @@ export class ComponentTransformer {
231
242
  ...key,
232
243
  ...serializedData
233
244
  };
234
- console.log(`TEST: Serialized component ${tagName}:`, result);
245
+
235
246
  return result;
236
247
  }
237
248
  } else if (strictMode) {
238
249
  // In strict mode, throw if we can't find a tag name for the component
239
- const componentName = (componentType as any).displayName || (componentType as any).name || 'Unknown';
250
+ const typeWithName = componentType as { displayName?: string; name?: string };
251
+ const componentName = typeWithName.displayName || typeWithName.name || 'Unknown';
240
252
  throw new Error(`Unregistered component '${componentName}' cannot be serialized in strict mode`);
241
253
  }
242
254
  }
@@ -251,8 +263,7 @@ export class ComponentTransformer {
251
263
  version: FALLBACK_VERSION,
252
264
  data: ReactNodeTransformer.serialize(node)
253
265
  };
254
- console.log(`TEST: Serialized unregistered node as ${FALLBACK_TAG}:`, result, node);
255
- console.log(`TEST: Component Registry:`, componentRegistry);
266
+
256
267
  return result;
257
268
  }
258
269
 
@@ -261,7 +272,7 @@ export class ComponentTransformer {
261
272
  * @param data - Serialized data from ReactNodeTransformer
262
273
  * @returns React node
263
274
  */
264
- private static deserializeUnregisteredComponent(data: any): ReactNode {
275
+ private static deserializeUnregisteredComponent(data: unknown): ReactNode {
265
276
  return ReactNodeTransformer.deserialize(data);
266
277
  }
267
278
 
@@ -270,7 +281,7 @@ export class ComponentTransformer {
270
281
  * @param componentType - Component constructor function
271
282
  * @returns Tag name or null if not found
272
283
  */
273
- private static findTagNameForComponent(componentType: any): string | null {
284
+ private static findTagNameForComponent(componentType: unknown): string | null {
274
285
  // Direct constructor match
275
286
  for (const [tagName, registeredClass] of componentRegistry.entries()) {
276
287
  if (registeredClass === componentType) return tagName;
@@ -21,7 +21,7 @@ export class ReactNodeTransformer {
21
21
  * @param node - React node to serialize
22
22
  * @returns Serializable data structure
23
23
  */
24
- static serialize(node: ReactNode): any {
24
+ static serialize(node: ReactNode): unknown {
25
25
  if (node === null || node === undefined) {
26
26
  return null;
27
27
  }
@@ -45,9 +45,8 @@ export class ReactNodeTransformer {
45
45
  // Handle React elements
46
46
  if (isValidElement(node)) {
47
47
  const element = node as ReactElement;
48
- console.log(`TEST: isValidElement:`, element);
49
48
 
50
- const comp: any = element.type;
49
+ const comp: unknown = element.type;
51
50
  const rawName =
52
51
  typeof comp === 'string'
53
52
  ? comp
@@ -70,7 +69,7 @@ export class ReactNodeTransformer {
70
69
  // Handle plain objects
71
70
  if (typeof node === 'object' && node !== null) {
72
71
  try {
73
- const serialized: any = { type: 'object', data: {} };
72
+ const serialized: unknown = { type: 'object', data: {} };
74
73
  for (const [key, value] of Object.entries(node)) {
75
74
  serialized.data[key] = ReactNodeTransformer.serialize(value);
76
75
  }
@@ -95,7 +94,7 @@ export class ReactNodeTransformer {
95
94
  * @param data - Data to deserialize
96
95
  * @returns React node
97
96
  */
98
- static deserialize(data: any): ReactNode {
97
+ static deserialize(data: unknown): ReactNode {
99
98
  if (data === null || data === undefined) {
100
99
  return null;
101
100
  }
@@ -110,19 +109,20 @@ export class ReactNodeTransformer {
110
109
  return data.value;
111
110
 
112
111
  case 'array':
113
- return data.children?.map((child: any) => ReactNodeTransformer.deserialize(child)) || [];
112
+ return data.children?.map((child: unknown) => ReactNodeTransformer.deserialize(child)) || [];
114
113
 
115
114
  case 'react-element':
116
115
  return ReactNodeTransformer.deserializeReactElement(data);
117
116
 
118
- case 'object':
119
- const result: any = {};
117
+ case 'object': {
118
+ const result: Record<string, unknown> = {};
120
119
  if (data.data && typeof data.data === 'object') {
121
120
  for (const [key, value] of Object.entries(data.data)) {
122
121
  result[key] = ReactNodeTransformer.deserialize(value);
123
122
  }
124
123
  }
125
124
  return result;
125
+ }
126
126
 
127
127
  default:
128
128
  return String(data.value || data);
@@ -143,12 +143,12 @@ export class ReactNodeTransformer {
143
143
  * @param props - Props object to serialize
144
144
  * @returns Serialized props
145
145
  */
146
- private static serializeProps(props: any): any {
146
+ private static serializeProps(props: unknown): unknown {
147
147
  if (!props || typeof props !== 'object') {
148
148
  return props;
149
149
  }
150
150
 
151
- const serialized: any = {};
151
+ const serialized: Record<string, unknown> = {};
152
152
  for (const [key, value] of Object.entries(props)) {
153
153
  if (key === 'children') {
154
154
  // Special handling for children prop
@@ -169,14 +169,15 @@ export class ReactNodeTransformer {
169
169
  * @param data - Serialized React element data
170
170
  * @returns React element or fallback content
171
171
  */
172
- private static deserializeReactElement(data: any): ReactNode {
173
- const { elementType, props, key } = data;
172
+ private static deserializeReactElement(data: unknown): ReactNode {
173
+ const typedData = data as { elementType?: string; props?: unknown; key?: string };
174
+ const { elementType, props, key } = typedData;
174
175
 
175
176
  try {
176
177
  // Handle HTML elements
177
178
  if (typeof elementType === 'string') {
178
- const deserializedProps = ReactNodeTransformer.deserializeProps(props);
179
- console.log(`TEST: Create Element:`, elementType, deserializedProps);
179
+ const deserializedProps = ReactNodeTransformer.deserializeProps(props) as Record<string, unknown>;
180
+
180
181
  return createElement(elementType, { key, ...deserializedProps });
181
182
  }
182
183
  } catch (error) {
@@ -192,12 +193,12 @@ export class ReactNodeTransformer {
192
193
  * @param props - Serialized props object
193
194
  * @returns Deserialized props
194
195
  */
195
- private static deserializeProps(props: any): any {
196
+ private static deserializeProps(props: unknown): unknown {
196
197
  if (!props || typeof props !== 'object') {
197
198
  return props;
198
199
  }
199
200
 
200
- const deserialized: any = {};
201
+ const deserialized: Record<string, unknown> = {};
201
202
  for (const [key, value] of Object.entries(props)) {
202
203
  if (key === 'children') {
203
204
  // Special handling for children prop
@@ -215,7 +216,7 @@ export class ReactNodeTransformer {
215
216
  * @param props - Props object
216
217
  * @returns Text content or null
217
218
  */
218
- private static extractTextContent(props: any): string | null {
219
+ private static extractTextContent(props: unknown): string | null {
219
220
  if (!props) return null;
220
221
 
221
222
  if (typeof props.children === 'string') {
@@ -23,7 +23,6 @@ import { SwitchInputField } from '../../components/input/SwitchInputField';
23
23
  import { TextInputField } from '../../components/input/TextInputField';
24
24
  import { GridCell } from '../../components/layout/GridCell';
25
25
  import { GridLayout } from '../../components/layout/GridLayout';
26
- import { ComponentTransformer } from './ComponentTransformer';
27
26
 
28
27
  /**
29
28
  * Register all serializable components with the ComponentTransformer
@@ -32,41 +31,46 @@ import { ComponentTransformer } from './ComponentTransformer';
32
31
  * Phase 0: Foundation in place - ready for component migration
33
32
  * Phase 1+: Components will be migrated to createSerializableView factory
34
33
  */
34
+ import { ComponentTransformer } from './ComponentTransformer';
35
+
35
36
  export function registerSerializableComponents(): void {
37
+ // Type for serializable components
38
+ type SerializableComponent = { tagName: string; version: string; fromJson: (data: unknown) => React.ReactElement };
39
+
36
40
  // Register Container component - Base layout component with child serialization support
37
- ComponentTransformer.registerComponent(Container as any);
41
+ ComponentTransformer.registerComponent(Container as unknown as SerializableComponent);
38
42
 
39
43
  // Register Code component - First production component with serialization support
40
- ComponentTransformer.registerComponent(Code as any);
41
-
44
+ ComponentTransformer.registerComponent(Code as unknown as SerializableComponent);
45
+
42
46
  // Register Section component - Layout container component with child serialization support
43
- ComponentTransformer.registerComponent(Section as any);
44
-
47
+ ComponentTransformer.registerComponent(Section as unknown as SerializableComponent);
48
+
45
49
  // Register Button component - Interactive component with action serialization support
46
- ComponentTransformer.registerComponent(Button as any);
47
-
50
+ ComponentTransformer.registerComponent(Button as unknown as SerializableComponent);
51
+
48
52
  // Register Image component - Display component with comprehensive image handling and serialization support
49
- ComponentTransformer.registerComponent(Image as any);
50
-
53
+ ComponentTransformer.registerComponent(Image as unknown as SerializableComponent);
54
+
51
55
  // Register Text component - Typography component with comprehensive text styling and serialization support
52
- ComponentTransformer.registerComponent(Text as any);
53
-
56
+ ComponentTransformer.registerComponent(Text as unknown as SerializableComponent);
57
+
54
58
  // Register HeroBlock component - Full-width hero section with nested component serialization support
55
- ComponentTransformer.registerComponent(HeroBlock as any);
56
-
59
+ ComponentTransformer.registerComponent(HeroBlock as unknown as SerializableComponent);
60
+
57
61
  // Register GridLayout component - Flexible grid layout with nested component serialization support
58
- ComponentTransformer.registerComponent(GridLayout as any);
59
-
62
+ ComponentTransformer.registerComponent(GridLayout as unknown as SerializableComponent);
63
+
60
64
  // Register GridCell component - Grid cell wrapper with nested component serialization support
61
- ComponentTransformer.registerComponent(GridCell as any);
62
-
65
+ ComponentTransformer.registerComponent(GridCell as unknown as SerializableComponent);
66
+
63
67
  // Register Form Components - Complete form field components with serialization support
64
- ComponentTransformer.registerComponent(TextInputField as any);
65
- ComponentTransformer.registerComponent(SelectInputField as any);
66
- ComponentTransformer.registerComponent(HtmlInputField as any);
67
- ComponentTransformer.registerComponent(ChoiceInputField as any);
68
- ComponentTransformer.registerComponent(SwitchInputField as any);
69
- ComponentTransformer.registerComponent(FormBlock as any);
68
+ ComponentTransformer.registerComponent(TextInputField as unknown as SerializableComponent);
69
+ ComponentTransformer.registerComponent(SelectInputField as unknown as SerializableComponent);
70
+ ComponentTransformer.registerComponent(HtmlInputField as unknown as SerializableComponent);
71
+ ComponentTransformer.registerComponent(ChoiceInputField as unknown as SerializableComponent);
72
+ ComponentTransformer.registerComponent(SwitchInputField as unknown as SerializableComponent);
73
+ ComponentTransformer.registerComponent(FormBlock as unknown as SerializableComponent);
70
74
 
71
75
  // Future components will be registered here as they implement Serializable
72
76
  // etc.
@@ -19,7 +19,7 @@ export interface Serializable {
19
19
  * Convert component instance to JSON data
20
20
  * @returns Serializable data structure
21
21
  */
22
- toJson(): any;
22
+ toJson(): unknown;
23
23
  }
24
24
 
25
25
  /**
@@ -45,7 +45,7 @@ export interface SerializableConstructor {
45
45
  * @param jsonData - Serialized component data
46
46
  * @returns React element representing the component
47
47
  */
48
- fromJson(jsonData: any): ReactElement;
48
+ fromJson(jsonData: unknown): ReactElement;
49
49
 
50
- new (...args: any[]): Serializable;
50
+ new (...args: unknown[]): Serializable;
51
51
  }
package/src/setupTests.js CHANGED
@@ -1,6 +1,15 @@
1
1
  // Jest setup for QwickApps Theme System tests
2
2
  import '@testing-library/jest-dom';
3
3
 
4
+ // Mock paletteLoader to avoid import.meta.env issues in Jest
5
+ jest.mock('./utils/paletteLoader', () => ({
6
+ loadPalette: jest.fn().mockResolvedValue(undefined),
7
+ loadPaletteSync: jest.fn(),
8
+ isPaletteLoaded: jest.fn().mockReturnValue(true),
9
+ getLoadedPalettes: jest.fn().mockReturnValue([]),
10
+ preloadPalettes: jest.fn().mockResolvedValue(undefined),
11
+ }));
12
+
4
13
  // Mock CSS imports for components
5
14
  jest.mock('./components/QwickApp.css', () => ({}));
6
15
  jest.mock('./components/Logo.css', () => ({}));
@@ -13,7 +13,6 @@ const AccessibilityDemo = () => {
13
13
  setHighContrast,
14
14
  setReducedMotion,
15
15
  setLargeText,
16
- announce,
17
16
  announcePolite,
18
17
  announceAssertive,
19
18
  runAudit,
@@ -58,7 +58,7 @@ function MyApp() {
58
58
  &lt;ProductCard dataSource="products.featured" /&gt;
59
59
  &lt;/QwickApp&gt;</code></pre>
60
60
 
61
- <p>You can also use inline code like <code>console.log('hello')</code> within paragraphs.</p>
61
+ <p>You can also use inline code like <code>console.debug('hello')</code> within paragraphs.</p>
62
62
 
63
63
  <h2>Complex Multi-line Code</h2>
64
64
  <code>
@@ -197,7 +197,7 @@ export const FeatureGrid: Story = {
197
197
 
198
198
  export const CustomRenderFunction: Story = {
199
199
  render: () => {
200
- const customRenderItem = (item: any, index: number) => (
200
+ const customRenderItem = (item: { id?: string; title?: string; description?: string }, index: number) => (
201
201
  <Box
202
202
  key={item.id || index}
203
203
  sx={{
@@ -198,12 +198,12 @@ function InteractiveChoiceExample({
198
198
  const newOptions = [...options];
199
199
  newOptions[optionIndex] = value;
200
200
  setOptions(newOptions);
201
- console.log('Option changed:', { optionIndex, value, allOptions: newOptions });
201
+ console.debug('Option changed:', { optionIndex, value, allOptions: newOptions });
202
202
  };
203
203
 
204
204
  const handleAddOption = () => {
205
205
  setOptions([...options, '']);
206
- console.log('Added new option, total:', options.length + 1);
206
+ console.debug('Added new option, total:', options.length + 1);
207
207
  };
208
208
 
209
209
  return (
@@ -4,12 +4,11 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { Alert, Box, Divider, Paper, Typography } from '@mui/material';
7
+ import { Box, Divider, Typography } 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';
11
11
  import QwickApp from '../components/QwickApp';
12
- import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
13
12
  import { makeSerializationStory } from './_templates/SerializationTemplate';
14
13
 
15
14
  // Sample code content for different languages
@@ -661,7 +660,7 @@ export const SerializationDemo: Story = {
661
660
  wrapLines={false}
662
661
  codeBackground="linear-gradient(135deg, #667eea20, #764ba220)"
663
662
  sx={{ mb: 2, border: "1px solid #ddd" }}
664
- onClick={(event) => { console.log("Code component clicked!"); }}
663
+ onClick={() => { console.log("Code component clicked!"); }}
665
664
  role="region"
666
665
  aria-label="TypeScript code demonstration"
667
666
  data-testid="serializable-code-block"