@qwickapps/react-framework 1.4.9 → 1.5.1

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 (738) hide show
  1. package/README.md +23 -0
  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 +4143 -2318
  118. package/dist/index.js +4169 -2315
  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.1.5.1.css +172 -0
  124. package/dist/palettes/palette-autumn.1.5.1.min.css +1 -0
  125. package/dist/palettes/palette-autumn.latest.css +172 -0
  126. package/dist/palettes/palette-autumn.latest.min.css +1 -0
  127. package/dist/palettes/palette-cosmic.1.4.9.min.css +1 -0
  128. package/dist/palettes/palette-cosmic.1.5.0.css +172 -0
  129. package/dist/palettes/palette-cosmic.1.5.0.min.css +1 -0
  130. package/dist/palettes/palette-cosmic.1.5.1.css +172 -0
  131. package/dist/palettes/palette-cosmic.1.5.1.min.css +1 -0
  132. package/dist/palettes/palette-cosmic.latest.css +172 -0
  133. package/dist/palettes/palette-cosmic.latest.min.css +1 -0
  134. package/dist/palettes/palette-default.1.4.9.min.css +1 -0
  135. package/dist/palettes/palette-default.1.5.0.css +178 -0
  136. package/dist/palettes/palette-default.1.5.0.min.css +1 -0
  137. package/dist/palettes/palette-default.1.5.1.css +178 -0
  138. package/dist/palettes/palette-default.1.5.1.min.css +1 -0
  139. package/dist/palettes/palette-default.latest.css +178 -0
  140. package/dist/palettes/palette-default.latest.min.css +1 -0
  141. package/dist/palettes/palette-ocean.1.4.9.min.css +1 -0
  142. package/dist/palettes/palette-ocean.1.5.0.css +172 -0
  143. package/dist/palettes/palette-ocean.1.5.0.min.css +1 -0
  144. package/dist/palettes/palette-ocean.1.5.1.css +172 -0
  145. package/dist/palettes/palette-ocean.1.5.1.min.css +1 -0
  146. package/dist/palettes/palette-ocean.latest.css +172 -0
  147. package/dist/palettes/palette-ocean.latest.min.css +1 -0
  148. package/dist/palettes/palette-spring.1.4.9.min.css +1 -0
  149. package/dist/palettes/palette-spring.1.5.0.css +160 -0
  150. package/dist/palettes/palette-spring.1.5.0.min.css +1 -0
  151. package/dist/palettes/palette-spring.1.5.1.css +160 -0
  152. package/dist/palettes/palette-spring.1.5.1.min.css +1 -0
  153. package/dist/palettes/palette-spring.latest.css +160 -0
  154. package/dist/palettes/palette-spring.latest.min.css +1 -0
  155. package/dist/palettes/palette-winter.1.4.9.min.css +1 -0
  156. package/dist/palettes/palette-winter.1.5.0.css +172 -0
  157. package/dist/palettes/palette-winter.1.5.0.min.css +1 -0
  158. package/dist/palettes/palette-winter.1.5.1.css +172 -0
  159. package/dist/palettes/palette-winter.1.5.1.min.css +1 -0
  160. package/dist/palettes/palette-winter.latest.css +172 -0
  161. package/dist/palettes/palette-winter.latest.min.css +1 -0
  162. package/dist/schemas/ButtonSchema.d.ts +5 -2
  163. package/dist/schemas/ButtonSchema.d.ts.map +1 -1
  164. package/dist/schemas/CardListGridSchema.d.ts +4 -4
  165. package/dist/schemas/CardListGridSchema.d.ts.map +1 -1
  166. package/dist/schemas/ChoiceInputFieldSchema.d.ts +2 -2
  167. package/dist/schemas/ChoiceInputFieldSchema.d.ts.map +1 -1
  168. package/dist/schemas/CodeSchema.d.ts +1 -2
  169. package/dist/schemas/CodeSchema.d.ts.map +1 -1
  170. package/dist/schemas/FormBlockSchema.d.ts +2 -2
  171. package/dist/schemas/FormBlockSchema.d.ts.map +1 -1
  172. package/dist/schemas/GridCellSchema.d.ts +2 -4
  173. package/dist/schemas/GridCellSchema.d.ts.map +1 -1
  174. package/dist/schemas/GridLayoutSchema.d.ts +3 -5
  175. package/dist/schemas/GridLayoutSchema.d.ts.map +1 -1
  176. package/dist/schemas/HeroBlockSchema.d.ts +2 -2
  177. package/dist/schemas/HeroBlockSchema.d.ts.map +1 -1
  178. package/dist/schemas/HtmlInputFieldSchema.d.ts +2 -2
  179. package/dist/schemas/HtmlInputFieldSchema.d.ts.map +1 -1
  180. package/dist/schemas/ImageSchema.d.ts +2 -2
  181. package/dist/schemas/ImageSchema.d.ts.map +1 -1
  182. package/dist/schemas/SectionSchema.d.ts +2 -4
  183. package/dist/schemas/SectionSchema.d.ts.map +1 -1
  184. package/dist/schemas/SelectInputFieldSchema.d.ts +2 -2
  185. package/dist/schemas/SelectInputFieldSchema.d.ts.map +1 -1
  186. package/dist/schemas/SwitchInputFieldSchema.d.ts +2 -2
  187. package/dist/schemas/SwitchInputFieldSchema.d.ts.map +1 -1
  188. package/dist/schemas/TextInputFieldSchema.d.ts +2 -2
  189. package/dist/schemas/TextInputFieldSchema.d.ts.map +1 -1
  190. package/dist/schemas/ViewSchema.d.ts +8 -7
  191. package/dist/schemas/ViewSchema.d.ts.map +1 -1
  192. package/dist/schemas/transformers/ComponentTransformer.d.ts +2 -2
  193. package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
  194. package/dist/schemas/transformers/ReactNodeTransformer.d.ts +2 -2
  195. package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
  196. package/dist/schemas/transformers/registry.d.ts +0 -7
  197. package/dist/schemas/transformers/registry.d.ts.map +1 -1
  198. package/dist/schemas/types/Serializable.d.ts +3 -3
  199. package/dist/schemas/types/Serializable.d.ts.map +1 -1
  200. package/dist/stories/_templates/SerializationTemplate.d.ts.map +1 -0
  201. package/dist/types/CollapsibleLayout.d.ts +3 -3
  202. package/dist/types/CollapsibleLayout.d.ts.map +1 -1
  203. package/dist/types/ContentProxy.d.ts +4 -4
  204. package/dist/types/ContentProxy.d.ts.map +1 -1
  205. package/dist/types/DataTypes.d.ts +4 -4
  206. package/dist/types/DataTypes.d.ts.map +1 -1
  207. package/dist/types/TemplateProvider.d.ts +1 -1
  208. package/dist/types/TemplateProvider.d.ts.map +1 -1
  209. package/dist/types/TemplateResolver.d.ts +1 -1
  210. package/dist/types/TemplateResolver.d.ts.map +1 -1
  211. package/dist/utils/htmlTransform.d.ts +1 -1
  212. package/dist/utils/htmlTransform.d.ts.map +1 -1
  213. package/dist/utils/iconMap.d.ts +48 -0
  214. package/dist/utils/iconMap.d.ts.map +1 -0
  215. package/dist/utils/index.d.ts +3 -0
  216. package/dist/utils/index.d.ts.map +1 -1
  217. package/dist/utils/logger.d.ts +11 -7
  218. package/dist/utils/logger.d.ts.map +1 -1
  219. package/dist/utils/paletteLoader.d.ts +34 -0
  220. package/dist/utils/paletteLoader.d.ts.map +1 -0
  221. package/dist/utils/paletteManifest.d.ts +51 -0
  222. package/dist/utils/paletteManifest.d.ts.map +1 -0
  223. package/dist/utils/paletteUtils.d.ts.map +1 -1
  224. package/dist/utils/reactUtils.d.ts +12 -6
  225. package/dist/utils/reactUtils.d.ts.map +1 -1
  226. package/dist/utils/spacing.d.ts +2 -2
  227. package/dist/utils/spacing.d.ts.map +1 -1
  228. package/dist/utils/themePerformanceMonitor.d.ts.map +1 -1
  229. package/dist/utils/themeUtils.d.ts.map +1 -1
  230. package/package.json +20 -9
  231. package/scripts/build-palettes.cjs +120 -0
  232. package/src/__tests__/components/Article.test.tsx +1 -1
  233. package/src/__tests__/components/Breadcrumbs.test.tsx +2 -2
  234. package/src/__tests__/components/Button.test.tsx +3 -3
  235. package/src/__tests__/components/CardListGrid.test.tsx +5 -5
  236. package/src/__tests__/components/ChoiceInputField.test.tsx +2 -2
  237. package/src/__tests__/components/Code.test.tsx +2 -2
  238. package/src/__tests__/components/Content.integration.test.tsx +1 -1
  239. package/src/__tests__/components/Content.test.tsx +5 -5
  240. package/src/__tests__/components/CoverImageHeader.test.tsx +3 -3
  241. package/src/__tests__/components/FeatureCard.integration.test.tsx +1 -1
  242. package/src/__tests__/components/FeatureGrid.integration.test.tsx +1 -1
  243. package/src/__tests__/components/FeatureGrid.test.tsx +3 -3
  244. package/src/__tests__/components/Footer.test.tsx +3 -3
  245. package/src/__tests__/components/FormBlock.test.tsx +2 -2
  246. package/src/__tests__/components/HeroBlock.integration.test.tsx +1 -1
  247. package/src/__tests__/components/HeroBlock.test.tsx +4 -4
  248. package/src/__tests__/components/HtmlInputField.test.tsx +8 -8
  249. package/src/__tests__/components/PageBannerHeader.test.tsx +7 -7
  250. package/src/__tests__/components/PaletteSwitcher.test.tsx +3 -3
  251. package/src/__tests__/components/ProductCard.test.tsx +1 -1
  252. package/src/__tests__/components/Section.integration.test.tsx +1 -1
  253. package/src/__tests__/components/Section.test.tsx +1 -1
  254. package/src/__tests__/components/SelectInputField.test.tsx +2 -2
  255. package/src/__tests__/components/TextInputField.test.tsx +4 -4
  256. package/src/__tests__/components/ThemeSwitcher.test.tsx +3 -3
  257. package/src/__tests__/components/base/Container.test.tsx +22 -21
  258. package/src/__tests__/components/blocks/Code.performance.test.tsx +10 -10
  259. package/src/__tests__/components/blocks/Code.serialization.test.tsx +9 -9
  260. package/src/__tests__/components/blocks/HeroBlock.serialization.test.tsx +2 -3
  261. package/src/__tests__/components/blocks/Image.serialization.test.tsx +8 -7
  262. package/src/__tests__/components/blocks/Section.serialization.test.tsx +8 -8
  263. package/src/__tests__/components/blocks/Text.performance.test.tsx +5 -5
  264. package/src/__tests__/components/blocks/Text.serialization.test.tsx +9 -9
  265. package/src/__tests__/components/buttons/Button.serialization.test.tsx +4 -4
  266. package/src/__tests__/components/input/FormComponents.serialization.test.tsx +9 -9
  267. package/src/__tests__/components/input/SelectInputField.serialization.test.tsx +16 -18
  268. package/src/__tests__/components/input/TextInputField.serialization.test.tsx +9 -9
  269. package/src/__tests__/components/layout/CollapsibleLayout.test.tsx +5 -9
  270. package/src/__tests__/components/layout/GridCell.serialization.test.tsx +5 -5
  271. package/src/__tests__/components/layout/GridLayout.serialization.test.tsx +5 -5
  272. package/src/__tests__/hooks/usePrintMode.test.ts +1 -0
  273. package/src/__tests__/schemas/builders.test.ts +2 -2
  274. package/src/__tests__/schemas/transformers/ComponentSerializationPatterns.test.tsx +28 -28
  275. package/src/__tests__/schemas/transformers/ComponentTransformer.htmlPatterns.test.ts +5 -5
  276. package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +11 -11
  277. package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +10 -10
  278. package/src/__tests__/schemas/transformers/MockSerializableComponent.ts +15 -15
  279. package/src/__tests__/schemas/transformers/RealWorldScenarios.test.tsx +19 -19
  280. package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +15 -15
  281. package/src/__tests__/schemas/transformers/SerializationIntegration.test.tsx +19 -21
  282. package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +15 -15
  283. package/src/__tests__/schemas/transformers/TestAutomation.test.ts +3 -3
  284. package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +1 -1
  285. package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +10 -10
  286. package/src/__tests__/utils/optional-logging.test.ts +3 -3
  287. package/src/components/AccessibilityProvider.tsx +4 -2
  288. package/src/components/ErrorBoundary.tsx +1 -1
  289. package/src/components/Html.tsx +13 -16
  290. package/src/components/Logo.tsx +42 -29
  291. package/src/components/Markdown.tsx +9 -9
  292. package/src/components/ProductLogo.tsx +118 -0
  293. package/src/components/QwickApp.css +37 -1060
  294. package/src/components/QwickApp.tsx +1 -1
  295. package/src/components/QwickAppsLogo.tsx +1 -1
  296. package/src/components/ResponsiveMenu.tsx +1 -1
  297. package/src/components/SafeSpan.tsx +8 -8
  298. package/src/components/Scaffold.css +11 -1
  299. package/src/components/Scaffold.tsx +55 -25
  300. package/src/components/base/Container.tsx +2 -2
  301. package/src/components/base/ModelView.tsx +28 -27
  302. package/src/components/base/index.ts +1 -1
  303. package/src/components/blocks/Article.tsx +213 -69
  304. package/src/components/blocks/CardListGrid.tsx +18 -14
  305. package/src/components/blocks/Code.tsx +18 -13
  306. package/src/components/blocks/Content.tsx +15 -10
  307. package/src/components/blocks/CoverImageHeader.tsx +14 -9
  308. package/src/components/blocks/FeatureCard.tsx +16 -11
  309. package/src/components/blocks/FeatureGrid.tsx +13 -8
  310. package/src/components/blocks/Footer.tsx +25 -16
  311. package/src/components/blocks/HeroBlock.tsx +12 -13
  312. package/src/components/blocks/Image.tsx +16 -8
  313. package/src/components/blocks/PageBannerHeader.tsx +15 -11
  314. package/src/components/blocks/ProductCard.tsx +32 -25
  315. package/src/components/blocks/Section.tsx +21 -13
  316. package/src/components/blocks/Text.tsx +26 -11
  317. package/src/components/buttons/Button.tsx +22 -118
  318. package/src/components/buttons/PaletteSwitcher.tsx +11 -8
  319. package/src/components/buttons/ThemeSwitcher.tsx +20 -16
  320. package/src/components/dialogs/Dialog.tsx +126 -0
  321. package/src/components/dialogs/index.ts +15 -0
  322. package/src/components/forms/Captcha.tsx +291 -0
  323. package/src/components/forms/FormBlock.tsx +22 -15
  324. package/src/components/forms/FormCheckbox.tsx +116 -0
  325. package/src/components/forms/FormField.tsx +180 -0
  326. package/src/components/forms/FormSelect.tsx +140 -0
  327. package/src/components/forms/index.ts +13 -1
  328. package/src/components/index.ts +13 -2
  329. package/src/components/input/ChoiceInputField.tsx +1 -2
  330. package/src/components/input/HtmlInputField.tsx +2 -3
  331. package/src/components/input/SelectInputField.tsx +31 -5
  332. package/src/components/input/SwitchInputField.tsx +3 -4
  333. package/src/components/input/TextField.tsx +2 -2
  334. package/src/components/input/TextInputField.tsx +32 -6
  335. package/src/components/layout/CollapsibleLayout/CollapsibleLayout.tsx +13 -13
  336. package/src/components/layout/GridCell.tsx +10 -9
  337. package/src/components/layout/GridCellWrapper.tsx +1 -1
  338. package/src/components/layout/GridLayout.tsx +29 -32
  339. package/src/components/pages/FormPage.tsx +0 -1
  340. package/src/components/pages/Page.tsx +2 -2
  341. package/src/components/shared/createSerializableView.tsx +24 -23
  342. package/src/components/shared/viewProps.ts +11 -11
  343. package/src/config/AppConfig.ts +2 -2
  344. package/src/config/__tests__/AppConfig.test.ts +3 -3
  345. package/src/config/__tests__/AppConfigBuilder.test.ts +10 -11
  346. package/src/config/types.ts +1 -1
  347. package/src/contexts/DataContext.tsx +58 -52
  348. package/src/contexts/PaletteContext.tsx +22 -9
  349. package/src/contexts/PrintModeContext.tsx +4 -4
  350. package/src/contexts/ThemeContext.tsx +2 -1
  351. package/src/hooks/useBaseProps.ts +10 -10
  352. package/src/hooks/useDataBinding.ts +15 -18
  353. package/src/hooks/usePrintMode.ts +3 -3
  354. package/src/index.ts +2 -0
  355. package/src/palettes/manifest.json +72 -0
  356. package/src/palettes/manifest.schema.json +74 -0
  357. package/src/schemas/CardListGridSchema.ts +3 -3
  358. package/src/schemas/CodeSchema.ts +0 -1
  359. package/src/schemas/FeatureGridSchema.ts +1 -1
  360. package/src/schemas/FormBlockSchema.ts +1 -1
  361. package/src/schemas/GridCellSchema.ts +0 -1
  362. package/src/schemas/GridLayoutSchema.ts +0 -1
  363. package/src/schemas/SectionSchema.ts +0 -1
  364. package/src/schemas/ViewSchema.ts +6 -6
  365. package/src/schemas/transformers/ComponentTransformer.ts +37 -20
  366. package/src/schemas/transformers/ReactNodeTransformer.ts +18 -16
  367. package/src/schemas/transformers/registry.ts +28 -24
  368. package/src/schemas/types/Serializable.ts +3 -3
  369. package/src/setupTests.js +9 -0
  370. package/src/stories/AccessibilityProvider.stories.tsx +0 -1
  371. package/src/stories/CardListGrid.stories.tsx +1 -1
  372. package/src/stories/Code.stories.tsx +2 -3
  373. package/src/stories/CollapsibleLayout.stories.tsx +41 -37
  374. package/src/stories/Container.stories.tsx +1 -2
  375. package/src/stories/DataBinding.advanced.stories.tsx +15 -9
  376. package/src/stories/DataProvider.stories.tsx +33 -16
  377. package/src/stories/ErrorBoundary.stories.tsx +28 -26
  378. package/src/stories/FeatureGrid.stories.tsx +0 -1
  379. package/src/stories/FormBlock.stories.tsx +8 -8
  380. package/src/stories/FormComponents.stories.tsx +15 -11
  381. package/src/stories/GridCell.stories.tsx +5 -5
  382. package/src/stories/GridLayout.stories.tsx +5 -5
  383. package/src/stories/Image.stories.tsx +5 -7
  384. package/src/stories/Introduction.stories.tsx +0 -1
  385. package/src/stories/ModelView.stories.tsx +7 -7
  386. package/src/stories/SafeSpan.stories.tsx +7 -3
  387. package/src/stories/Section.stories.tsx +2 -2
  388. package/src/stories/Text.stories.tsx +1 -3
  389. package/src/stories/_templates/SerializationTemplate.tsx +0 -1
  390. package/src/templates/TemplateResolver.ts +2 -2
  391. package/src/types/CollapsibleLayout.ts +2 -2
  392. package/src/types/ContentProxy.ts +6 -6
  393. package/src/types/DataTypes.ts +4 -4
  394. package/src/types/TemplateProvider.ts +1 -1
  395. package/src/types/TemplateResolver.ts +1 -1
  396. package/src/utils/htmlTransform.tsx +17 -11
  397. package/src/utils/iconMap.tsx +244 -0
  398. package/src/utils/index.ts +4 -1
  399. package/src/utils/logger.ts +20 -14
  400. package/src/utils/paletteLoader.ts +218 -0
  401. package/src/utils/paletteManifest.ts +268 -0
  402. package/src/utils/paletteUtils.ts +19 -1
  403. package/src/utils/reactUtils.tsx +34 -33
  404. package/src/utils/spacing.ts +16 -17
  405. package/src/utils/themePerformanceMonitor.js +14 -6
  406. package/src/utils/themeUtils.ts +17 -2
  407. package/dist/components/base/ContainerView.d.ts +0 -65
  408. package/dist/components/base/ContainerView.d.ts.map +0 -1
  409. package/dist/components/blocks/Code-factory.d.ts +0 -22
  410. package/dist/components/blocks/Code-factory.d.ts.map +0 -1
  411. package/dist/components/blocks/Code-old.d.ts +0 -31
  412. package/dist/components/blocks/Code-old.d.ts.map +0 -1
  413. package/dist/qa/ConsoleWarningTest.d.ts +0 -5
  414. package/dist/qa/ConsoleWarningTest.d.ts.map +0 -1
  415. package/dist/qa/StorageKeyTest.d.ts +0 -6
  416. package/dist/qa/StorageKeyTest.d.ts.map +0 -1
  417. package/dist/qa/ThemeStorageKeyTest.d.ts +0 -6
  418. package/dist/qa/ThemeStorageKeyTest.d.ts.map +0 -1
  419. package/dist/schemas/ViewModelSchema.d.ts +0 -63
  420. package/dist/schemas/ViewModelSchema.d.ts.map +0 -1
  421. package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts +0 -66
  422. package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts.map +0 -1
  423. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +0 -66
  424. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +0 -1
  425. package/dist/src/components/AccessibilityChecker.d.ts +0 -12
  426. package/dist/src/components/AccessibilityChecker.d.ts.map +0 -1
  427. package/dist/src/components/AccessibilityProvider.d.ts +0 -64
  428. package/dist/src/components/AccessibilityProvider.d.ts.map +0 -1
  429. package/dist/src/components/Breadcrumbs.d.ts +0 -39
  430. package/dist/src/components/Breadcrumbs.d.ts.map +0 -1
  431. package/dist/src/components/ErrorBoundary.d.ts +0 -46
  432. package/dist/src/components/ErrorBoundary.d.ts.map +0 -1
  433. package/dist/src/components/Html.d.ts +0 -58
  434. package/dist/src/components/Html.d.ts.map +0 -1
  435. package/dist/src/components/Logo.d.ts +0 -56
  436. package/dist/src/components/Logo.d.ts.map +0 -1
  437. package/dist/src/components/Markdown.d.ts +0 -51
  438. package/dist/src/components/Markdown.d.ts.map +0 -1
  439. package/dist/src/components/QwickApp.d.ts +0 -69
  440. package/dist/src/components/QwickApp.d.ts.map +0 -1
  441. package/dist/src/components/QwickAppsLogo.d.ts +0 -25
  442. package/dist/src/components/QwickAppsLogo.d.ts.map +0 -1
  443. package/dist/src/components/QwickIcon.d.ts +0 -23
  444. package/dist/src/components/QwickIcon.d.ts.map +0 -1
  445. package/dist/src/components/ResponsiveMenu.d.ts +0 -38
  446. package/dist/src/components/ResponsiveMenu.d.ts.map +0 -1
  447. package/dist/src/components/SafeSpan.d.ts +0 -29
  448. package/dist/src/components/SafeSpan.d.ts.map +0 -1
  449. package/dist/src/components/Scaffold.d.ts +0 -57
  450. package/dist/src/components/Scaffold.d.ts.map +0 -1
  451. package/dist/src/components/base/Container.d.ts +0 -33
  452. package/dist/src/components/base/Container.d.ts.map +0 -1
  453. package/dist/src/components/base/ModelView.d.ts +0 -92
  454. package/dist/src/components/base/ModelView.d.ts.map +0 -1
  455. package/dist/src/components/base/index.d.ts +0 -12
  456. package/dist/src/components/base/index.d.ts.map +0 -1
  457. package/dist/src/components/blocks/Article.d.ts +0 -32
  458. package/dist/src/components/blocks/Article.d.ts.map +0 -1
  459. package/dist/src/components/blocks/CardListGrid.d.ts +0 -23
  460. package/dist/src/components/blocks/CardListGrid.d.ts.map +0 -1
  461. package/dist/src/components/blocks/Code.d.ts +0 -37
  462. package/dist/src/components/blocks/Code.d.ts.map +0 -1
  463. package/dist/src/components/blocks/Content.d.ts +0 -24
  464. package/dist/src/components/blocks/Content.d.ts.map +0 -1
  465. package/dist/src/components/blocks/CoverImageHeader.d.ts +0 -44
  466. package/dist/src/components/blocks/CoverImageHeader.d.ts.map +0 -1
  467. package/dist/src/components/blocks/FeatureCard.d.ts +0 -66
  468. package/dist/src/components/blocks/FeatureCard.d.ts.map +0 -1
  469. package/dist/src/components/blocks/FeatureGrid.d.ts +0 -48
  470. package/dist/src/components/blocks/FeatureGrid.d.ts.map +0 -1
  471. package/dist/src/components/blocks/Footer.d.ts +0 -56
  472. package/dist/src/components/blocks/Footer.d.ts.map +0 -1
  473. package/dist/src/components/blocks/HeroBlock.d.ts +0 -55
  474. package/dist/src/components/blocks/HeroBlock.d.ts.map +0 -1
  475. package/dist/src/components/blocks/Image.d.ts +0 -40
  476. package/dist/src/components/blocks/Image.d.ts.map +0 -1
  477. package/dist/src/components/blocks/PageBannerHeader.d.ts +0 -30
  478. package/dist/src/components/blocks/PageBannerHeader.d.ts.map +0 -1
  479. package/dist/src/components/blocks/ProductCard.d.ts +0 -57
  480. package/dist/src/components/blocks/ProductCard.d.ts.map +0 -1
  481. package/dist/src/components/blocks/Section.d.ts +0 -45
  482. package/dist/src/components/blocks/Section.d.ts.map +0 -1
  483. package/dist/src/components/blocks/Text.d.ts +0 -34
  484. package/dist/src/components/blocks/Text.d.ts.map +0 -1
  485. package/dist/src/components/blocks/index.d.ts +0 -41
  486. package/dist/src/components/blocks/index.d.ts.map +0 -1
  487. package/dist/src/components/buttons/Button.d.ts +0 -57
  488. package/dist/src/components/buttons/Button.d.ts.map +0 -1
  489. package/dist/src/components/buttons/PaletteSwitcher.d.ts +0 -24
  490. package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +0 -1
  491. package/dist/src/components/buttons/ThemeSwitcher.d.ts +0 -24
  492. package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +0 -1
  493. package/dist/src/components/buttons/index.d.ts +0 -11
  494. package/dist/src/components/buttons/index.d.ts.map +0 -1
  495. package/dist/src/components/forms/FormBlock.d.ts +0 -51
  496. package/dist/src/components/forms/FormBlock.d.ts.map +0 -1
  497. package/dist/src/components/forms/index.d.ts +0 -8
  498. package/dist/src/components/forms/index.d.ts.map +0 -1
  499. package/dist/src/components/index.d.ts +0 -41
  500. package/dist/src/components/index.d.ts.map +0 -1
  501. package/dist/src/components/input/ChoiceInputField.d.ts +0 -29
  502. package/dist/src/components/input/ChoiceInputField.d.ts.map +0 -1
  503. package/dist/src/components/input/HtmlInputField.d.ts +0 -33
  504. package/dist/src/components/input/HtmlInputField.d.ts.map +0 -1
  505. package/dist/src/components/input/SelectInputField.d.ts +0 -31
  506. package/dist/src/components/input/SelectInputField.d.ts.map +0 -1
  507. package/dist/src/components/input/SwitchInputField.d.ts +0 -27
  508. package/dist/src/components/input/SwitchInputField.d.ts.map +0 -1
  509. package/dist/src/components/input/TextField.d.ts +0 -18
  510. package/dist/src/components/input/TextField.d.ts.map +0 -1
  511. package/dist/src/components/input/TextInputField.d.ts +0 -34
  512. package/dist/src/components/input/TextInputField.d.ts.map +0 -1
  513. package/dist/src/components/input/index.d.ts +0 -19
  514. package/dist/src/components/input/index.d.ts.map +0 -1
  515. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +0 -34
  516. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +0 -1
  517. package/dist/src/components/layout/CollapsibleLayout/index.d.ts +0 -9
  518. package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +0 -1
  519. package/dist/src/components/layout/GridCell.d.ts +0 -32
  520. package/dist/src/components/layout/GridCell.d.ts.map +0 -1
  521. package/dist/src/components/layout/GridCellWrapper.d.ts +0 -46
  522. package/dist/src/components/layout/GridCellWrapper.d.ts.map +0 -1
  523. package/dist/src/components/layout/GridLayout.d.ts +0 -50
  524. package/dist/src/components/layout/GridLayout.d.ts.map +0 -1
  525. package/dist/src/components/layout/index.d.ts +0 -14
  526. package/dist/src/components/layout/index.d.ts.map +0 -1
  527. package/dist/src/components/menu/Menu.d.ts +0 -1
  528. package/dist/src/components/menu/Menu.d.ts.map +0 -1
  529. package/dist/src/components/menu/MenuItem.d.ts +0 -31
  530. package/dist/src/components/menu/MenuItem.d.ts.map +0 -1
  531. package/dist/src/components/menu/index.d.ts +0 -7
  532. package/dist/src/components/menu/index.d.ts.map +0 -1
  533. package/dist/src/components/pages/FormPage.d.ts +0 -66
  534. package/dist/src/components/pages/FormPage.d.ts.map +0 -1
  535. package/dist/src/components/pages/Page.d.ts +0 -68
  536. package/dist/src/components/pages/Page.d.ts.map +0 -1
  537. package/dist/src/components/pages/index.d.ts +0 -10
  538. package/dist/src/components/pages/index.d.ts.map +0 -1
  539. package/dist/src/components/shared/createSerializableView.d.ts +0 -81
  540. package/dist/src/components/shared/createSerializableView.d.ts.map +0 -1
  541. package/dist/src/components/shared/viewProps.d.ts +0 -37
  542. package/dist/src/components/shared/viewProps.d.ts.map +0 -1
  543. package/dist/src/config/AppConfig.d.ts +0 -49
  544. package/dist/src/config/AppConfig.d.ts.map +0 -1
  545. package/dist/src/config/AppConfigBuilder.d.ts +0 -75
  546. package/dist/src/config/AppConfigBuilder.d.ts.map +0 -1
  547. package/dist/src/config/index.d.ts +0 -13
  548. package/dist/src/config/index.d.ts.map +0 -1
  549. package/dist/src/config/types.d.ts +0 -130
  550. package/dist/src/config/types.d.ts.map +0 -1
  551. package/dist/src/config.d.ts +0 -15
  552. package/dist/src/config.d.ts.map +0 -1
  553. package/dist/src/contexts/DataContext.d.ts +0 -139
  554. package/dist/src/contexts/DataContext.d.ts.map +0 -1
  555. package/dist/src/contexts/DimensionsContext.d.ts +0 -42
  556. package/dist/src/contexts/DimensionsContext.d.ts.map +0 -1
  557. package/dist/src/contexts/PaletteContext.d.ts +0 -53
  558. package/dist/src/contexts/PaletteContext.d.ts.map +0 -1
  559. package/dist/src/contexts/PrintModeContext.d.ts +0 -27
  560. package/dist/src/contexts/PrintModeContext.d.ts.map +0 -1
  561. package/dist/src/contexts/QwickAppContext.d.ts +0 -71
  562. package/dist/src/contexts/QwickAppContext.d.ts.map +0 -1
  563. package/dist/src/contexts/ThemeContext.d.ts +0 -65
  564. package/dist/src/contexts/ThemeContext.d.ts.map +0 -1
  565. package/dist/src/contexts/index.d.ts +0 -11
  566. package/dist/src/contexts/index.d.ts.map +0 -1
  567. package/dist/src/hooks/index.d.ts +0 -12
  568. package/dist/src/hooks/index.d.ts.map +0 -1
  569. package/dist/src/hooks/useBaseProps.d.ts +0 -101
  570. package/dist/src/hooks/useBaseProps.d.ts.map +0 -1
  571. package/dist/src/hooks/useDataBinding.d.ts +0 -22
  572. package/dist/src/hooks/useDataBinding.d.ts.map +0 -1
  573. package/dist/src/hooks/usePrintMode.d.ts +0 -39
  574. package/dist/src/hooks/usePrintMode.d.ts.map +0 -1
  575. package/dist/src/index.d.ts +0 -9
  576. package/dist/src/index.d.ts.map +0 -1
  577. package/dist/src/palettes/PaletteAutumn.d.ts +0 -10
  578. package/dist/src/palettes/PaletteAutumn.d.ts.map +0 -1
  579. package/dist/src/palettes/PaletteCosmic.d.ts +0 -10
  580. package/dist/src/palettes/PaletteCosmic.d.ts.map +0 -1
  581. package/dist/src/palettes/PaletteDefault.d.ts +0 -10
  582. package/dist/src/palettes/PaletteDefault.d.ts.map +0 -1
  583. package/dist/src/palettes/PaletteOcean.d.ts +0 -10
  584. package/dist/src/palettes/PaletteOcean.d.ts.map +0 -1
  585. package/dist/src/palettes/PaletteSpring.d.ts +0 -10
  586. package/dist/src/palettes/PaletteSpring.d.ts.map +0 -1
  587. package/dist/src/palettes/PaletteWinter.d.ts +0 -10
  588. package/dist/src/palettes/PaletteWinter.d.ts.map +0 -1
  589. package/dist/src/palettes/index.d.ts +0 -13
  590. package/dist/src/palettes/index.d.ts.map +0 -1
  591. package/dist/src/schemas/ActionSchema.d.ts +0 -21
  592. package/dist/src/schemas/ActionSchema.d.ts.map +0 -1
  593. package/dist/src/schemas/ArticleSchema.d.ts +0 -13
  594. package/dist/src/schemas/ArticleSchema.d.ts.map +0 -1
  595. package/dist/src/schemas/ButtonSchema.d.ts +0 -22
  596. package/dist/src/schemas/ButtonSchema.d.ts.map +0 -1
  597. package/dist/src/schemas/CardListGridSchema.d.ts +0 -17
  598. package/dist/src/schemas/CardListGridSchema.d.ts.map +0 -1
  599. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +0 -18
  600. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +0 -1
  601. package/dist/src/schemas/CodeSchema.d.ts +0 -18
  602. package/dist/src/schemas/CodeSchema.d.ts.map +0 -1
  603. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +0 -32
  604. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +0 -1
  605. package/dist/src/schemas/ContainerSchema.d.ts +0 -12
  606. package/dist/src/schemas/ContainerSchema.d.ts.map +0 -1
  607. package/dist/src/schemas/ContentSchema.d.ts +0 -21
  608. package/dist/src/schemas/ContentSchema.d.ts.map +0 -1
  609. package/dist/src/schemas/CoverImageHeaderSchema.d.ts +0 -28
  610. package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +0 -1
  611. package/dist/src/schemas/FeatureCardSchema.d.ts +0 -28
  612. package/dist/src/schemas/FeatureCardSchema.d.ts.map +0 -1
  613. package/dist/src/schemas/FeatureGridSchema.d.ts +0 -17
  614. package/dist/src/schemas/FeatureGridSchema.d.ts.map +0 -1
  615. package/dist/src/schemas/FeatureItemSchema.d.ts +0 -16
  616. package/dist/src/schemas/FeatureItemSchema.d.ts.map +0 -1
  617. package/dist/src/schemas/FooterItemSchema.d.ts +0 -15
  618. package/dist/src/schemas/FooterItemSchema.d.ts.map +0 -1
  619. package/dist/src/schemas/FooterSchema.d.ts +0 -20
  620. package/dist/src/schemas/FooterSchema.d.ts.map +0 -1
  621. package/dist/src/schemas/FooterSectionSchema.d.ts +0 -15
  622. package/dist/src/schemas/FooterSectionSchema.d.ts.map +0 -1
  623. package/dist/src/schemas/FormBlockSchema.d.ts +0 -19
  624. package/dist/src/schemas/FormBlockSchema.d.ts.map +0 -1
  625. package/dist/src/schemas/GridCellSchema.d.ts +0 -23
  626. package/dist/src/schemas/GridCellSchema.d.ts.map +0 -1
  627. package/dist/src/schemas/GridLayoutSchema.d.ts +0 -21
  628. package/dist/src/schemas/GridLayoutSchema.d.ts.map +0 -1
  629. package/dist/src/schemas/HeaderActionSchema.d.ts +0 -17
  630. package/dist/src/schemas/HeaderActionSchema.d.ts.map +0 -1
  631. package/dist/src/schemas/HeroBlockSchema.d.ts +0 -22
  632. package/dist/src/schemas/HeroBlockSchema.d.ts.map +0 -1
  633. package/dist/src/schemas/HtmlInputFieldSchema.d.ts +0 -18
  634. package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +0 -1
  635. package/dist/src/schemas/HtmlSchema.d.ts +0 -14
  636. package/dist/src/schemas/HtmlSchema.d.ts.map +0 -1
  637. package/dist/src/schemas/ImageSchema.d.ts +0 -32
  638. package/dist/src/schemas/ImageSchema.d.ts.map +0 -1
  639. package/dist/src/schemas/LogoSchema.d.ts +0 -35
  640. package/dist/src/schemas/LogoSchema.d.ts.map +0 -1
  641. package/dist/src/schemas/MarkdownSchema.d.ts +0 -14
  642. package/dist/src/schemas/MarkdownSchema.d.ts.map +0 -1
  643. package/dist/src/schemas/MetadataItemSchema.d.ts +0 -13
  644. package/dist/src/schemas/MetadataItemSchema.d.ts.map +0 -1
  645. package/dist/src/schemas/PageBannerHeaderSchema.d.ts +0 -28
  646. package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +0 -1
  647. package/dist/src/schemas/PageTemplateSchema.d.ts +0 -31
  648. package/dist/src/schemas/PageTemplateSchema.d.ts.map +0 -1
  649. package/dist/src/schemas/PaletteSwitcherSchema.d.ts +0 -16
  650. package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +0 -1
  651. package/dist/src/schemas/PrintConfigSchema.d.ts +0 -31
  652. package/dist/src/schemas/PrintConfigSchema.d.ts.map +0 -1
  653. package/dist/src/schemas/ProductCardSchema.d.ts +0 -39
  654. package/dist/src/schemas/ProductCardSchema.d.ts.map +0 -1
  655. package/dist/src/schemas/SafeSpanSchema.d.ts +0 -13
  656. package/dist/src/schemas/SafeSpanSchema.d.ts.map +0 -1
  657. package/dist/src/schemas/SectionSchema.d.ts +0 -16
  658. package/dist/src/schemas/SectionSchema.d.ts.map +0 -1
  659. package/dist/src/schemas/SelectInputFieldSchema.d.ts +0 -27
  660. package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +0 -1
  661. package/dist/src/schemas/SwitchInputFieldSchema.d.ts +0 -18
  662. package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +0 -1
  663. package/dist/src/schemas/TextInputFieldSchema.d.ts +0 -22
  664. package/dist/src/schemas/TextInputFieldSchema.d.ts.map +0 -1
  665. package/dist/src/schemas/TextSchema.d.ts +0 -37
  666. package/dist/src/schemas/TextSchema.d.ts.map +0 -1
  667. package/dist/src/schemas/ThemeSwitcherSchema.d.ts +0 -19
  668. package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +0 -1
  669. package/dist/src/schemas/ViewSchema.d.ts +0 -66
  670. package/dist/src/schemas/ViewSchema.d.ts.map +0 -1
  671. package/dist/src/schemas/index.d.ts +0 -47
  672. package/dist/src/schemas/index.d.ts.map +0 -1
  673. package/dist/src/schemas/transformers/ComponentTransformer.d.ts +0 -128
  674. package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +0 -1
  675. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +0 -53
  676. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +0 -1
  677. package/dist/src/schemas/transformers/registry.d.ts +0 -18
  678. package/dist/src/schemas/transformers/registry.d.ts.map +0 -1
  679. package/dist/src/schemas/types/Serializable.d.ts +0 -46
  680. package/dist/src/schemas/types/Serializable.d.ts.map +0 -1
  681. package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +0 -1
  682. package/dist/src/templates/TemplateResolver.d.ts +0 -52
  683. package/dist/src/templates/TemplateResolver.d.ts.map +0 -1
  684. package/dist/src/templates/index.d.ts +0 -7
  685. package/dist/src/templates/index.d.ts.map +0 -1
  686. package/dist/src/types/CacheProvider.d.ts +0 -18
  687. package/dist/src/types/CacheProvider.d.ts.map +0 -1
  688. package/dist/src/types/CollapsibleLayout.d.ts +0 -142
  689. package/dist/src/types/CollapsibleLayout.d.ts.map +0 -1
  690. package/dist/src/types/ContentProxy.d.ts +0 -47
  691. package/dist/src/types/ContentProxy.d.ts.map +0 -1
  692. package/dist/src/types/DataTypes.d.ts +0 -185
  693. package/dist/src/types/DataTypes.d.ts.map +0 -1
  694. package/dist/src/types/TemplateProvider.d.ts +0 -10
  695. package/dist/src/types/TemplateProvider.d.ts.map +0 -1
  696. package/dist/src/types/TemplateResolver.d.ts +0 -23
  697. package/dist/src/types/TemplateResolver.d.ts.map +0 -1
  698. package/dist/src/types/index.d.ts +0 -82
  699. package/dist/src/types/index.d.ts.map +0 -1
  700. package/dist/src/utils/breakpoints.d.ts +0 -35
  701. package/dist/src/utils/breakpoints.d.ts.map +0 -1
  702. package/dist/src/utils/cssUtils.d.ts +0 -17
  703. package/dist/src/utils/cssUtils.d.ts.map +0 -1
  704. package/dist/src/utils/customPaletteManager.d.ts +0 -8
  705. package/dist/src/utils/customPaletteManager.d.ts.map +0 -1
  706. package/dist/src/utils/dimensions.d.ts +0 -34
  707. package/dist/src/utils/dimensions.d.ts.map +0 -1
  708. package/dist/src/utils/htmlTransform.d.ts +0 -44
  709. package/dist/src/utils/htmlTransform.d.ts.map +0 -1
  710. package/dist/src/utils/index.d.ts +0 -16
  711. package/dist/src/utils/index.d.ts.map +0 -1
  712. package/dist/src/utils/logger.d.ts +0 -26
  713. package/dist/src/utils/logger.d.ts.map +0 -1
  714. package/dist/src/utils/paletteUtils.d.ts +0 -38
  715. package/dist/src/utils/paletteUtils.d.ts.map +0 -1
  716. package/dist/src/utils/persistenceUtils.d.ts +0 -31
  717. package/dist/src/utils/persistenceUtils.d.ts.map +0 -1
  718. package/dist/src/utils/reactUtils.d.ts +0 -33
  719. package/dist/src/utils/reactUtils.d.ts.map +0 -1
  720. package/dist/src/utils/spacing.d.ts +0 -34
  721. package/dist/src/utils/spacing.d.ts.map +0 -1
  722. package/dist/src/utils/themePerformanceMonitor.d.ts +0 -32
  723. package/dist/src/utils/themePerformanceMonitor.d.ts.map +0 -1
  724. package/dist/src/utils/themeUtils.d.ts +0 -27
  725. package/dist/src/utils/themeUtils.d.ts.map +0 -1
  726. package/dist/tests/ConsoleWarningTest.d.ts +0 -5
  727. package/dist/tests/ConsoleWarningTest.d.ts.map +0 -1
  728. package/dist/tests/StorageKeyTest.d.ts +0 -6
  729. package/dist/tests/StorageKeyTest.d.ts.map +0 -1
  730. package/dist/tests/ThemeStorageKeyTest.d.ts +0 -6
  731. package/dist/tests/ThemeStorageKeyTest.d.ts.map +0 -1
  732. /package/dist/palettes/{PaletteAutumn.css → palette-autumn.1.4.9.css} +0 -0
  733. /package/dist/palettes/{PaletteCosmic.css → palette-cosmic.1.4.9.css} +0 -0
  734. /package/dist/palettes/{PaletteDefault.css → palette-default.1.4.9.css} +0 -0
  735. /package/dist/palettes/{PaletteOcean.css → palette-ocean.1.4.9.css} +0 -0
  736. /package/dist/palettes/{PaletteSpring.css → palette-spring.1.4.9.css} +0 -0
  737. /package/dist/palettes/{PaletteWinter.css → palette-winter.1.4.9.css} +0 -0
  738. /package/dist/{src/stories → stories}/_templates/SerializationTemplate.d.ts +0 -0
