@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
@@ -96,7 +96,7 @@ export const QwickApp: React.FC<QwickAppComponentProps> = ({
96
96
  // Resolve configuration: explicit props override config defaults
97
97
  const resolvedConfig = {
98
98
  appName: appNameProp ?? config?.app.name,
99
- appId: appIdProp ?? config?.app.id ?? true,
99
+ appId: appIdProp ?? config?.app.id,
100
100
  logo: logoProp ?? config?.app.logo,
101
101
  enableScaffolding: enableScaffoldingProp ?? config?.ui.enableScaffolding ?? false,
102
102
  showThemeSwitcher: showThemeSwitcherProp ?? config?.ui.showThemeSwitcher ?? false,
@@ -13,7 +13,7 @@ import { WithBaseProps, useBaseProps } from '../hooks/useBaseProps';
13
13
 
14
14
  export type QwickAppsLogoSize = 'small' | 'medium' | 'large';
15
15
 
16
- export interface QwickAppsLogoProps extends WithBaseProps, Omit<React.SVGProps<SVGSVGElement>, 'width' | 'height' | 'className' | 'style' | 'onClick' | 'onBlur' | 'onFocus' | 'onMouseEnter' | 'onMouseLeave' | 'role'> {
16
+ export interface QwickAppsLogoProps extends WithBaseProps {
17
17
  /** Size variant of the logo */
18
18
  size?: QwickAppsLogoSize;
19
19
  /** Click handler for the logo */
@@ -57,7 +57,7 @@ const ResponsiveMenu: React.FC<ResponsiveMenuProps> = (props) => {
57
57
  } = restProps;
58
58
 
59
59
  // Mark as QwickApp component
60
- (ResponsiveMenu as any)[QWICKAPP_COMPONENT] = true;
60
+ (ResponsiveMenu as Record<string, unknown>)[QWICKAPP_COMPONENT] = true;
61
61
  const [screenSize, setScreenSize] = useState<ScreenSize>('desktop');
62
62
  const [isNavRailExpanded, setIsNavRailExpanded] = useState(false);
63
63
  const [isDrawerOpen, setIsDrawerOpen] = useState(false);
@@ -10,7 +10,7 @@
10
10
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
11
11
  */
12
12
 
13
- import React, { ReactElement } from 'react';
13
+ import React from 'react';
14
14
  import { WithDataBinding, SchemaProps } from '@qwickapps/schema';
15
15
  import sanitizeHtml from 'sanitize-html';
16
16
  import { QWICKAPP_COMPONENT, useBaseProps, useDataBinding } from '../hooks';
@@ -23,10 +23,10 @@ export interface SafeSpanProps extends SafeSpanViewProps, WithDataBinding {}
23
23
  // View component - handles the actual rendering
24
24
  function SafeSpanView(props: SafeSpanViewProps) {
25
25
  const { html, placeholder, ...restProps } = props;
26
- const { styleProps, htmlProps, restProps: otherProps } = useBaseProps(restProps);
26
+ const { styleProps, htmlProps } = useBaseProps(restProps);
27
27
 
28
28
  // Mark as QwickApp component
29
- (SafeSpanView as any)[QWICKAPP_COMPONENT] = true;
29
+ (SafeSpanView as Record<string, unknown>)[QWICKAPP_COMPONENT] = true;
30
30
 
31
31
  // Enhanced HTML sanitization with strict security configuration
32
32
  const sanitizeOptions = {
@@ -101,7 +101,7 @@ export class SafeSpan extends ModelView<SafeSpanProps, SafeSpanModel> {
101
101
  static readonly version = '1.0.0';
102
102
 
103
103
  // Component-specific serialization properties
104
- protected getComponentSpecificProps(): any {
104
+ protected getComponentSpecificProps(): unknown {
105
105
  return {
106
106
  html: this.props.html,
107
107
  placeholder: this.props.placeholder
@@ -110,7 +110,7 @@ export class SafeSpan extends ModelView<SafeSpanProps, SafeSpanModel> {
110
110
 
111
111
  // SafeSpan component renders traditional props view
112
112
  protected renderView(): React.ReactElement {
113
- const { dataSource, bindingOptions, ...restProps } = this.props;
113
+ const { ...restProps } = this.props;
114
114
  return <SafeSpanView {...restProps} />;
115
115
  }
116
116
 
@@ -120,7 +120,7 @@ export class SafeSpan extends ModelView<SafeSpanProps, SafeSpanModel> {
120
120
  }
121
121
 
122
122
  // Register HTML patterns that SafeSpan component can handle
123
- static registerPatternHandlers(registry: any): void {
123
+ static registerPatternHandlers(registry: unknown): void {
124
124
  // Register span elements with specific classes or attributes
125
125
  if (!registry.hasPattern('span.safe-content')) {
126
126
  registry.registerPattern('span.safe-content', SafeSpan.transformSafeSpan);
@@ -133,7 +133,7 @@ export class SafeSpan extends ModelView<SafeSpanProps, SafeSpanModel> {
133
133
  }
134
134
 
135
135
  // Transform span elements to SafeSpan component
136
- private static transformSafeSpan(element: Element): any {
136
+ private static transformSafeSpan(element: Element): unknown {
137
137
  const placeholder = element.getAttribute('data-placeholder');
138
138
 
139
139
  return {
@@ -151,7 +151,7 @@ function SafeSpanWithDataBinding(props: SafeSpanProps) {
151
151
  const { dataSource, bindingOptions, ...restProps } = props;
152
152
 
153
153
  // Use data binding
154
- const { dataSource: _source, loading, error, cached, ...safeSpanProps } = useDataBinding<SafeSpanModel>(
154
+ const { loading, error, ...safeSpanProps } = useDataBinding<SafeSpanModel>(
155
155
  dataSource!,
156
156
  restProps as Partial<SafeSpanModel>,
157
157
  SafeSpanModel.getSchema(),
@@ -23,7 +23,7 @@
23
23
  --menu-border: var(--theme-outline-variant);
24
24
  --menu-shadow: rgba(0, 0, 0, 0.1);
25
25
 
26
- --scaffold-background: var(--theme-background);
26
+ --scaffold-background: var(--theme-surface);
27
27
  --scaffold-surface: var(--theme-surface);
28
28
  --scaffold-on-surface: var(--theme-on-surface);
29
29
  --scaffold-primary: var(--theme-primary);
@@ -454,6 +454,16 @@
454
454
  transition: padding 0.3s ease;
455
455
  padding-top: var(--appbar-height, 64px);
456
456
  padding-bottom: var(--bottom-nav-height, 80px);
457
+ box-sizing: border-box;
458
+ }
459
+
460
+ /* Content inner wrapper for proper padding */
461
+ .app-scaffold-content > * {
462
+ max-width: 1200px;
463
+ margin-left: auto;
464
+ margin-right: auto;
465
+ padding-left: 24px;
466
+ padding-right: 24px;
457
467
  }
458
468
 
459
469
  /* =================== ANIMATIONS =================== */
@@ -90,11 +90,12 @@ const Scaffold: React.FC<ScaffoldProps> = ({
90
90
  const [screenSize, setScreenSize] = useState<ScreenSize>('desktop');
91
91
  const [isDrawerOpen, setIsDrawerOpen] = useState(false);
92
92
  const [isRailExpanded, setIsRailExpanded] = useState(false);
93
+ const [isMounted, setIsMounted] = useState(false);
93
94
 
94
95
  // React Router hooks (if available)
95
96
  const location = useSafeLocation();
96
97
  const navigate = useSafeNavigate();
97
- const currentPath = location?.pathname;
98
+ const currentPath = isMounted ? location?.pathname : undefined;
98
99
 
99
100
  // Debug logging for navigation
100
101
  React.useEffect(() => {
@@ -103,6 +104,11 @@ const Scaffold: React.FC<ScaffoldProps> = ({
103
104
  }
104
105
  }, [currentPath]);
105
106
 
107
+ // Set mounted state after hydration to prevent hydration mismatch
108
+ useEffect(() => {
109
+ setIsMounted(true);
110
+ }, []);
111
+
106
112
  const { appName: contextAppName, logo: contextLogo } = useQwickApp();
107
113
  const appName = propAppName || contextAppName;
108
114
 
@@ -136,23 +142,26 @@ const Scaffold: React.FC<ScaffoldProps> = ({
136
142
  // Material UI Guidelines: Split items based on screen size
137
143
  const getNavigationSplit = () => {
138
144
  switch (screenSize) {
139
- case 'mobile':
145
+ case 'mobile': {
140
146
  // Bottom Nav: 3-5 items, rest in drawer
141
147
  const bottomNavItems = sortedItems.slice(0, 5);
142
148
  const drawerItems = sortedItems.slice(5);
143
149
  return { primaryItems: bottomNavItems, drawerItems };
150
+ }
144
151
 
145
- case 'tablet':
152
+ case 'tablet': {
146
153
  // Nav Rail: 3-7 items, rest in drawer
147
154
  const railItems = sortedItems.slice(0, 7);
148
155
  const railDrawerItems = sortedItems.slice(7);
149
156
  return { primaryItems: railItems, drawerItems: railDrawerItems };
157
+ }
150
158
 
151
- case 'desktop':
159
+ case 'desktop': {
152
160
  // App Bar: 5-7 items, rest in drawer
153
161
  const appBarItems = sortedItems.slice(0, 7);
154
162
  const appBarDrawerItems = sortedItems.slice(7);
155
163
  return { primaryItems: appBarItems, drawerItems: appBarDrawerItems };
164
+ }
156
165
 
157
166
  default:
158
167
  return { primaryItems: sortedItems, drawerItems: [] };
@@ -295,7 +304,7 @@ const Scaffold: React.FC<ScaffoldProps> = ({
295
304
  // External links
296
305
  if (item.href && !item.disabled) {
297
306
  return (
298
- <a key={item.id} href={item.href} {...commonProps} target="_blank" rel="noopener noreferrer">
307
+ <a href={item.href} {...commonProps} target="_blank" rel="noopener noreferrer">
299
308
  {content}
300
309
  </a>
301
310
  );
@@ -304,7 +313,6 @@ const Scaffold: React.FC<ScaffoldProps> = ({
304
313
  // Internal navigation or custom click handlers
305
314
  return (
306
315
  <button
307
- key={item.id}
308
316
  type="button"
309
317
  {...commonProps}
310
318
  disabled={Boolean(item.disabled || (isActiveItem && item.route === currentPath))}
@@ -316,7 +324,7 @@ const Scaffold: React.FC<ScaffoldProps> = ({
316
324
 
317
325
  // Calculate layout spacing
318
326
  const getLayoutSpacing = () => {
319
- let paddingTop = showAppBar ? appBarHeight : 0;
327
+ const paddingTop = showAppBar ? appBarHeight : 0;
320
328
  let paddingBottom = 0;
321
329
  let paddingLeft = 0;
322
330
 
@@ -355,31 +363,36 @@ const Scaffold: React.FC<ScaffoldProps> = ({
355
363
  {/* Menu button for drawer (when needed) */}
356
364
  {(drawerItems.length > 0 || screenSize === 'tablet') && (
357
365
  <button
366
+ key="menu-button"
358
367
  type="button"
359
368
  className="menu-button"
360
369
  onClick={screenSize === 'tablet' ? toggleRail : toggleDrawer}
361
370
  aria-label={screenSize === 'tablet' ? 'Toggle navigation rail' : 'Open drawer menu'}
362
371
  >
363
372
  <span className="hamburger-icon">
364
- <span></span>
365
- <span></span>
366
- <span></span>
373
+ <span key="hamburger-line-1"></span>
374
+ <span key="hamburger-line-2"></span>
375
+ <span key="hamburger-line-3"></span>
367
376
  </span>
368
377
  </button>
369
378
  )}
370
379
 
371
380
  {/* Logo/Title */}
372
- {(!enhancedAppBar?.logoPosition || enhancedAppBar.logoPosition === 'left') && <AppLogo />}
381
+ {(!enhancedAppBar?.logoPosition || enhancedAppBar.logoPosition === 'left') && <AppLogo key="app-logo-left" />}
373
382
  </div>
374
383
 
375
384
  {/* Center section */}
376
385
  <div className="appbar-center">
377
- {enhancedAppBar?.logoPosition === 'center' && <AppLogo />}
386
+ {enhancedAppBar?.logoPosition === 'center' && <AppLogo key="app-logo-center" />}
378
387
 
379
388
  {/* Desktop navigation items */}
380
389
  {screenSize === 'desktop' && (
381
- <nav className="appbar-navigation">
382
- {primaryItems.map(item => renderMenuItem(item, 'appbar'))}
390
+ <nav key="desktop-navigation" className="appbar-navigation">
391
+ {primaryItems.map(item => (
392
+ <React.Fragment key={item.id}>
393
+ {renderMenuItem(item, 'appbar')}
394
+ </React.Fragment>
395
+ ))}
383
396
  </nav>
384
397
  )}
385
398
  </div>
@@ -387,14 +400,14 @@ const Scaffold: React.FC<ScaffoldProps> = ({
387
400
  {/* Right section */}
388
401
  <div className="appbar-right">
389
402
  {enhancedAppBar?.actions && (
390
- <div className="appbar-actions">
403
+ <div key="appbar-actions" className="appbar-actions">
391
404
  {enhancedAppBar.actions}
392
405
  </div>
393
406
  )}
394
407
  {/* Theme and Palette Switchers */}
395
- <div className="appbar-theme-controls">
396
- {showThemeSwitcher && <ThemeSwitcher />}
397
- {showPaletteSwitcher && <PaletteSwitcher />}
408
+ <div key="appbar-theme-controls" className="appbar-theme-controls">
409
+ {showThemeSwitcher && <ThemeSwitcher key="theme-switcher" />}
410
+ {showPaletteSwitcher && <PaletteSwitcher key="palette-switcher" />}
398
411
  </div>
399
412
  </div>
400
413
  </div>
@@ -405,7 +418,11 @@ const Scaffold: React.FC<ScaffoldProps> = ({
405
418
  {screenSize === 'tablet' && (
406
419
  <nav className={`navigation-rail ${isRailExpanded ? 'expanded' : 'collapsed'}`}>
407
420
  <div className="rail-items">
408
- {primaryItems.map(item => renderMenuItem(item, 'rail'))}
421
+ {primaryItems.map(item => (
422
+ <React.Fragment key={item.id}>
423
+ {renderMenuItem(item, 'rail')}
424
+ </React.Fragment>
425
+ ))}
409
426
  </div>
410
427
  </nav>
411
428
  )}
@@ -414,7 +431,11 @@ const Scaffold: React.FC<ScaffoldProps> = ({
414
431
  {screenSize === 'mobile' && primaryItems.length > 0 && (
415
432
  <nav className="bottom-navigation">
416
433
  <div className="bottom-nav-items">
417
- {primaryItems.map(item => renderMenuItem(item, 'bottom'))}
434
+ {primaryItems.map(item => (
435
+ <React.Fragment key={item.id}>
436
+ {renderMenuItem(item, 'bottom')}
437
+ </React.Fragment>
438
+ ))}
418
439
  </div>
419
440
  </nav>
420
441
  )}
@@ -424,8 +445,9 @@ const Scaffold: React.FC<ScaffoldProps> = ({
424
445
  <div className="drawer-overlay" onClick={toggleDrawer}>
425
446
  <nav className="navigation-drawer" onClick={(e) => e.stopPropagation()}>
426
447
  <div className="drawer-header">
427
- <h3>Menu</h3>
448
+ <h3 key="drawer-title">Menu</h3>
428
449
  <button
450
+ key="drawer-close-button"
429
451
  type="button"
430
452
  className="drawer-close"
431
453
  onClick={toggleDrawer}
@@ -437,15 +459,23 @@ const Scaffold: React.FC<ScaffoldProps> = ({
437
459
  <div className="drawer-items">
438
460
  {/* Show all primary items in drawer for consistency */}
439
461
  <div className="drawer-section">
440
- <h4>Navigation</h4>
441
- {primaryItems.map(item => renderMenuItem(item, 'drawer'))}
462
+ <h4 key="navigation-header">Navigation</h4>
463
+ {primaryItems.map(item => (
464
+ <React.Fragment key={item.id}>
465
+ {renderMenuItem(item, 'drawer')}
466
+ </React.Fragment>
467
+ ))}
442
468
  </div>
443
469
 
444
470
  {/* Additional items */}
445
471
  {drawerItems.length > 0 && (
446
472
  <div className="drawer-section">
447
- <h4>More</h4>
448
- {drawerItems.map(item => renderMenuItem(item, 'drawer'))}
473
+ <h4 key="more-header">More</h4>
474
+ {drawerItems.map(item => (
475
+ <React.Fragment key={item.id}>
476
+ {renderMenuItem(item, 'drawer')}
477
+ </React.Fragment>
478
+ ))}
449
479
  </div>
450
480
  )}
451
481
  </div>
@@ -32,12 +32,12 @@ export type ContainerProps = ViewProps & SchemaProps<typeof ContainerSchema>;
32
32
  * This component receives fully processed props from createSerializableView
33
33
  * and renders the container using Material-UI Box with all styling applied.
34
34
  */
35
- function ContainerView({ children, gridProps, ...props }: ContainerProps & { gridProps?: any }) {
35
+ function ContainerView({ children, gridProps, ...props }: ContainerProps & { gridProps?: unknown }) {
36
36
  // Render the component as a Box with all processed props
37
37
  return (
38
38
  <Box
39
39
  {...props}
40
- {...(gridProps && { 'data-grid': JSON.stringify(gridProps) })}
40
+ {...(gridProps ? { 'data-grid': JSON.stringify(gridProps) } : {})}
41
41
  component="div"
42
42
  >
43
43
  {children}
@@ -73,21 +73,21 @@ function convertSchemaToBaseProps(schema: Partial<ViewSchema>): WithBaseProps {
73
73
  /**
74
74
  * Convert string event handler to function
75
75
  */
76
- function convertEventHandler(handlerStr?: string): ((event: any) => void) | undefined {
76
+ function convertEventHandler(handlerStr?: string): ((event: unknown) => void) | undefined {
77
77
  if (!handlerStr || typeof handlerStr !== 'string') {
78
78
  return undefined;
79
79
  }
80
80
 
81
81
  try {
82
82
  // Create function from string - handle both function declarations and expressions
83
- let func: Function;
83
+ let func: (...args: unknown[]) => unknown;
84
84
  if (handlerStr.trim().startsWith('function')) {
85
- func = new Function(`return (${handlerStr})`)();
85
+ func = new Function(`return (${handlerStr})`)() as (...args: unknown[]) => unknown;
86
86
  } else {
87
- func = new Function('event', handlerStr);
87
+ func = new Function('event', handlerStr) as (...args: unknown[]) => unknown;
88
88
  }
89
89
 
90
- return (event: any) => func(event);
90
+ return (event: unknown) => func(event);
91
91
  } catch (error) {
92
92
  console.error('Error parsing event handler:', error);
93
93
  return undefined;
@@ -98,17 +98,17 @@ function convertEventHandler(handlerStr?: string): ((event: any) => void) | unde
98
98
  * Processed props that subclasses receive
99
99
  */
100
100
  export interface ProcessedProps {
101
- gridProps: any;
102
- styleProps: any;
103
- htmlProps: any;
104
- restProps: any;
101
+ gridProps: unknown;
102
+ styleProps: unknown;
103
+ htmlProps: unknown;
104
+ restProps: unknown;
105
105
  }
106
106
 
107
107
  /**
108
108
  * Abstract base class implementing ViewSchema
109
109
  * All concrete components should extend this class
110
110
  */
111
- export abstract class ModelView<TProps = any, TModel = any>
111
+ export abstract class ModelView<TProps = Record<string, unknown>>
112
112
  extends React.Component<TProps & SchemaProps<ViewSchema> & WithDataBinding>
113
113
  implements Serializable {
114
114
 
@@ -119,8 +119,9 @@ export abstract class ModelView<TProps = any, TModel = any>
119
119
  /**
120
120
  * Common fromJson implementation
121
121
  */
122
- static fromJson(jsonData: any): ReactElement {
123
- const { tagName, version, data } = jsonData;
122
+ static fromJson(jsonData: unknown): ReactElement {
123
+ const typedData = jsonData as { tagName?: string; version?: string; data?: unknown };
124
+ const { tagName, version, data } = typedData;
124
125
  if (tagName !== this.tagName) {
125
126
  throw new Error(`Cannot deserialize: Expected tagName '${this.tagName}' but got '${tagName}'`);
126
127
  }
@@ -128,15 +129,15 @@ export abstract class ModelView<TProps = any, TModel = any>
128
129
  console.warn(`Version mismatch: Expected ${this.version} but got ${version}`);
129
130
  }
130
131
 
131
- return React.createElement(this as any, data || {});
132
+ return React.createElement(this as React.ComponentType<unknown>, data || {});
132
133
  }
133
134
 
134
135
  /**
135
136
  * Common toJson implementation with hooks for customization
136
137
  */
137
- toJson(): any {
138
- const baseProps = this.getBaseSerializableProps();
139
- const componentProps = this.getComponentSpecificProps();
138
+ toJson(): unknown {
139
+ const baseProps = this.getBaseSerializableProps() as Record<string, unknown>;
140
+ const componentProps = this.getComponentSpecificProps() as Record<string, unknown>;
140
141
  return {
141
142
  tagName: (this.constructor as typeof ModelView).tagName,
142
143
  version: (this.constructor as typeof ModelView).version,
@@ -152,7 +153,7 @@ export abstract class ModelView<TProps = any, TModel = any>
152
153
  * This converts ViewSchema props and processes them through useBaseProps
153
154
  */
154
155
  protected getProcessedProps(): ProcessedProps {
155
- const { dataSource, bindingOptions, ...schemaProps } = this.props;
156
+ const { dataSource: _dataSource, bindingOptions: _bindingOptions, ...schemaProps } = this.props;
156
157
 
157
158
  // Convert ViewSchema props to BaseComponentProps format
158
159
  const convertedProps = convertSchemaToBaseProps(schemaProps);
@@ -221,8 +222,8 @@ export abstract class ModelView<TProps = any, TModel = any>
221
222
  /**
222
223
  * Common base props that all components serialize
223
224
  */
224
- protected getBaseSerializableProps(): any {
225
- const props = this.props as any;
225
+ protected getBaseSerializableProps(): unknown {
226
+ const props = this.props as TProps & SchemaProps<ViewSchema> & WithDataBinding;
226
227
  return {
227
228
  children: props.children ? this.serializeChildren(props.children) : undefined,
228
229
  dataSource: props.dataSource,
@@ -235,12 +236,12 @@ export abstract class ModelView<TProps = any, TModel = any>
235
236
  /**
236
237
  * Hook for subclasses to add component-specific serialization
237
238
  */
238
- protected abstract getComponentSpecificProps(): any;
239
+ protected abstract getComponentSpecificProps(): unknown;
239
240
 
240
241
  /**
241
242
  * Common children serialization logic
242
243
  */
243
- protected serializeChildren(children: ReactNode): any {
244
+ protected serializeChildren(children: ReactNode): unknown {
244
245
  if (typeof children === 'string') {
245
246
  return children;
246
247
  }
@@ -255,7 +256,7 @@ export abstract class ModelView<TProps = any, TModel = any>
255
256
  /**
256
257
  * Helper to determine if children contain other serializable components
257
258
  */
258
- protected hasNestedComponents(children: ReactNode): boolean {
259
+ protected hasNestedComponents(_children: ReactNode): boolean {
259
260
  return false;
260
261
  }
261
262
 
@@ -263,7 +264,7 @@ export abstract class ModelView<TProps = any, TModel = any>
263
264
  * Common render pattern
264
265
  */
265
266
  render() {
266
- const props = this.props as any;
267
+ const props = this.props as TProps & SchemaProps<ViewSchema> & WithDataBinding;
267
268
 
268
269
  if (props.dataSource) {
269
270
  return this.renderWithDataBinding();
@@ -285,7 +286,7 @@ export abstract class ModelView<TProps = any, TModel = any>
285
286
  /**
286
287
  * Register HTML pattern handlers for this component
287
288
  */
288
- static registerPatternHandlers(_registry: any): void {
289
+ static registerPatternHandlers(_registry: unknown): void {
289
290
  // Default: no patterns to register
290
291
  }
291
292
  }
@@ -298,18 +299,18 @@ export function createModelViewClass<TProps, TModel>(
298
299
  config: {
299
300
  tagName: string;
300
301
  version: string;
301
- getComponentSpecificProps: (props: TProps, processedProps: ProcessedProps) => any;
302
+ getComponentSpecificProps: (props: TProps, processedProps: ProcessedProps) => Record<string, unknown>;
302
303
  hasNestedComponents?: (children: ReactNode) => boolean;
303
304
  renderView: (props: TProps, processedProps: ProcessedProps) => React.ReactElement;
304
305
  renderWithDataBinding: (props: TProps & WithDataBinding, processedProps: ProcessedProps) => React.ReactElement;
305
306
  }
306
- ): any {
307
+ ): unknown {
307
308
 
308
309
  class DynamicModelView extends ModelView<TProps, TModel> {
309
310
  static readonly tagName = config.tagName;
310
311
  static readonly version = config.version;
311
312
 
312
- protected getComponentSpecificProps(): any {
313
+ protected getComponentSpecificProps(): unknown {
313
314
  const processedProps = this.getProcessedProps();
314
315
  return config.getComponentSpecificProps(this.props as TProps, processedProps);
315
316
  }
@@ -8,5 +8,5 @@
8
8
  */
9
9
 
10
10
  export { ModelView, createModelViewClass } from './ModelView';
11
- export { default as Container, } from './Container';
11
+ export { default as Container} from './Container';
12
12
  export type { ContainerProps } from './Container';