@qwickapps/react-framework 1.4.0 → 1.4.2

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 (486) hide show
  1. package/QUICK_START_GUIDE.md +82 -0
  2. package/README.md +231 -21
  3. package/dist/components/Html.d.ts.map +1 -1
  4. package/dist/components/Markdown.d.ts +1 -2
  5. package/dist/components/Markdown.d.ts.map +1 -1
  6. package/dist/components/SafeSpan.d.ts +1 -2
  7. package/dist/components/SafeSpan.d.ts.map +1 -1
  8. package/dist/components/base/Container.d.ts +32 -0
  9. package/dist/components/base/Container.d.ts.map +1 -0
  10. package/dist/components/base/ContainerView.d.ts +65 -0
  11. package/dist/components/base/ContainerView.d.ts.map +1 -0
  12. package/dist/components/base/ModelView.d.ts +37 -46
  13. package/dist/components/base/ModelView.d.ts.map +1 -1
  14. package/dist/components/base/index.d.ts +3 -2
  15. package/dist/components/base/index.d.ts.map +1 -1
  16. package/dist/components/blocks/Article.d.ts +1 -2
  17. package/dist/components/blocks/Article.d.ts.map +1 -1
  18. package/dist/components/blocks/Code-factory.d.ts +22 -0
  19. package/dist/components/blocks/Code-factory.d.ts.map +1 -0
  20. package/dist/components/blocks/Code-old.d.ts +31 -0
  21. package/dist/components/blocks/Code-old.d.ts.map +1 -0
  22. package/dist/components/blocks/Code.d.ts +30 -18
  23. package/dist/components/blocks/Code.d.ts.map +1 -1
  24. package/dist/components/blocks/HeroBlock.d.ts +1 -2
  25. package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
  26. package/dist/components/blocks/Image.d.ts +1 -2
  27. package/dist/components/blocks/Image.d.ts.map +1 -1
  28. package/dist/components/blocks/Section.d.ts +1 -2
  29. package/dist/components/blocks/Section.d.ts.map +1 -1
  30. package/dist/components/blocks/Text.d.ts +35 -27
  31. package/dist/components/blocks/Text.d.ts.map +1 -1
  32. package/dist/components/buttons/Button.d.ts +1 -2
  33. package/dist/components/buttons/Button.d.ts.map +1 -1
  34. package/dist/components/index.d.ts +2 -0
  35. package/dist/components/index.d.ts.map +1 -1
  36. package/dist/components/input/ChoiceInputField.d.ts +1 -2
  37. package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
  38. package/dist/components/input/HtmlInputField.d.ts +1 -2
  39. package/dist/components/input/HtmlInputField.d.ts.map +1 -1
  40. package/dist/components/input/SelectInputField.d.ts +1 -2
  41. package/dist/components/input/SelectInputField.d.ts.map +1 -1
  42. package/dist/components/pages/Page.d.ts +29 -47
  43. package/dist/components/pages/Page.d.ts.map +1 -1
  44. package/dist/components/pages/index.d.ts +2 -3
  45. package/dist/components/pages/index.d.ts.map +1 -1
  46. package/dist/components/shared/createSerializableView.d.ts +68 -0
  47. package/dist/components/shared/createSerializableView.d.ts.map +1 -0
  48. package/dist/components/shared/viewProps.d.ts +37 -0
  49. package/dist/components/shared/viewProps.d.ts.map +1 -0
  50. package/dist/index.esm.js +21782 -22580
  51. package/dist/index.js +21782 -22579
  52. package/dist/qa/ConsoleWarningTest.d.ts +5 -0
  53. package/dist/qa/ConsoleWarningTest.d.ts.map +1 -0
  54. package/dist/qa/StorageKeyTest.d.ts +6 -0
  55. package/dist/qa/StorageKeyTest.d.ts.map +1 -0
  56. package/dist/qa/ThemeStorageKeyTest.d.ts +6 -0
  57. package/dist/qa/ThemeStorageKeyTest.d.ts.map +1 -0
  58. package/dist/schemas/CodeSchema.d.ts +2 -2
  59. package/dist/schemas/CodeSchema.d.ts.map +1 -1
  60. package/dist/schemas/ContainerSchema.d.ts +12 -0
  61. package/dist/schemas/ContainerSchema.d.ts.map +1 -0
  62. package/dist/schemas/PageTemplateSchema.d.ts +3 -3
  63. package/dist/schemas/PageTemplateSchema.d.ts.map +1 -1
  64. package/dist/schemas/ViewModelSchema.d.ts +46 -6
  65. package/dist/schemas/ViewModelSchema.d.ts.map +1 -1
  66. package/dist/schemas/ViewSchema.d.ts +65 -0
  67. package/dist/schemas/ViewSchema.d.ts.map +1 -0
  68. package/dist/schemas/index.d.ts +1 -1
  69. package/dist/schemas/index.d.ts.map +1 -1
  70. package/dist/schemas/transformers/ComponentTransformer.d.ts +27 -15
  71. package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -1
  72. package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -1
  73. package/dist/schemas/transformers/registry.d.ts +3 -0
  74. package/dist/schemas/transformers/registry.d.ts.map +1 -1
  75. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts +66 -0
  76. package/dist/src/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -0
  77. package/dist/src/components/AccessibilityChecker.d.ts +12 -0
  78. package/dist/src/components/AccessibilityChecker.d.ts.map +1 -0
  79. package/dist/src/components/AccessibilityProvider.d.ts +64 -0
  80. package/dist/src/components/AccessibilityProvider.d.ts.map +1 -0
  81. package/dist/src/components/Breadcrumbs.d.ts +39 -0
  82. package/dist/src/components/Breadcrumbs.d.ts.map +1 -0
  83. package/dist/src/components/ErrorBoundary.d.ts +46 -0
  84. package/dist/src/components/ErrorBoundary.d.ts.map +1 -0
  85. package/dist/src/components/Html.d.ts +58 -0
  86. package/dist/src/components/Html.d.ts.map +1 -0
  87. package/dist/src/components/Logo.d.ts +56 -0
  88. package/dist/src/components/Logo.d.ts.map +1 -0
  89. package/dist/src/components/Markdown.d.ts +51 -0
  90. package/dist/src/components/Markdown.d.ts.map +1 -0
  91. package/dist/src/components/QwickApp.d.ts +69 -0
  92. package/dist/src/components/QwickApp.d.ts.map +1 -0
  93. package/dist/src/components/QwickAppsLogo.d.ts +25 -0
  94. package/dist/src/components/QwickAppsLogo.d.ts.map +1 -0
  95. package/dist/src/components/QwickIcon.d.ts +23 -0
  96. package/dist/src/components/QwickIcon.d.ts.map +1 -0
  97. package/dist/src/components/ResponsiveMenu.d.ts +38 -0
  98. package/dist/src/components/ResponsiveMenu.d.ts.map +1 -0
  99. package/dist/src/components/SafeSpan.d.ts +29 -0
  100. package/dist/src/components/SafeSpan.d.ts.map +1 -0
  101. package/dist/src/components/Scaffold.d.ts +57 -0
  102. package/dist/src/components/Scaffold.d.ts.map +1 -0
  103. package/dist/src/components/base/Container.d.ts +33 -0
  104. package/dist/src/components/base/Container.d.ts.map +1 -0
  105. package/dist/src/components/base/ModelView.d.ts +92 -0
  106. package/dist/src/components/base/ModelView.d.ts.map +1 -0
  107. package/dist/src/components/base/index.d.ts +12 -0
  108. package/dist/src/components/base/index.d.ts.map +1 -0
  109. package/dist/src/components/blocks/Article.d.ts +32 -0
  110. package/dist/src/components/blocks/Article.d.ts.map +1 -0
  111. package/dist/src/components/blocks/CardListGrid.d.ts +23 -0
  112. package/dist/src/components/blocks/CardListGrid.d.ts.map +1 -0
  113. package/dist/src/components/blocks/Code.d.ts +37 -0
  114. package/dist/src/components/blocks/Code.d.ts.map +1 -0
  115. package/dist/src/components/blocks/Content.d.ts +24 -0
  116. package/dist/src/components/blocks/Content.d.ts.map +1 -0
  117. package/dist/src/components/blocks/CoverImageHeader.d.ts +44 -0
  118. package/dist/src/components/blocks/CoverImageHeader.d.ts.map +1 -0
  119. package/dist/src/components/blocks/FeatureCard.d.ts +66 -0
  120. package/dist/src/components/blocks/FeatureCard.d.ts.map +1 -0
  121. package/dist/src/components/blocks/FeatureGrid.d.ts +48 -0
  122. package/dist/src/components/blocks/FeatureGrid.d.ts.map +1 -0
  123. package/dist/src/components/blocks/Footer.d.ts +56 -0
  124. package/dist/src/components/blocks/Footer.d.ts.map +1 -0
  125. package/dist/src/components/blocks/HeroBlock.d.ts +55 -0
  126. package/dist/src/components/blocks/HeroBlock.d.ts.map +1 -0
  127. package/dist/src/components/blocks/Image.d.ts +40 -0
  128. package/dist/src/components/blocks/Image.d.ts.map +1 -0
  129. package/dist/src/components/blocks/PageBannerHeader.d.ts +30 -0
  130. package/dist/src/components/blocks/PageBannerHeader.d.ts.map +1 -0
  131. package/dist/src/components/blocks/ProductCard.d.ts +57 -0
  132. package/dist/src/components/blocks/ProductCard.d.ts.map +1 -0
  133. package/dist/src/components/blocks/Section.d.ts +45 -0
  134. package/dist/src/components/blocks/Section.d.ts.map +1 -0
  135. package/dist/src/components/blocks/Text.d.ts +34 -0
  136. package/dist/src/components/blocks/Text.d.ts.map +1 -0
  137. package/dist/src/components/blocks/index.d.ts +41 -0
  138. package/dist/src/components/blocks/index.d.ts.map +1 -0
  139. package/dist/src/components/buttons/Button.d.ts +41 -0
  140. package/dist/src/components/buttons/Button.d.ts.map +1 -0
  141. package/dist/src/components/buttons/PaletteSwitcher.d.ts +24 -0
  142. package/dist/src/components/buttons/PaletteSwitcher.d.ts.map +1 -0
  143. package/dist/src/components/buttons/ThemeSwitcher.d.ts +24 -0
  144. package/dist/src/components/buttons/ThemeSwitcher.d.ts.map +1 -0
  145. package/dist/src/components/buttons/index.d.ts +11 -0
  146. package/dist/src/components/buttons/index.d.ts.map +1 -0
  147. package/dist/src/components/forms/FormBlock.d.ts +51 -0
  148. package/dist/src/components/forms/FormBlock.d.ts.map +1 -0
  149. package/dist/src/components/forms/index.d.ts +8 -0
  150. package/dist/src/components/forms/index.d.ts.map +1 -0
  151. package/dist/src/components/index.d.ts +41 -0
  152. package/dist/src/components/index.d.ts.map +1 -0
  153. package/dist/src/components/input/ChoiceInputField.d.ts +29 -0
  154. package/dist/src/components/input/ChoiceInputField.d.ts.map +1 -0
  155. package/dist/src/components/input/HtmlInputField.d.ts +33 -0
  156. package/dist/src/components/input/HtmlInputField.d.ts.map +1 -0
  157. package/dist/src/components/input/SelectInputField.d.ts +31 -0
  158. package/dist/src/components/input/SelectInputField.d.ts.map +1 -0
  159. package/dist/src/components/input/SwitchInputField.d.ts +27 -0
  160. package/dist/src/components/input/SwitchInputField.d.ts.map +1 -0
  161. package/dist/src/components/input/TextField.d.ts +18 -0
  162. package/dist/src/components/input/TextField.d.ts.map +1 -0
  163. package/dist/src/components/input/TextInputField.d.ts +34 -0
  164. package/dist/src/components/input/TextInputField.d.ts.map +1 -0
  165. package/dist/src/components/input/index.d.ts +19 -0
  166. package/dist/src/components/input/index.d.ts.map +1 -0
  167. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts +34 -0
  168. package/dist/src/components/layout/CollapsibleLayout/CollapsibleLayout.d.ts.map +1 -0
  169. package/dist/src/components/layout/CollapsibleLayout/index.d.ts +9 -0
  170. package/dist/src/components/layout/CollapsibleLayout/index.d.ts.map +1 -0
  171. package/dist/src/components/layout/GridCell.d.ts +32 -0
  172. package/dist/src/components/layout/GridCell.d.ts.map +1 -0
  173. package/dist/src/components/layout/GridCellWrapper.d.ts +46 -0
  174. package/dist/src/components/layout/GridCellWrapper.d.ts.map +1 -0
  175. package/dist/src/components/layout/GridLayout.d.ts +50 -0
  176. package/dist/src/components/layout/GridLayout.d.ts.map +1 -0
  177. package/dist/src/components/layout/index.d.ts +14 -0
  178. package/dist/src/components/layout/index.d.ts.map +1 -0
  179. package/dist/src/components/menu/Menu.d.ts +1 -0
  180. package/dist/src/components/menu/Menu.d.ts.map +1 -0
  181. package/dist/src/components/menu/MenuItem.d.ts +31 -0
  182. package/dist/src/components/menu/MenuItem.d.ts.map +1 -0
  183. package/dist/src/components/menu/index.d.ts +7 -0
  184. package/dist/src/components/menu/index.d.ts.map +1 -0
  185. package/dist/src/components/pages/FormPage.d.ts +66 -0
  186. package/dist/src/components/pages/FormPage.d.ts.map +1 -0
  187. package/dist/src/components/pages/Page.d.ts +68 -0
  188. package/dist/src/components/pages/Page.d.ts.map +1 -0
  189. package/dist/src/components/pages/index.d.ts +10 -0
  190. package/dist/src/components/pages/index.d.ts.map +1 -0
  191. package/dist/src/components/shared/createSerializableView.d.ts +81 -0
  192. package/dist/src/components/shared/createSerializableView.d.ts.map +1 -0
  193. package/dist/src/components/shared/viewProps.d.ts +37 -0
  194. package/dist/src/components/shared/viewProps.d.ts.map +1 -0
  195. package/dist/src/config/AppConfig.d.ts +49 -0
  196. package/dist/src/config/AppConfig.d.ts.map +1 -0
  197. package/dist/src/config/AppConfigBuilder.d.ts +75 -0
  198. package/dist/src/config/AppConfigBuilder.d.ts.map +1 -0
  199. package/dist/src/config/index.d.ts +13 -0
  200. package/dist/src/config/index.d.ts.map +1 -0
  201. package/dist/src/config/types.d.ts +130 -0
  202. package/dist/src/config/types.d.ts.map +1 -0
  203. package/dist/src/config.d.ts +15 -0
  204. package/dist/src/config.d.ts.map +1 -0
  205. package/dist/src/contexts/DataContext.d.ts +139 -0
  206. package/dist/src/contexts/DataContext.d.ts.map +1 -0
  207. package/dist/src/contexts/DimensionsContext.d.ts +42 -0
  208. package/dist/src/contexts/DimensionsContext.d.ts.map +1 -0
  209. package/dist/src/contexts/PaletteContext.d.ts +53 -0
  210. package/dist/src/contexts/PaletteContext.d.ts.map +1 -0
  211. package/dist/src/contexts/PrintModeContext.d.ts +27 -0
  212. package/dist/src/contexts/PrintModeContext.d.ts.map +1 -0
  213. package/dist/src/contexts/QwickAppContext.d.ts +71 -0
  214. package/dist/src/contexts/QwickAppContext.d.ts.map +1 -0
  215. package/dist/src/contexts/ThemeContext.d.ts +65 -0
  216. package/dist/src/contexts/ThemeContext.d.ts.map +1 -0
  217. package/dist/src/contexts/index.d.ts +11 -0
  218. package/dist/src/contexts/index.d.ts.map +1 -0
  219. package/dist/src/hooks/index.d.ts +12 -0
  220. package/dist/src/hooks/index.d.ts.map +1 -0
  221. package/dist/src/hooks/useBaseProps.d.ts +101 -0
  222. package/dist/src/hooks/useBaseProps.d.ts.map +1 -0
  223. package/dist/src/hooks/useDataBinding.d.ts +22 -0
  224. package/dist/src/hooks/useDataBinding.d.ts.map +1 -0
  225. package/dist/src/hooks/usePrintMode.d.ts +39 -0
  226. package/dist/src/hooks/usePrintMode.d.ts.map +1 -0
  227. package/dist/src/index.d.ts +9 -0
  228. package/dist/src/index.d.ts.map +1 -0
  229. package/dist/src/palettes/PaletteAutumn.d.ts +10 -0
  230. package/dist/src/palettes/PaletteAutumn.d.ts.map +1 -0
  231. package/dist/src/palettes/PaletteCosmic.d.ts +10 -0
  232. package/dist/src/palettes/PaletteCosmic.d.ts.map +1 -0
  233. package/dist/src/palettes/PaletteDefault.d.ts +10 -0
  234. package/dist/src/palettes/PaletteDefault.d.ts.map +1 -0
  235. package/dist/src/palettes/PaletteOcean.d.ts +10 -0
  236. package/dist/src/palettes/PaletteOcean.d.ts.map +1 -0
  237. package/dist/src/palettes/PaletteSpring.d.ts +10 -0
  238. package/dist/src/palettes/PaletteSpring.d.ts.map +1 -0
  239. package/dist/src/palettes/PaletteWinter.d.ts +10 -0
  240. package/dist/src/palettes/PaletteWinter.d.ts.map +1 -0
  241. package/dist/src/palettes/index.d.ts +13 -0
  242. package/dist/src/palettes/index.d.ts.map +1 -0
  243. package/dist/src/schemas/ActionSchema.d.ts +21 -0
  244. package/dist/src/schemas/ActionSchema.d.ts.map +1 -0
  245. package/dist/src/schemas/ArticleSchema.d.ts +13 -0
  246. package/dist/src/schemas/ArticleSchema.d.ts.map +1 -0
  247. package/dist/src/schemas/ButtonSchema.d.ts +19 -0
  248. package/dist/src/schemas/ButtonSchema.d.ts.map +1 -0
  249. package/dist/src/schemas/CardListGridSchema.d.ts +17 -0
  250. package/dist/src/schemas/CardListGridSchema.d.ts.map +1 -0
  251. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts +18 -0
  252. package/dist/src/schemas/ChoiceInputFieldSchema.d.ts.map +1 -0
  253. package/dist/src/schemas/CodeSchema.d.ts +18 -0
  254. package/dist/src/schemas/CodeSchema.d.ts.map +1 -0
  255. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts +32 -0
  256. package/dist/src/schemas/CollapsibleLayoutSchema.d.ts.map +1 -0
  257. package/dist/src/schemas/ContainerSchema.d.ts +12 -0
  258. package/dist/src/schemas/ContainerSchema.d.ts.map +1 -0
  259. package/dist/src/schemas/ContentSchema.d.ts +21 -0
  260. package/dist/src/schemas/ContentSchema.d.ts.map +1 -0
  261. package/dist/src/schemas/CoverImageHeaderSchema.d.ts +28 -0
  262. package/dist/src/schemas/CoverImageHeaderSchema.d.ts.map +1 -0
  263. package/dist/src/schemas/FeatureCardSchema.d.ts +28 -0
  264. package/dist/src/schemas/FeatureCardSchema.d.ts.map +1 -0
  265. package/dist/src/schemas/FeatureGridSchema.d.ts +17 -0
  266. package/dist/src/schemas/FeatureGridSchema.d.ts.map +1 -0
  267. package/dist/src/schemas/FeatureItemSchema.d.ts +16 -0
  268. package/dist/src/schemas/FeatureItemSchema.d.ts.map +1 -0
  269. package/dist/src/schemas/FooterItemSchema.d.ts +15 -0
  270. package/dist/src/schemas/FooterItemSchema.d.ts.map +1 -0
  271. package/dist/src/schemas/FooterSchema.d.ts +20 -0
  272. package/dist/src/schemas/FooterSchema.d.ts.map +1 -0
  273. package/dist/src/schemas/FooterSectionSchema.d.ts +15 -0
  274. package/dist/src/schemas/FooterSectionSchema.d.ts.map +1 -0
  275. package/dist/src/schemas/FormBlockSchema.d.ts +19 -0
  276. package/dist/src/schemas/FormBlockSchema.d.ts.map +1 -0
  277. package/dist/src/schemas/GridCellSchema.d.ts +23 -0
  278. package/dist/src/schemas/GridCellSchema.d.ts.map +1 -0
  279. package/dist/src/schemas/GridLayoutSchema.d.ts +21 -0
  280. package/dist/src/schemas/GridLayoutSchema.d.ts.map +1 -0
  281. package/dist/src/schemas/HeaderActionSchema.d.ts +17 -0
  282. package/dist/src/schemas/HeaderActionSchema.d.ts.map +1 -0
  283. package/dist/src/schemas/HeroBlockSchema.d.ts +22 -0
  284. package/dist/src/schemas/HeroBlockSchema.d.ts.map +1 -0
  285. package/dist/src/schemas/HtmlInputFieldSchema.d.ts +18 -0
  286. package/dist/src/schemas/HtmlInputFieldSchema.d.ts.map +1 -0
  287. package/dist/src/schemas/HtmlSchema.d.ts +14 -0
  288. package/dist/src/schemas/HtmlSchema.d.ts.map +1 -0
  289. package/dist/src/schemas/ImageSchema.d.ts +32 -0
  290. package/dist/src/schemas/ImageSchema.d.ts.map +1 -0
  291. package/dist/src/schemas/LogoSchema.d.ts +35 -0
  292. package/dist/src/schemas/LogoSchema.d.ts.map +1 -0
  293. package/dist/src/schemas/MarkdownSchema.d.ts +14 -0
  294. package/dist/src/schemas/MarkdownSchema.d.ts.map +1 -0
  295. package/dist/src/schemas/MetadataItemSchema.d.ts +13 -0
  296. package/dist/src/schemas/MetadataItemSchema.d.ts.map +1 -0
  297. package/dist/src/schemas/PageBannerHeaderSchema.d.ts +28 -0
  298. package/dist/src/schemas/PageBannerHeaderSchema.d.ts.map +1 -0
  299. package/dist/src/schemas/PageTemplateSchema.d.ts +31 -0
  300. package/dist/src/schemas/PageTemplateSchema.d.ts.map +1 -0
  301. package/dist/src/schemas/PaletteSwitcherSchema.d.ts +16 -0
  302. package/dist/src/schemas/PaletteSwitcherSchema.d.ts.map +1 -0
  303. package/dist/src/schemas/PrintConfigSchema.d.ts +31 -0
  304. package/dist/src/schemas/PrintConfigSchema.d.ts.map +1 -0
  305. package/dist/src/schemas/ProductCardSchema.d.ts +39 -0
  306. package/dist/src/schemas/ProductCardSchema.d.ts.map +1 -0
  307. package/dist/src/schemas/SafeSpanSchema.d.ts +13 -0
  308. package/dist/src/schemas/SafeSpanSchema.d.ts.map +1 -0
  309. package/dist/src/schemas/SectionSchema.d.ts +16 -0
  310. package/dist/src/schemas/SectionSchema.d.ts.map +1 -0
  311. package/dist/src/schemas/SelectInputFieldSchema.d.ts +27 -0
  312. package/dist/src/schemas/SelectInputFieldSchema.d.ts.map +1 -0
  313. package/dist/src/schemas/SwitchInputFieldSchema.d.ts +18 -0
  314. package/dist/src/schemas/SwitchInputFieldSchema.d.ts.map +1 -0
  315. package/dist/src/schemas/TextInputFieldSchema.d.ts +22 -0
  316. package/dist/src/schemas/TextInputFieldSchema.d.ts.map +1 -0
  317. package/dist/src/schemas/TextSchema.d.ts +37 -0
  318. package/dist/src/schemas/TextSchema.d.ts.map +1 -0
  319. package/dist/src/schemas/ThemeSwitcherSchema.d.ts +19 -0
  320. package/dist/src/schemas/ThemeSwitcherSchema.d.ts.map +1 -0
  321. package/dist/src/schemas/ViewSchema.d.ts +66 -0
  322. package/dist/src/schemas/ViewSchema.d.ts.map +1 -0
  323. package/dist/src/schemas/index.d.ts +47 -0
  324. package/dist/src/schemas/index.d.ts.map +1 -0
  325. package/dist/src/schemas/transformers/ComponentTransformer.d.ts +128 -0
  326. package/dist/src/schemas/transformers/ComponentTransformer.d.ts.map +1 -0
  327. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts +53 -0
  328. package/dist/src/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -0
  329. package/dist/src/schemas/transformers/registry.d.ts +18 -0
  330. package/dist/src/schemas/transformers/registry.d.ts.map +1 -0
  331. package/dist/src/schemas/types/Serializable.d.ts +46 -0
  332. package/dist/src/schemas/types/Serializable.d.ts.map +1 -0
  333. package/dist/src/stories/_templates/SerializationTemplate.d.ts +44 -0
  334. package/dist/src/stories/_templates/SerializationTemplate.d.ts.map +1 -0
  335. package/dist/src/templates/TemplateResolver.d.ts +52 -0
  336. package/dist/src/templates/TemplateResolver.d.ts.map +1 -0
  337. package/dist/src/templates/index.d.ts +7 -0
  338. package/dist/src/templates/index.d.ts.map +1 -0
  339. package/dist/src/types/CacheProvider.d.ts +18 -0
  340. package/dist/src/types/CacheProvider.d.ts.map +1 -0
  341. package/dist/src/types/CollapsibleLayout.d.ts +142 -0
  342. package/dist/src/types/CollapsibleLayout.d.ts.map +1 -0
  343. package/dist/src/types/ContentProxy.d.ts +47 -0
  344. package/dist/src/types/ContentProxy.d.ts.map +1 -0
  345. package/dist/src/types/DataTypes.d.ts +185 -0
  346. package/dist/src/types/DataTypes.d.ts.map +1 -0
  347. package/dist/src/types/TemplateProvider.d.ts +10 -0
  348. package/dist/src/types/TemplateProvider.d.ts.map +1 -0
  349. package/dist/src/types/TemplateResolver.d.ts +23 -0
  350. package/dist/src/types/TemplateResolver.d.ts.map +1 -0
  351. package/dist/src/types/index.d.ts +82 -0
  352. package/dist/src/types/index.d.ts.map +1 -0
  353. package/dist/src/utils/breakpoints.d.ts +35 -0
  354. package/dist/src/utils/breakpoints.d.ts.map +1 -0
  355. package/dist/src/utils/cssUtils.d.ts +17 -0
  356. package/dist/src/utils/cssUtils.d.ts.map +1 -0
  357. package/dist/src/utils/customPaletteManager.d.ts +8 -0
  358. package/dist/src/utils/customPaletteManager.d.ts.map +1 -0
  359. package/dist/src/utils/dimensions.d.ts +34 -0
  360. package/dist/src/utils/dimensions.d.ts.map +1 -0
  361. package/dist/src/utils/htmlTransform.d.ts +44 -0
  362. package/dist/src/utils/htmlTransform.d.ts.map +1 -0
  363. package/dist/src/utils/index.d.ts +16 -0
  364. package/dist/src/utils/index.d.ts.map +1 -0
  365. package/dist/src/utils/logger.d.ts +26 -0
  366. package/dist/src/utils/logger.d.ts.map +1 -0
  367. package/dist/src/utils/paletteUtils.d.ts +38 -0
  368. package/dist/src/utils/paletteUtils.d.ts.map +1 -0
  369. package/dist/src/utils/persistenceUtils.d.ts +31 -0
  370. package/dist/src/utils/persistenceUtils.d.ts.map +1 -0
  371. package/dist/src/utils/reactUtils.d.ts +33 -0
  372. package/dist/src/utils/reactUtils.d.ts.map +1 -0
  373. package/dist/src/utils/spacing.d.ts +34 -0
  374. package/dist/src/utils/spacing.d.ts.map +1 -0
  375. package/dist/src/utils/themePerformanceMonitor.d.ts +32 -0
  376. package/dist/src/utils/themePerformanceMonitor.d.ts.map +1 -0
  377. package/dist/src/utils/themeUtils.d.ts +27 -0
  378. package/dist/src/utils/themeUtils.d.ts.map +1 -0
  379. package/dist/utils/cssUtils.d.ts +17 -0
  380. package/dist/utils/cssUtils.d.ts.map +1 -0
  381. package/dist/utils/index.d.ts +1 -0
  382. package/dist/utils/index.d.ts.map +1 -1
  383. package/package.json +5 -2
  384. package/scripts/bundle-css.cjs +27 -0
  385. package/scripts/create-project.sh +28 -0
  386. package/scripts/create-qwickapps-project.js +284 -0
  387. package/src/__tests__/components/base/Container.test.tsx +966 -0
  388. package/src/__tests__/schemas/PageTemplateSchema.test.ts +1 -1
  389. package/src/__tests__/schemas/ViewSchema.test.ts +805 -0
  390. package/src/__tests__/schemas/builders.test.ts +2 -2
  391. package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +19 -19
  392. package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +13 -13
  393. package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +39 -39
  394. package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +14 -14
  395. package/src/__tests__/schemas/transformers/TestAutomation.test.ts +8 -8
  396. package/src/__tests__/schemas/transformers/nested-serialization.test.tsx +181 -0
  397. package/src/__tests__/schemas/transformers/round-trip-component-serialization.test.tsx +458 -0
  398. package/src/__tests__/test_image_accessibility.test.tsx +226 -0
  399. package/src/__tests__/utils/optional-logging.test.ts +3 -3
  400. package/src/components/Html.tsx +24 -15
  401. package/src/components/Logo.tsx +2 -2
  402. package/src/components/Markdown.tsx +2 -7
  403. package/src/components/SafeSpan.tsx +2 -7
  404. package/src/components/base/Container.tsx +61 -0
  405. package/src/components/base/ModelView.tsx +225 -91
  406. package/src/components/base/index.ts +3 -2
  407. package/src/components/blocks/Article.tsx +2 -7
  408. package/src/components/blocks/CardListGrid.tsx +2 -2
  409. package/src/components/blocks/Code.tsx +91 -179
  410. package/src/components/blocks/Content.tsx +2 -2
  411. package/src/components/blocks/CoverImageHeader.tsx +2 -2
  412. package/src/components/blocks/HeroBlock.tsx +54 -146
  413. package/src/components/blocks/Image.tsx +82 -196
  414. package/src/components/blocks/PageBannerHeader.tsx +2 -2
  415. package/src/components/blocks/Section.tsx +79 -181
  416. package/src/components/blocks/Text.tsx +100 -198
  417. package/src/components/buttons/Button.tsx +85 -183
  418. package/src/components/buttons/PaletteSwitcher.tsx +2 -2
  419. package/src/components/buttons/ThemeSwitcher.tsx +2 -2
  420. package/src/components/forms/FormBlock.tsx +2 -2
  421. package/src/components/index.ts +5 -0
  422. package/src/components/input/ChoiceInputField.tsx +76 -160
  423. package/src/components/input/HtmlInputField.tsx +141 -264
  424. package/src/components/input/SelectInputField.tsx +48 -153
  425. package/src/components/input/SwitchInputField.tsx +41 -139
  426. package/src/components/input/TextInputField.tsx +39 -116
  427. package/src/components/layout/GridCell.tsx +36 -122
  428. package/src/components/layout/GridLayout.tsx +55 -127
  429. package/src/components/pages/Page.tsx +268 -276
  430. package/src/components/pages/index.ts +2 -3
  431. package/src/components/shared/createSerializableView.tsx +280 -0
  432. package/src/components/shared/viewProps.ts +207 -0
  433. package/src/config/__tests__/AppConfigBuilder.test.ts +2 -2
  434. package/src/contexts/DataContext.tsx +1 -1
  435. package/src/schemas/ButtonSchema.ts +3 -2
  436. package/src/schemas/CardListGridSchema.ts +3 -2
  437. package/src/schemas/ChoiceInputFieldSchema.ts +3 -2
  438. package/src/schemas/CodeSchema.ts +8 -6
  439. package/src/schemas/ContainerSchema.ts +25 -0
  440. package/src/schemas/FeatureCardSchema.ts +1 -1
  441. package/src/schemas/FormBlockSchema.ts +3 -2
  442. package/src/schemas/GridCellSchema.ts +4 -10
  443. package/src/schemas/GridLayoutSchema.ts +8 -14
  444. package/src/schemas/HeroBlockSchema.ts +3 -2
  445. package/src/schemas/HtmlInputFieldSchema.ts +3 -2
  446. package/src/schemas/ImageSchema.ts +3 -2
  447. package/src/schemas/PageTemplateSchema.ts +5 -5
  448. package/src/schemas/SectionSchema.ts +4 -12
  449. package/src/schemas/SelectInputFieldSchema.ts +3 -2
  450. package/src/schemas/SwitchInputFieldSchema.ts +2 -2
  451. package/src/schemas/TextInputFieldSchema.ts +3 -2
  452. package/src/schemas/ViewSchema.ts +570 -0
  453. package/src/schemas/index.ts +1 -1
  454. package/src/schemas/transformers/ComponentTransformer.ts +185 -163
  455. package/src/schemas/transformers/ReactNodeTransformer.ts +31 -28
  456. package/src/schemas/transformers/registry.ts +17 -10
  457. package/src/stories/Button.stories.tsx +24 -0
  458. package/src/stories/ChoiceInputField.stories.tsx +28 -1
  459. package/src/stories/Code.stories.tsx +61 -1
  460. package/src/stories/Container.stories.tsx +954 -0
  461. package/src/stories/FormBlock.stories.tsx +54 -0
  462. package/src/stories/FormComponents.stories.tsx +8 -13
  463. package/src/stories/GridCell.stories.tsx +23 -64
  464. package/src/stories/GridLayout.stories.tsx +22 -47
  465. package/src/stories/HeroBlock.stories.tsx +28 -0
  466. package/src/stories/HtmlInputField.stories.tsx +23 -1
  467. package/src/stories/Image.stories.tsx +45 -233
  468. package/src/stories/Markdown.stories.tsx +1 -1
  469. package/src/stories/Section.stories.tsx +38 -4
  470. package/src/stories/SelectInputField.stories.tsx +26 -1
  471. package/src/stories/Text.stories.tsx +22 -54
  472. package/src/stories/TextInputField.stories.tsx +24 -1
  473. package/src/stories/_templates/SerializationTemplate.tsx +165 -0
  474. package/src/templates/TemplateResolver.ts +2 -2
  475. package/src/types/CollapsibleLayout.ts +2 -2
  476. package/src/utils/cssUtils.ts +49 -0
  477. package/src/utils/index.ts +1 -0
  478. package/src/utils/logger.ts +13 -13
  479. package/src/__tests__/components/base/ModelView.test.tsx +0 -220
  480. package/src/__tests__/schemas/ViewModelSchema.test.ts +0 -80
  481. package/src/components/blocks/Code.md +0 -529
  482. package/src/schemas/README.md +0 -661
  483. package/src/schemas/ViewModelSchema.ts +0 -115
  484. package/src/tests/ConsoleWarningTest.tsx +0 -30
  485. package/src/tests/StorageKeyTest.tsx +0 -110
  486. package/src/tests/ThemeStorageKeyTest.tsx +0 -114
