@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
@@ -23,7 +23,6 @@ import { SwitchInputField } from '../../components/input/SwitchInputField';
23
23
  import { TextInputField } from '../../components/input/TextInputField';
24
24
  import { GridCell } from '../../components/layout/GridCell';
25
25
  import { GridLayout } from '../../components/layout/GridLayout';
26
- import { ComponentTransformer } from './ComponentTransformer';
27
26
 
28
27
  /**
29
28
  * Register all serializable components with the ComponentTransformer
@@ -32,41 +31,46 @@ import { ComponentTransformer } from './ComponentTransformer';
32
31
  * Phase 0: Foundation in place - ready for component migration
33
32
  * Phase 1+: Components will be migrated to createSerializableView factory
34
33
  */
34
+ import { ComponentTransformer } from './ComponentTransformer';
35
+
35
36
  export function registerSerializableComponents(): void {
37
+ // Type for serializable components
38
+ type SerializableComponent = { tagName: string; version: string; fromJson: (data: unknown) => React.ReactElement };
39
+
36
40
  // Register Container component - Base layout component with child serialization support
37
- ComponentTransformer.registerComponent(Container as any);
41
+ ComponentTransformer.registerComponent(Container as unknown as SerializableComponent);
38
42
 
39
43
  // Register Code component - First production component with serialization support
40
- ComponentTransformer.registerComponent(Code as any);
41
-
44
+ ComponentTransformer.registerComponent(Code as unknown as SerializableComponent);
45
+
42
46
  // Register Section component - Layout container component with child serialization support
43
- ComponentTransformer.registerComponent(Section as any);
44
-
47
+ ComponentTransformer.registerComponent(Section as unknown as SerializableComponent);
48
+
45
49
  // Register Button component - Interactive component with action serialization support
46
- ComponentTransformer.registerComponent(Button as any);
47
-
50
+ ComponentTransformer.registerComponent(Button as unknown as SerializableComponent);
51
+
48
52
  // Register Image component - Display component with comprehensive image handling and serialization support
49
- ComponentTransformer.registerComponent(Image as any);
50
-
53
+ ComponentTransformer.registerComponent(Image as unknown as SerializableComponent);
54
+
51
55
  // Register Text component - Typography component with comprehensive text styling and serialization support
52
- ComponentTransformer.registerComponent(Text as any);
53
-
56
+ ComponentTransformer.registerComponent(Text as unknown as SerializableComponent);
57
+
54
58
  // Register HeroBlock component - Full-width hero section with nested component serialization support
55
- ComponentTransformer.registerComponent(HeroBlock as any);
56
-
59
+ ComponentTransformer.registerComponent(HeroBlock as unknown as SerializableComponent);
60
+
57
61
  // Register GridLayout component - Flexible grid layout with nested component serialization support
58
- ComponentTransformer.registerComponent(GridLayout as any);
59
-
62
+ ComponentTransformer.registerComponent(GridLayout as unknown as SerializableComponent);
63
+
60
64
  // Register GridCell component - Grid cell wrapper with nested component serialization support
61
- ComponentTransformer.registerComponent(GridCell as any);
62
-
65
+ ComponentTransformer.registerComponent(GridCell as unknown as SerializableComponent);
66
+
63
67
  // Register Form Components - Complete form field components with serialization support
64
- ComponentTransformer.registerComponent(TextInputField as any);
65
- ComponentTransformer.registerComponent(SelectInputField as any);
66
- ComponentTransformer.registerComponent(HtmlInputField as any);
67
- ComponentTransformer.registerComponent(ChoiceInputField as any);
68
- ComponentTransformer.registerComponent(SwitchInputField as any);
69
- ComponentTransformer.registerComponent(FormBlock as any);
68
+ ComponentTransformer.registerComponent(TextInputField as unknown as SerializableComponent);
69
+ ComponentTransformer.registerComponent(SelectInputField as unknown as SerializableComponent);
70
+ ComponentTransformer.registerComponent(HtmlInputField as unknown as SerializableComponent);
71
+ ComponentTransformer.registerComponent(ChoiceInputField as unknown as SerializableComponent);
72
+ ComponentTransformer.registerComponent(SwitchInputField as unknown as SerializableComponent);
73
+ ComponentTransformer.registerComponent(FormBlock as unknown as SerializableComponent);
70
74
 
71
75
  // Future components will be registered here as they implement Serializable
72
76
  // etc.
@@ -19,7 +19,7 @@ export interface Serializable {
19
19
  * Convert component instance to JSON data
20
20
  * @returns Serializable data structure
21
21
  */
22
- toJson(): any;
22
+ toJson(): unknown;
23
23
  }
24
24
 
25
25
  /**
@@ -45,7 +45,7 @@ export interface SerializableConstructor {
45
45
  * @param jsonData - Serialized component data
46
46
  * @returns React element representing the component
47
47
  */
48
- fromJson(jsonData: any): ReactElement;
48
+ fromJson(jsonData: unknown): ReactElement;
49
49
 
50
- new (...args: any[]): Serializable;
50
+ new (...args: unknown[]): Serializable;
51
51
  }