@@ -102,7 +102,7 @@ jest.mock('../../contexts', () => ({
102
102
  }));
103
103
 
104
104
  // Wrapper component for tests that need providers
105
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
105
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
106
106
  children,
107
107
  dataProvider
108
108
  }) => (
@@ -633,7 +633,7 @@ describe.skip('PaletteSwitcher', () => {
633
633
  it.skip('preserves component marking for QwickApp framework', () => {
634
634
  // The component should be marked as a QwickApp component
635
635
  // This is important for framework identification - test skipped due to test environment limitations
636
- const paletteSwitcherComponent = PaletteSwitcher as any;
636
+ const paletteSwitcherComponent = PaletteSwitcher as unknown as { QWICKAPP_COMPONENT?: boolean };
637
637
  expect(paletteSwitcherComponent.QWICKAPP_COMPONENT).toBeTruthy();
638
638
  });
639
639
  });
@@ -828,7 +828,7 @@ describe.skip('PaletteSwitcher', () => {
828
828
  it('handles invalid button sizes gracefully', () => {
829
829
  render(
830
830
  <TestWrapper>
831
- <PaletteSwitcher buttonSize={'invalid' as any} />
831
+ <PaletteSwitcher buttonSize={'invalid' as 'small' | 'medium' | 'large'} />
832
832
  </TestWrapper>
833
833
  );
834
834
 
@@ -75,7 +75,7 @@ Object.defineProperty(window, 'open', {
75
75
  });
76
76
 
77
77
  // Wrapper component for tests that need providers
78
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
78
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
79
79
  children,
80
80
  dataProvider
81
81
  }) => (
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  import React from 'react';
8
- import { render, waitFor, screen } from '@testing-library/react';
8
+ import { render, waitFor } from '@testing-library/react';
9
9
  import Section from '../../components/blocks/Section';
10
10
  import { DataProvider } from '../../contexts/DataContext';
11
11
  import { JsonDataProvider } from '@qwickapps/schema';
@@ -51,7 +51,7 @@ const sampleCmsData = {
51
51
  };
52
52
 
53
53
  // Wrapper component for tests that need providers
54
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
54
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
55
55
  children,
56
56
  dataProvider
57
57
  }) => (
@@ -98,7 +98,7 @@ const sampleCmsData = {
98
98
  };
99
99
 
100
100
  // Wrapper component for tests that need providers
101
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
101
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
102
102
  children,
103
103
  dataProvider
104
104
  }) => (
@@ -673,7 +673,7 @@ describe.skip('SelectInputField', () => {
673
673
  it.skip('preserves component marking for QwickApp framework', () => {
674
674
  // The component should be marked as a QwickApp component
675
675
  // This is important for framework identification - test skipped due to test environment limitations
676
- const selectInputFieldComponent = SelectInputField as any;
676
+ const selectInputFieldComponent = SelectInputField as unknown as { QWICKAPP_COMPONENT?: boolean };
677
677
  expect(selectInputFieldComponent.QWICKAPP_COMPONENT).toBeTruthy();
678
678
  });
679
679
  });
@@ -87,7 +87,7 @@ const sampleCmsData = {
87
87
  };
88
88
 
89
89
  // Wrapper component for tests that need providers
90
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
90
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
91
91
  children,
92
92
  dataProvider
93
93
  }) => (
@@ -592,7 +592,7 @@ describe('TextInputField', () => {
592
592
  it.skip('preserves component marking for QwickApp framework', () => {
593
593
  // The component should be marked as a QwickApp component
594
594
  // This is important for framework identification - test skipped due to test environment limitations
595
- const textInputFieldComponent = TextInputField as any;
595
+ const textInputFieldComponent = TextInputField as unknown as { QWICKAPP_COMPONENT?: boolean };
596
596
  expect(textInputFieldComponent.QWICKAPP_COMPONENT).toBeTruthy();
597
597
  });
598
598
  });
@@ -674,7 +674,7 @@ describe('TextInputField', () => {
674
674
  );
675
675
 
676
676
  const field1 = screen.getByRole('textbox', { name: 'Field 1' });
677
- const field2 = screen.getByRole('textbox', { name: 'Field 2' });
677
+ screen.getByRole('textbox', { name: 'Field 2' });
678
678
 
679
679
  field1.focus();
680
680
  expect(document.activeElement).toBe(field1);
@@ -726,7 +726,7 @@ describe('TextInputField', () => {
726
726
  it('handles invalid type gracefully', () => {
727
727
  render(
728
728
  <TestWrapper>
729
- <TextInputField label="Invalid Type" type={'invalid-type' as any} />
729
+ <TextInputField label="Invalid Type" type={'invalid-type' as 'text' | 'email' | 'password' | 'number' | 'tel' | 'url'} />
730
730
  </TestWrapper>
731
731
  );
732
732
 
@@ -89,7 +89,7 @@ const sampleCmsData = {
89
89
  };
90
90
 
91
91
  // Wrapper component for tests that need providers
92
- const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: any }> = ({
92
+ const TestWrapper: React.FC<{ children: React.ReactNode; dataProvider?: unknown }> = ({
93
93
  children,
94
94
  dataProvider
95
95
  }) => (
@@ -625,7 +625,7 @@ describe('ThemeSwitcher', () => {
625
625
  it.skip('preserves component marking for QwickApp framework', () => {
626
626
  // The component should be marked as a QwickApp component
627
627
  // This is important for framework identification - test skipped due to test environment limitations
628
- const themeSwitcherComponent = ThemeSwitcher as any;
628
+ const themeSwitcherComponent = ThemeSwitcher as unknown as { QWICKAPP_COMPONENT?: boolean };
629
629
  expect(themeSwitcherComponent.QWICKAPP_COMPONENT).toBeTruthy();
630
630
  });
631
631
  });
@@ -704,7 +704,7 @@ describe('ThemeSwitcher', () => {
704
704
  it('handles invalid menu positions gracefully', () => {
705
705
  render(
706
706
  <TestWrapper>
707
- <ThemeSwitcher menuPosition={'invalid' as any} />
707
+ <ThemeSwitcher menuPosition={'invalid' as 'left' | 'right'} />
708
708
  </TestWrapper>
709
709
  );
710
710
 
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  import React from 'react';
12
- import { render, screen, fireEvent } from '@testing-library/react';
12
+ import { render, screen } from '@testing-library/react';
13
13
  import '@testing-library/jest-dom';
14
14
  import { ThemeProvider, PaletteProvider } from '../../../contexts';
15
15
  import { Container, type ContainerProps } from '../../../components/base/Container';
@@ -355,7 +355,7 @@ describe('Container', () => {
355
355
  const styleObj = { margin: '5px' };
356
356
  render(
357
357
  <TestWrapper>
358
- <Container style={styleObj as any} />
358
+ <Container style={styleObj as React.CSSProperties} />
359
359
  </TestWrapper>
360
360
  );
361
361
 
@@ -490,7 +490,7 @@ describe('Container', () => {
490
490
  const clickHandler = jest.fn();
491
491
  render(
492
492
  <TestWrapper>
493
- <Container onClick={clickHandler as any} />
493
+ <Container onClick={clickHandler as React.MouseEventHandler} />
494
494
  </TestWrapper>
495
495
  );
496
496
 
@@ -782,7 +782,7 @@ describe('Container', () => {
782
782
  <TestWrapper>
783
783
  <Container
784
784
  className={undefined}
785
- id={null as any}
785
+ id={null as unknown as string}
786
786
  span=""
787
787
  />
788
788
  </TestWrapper>
@@ -870,19 +870,19 @@ describe('Container', () => {
870
870
  });
871
871
 
872
872
  describe('Serialization with Event Handlers', () => {
873
- it('should serialize Container with onClick handler without circular reference error', () => {
873
+ it('should serialize Container with onClick handler without circular reference error', async () => {
874
874
  // Import ComponentTransformer and registry for testing
875
- const { ComponentTransformer } = require('../../../schemas/transformers/ComponentTransformer');
875
+ const { ComponentTransformer } = await import('../../../schemas/transformers/ComponentTransformer');
876
876
  // Ensure components are registered
877
- require('../../../schemas/transformers/registry');
878
-
877
+ await import('../../../schemas/transformers/registry');
878
+
879
879
  // Create a Container with onClick handler
880
880
  const containerWithHandler = (
881
881
  <Container
882
882
  span={12}
883
883
  padding="large"
884
884
  background="linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
885
- onClick={(event) => { console.log("Container clicked!"); }}
885
+ onClick={() => { console.log("Container clicked!"); }}
886
886
  role="button"
887
887
  aria-label="Clickable container"
888
888
  >
@@ -908,18 +908,19 @@ describe('Container', () => {
908
908
  }).not.toThrow();
909
909
  });
910
910
 
911
- it('should handle multiple event handlers in serialization', () => {
912
- const { ComponentTransformer } = require('../../../schemas/transformers/ComponentTransformer');
911
+ it('should handle multiple event handlers in serialization', async () => {
912
+ // Import ComponentTransformer and registry for testing
913
+ const { ComponentTransformer } = await import('../../../schemas/transformers/ComponentTransformer');
913
914
  // Ensure components are registered
914
- require('../../../schemas/transformers/registry');
915
+ await import('../../../schemas/transformers/registry');
915
916
 
916
917
  const containerWithMultipleHandlers = (
917
918
  <Container
918
- onClick={(event) => { console.log("clicked"); }}
919
- onMouseEnter={(event) => { console.log("mouse enter"); }}
920
- onMouseLeave={(event) => { console.log("mouse leave"); }}
921
- onFocus={(event) => { console.log("focused"); }}
922
- onBlur={(event) => { console.log("blurred"); }}
919
+ onClick={() => { console.log("clicked"); }}
920
+ onMouseEnter={() => { console.log("mouse enter"); }}
921
+ onMouseLeave={() => { console.log("mouse leave"); }}
922
+ onFocus={() => { console.log("focused"); }}
923
+ onBlur={() => { console.log("blurred"); }}
923
924
  >
924
925
  Multi-handler container
925
926
  </Container>
@@ -939,16 +940,16 @@ describe('Container', () => {
939
940
  }).not.toThrow();
940
941
  });
941
942
 
942
- it('should round-trip serialize and deserialize Container with event handlers', () => {
943
- const { ComponentTransformer } = require('../../../schemas/transformers/ComponentTransformer');
943
+ it('should round-trip serialize and deserialize Container with event handlers', async () => {
944
+ const { ComponentTransformer } = await import('../../../schemas/transformers/ComponentTransformer');
944
945
  // Ensure components are registered
945
- require('../../../schemas/transformers/registry');
946
+ await import('../../../schemas/transformers/registry');
946
947
 
947
948
  const originalContainer = (
948
949
  <Container
949
950
  span={6}
950
951
  padding="medium"
951
- onClick={(event) => { console.log("original handler"); }}
952
+ onClick={() => { console.log("original handler"); }}
952
953
  >
953
954
  Round-trip test
954
955
  </Container>
@@ -194,7 +194,7 @@ interface QueryResult<T = any> {
194
194
  }
195
195
 
196
196
  type EventHandler<T = any> = (event: T) => void | Promise<void>;
197
- type QueryBuilder = (query: string, params?: any[]) => Promise<QueryResult>;
197
+ type QueryBuilder = (query: string, params?: unknown[]) => Promise<QueryResult>;
198
198
 
199
199
  class EnterpriseDatabase {
200
200
  private connections: Map<string, DatabaseConnection> = new Map();
@@ -218,7 +218,7 @@ class EnterpriseDatabase {
218
218
 
219
219
  async query<T = any>(
220
220
  sql: string,
221
- params: any[] = [],
221
+ params: unknown[] = [],
222
222
  options: QueryOptions = {}
223
223
  ): Promise<QueryResult<T>> {
224
224
  const startTime = performance.now();
@@ -283,7 +283,7 @@ class EnterpriseDatabase {
283
283
  }
284
284
  }
285
285
 
286
- private generateQueryId(sql: string, params: any[]): string {
286
+ private generateQueryId(sql: string, params: unknown[]): string {
287
287
  return btoa(sql + JSON.stringify(params)).replace(/[^a-zA-Z0-9]/g, '').substring(0, 32);
288
288
  }
289
289
 
@@ -313,7 +313,7 @@ export { EnterpriseDatabase, type DatabaseConnection, type QueryOptions, type Qu
313
313
  describe('Code Component Performance Tests', () => {
314
314
  beforeEach(() => {
315
315
  ComponentTransformer.clearRegistry();
316
- ComponentTransformer.registerComponent(Code as any);
316
+ ComponentTransformer.registerComponent(Code as unknown as React.ComponentType);
317
317
  });
318
318
 
319
319
  afterEach(() => {
@@ -558,7 +558,7 @@ describe('Code Component Performance Tests', () => {
558
558
 
559
559
  describe('Memory Usage Validation', () => {
560
560
  it('should not cause memory leaks during repeated operations', () => {
561
- const initialMemory = (performance as any).memory?.usedJSHeapSize || 0;
561
+ const initialMemory = (performance as unknown as { memory?: { usedJSHeapSize?: number } }).memory?.usedJSHeapSize || 0;
562
562
 
563
563
  const codeElement = (
564
564
  <Code language="javascript" title="memory-test.js">
@@ -569,15 +569,15 @@ describe('Code Component Performance Tests', () => {
569
569
  // Perform many operations
570
570
  for (let i = 0; i < 1000; i++) {
571
571
  const serialized = ComponentTransformer.serialize(codeElement);
572
- const deserialized = ComponentTransformer.deserialize(serialized);
573
-
572
+ ComponentTransformer.deserialize(serialized);
573
+
574
574
  // Force garbage collection hint (if available)
575
- if (typeof global !== 'undefined' && (global as any).gc) {
576
- if (i % 100 === 0) (global as any).gc();
575
+ if (typeof global !== 'undefined' && (global as unknown as { gc?: () => void }).gc) {
576
+ if (i % 100 === 0) (global as unknown as { gc?: () => void }).gc?.();
577
577
  }
578
578
  }
579
579
 
580
- const finalMemory = (performance as any).memory?.usedJSHeapSize || 0;
580
+ const finalMemory = (performance as unknown as { memory?: { usedJSHeapSize?: number } }).memory?.usedJSHeapSize || 0;
581
581
 
582
582
  if (initialMemory > 0 && finalMemory > 0) {
583
583
  const memoryIncrease = finalMemory - initialMemory;
@@ -54,10 +54,10 @@ describe('Code Component Serialization', () => {
54
54
  it('should register with correct tagName and version', () => {
55
55
  expect(Code.tagName).toBe('Code');
56
56
  expect(Code.version).toBe('1.0.0');
57
-
57
+
58
58
  // Register the component
59
- ComponentTransformer.registerComponent(Code as any);
60
-
59
+ ComponentTransformer.registerComponent(Code as unknown as React.ComponentType);
60
+
61
61
  // Verify it's registered
62
62
  const registeredComponents = ComponentTransformer.getRegisteredComponents();
63
63
  expect(registeredComponents).toContain('Code');
@@ -339,7 +339,7 @@ describe('Code Component Serialization', () => {
339
339
  describe('ComponentTransformer Integration', () => {
340
340
  beforeEach(() => {
341
341
  // Register the Code component for these tests
342
- ComponentTransformer.registerComponent(Code as any);
342
+ ComponentTransformer.registerComponent(Code as unknown as React.ComponentType);
343
343
  });
344
344
 
345
345
  it('should work with ComponentTransformer serialize/deserialize', () => {
@@ -381,13 +381,13 @@ describe('Code Component Serialization', () => {
381
381
  const deserializedElement = ComponentTransformer.deserialize(serializedString);
382
382
 
383
383
  // Render both to verify they work the same
384
- const { container: originalContainer } = render(
384
+ render(
385
385
  <TestWrapper>
386
386
  {originalElement}
387
387
  </TestWrapper>
388
388
  );
389
389
 
390
- const { container: deserializedContainer } = render(
390
+ render(
391
391
  <TestWrapper>
392
392
  {deserializedElement as React.ReactElement}
393
393
  </TestWrapper>
@@ -467,9 +467,9 @@ describe('Code Component Serialization', () => {
467
467
 
468
468
  it('should handle serialization of invalid props', () => {
469
469
  const invalidProps = {
470
- children: undefined as any,
471
- language: null as any,
472
- showCopy: 'invalid' as any
470
+ children: undefined as unknown as string,
471
+ language: null as unknown as string,
472
+ showCopy: 'invalid' as unknown as boolean
473
473
  };
474
474
 
475
475
  const codeInstance = new Code(invalidProps);
@@ -8,7 +8,6 @@
8
8
  */
9
9
 
10
10
  import React from 'react';
11
- import { render } from '@testing-library/react';
12
11
  import '@testing-library/jest-dom';
13
12
  import HeroBlock from '../../../components/blocks/HeroBlock';
14
13
  import { ComponentTransformer } from '../../../schemas/transformers/ComponentTransformer';
@@ -400,8 +399,8 @@ describe('HeroBlock Serialization', () => {
400
399
  // Verify nested structure (actions array)
401
400
  expect(parsedData.data.actions).toBeInstanceOf(Array);
402
401
  expect(parsedData.data.actions).toHaveLength(3);
403
-
404
- parsedData.data.actions.forEach((action: any, index: number) => {
402
+
403
+ parsedData.data.actions.forEach((action: Record<string, unknown>, index: number) => {
405
404
  expect(action).toHaveProperty('label');
406
405
  expect(action).toHaveProperty('variant');
407
406
  expect(action.label).toBe(`Action ${index + 1}`);
@@ -8,7 +8,6 @@
8
8
  */
9
9
 
10
10
  import React from 'react';
11
- import { render, screen } from '@testing-library/react';
12
11
  import '@testing-library/jest-dom';
13
12
  import { ComponentTransformer } from '../../../schemas/transformers/ComponentTransformer';
14
13
  import { Image } from '../../../components/blocks/Image';
@@ -17,9 +16,9 @@ describe('Image Serialization', () => {
17
16
  beforeEach(() => {
18
17
  // Clear component registry for clean tests
19
18
  ComponentTransformer.clearRegistry();
20
-
19
+
21
20
  // Register Image component
22
- ComponentTransformer.registerComponent(Image as any);
21
+ ComponentTransformer.registerComponent(Image as unknown as React.ComponentType);
23
22
  });
24
23
 
25
24
  afterEach(() => {
@@ -121,9 +120,10 @@ describe('Image Serialization', () => {
121
120
 
122
121
  describe('ModelView Integration', () => {
123
122
  it('should have correct static properties', () => {
124
- expect((Image as any).tagName).toBe('Image');
125
- expect((Image as any).version).toBe('1.0.0');
126
- expect(typeof (Image as any).fromJson).toBe('function');
123
+ const ImageStatic = Image as unknown as { tagName: string; version: string; fromJson: (data: unknown) => React.ReactElement };
124
+ expect(ImageStatic.tagName).toBe('Image');
125
+ expect(ImageStatic.version).toBe('1.0.0');
126
+ expect(typeof ImageStatic.fromJson).toBe('function');
127
127
  });
128
128
 
129
129
  it('should create instance with toJson method', () => {
@@ -147,7 +147,8 @@ describe('Image Serialization', () => {
147
147
  height: 200
148
148
  };
149
149
 
150
- const component = (Image as any).fromJson(jsonData);
150
+ const ImageStatic = Image as unknown as { fromJson: (data: Record<string, unknown>) => React.ReactElement };
151
+ const component = ImageStatic.fromJson(jsonData);
151
152
  expect(React.isValidElement(component)).toBe(true);
152
153
  });
153
154
  });
@@ -41,7 +41,7 @@ describe('Section Component Serialization', () => {
41
41
  expect(Section.version).toBe('1.0.0');
42
42
 
43
43
  // Register the component
44
- ComponentTransformer.registerComponent(Section as any);
44
+ ComponentTransformer.registerComponent(Section as unknown as React.ComponentType);
45
45
 
46
46
  // Verify it's registered
47
47
  const registeredComponents = ComponentTransformer.getRegisteredComponents();
@@ -317,7 +317,7 @@ describe('Section Component Serialization', () => {
317
317
  describe('ComponentTransformer Integration', () => {
318
318
  beforeEach(() => {
319
319
  // Register the Section component for these tests
320
- ComponentTransformer.registerComponent(Section as any);
320
+ ComponentTransformer.registerComponent(Section as unknown as React.ComponentType);
321
321
  });
322
322
 
323
323
  it('should work with ComponentTransformer serialize/deserialize', () => {
@@ -381,7 +381,7 @@ describe('Section Component Serialization', () => {
381
381
 
382
382
  it('should handle nested Section with other components', () => {
383
383
  // Register Code component for this test
384
- ComponentTransformer.registerComponent(Code as any);
384
+ ComponentTransformer.registerComponent(Code as unknown as React.ComponentType);
385
385
 
386
386
  const nestedStructure = (
387
387
  <Section background="#f8f9fa" padding="large">
@@ -434,8 +434,8 @@ describe('Section Component Serialization', () => {
434
434
 
435
435
  describe('Children Serialization Edge Cases', () => {
436
436
  beforeEach(() => {
437
- ComponentTransformer.registerComponent(Section as any);
438
- ComponentTransformer.registerComponent(Code as any);
437
+ ComponentTransformer.registerComponent(Section as unknown as React.ComponentType);
438
+ ComponentTransformer.registerComponent(Code as unknown as React.ComponentType);
439
439
  });
440
440
 
441
441
  it('should handle array of children', () => {
@@ -517,9 +517,9 @@ describe('Section Component Serialization', () => {
517
517
 
518
518
  it('should handle serialization of invalid props', () => {
519
519
  const invalidProps = {
520
- children: null as any,
521
- background: null as any,
522
- padding: 'invalid' as any
520
+ children: null as unknown as React.ReactNode,
521
+ background: null as unknown as string,
522
+ padding: 'invalid' as unknown as string
523
523
  };
524
524
 
525
525
  const sectionInstance = new Section(invalidProps);
@@ -19,7 +19,7 @@ describe('Text Performance', () => {
19
19
  ComponentTransformer.clearRegistry();
20
20
 
21
21
  // Register Text component
22
- ComponentTransformer.registerComponent(Text as any);
22
+ ComponentTransformer.registerComponent(Text as unknown as React.ComponentType);
23
23
  });
24
24
 
25
25
  afterEach(() => {
@@ -253,7 +253,7 @@ describe('Text Performance', () => {
253
253
  const component = <Text content="Memory leak test" variant="body1" />;
254
254
 
255
255
  // Get initial memory usage (if available)
256
- const initialMemory = (performance as any).memory?.usedJSHeapSize || 0;
256
+ const initialMemory = (performance as unknown as { memory?: { usedJSHeapSize?: number } }).memory?.usedJSHeapSize || 0;
257
257
 
258
258
  // Perform many serialization operations
259
259
  for (let i = 0; i < 1000; i++) {
@@ -261,12 +261,12 @@ describe('Text Performance', () => {
261
261
  }
262
262
 
263
263
  // Force garbage collection if available
264
- if ((global as any).gc) {
265
- (global as any).gc();
264
+ if ((global as unknown as { gc?: () => void }).gc) {
265
+ (global as unknown as { gc?: () => void }).gc();
266
266
  }
267
267
 
268
268
  // Check memory hasn't grown significantly
269
- const finalMemory = (performance as any).memory?.usedJSHeapSize || 0;
269
+ const finalMemory = (performance as unknown as { memory?: { usedJSHeapSize?: number } }).memory?.usedJSHeapSize || 0;
270
270
 
271
271
  if (initialMemory > 0) {
272
272
  const memoryGrowth = finalMemory - initialMemory;
@@ -19,7 +19,7 @@ describe('Text Serialization', () => {
19
19
  ComponentTransformer.clearRegistry();
20
20
 
21
21
  // Register Text component
22
- ComponentTransformer.registerComponent(Text as any);
22
+ ComponentTransformer.registerComponent(Text as unknown as React.ComponentType);
23
23
  });
24
24
 
25
25
  afterEach(() => {
@@ -107,9 +107,9 @@ describe('Text Serialization', () => {
107
107
 
108
108
  variants.forEach(variant => {
109
109
  const originalComponent = (
110
- <Text
110
+ <Text
111
111
  content={`This is ${variant} variant`}
112
- variant={variant as any}
112
+ variant={variant as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'subtitle'}
113
113
  />
114
114
  );
115
115
 
@@ -129,9 +129,9 @@ describe('Text Serialization', () => {
129
129
 
130
130
  colors.forEach(color => {
131
131
  const originalComponent = (
132
- <Text
132
+ <Text
133
133
  content={`This is ${color} colored text`}
134
- color={color as any}
134
+ color={color as string}
135
135
  />
136
136
  );
137
137
 
@@ -150,9 +150,9 @@ describe('Text Serialization', () => {
150
150
 
151
151
  alignments.forEach(align => {
152
152
  const originalComponent = (
153
- <Text
153
+ <Text
154
154
  content={`This text is ${align} aligned`}
155
- align={align as any}
155
+ align={align as 'left' | 'center' | 'right' | 'justify'}
156
156
  />
157
157
  );
158
158
 
@@ -171,9 +171,9 @@ describe('Text Serialization', () => {
171
171
 
172
172
  elements.forEach(element => {
173
173
  const originalComponent = (
174
- <Text
174
+ <Text
175
175
  content={`This is rendered as ${element} element`}
176
- component={element as any}
176
+ component={element as 'div' | 'span' | 'p'}
177
177
  />
178
178
  );
179
179
 
@@ -25,7 +25,7 @@ describe('Button Serialization', () => {
25
25
  beforeEach(() => {
26
26
  jest.clearAllMocks();
27
27
  // Clear any global handlers
28
- (global as any).testHandler = undefined;
28
+ (global as unknown as Record<string, unknown>).testHandler = undefined;
29
29
  });
30
30
 
31
31
  describe('Basic Serialization', () => {
@@ -325,7 +325,7 @@ describe('Button Serialization', () => {
325
325
 
326
326
  test('should handle custom action with global handler', () => {
327
327
  const customHandler = jest.fn();
328
- (global as any).testHandler = customHandler;
328
+ (global as unknown as Record<string, unknown>).testHandler = customHandler;
329
329
 
330
330
  const action: ButtonAction = {
331
331
  type: 'custom',
@@ -418,14 +418,14 @@ describe('Button Serialization', () => {
418
418
  customHandler: 'testHandler'
419
419
  };
420
420
 
421
- (global as any).testHandler = jest.fn();
421
+ (global as unknown as Record<string, unknown>).testHandler = jest.fn();
422
422
 
423
423
  render(<Button label="Both" action={action} onClick={originalClick} />);
424
424
  const button = screen.getByRole('button');
425
425
 
426
426
  fireEvent.click(button);
427
427
 
428
- expect((global as any).testHandler).toHaveBeenCalled();
428
+ expect((global as unknown as Record<string, unknown>).testHandler).toHaveBeenCalled();
429
429
  expect(originalClick).toHaveBeenCalled();
430
430
  });
431
431