@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,46 @@
1
+ /**
2
+ * GridCellWrapper - Responsive grid cell wrapper for layout consistency
3
+ *
4
+ * This component provides a flexible wrapper for content within a Material-UI Grid,
5
+ * supporting responsive sizing, full-width option, and easy integration with form fields or layout elements.
6
+ *
7
+ * Features:
8
+ * - Responsive grid sizing via breakpoint props (xs, sm, md, lg, xl)
9
+ * - Optional fullWidth prop to force cell to span all columns
10
+ * - Passes additional GridProps for customization
11
+ * - Designed for use in forms and layouts needing consistent grid behavior
12
+ *
13
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
14
+ */
15
+ import React from 'react';
16
+ import { GridProps } from '@mui/material';
17
+ /**
18
+ * Props for GridCellWrapper
19
+ * @property children - Content to render inside the grid cell
20
+ * @property xs, sm, md, lg, xl - Grid breakpoint sizes (number or 'auto')
21
+ * @property fullWidth - If true, cell spans all columns (xs=12)
22
+ * @property ...gridProps - Additional GridProps except 'item' and 'children'
23
+ */
24
+ export interface GridCellWrapperProps extends Omit<GridProps, 'children'> {
25
+ /** Content to render inside the grid cell */
26
+ children: React.ReactNode;
27
+ /** Grid breakpoint size for extra-small screens */
28
+ xs?: number | 'auto';
29
+ /** Grid breakpoint size for small screens */
30
+ sm?: number | 'auto';
31
+ /** Grid breakpoint size for medium screens */
32
+ md?: number | 'auto';
33
+ /** Grid breakpoint size for large screens */
34
+ lg?: number | 'auto';
35
+ /** Grid breakpoint size for extra-large screens */
36
+ xl?: number | 'auto';
37
+ /** If true, cell spans all columns (xs=12) */
38
+ fullWidth?: boolean;
39
+ }
40
+ /**
41
+ * GridCellWrapper component
42
+ * Wraps content in a Material-UI Grid cell with responsive sizing and full-width option.
43
+ */
44
+ declare const GridCellWrapper: React.FC<GridCellWrapperProps>;
45
+ export default GridCellWrapper;
46
+ //# sourceMappingURL=GridCellWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridCellWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/GridCellWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAQ,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACvE,6CAA6C;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mDAAmD;IACnD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,6CAA6C;IAC7C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,6CAA6C;IAC7C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,mDAAmD;IACnD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsCnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * GridLayout - Factory-based implementation using createSerializableView
3
+ *
4
+ * Migrated from class-based ModelView to factory pattern for better
5
+ * schema-driven architecture while preserving all functionality.
6
+ *
7
+ * Works with any component that has grid props (span, xs, sm, md, lg, xl)
8
+ * Automatically wraps components in Grid when grid props are detected
9
+ * Full serialization support
10
+ *
11
+ * Usage:
12
+ * - Traditional: <GridLayout columns={3} spacing="medium">...</GridLayout>
13
+ * - Data-driven: <GridLayout dataSource="layouts.main" />
14
+ *
15
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
16
+ */
17
+ import { SerializableComponent } from '../shared/createSerializableView';
18
+ import { ViewProps } from '../shared/viewProps';
19
+ /**
20
+ * Props interface for GridLayout component - extends ViewProps
21
+ */
22
+ export interface GridLayoutProps extends ViewProps {
23
+ /** Number of equal-width columns for auto-distribution */
24
+ columns?: 1 | 2 | 3 | 4 | 5 | 6;
25
+ /** Spacing between grid items */
26
+ spacing?: string;
27
+ /** Make all grid items the same height */
28
+ equalHeight?: boolean;
29
+ /** Grid container height */
30
+ height?: string;
31
+ /** Grid container width */
32
+ width?: string;
33
+ /** Minimum grid container height */
34
+ minHeight?: string;
35
+ /** Minimum grid container width */
36
+ minWidth?: string;
37
+ /** Maximum grid container height */
38
+ maxHeight?: string;
39
+ /** Maximum grid container width */
40
+ maxWidth?: string;
41
+ }
42
+ /**
43
+ * Create GridLayout component using the factory pattern
44
+ */
45
+ export declare const GridLayout: SerializableComponent<GridLayoutProps>;
46
+ /**
47
+ * Export the component as default
48
+ */
49
+ export default GridLayout;
50
+ //# sourceMappingURL=GridLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/GridLayout.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAyID;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,qBAAqB,CAAC,eAAe,CAK5D,CAAC;AAEH;;GAEG;AACH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Layout components export
3
+ *
4
+ * Layout components using the new base props pattern
5
+ *
6
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
7
+ */
8
+ export { GridLayout } from './GridLayout';
9
+ export type { GridLayoutProps } from './GridLayout';
10
+ export { GridCell } from './GridCell';
11
+ export type { GridCellProps } from './GridCell';
12
+ export { CollapsibleLayout, CollapsibleLayoutView, useCollapsibleState } from './CollapsibleLayout';
13
+ export type { CollapsibleLayoutProps, CollapsibleLayoutViewProps, UseCollapsibleLayoutState } from './CollapsibleLayout';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpG,YAAY,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Menu.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MenuItem - Standardized menu item type for navigation components
3
+ *
4
+ * Used by Scaffold, navigation rails, drawers, and other menu systems.
5
+ *
6
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
7
+ */
8
+ import React from 'react';
9
+ export interface MenuItem {
10
+ /** Unique identifier for the menu item */
11
+ id: string;
12
+ /** Display label for the menu item */
13
+ label: string;
14
+ /** Icon component or JSX element to display */
15
+ icon?: React.ReactNode;
16
+ /** Click handler for the menu item */
17
+ onClick?: () => void;
18
+ /** External link URL (if this is a link) */
19
+ href?: string;
20
+ /** Route path for automatic navigation (React Router) */
21
+ route?: string;
22
+ /** Whether this item is currently active/selected */
23
+ active?: boolean;
24
+ /** Whether this item is disabled */
25
+ disabled?: boolean;
26
+ /** Badge text or number to display */
27
+ badge?: string | number;
28
+ /** Priority for ordering (lower numbers = higher priority) */
29
+ priority?: number;
30
+ }
31
+ //# sourceMappingURL=MenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/MenuItem.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Menu components export
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ */
6
+ export { type MenuItem } from './MenuItem';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * FormPage - Reusable page layout for forms with consistent header, status, and footer
3
+ *
4
+ * Provides a standardized full-page layout for forms with:
5
+ * - CoverImageHeader as the default header with smart branding defaults
6
+ * - Status message handling (info, success, warning, error)
7
+ * - Consistent form container and footer
8
+ * - Background variants (default, gradient, image)
9
+ * - Responsive design for all screen sizes
10
+ *
11
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
12
+ */
13
+ import React from 'react';
14
+ export interface FormPageProps {
15
+ /**
16
+ * Page title (required)
17
+ */
18
+ title: string;
19
+ /**
20
+ * Page subtitle/description
21
+ */
22
+ description?: string;
23
+ /**
24
+ * Cover image URL or React element for the header
25
+ * If not provided, will use Logo component with app name
26
+ */
27
+ coverImage?: string | React.ReactNode;
28
+ /**
29
+ * Form content (required)
30
+ */
31
+ form: React.ReactNode;
32
+ /**
33
+ * Footer content
34
+ */
35
+ footer?: React.ReactNode;
36
+ /**
37
+ * Status message type
38
+ */
39
+ status?: 'info' | 'success' | 'warning' | 'error';
40
+ /**
41
+ * Status message content
42
+ */
43
+ message?: string;
44
+ /**
45
+ * Maximum width of the form container
46
+ */
47
+ maxWidth?: 'xs' | 'sm' | 'md';
48
+ /**
49
+ * Background style variant
50
+ */
51
+ background?: 'default' | 'gradient' | 'image';
52
+ /**
53
+ * Background image URL (when background='image')
54
+ */
55
+ backgroundImage?: string;
56
+ /**
57
+ * Custom styling
58
+ */
59
+ sx?: object;
60
+ }
61
+ /**
62
+ * FormPage component for consistent form page layouts
63
+ */
64
+ export declare const FormPage: React.FC<FormPageProps>;
65
+ export default FormPage;
66
+ //# sourceMappingURL=FormPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormPage.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/FormPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAEtC;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAElD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAE9C;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2B5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Page provides a unified Page component supporting:
3
+ * - Layout variants (width, padding, background)
4
+ * - Template-based metadata (title / description / slug)
5
+ * - Declarative print mode with dynamic header/footer sizing
6
+ * - Centralized context (route, loading/error flags, print controls)
7
+ * - Optional class-based extension (Page) for legacy / OOP style
8
+ *
9
+ * Typical usage (functional):
10
+ * <Page title="Orders" printConfig={{ printTitle: 'Orders' }}>
11
+ * <OrdersList />
12
+ * </Page>
13
+ *
14
+ * Class-based (override only what you need):
15
+ * class OrdersPage extends Page {
16
+ * protected getPageProps() { return { title: 'Orders' }; }
17
+ * protected renderPrintView() { return <PrintOnlyLayout />; }
18
+ * }
19
+ *
20
+ * Printing:
21
+ * const { triggerPrint } = usePageContext();
22
+ * triggerPrint(optionalOverrides);
23
+ *
24
+ * Copyright (c) 2025 QwickApps
25
+ */
26
+ import React from 'react';
27
+ import { WithBaseProps } from '../../hooks/useBaseProps';
28
+ import { PageTemplateSchema } from '../../schemas/PageTemplateSchema';
29
+ import { PrintConfigSchema } from '../../schemas/PrintConfigSchema';
30
+ import './Page.css';
31
+ export interface PageContextValue {
32
+ route?: string;
33
+ isPrintMode: boolean;
34
+ printConfig: PrintConfigSchema;
35
+ triggerPrint: (config?: Partial<PrintConfigSchema>) => void;
36
+ setLoading: (loading: boolean) => void;
37
+ setError: (error: string | null) => void;
38
+ isLoading: boolean;
39
+ error: string | null;
40
+ }
41
+ export declare const usePageContext: () => PageContextValue;
42
+ export interface PageProps extends WithBaseProps {
43
+ route?: string;
44
+ variant?: 'default' | 'centered' | 'narrow' | 'wide' | 'fullwidth';
45
+ padding?: 'none' | 'small' | 'medium' | 'large';
46
+ background?: 'default' | 'surface' | 'alternate';
47
+ maxWidth?: 'small' | 'medium' | 'large' | 'extra-large' | 'none';
48
+ printConfig?: Partial<PrintConfigSchema>;
49
+ template?: PageTemplateSchema;
50
+ title?: string;
51
+ description?: string;
52
+ name?: string;
53
+ slug?: string;
54
+ children?: React.ReactNode;
55
+ }
56
+ interface PageViewProps extends PageProps {
57
+ renderView: () => React.ReactNode;
58
+ renderPrintView: () => React.ReactNode;
59
+ }
60
+ export declare const PageView: React.FC<PageViewProps>;
61
+ export declare class Page<P extends PageProps = PageProps, S = {}> extends React.Component<P, S> {
62
+ protected getPageProps(): Partial<PageProps>;
63
+ protected renderView(): React.ReactNode;
64
+ protected renderPrintView(): React.ReactNode;
65
+ render(): import("react/jsx-runtime").JSX.Element;
66
+ }
67
+ export default Page;
68
+ //# sourceMappingURL=Page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/Page.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAQN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAgB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,YAAY,CAAC;AAMpB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5D,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAID,eAAO,MAAM,cAAc,QAAO,gBAIjC,CAAC;AAyEF,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACnE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAKD,UAAU,aAAc,SAAQ,SAAS;IACvC,UAAU,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAClC,eAAe,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA0M5C,CAAC;AAKF,qBAAa,IAAI,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,CAAE,SAAQ,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAC5C,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS;IACvC,SAAS,CAAC,eAAe,IAAI,KAAK,CAAC,SAAS;IAE5C,MAAM;CAaP;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * All page components available in QwickApps React Framework.
3
+ *
4
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
5
+ */
6
+ export { default as FormPage } from './FormPage';
7
+ export { default as Page, usePageContext } from './Page';
8
+ export type { FormPageProps } from './FormPage';
9
+ export type { PageContextValue, PageProps } from './Page';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEzD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * createSerializableView - Factory for schema-driven components
3
+ *
4
+ * Creates functional components that:
5
+ * - Normalize schema props using normalizeViewProps
6
+ * - Apply useBaseProps exactly once for style/html/grid processing
7
+ * - Optionally integrate data binding (gated by enabled flag)
8
+ * - Attach static tagName/version/fromJson/toJson for serialization
9
+ *
10
+ * Works seamlessly with existing BaseComponentProps system and provides
11
+ * the foundation for the new schema-driven architecture.
12
+ *
13
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
14
+ */
15
+ import { ComponentType, ReactElement } from 'react';
16
+ import { QWICKAPP_COMPONENT } from '../../hooks';
17
+ import { ViewProps } from './viewProps';
18
+ /**
19
+ * Children handling strategy for serialization
20
+ */
21
+ type ChildrenStrategy = {
22
+ mode: 'react-children';
23
+ } | {
24
+ mode: 'content-prop';
25
+ propName?: string;
26
+ };
27
+ /**
28
+ * Component factory configuration
29
+ */
30
+ interface CreateSerializableViewConfig<P extends ViewProps> {
31
+ /** Component tag name for serialization */
32
+ tagName: string;
33
+ /** Component version for serialization */
34
+ version: string;
35
+ /** Component role: 'view' for display components, 'container' for layout components */
36
+ role: 'view' | 'container';
37
+ /** View function that renders the component */
38
+ View: ComponentType<P>;
39
+ /** Children handling strategy - defaults to 'react-children' */
40
+ childrenStrategy?: ChildrenStrategy;
41
+ /** Optional prop finalizer function */
42
+ finalize?: (props: P) => P;
43
+ }
44
+ /**
45
+ * Serializable component interface with all required static properties
46
+ */
47
+ export interface SerializableComponent<P extends ViewProps> {
48
+ (props: P): ReactElement;
49
+ tagName: string;
50
+ version: string;
51
+ fromJson: (data: any) => ReactElement;
52
+ toJson: (props: P) => any;
53
+ displayName?: string;
54
+ [QWICKAPP_COMPONENT]: symbol;
55
+ }
56
+ /**
57
+ * Create a serializable view component using the factory pattern
58
+ *
59
+ * @param config - Factory configuration
60
+ * @returns Serializable component with attached static methods
61
+ */
62
+ export declare function createSerializableView<P extends ViewProps>(config: CreateSerializableViewConfig<P>): SerializableComponent<P>;
63
+ /**
64
+ * Type helper for components created with createSerializableView
65
+ */
66
+ export type SerializableViewComponent<P extends ViewProps> = SerializableComponent<P>;
67
+ /**
68
+ * Type guard to check if a component is serializable
69
+ */
70
+ export declare function isSerializableComponent(component: any): component is SerializableComponent<any>;
71
+ /**
72
+ * Extract component metadata for registration
73
+ */
74
+ export declare function getComponentMetadata(component: SerializableComponent<any>): {
75
+ tagName: string;
76
+ version: string;
77
+ fromJson: (data: any) => ReactElement;
78
+ toJson: (props: any) => any;
79
+ };
80
+ export {};
81
+ //# sourceMappingURL=createSerializableView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSerializableView.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/createSerializableView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAc,EAAE,aAAa,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAgC,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAsB,SAAS,EAAE,MAAM,aAAa,CAAC;AAa5D;;GAEG;AACH,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD;;GAEG;AACH,UAAU,4BAA4B,CAAC,CAAC,SAAS,SAAS;IACxD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,+CAA+C;IAC/C,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACvB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,SAAS;IACxD,CAAC,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,YAAY,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,SAAS,EACxD,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,GACtC,qBAAqB,CAAC,CAAC,CAAC,CA4K1B;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAEtF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAQ/F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC;;;qBAjNvD,GAAG,KAAK,YAAY;4BACf,GAAG;EAuN1B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ViewProps - Runtime-friendly props derived from ViewSchema
3
+ *
4
+ * Provides normalized view props that integrate seamlessly with the existing
5
+ * BaseComponentProps system and useBaseProps hook. Handles type conversion
6
+ * from schema strings to proper React prop types including event handlers,
7
+ * styling props, and grid values.
8
+ *
9
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
10
+ */
11
+ import type { SchemaProps, WithDataBinding } from '@qwickapps/schema';
12
+ import { BaseComponentProps } from '../../hooks/useBaseProps';
13
+ import { ViewSchema } from '../../schemas/ViewSchema';
14
+ /**
15
+ * ViewProps - Single source of truth for all base component props
16
+ *
17
+ * Extends SchemaProps<ViewSchema> to get all base properties with proper types
18
+ * and adds WithDataBinding for CMS integration. ViewSchema is the authoritative
19
+ * source for all base props including styling, grid, events, accessibility, etc.
20
+ */
21
+ export interface ViewProps extends SchemaProps<ViewSchema>, WithDataBinding {
22
+ children?: React.ReactNode;
23
+ }
24
+ /**
25
+ * Normalize ViewProps for runtime use
26
+ *
27
+ * Converts schema-friendly string props to runtime-friendly React props:
28
+ * - Parses sx/style JSON strings
29
+ * - Converts string event handlers to functions
30
+ * - Coerces grid span/breakpoint values from strings to numbers/keywords
31
+ * - Maintains compatibility with BaseComponentProps system
32
+ *
33
+ * @param props - Raw ViewProps from schema
34
+ * @returns Normalized props compatible with useBaseProps
35
+ */
36
+ export declare function normalizeViewProps<T extends ViewProps>(props: T): T & BaseComponentProps;
37
+ //# sourceMappingURL=viewProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewProps.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/viewProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW,CAAC,UAAU,CAAC,EAAE,eAAe;IAEzE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AA4GD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,kBAAkB,CA4DxF"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * QwickApps AppConfig Implementation
3
+ *
4
+ * Immutable configuration object with computed properties for Vite and PWA.
5
+ *
6
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
7
+ */
8
+ import type { UserConfig as ViteUserConfig } from 'vite';
9
+ import type { AppConfig as IAppConfig, AppIdentity, BuildConfig, PWAConfig, UIConfig, CopyrightConfig } from './types';
10
+ /**
11
+ * Immutable application configuration
12
+ */
13
+ export declare class AppConfig implements IAppConfig {
14
+ readonly app: AppIdentity;
15
+ readonly build: BuildConfig;
16
+ readonly pwa: PWAConfig;
17
+ readonly ui: UIConfig;
18
+ readonly copyright: CopyrightConfig;
19
+ constructor(config: {
20
+ app: AppIdentity;
21
+ build: BuildConfig;
22
+ pwa: PWAConfig;
23
+ ui: UIConfig;
24
+ copyright: CopyrightConfig;
25
+ });
26
+ /**
27
+ * Generate complete Vite configuration
28
+ */
29
+ get viteConfig(): ViteUserConfig;
30
+ /**
31
+ * Generate PWA manifest
32
+ */
33
+ get pwaManifest(): Record<string, any>;
34
+ /**
35
+ * Convert to plain object (for serialization)
36
+ */
37
+ toJSON(): Record<string, any>;
38
+ /**
39
+ * Create a copy with overrides (returns new immutable instance)
40
+ */
41
+ with(overrides: Partial<{
42
+ app: Partial<AppIdentity>;
43
+ build: Partial<BuildConfig>;
44
+ pwa: Partial<PWAConfig>;
45
+ ui: Partial<UIConfig>;
46
+ copyright: Partial<CopyrightConfig>;
47
+ }>): AppConfig;
48
+ }
49
+ //# sourceMappingURL=AppConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../../src/config/AppConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,IAAI,UAAU,EACvB,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,GAAG,EAAE,SAAS,CAAC;IAC/B,SAAgB,EAAE,EAAE,QAAQ,CAAC;IAC7B,SAAgB,SAAS,EAAE,eAAe,CAAC;gBAE/B,MAAM,EAAE;QAClB,GAAG,EAAE,WAAW,CAAC;QACjB,KAAK,EAAE,WAAW,CAAC;QACnB,GAAG,EAAE,SAAS,CAAC;QACf,EAAE,EAAE,QAAQ,CAAC;QACb,SAAS,EAAE,eAAe,CAAC;KAC5B;IAYD;;OAEG;IACH,IAAI,UAAU,IAAI,cAAc,CAqB/B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAwBrC;IAED;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU7B;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;QACtB,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACxB,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KACrC,CAAC,GAAG,SAAS;CASf"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * QwickApps AppConfigBuilder
3
+ *
4
+ * Builder pattern for creating validated, immutable AppConfig instances.
5
+ * Supports fluent API and deferred validation.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import { AppConfig } from './AppConfig';
10
+ import type { AppConfigOptions } from './types';
11
+ /**
12
+ * Builder for creating AppConfig instances with validation
13
+ */
14
+ export declare class AppConfigBuilder {
15
+ private config;
16
+ private options;
17
+ private constructor();
18
+ /**
19
+ * Create a new AppConfigBuilder instance
20
+ */
21
+ static create(): AppConfigBuilder;
22
+ /**
23
+ * Load configuration from JSON file (Node.js only)
24
+ */
25
+ withConfig(configPath: string): AppConfigBuilder;
26
+ /**
27
+ * Set builder options
28
+ */
29
+ withOptions(options: AppConfigOptions): AppConfigBuilder;
30
+ withName(name: string): AppConfigBuilder;
31
+ withId(id: string): AppConfigBuilder;
32
+ withShortName(shortName: string): AppConfigBuilder;
33
+ withDescription(description: string): AppConfigBuilder;
34
+ withVersion(version: string): AppConfigBuilder;
35
+ withLogo(logo: string): AppConfigBuilder;
36
+ withAuthor(author: string): AppConfigBuilder;
37
+ withHomepage(homepage: string): AppConfigBuilder;
38
+ withPort(port: number): AppConfigBuilder;
39
+ withPreviewPort(previewPort: number): AppConfigBuilder;
40
+ withOutputDir(outputDir: string): AppConfigBuilder;
41
+ withPublicPath(publicPath: string): AppConfigBuilder;
42
+ withBase(base: string): AppConfigBuilder;
43
+ withThemeColor(themeColor: string): AppConfigBuilder;
44
+ withBackgroundColor(backgroundColor: string): AppConfigBuilder;
45
+ withStartUrl(startUrl: string): AppConfigBuilder;
46
+ withScope(scope: string): AppConfigBuilder;
47
+ withDisplay(display: 'standalone' | 'fullscreen' | 'minimal-ui' | 'browser'): AppConfigBuilder;
48
+ withOrientation(orientation: 'portrait' | 'landscape' | 'any'): AppConfigBuilder;
49
+ withDefaultTheme(defaultTheme: 'light' | 'dark' | 'system'): AppConfigBuilder;
50
+ withDefaultPalette(defaultPalette: string): AppConfigBuilder;
51
+ withScaffolding(enableScaffolding: boolean): AppConfigBuilder;
52
+ withThemeSwitcher(showThemeSwitcher: boolean): AppConfigBuilder;
53
+ withPaletteSwitcher(showPaletteSwitcher: boolean): AppConfigBuilder;
54
+ withCopyright(year: 'auto' | number, author: string, text?: string): AppConfigBuilder;
55
+ withCopyrightYear(year: 'auto' | number): AppConfigBuilder;
56
+ withCopyrightAuthor(author: string): AppConfigBuilder;
57
+ withCopyrightText(text: string): AppConfigBuilder;
58
+ /**
59
+ * Build and validate the configuration
60
+ */
61
+ build(): AppConfig;
62
+ /**
63
+ * Validate the current configuration
64
+ */
65
+ private validate;
66
+ /**
67
+ * Apply default values to configuration
68
+ */
69
+ private applyDefaults;
70
+ /**
71
+ * Simple color validation
72
+ */
73
+ private isValidColor;
74
+ }
75
+ //# sourceMappingURL=AppConfigBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/config/AppConfigBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAMV,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CA4CZ;IAEF,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAIjC;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IA0BhD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAMxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAKpC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAKlD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAKtD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAK9C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKxC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAK5C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAMhD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKxC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAKtD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAKlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAKpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAMxC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAKpD,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB;IAK9D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAKhD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAK1C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,gBAAgB;IAK9F,eAAe,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,gBAAgB;IAMhF,gBAAgB,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB;IAK7E,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB;IAK5D,eAAe,CAAC,iBAAiB,EAAE,OAAO,GAAG,gBAAgB;IAK7D,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,GAAG,gBAAgB;IAK/D,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,GAAG,gBAAgB;IAMnE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAOrF,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB;IAK1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAKrD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKjD;;OAEG;IACH,KAAK,IAAI,SAAS;IAkBlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAoDhB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoDrB;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * QwickApps Configuration Module
3
+ *
4
+ * Exports configuration types and utilities for QwickApp applications.
5
+ *
6
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
7
+ */
8
+ export { AppConfig } from './AppConfig';
9
+ export { AppConfigBuilder } from './AppConfigBuilder';
10
+ export type { AppConfig as IAppConfig, AppIdentity, BuildConfig, PWAConfig, UIConfig, CopyrightConfig, AppConfigOptions, ValidationResult, } from './types';
11
+ import { AppConfigBuilder } from './AppConfigBuilder';
12
+ export declare const createAppConfig: typeof AppConfigBuilder.create;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,SAAS,IAAI,UAAU,EACvB,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,eAAO,MAAM,eAAe,gCAA0B,CAAC"}