@pilotiq/pilotiq 0.7.1 → 0.8.0

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 (367) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +154 -0
  3. package/CLAUDE.md +59 -3
  4. package/dist/Pilotiq.d.ts +83 -0
  5. package/dist/Pilotiq.d.ts.map +1 -1
  6. package/dist/Pilotiq.js +39 -0
  7. package/dist/Pilotiq.js.map +1 -1
  8. package/dist/actions/Action.d.ts +27 -99
  9. package/dist/actions/Action.d.ts.map +1 -1
  10. package/dist/actions/Action.js +52 -754
  11. package/dist/actions/Action.js.map +1 -1
  12. package/dist/actions/bulkFactories.d.ts +46 -0
  13. package/dist/actions/bulkFactories.d.ts.map +1 -0
  14. package/dist/actions/bulkFactories.js +144 -0
  15. package/dist/actions/bulkFactories.js.map +1 -0
  16. package/dist/actions/crudFactories.d.ts +94 -0
  17. package/dist/actions/crudFactories.d.ts.map +1 -0
  18. package/dist/actions/crudFactories.js +209 -0
  19. package/dist/actions/crudFactories.js.map +1 -0
  20. package/dist/actions/factoryHelpers.d.ts +108 -0
  21. package/dist/actions/factoryHelpers.d.ts.map +1 -0
  22. package/dist/actions/factoryHelpers.js +138 -0
  23. package/dist/actions/factoryHelpers.js.map +1 -0
  24. package/dist/actions/m2mFactories.d.ts +47 -0
  25. package/dist/actions/m2mFactories.d.ts.map +1 -0
  26. package/dist/actions/m2mFactories.js +173 -0
  27. package/dist/actions/m2mFactories.js.map +1 -0
  28. package/dist/actions/relationFactories.d.ts +93 -0
  29. package/dist/actions/relationFactories.d.ts.map +1 -0
  30. package/dist/actions/relationFactories.js +321 -0
  31. package/dist/actions/relationFactories.js.map +1 -0
  32. package/dist/elements/dispatchForm.js +1 -1
  33. package/dist/elements/dispatchForm.js.map +1 -1
  34. package/dist/elements/dispatchTable.js +1 -1
  35. package/dist/elements/dispatchTable.js.map +1 -1
  36. package/dist/fields/Field.d.ts +31 -0
  37. package/dist/fields/Field.d.ts.map +1 -1
  38. package/dist/fields/Field.js +25 -0
  39. package/dist/fields/Field.js.map +1 -1
  40. package/dist/pageData/breadcrumbs.d.ts +42 -0
  41. package/dist/pageData/breadcrumbs.d.ts.map +1 -0
  42. package/dist/pageData/breadcrumbs.js +172 -0
  43. package/dist/pageData/breadcrumbs.js.map +1 -0
  44. package/dist/pageData/forms.d.ts +137 -0
  45. package/dist/pageData/forms.d.ts.map +1 -0
  46. package/dist/pageData/forms.js +427 -0
  47. package/dist/pageData/forms.js.map +1 -0
  48. package/dist/pageData/helpers.d.ts +239 -0
  49. package/dist/pageData/helpers.d.ts.map +1 -0
  50. package/dist/pageData/helpers.js +703 -0
  51. package/dist/pageData/helpers.js.map +1 -0
  52. package/dist/pageData/misc.d.ts +76 -0
  53. package/dist/pageData/misc.d.ts.map +1 -0
  54. package/dist/pageData/misc.js +263 -0
  55. package/dist/pageData/misc.js.map +1 -0
  56. package/dist/pageData/navigation.d.ts +292 -0
  57. package/dist/pageData/navigation.d.ts.map +1 -0
  58. package/dist/pageData/navigation.js +591 -0
  59. package/dist/pageData/navigation.js.map +1 -0
  60. package/dist/pageData/relationPages.d.ts +172 -0
  61. package/dist/pageData/relationPages.d.ts.map +1 -0
  62. package/dist/pageData/relationPages.js +867 -0
  63. package/dist/pageData/relationPages.js.map +1 -0
  64. package/dist/pageData/relationTabs.d.ts +65 -0
  65. package/dist/pageData/relationTabs.d.ts.map +1 -0
  66. package/dist/pageData/relationTabs.js +258 -0
  67. package/dist/pageData/relationTabs.js.map +1 -0
  68. package/dist/pageData/resourcePages.d.ts +48 -0
  69. package/dist/pageData/resourcePages.d.ts.map +1 -0
  70. package/dist/pageData/resourcePages.js +504 -0
  71. package/dist/pageData/resourcePages.js.map +1 -0
  72. package/dist/pageData.d.ts +12 -792
  73. package/dist/pageData.d.ts.map +1 -1
  74. package/dist/pageData.js +24 -3797
  75. package/dist/pageData.js.map +1 -1
  76. package/dist/react/AppShell.d.ts +8 -0
  77. package/dist/react/AppShell.d.ts.map +1 -1
  78. package/dist/react/AppShell.js +11 -1
  79. package/dist/react/AppShell.js.map +1 -1
  80. package/dist/react/CollabExtensionFactoryRegistry.d.ts +47 -0
  81. package/dist/react/CollabExtensionFactoryRegistry.d.ts.map +1 -0
  82. package/dist/react/CollabExtensionFactoryRegistry.js +14 -0
  83. package/dist/react/CollabExtensionFactoryRegistry.js.map +1 -0
  84. package/dist/react/CollabRoomContext.d.ts +37 -0
  85. package/dist/react/CollabRoomContext.d.ts.map +1 -0
  86. package/dist/react/CollabRoomContext.js +12 -0
  87. package/dist/react/CollabRoomContext.js.map +1 -0
  88. package/dist/react/FormCollabBindingRegistry.d.ts +62 -0
  89. package/dist/react/FormCollabBindingRegistry.d.ts.map +1 -0
  90. package/dist/react/FormCollabBindingRegistry.js +14 -0
  91. package/dist/react/FormCollabBindingRegistry.js.map +1 -0
  92. package/dist/react/RecordWrapperGate.d.ts +25 -0
  93. package/dist/react/RecordWrapperGate.d.ts.map +1 -0
  94. package/dist/react/RecordWrapperGate.js +30 -0
  95. package/dist/react/RecordWrapperGate.js.map +1 -0
  96. package/dist/react/RecordWrapperRegistry.d.ts +31 -0
  97. package/dist/react/RecordWrapperRegistry.d.ts.map +1 -0
  98. package/dist/react/RecordWrapperRegistry.js +15 -0
  99. package/dist/react/RecordWrapperRegistry.js.map +1 -0
  100. package/dist/react/SchemaRenderer.d.ts +17 -23
  101. package/dist/react/SchemaRenderer.d.ts.map +1 -1
  102. package/dist/react/SchemaRenderer.js +71 -3647
  103. package/dist/react/SchemaRenderer.js.map +1 -1
  104. package/dist/react/component-slots.d.ts +103 -0
  105. package/dist/react/component-slots.d.ts.map +1 -0
  106. package/dist/react/component-slots.js +18 -0
  107. package/dist/react/component-slots.js.map +1 -0
  108. package/dist/react/fields/BuilderInput.d.ts.map +1 -1
  109. package/dist/react/fields/BuilderInput.js +21 -117
  110. package/dist/react/fields/BuilderInput.js.map +1 -1
  111. package/dist/react/fields/MarkdownInput.d.ts.map +1 -1
  112. package/dist/react/fields/MarkdownInput.js +1 -3
  113. package/dist/react/fields/MarkdownInput.js.map +1 -1
  114. package/dist/react/fields/RepeaterInput.d.ts.map +1 -1
  115. package/dist/react/fields/RepeaterInput.js +22 -127
  116. package/dist/react/fields/RepeaterInput.js.map +1 -1
  117. package/dist/react/fields/rowState.d.ts +40 -0
  118. package/dist/react/fields/rowState.d.ts.map +1 -0
  119. package/dist/react/fields/rowState.js +60 -0
  120. package/dist/react/fields/rowState.js.map +1 -0
  121. package/dist/react/fields/useRowReorderDnd.d.ts +28 -0
  122. package/dist/react/fields/useRowReorderDnd.d.ts.map +1 -0
  123. package/dist/react/fields/useRowReorderDnd.js +51 -0
  124. package/dist/react/fields/useRowReorderDnd.js.map +1 -0
  125. package/dist/react/index.d.ts +9 -0
  126. package/dist/react/index.d.ts.map +1 -1
  127. package/dist/react/index.js +8 -0
  128. package/dist/react/index.js.map +1 -1
  129. package/dist/react/layouts/SidebarLayout.d.ts +1 -1
  130. package/dist/react/layouts/SidebarLayout.d.ts.map +1 -1
  131. package/dist/react/layouts/SidebarLayout.js +10 -2
  132. package/dist/react/layouts/SidebarLayout.js.map +1 -1
  133. package/dist/react/layouts/TopbarLayout.d.ts +1 -1
  134. package/dist/react/layouts/TopbarLayout.d.ts.map +1 -1
  135. package/dist/react/layouts/TopbarLayout.js +19 -11
  136. package/dist/react/layouts/TopbarLayout.js.map +1 -1
  137. package/dist/react/parseRecordEditUrl.d.ts +29 -0
  138. package/dist/react/parseRecordEditUrl.d.ts.map +1 -0
  139. package/dist/react/parseRecordEditUrl.js +25 -0
  140. package/dist/react/parseRecordEditUrl.js.map +1 -0
  141. package/dist/react/persistedState.d.ts +19 -0
  142. package/dist/react/persistedState.d.ts.map +1 -0
  143. package/dist/react/persistedState.js +51 -0
  144. package/dist/react/persistedState.js.map +1 -0
  145. package/dist/react/schemaRenderer/AlertRenderer.d.ts +12 -0
  146. package/dist/react/schemaRenderer/AlertRenderer.d.ts.map +1 -0
  147. package/dist/react/schemaRenderer/AlertRenderer.js +61 -0
  148. package/dist/react/schemaRenderer/AlertRenderer.js.map +1 -0
  149. package/dist/react/schemaRenderer/EntryRenderer.d.ts +13 -0
  150. package/dist/react/schemaRenderer/EntryRenderer.d.ts.map +1 -0
  151. package/dist/react/schemaRenderer/EntryRenderer.js +277 -0
  152. package/dist/react/schemaRenderer/EntryRenderer.js.map +1 -0
  153. package/dist/react/schemaRenderer/SectionRenderer.d.ts +16 -0
  154. package/dist/react/schemaRenderer/SectionRenderer.d.ts.map +1 -0
  155. package/dist/react/schemaRenderer/SectionRenderer.js +62 -0
  156. package/dist/react/schemaRenderer/SectionRenderer.js.map +1 -0
  157. package/dist/react/schemaRenderer/SimpleElements.d.ts +25 -0
  158. package/dist/react/schemaRenderer/SimpleElements.d.ts.map +1 -0
  159. package/dist/react/schemaRenderer/SimpleElements.js +147 -0
  160. package/dist/react/schemaRenderer/SimpleElements.js.map +1 -0
  161. package/dist/react/schemaRenderer/TabsRenderer.d.ts +17 -0
  162. package/dist/react/schemaRenderer/TabsRenderer.d.ts.map +1 -0
  163. package/dist/react/schemaRenderer/TabsRenderer.js +31 -0
  164. package/dist/react/schemaRenderer/TabsRenderer.js.map +1 -0
  165. package/dist/react/schemaRenderer/WizardRenderer.d.ts +34 -0
  166. package/dist/react/schemaRenderer/WizardRenderer.d.ts.map +1 -0
  167. package/dist/react/schemaRenderer/WizardRenderer.js +208 -0
  168. package/dist/react/schemaRenderer/WizardRenderer.js.map +1 -0
  169. package/dist/react/schemaRenderer/action/ActionGroupTrigger.d.ts +21 -0
  170. package/dist/react/schemaRenderer/action/ActionGroupTrigger.d.ts.map +1 -0
  171. package/dist/react/schemaRenderer/action/ActionGroupTrigger.js +82 -0
  172. package/dist/react/schemaRenderer/action/ActionGroupTrigger.js.map +1 -0
  173. package/dist/react/schemaRenderer/action/ActionModalDialog.d.ts +30 -0
  174. package/dist/react/schemaRenderer/action/ActionModalDialog.d.ts.map +1 -0
  175. package/dist/react/schemaRenderer/action/ActionModalDialog.js +182 -0
  176. package/dist/react/schemaRenderer/action/ActionModalDialog.js.map +1 -0
  177. package/dist/react/schemaRenderer/action/ConfirmActionDialog.d.ts +17 -0
  178. package/dist/react/schemaRenderer/action/ConfirmActionDialog.d.ts.map +1 -0
  179. package/dist/react/schemaRenderer/action/ConfirmActionDialog.js +19 -0
  180. package/dist/react/schemaRenderer/action/ConfirmActionDialog.js.map +1 -0
  181. package/dist/react/schemaRenderer/action/HandlerActionButton.d.ts +16 -0
  182. package/dist/react/schemaRenderer/action/HandlerActionButton.d.ts.map +1 -0
  183. package/dist/react/schemaRenderer/action/HandlerActionButton.js +16 -0
  184. package/dist/react/schemaRenderer/action/HandlerActionButton.js.map +1 -0
  185. package/dist/react/schemaRenderer/action/MethodActionButton.d.ts +22 -0
  186. package/dist/react/schemaRenderer/action/MethodActionButton.d.ts.map +1 -0
  187. package/dist/react/schemaRenderer/action/MethodActionButton.js +26 -0
  188. package/dist/react/schemaRenderer/action/MethodActionButton.js.map +1 -0
  189. package/dist/react/schemaRenderer/action/buttons.d.ts +18 -0
  190. package/dist/react/schemaRenderer/action/buttons.d.ts.map +1 -0
  191. package/dist/react/schemaRenderer/action/buttons.js +74 -0
  192. package/dist/react/schemaRenderer/action/buttons.js.map +1 -0
  193. package/dist/react/schemaRenderer/action/helpers.d.ts +26 -0
  194. package/dist/react/schemaRenderer/action/helpers.d.ts.map +1 -0
  195. package/dist/react/schemaRenderer/action/helpers.js +126 -0
  196. package/dist/react/schemaRenderer/action/helpers.js.map +1 -0
  197. package/dist/react/schemaRenderer/action/renderAction.d.ts +21 -0
  198. package/dist/react/schemaRenderer/action/renderAction.d.ts.map +1 -0
  199. package/dist/react/schemaRenderer/action/renderAction.js +102 -0
  200. package/dist/react/schemaRenderer/action/renderAction.js.map +1 -0
  201. package/dist/react/schemaRenderer/columnFormat.d.ts +10 -0
  202. package/dist/react/schemaRenderer/columnFormat.d.ts.map +1 -0
  203. package/dist/react/schemaRenderer/columnFormat.js +76 -0
  204. package/dist/react/schemaRenderer/columnFormat.js.map +1 -0
  205. package/dist/react/schemaRenderer/constants.d.ts +8 -0
  206. package/dist/react/schemaRenderer/constants.d.ts.map +1 -0
  207. package/dist/react/schemaRenderer/constants.js +45 -0
  208. package/dist/react/schemaRenderer/constants.js.map +1 -0
  209. package/dist/react/schemaRenderer/form/FormRenderer.d.ts +29 -0
  210. package/dist/react/schemaRenderer/form/FormRenderer.d.ts.map +1 -0
  211. package/dist/react/schemaRenderer/form/FormRenderer.js +152 -0
  212. package/dist/react/schemaRenderer/form/FormRenderer.js.map +1 -0
  213. package/dist/react/schemaRenderer/form/renderField.d.ts +6 -0
  214. package/dist/react/schemaRenderer/form/renderField.d.ts.map +1 -0
  215. package/dist/react/schemaRenderer/form/renderField.js +239 -0
  216. package/dist/react/schemaRenderer/form/renderField.js.map +1 -0
  217. package/dist/react/schemaRenderer/helpers.d.ts +32 -0
  218. package/dist/react/schemaRenderer/helpers.d.ts.map +1 -0
  219. package/dist/react/schemaRenderer/helpers.js +52 -0
  220. package/dist/react/schemaRenderer/helpers.js.map +1 -0
  221. package/dist/react/schemaRenderer/table/CardsLayoutBody.d.ts +60 -0
  222. package/dist/react/schemaRenderer/table/CardsLayoutBody.d.ts.map +1 -0
  223. package/dist/react/schemaRenderer/table/CardsLayoutBody.js +189 -0
  224. package/dist/react/schemaRenderer/table/CardsLayoutBody.js.map +1 -0
  225. package/dist/react/schemaRenderer/table/TableRenderer.d.ts +29 -0
  226. package/dist/react/schemaRenderer/table/TableRenderer.d.ts.map +1 -0
  227. package/dist/react/schemaRenderer/table/TableRenderer.js +85 -0
  228. package/dist/react/schemaRenderer/table/TableRenderer.js.map +1 -0
  229. package/dist/react/schemaRenderer/table/TableRendererBody.d.ts +18 -0
  230. package/dist/react/schemaRenderer/table/TableRendererBody.d.ts.map +1 -0
  231. package/dist/react/schemaRenderer/table/TableRendererBody.js +555 -0
  232. package/dist/react/schemaRenderer/table/TableRendererBody.js.map +1 -0
  233. package/dist/react/schemaRenderer/table/filters.d.ts +263 -0
  234. package/dist/react/schemaRenderer/table/filters.d.ts.map +1 -0
  235. package/dist/react/schemaRenderer/table/filters.js +497 -0
  236. package/dist/react/schemaRenderer/table/filters.js.map +1 -0
  237. package/dist/react/schemaRenderer/table/formatCell.d.ts +11 -0
  238. package/dist/react/schemaRenderer/table/formatCell.d.ts.map +1 -0
  239. package/dist/react/schemaRenderer/table/formatCell.js +172 -0
  240. package/dist/react/schemaRenderer/table/formatCell.js.map +1 -0
  241. package/dist/react/schemaRenderer/table/links.d.ts +42 -0
  242. package/dist/react/schemaRenderer/table/links.d.ts.map +1 -0
  243. package/dist/react/schemaRenderer/table/links.js +55 -0
  244. package/dist/react/schemaRenderer/table/links.js.map +1 -0
  245. package/dist/react/schemaRenderer/table/renderRowActions.d.ts +13 -0
  246. package/dist/react/schemaRenderer/table/renderRowActions.d.ts.map +1 -0
  247. package/dist/react/schemaRenderer/table/renderRowActions.js +25 -0
  248. package/dist/react/schemaRenderer/table/renderRowActions.js.map +1 -0
  249. package/dist/react/schemaRenderer/table/url.d.ts +41 -0
  250. package/dist/react/schemaRenderer/table/url.d.ts.map +1 -0
  251. package/dist/react/schemaRenderer/table/url.js +114 -0
  252. package/dist/react/schemaRenderer/table/url.js.map +1 -0
  253. package/dist/routes/globals.d.ts +13 -0
  254. package/dist/routes/globals.d.ts.map +1 -0
  255. package/dist/routes/globals.js +131 -0
  256. package/dist/routes/globals.js.map +1 -0
  257. package/dist/routes/helpers.d.ts +217 -0
  258. package/dist/routes/helpers.d.ts.map +1 -0
  259. package/dist/routes/helpers.js +498 -0
  260. package/dist/routes/helpers.js.map +1 -0
  261. package/dist/routes/pages.d.ts +15 -0
  262. package/dist/routes/pages.d.ts.map +1 -0
  263. package/dist/routes/pages.js +145 -0
  264. package/dist/routes/pages.js.map +1 -0
  265. package/dist/routes/panel.d.ts +19 -0
  266. package/dist/routes/panel.d.ts.map +1 -0
  267. package/dist/routes/panel.js +191 -0
  268. package/dist/routes/panel.js.map +1 -0
  269. package/dist/routes/relations.d.ts +21 -0
  270. package/dist/routes/relations.d.ts.map +1 -0
  271. package/dist/routes/relations.js +1239 -0
  272. package/dist/routes/relations.js.map +1 -0
  273. package/dist/routes/resources.d.ts +28 -0
  274. package/dist/routes/resources.d.ts.map +1 -0
  275. package/dist/routes/resources.js +741 -0
  276. package/dist/routes/resources.js.map +1 -0
  277. package/dist/routes/theme.d.ts +12 -0
  278. package/dist/routes/theme.d.ts.map +1 -0
  279. package/dist/routes/theme.js +82 -0
  280. package/dist/routes/theme.js.map +1 -0
  281. package/dist/routes.d.ts.map +1 -1
  282. package/dist/routes.js +64 -3078
  283. package/dist/routes.js.map +1 -1
  284. package/dist/vite.d.ts +1 -0
  285. package/dist/vite.d.ts.map +1 -1
  286. package/dist/vite.js +31 -10
  287. package/dist/vite.js.map +1 -1
  288. package/package.json +2 -1
  289. package/src/Pilotiq.ts +95 -0
  290. package/src/actions/Action.ts +79 -723
  291. package/src/actions/bulkFactories.ts +168 -0
  292. package/src/actions/crudFactories.ts +220 -0
  293. package/src/actions/factoryHelpers.ts +177 -0
  294. package/src/actions/m2mFactories.ts +193 -0
  295. package/src/actions/relationFactories.ts +372 -0
  296. package/src/elements/dispatchForm.ts +1 -1
  297. package/src/elements/dispatchTable.ts +1 -1
  298. package/src/fields/Field.ts +39 -0
  299. package/src/pageData/breadcrumbs.ts +288 -0
  300. package/src/pageData/forms.ts +578 -0
  301. package/src/pageData/helpers.ts +764 -0
  302. package/src/pageData/misc.ts +347 -0
  303. package/src/pageData/navigation.ts +779 -0
  304. package/src/pageData/relationPages.ts +1246 -0
  305. package/src/pageData/relationTabs.ts +286 -0
  306. package/src/pageData/resourcePages.ts +593 -0
  307. package/src/pageData.ts +122 -4731
  308. package/src/react/AppShell.tsx +27 -1
  309. package/src/react/CollabExtensionFactoryRegistry.ts +55 -0
  310. package/src/react/CollabRoomContext.ts +42 -0
  311. package/src/react/FormCollabBindingRegistry.ts +72 -0
  312. package/src/react/RecordWrapperGate.tsx +40 -0
  313. package/src/react/RecordWrapperRegistry.ts +39 -0
  314. package/src/react/SchemaRenderer.tsx +230 -6479
  315. package/src/react/component-slots.test.ts +103 -0
  316. package/src/react/component-slots.ts +116 -0
  317. package/src/react/fields/BuilderInput.tsx +29 -117
  318. package/src/react/fields/MarkdownInput.tsx +0 -1
  319. package/src/react/fields/RepeaterInput.tsx +29 -130
  320. package/src/react/fields/rowState.ts +106 -0
  321. package/src/react/fields/useRowReorderDnd.ts +78 -0
  322. package/src/react/index.ts +38 -0
  323. package/src/react/layouts/SidebarLayout.tsx +39 -28
  324. package/src/react/layouts/TopbarLayout.tsx +70 -57
  325. package/src/react/parseRecordEditUrl.test.ts +75 -0
  326. package/src/react/parseRecordEditUrl.ts +55 -0
  327. package/src/react/persistedState.ts +40 -0
  328. package/src/react/schemaRenderer/AlertRenderer.tsx +112 -0
  329. package/src/react/schemaRenderer/EntryRenderer.tsx +501 -0
  330. package/src/react/schemaRenderer/SectionRenderer.tsx +120 -0
  331. package/src/react/schemaRenderer/SimpleElements.tsx +306 -0
  332. package/src/react/schemaRenderer/TabsRenderer.tsx +62 -0
  333. package/src/react/schemaRenderer/WizardRenderer.tsx +338 -0
  334. package/src/react/schemaRenderer/action/ActionGroupTrigger.tsx +177 -0
  335. package/src/react/schemaRenderer/action/ActionModalDialog.tsx +273 -0
  336. package/src/react/schemaRenderer/action/ConfirmActionDialog.tsx +61 -0
  337. package/src/react/schemaRenderer/action/HandlerActionButton.tsx +43 -0
  338. package/src/react/schemaRenderer/action/MethodActionButton.tsx +64 -0
  339. package/src/react/schemaRenderer/action/buttons.tsx +99 -0
  340. package/src/react/schemaRenderer/action/helpers.ts +140 -0
  341. package/src/react/schemaRenderer/action/renderAction.tsx +245 -0
  342. package/src/react/schemaRenderer/columnFormat.ts +65 -0
  343. package/src/react/schemaRenderer/constants.ts +50 -0
  344. package/src/react/schemaRenderer/form/FormRenderer.tsx +233 -0
  345. package/src/react/schemaRenderer/form/renderField.tsx +511 -0
  346. package/src/react/schemaRenderer/helpers.tsx +81 -0
  347. package/src/react/schemaRenderer/table/CardsLayoutBody.tsx +308 -0
  348. package/src/react/schemaRenderer/table/TableRenderer.tsx +123 -0
  349. package/src/react/schemaRenderer/table/TableRendererBody.tsx +974 -0
  350. package/src/react/schemaRenderer/table/filters.tsx +1233 -0
  351. package/src/react/schemaRenderer/table/formatCell.tsx +264 -0
  352. package/src/react/schemaRenderer/table/links.tsx +112 -0
  353. package/src/react/schemaRenderer/table/renderRowActions.tsx +52 -0
  354. package/src/react/schemaRenderer/table/url.tsx +143 -0
  355. package/src/routes/globals.ts +154 -0
  356. package/src/routes/helpers.ts +668 -0
  357. package/src/routes/pages.ts +173 -0
  358. package/src/routes/panel.ts +204 -0
  359. package/src/routes/relations.ts +1219 -0
  360. package/src/routes/resources.ts +786 -0
  361. package/src/routes/theme.ts +109 -0
  362. package/src/routes.test.ts +1 -1
  363. package/src/routes.ts +64 -3176
  364. package/src/schema/TableWidget.test.ts +2 -2
  365. package/src/theme/migrate.test.ts +178 -0
  366. package/src/vite.test.ts +184 -0
  367. package/src/vite.ts +31 -9