package/src/setupTests.js CHANGED
@@ -1,6 +1,15 @@
1
1
  // Jest setup for QwickApps Theme System tests
2
2
  import '@testing-library/jest-dom';
3
3
 
4
+ // Mock paletteLoader to avoid import.meta.env issues in Jest
5
+ jest.mock('./utils/paletteLoader', () => ({
6
+ loadPalette: jest.fn().mockResolvedValue(undefined),
7
+ loadPaletteSync: jest.fn(),
8
+ isPaletteLoaded: jest.fn().mockReturnValue(true),
9
+ getLoadedPalettes: jest.fn().mockReturnValue([]),
10
+ preloadPalettes: jest.fn().mockResolvedValue(undefined),
11
+ }));
12
+
4
13
  // Mock CSS imports for components
5
14
  jest.mock('./components/QwickApp.css', () => ({}));
6
15
  jest.mock('./components/Logo.css', () => ({}));
@@ -13,7 +13,6 @@ const AccessibilityDemo = () => {
13
13
  setHighContrast,
14
14
  setReducedMotion,
15
15
  setLargeText,
16
- announce,
17
16
  announcePolite,
18
17
  announceAssertive,
19
18
  runAudit,
@@ -197,7 +197,7 @@ export const FeatureGrid: Story = {
197
197
 
198
198
  export const CustomRenderFunction: Story = {
199
199
  render: () => {
200
- const customRenderItem = (item: any, index: number) => (
200
+ const customRenderItem = (item: { id?: string; title?: string; description?: string }, index: number) => (
201
201
  <Box
202
202
  key={item.id || index}
203
203
  sx={{
@@ -4,12 +4,11 @@
4
4
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
5
  */
6
6
 
7
- import { Alert, Box, Divider, Paper, Typography } from '@mui/material';
7
+ import { Box, Divider, Typography } from '@mui/material';
8
8
  import { JsonDataProvider } from '@qwickapps/schema';
9
9
  import type { Meta, StoryObj } from '@storybook/react';
10
10
  import { Code } from '../components/blocks';
11
11
  import QwickApp from '../components/QwickApp';
12
- import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
13
12
  import { makeSerializationStory } from './_templates/SerializationTemplate';
14
13
 
15
14
  // Sample code content for different languages
@@ -661,7 +660,7 @@ export const SerializationDemo: Story = {
661
660
  wrapLines={false}
662
661
  codeBackground="linear-gradient(135deg, #667eea20, #764ba220)"
663
662
  sx={{ mb: 2, border: "1px solid #ddd" }}
664
- onClick={(event) => { console.log("Code component clicked!"); }}
663
+ onClick={() => { console.log("Code component clicked!"); }}
665
664
  role="region"
666
665
  aria-label="TypeScript code demonstration"
667
666
  data-testid="serializable-code-block"
@@ -431,12 +431,11 @@ export const InitiallyCollapsed: Story = {
431
431
  },
432
432
  };
433
433
 
434
- export const ControlledState: Story = {
435
- render: () => {
436
- const [isCollapsed, setIsCollapsed] = useState(false);
437
-
438
- return (
439
- <QwickApp appId="collapsible-controlled" appName='Controlled State'>
434
+ const ControlledStateComponent = () => {
435
+ const [isCollapsed, setIsCollapsed] = useState(false);
436
+
437
+ return (
438
+ <QwickApp appId="collapsible-controlled" appName='Controlled State'>
440
439
  <Stack spacing={2}>
441
440
  <Box>
442
441
  <FormControlLabel
@@ -463,19 +462,22 @@ export const ControlledState: Story = {
463
462
  <Alert severity="info">
464
463
  This CollapsibleLayout's state is controlled by the switch above.
465
464
  You can also click the header to toggle, but the switch will update accordingly.
466
- </Alert>
467
- </CollapsibleLayout>
468
- </Stack>
469
- </QwickApp>
470
- );
471
- },
472
- parameters: {
473
- docs: {
474
- description: {
475
- story: 'CollapsibleLayout with controlled state managed by external component (switch).',
476
- },
477
- },
478
- },
465
+ </Alert>
466
+ </CollapsibleLayout>
467
+ </Stack>
468
+ </QwickApp>
469
+ );
470
+ };
471
+
472
+ export const ControlledState: Story = {
473
+ render: () => <ControlledStateComponent />,
474
+ parameters: {
475
+ docs: {
476
+ description: {
477
+ story: 'CollapsibleLayout with controlled state managed by external component (switch).',
478
+ },
479
+ },
480
+ },
479
481
  };
480
482
 
481
483
  export const WithPersistence: Story = {
@@ -833,12 +835,11 @@ export const CustomIcons: Story = {
833
835
  },
834
836
  };
835
837
 
836
- export const DisabledState: Story = {
837
- render: () => {
838
- const [disabled, setDisabled] = useState(false);
839
-
840
- return (
841
- <QwickApp appId="collapsible-disabled" appName='Disabled State'>
838
+ const DisabledStateComponent = () => {
839
+ const [disabled, setDisabled] = useState(false);
840
+
841
+ return (
842
+ <QwickApp appId="collapsible-disabled" appName='Disabled State'>
842
843
  <Stack spacing={2}>
843
844
  <Box>
844
845
  <FormControlLabel
@@ -870,18 +871,21 @@ export const DisabledState: Story = {
870
871
  : "This content can be toggled normally. Use the switch above to simulate a disabled state."
871
872
  }
872
873
  </Typography>
873
- </CollapsibleLayout>
874
- </Stack>
875
- </QwickApp>
876
- );
877
- },
878
- parameters: {
879
- docs: {
880
- description: {
881
- story: 'Demonstrating how to create a disabled-like state by conditionally removing event handlers.',
882
- },
883
- },
884
- },
874
+ </CollapsibleLayout>
875
+ </Stack>
876
+ </QwickApp>
877
+ );
878
+ };
879
+
880
+ export const DisabledState: Story = {
881
+ render: () => <DisabledStateComponent />,
882
+ parameters: {
883
+ docs: {
884
+ description: {
885
+ story: 'Demonstrating how to create a disabled-like state by conditionally removing event handlers.',
886
+ },
887
+ },
888
+ },
885
889
  };
886
890
 
887
891
  // ============================================
@@ -8,7 +8,7 @@
8
8
  * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
9
  */
10
10
 
11
- import { Alert, Box, Paper, Typography } from '@mui/material';
11
+ import { Alert, Box, Typography } from '@mui/material';
12
12
  import { JsonDataProvider } from '@qwickapps/schema';
13
13
  import type { Meta, StoryObj } from '@storybook/react';
14
14
  import React from 'react';
@@ -17,7 +17,6 @@ import { makeSerializationStory } from './_templates/SerializationTemplate';
17
17
  import { Code, Text } from '../components/blocks';
18
18
  import { Button } from '../components/buttons/Button';
19
19
  import QwickApp from '../components/QwickApp';
20
- import { ComponentTransformer } from '../schemas/transformers/ComponentTransformer';
21
20
  import {registerSerializableComponents} from '../schemas/transformers/registry';
22
21
 
23
22
  console.log('Registering serializable components for stories...', registerSerializableComponents);
@@ -132,9 +132,8 @@ All HTML content is automatically sanitized:
132
132
  export default meta;
133
133
  type Story = StoryObj<typeof meta>;
134
134
 
135
- // Multi-language Support
136
- export const MultiLanguageContent: Story = {
137
- render: () => {
135
+ // Multi-language Support Component
136
+ const MultiLanguageComponent = () => {
138
137
  const [language, setLanguage] = useState<'en' | 'es'>('en');
139
138
 
140
139
  return (
@@ -175,7 +174,11 @@ export const MultiLanguageContent: Story = {
175
174
  ]`}</Code>
176
175
  </Section>
177
176
  );
178
- },
177
+ };
178
+ MultiLanguageComponent.displayName = 'MultiLanguageComponent';
179
+
180
+ export const MultiLanguageContent: Story = {
181
+ render: () => <MultiLanguageComponent />,
179
182
  parameters: {
180
183
  docs: {
181
184
  description: {
@@ -185,9 +188,8 @@ export const MultiLanguageContent: Story = {
185
188
  }
186
189
  };
187
190
 
188
- // A/B Testing
189
- export const ABTestingVariants: Story = {
190
- render: () => {
191
+ // A/B Testing Component
192
+ const ABTestingComponent = () => {
191
193
  const [variant, setVariant] = useState<'a' | 'b'>('a');
192
194
 
193
195
  return (
@@ -207,7 +209,7 @@ export const ABTestingVariants: Story = {
207
209
  Variant B (Join Community)
208
210
  </Button>
209
211
  </GridLayout>
210
-
212
+
211
213
  <Card variant="outlined" style={{ padding: '1.5rem', backgroundColor: '#e3f2fd' }}>
212
214
  <SafeSpan dataSource={`cta.variant-${variant}`} />
213
215
  </Card>
@@ -231,7 +233,11 @@ return (
231
233
  ]`}</Code>
232
234
  </Section>
233
235
  );
234
- },
236
+ };
237
+ ABTestingComponent.displayName = 'ABTestingComponent';
238
+
239
+ export const ABTestingVariants: Story = {
240
+ render: () => <ABTestingComponent />,
235
241
  parameters: {
236
242
  docs: {
237
243
  description: {
@@ -365,7 +365,7 @@ export const BasicUsage: Story = {
365
365
  };
366
366
 
367
367
  // Enhanced ProviderDemo component using MUI components
368
- const ProviderDemo = ({ provider, title }: { provider: any; title: string }) => {
368
+ const ProviderDemo = ({ provider, title }: { provider: JsonDataProvider | CachedDataProvider; title: string }) => {
369
369
  const [stats, setStats] = useState(() => {
370
370
  if ('getCacheStats' in provider && typeof provider.getCacheStats === 'function') {
371
371
  return provider.getCacheStats();
@@ -848,8 +848,8 @@ export const ErrorHandling: Story = {
848
848
  /**
849
849
  * External JSON file loading (simulated with fetch mock)
850
850
  */
851
- export const ExternalJSON: Story = {
852
- render: () => {
851
+ // External JSON Component
852
+ const ExternalJSONComponent = () => {
853
853
  // Mock fetch for this story
854
854
  const originalFetch = global.fetch;
855
855
  global.fetch = ((url: string) => {
@@ -876,7 +876,7 @@ export const ExternalJSON: Story = {
876
876
  return () => {
877
877
  global.fetch = originalFetch;
878
878
  };
879
- }, []);
879
+ }, [originalFetch]);
880
880
 
881
881
  return (
882
882
  <DataProvider dataSource={{ dataProvider: provider }}>
@@ -899,14 +899,17 @@ export const ExternalJSON: Story = {
899
899
  </div>
900
900
  </DataProvider>
901
901
  );
902
- }
902
+ };
903
+ ExternalJSONComponent.displayName = 'ExternalJSONComponent';
904
+
905
+ export const ExternalJSON: Story = {
906
+ render: () => <ExternalJSONComponent />
903
907
  };
904
908
 
905
909
  /**
906
- * Performance demonstration with caching
910
+ * Performance demonstration component
907
911
  */
908
- export const PerformanceDemo: Story = {
909
- render: () => {
912
+ const PerformanceDemoComponent = () => {
910
913
  const [renderCount, setRenderCount] = useState(1);
911
914
  const [cacheStats, setCacheStats] = useState<{ totalEntries: number; maxSize: number; expiredEntries: number }>({ totalEntries: 0, maxSize: 100, expiredEntries: 0 });
912
915
  const [forceRefresh, setForceRefresh] = useState(0);
@@ -925,7 +928,7 @@ export const PerformanceDemo: Story = {
925
928
  }, []);
926
929
 
927
930
  // Update cache stats when requested
928
- const updateCacheStats = () => {
931
+ const updateCacheStats = React.useCallback(() => {
929
932
  const stats = provider.getCacheStats();
930
933
  // Map stats to expected shape for cacheStats state
931
934
  setCacheStats({
@@ -934,7 +937,7 @@ export const PerformanceDemo: Story = {
934
937
  expiredEntries: stats.expiredEntries ?? stats.expiredEntries ?? 0
935
938
  });
936
939
  console.log('[Performance Demo] Cache stats updated:', stats);
937
- };
940
+ }, [provider]);
938
941
 
939
942
  // Initialize cache stats on mount
940
943
  React.useEffect(() => {
@@ -942,12 +945,13 @@ export const PerformanceDemo: Story = {
942
945
  setTimeout(() => {
943
946
  updateCacheStats();
944
947
  }, 100);
948
+ // eslint-disable-next-line react-hooks/exhaustive-deps
945
949
  }, []);
946
950
 
947
951
  // Update cache stats when content changes
948
952
  React.useEffect(() => {
949
953
  updateCacheStats();
950
- }, [forceRefresh]);
954
+ }, [forceRefresh, updateCacheStats]);
951
955
 
952
956
  const triggerRender = (action: string) => {
953
957
  setRenderCount(prev => prev + 1);
@@ -1131,7 +1135,14 @@ export const PerformanceDemo: Story = {
1131
1135
  </div>
1132
1136
  </DataProvider>
1133
1137
  );
1134
- }
1138
+ };
1139
+ PerformanceDemoComponent.displayName = 'PerformanceDemoComponent';
1140
+
1141
+ /**
1142
+ * Performance demonstration with caching
1143
+ */
1144
+ export const PerformanceDemo: Story = {
1145
+ render: () => <PerformanceDemoComponent />
1135
1146
  };
1136
1147
 
1137
1148
  /**
@@ -1264,10 +1275,9 @@ export const CachingBehavior: Story = {
1264
1275
  };
1265
1276
 
1266
1277
  /**
1267
- * Interactive configuration playground with real-time settings
1278
+ * Configuration playground component
1268
1279
  */
1269
- export const ConfigurationPlayground: Story = {
1270
- render: () => {
1280
+ const ConfigurationPlaygroundComponent = () => {
1271
1281
  const [config, setConfig] = useState({
1272
1282
  cacheTimeout: 5000,
1273
1283
  maxCacheSize: 10,
@@ -1357,5 +1367,12 @@ export const ConfigurationPlayground: Story = {
1357
1367
  </GridLayout>
1358
1368
  </Box>
1359
1369
  );
1360
- }
1370
+ };
1371
+ ConfigurationPlaygroundComponent.displayName = 'ConfigurationPlaygroundComponent';
1372
+
1373
+ /**
1374
+ * Interactive configuration playground with real-time settings
1375
+ */
1376
+ export const ConfigurationPlayground: Story = {
1377
+ render: () => <ConfigurationPlaygroundComponent />
1361
1378
  };
@@ -122,33 +122,35 @@ export const HigherOrderComponent: Story = {
122
122
  };
123
123
 
124
124
  // Interactive story for testing retry functionality
125
+ const InteractiveComponent = () => {
126
+ const [shouldThrow, setShouldThrow] = React.useState(false);
127
+
128
+ return (
129
+ <div style={{ padding: '2rem' }}>
130
+ <button
131
+ onClick={() => setShouldThrow(!shouldThrow)}
132
+ style={{
133
+ marginBottom: '1rem',
134
+ padding: '0.5rem 1rem',
135
+ background: shouldThrow ? '#ff4444' : '#44aa44',
136
+ color: 'white',
137
+ border: 'none',
138
+ borderRadius: '4px',
139
+ cursor: 'pointer'
140
+ }}
141
+ >
142
+ {shouldThrow ? 'Fix Component' : 'Break Component'}
143
+ </button>
144
+
145
+ <ErrorBoundary>
146
+ <ThrowError shouldThrow={shouldThrow} />
147
+ </ErrorBoundary>
148
+ </div>
149
+ );
150
+ };
151
+
125
152
  export const Interactive: Story = {
126
- render: () => {
127
- const [shouldThrow, setShouldThrow] = React.useState(false);
128
-
129
- return (
130
- <div style={{ padding: '2rem' }}>
131
- <button
132
- onClick={() => setShouldThrow(!shouldThrow)}
133
- style={{
134
- marginBottom: '1rem',
135
- padding: '0.5rem 1rem',
136
- background: shouldThrow ? '#ff4444' : '#44aa44',
137
- color: 'white',
138
- border: 'none',
139
- borderRadius: '4px',
140
- cursor: 'pointer'
141
- }}
142
- >
143
- {shouldThrow ? 'Fix Component' : 'Break Component'}
144
- </button>
145
-
146
- <ErrorBoundary>
147
- <ThrowError shouldThrow={shouldThrow} />
148
- </ErrorBoundary>
149
- </div>
150
- );
151
- },
153
+ render: () => <InteractiveComponent />,
152
154
  parameters: {
153
155
  docs: {
154
156
  description: {
@@ -10,7 +10,6 @@ import type { Meta, StoryObj } from '@storybook/react';
10
10
  import QwickApp from '../components/QwickApp';
11
11
  import { Code } from '../components/blocks';
12
12
  import FeatureGrid from '../components/blocks/FeatureGrid';
13
- import { DataProvider } from '../contexts/DataContext';
14
13
 
15
14
  // Sample CMS data for data binding stories
16
15
  const sampleCmsData = {
@@ -154,14 +154,14 @@ export const LoginForm: Story = {
154
154
  type="email"
155
155
  placeholder="your.email@example.com"
156
156
  required={true}
157
- onChange={(value) => console.log('Email:', value)}
157
+ onChange={(_value) => console.log('Email:', _value)}
158
158
  />
159
159
  <TextInputField
160
160
  label="Password"
161
161
  type="password"
162
162
  placeholder="Enter your password"
163
163
  required={true}
164
- onChange={(value) => console.log('Password:', '***')}
164
+ onChange={() => console.log('Password:', '***')}
165
165
  />
166
166
  <Button
167
167
  label="Sign In"
@@ -219,7 +219,7 @@ export const RegistrationForm: Story = {
219
219
  placeholder="john.doe@example.com"
220
220
  required={true}
221
221
  helperText="We'll never share your email address"
222
- onChange={(value) => console.log('Email:', value)}
222
+ onChange={(_value) => console.log('Email:', _value)}
223
223
  />
224
224
  <TextInputField
225
225
  label="Password"
@@ -227,7 +227,7 @@ export const RegistrationForm: Story = {
227
227
  placeholder="Create a strong password"
228
228
  required={true}
229
229
  helperText="Minimum 8 characters with mixed case and numbers"
230
- onChange={(value) => console.log('Password:', '***')}
230
+ onChange={() => console.log('Password:', '***')}
231
231
  />
232
232
  <SelectInputField
233
233
  label="Country"
@@ -290,7 +290,7 @@ export const ContactForm: Story = {
290
290
  type="email"
291
291
  placeholder="your.email@example.com"
292
292
  required={true}
293
- onChange={(value) => console.log('Email:', value)}
293
+ onChange={(_value) => console.log('Email:', _value)}
294
294
  />
295
295
  </Box>
296
296
  <TextInputField
@@ -352,7 +352,7 @@ export const WithStatusMessages: Story = {
352
352
  type="email"
353
353
  placeholder="your.email@example.com"
354
354
  required={true}
355
- onChange={(value) => console.log('Email:', value)}
355
+ onChange={(_value) => console.log('Email:', _value)}
356
356
  />
357
357
  <Button
358
358
  label="Subscribe"
@@ -503,14 +503,14 @@ export const DataBindingBasic: Story = {
503
503
  type="email"
504
504
  placeholder="your.email@example.com"
505
505
  required={true}
506
- onChange={(value) => console.log('Email:', value)}
506
+ onChange={(_value) => console.log('Email:', _value)}
507
507
  />
508
508
  <TextInputField
509
509
  label="Password"
510
510
  type="password"
511
511
  placeholder="Enter your password"
512
512
  required={true}
513
- onChange={(value) => console.log('Password:', '***')}
513
+ onChange={() => console.log('Password:', '***')}
514
514
  />
515
515
  <Button
516
516
  label="Sign In"