@@ -0,0 +1,130 @@
1
+ /**
2
+ * QwickApps AppConfig Types
3
+ *
4
+ * Defines the configuration contract for QwickApp applications.
5
+ * Separates static app configuration from runtime settings.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import type { UserConfig as ViteUserConfig } from 'vite';
10
+ /**
11
+ * Static, immutable application configuration
12
+ */
13
+ export interface AppConfig {
14
+ /** Application identity and metadata */
15
+ readonly app: AppIdentity;
16
+ /** Build and development settings */
17
+ readonly build: BuildConfig;
18
+ /** Progressive Web App configuration */
19
+ readonly pwa: PWAConfig;
20
+ /** Default theme and UI settings */
21
+ readonly ui: UIConfig;
22
+ /** Copyright and legal information */
23
+ readonly copyright: CopyrightConfig;
24
+ /** Computed Vite configuration */
25
+ readonly viteConfig: ViteUserConfig;
26
+ /** Computed PWA manifest */
27
+ readonly pwaManifest: Record<string, any>;
28
+ }
29
+ /**
30
+ * Application identity and basic metadata
31
+ */
32
+ export interface AppIdentity {
33
+ /** Unique application identifier */
34
+ readonly id: string;
35
+ /** Full application name */
36
+ readonly name: string;
37
+ /** Short name for PWA and limited spaces */
38
+ readonly shortName: string;
39
+ /** Application description */
40
+ readonly description: string;
41
+ /** Application version */
42
+ readonly version: string;
43
+ /** Path to application logo/icon */
44
+ readonly logo: string;
45
+ /** Application author/organization */
46
+ readonly author?: string;
47
+ /** Application homepage URL */
48
+ readonly homepage?: string;
49
+ }
50
+ /**
51
+ * Build and development configuration
52
+ */
53
+ export interface BuildConfig {
54
+ /** Development server port */
55
+ readonly port: number;
56
+ /** Preview server port */
57
+ readonly previewPort: number;
58
+ /** Build output directory */
59
+ readonly outputDir: string;
60
+ /** Public path for assets */
61
+ readonly publicPath: string;
62
+ /** Base URL for the application */
63
+ readonly base: string;
64
+ }
65
+ /**
66
+ * Progressive Web App configuration
67
+ */
68
+ export interface PWAConfig {
69
+ /** PWA theme color */
70
+ readonly themeColor: string;
71
+ /** PWA background color */
72
+ readonly backgroundColor: string;
73
+ /** PWA start URL */
74
+ readonly startUrl: string;
75
+ /** PWA scope */
76
+ readonly scope: string;
77
+ /** PWA display mode */
78
+ readonly display: 'standalone' | 'fullscreen' | 'minimal-ui' | 'browser';
79
+ /** PWA orientation */
80
+ readonly orientation?: 'portrait' | 'landscape' | 'any';
81
+ }
82
+ /**
83
+ * Default UI and theme configuration
84
+ */
85
+ export interface UIConfig {
86
+ /** Default theme mode */
87
+ readonly defaultTheme: 'light' | 'dark' | 'system';
88
+ /** Default color palette */
89
+ readonly defaultPalette: string;
90
+ /** Enable scaffolding (navigation, layout) */
91
+ readonly enableScaffolding: boolean;
92
+ /** Show theme switcher */
93
+ readonly showThemeSwitcher: boolean;
94
+ /** Show palette switcher */
95
+ readonly showPaletteSwitcher: boolean;
96
+ }
97
+ /**
98
+ * Copyright and legal information
99
+ */
100
+ export interface CopyrightConfig {
101
+ /** Copyright year ('auto' for current year or specific year) */
102
+ readonly year: 'auto' | number;
103
+ /** Copyright holder/owner */
104
+ readonly author: string;
105
+ /** Additional legal text */
106
+ readonly text?: string;
107
+ }
108
+ /**
109
+ * Configuration builder options
110
+ */
111
+ export interface AppConfigOptions {
112
+ /** Base directory for resolving relative paths */
113
+ baseDir?: string;
114
+ /** Environment (development, production, test) */
115
+ env?: string;
116
+ /** Skip file existence validation */
117
+ skipValidation?: boolean;
118
+ }
119
+ /**
120
+ * Validation result
121
+ */
122
+ export interface ValidationResult {
123
+ /** Validation warnings */
124
+ warnings: string[];
125
+ /** Validation errors */
126
+ errors: string[];
127
+ /** Whether configuration is valid */
128
+ isValid: boolean;
129
+ }
130
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAE1B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAE5B,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAExB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEtB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAEpC,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC,4BAA4B;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,sCAAsC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,sBAAsB;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,2BAA2B;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,uBAAuB;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;IAEzE,sBAAsB;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yBAAyB;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEnD,4BAA4B;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC,0BAA0B;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC,4BAA4B;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qCAAqC;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,wBAAwB;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * QwickApps Configuration Module Entry
3
+ *
4
+ * Lightweight export for config-only usage at build time.
5
+ * This file only exports configuration types and builders
6
+ * without pulling in React or MUI dependencies.
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ export { AppConfig } from './config/AppConfig';
11
+ export { AppConfigBuilder } from './config/AppConfigBuilder';
12
+ export type { AppConfig as IAppConfig, AppIdentity, BuildConfig, PWAConfig, UIConfig, AppConfigOptions, ValidationResult, } from './config/types';
13
+ import { AppConfigBuilder } from './config/AppConfigBuilder';
14
+ export declare const createAppConfig: typeof AppConfigBuilder.create;
15
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EACV,SAAS,IAAI,UAAU,EACvB,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,eAAO,MAAM,eAAe,gCAA0B,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * DataContext - React Context for Data Provider
3
+ *
4
+ * Provides data templating capabilities throughout the React component tree
5
+ * via React Context API. Supports mustache template resolution and caching.
6
+ * Enables JSX components to use mustache syntax to reference named data elements.
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ import React, { ReactNode } from 'react';
11
+ import { ITemplateResolver, TemplateResolverConfig } from '../types';
12
+ import { Model } from '@qwickapps/schema';
13
+ /**
14
+ * Data Context interface
15
+ */
16
+ interface DataContextValue {
17
+ provider: ITemplateResolver | null;
18
+ get<T extends Model>(slug: string): Promise<T | undefined>;
19
+ select<T extends Model>(schema: string, options?: any): Promise<T[]>;
20
+ resolveTemplate(template: string): Promise<string>;
21
+ }
22
+ /**
23
+ * Props for DataProvider component
24
+ */
25
+ export interface DataProviderProps {
26
+ /** The data source configuration (follows new SRP architecture) */
27
+ dataSource: TemplateResolverConfig;
28
+ /** Child components that will have access to data templating */
29
+ children: ReactNode;
30
+ }
31
+ /**
32
+ * DataProvider component that wraps children with data templating capabilities
33
+ *
34
+ * Enables JSX components to use mustache syntax for data interpolation:
35
+ * - {t`Welcome {{company.name}}!`}
36
+ * - {useData('users')} for data fetching
37
+ * - Template resolution with caching support
38
+ *
39
+ * Usage (new SRP architecture):
40
+ * ```tsx
41
+ * <DataProvider dataSource={{
42
+ * dataProvider: new JsonDataProvider({ data: { ... } }),
43
+ * cache: true,
44
+ * templateResolver: new MustacheTemplateResolver()
45
+ * }}>
46
+ * <MyComponent /> // Can use useData() hooks and t`` templates
47
+ * </DataProvider>
48
+ * ```
49
+ */
50
+ export declare function DataProvider({ dataSource, children }: DataProviderProps): import("react/jsx-runtime").JSX.Element;
51
+ /**
52
+ * Hook to access the data context
53
+ *
54
+ * @throws Error if used outside of DataProvider
55
+ */
56
+ export declare function useDataContext(): DataContextValue;
57
+ /**
58
+ * Hook to get data by unique slug (safe version that doesn't throw)
59
+ *
60
+ * @param slug - The unique slug to fetch data for
61
+ * @returns Data with loading state information
62
+ */
63
+ export declare function useDataSafe<T extends Model>(slug: string): {
64
+ data: T | undefined;
65
+ loading: boolean;
66
+ error: Error | null;
67
+ };
68
+ /**
69
+ * Hook to get data by field group ID
70
+ *
71
+ * @param fieldGroupId - The field group to fetch
72
+ * @returns Data and loading state
73
+ */
74
+ export declare function useData<T extends Model>(fieldGroupId: string): {
75
+ data: T | undefined;
76
+ loading: boolean;
77
+ error: Error | null;
78
+ refetch: () => void;
79
+ };
80
+ /**
81
+ * Hook to resolve a template string with mustache syntax
82
+ *
83
+ * @param template - Template string with {{fieldGroup.property}} syntax
84
+ * @returns Resolved template string and loading state
85
+ */
86
+ export declare function useResolveTemplate(template: string): {
87
+ resolved: string;
88
+ loading: boolean;
89
+ error: Error | null;
90
+ };
91
+ /**
92
+ * Hook to access data provider directly for advanced use cases
93
+ */
94
+ export declare function useDataProvider(): ITemplateResolver;
95
+ /**
96
+ * Template component for inline template resolution
97
+ *
98
+ * This is a React-friendly component for template resolution
99
+ * that works well with conditional rendering and fallbacks.
100
+ *
101
+ * Usage:
102
+ * ```tsx
103
+ * <T template="Welcome to {{company.name}}!" fallback="Loading..." />
104
+ * <T template="Hello {{user.name}}" fallback="Guest" />
105
+ * ```
106
+ */
107
+ export declare const T: React.FC<{
108
+ template: string;
109
+ fallback?: ReactNode;
110
+ wrapper?: React.ComponentType<{
111
+ children: ReactNode;
112
+ }>;
113
+ }>;
114
+ /**
115
+ * Hook to resolve template with tagged template literal syntax
116
+ *
117
+ * This returns the resolved value directly so it can be used with || operator
118
+ */
119
+ export declare function useTemplate(template: string): string | null;
120
+ /**
121
+ * Tagged template function for inline data templating
122
+ *
123
+ * Enables JSX components to use mustache syntax for data interpolation:
124
+ *
125
+ * Usage:
126
+ * ```tsx
127
+ * {t`Welcome to {{company.name}}!`}
128
+ * {t`Hello {{user.name}}` || 'Loading...'}
129
+ * {t.wrap(CustomComponent)`{{company.slogan}}`}
130
+ * ```
131
+ */
132
+ export declare function t(strings: TemplateStringsArray, ...values: any[]): ReactNode;
133
+ export declare namespace t {
134
+ var wrap: (WrapperComponent: React.ComponentType<{
135
+ children: ReactNode;
136
+ }>) => (strings: TemplateStringsArray, ...values: any[]) => ReactNode;
137
+ }
138
+ export {};
139
+ //# sourceMappingURL=DataContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/DataContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;GAEG;AACH,UAAU,gBAAgB;IACxB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAOD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,UAAU,EAAE,sBAAsB,CAAC;IACnC,gEAAgE;IAChE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAsBvE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,CAMjD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG;IAC1D,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAiCA;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG;IAC9D,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAkCA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM;;;;EAyClD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAAE,CA4B1H,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAW5E;yBAXe,CAAC;iCAqBW,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,MACrE,SAAS,oBAAoB,EAAE,GAAG,QAAQ,GAAG,EAAE,KAAG,SAAS"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Dimensions Context - Responsive design tokens for typography, spacing, and sizing
3
+ *
4
+ * Provides consistent design tokens that adapt to screen size and user preferences.
5
+ * Works alongside MUI theme system for comprehensive responsive design.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ export interface DimensionTokens {
11
+ borderRadius: {
12
+ small: number;
13
+ medium: number;
14
+ large: number;
15
+ };
16
+ typography: {
17
+ scaleMultiplier: number;
18
+ lineHeightMultiplier: number;
19
+ };
20
+ spacing: {
21
+ scaleMultiplier: number;
22
+ };
23
+ component: {
24
+ buttonHeight: number;
25
+ inputHeight: number;
26
+ iconSize: number;
27
+ };
28
+ }
29
+ export interface DimensionsContextValue {
30
+ tokens: DimensionTokens;
31
+ screenSize: 'mobile' | 'tablet' | 'desktop';
32
+ isCompact: boolean;
33
+ setCompactMode: (compact: boolean) => void;
34
+ }
35
+ export interface DimensionsProviderProps {
36
+ children: React.ReactNode;
37
+ defaultCompactMode?: boolean;
38
+ }
39
+ export declare const DimensionsProvider: React.FC<DimensionsProviderProps>;
40
+ export declare const useDimensions: () => DimensionsContextValue;
41
+ export default DimensionsProvider;
42
+ //# sourceMappingURL=DimensionsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DimensionsContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/DimensionsContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,MAAM,WAAW,eAAe;IAE9B,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAGF,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IAGF,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAGF,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAwDD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuChE,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,sBAMhC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Palette Context - Manages color palette state and switching
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ */
6
+ import React, { ReactNode } from 'react';
7
+ export interface PaletteConfig {
8
+ id: string;
9
+ name: string;
10
+ description: string;
11
+ primaryColor: string;
12
+ }
13
+ export interface PaletteContextValue {
14
+ /** The palette currently being applied to the UI (resolved from preferred/default) */
15
+ currentPalette: string;
16
+ /** The user's preferred palette setting, or null if not set */
17
+ preferredPalette: string | null;
18
+ /** List of all available palettes */
19
+ availablePalettes: PaletteConfig[];
20
+ /** Whether preferences are persisted to localStorage */
21
+ isPersistent: boolean;
22
+ /** Set user's preferred palette (saves to localStorage if persistent) */
23
+ setPreferredPalette: (paletteId: string) => void;
24
+ /** Clear user's preferred palette (removes from localStorage) */
25
+ clearPreferredPalette: () => void;
26
+ /** Get user's preferred palette */
27
+ getPreferredPalette: () => string | null;
28
+ /** Get currently applied palette */
29
+ getCurrentPalette: () => string;
30
+ /** Temporarily override current palette (does not affect user preference) */
31
+ setCurrentPalette: (paletteId: string) => void;
32
+ }
33
+ export interface PaletteProviderProps {
34
+ children: ReactNode;
35
+ /**
36
+ * App identifier for generating unique storage key, or persistence strategy.
37
+ * - string: Use as app identifier to generate key 'appId.palette'
38
+ * - true (default): Use default key 'qwickapps-react-framework-palette'
39
+ * - false: Disable persistence (session-only)
40
+ * @example 'com.mycompany.myapp' | true | false
41
+ */
42
+ appId?: string | true | false;
43
+ /**
44
+ * Default palette for the application when no user preference exists. The default is 'default'.
45
+ * This can be overridden by user settings.
46
+ * @example 'ocean' | 'autumn' | 'spring' | 'winter' | 'default'
47
+ */
48
+ defaultPalette?: string;
49
+ }
50
+ export declare const usePalette: () => PaletteContextValue;
51
+ export declare const PaletteProvider: React.FC<PaletteProviderProps>;
52
+ export default PaletteProvider;
53
+ //# sourceMappingURL=PaletteContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaletteContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/PaletteContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IAGtB,yEAAyE;IACzE,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,mCAAmC;IACnC,mBAAmB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAGzC,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,6EAA6E;IAC7E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,eAAO,MAAM,UAAU,QAAO,mBAM7B,CAAC;AAqBF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuH1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * PrintModeContext - App-level print state management
3
+ *
4
+ * Handles print mode state transitions at the application level,
5
+ * allowing pages to simply consume and react to print state changes.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ import { PrintConfigSchema } from '../schemas/PrintConfigSchema';
11
+ export type PrintModeStateType = 'normal' | 'applying_print_config' | 'entering_print_mode' | 'view_loading' | 'config_applied' | 'print_mode' | 'exiting_print_mode' | 'restoring_config';
12
+ interface PrintModeContextValue {
13
+ printModeState: PrintModeStateType;
14
+ isPrintMode: boolean;
15
+ printConfig: PrintConfigSchema;
16
+ triggerPrint: (config?: Partial<PrintConfigSchema>) => void;
17
+ exitPrintMode: () => void;
18
+ onViewLoading: () => void;
19
+ onViewReady: () => void;
20
+ }
21
+ export declare const usePrintMode: () => PrintModeContextValue;
22
+ interface PrintModeProviderProps {
23
+ children: React.ReactNode;
24
+ }
25
+ export declare const PrintModeProvider: React.FC<PrintModeProviderProps>;
26
+ export {};
27
+ //# sourceMappingURL=PrintModeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrintModeContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/PrintModeContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAwE,MAAM,OAAO,CAAC;AAI7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,uBAAuB,GACvB,qBAAqB,GACrB,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,oBAAoB,GACpB,kBAAkB,CAAC;AAkGvB,UAAU,qBAAqB;IAE7B,cAAc,EAAE,kBAAkB,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;IAG/B,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAC;AAEF,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuL9D,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * QwickApp Context - Application-level context for QwickApp configuration
3
+ *
4
+ * Provides app-level state and configuration that can be accessed by components
5
+ * within the QwickApp provider hierarchy.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ import type { MenuItem } from '../components/menu';
11
+ import type { ScaffoldProps } from '../components/Scaffold';
12
+ export interface QwickAppProps {
13
+ /** Application name displayed in header/title (optional when config is provided) */
14
+ appName?: string;
15
+ /** Custom logo component - overrides the default logo */
16
+ logo?: React.ReactNode;
17
+ /** App identifier used for storage keys */
18
+ appId?: string | true | false;
19
+ /** Application version string */
20
+ appVersion?: string;
21
+ /** Theme mode preference (light/dark/auto) */
22
+ defaultTheme?: 'light' | 'dark' | 'system';
23
+ /** Default palette to use */
24
+ defaultPalette?: string;
25
+ /** Enable scaffolding with navigation system (default: false) */
26
+ enableScaffolding?: boolean;
27
+ /** Primary navigation items for scaffolding */
28
+ navigationItems?: MenuItem[];
29
+ /** App bar configuration for scaffolding */
30
+ appBar?: ScaffoldProps['appBar'];
31
+ /** Whether to show app bar when scaffolding is enabled (default: true) */
32
+ showAppBar?: boolean;
33
+ /** Custom app bar height when scaffolding is enabled */
34
+ appBarHeight?: number;
35
+ /** Whether to show theme switcher in app bar (default: false) */
36
+ showThemeSwitcher?: boolean;
37
+ /** Whether to show palette switcher in app bar (default: false) */
38
+ showPaletteSwitcher?: boolean;
39
+ /** Callback when logo is clicked */
40
+ onLogoClick?: () => void;
41
+ }
42
+ export interface QwickAppContextValue {
43
+ /** Application name */
44
+ appName: string;
45
+ /** Custom logo component */
46
+ logo?: React.ReactNode;
47
+ /** App identifier used for storage keys */
48
+ appId?: string | true | false;
49
+ /** Whether scaffolding is enabled */
50
+ enableScaffolding: boolean;
51
+ /** Navigation items for scaffolding */
52
+ navigationItems: MenuItem[];
53
+ /** App bar configuration */
54
+ appBar?: ScaffoldProps['appBar'];
55
+ /** Whether to show app bar */
56
+ showAppBar: boolean;
57
+ /** App bar height */
58
+ appBarHeight: number;
59
+ /** Whether to show theme switcher in app bar */
60
+ showThemeSwitcher: boolean;
61
+ /** Whether to show palette switcher in app bar */
62
+ showPaletteSwitcher: boolean;
63
+ /** Callback when logo is clicked */
64
+ onLogoClick?: () => void;
65
+ /** Update app configuration (excludes appName and appId for security) */
66
+ updateConfig: (updates: Partial<Pick<QwickAppProps, 'logo' | 'enableScaffolding' | 'navigationItems' | 'appBar' | 'showAppBar' | 'appBarHeight' | 'showThemeSwitcher' | 'showPaletteSwitcher'>>) => void;
67
+ }
68
+ declare const QwickAppContext: React.Context<QwickAppContextValue>;
69
+ export { QwickAppContext };
70
+ export declare const useQwickApp: () => QwickAppContextValue;
71
+ //# sourceMappingURL=QwickAppContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QwickAppContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/QwickAppContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC7B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B,qCAAqC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uCAAuC;IACvC,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kDAAkD;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yEAAyE;IACzE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC;CAE1M;AAED,QAAA,MAAM,eAAe,qCAYnB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,eAAO,MAAM,WAAW,QAAO,oBAM9B,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Theme Context - Manages theme state and switching
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ */
6
+ import React, { ReactNode } from 'react';
7
+ import { Theme } from '@mui/material/styles';
8
+ export type ThemeMode = 'light' | 'dark' | 'system';
9
+ export type ActualThemeMode = 'light' | 'dark';
10
+ export interface ThemeContextValue {
11
+ /** The theme currently being applied to the UI (resolved from preferred/system/default) */
12
+ currentTheme: ThemeMode;
13
+ /** The user's preferred theme setting, or null if not set */
14
+ preferredTheme: ThemeMode | null;
15
+ /** The resolved theme mode ('light' or 'dark') after system detection */
16
+ actualThemeMode: ActualThemeMode;
17
+ /** The MUI theme object */
18
+ theme: Theme;
19
+ /** Whether the current theme is dark mode */
20
+ isDark: boolean;
21
+ /** Whether preferences are persisted to localStorage */
22
+ isPersistent: boolean;
23
+ /** Set user's preferred theme (saves to localStorage if persistent) */
24
+ setPreferredTheme: (theme: ThemeMode) => void;
25
+ /** Clear user's preferred theme (removes from localStorage) */
26
+ clearPreferredTheme: () => void;
27
+ /** Get user's preferred theme */
28
+ getPreferredTheme: () => ThemeMode | null;
29
+ /** Get currently applied theme */
30
+ getCurrentTheme: () => ThemeMode;
31
+ /** Temporarily override current theme (does not affect user preference) */
32
+ setCurrentTheme: (theme: ThemeMode) => void;
33
+ }
34
+ export interface ThemeProviderProps {
35
+ children: ReactNode;
36
+ /**
37
+ * App identifier for generating unique storage keys, or persistence strategy.
38
+ * - string: Use as app identifier to generate keys 'appId.theme' and 'appId.palette'
39
+ * - true (default): Use default keys 'qwickapps-react-framework-theme' and 'qwickapps-react-framework-palette'
40
+ * - false: Disable persistence (session-only)
41
+ * @example 'com.mycompany.myapp' | true | false
42
+ */
43
+ appId?: string | true | false;
44
+ /**
45
+ * Whether to automatically include PaletteProvider. Default: true
46
+ * Set to false if you want to use ThemeProvider without palette support
47
+ */
48
+ includePalette?: boolean;
49
+ /**
50
+ * Default theme for the application when no user preference exists. The default is 'system' which follows the user's system preference.
51
+ * This can be overridden by user settings or host device settings.
52
+ * @example 'light' | 'dark' | 'system'
53
+ */
54
+ defaultTheme?: ThemeMode;
55
+ /**
56
+ * Default palette for the application when no user preference exists. The default is 'default'.
57
+ * This can be overridden by user settings.
58
+ * This is only used when includePalette is true.
59
+ * @example 'ocean' | 'autumn' | 'spring' | 'winter' | 'default'
60
+ */
61
+ defaultPalette?: string;
62
+ }
63
+ export declare const useTheme: () => ThemeContextValue;
64
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
65
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAe,KAAK,EAAqC,MAAM,sBAAsB,CAAC;AAW7F,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,YAAY,EAAE,SAAS,CAAC;IACxB,6DAA6D;IAC7D,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,yEAAyE;IACzE,eAAe,EAAE,eAAe,CAAC;IACjC,2BAA2B;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IAGtB,uEAAuE;IACvE,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,+DAA+D;IAC/D,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;IAG1C,kCAAkC;IAClC,eAAe,EAAE,MAAM,SAAS,CAAC;IACjC,2EAA2E;IAC3E,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,eAAO,MAAM,QAAQ,QAAO,iBAM3B,CAAC;AAoBF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyQtD,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { DataProvider, t, T, useData, useDataContext, useDataProvider, useResolveTemplate, useTemplate } from './DataContext';
2
+ export type { DataProviderProps } from './DataContext';
3
+ export { DimensionsProvider, useDimensions } from './DimensionsContext';
4
+ export type { DimensionsContextValue, DimensionTokens } from './DimensionsContext';
5
+ export { PaletteProvider, usePalette } from './PaletteContext';
6
+ export type { PaletteConfig, PaletteContextValue } from './PaletteContext';
7
+ export { ThemeProvider, useTheme } from './ThemeContext';
8
+ export type { ActualThemeMode, ThemeContextValue, ThemeMode } from './ThemeContext';
9
+ export { PrintModeProvider, usePrintMode } from './PrintModeContext';
10
+ export type { PrintModeStateType } from './PrintModeContext';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9H,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Hooks available in QwickApps React Framework
3
+ *
4
+ * Common hooks used across QwickApps components
5
+ */
6
+ export { useBaseProps } from './useBaseProps';
7
+ export type { BaseComponentProps, WithBaseProps } from './useBaseProps';
8
+ export { useDataBinding } from './useDataBinding';
9
+ export { QWICKAPP_COMPONENT } from './useBaseProps';
10
+ export { usePrintMode as usePrintModeHook } from './usePrintMode';
11
+ export type { PrintModeState } from './usePrintMode';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}