@@ -1 +1 @@
1
- {"version":3,"file":"TopbarLayout.js","sourceRoot":"","sources":["../../../src/react/layouts/TopbarLayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopbarLayout.js","sourceRoot":"","sources":["../../../src/react/layouts/TopbarLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Parses a pilotiq URL into a record-edit identity, or returns `null`
3
+ * for any URL that isn't a record-bound edit page.
4
+ *
5
+ * A URL matches when:
6
+ * 1. it starts with the panel's `basePath`
7
+ * 2. after stripping the prefix it ends with `/edit`
8
+ * 3. there are at least three remaining segments (resource slug,
9
+ * record id, `edit`)
10
+ *
11
+ * The `resourceSlug` is the slash-joined chain of every segment up to
12
+ * the record id — this gives clustered resources (`${base}/blog/articles/123/edit`)
13
+ * and nested-relation edits (`${base}/articles/123/comments/456/edit`)
14
+ * distinct slugs so two URLs that target different records always
15
+ * produce different room names downstream.
16
+ *
17
+ * `/admin/articles/123/edit` → { resourceSlug: 'articles', recordId: '123' }
18
+ * `/admin/blog/articles/123/edit` → { resourceSlug: 'blog/articles', recordId: '123' }
19
+ * `/admin/articles/123/comments/456/edit` → { resourceSlug: 'articles/123/comments', recordId: '456' }
20
+ * `/admin/articles/123/comments` → null (no trailing /edit)
21
+ * `/admin/articles/123/comments/create` → null (no record id)
22
+ * `/site/articles/123/edit` → null (basePath mismatch when basePath='/admin')
23
+ */
24
+ export interface RecordEditIdentity {
25
+ resourceSlug: string;
26
+ recordId: string;
27
+ }
28
+ export declare function parseRecordEditUrl(currentPath: string, basePath: string): RecordEditIdentity | null;
29
+ //# sourceMappingURL=parseRecordEditUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseRecordEditUrl.d.ts","sourceRoot":"","sources":["../../src/react/parseRecordEditUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAM,MAAM,CAAA;CACrB;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAK,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAuB3B"}
@@ -0,0 +1,25 @@
1
+ export function parseRecordEditUrl(currentPath, basePath) {
2
+ if (!currentPath)
3
+ return null;
4
+ // Normalise — trailing slashes on the URL or trailing slashes on
5
+ // basePath would otherwise reject perfectly valid matches.
6
+ const trimmedPath = currentPath.replace(/\/+$/, '');
7
+ const trimmedBase = basePath.replace(/\/+$/, '');
8
+ if (trimmedBase !== '' && !trimmedPath.startsWith(trimmedBase))
9
+ return null;
10
+ const tail = trimmedPath.slice(trimmedBase.length).replace(/^\/+/, '');
11
+ const parts = tail.split('/').filter(Boolean);
12
+ if (parts.length < 3)
13
+ return null;
14
+ if (parts[parts.length - 1] !== 'edit')
15
+ return null;
16
+ const recordId = parts[parts.length - 2];
17
+ const slugParts = parts.slice(0, parts.length - 2);
18
+ if (slugParts.length === 0)
19
+ return null;
20
+ return {
21
+ resourceSlug: slugParts.join('/'),
22
+ recordId,
23
+ };
24
+ }
25
+ //# sourceMappingURL=parseRecordEditUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseRecordEditUrl.js","sourceRoot":"","sources":["../../src/react/parseRecordEditUrl.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,QAAmB;IAEnB,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7B,iEAAiE;IACjE,2DAA2D;IAC3D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEhD,IAAI,WAAW,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAA;IAE3E,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAEnD,MAAM,QAAQ,GAAM,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;IAC5C,MAAM,SAAS,GAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,QAAQ;KACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Thin localStorage wrappers shared by every persistable surface
3
+ * (collapsible sections, dismissible alerts, wizard step, hidden table
4
+ * columns, group fold state, filter strip toggle, Repeater / Builder
5
+ * row collapse + accordion).
6
+ *
7
+ * Every helper silently no-ops on SSR / private mode / quota — callers
8
+ * already treat all three the same way.
9
+ */
10
+ export declare function readStoredString(key: string): string | null;
11
+ export declare function writeStoredString(key: string, value: string): void;
12
+ export declare function removeStoredString(key: string): void;
13
+ /**
14
+ * Boolean flag using `'1'` / `'0'` encoding. Returns `defaultValue`
15
+ * when the key is unset, SSR, or storage is blocked.
16
+ */
17
+ export declare function readStoredFlag(key: string, defaultValue: boolean): boolean;
18
+ export declare function writeStoredFlag(key: string, value: boolean): void;
19
+ //# sourceMappingURL=persistedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistedState.d.ts","sourceRoot":"","sources":["../../src/react/persistedState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGlE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAK1E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAEjE"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Thin localStorage wrappers shared by every persistable surface
3
+ * (collapsible sections, dismissible alerts, wizard step, hidden table
4
+ * columns, group fold state, filter strip toggle, Repeater / Builder
5
+ * row collapse + accordion).
6
+ *
7
+ * Every helper silently no-ops on SSR / private mode / quota — callers
8
+ * already treat all three the same way.
9
+ */
10
+ export function readStoredString(key) {
11
+ if (typeof window === 'undefined')
12
+ return null;
13
+ try {
14
+ return window.localStorage.getItem(key);
15
+ }
16
+ catch {
17
+ return null;
18
+ }
19
+ }
20
+ export function writeStoredString(key, value) {
21
+ if (typeof window === 'undefined')
22
+ return;
23
+ try {
24
+ window.localStorage.setItem(key, value);
25
+ }
26
+ catch { /* quota / blocked */ }
27
+ }
28
+ export function removeStoredString(key) {
29
+ if (typeof window === 'undefined')
30
+ return;
31
+ try {
32
+ window.localStorage.removeItem(key);
33
+ }
34
+ catch { /* */ }
35
+ }
36
+ /**
37
+ * Boolean flag using `'1'` / `'0'` encoding. Returns `defaultValue`
38
+ * when the key is unset, SSR, or storage is blocked.
39
+ */
40
+ export function readStoredFlag(key, defaultValue) {
41
+ const raw = readStoredString(key);
42
+ if (raw === '1')
43
+ return true;
44
+ if (raw === '0')
45
+ return false;
46
+ return defaultValue;
47
+ }
48
+ export function writeStoredFlag(key, value) {
49
+ writeStoredString(key, value ? '1' : '0');
50
+ }
51
+ //# sourceMappingURL=persistedState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistedState.js","sourceRoot":"","sources":["../../src/react/persistedState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,CAAC;QAAC,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAAC,CAAC;IAC/C,MAAM,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,KAAa;IAC1D,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAM;IACzC,IAAI,CAAC;QAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAM;IACzC,IAAI,CAAC;QAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,YAAqB;IAC/D,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAC5B,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,KAAK,CAAA;IAC7B,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAc;IACzD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare function AlertRenderer(props: {
3
+ alertType: string;
4
+ content: string;
5
+ title?: string;
6
+ dismissible?: boolean;
7
+ persistDismissal?: string;
8
+ iconColor?: string;
9
+ actionsAlignment?: string;
10
+ footer: React.ReactNode[];
11
+ }): React.ReactNode;
12
+ //# sourceMappingURL=AlertRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertRenderer.d.ts","sourceRoot":"","sources":["../../../src/react/schemaRenderer/AlertRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AA6ClD,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,SAAS,EAAU,MAAM,CAAA;IACzB,OAAO,EAAY,MAAM,CAAA;IACzB,KAAK,CAAC,EAAa,MAAM,CAAA;IACzB,WAAW,CAAC,EAAO,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAS,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,EAAa,KAAK,CAAC,SAAS,EAAE,CAAA;CACrC,GAAG,KAAK,CAAC,SAAS,CAyDlB"}
@@ -0,0 +1,61 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { CircleAlertIcon, CircleCheckIcon, InfoIcon, TriangleAlertIcon, XIcon, } from 'lucide-react';
4
+ import { readStoredString, writeStoredString } from '../persistedState.js';
5
+ import { alertStyles, TEXT_COLOR_CLASSES } from './constants.js';
6
+ // ─── Alert renderer ─────────────────────────────────────────
7
+ //
8
+ // Owns dismissal state (per-mount + optional localStorage persistence)
9
+ // + icon dispatch + footer-actions alignment. Lifted out of the inline
10
+ // `case 'alert'` branch when Alert gained `dismissible() / iconColor() /
11
+ // footerActionsAlignment()` setters — those need component-local state
12
+ // (the dismiss button, the persisted-dismissal hydration on mount), and
13
+ // inlining the hooks under a switch arm is fragile.
14
+ const ALERT_TYPE_ICONS = {
15
+ info: InfoIcon,
16
+ warning: TriangleAlertIcon,
17
+ success: CircleCheckIcon,
18
+ danger: CircleAlertIcon,
19
+ };
20
+ const ALERT_TYPE_DEFAULT_ICON_COLOR = {
21
+ info: 'info',
22
+ warning: 'warning',
23
+ success: 'success',
24
+ danger: 'destructive',
25
+ };
26
+ const ALERT_ACTIONS_ALIGNMENT = {
27
+ start: 'justify-start',
28
+ center: 'justify-center',
29
+ end: 'justify-end',
30
+ };
31
+ function alertPersistKey(persistKey) {
32
+ return `pilotiq.alert.${persistKey}`;
33
+ }
34
+ export function AlertRenderer(props) {
35
+ const { alertType, content, title, dismissible, persistDismissal, iconColor, actionsAlignment, footer, } = props;
36
+ const [dismissed, setDismissed] = useState(false);
37
+ // Hydrate persisted-dismissal on first paint. `useState(false)` keeps
38
+ // SSR + first client paint identical (Hydration safe); the effect
39
+ // flips to dismissed if localStorage has the flag set.
40
+ useEffect(() => {
41
+ if (!persistDismissal)
42
+ return;
43
+ if (readStoredString(alertPersistKey(persistDismissal)) === '1') {
44
+ setDismissed(true);
45
+ }
46
+ }, [persistDismissal]);
47
+ if (dismissed)
48
+ return null;
49
+ const styles = alertStyles[alertType] ?? alertStyles['info'];
50
+ const Icon = ALERT_TYPE_ICONS[alertType] ?? InfoIcon;
51
+ const iconColorKey = iconColor ?? ALERT_TYPE_DEFAULT_ICON_COLOR[alertType] ?? 'info';
52
+ const iconColorCls = TEXT_COLOR_CLASSES[iconColorKey] ?? '';
53
+ const alignCls = ALERT_ACTIONS_ALIGNMENT[actionsAlignment ?? 'start'] ?? 'justify-start';
54
+ const handleDismiss = () => {
55
+ setDismissed(true);
56
+ if (persistDismissal)
57
+ writeStoredString(alertPersistKey(persistDismissal), '1');
58
+ };
59
+ return (_jsxs("div", { className: `relative rounded-lg border p-4 ${styles} ${dismissible ? 'pr-9' : ''}`, children: [_jsxs("div", { className: "flex gap-3", children: [_jsx(Icon, { className: `size-5 shrink-0 mt-0.5 ${iconColorCls}`, "aria-hidden": "true" }), _jsxs("div", { className: "flex-1 min-w-0", children: [title !== undefined && _jsx("p", { className: "font-medium mb-1", children: title }), _jsx("p", { className: "text-sm", children: content }), footer.length > 0 && (_jsx("div", { className: `flex items-center gap-2 mt-3 ${alignCls}`, children: footer }))] })] }), dismissible && (_jsx("button", { type: "button", onClick: handleDismiss, "aria-label": "Dismiss", title: "Dismiss", className: "absolute top-3 right-3 inline-flex h-6 w-6 items-center justify-center rounded opacity-70 hover:opacity-100 transition-opacity", children: _jsx(XIcon, { className: "size-4", "aria-hidden": "true" }) }))] }));
60
+ }
61
+ //# sourceMappingURL=AlertRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertRenderer.js","sourceRoot":"","sources":["../../../src/react/schemaRenderer/AlertRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import type { ElementMeta } from '../../schema/Element.js';
3
+ /**
4
+ * Plan #16 — read-only label-value pair for `Resource.detail()` schemas.
5
+ * Dispatches on `meta.entryType` (`'text' | 'badge' | 'icon' | 'image' | 'keyValue' | 'color'`).
6
+ * Wraps the rendered value in `<EntryShell>` for the shared chrome
7
+ * (label / helperText / tooltip / copyable trigger).
8
+ *
9
+ * `renderElement` is injected so the `repeatable` branch can recurse into
10
+ * row children without re-importing the main switch.
11
+ */
12
+ export declare function renderEntry(el: ElementMeta, index: number, renderElement: (el: ElementMeta, index: number) => React.ReactNode): React.ReactNode;
13
+ //# sourceMappingURL=EntryRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntryRenderer.d.ts","sourceRoot":"","sources":["../../../src/react/schemaRenderer/EntryRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AA6C1D;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,GACjE,KAAK,CAAC,SAAS,CAiVjB"}
@@ -0,0 +1,277 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { CheckIcon, CircleIcon, CopyIcon } from 'lucide-react';
4
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../ui/tooltip.js';
5
+ import { getEntryComponent } from '../../entries/registry.js';
6
+ import { BADGE_COLOR_CLASSES, COLUMN_COLOR_CLASSES, TEXT_COLOR_CLASSES, TEXT_SIZE_CLASSES, TEXT_WEIGHT_CLASSES, } from './constants.js';
7
+ import { resolveIcon } from './helpers.js';
8
+ import { applyColumnFormat } from './columnFormat.js';
9
+ // ─── Entry rendering (Plan #16 — read-only label/value pairs) ───
10
+ /** Coerce a `KeyValueEntry` state value (object | JSON string | …) into a
11
+ * flat record. Returns `null` when the value is empty or non-decodable. */
12
+ function normalizeKeyValueValue(value) {
13
+ if (value === null || value === undefined || value === '')
14
+ return null;
15
+ if (typeof value === 'string') {
16
+ try {
17
+ const parsed = JSON.parse(value);
18
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
19
+ return parsed;
20
+ }
21
+ }
22
+ catch {
23
+ // Non-JSON string — fall through to null so the renderer shows the
24
+ // fallback rather than misrepresenting it as a one-row map.
25
+ }
26
+ return null;
27
+ }
28
+ if (Array.isArray(value))
29
+ return null;
30
+ if (typeof value === 'object')
31
+ return value;
32
+ return null;
33
+ }
34
+ /** Render a single kv cell value — primitives become their string form;
35
+ * nested objects/arrays JSON-stringify for compactness. */
36
+ function formatKeyValueCell(value) {
37
+ if (value === null || value === undefined)
38
+ return '';
39
+ if (typeof value === 'object')
40
+ return JSON.stringify(value);
41
+ return String(value);
42
+ }
43
+ /**
44
+ * Plan #16 — read-only label-value pair for `Resource.detail()` schemas.
45
+ * Dispatches on `meta.entryType` (`'text' | 'badge' | 'icon' | 'image' | 'keyValue' | 'color'`).
46
+ * Wraps the rendered value in `<EntryShell>` for the shared chrome
47
+ * (label / helperText / tooltip / copyable trigger).
48
+ *
49
+ * `renderElement` is injected so the `repeatable` branch can recurse into
50
+ * row children without re-importing the main switch.
51
+ */
52
+ export function renderEntry(el, index, renderElement) {
53
+ const entryType = String(el['entryType'] ?? 'text');
54
+ const value = el['value'];
55
+ const fallback = el['default'] ? String(el['default']) : '—';
56
+ let body;
57
+ switch (entryType) {
58
+ case 'text': {
59
+ const formatted = el['_formatted'] !== undefined
60
+ ? String(el['_formatted'])
61
+ : (el['format']
62
+ ? applyColumnFormat(value, el['format'])
63
+ : (value === null || value === undefined || value === '' ? '' : String(value)));
64
+ const display = formatted === '' ? fallback : formatted;
65
+ const isFallback = formatted === '';
66
+ const isRichText = el['richtext'] === true && !isFallback;
67
+ const sizeKey = el['size'] ? String(el['size']) : 'sm';
68
+ const colorKey = el['color'] ? String(el['color']) : (isFallback ? 'muted' : 'default');
69
+ const weightKey = el['weight'] ? String(el['weight']) : 'normal';
70
+ const sizeCls = TEXT_SIZE_CLASSES[sizeKey] ?? 'text-sm';
71
+ const colorCls = TEXT_COLOR_CLASSES[colorKey] ?? '';
72
+ const weightCls = TEXT_WEIGHT_CLASSES[weightKey] ?? '';
73
+ const lineClamp = el['lineClamp'];
74
+ const wrap = el['wrap'] === true;
75
+ const style = {};
76
+ if (lineClamp !== undefined) {
77
+ style.display = '-webkit-box';
78
+ style.WebkitLineClamp = lineClamp;
79
+ style.WebkitBoxOrient = 'vertical';
80
+ style.overflow = 'hidden';
81
+ }
82
+ const wrapCls = wrap ? 'whitespace-pre-wrap' : (lineClamp !== undefined ? '' : 'whitespace-nowrap');
83
+ if (isRichText) {
84
+ // Server-rendered HTML from a registered richtext renderer (e.g.
85
+ // `@pilotiq/tiptap`). Wrap in `prose` for sensible default
86
+ // styling — matches the read-only `Markdown` / `Html` primes.
87
+ const proseSize = sizeKey === 'lg' || sizeKey === 'xl'
88
+ ? 'prose-lg'
89
+ : sizeKey === 'sm' || sizeKey === 'xs'
90
+ ? 'prose-sm'
91
+ : '';
92
+ body = (_jsx("div", { className: `prose max-w-none dark:prose-invert ${proseSize} ${colorCls} ${weightCls}`.trim(), style: style, dangerouslySetInnerHTML: { __html: display } }));
93
+ break;
94
+ }
95
+ body = (_jsx("span", { className: `${sizeCls} ${colorCls} ${weightCls} ${wrapCls}`.trim(), style: style, children: display }));
96
+ break;
97
+ }
98
+ case 'badge': {
99
+ const isBlank = value === null || value === undefined || value === '';
100
+ if (isBlank) {
101
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
102
+ break;
103
+ }
104
+ const map = el['colors'] ?? {};
105
+ const colorKey = map[String(value)] ?? 'gray';
106
+ const cls = BADGE_COLOR_CLASSES[colorKey] ?? BADGE_COLOR_CLASSES['gray'];
107
+ body = (_jsx("span", { className: `inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${cls}`, children: String(value) }));
108
+ break;
109
+ }
110
+ case 'icon': {
111
+ const isBlank = value === null || value === undefined || value === '';
112
+ const map = el['options'] ?? {};
113
+ const opt = isBlank ? undefined : map[String(value)];
114
+ if (!opt) {
115
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
116
+ break;
117
+ }
118
+ const Icon = resolveIcon(opt.icon) ?? CircleIcon;
119
+ const colorClass = opt.color ? (COLUMN_COLOR_CLASSES[opt.color] ?? '') : '';
120
+ const ariaLabel = opt.label ?? String(value);
121
+ body = _jsx(Icon, { className: `inline size-5 ${colorClass}`.trim(), "aria-label": ariaLabel });
122
+ break;
123
+ }
124
+ case 'image': {
125
+ const isBlank = value === null || value === undefined || value === '';
126
+ if (isBlank) {
127
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
128
+ break;
129
+ }
130
+ const url = String(value);
131
+ const width = el['imageWidth'] ?? el['imageSize'] ?? 64;
132
+ const height = el['imageHeight'] ?? el['imageSize'] ?? 64;
133
+ const shape = String(el['imageShape'] ?? 'rounded');
134
+ const shapeCls = shape === 'circle' ? 'rounded-full' : shape === 'square' ? '' : 'rounded-md';
135
+ body = (_jsx("img", { src: url, alt: "", width: width, height: height, className: `inline-block object-cover ${shapeCls}`.trim() }));
136
+ break;
137
+ }
138
+ case 'keyValue': {
139
+ const parsed = normalizeKeyValueValue(value);
140
+ const keys = parsed ? Object.keys(parsed) : [];
141
+ if (!parsed || keys.length === 0) {
142
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
143
+ break;
144
+ }
145
+ const keyLabel = el['keyLabel'] ? String(el['keyLabel']) : 'Key';
146
+ const valueLabel = el['valueLabel'] ? String(el['valueLabel']) : 'Value';
147
+ body = (_jsxs("table", { className: "w-full border border-border text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-muted/50 text-left text-xs font-medium uppercase tracking-wide text-muted-foreground", children: [_jsx("th", { className: "border-b border-border px-2 py-1", children: keyLabel }), _jsx("th", { className: "border-b border-border px-2 py-1", children: valueLabel })] }) }), _jsx("tbody", { children: keys.map(k => (_jsxs("tr", { className: "border-t border-border first:border-t-0", children: [_jsx("td", { className: "px-2 py-1 align-top font-mono text-xs", children: k }), _jsx("td", { className: "px-2 py-1 align-top font-mono text-xs break-all", children: formatKeyValueCell(parsed[k]) })] }, k))) })] }));
148
+ break;
149
+ }
150
+ case 'color': {
151
+ const isBlank = value === null || value === undefined || value === '';
152
+ if (isBlank) {
153
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
154
+ break;
155
+ }
156
+ const hex = String(value);
157
+ const width = el['colorWidth'] ?? el['colorSize'] ?? 24;
158
+ const height = el['colorHeight'] ?? el['colorSize'] ?? 24;
159
+ const shape = String(el['colorShape'] ?? 'rounded');
160
+ const shapeCls = shape === 'circle' ? 'rounded-full' : shape === 'square' ? '' : 'rounded-md';
161
+ const showValue = el['showValue'] !== false;
162
+ body = (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx("span", { className: `inline-block border border-border ${shapeCls}`.trim(), style: { width, height, backgroundColor: hex }, "aria-label": hex }), showValue && (_jsx("span", { className: "font-mono text-xs text-muted-foreground", children: hex }))] }));
163
+ break;
164
+ }
165
+ case 'code': {
166
+ const isBlank = value === null || value === undefined || value === '';
167
+ if (isBlank) {
168
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
169
+ break;
170
+ }
171
+ const text = typeof value === 'string' ? value : String(value);
172
+ const lang = el['language'] ? String(el['language']) : undefined;
173
+ body = (_jsx("pre", { className: "rounded-md border border-border bg-muted/40 p-3 text-xs overflow-x-auto", "data-language": lang, children: _jsx("code", { className: "font-mono", children: text }) }));
174
+ break;
175
+ }
176
+ case 'component': {
177
+ const componentName = String(el['component'] ?? '');
178
+ if (!componentName) {
179
+ body = (_jsxs(EntryComponentError, { children: ["ComponentEntry is missing its ", _jsx("code", { className: "font-mono", children: "component" }), " name \u2014 set ", _jsx("code", { className: "font-mono", children: "static componentName = '...'" }), " on the subclass or call ", _jsx("code", { className: "font-mono", children: ".component('...')" }), " in the fluent form."] }));
180
+ break;
181
+ }
182
+ const Component = getEntryComponent(componentName);
183
+ if (!Component) {
184
+ body = (_jsxs(EntryComponentError, { children: ["No component registered under name ", _jsx("code", { className: "font-mono", children: componentName }), ". Register it at app boot:", _jsx("pre", { className: "mt-2 overflow-x-auto rounded bg-amber-100/60 p-2 text-xs dark:bg-amber-900/30", children: `import { registerEntryComponents } from '@pilotiq/pilotiq/entries'\nregisterEntryComponents({ ${componentName}: ${componentName} })` })] }));
185
+ break;
186
+ }
187
+ // Render-time errors propagate to React's nearest error boundary —
188
+ // surfacing them inline here would require wrapping every entry in
189
+ // its own boundary, which v1 doesn't ship. The two pre-render
190
+ // sentinels above (missing name / missing registration) cover the
191
+ // typical wiring mistakes.
192
+ body = _jsx(Component, { value: value });
193
+ break;
194
+ }
195
+ case 'repeatable': {
196
+ // Read-only sibling of `Repeater`. Reads `meta.rows` (resolved by
197
+ // `resolveRepeatableRows`) and dispatches on the chosen layout —
198
+ // `table > grid > stack`. Empty / non-array state falls through to
199
+ // the inherited `default()` placeholder, same as every other entry.
200
+ const rows = el['rows'] ?? [];
201
+ if (rows.length === 0) {
202
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
203
+ break;
204
+ }
205
+ const tableCfg = el['table'];
206
+ const gridN = el['grid'];
207
+ const innerCols = el['columns'];
208
+ const contained = el['contained'] !== false;
209
+ if (tableCfg && tableCfg.columns.length > 0) {
210
+ const cols = tableCfg.columns;
211
+ body = (_jsxs("table", { className: "w-full border border-border text-sm", children: [cols.some(c => c.width) && (_jsx("colgroup", { children: cols.map((c, i) => (_jsx("col", { style: c.width ? { width: c.width } : undefined }, i))) })), _jsx("thead", { children: _jsx("tr", { className: "bg-muted/50 text-left text-xs font-medium uppercase tracking-wide text-muted-foreground", children: cols.map((c, i) => (_jsx("th", { className: `border-b border-border px-2 py-1 ${c.alignment === 'right' ? 'text-right' : c.alignment === 'center' ? 'text-center' : ''}`.trim(), children: c.label }, i))) }) }), _jsx("tbody", { children: rows.map(row => (_jsx("tr", { className: "border-t border-border first:border-t-0 align-top", children: row.children.map((child, i) => {
212
+ const align = cols[i]?.alignment;
213
+ const alignCls = align === 'right' ? 'text-right' : align === 'center' ? 'text-center' : '';
214
+ return (_jsx("td", { className: `px-2 py-1 ${alignCls}`.trim(), children: renderElement(child, i) }, i));
215
+ }) }, row.id))) })] }));
216
+ break;
217
+ }
218
+ const cardCls = contained
219
+ ? 'rounded-md border border-border p-3 bg-background'
220
+ : '';
221
+ const innerColsCls = innerCols && innerCols >= 2
222
+ ? `grid gap-3 grid-cols-1 md:grid-cols-${Math.min(innerCols, 6)}`
223
+ : 'space-y-2';
224
+ const cards = rows.map(row => (_jsx("div", { className: `${cardCls} ${innerColsCls}`.trim(), children: row.children.map((child, i) => renderElement(child, i)) }, row.id)));
225
+ if (gridN && gridN >= 2) {
226
+ const cap = Math.min(gridN, 6);
227
+ body = (_jsx("div", { className: `w-full grid gap-3 grid-cols-1 md:grid-cols-${cap}`, children: cards }));
228
+ break;
229
+ }
230
+ body = _jsx("div", { className: "w-full space-y-3", children: cards });
231
+ break;
232
+ }
233
+ default:
234
+ body = _jsx("span", { className: "text-sm text-muted-foreground", children: fallback });
235
+ }
236
+ const copyable = el['copyable'];
237
+ const copyValue = el['_formatted'] !== undefined
238
+ ? String(el['_formatted'])
239
+ : value === null || value === undefined
240
+ ? ''
241
+ : typeof value === 'object'
242
+ ? JSON.stringify(value)
243
+ : String(value);
244
+ return (_jsx(EntryShell, { el: el, copyValue: copyable !== undefined ? copyValue : undefined, copyableLabel: copyable?.label, children: body }, index));
245
+ }
246
+ function EntryShell({ el, copyValue, copyableLabel, children }) {
247
+ const label = String(el['label'] ?? '');
248
+ const helperText = el['helperText'] ? String(el['helperText']) : undefined;
249
+ const tooltipText = el['tooltip'] ? String(el['tooltip']) : undefined;
250
+ const inline = el['inlineLabel'] === true;
251
+ const labelNode = label ? (_jsxs("div", { className: "flex items-center gap-1.5 text-sm font-medium text-muted-foreground", children: [_jsx("span", { children: label }), tooltipText && _jsx(EntryTooltip, { text: tooltipText })] })) : null;
252
+ const valueRow = (_jsxs("div", { className: "flex items-center gap-2", children: [children, copyValue !== undefined && (_jsx(EntryCopyButton, { text: copyValue, label: copyableLabel ?? 'Copy' }))] }));
253
+ if (inline) {
254
+ return (_jsxs("div", { className: "flex items-baseline gap-3", children: [labelNode && _jsx("div", { className: "min-w-32", children: labelNode }), _jsxs("div", { className: "min-w-0 flex-1", children: [valueRow, helperText && _jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: helperText })] })] }));
255
+ }
256
+ return (_jsxs("div", { className: "space-y-1", children: [labelNode, valueRow, helperText && _jsx("p", { className: "text-xs text-muted-foreground", children: helperText })] }));
257
+ }
258
+ function EntryComponentError({ children }) {
259
+ return (_jsx("div", { role: "alert", className: "rounded-md border border-amber-500/40 bg-amber-50 p-3 text-sm text-amber-800 dark:bg-amber-950/30 dark:text-amber-200", children: children }));
260
+ }
261
+ function EntryTooltip({ text }) {
262
+ const trigger = (_jsx("button", { type: "button", className: "inline-flex h-3.5 w-3.5 items-center justify-center rounded-full border text-[10px] text-muted-foreground", "aria-label": text, children: "?" }));
263
+ return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: () => trigger }), _jsx(TooltipContent, { children: text })] }) }));
264
+ }
265
+ function EntryCopyButton({ text, label }) {
266
+ const [copied, setCopied] = useState(false);
267
+ const handleClick = () => {
268
+ if (typeof navigator !== 'undefined' && navigator.clipboard) {
269
+ navigator.clipboard.writeText(text).then(() => {
270
+ setCopied(true);
271
+ setTimeout(() => setCopied(false), 1500);
272
+ }).catch(() => { });
273
+ }
274
+ };
275
+ return (_jsx("button", { type: "button", onClick: handleClick, "aria-label": label, title: label, className: "inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-muted", children: copied ? _jsx(CheckIcon, { className: "size-3.5" }) : _jsx(CopyIcon, { className: "size-3.5" }) }));
276
+ }
277
+ //# sourceMappingURL=EntryRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntryRenderer.js","sourceRoot":"","sources":["../../../src/react/schemaRenderer/EntryRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { ElementMeta } from '../../schema/Element.js';
3
+ /**
4
+ * `Section` chrome with optional collapse + persisted open/closed state.
5
+ * Renders a card-style border, header (title / description / icon / badge
6
+ * / after-header actions), body, and the collapse toggle when enabled.
7
+ *
8
+ * `renderElement` is injected so the body can re-enter the main switch
9
+ * without creating a SchemaRenderer ↔ SectionRenderer import cycle.
10
+ */
11
+ export declare function SectionRenderer({ el, index, renderElement, }: {
12
+ el: ElementMeta;
13
+ index: number;
14
+ renderElement: (el: ElementMeta, index: number) => React.ReactNode;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=SectionRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionRenderer.d.ts","sourceRoot":"","sources":["../../../src/react/schemaRenderer/SectionRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAM1D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,KAAK,EACL,aAAa,GACd,EAAE;IACD,EAAE,EAAa,WAAW,CAAA;IAC1B,KAAK,EAAU,MAAM,CAAA;IACrB,aAAa,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;CACnE,2CAgGA"}