@pilotiq/pilotiq 0.1.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 (1409) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/CHANGELOG.md +11 -0
  3. package/CLAUDE.md +207 -0
  4. package/LICENSE +21 -0
  5. package/dist/Cluster.d.ts +56 -0
  6. package/dist/Cluster.d.ts.map +1 -0
  7. package/dist/Cluster.js +62 -0
  8. package/dist/Cluster.js.map +1 -0
  9. package/dist/Column.d.ts +378 -0
  10. package/dist/Column.d.ts.map +1 -0
  11. package/dist/Column.js +434 -0
  12. package/dist/Column.js.map +1 -0
  13. package/dist/Global.d.ts +123 -0
  14. package/dist/Global.d.ts.map +1 -0
  15. package/dist/Global.js +124 -0
  16. package/dist/Global.js.map +1 -0
  17. package/dist/Page.d.ts +90 -0
  18. package/dist/Page.d.ts.map +1 -0
  19. package/dist/Page.js +107 -0
  20. package/dist/Page.js.map +1 -0
  21. package/dist/Pilotiq.d.ts +505 -0
  22. package/dist/Pilotiq.d.ts.map +1 -0
  23. package/dist/Pilotiq.js +463 -0
  24. package/dist/Pilotiq.js.map +1 -0
  25. package/dist/PilotiqRegistry.d.ts +10 -0
  26. package/dist/PilotiqRegistry.d.ts.map +1 -0
  27. package/dist/PilotiqRegistry.js +32 -0
  28. package/dist/PilotiqRegistry.js.map +1 -0
  29. package/dist/PilotiqServiceProvider.d.ts +16 -0
  30. package/dist/PilotiqServiceProvider.d.ts.map +1 -0
  31. package/dist/PilotiqServiceProvider.js +57 -0
  32. package/dist/PilotiqServiceProvider.js.map +1 -0
  33. package/dist/RelationManager.d.ts +372 -0
  34. package/dist/RelationManager.d.ts.map +1 -0
  35. package/dist/RelationManager.js +342 -0
  36. package/dist/RelationManager.js.map +1 -0
  37. package/dist/RenderHook.d.ts +86 -0
  38. package/dist/RenderHook.d.ts.map +1 -0
  39. package/dist/RenderHook.js +116 -0
  40. package/dist/RenderHook.js.map +1 -0
  41. package/dist/Resource.d.ts +290 -0
  42. package/dist/Resource.d.ts.map +1 -0
  43. package/dist/Resource.js +362 -0
  44. package/dist/Resource.js.map +1 -0
  45. package/dist/RightPanel.d.ts +92 -0
  46. package/dist/RightPanel.d.ts.map +1 -0
  47. package/dist/RightPanel.js +61 -0
  48. package/dist/RightPanel.js.map +1 -0
  49. package/dist/Tab.d.ts +92 -0
  50. package/dist/Tab.d.ts.map +1 -0
  51. package/dist/Tab.js +93 -0
  52. package/dist/Tab.js.map +1 -0
  53. package/dist/UserMenuItem.d.ts +76 -0
  54. package/dist/UserMenuItem.d.ts.map +1 -0
  55. package/dist/UserMenuItem.js +87 -0
  56. package/dist/UserMenuItem.js.map +1 -0
  57. package/dist/actions/Action.d.ts +888 -0
  58. package/dist/actions/Action.d.ts.map +1 -0
  59. package/dist/actions/Action.js +1652 -0
  60. package/dist/actions/Action.js.map +1 -0
  61. package/dist/actions/ActionGroup.d.ts +85 -0
  62. package/dist/actions/ActionGroup.d.ts.map +1 -0
  63. package/dist/actions/ActionGroup.js +132 -0
  64. package/dist/actions/ActionGroup.js.map +1 -0
  65. package/dist/actions/attachFactory.d.ts +67 -0
  66. package/dist/actions/attachFactory.d.ts.map +1 -0
  67. package/dist/actions/attachFactory.js +115 -0
  68. package/dist/actions/attachFactory.js.map +1 -0
  69. package/dist/actions/exportFactory.d.ts +88 -0
  70. package/dist/actions/exportFactory.d.ts.map +1 -0
  71. package/dist/actions/exportFactory.js +144 -0
  72. package/dist/actions/exportFactory.js.map +1 -0
  73. package/dist/actions/importFactory.d.ts +97 -0
  74. package/dist/actions/importFactory.d.ts.map +1 -0
  75. package/dist/actions/importFactory.js +143 -0
  76. package/dist/actions/importFactory.js.map +1 -0
  77. package/dist/actions/index.d.ts +3 -0
  78. package/dist/actions/index.d.ts.map +1 -0
  79. package/dist/actions/index.js +3 -0
  80. package/dist/actions/index.js.map +1 -0
  81. package/dist/applyPageHooks.d.ts +54 -0
  82. package/dist/applyPageHooks.d.ts.map +1 -0
  83. package/dist/applyPageHooks.js +149 -0
  84. package/dist/applyPageHooks.js.map +1 -0
  85. package/dist/cells/coerce.d.ts +25 -0
  86. package/dist/cells/coerce.d.ts.map +1 -0
  87. package/dist/cells/coerce.js +87 -0
  88. package/dist/cells/coerce.js.map +1 -0
  89. package/dist/clusterPaths.d.ts +9 -0
  90. package/dist/clusterPaths.d.ts.map +1 -0
  91. package/dist/clusterPaths.js +19 -0
  92. package/dist/clusterPaths.js.map +1 -0
  93. package/dist/columns/BadgeColumn.d.ts +16 -0
  94. package/dist/columns/BadgeColumn.d.ts.map +1 -0
  95. package/dist/columns/BadgeColumn.js +25 -0
  96. package/dist/columns/BadgeColumn.js.map +1 -0
  97. package/dist/columns/BooleanColumn.d.ts +10 -0
  98. package/dist/columns/BooleanColumn.d.ts.map +1 -0
  99. package/dist/columns/BooleanColumn.js +18 -0
  100. package/dist/columns/BooleanColumn.js.map +1 -0
  101. package/dist/columns/ColorColumn.d.ts +27 -0
  102. package/dist/columns/ColorColumn.d.ts.map +1 -0
  103. package/dist/columns/ColorColumn.js +35 -0
  104. package/dist/columns/ColorColumn.js.map +1 -0
  105. package/dist/columns/IconColumn.d.ts +22 -0
  106. package/dist/columns/IconColumn.d.ts.map +1 -0
  107. package/dist/columns/IconColumn.js +28 -0
  108. package/dist/columns/IconColumn.js.map +1 -0
  109. package/dist/columns/ImageColumn.d.ts +17 -0
  110. package/dist/columns/ImageColumn.d.ts.map +1 -0
  111. package/dist/columns/ImageColumn.js +24 -0
  112. package/dist/columns/ImageColumn.js.map +1 -0
  113. package/dist/columns/SelectColumn.d.ts +36 -0
  114. package/dist/columns/SelectColumn.d.ts.map +1 -0
  115. package/dist/columns/SelectColumn.js +52 -0
  116. package/dist/columns/SelectColumn.js.map +1 -0
  117. package/dist/columns/TextColumn.d.ts +18 -0
  118. package/dist/columns/TextColumn.d.ts.map +1 -0
  119. package/dist/columns/TextColumn.js +20 -0
  120. package/dist/columns/TextColumn.js.map +1 -0
  121. package/dist/columns/TextInputColumn.d.ts +47 -0
  122. package/dist/columns/TextInputColumn.d.ts.map +1 -0
  123. package/dist/columns/TextInputColumn.js +60 -0
  124. package/dist/columns/TextInputColumn.js.map +1 -0
  125. package/dist/columns/ToggleColumn.d.ts +32 -0
  126. package/dist/columns/ToggleColumn.d.ts.map +1 -0
  127. package/dist/columns/ToggleColumn.js +45 -0
  128. package/dist/columns/ToggleColumn.js.map +1 -0
  129. package/dist/columns/index.d.ts +10 -0
  130. package/dist/columns/index.d.ts.map +1 -0
  131. package/dist/columns/index.js +10 -0
  132. package/dist/columns/index.js.map +1 -0
  133. package/dist/defaultGlobalPages.d.ts +11 -0
  134. package/dist/defaultGlobalPages.d.ts.map +1 -0
  135. package/dist/defaultGlobalPages.js +87 -0
  136. package/dist/defaultGlobalPages.js.map +1 -0
  137. package/dist/defaultPages.d.ts +247 -0
  138. package/dist/defaultPages.d.ts.map +1 -0
  139. package/dist/defaultPages.js +558 -0
  140. package/dist/defaultPages.js.map +1 -0
  141. package/dist/elements/Form.d.ts +219 -0
  142. package/dist/elements/Form.d.ts.map +1 -0
  143. package/dist/elements/Form.js +259 -0
  144. package/dist/elements/Form.js.map +1 -0
  145. package/dist/elements/ListTabs.d.ts +17 -0
  146. package/dist/elements/ListTabs.d.ts.map +1 -0
  147. package/dist/elements/ListTabs.js +23 -0
  148. package/dist/elements/ListTabs.js.map +1 -0
  149. package/dist/elements/Table.d.ts +535 -0
  150. package/dist/elements/Table.d.ts.map +1 -0
  151. package/dist/elements/Table.js +481 -0
  152. package/dist/elements/Table.js.map +1 -0
  153. package/dist/elements/TableGroup.d.ts +121 -0
  154. package/dist/elements/TableGroup.d.ts.map +1 -0
  155. package/dist/elements/TableGroup.js +162 -0
  156. package/dist/elements/TableGroup.js.map +1 -0
  157. package/dist/elements/dispatchAction.d.ts +127 -0
  158. package/dist/elements/dispatchAction.d.ts.map +1 -0
  159. package/dist/elements/dispatchAction.js +254 -0
  160. package/dist/elements/dispatchAction.js.map +1 -0
  161. package/dist/elements/dispatchForm.d.ts +220 -0
  162. package/dist/elements/dispatchForm.d.ts.map +1 -0
  163. package/dist/elements/dispatchForm.js +1645 -0
  164. package/dist/elements/dispatchForm.js.map +1 -0
  165. package/dist/elements/dispatchTable.d.ts +69 -0
  166. package/dist/elements/dispatchTable.d.ts.map +1 -0
  167. package/dist/elements/dispatchTable.js +606 -0
  168. package/dist/elements/dispatchTable.js.map +1 -0
  169. package/dist/elements/index.d.ts +3 -0
  170. package/dist/elements/index.d.ts.map +1 -0
  171. package/dist/elements/index.js +3 -0
  172. package/dist/elements/index.js.map +1 -0
  173. package/dist/entries/BadgeEntry.d.ts +21 -0
  174. package/dist/entries/BadgeEntry.d.ts.map +1 -0
  175. package/dist/entries/BadgeEntry.js +32 -0
  176. package/dist/entries/BadgeEntry.js.map +1 -0
  177. package/dist/entries/CodeEntry.d.ts +38 -0
  178. package/dist/entries/CodeEntry.d.ts.map +1 -0
  179. package/dist/entries/CodeEntry.js +44 -0
  180. package/dist/entries/CodeEntry.js.map +1 -0
  181. package/dist/entries/ColorEntry.d.ts +32 -0
  182. package/dist/entries/ColorEntry.d.ts.map +1 -0
  183. package/dist/entries/ColorEntry.js +48 -0
  184. package/dist/entries/ColorEntry.js.map +1 -0
  185. package/dist/entries/ComponentEntry.d.ts +66 -0
  186. package/dist/entries/ComponentEntry.d.ts.map +1 -0
  187. package/dist/entries/ComponentEntry.js +86 -0
  188. package/dist/entries/ComponentEntry.js.map +1 -0
  189. package/dist/entries/Entry.d.ts +175 -0
  190. package/dist/entries/Entry.d.ts.map +1 -0
  191. package/dist/entries/Entry.js +233 -0
  192. package/dist/entries/Entry.js.map +1 -0
  193. package/dist/entries/IconEntry.d.ts +30 -0
  194. package/dist/entries/IconEntry.d.ts.map +1 -0
  195. package/dist/entries/IconEntry.js +34 -0
  196. package/dist/entries/IconEntry.js.map +1 -0
  197. package/dist/entries/ImageEntry.d.ts +33 -0
  198. package/dist/entries/ImageEntry.d.ts.map +1 -0
  199. package/dist/entries/ImageEntry.js +47 -0
  200. package/dist/entries/ImageEntry.js.map +1 -0
  201. package/dist/entries/KeyValueEntry.d.ts +30 -0
  202. package/dist/entries/KeyValueEntry.d.ts.map +1 -0
  203. package/dist/entries/KeyValueEntry.js +38 -0
  204. package/dist/entries/KeyValueEntry.js.map +1 -0
  205. package/dist/entries/RepeatableEntry.d.ts +122 -0
  206. package/dist/entries/RepeatableEntry.d.ts.map +1 -0
  207. package/dist/entries/RepeatableEntry.js +121 -0
  208. package/dist/entries/RepeatableEntry.js.map +1 -0
  209. package/dist/entries/TextEntry.d.ts +38 -0
  210. package/dist/entries/TextEntry.d.ts.map +1 -0
  211. package/dist/entries/TextEntry.js +49 -0
  212. package/dist/entries/TextEntry.js.map +1 -0
  213. package/dist/entries/index.d.ts +2 -0
  214. package/dist/entries/index.d.ts.map +1 -0
  215. package/dist/entries/index.js +8 -0
  216. package/dist/entries/index.js.map +1 -0
  217. package/dist/entries/registry.d.ts +41 -0
  218. package/dist/entries/registry.d.ts.map +1 -0
  219. package/dist/entries/registry.js +17 -0
  220. package/dist/entries/registry.js.map +1 -0
  221. package/dist/fields/BuilderField.d.ts +420 -0
  222. package/dist/fields/BuilderField.d.ts.map +1 -0
  223. package/dist/fields/BuilderField.js +359 -0
  224. package/dist/fields/BuilderField.js.map +1 -0
  225. package/dist/fields/CheckboxField.d.ts +18 -0
  226. package/dist/fields/CheckboxField.d.ts.map +1 -0
  227. package/dist/fields/CheckboxField.js +23 -0
  228. package/dist/fields/CheckboxField.js.map +1 -0
  229. package/dist/fields/CheckboxListField.d.ts +25 -0
  230. package/dist/fields/CheckboxListField.d.ts.map +1 -0
  231. package/dist/fields/CheckboxListField.js +46 -0
  232. package/dist/fields/CheckboxListField.js.map +1 -0
  233. package/dist/fields/ColorPickerField.d.ts +16 -0
  234. package/dist/fields/ColorPickerField.d.ts.map +1 -0
  235. package/dist/fields/ColorPickerField.js +21 -0
  236. package/dist/fields/ColorPickerField.js.map +1 -0
  237. package/dist/fields/DateField.d.ts +29 -0
  238. package/dist/fields/DateField.d.ts.map +1 -0
  239. package/dist/fields/DateField.js +45 -0
  240. package/dist/fields/DateField.js.map +1 -0
  241. package/dist/fields/EmailField.d.ts +8 -0
  242. package/dist/fields/EmailField.d.ts.map +1 -0
  243. package/dist/fields/EmailField.js +13 -0
  244. package/dist/fields/EmailField.js.map +1 -0
  245. package/dist/fields/Field.d.ts +485 -0
  246. package/dist/fields/Field.d.ts.map +1 -0
  247. package/dist/fields/Field.js +539 -0
  248. package/dist/fields/Field.js.map +1 -0
  249. package/dist/fields/FileUploadField.d.ts +43 -0
  250. package/dist/fields/FileUploadField.d.ts.map +1 -0
  251. package/dist/fields/FileUploadField.js +60 -0
  252. package/dist/fields/FileUploadField.js.map +1 -0
  253. package/dist/fields/HiddenField.d.ts +19 -0
  254. package/dist/fields/HiddenField.d.ts.map +1 -0
  255. package/dist/fields/HiddenField.js +24 -0
  256. package/dist/fields/HiddenField.js.map +1 -0
  257. package/dist/fields/KeyValueField.d.ts +36 -0
  258. package/dist/fields/KeyValueField.d.ts.map +1 -0
  259. package/dist/fields/KeyValueField.js +47 -0
  260. package/dist/fields/KeyValueField.js.map +1 -0
  261. package/dist/fields/MarkdownField.d.ts +79 -0
  262. package/dist/fields/MarkdownField.d.ts.map +1 -0
  263. package/dist/fields/MarkdownField.js +117 -0
  264. package/dist/fields/MarkdownField.js.map +1 -0
  265. package/dist/fields/NumberField.d.ts +17 -0
  266. package/dist/fields/NumberField.d.ts.map +1 -0
  267. package/dist/fields/NumberField.js +27 -0
  268. package/dist/fields/NumberField.js.map +1 -0
  269. package/dist/fields/RadioField.d.ts +26 -0
  270. package/dist/fields/RadioField.d.ts.map +1 -0
  271. package/dist/fields/RadioField.js +47 -0
  272. package/dist/fields/RadioField.js.map +1 -0
  273. package/dist/fields/RepeaterField.d.ts +594 -0
  274. package/dist/fields/RepeaterField.d.ts.map +1 -0
  275. package/dist/fields/RepeaterField.js +504 -0
  276. package/dist/fields/RepeaterField.js.map +1 -0
  277. package/dist/fields/RowButton.d.ts +86 -0
  278. package/dist/fields/RowButton.d.ts.map +1 -0
  279. package/dist/fields/RowButton.js +85 -0
  280. package/dist/fields/RowButton.js.map +1 -0
  281. package/dist/fields/SelectField.d.ts +127 -0
  282. package/dist/fields/SelectField.d.ts.map +1 -0
  283. package/dist/fields/SelectField.js +160 -0
  284. package/dist/fields/SelectField.js.map +1 -0
  285. package/dist/fields/SliderField.d.ts +31 -0
  286. package/dist/fields/SliderField.d.ts.map +1 -0
  287. package/dist/fields/SliderField.js +45 -0
  288. package/dist/fields/SliderField.js.map +1 -0
  289. package/dist/fields/SlugField.d.ts +11 -0
  290. package/dist/fields/SlugField.d.ts.map +1 -0
  291. package/dist/fields/SlugField.js +19 -0
  292. package/dist/fields/SlugField.js.map +1 -0
  293. package/dist/fields/TagsInputField.d.ts +65 -0
  294. package/dist/fields/TagsInputField.d.ts.map +1 -0
  295. package/dist/fields/TagsInputField.js +104 -0
  296. package/dist/fields/TagsInputField.js.map +1 -0
  297. package/dist/fields/TextField.d.ts +11 -0
  298. package/dist/fields/TextField.d.ts.map +1 -0
  299. package/dist/fields/TextField.js +19 -0
  300. package/dist/fields/TextField.js.map +1 -0
  301. package/dist/fields/TextareaField.d.ts +40 -0
  302. package/dist/fields/TextareaField.d.ts.map +1 -0
  303. package/dist/fields/TextareaField.js +51 -0
  304. package/dist/fields/TextareaField.js.map +1 -0
  305. package/dist/fields/ToggleButtonsField.d.ts +24 -0
  306. package/dist/fields/ToggleButtonsField.d.ts.map +1 -0
  307. package/dist/fields/ToggleButtonsField.js +41 -0
  308. package/dist/fields/ToggleButtonsField.js.map +1 -0
  309. package/dist/fields/ToggleField.d.ts +8 -0
  310. package/dist/fields/ToggleField.d.ts.map +1 -0
  311. package/dist/fields/ToggleField.js +13 -0
  312. package/dist/fields/ToggleField.js.map +1 -0
  313. package/dist/fields/optionsResolver.d.ts +54 -0
  314. package/dist/fields/optionsResolver.d.ts.map +1 -0
  315. package/dist/fields/optionsResolver.js +62 -0
  316. package/dist/fields/optionsResolver.js.map +1 -0
  317. package/dist/fields/resolveField.d.ts +21 -0
  318. package/dist/fields/resolveField.d.ts.map +1 -0
  319. package/dist/fields/resolveField.js +26 -0
  320. package/dist/fields/resolveField.js.map +1 -0
  321. package/dist/filters/BooleanFilter.d.ts +20 -0
  322. package/dist/filters/BooleanFilter.d.ts.map +1 -0
  323. package/dist/filters/BooleanFilter.js +31 -0
  324. package/dist/filters/BooleanFilter.js.map +1 -0
  325. package/dist/filters/DateRangeFilter.d.ts +68 -0
  326. package/dist/filters/DateRangeFilter.d.ts.map +1 -0
  327. package/dist/filters/DateRangeFilter.js +137 -0
  328. package/dist/filters/DateRangeFilter.js.map +1 -0
  329. package/dist/filters/Filter.d.ts +140 -0
  330. package/dist/filters/Filter.d.ts.map +1 -0
  331. package/dist/filters/Filter.js +99 -0
  332. package/dist/filters/Filter.js.map +1 -0
  333. package/dist/filters/FormFilter.d.ts +103 -0
  334. package/dist/filters/FormFilter.d.ts.map +1 -0
  335. package/dist/filters/FormFilter.js +180 -0
  336. package/dist/filters/FormFilter.js.map +1 -0
  337. package/dist/filters/MultiSelectFilter.d.ts +41 -0
  338. package/dist/filters/MultiSelectFilter.d.ts.map +1 -0
  339. package/dist/filters/MultiSelectFilter.js +67 -0
  340. package/dist/filters/MultiSelectFilter.js.map +1 -0
  341. package/dist/filters/QueryBuilderFilter.d.ts +145 -0
  342. package/dist/filters/QueryBuilderFilter.d.ts.map +1 -0
  343. package/dist/filters/QueryBuilderFilter.js +323 -0
  344. package/dist/filters/QueryBuilderFilter.js.map +1 -0
  345. package/dist/filters/SelectFilter.d.ts +26 -0
  346. package/dist/filters/SelectFilter.d.ts.map +1 -0
  347. package/dist/filters/SelectFilter.js +35 -0
  348. package/dist/filters/SelectFilter.js.map +1 -0
  349. package/dist/filters/TernaryFilter.d.ts +35 -0
  350. package/dist/filters/TernaryFilter.d.ts.map +1 -0
  351. package/dist/filters/TernaryFilter.js +71 -0
  352. package/dist/filters/TernaryFilter.js.map +1 -0
  353. package/dist/filters/TrashedFilter.d.ts +28 -0
  354. package/dist/filters/TrashedFilter.d.ts.map +1 -0
  355. package/dist/filters/TrashedFilter.js +52 -0
  356. package/dist/filters/TrashedFilter.js.map +1 -0
  357. package/dist/filters/queryBuilder/BooleanConstraint.d.ts +13 -0
  358. package/dist/filters/queryBuilder/BooleanConstraint.d.ts.map +1 -0
  359. package/dist/filters/queryBuilder/BooleanConstraint.js +27 -0
  360. package/dist/filters/queryBuilder/BooleanConstraint.js.map +1 -0
  361. package/dist/filters/queryBuilder/Constraint.d.ts +74 -0
  362. package/dist/filters/queryBuilder/Constraint.d.ts.map +1 -0
  363. package/dist/filters/queryBuilder/Constraint.js +45 -0
  364. package/dist/filters/queryBuilder/Constraint.js.map +1 -0
  365. package/dist/filters/queryBuilder/DateConstraint.d.ts +18 -0
  366. package/dist/filters/queryBuilder/DateConstraint.d.ts.map +1 -0
  367. package/dist/filters/queryBuilder/DateConstraint.js +63 -0
  368. package/dist/filters/queryBuilder/DateConstraint.js.map +1 -0
  369. package/dist/filters/queryBuilder/NumberConstraint.d.ts +12 -0
  370. package/dist/filters/queryBuilder/NumberConstraint.d.ts.map +1 -0
  371. package/dist/filters/queryBuilder/NumberConstraint.js +61 -0
  372. package/dist/filters/queryBuilder/NumberConstraint.js.map +1 -0
  373. package/dist/filters/queryBuilder/SelectConstraint.d.ts +22 -0
  374. package/dist/filters/queryBuilder/SelectConstraint.d.ts.map +1 -0
  375. package/dist/filters/queryBuilder/SelectConstraint.js +66 -0
  376. package/dist/filters/queryBuilder/SelectConstraint.js.map +1 -0
  377. package/dist/filters/queryBuilder/TextConstraint.d.ts +18 -0
  378. package/dist/filters/queryBuilder/TextConstraint.d.ts.map +1 -0
  379. package/dist/filters/queryBuilder/TextConstraint.js +58 -0
  380. package/dist/filters/queryBuilder/TextConstraint.js.map +1 -0
  381. package/dist/filters/queryBuilder/index.d.ts +7 -0
  382. package/dist/filters/queryBuilder/index.d.ts.map +1 -0
  383. package/dist/filters/queryBuilder/index.js +7 -0
  384. package/dist/filters/queryBuilder/index.js.map +1 -0
  385. package/dist/icons/index.d.ts +3 -0
  386. package/dist/icons/index.d.ts.map +1 -0
  387. package/dist/icons/index.js +3 -0
  388. package/dist/icons/index.js.map +1 -0
  389. package/dist/icons/lucide.d.ts +16 -0
  390. package/dist/icons/lucide.d.ts.map +1 -0
  391. package/dist/icons/lucide.js +173 -0
  392. package/dist/icons/lucide.js.map +1 -0
  393. package/dist/icons/registry.d.ts +27 -0
  394. package/dist/icons/registry.d.ts.map +1 -0
  395. package/dist/icons/registry.js +35 -0
  396. package/dist/icons/registry.js.map +1 -0
  397. package/dist/icons/types.d.ts +38 -0
  398. package/dist/icons/types.d.ts.map +1 -0
  399. package/dist/icons/types.js +23 -0
  400. package/dist/icons/types.js.map +1 -0
  401. package/dist/index.d.ts +118 -0
  402. package/dist/index.d.ts.map +1 -0
  403. package/dist/index.js +135 -0
  404. package/dist/index.js.map +1 -0
  405. package/dist/io/csv.d.ts +51 -0
  406. package/dist/io/csv.d.ts.map +1 -0
  407. package/dist/io/csv.js +168 -0
  408. package/dist/io/csv.js.map +1 -0
  409. package/dist/notifications/Notification.d.ts +181 -0
  410. package/dist/notifications/Notification.d.ts.map +1 -0
  411. package/dist/notifications/Notification.js +290 -0
  412. package/dist/notifications/Notification.js.map +1 -0
  413. package/dist/notifications/broadcast.d.ts +58 -0
  414. package/dist/notifications/broadcast.d.ts.map +1 -0
  415. package/dist/notifications/broadcast.js +72 -0
  416. package/dist/notifications/broadcast.js.map +1 -0
  417. package/dist/notifications/database.d.ts +164 -0
  418. package/dist/notifications/database.d.ts.map +1 -0
  419. package/dist/notifications/database.js +321 -0
  420. package/dist/notifications/database.js.map +1 -0
  421. package/dist/notifications/dispatchNotificationAction.d.ts +48 -0
  422. package/dist/notifications/dispatchNotificationAction.d.ts.map +1 -0
  423. package/dist/notifications/dispatchNotificationAction.js +100 -0
  424. package/dist/notifications/dispatchNotificationAction.js.map +1 -0
  425. package/dist/notifications/flash.d.ts +34 -0
  426. package/dist/notifications/flash.d.ts.map +1 -0
  427. package/dist/notifications/flash.js +51 -0
  428. package/dist/notifications/flash.js.map +1 -0
  429. package/dist/notifications/index.d.ts +8 -0
  430. package/dist/notifications/index.d.ts.map +1 -0
  431. package/dist/notifications/index.js +6 -0
  432. package/dist/notifications/index.js.map +1 -0
  433. package/dist/notifications/registerBroadcastAuth.d.ts +45 -0
  434. package/dist/notifications/registerBroadcastAuth.d.ts.map +1 -0
  435. package/dist/notifications/registerBroadcastAuth.js +86 -0
  436. package/dist/notifications/registerBroadcastAuth.js.map +1 -0
  437. package/dist/notifications/resolveSavedNotification.d.ts +21 -0
  438. package/dist/notifications/resolveSavedNotification.d.ts.map +1 -0
  439. package/dist/notifications/resolveSavedNotification.js +43 -0
  440. package/dist/notifications/resolveSavedNotification.js.map +1 -0
  441. package/dist/notifications/types.d.ts +87 -0
  442. package/dist/notifications/types.d.ts.map +1 -0
  443. package/dist/notifications/types.js +2 -0
  444. package/dist/notifications/types.js.map +1 -0
  445. package/dist/orm/m2mAccessor.d.ts +49 -0
  446. package/dist/orm/m2mAccessor.d.ts.map +1 -0
  447. package/dist/orm/m2mAccessor.js +45 -0
  448. package/dist/orm/m2mAccessor.js.map +1 -0
  449. package/dist/orm/modelDefaults.d.ts +347 -0
  450. package/dist/orm/modelDefaults.d.ts.map +1 -0
  451. package/dist/orm/modelDefaults.js +375 -0
  452. package/dist/orm/modelDefaults.js.map +1 -0
  453. package/dist/pageData.d.ts +778 -0
  454. package/dist/pageData.d.ts.map +1 -0
  455. package/dist/pageData.js +3725 -0
  456. package/dist/pageData.js.map +1 -0
  457. package/dist/plugins/index.d.ts +2 -0
  458. package/dist/plugins/index.d.ts.map +1 -0
  459. package/dist/plugins/index.js +2 -0
  460. package/dist/plugins/index.js.map +1 -0
  461. package/dist/plugins/themeEditor.d.ts +17 -0
  462. package/dist/plugins/themeEditor.d.ts.map +1 -0
  463. package/dist/plugins/themeEditor.js +23 -0
  464. package/dist/plugins/themeEditor.js.map +1 -0
  465. package/dist/react/AppShell.d.ts +58 -0
  466. package/dist/react/AppShell.d.ts.map +1 -0
  467. package/dist/react/AppShell.js +58 -0
  468. package/dist/react/AppShell.js.map +1 -0
  469. package/dist/react/CommandPalette.d.ts +21 -0
  470. package/dist/react/CommandPalette.d.ts.map +1 -0
  471. package/dist/react/CommandPalette.js +236 -0
  472. package/dist/react/CommandPalette.js.map +1 -0
  473. package/dist/react/FormStateContext.d.ts +83 -0
  474. package/dist/react/FormStateContext.d.ts.map +1 -0
  475. package/dist/react/FormStateContext.js +284 -0
  476. package/dist/react/FormStateContext.js.map +1 -0
  477. package/dist/react/HeadHooks.d.ts +26 -0
  478. package/dist/react/HeadHooks.d.ts.map +1 -0
  479. package/dist/react/HeadHooks.js +141 -0
  480. package/dist/react/HeadHooks.js.map +1 -0
  481. package/dist/react/NotificationActionStrip.d.ts +39 -0
  482. package/dist/react/NotificationActionStrip.d.ts.map +1 -0
  483. package/dist/react/NotificationActionStrip.js +129 -0
  484. package/dist/react/NotificationActionStrip.js.map +1 -0
  485. package/dist/react/NotificationBell.d.ts +20 -0
  486. package/dist/react/NotificationBell.d.ts.map +1 -0
  487. package/dist/react/NotificationBell.js +273 -0
  488. package/dist/react/NotificationBell.js.map +1 -0
  489. package/dist/react/RenderHookSlot.d.ts +20 -0
  490. package/dist/react/RenderHookSlot.d.ts.map +1 -0
  491. package/dist/react/RenderHookSlot.js +24 -0
  492. package/dist/react/RenderHookSlot.js.map +1 -0
  493. package/dist/react/RightSidebar.d.ts +33 -0
  494. package/dist/react/RightSidebar.d.ts.map +1 -0
  495. package/dist/react/RightSidebar.js +82 -0
  496. package/dist/react/RightSidebar.js.map +1 -0
  497. package/dist/react/RightSidebarContext.d.ts +62 -0
  498. package/dist/react/RightSidebarContext.d.ts.map +1 -0
  499. package/dist/react/RightSidebarContext.js +178 -0
  500. package/dist/react/RightSidebarContext.js.map +1 -0
  501. package/dist/react/RightSidebarTrigger.d.ts +16 -0
  502. package/dist/react/RightSidebarTrigger.d.ts.map +1 -0
  503. package/dist/react/RightSidebarTrigger.js +24 -0
  504. package/dist/react/RightSidebarTrigger.js.map +1 -0
  505. package/dist/react/SchemaRenderer.d.ts +63 -0
  506. package/dist/react/SchemaRenderer.d.ts.map +1 -0
  507. package/dist/react/SchemaRenderer.js +3458 -0
  508. package/dist/react/SchemaRenderer.js.map +1 -0
  509. package/dist/react/SearchTrigger.d.ts +13 -0
  510. package/dist/react/SearchTrigger.d.ts.map +1 -0
  511. package/dist/react/SearchTrigger.js +30 -0
  512. package/dist/react/SearchTrigger.js.map +1 -0
  513. package/dist/react/ThemeProvider.d.ts +18 -0
  514. package/dist/react/ThemeProvider.d.ts.map +1 -0
  515. package/dist/react/ThemeProvider.js +66 -0
  516. package/dist/react/ThemeProvider.js.map +1 -0
  517. package/dist/react/ThemeSettingsPage.d.ts +10 -0
  518. package/dist/react/ThemeSettingsPage.d.ts.map +1 -0
  519. package/dist/react/ThemeSettingsPage.js +293 -0
  520. package/dist/react/ThemeSettingsPage.js.map +1 -0
  521. package/dist/react/ThemeToggle.d.ts +2 -0
  522. package/dist/react/ThemeToggle.d.ts.map +1 -0
  523. package/dist/react/ThemeToggle.js +8 -0
  524. package/dist/react/ThemeToggle.js.map +1 -0
  525. package/dist/react/Toaster.d.ts +25 -0
  526. package/dist/react/Toaster.d.ts.map +1 -0
  527. package/dist/react/Toaster.js +89 -0
  528. package/dist/react/Toaster.js.map +1 -0
  529. package/dist/react/UserMenu.d.ts +23 -0
  530. package/dist/react/UserMenu.d.ts.map +1 -0
  531. package/dist/react/UserMenu.js +78 -0
  532. package/dist/react/UserMenu.js.map +1 -0
  533. package/dist/react/WidgetDataContext.d.ts +64 -0
  534. package/dist/react/WidgetDataContext.d.ts.map +1 -0
  535. package/dist/react/WidgetDataContext.js +89 -0
  536. package/dist/react/WidgetDataContext.js.map +1 -0
  537. package/dist/react/cells/EditableCell.d.ts +20 -0
  538. package/dist/react/cells/EditableCell.d.ts.map +1 -0
  539. package/dist/react/cells/EditableCell.js +251 -0
  540. package/dist/react/cells/EditableCell.js.map +1 -0
  541. package/dist/react/fieldJsHandler.d.ts +33 -0
  542. package/dist/react/fieldJsHandler.d.ts.map +1 -0
  543. package/dist/react/fieldJsHandler.js +61 -0
  544. package/dist/react/fieldJsHandler.js.map +1 -0
  545. package/dist/react/fields/BuilderInput.d.ts +21 -0
  546. package/dist/react/fields/BuilderInput.d.ts.map +1 -0
  547. package/dist/react/fields/BuilderInput.js +553 -0
  548. package/dist/react/fields/BuilderInput.js.map +1 -0
  549. package/dist/react/fields/CheckboxInput.d.ts +9 -0
  550. package/dist/react/fields/CheckboxInput.d.ts.map +1 -0
  551. package/dist/react/fields/CheckboxInput.js +23 -0
  552. package/dist/react/fields/CheckboxInput.js.map +1 -0
  553. package/dist/react/fields/CheckboxListInput.d.ts +19 -0
  554. package/dist/react/fields/CheckboxListInput.d.ts.map +1 -0
  555. package/dist/react/fields/CheckboxListInput.js +53 -0
  556. package/dist/react/fields/CheckboxListInput.js.map +1 -0
  557. package/dist/react/fields/ColorInput.d.ts +12 -0
  558. package/dist/react/fields/ColorInput.d.ts.map +1 -0
  559. package/dist/react/fields/ColorInput.js +29 -0
  560. package/dist/react/fields/ColorInput.js.map +1 -0
  561. package/dist/react/fields/DateFieldInput.d.ts +8 -0
  562. package/dist/react/fields/DateFieldInput.d.ts.map +1 -0
  563. package/dist/react/fields/DateFieldInput.js +39 -0
  564. package/dist/react/fields/DateFieldInput.js.map +1 -0
  565. package/dist/react/fields/DateTimeInput.d.ts +13 -0
  566. package/dist/react/fields/DateTimeInput.d.ts.map +1 -0
  567. package/dist/react/fields/DateTimeInput.js +29 -0
  568. package/dist/react/fields/DateTimeInput.js.map +1 -0
  569. package/dist/react/fields/FieldShell.d.ts +23 -0
  570. package/dist/react/fields/FieldShell.d.ts.map +1 -0
  571. package/dist/react/fields/FieldShell.js +46 -0
  572. package/dist/react/fields/FieldShell.js.map +1 -0
  573. package/dist/react/fields/FileUploadInput.d.ts +21 -0
  574. package/dist/react/fields/FileUploadInput.d.ts.map +1 -0
  575. package/dist/react/fields/FileUploadInput.js +120 -0
  576. package/dist/react/fields/FileUploadInput.js.map +1 -0
  577. package/dist/react/fields/HiddenInput.d.ts +11 -0
  578. package/dist/react/fields/HiddenInput.d.ts.map +1 -0
  579. package/dist/react/fields/HiddenInput.js +14 -0
  580. package/dist/react/fields/HiddenInput.js.map +1 -0
  581. package/dist/react/fields/KeyValueInput.d.ts +18 -0
  582. package/dist/react/fields/KeyValueInput.d.ts.map +1 -0
  583. package/dist/react/fields/KeyValueInput.js +122 -0
  584. package/dist/react/fields/KeyValueInput.js.map +1 -0
  585. package/dist/react/fields/MarkdownInput.d.ts +29 -0
  586. package/dist/react/fields/MarkdownInput.d.ts.map +1 -0
  587. package/dist/react/fields/MarkdownInput.js +250 -0
  588. package/dist/react/fields/MarkdownInput.js.map +1 -0
  589. package/dist/react/fields/RadioInput.d.ts +18 -0
  590. package/dist/react/fields/RadioInput.d.ts.map +1 -0
  591. package/dist/react/fields/RadioInput.js +34 -0
  592. package/dist/react/fields/RadioInput.js.map +1 -0
  593. package/dist/react/fields/RepeaterInput.d.ts +92 -0
  594. package/dist/react/fields/RepeaterInput.d.ts.map +1 -0
  595. package/dist/react/fields/RepeaterInput.js +705 -0
  596. package/dist/react/fields/RepeaterInput.js.map +1 -0
  597. package/dist/react/fields/SelectFieldInput.d.ts +23 -0
  598. package/dist/react/fields/SelectFieldInput.d.ts.map +1 -0
  599. package/dist/react/fields/SelectFieldInput.js +146 -0
  600. package/dist/react/fields/SelectFieldInput.js.map +1 -0
  601. package/dist/react/fields/SliderInput.d.ts +16 -0
  602. package/dist/react/fields/SliderInput.d.ts.map +1 -0
  603. package/dist/react/fields/SliderInput.js +37 -0
  604. package/dist/react/fields/SliderInput.js.map +1 -0
  605. package/dist/react/fields/TagsInput.d.ts +27 -0
  606. package/dist/react/fields/TagsInput.d.ts.map +1 -0
  607. package/dist/react/fields/TagsInput.js +189 -0
  608. package/dist/react/fields/TagsInput.js.map +1 -0
  609. package/dist/react/fields/TextLikeInput.d.ts +18 -0
  610. package/dist/react/fields/TextLikeInput.d.ts.map +1 -0
  611. package/dist/react/fields/TextLikeInput.js +46 -0
  612. package/dist/react/fields/TextLikeInput.js.map +1 -0
  613. package/dist/react/fields/ToggleButtonsInput.d.ts +20 -0
  614. package/dist/react/fields/ToggleButtonsInput.d.ts.map +1 -0
  615. package/dist/react/fields/ToggleButtonsInput.js +42 -0
  616. package/dist/react/fields/ToggleButtonsInput.js.map +1 -0
  617. package/dist/react/fields/ToggleFieldInput.d.ts +7 -0
  618. package/dist/react/fields/ToggleFieldInput.d.ts.map +1 -0
  619. package/dist/react/fields/ToggleFieldInput.js +30 -0
  620. package/dist/react/fields/ToggleFieldInput.js.map +1 -0
  621. package/dist/react/fields/rowChromeButton.d.ts +84 -0
  622. package/dist/react/fields/rowChromeButton.d.ts.map +1 -0
  623. package/dist/react/fields/rowChromeButton.js +111 -0
  624. package/dist/react/fields/rowChromeButton.js.map +1 -0
  625. package/dist/react/fields/syncRowGates.d.ts +11 -0
  626. package/dist/react/fields/syncRowGates.d.ts.map +1 -0
  627. package/dist/react/fields/syncRowGates.js +55 -0
  628. package/dist/react/fields/syncRowGates.js.map +1 -0
  629. package/dist/react/formStateHelpers.d.ts +44 -0
  630. package/dist/react/formStateHelpers.d.ts.map +1 -0
  631. package/dist/react/formStateHelpers.js +230 -0
  632. package/dist/react/formStateHelpers.js.map +1 -0
  633. package/dist/react/hooks/use-mobile.d.ts +2 -0
  634. package/dist/react/hooks/use-mobile.d.ts.map +1 -0
  635. package/dist/react/hooks/use-mobile.js +16 -0
  636. package/dist/react/hooks/use-mobile.js.map +1 -0
  637. package/dist/react/icon-context.d.ts +35 -0
  638. package/dist/react/icon-context.d.ts.map +1 -0
  639. package/dist/react/icon-context.js +45 -0
  640. package/dist/react/icon-context.js.map +1 -0
  641. package/dist/react/index.d.ts +26 -0
  642. package/dist/react/index.d.ts.map +1 -0
  643. package/dist/react/index.js +28 -0
  644. package/dist/react/index.js.map +1 -0
  645. package/dist/react/layouts/SidebarLayout.d.ts +3 -0
  646. package/dist/react/layouts/SidebarLayout.d.ts.map +1 -0
  647. package/dist/react/layouts/SidebarLayout.js +85 -0
  648. package/dist/react/layouts/SidebarLayout.js.map +1 -0
  649. package/dist/react/layouts/TopbarLayout.d.ts +3 -0
  650. package/dist/react/layouts/TopbarLayout.d.ts.map +1 -0
  651. package/dist/react/layouts/TopbarLayout.js +103 -0
  652. package/dist/react/layouts/TopbarLayout.js.map +1 -0
  653. package/dist/react/navigate.d.ts +22 -0
  654. package/dist/react/navigate.d.ts.map +1 -0
  655. package/dist/react/navigate.js +30 -0
  656. package/dist/react/navigate.js.map +1 -0
  657. package/dist/react/registry.d.ts +35 -0
  658. package/dist/react/registry.d.ts.map +1 -0
  659. package/dist/react/registry.js +22 -0
  660. package/dist/react/registry.js.map +1 -0
  661. package/dist/react/right-panel-registry.d.ts +32 -0
  662. package/dist/react/right-panel-registry.d.ts.map +1 -0
  663. package/dist/react/right-panel-registry.js +20 -0
  664. package/dist/react/right-panel-registry.js.map +1 -0
  665. package/dist/react/theme-preview/apply.d.ts +11 -0
  666. package/dist/react/theme-preview/apply.d.ts.map +1 -0
  667. package/dist/react/theme-preview/apply.js +93 -0
  668. package/dist/react/theme-preview/apply.js.map +1 -0
  669. package/dist/react/theme-preview/build-html.d.ts +3 -0
  670. package/dist/react/theme-preview/build-html.d.ts.map +1 -0
  671. package/dist/react/theme-preview/build-html.js +437 -0
  672. package/dist/react/theme-preview/build-html.js.map +1 -0
  673. package/dist/react/ui/button.d.ts +9 -0
  674. package/dist/react/ui/button.d.ts.map +1 -0
  675. package/dist/react/ui/button.js +35 -0
  676. package/dist/react/ui/button.js.map +1 -0
  677. package/dist/react/ui/calendar.d.ts +5 -0
  678. package/dist/react/ui/calendar.d.ts.map +1 -0
  679. package/dist/react/ui/calendar.js +34 -0
  680. package/dist/react/ui/calendar.js.map +1 -0
  681. package/dist/react/ui/checkbox.d.ts +4 -0
  682. package/dist/react/ui/checkbox.d.ts.map +1 -0
  683. package/dist/react/ui/checkbox.js +9 -0
  684. package/dist/react/ui/checkbox.js.map +1 -0
  685. package/dist/react/ui/dialog.d.ts +12 -0
  686. package/dist/react/ui/dialog.d.ts.map +1 -0
  687. package/dist/react/ui/dialog.js +34 -0
  688. package/dist/react/ui/dialog.js.map +1 -0
  689. package/dist/react/ui/dropdown-menu.d.ts +12 -0
  690. package/dist/react/ui/dropdown-menu.d.ts.map +1 -0
  691. package/dist/react/ui/dropdown-menu.js +23 -0
  692. package/dist/react/ui/dropdown-menu.js.map +1 -0
  693. package/dist/react/ui/input.d.ts +4 -0
  694. package/dist/react/ui/input.d.ts.map +1 -0
  695. package/dist/react/ui/input.js +8 -0
  696. package/dist/react/ui/input.js.map +1 -0
  697. package/dist/react/ui/label.d.ts +4 -0
  698. package/dist/react/ui/label.d.ts.map +1 -0
  699. package/dist/react/ui/label.js +7 -0
  700. package/dist/react/ui/label.js.map +1 -0
  701. package/dist/react/ui/popover.d.ts +6 -0
  702. package/dist/react/ui/popover.d.ts.map +1 -0
  703. package/dist/react/ui/popover.js +14 -0
  704. package/dist/react/ui/popover.js.map +1 -0
  705. package/dist/react/ui/select.d.ts +17 -0
  706. package/dist/react/ui/select.d.ts.map +1 -0
  707. package/dist/react/ui/select.js +39 -0
  708. package/dist/react/ui/select.js.map +1 -0
  709. package/dist/react/ui/separator.d.ts +4 -0
  710. package/dist/react/ui/separator.d.ts.map +1 -0
  711. package/dist/react/ui/separator.js +9 -0
  712. package/dist/react/ui/separator.js.map +1 -0
  713. package/dist/react/ui/sheet.d.ts +15 -0
  714. package/dist/react/ui/sheet.d.ts.map +1 -0
  715. package/dist/react/ui/sheet.js +37 -0
  716. package/dist/react/ui/sheet.js.map +1 -0
  717. package/dist/react/ui/sidebar.d.ts +64 -0
  718. package/dist/react/ui/sidebar.d.ts.map +1 -0
  719. package/dist/react/ui/sidebar.js +257 -0
  720. package/dist/react/ui/sidebar.js.map +1 -0
  721. package/dist/react/ui/skeleton.d.ts +3 -0
  722. package/dist/react/ui/skeleton.d.ts.map +1 -0
  723. package/dist/react/ui/skeleton.js +7 -0
  724. package/dist/react/ui/skeleton.js.map +1 -0
  725. package/dist/react/ui/slider.d.ts +4 -0
  726. package/dist/react/ui/slider.d.ts.map +1 -0
  727. package/dist/react/ui/slider.js +8 -0
  728. package/dist/react/ui/slider.js.map +1 -0
  729. package/dist/react/ui/switch.d.ts +4 -0
  730. package/dist/react/ui/switch.d.ts.map +1 -0
  731. package/dist/react/ui/switch.js +8 -0
  732. package/dist/react/ui/switch.js.map +1 -0
  733. package/dist/react/ui/table.d.ts +11 -0
  734. package/dist/react/ui/table.d.ts.map +1 -0
  735. package/dist/react/ui/table.js +28 -0
  736. package/dist/react/ui/table.js.map +1 -0
  737. package/dist/react/ui/tabs.d.ts +7 -0
  738. package/dist/react/ui/tabs.d.ts.map +1 -0
  739. package/dist/react/ui/tabs.js +17 -0
  740. package/dist/react/ui/tabs.js.map +1 -0
  741. package/dist/react/ui/textarea.d.ts +4 -0
  742. package/dist/react/ui/textarea.d.ts.map +1 -0
  743. package/dist/react/ui/textarea.js +7 -0
  744. package/dist/react/ui/textarea.js.map +1 -0
  745. package/dist/react/ui/tooltip.d.ts +7 -0
  746. package/dist/react/ui/tooltip.d.ts.map +1 -0
  747. package/dist/react/ui/tooltip.js +17 -0
  748. package/dist/react/ui/tooltip.js.map +1 -0
  749. package/dist/react/useResizableWidth.d.ts +47 -0
  750. package/dist/react/useResizableWidth.d.ts.map +1 -0
  751. package/dist/react/useResizableWidth.js +99 -0
  752. package/dist/react/useResizableWidth.js.map +1 -0
  753. package/dist/react/utils.d.ts +3 -0
  754. package/dist/react/utils.d.ts.map +1 -0
  755. package/dist/react/utils.js +6 -0
  756. package/dist/react/utils.js.map +1 -0
  757. package/dist/react/widgetRegistry.d.ts +33 -0
  758. package/dist/react/widgetRegistry.d.ts.map +1 -0
  759. package/dist/react/widgetRegistry.js +15 -0
  760. package/dist/react/widgetRegistry.js.map +1 -0
  761. package/dist/react/widgets/StatsOverviewRenderer.d.ts +6 -0
  762. package/dist/react/widgets/StatsOverviewRenderer.d.ts.map +1 -0
  763. package/dist/react/widgets/StatsOverviewRenderer.js +124 -0
  764. package/dist/react/widgets/StatsOverviewRenderer.js.map +1 -0
  765. package/dist/react/widgets/TableWidgetRenderer.d.ts +6 -0
  766. package/dist/react/widgets/TableWidgetRenderer.d.ts.map +1 -0
  767. package/dist/react/widgets/TableWidgetRenderer.js +123 -0
  768. package/dist/react/widgets/TableWidgetRenderer.js.map +1 -0
  769. package/dist/react/widgets/ViewRenderer.d.ts +16 -0
  770. package/dist/react/widgets/ViewRenderer.d.ts.map +1 -0
  771. package/dist/react/widgets/ViewRenderer.js +26 -0
  772. package/dist/react/widgets/ViewRenderer.js.map +1 -0
  773. package/dist/richtext/index.d.ts +2 -0
  774. package/dist/richtext/index.d.ts.map +1 -0
  775. package/dist/richtext/index.js +2 -0
  776. package/dist/richtext/index.js.map +1 -0
  777. package/dist/richtext/registry.d.ts +55 -0
  778. package/dist/richtext/registry.d.ts.map +1 -0
  779. package/dist/richtext/registry.js +66 -0
  780. package/dist/richtext/registry.js.map +1 -0
  781. package/dist/routes.d.ts +9 -0
  782. package/dist/routes.d.ts.map +1 -0
  783. package/dist/routes.js +3116 -0
  784. package/dist/routes.js.map +1 -0
  785. package/dist/schema/Alert.d.ts +33 -0
  786. package/dist/schema/Alert.d.ts.map +1 -0
  787. package/dist/schema/Alert.js +41 -0
  788. package/dist/schema/Alert.js.map +1 -0
  789. package/dist/schema/Block.d.ts +112 -0
  790. package/dist/schema/Block.d.ts.map +1 -0
  791. package/dist/schema/Block.js +136 -0
  792. package/dist/schema/Block.js.map +1 -0
  793. package/dist/schema/Breadcrumbs.d.ts +31 -0
  794. package/dist/schema/Breadcrumbs.d.ts.map +1 -0
  795. package/dist/schema/Breadcrumbs.js +30 -0
  796. package/dist/schema/Breadcrumbs.js.map +1 -0
  797. package/dist/schema/Card.d.ts +17 -0
  798. package/dist/schema/Card.d.ts.map +1 -0
  799. package/dist/schema/Card.js +31 -0
  800. package/dist/schema/Card.js.map +1 -0
  801. package/dist/schema/Divider.d.ts +12 -0
  802. package/dist/schema/Divider.d.ts.map +1 -0
  803. package/dist/schema/Divider.js +19 -0
  804. package/dist/schema/Divider.js.map +1 -0
  805. package/dist/schema/Element.d.ts +150 -0
  806. package/dist/schema/Element.d.ts.map +1 -0
  807. package/dist/schema/Element.js +124 -0
  808. package/dist/schema/Element.js.map +1 -0
  809. package/dist/schema/EmptyState.d.ts +48 -0
  810. package/dist/schema/EmptyState.d.ts.map +1 -0
  811. package/dist/schema/EmptyState.js +57 -0
  812. package/dist/schema/EmptyState.js.map +1 -0
  813. package/dist/schema/Fieldset.d.ts +25 -0
  814. package/dist/schema/Fieldset.d.ts.map +1 -0
  815. package/dist/schema/Fieldset.js +39 -0
  816. package/dist/schema/Fieldset.js.map +1 -0
  817. package/dist/schema/Grid.d.ts +23 -0
  818. package/dist/schema/Grid.d.ts.map +1 -0
  819. package/dist/schema/Grid.js +36 -0
  820. package/dist/schema/Grid.js.map +1 -0
  821. package/dist/schema/Group.d.ts +19 -0
  822. package/dist/schema/Group.d.ts.map +1 -0
  823. package/dist/schema/Group.js +26 -0
  824. package/dist/schema/Group.js.map +1 -0
  825. package/dist/schema/Heading.d.ts +25 -0
  826. package/dist/schema/Heading.d.ts.map +1 -0
  827. package/dist/schema/Heading.js +34 -0
  828. package/dist/schema/Heading.js.map +1 -0
  829. package/dist/schema/Html.d.ts +48 -0
  830. package/dist/schema/Html.d.ts.map +1 -0
  831. package/dist/schema/Html.js +60 -0
  832. package/dist/schema/Html.js.map +1 -0
  833. package/dist/schema/Icon.d.ts +34 -0
  834. package/dist/schema/Icon.d.ts.map +1 -0
  835. package/dist/schema/Icon.js +40 -0
  836. package/dist/schema/Icon.js.map +1 -0
  837. package/dist/schema/Image.d.ts +38 -0
  838. package/dist/schema/Image.d.ts.map +1 -0
  839. package/dist/schema/Image.js +48 -0
  840. package/dist/schema/Image.js.map +1 -0
  841. package/dist/schema/LinkTag.d.ts +48 -0
  842. package/dist/schema/LinkTag.d.ts.map +1 -0
  843. package/dist/schema/LinkTag.js +16 -0
  844. package/dist/schema/LinkTag.js.map +1 -0
  845. package/dist/schema/Markdown.d.ts +57 -0
  846. package/dist/schema/Markdown.d.ts.map +1 -0
  847. package/dist/schema/Markdown.js +75 -0
  848. package/dist/schema/Markdown.js.map +1 -0
  849. package/dist/schema/MetaTag.d.ts +41 -0
  850. package/dist/schema/MetaTag.d.ts.map +1 -0
  851. package/dist/schema/MetaTag.js +16 -0
  852. package/dist/schema/MetaTag.js.map +1 -0
  853. package/dist/schema/RelationTabs.d.ts +50 -0
  854. package/dist/schema/RelationTabs.d.ts.map +1 -0
  855. package/dist/schema/RelationTabs.js +48 -0
  856. package/dist/schema/RelationTabs.js.map +1 -0
  857. package/dist/schema/ScriptTag.d.ts +63 -0
  858. package/dist/schema/ScriptTag.d.ts.map +1 -0
  859. package/dist/schema/ScriptTag.js +16 -0
  860. package/dist/schema/ScriptTag.js.map +1 -0
  861. package/dist/schema/Section.d.ts +93 -0
  862. package/dist/schema/Section.d.ts.map +1 -0
  863. package/dist/schema/Section.js +127 -0
  864. package/dist/schema/Section.js.map +1 -0
  865. package/dist/schema/ServerDataElement.d.ts +101 -0
  866. package/dist/schema/ServerDataElement.d.ts.map +1 -0
  867. package/dist/schema/ServerDataElement.js +135 -0
  868. package/dist/schema/ServerDataElement.js.map +1 -0
  869. package/dist/schema/Split.d.ts +31 -0
  870. package/dist/schema/Split.d.ts.map +1 -0
  871. package/dist/schema/Split.js +41 -0
  872. package/dist/schema/Split.js.map +1 -0
  873. package/dist/schema/Stat.d.ts +92 -0
  874. package/dist/schema/Stat.d.ts.map +1 -0
  875. package/dist/schema/Stat.js +116 -0
  876. package/dist/schema/Stat.js.map +1 -0
  877. package/dist/schema/StatsOverview.d.ts +76 -0
  878. package/dist/schema/StatsOverview.d.ts.map +1 -0
  879. package/dist/schema/StatsOverview.js +71 -0
  880. package/dist/schema/StatsOverview.js.map +1 -0
  881. package/dist/schema/StyleTag.d.ts +32 -0
  882. package/dist/schema/StyleTag.d.ts.map +1 -0
  883. package/dist/schema/StyleTag.js +38 -0
  884. package/dist/schema/StyleTag.js.map +1 -0
  885. package/dist/schema/TableWidget.d.ts +148 -0
  886. package/dist/schema/TableWidget.d.ts.map +1 -0
  887. package/dist/schema/TableWidget.js +190 -0
  888. package/dist/schema/TableWidget.js.map +1 -0
  889. package/dist/schema/Tabs.d.ts +40 -0
  890. package/dist/schema/Tabs.d.ts.map +1 -0
  891. package/dist/schema/Tabs.js +66 -0
  892. package/dist/schema/Tabs.js.map +1 -0
  893. package/dist/schema/Text.d.ts +33 -0
  894. package/dist/schema/Text.d.ts.map +1 -0
  895. package/dist/schema/Text.js +40 -0
  896. package/dist/schema/Text.js.map +1 -0
  897. package/dist/schema/UnorderedList.d.ts +36 -0
  898. package/dist/schema/UnorderedList.d.ts.map +1 -0
  899. package/dist/schema/UnorderedList.js +42 -0
  900. package/dist/schema/UnorderedList.js.map +1 -0
  901. package/dist/schema/View.d.ts +81 -0
  902. package/dist/schema/View.d.ts.map +1 -0
  903. package/dist/schema/View.js +81 -0
  904. package/dist/schema/View.js.map +1 -0
  905. package/dist/schema/Wizard.d.ts +67 -0
  906. package/dist/schema/Wizard.d.ts.map +1 -0
  907. package/dist/schema/Wizard.js +94 -0
  908. package/dist/schema/Wizard.js.map +1 -0
  909. package/dist/schema/index.d.ts +26 -0
  910. package/dist/schema/index.d.ts.map +1 -0
  911. package/dist/schema/index.js +26 -0
  912. package/dist/schema/index.js.map +1 -0
  913. package/dist/schema/resolveSchema.d.ts +122 -0
  914. package/dist/schema/resolveSchema.d.ts.map +1 -0
  915. package/dist/schema/resolveSchema.js +648 -0
  916. package/dist/schema/resolveSchema.js.map +1 -0
  917. package/dist/schema/sanitize.d.ts +21 -0
  918. package/dist/schema/sanitize.d.ts.map +1 -0
  919. package/dist/schema/sanitize.js +46 -0
  920. package/dist/schema/sanitize.js.map +1 -0
  921. package/dist/search.d.ts +53 -0
  922. package/dist/search.d.ts.map +1 -0
  923. package/dist/search.js +114 -0
  924. package/dist/search.js.map +1 -0
  925. package/dist/sessionFilters.d.ts +8 -0
  926. package/dist/sessionFilters.d.ts.map +1 -0
  927. package/dist/sessionFilters.js +115 -0
  928. package/dist/sessionFilters.js.map +1 -0
  929. package/dist/summarizers/Summarizer.d.ts +65 -0
  930. package/dist/summarizers/Summarizer.d.ts.map +1 -0
  931. package/dist/summarizers/Summarizer.js +98 -0
  932. package/dist/summarizers/Summarizer.js.map +1 -0
  933. package/dist/summarizers/index.d.ts +2 -0
  934. package/dist/summarizers/index.d.ts.map +1 -0
  935. package/dist/summarizers/index.js +2 -0
  936. package/dist/summarizers/index.js.map +1 -0
  937. package/dist/theme/base-colors.d.ts +3 -0
  938. package/dist/theme/base-colors.d.ts.map +1 -0
  939. package/dist/theme/base-colors.js +64 -0
  940. package/dist/theme/base-colors.js.map +1 -0
  941. package/dist/theme/chart-colors.d.ts +3 -0
  942. package/dist/theme/chart-colors.d.ts.map +1 -0
  943. package/dist/theme/chart-colors.js +46 -0
  944. package/dist/theme/chart-colors.js.map +1 -0
  945. package/dist/theme/colors.d.ts +56 -0
  946. package/dist/theme/colors.d.ts.map +1 -0
  947. package/dist/theme/colors.js +410 -0
  948. package/dist/theme/colors.js.map +1 -0
  949. package/dist/theme/generate-css.d.ts +9 -0
  950. package/dist/theme/generate-css.d.ts.map +1 -0
  951. package/dist/theme/generate-css.js +36 -0
  952. package/dist/theme/generate-css.js.map +1 -0
  953. package/dist/theme/generate-scale.d.ts +3 -0
  954. package/dist/theme/generate-scale.d.ts.map +1 -0
  955. package/dist/theme/generate-scale.js +89 -0
  956. package/dist/theme/generate-scale.js.map +1 -0
  957. package/dist/theme/icon-map.d.ts +9 -0
  958. package/dist/theme/icon-map.d.ts.map +1 -0
  959. package/dist/theme/icon-map.js +40 -0
  960. package/dist/theme/icon-map.js.map +1 -0
  961. package/dist/theme/index.d.ts +15 -0
  962. package/dist/theme/index.d.ts.map +1 -0
  963. package/dist/theme/index.js +13 -0
  964. package/dist/theme/index.js.map +1 -0
  965. package/dist/theme/migrate.d.ts +14 -0
  966. package/dist/theme/migrate.d.ts.map +1 -0
  967. package/dist/theme/migrate.js +79 -0
  968. package/dist/theme/migrate.js.map +1 -0
  969. package/dist/theme/presets.d.ts +30 -0
  970. package/dist/theme/presets.d.ts.map +1 -0
  971. package/dist/theme/presets.js +128 -0
  972. package/dist/theme/presets.js.map +1 -0
  973. package/dist/theme/radius.d.ts +11 -0
  974. package/dist/theme/radius.d.ts.map +1 -0
  975. package/dist/theme/radius.js +17 -0
  976. package/dist/theme/radius.js.map +1 -0
  977. package/dist/theme/resolve.d.ts +13 -0
  978. package/dist/theme/resolve.d.ts.map +1 -0
  979. package/dist/theme/resolve.js +91 -0
  980. package/dist/theme/resolve.js.map +1 -0
  981. package/dist/theme/spacing.d.ts +14 -0
  982. package/dist/theme/spacing.d.ts.map +1 -0
  983. package/dist/theme/spacing.js +17 -0
  984. package/dist/theme/spacing.js.map +1 -0
  985. package/dist/theme/theme-colors.d.ts +9 -0
  986. package/dist/theme/theme-colors.d.ts.map +1 -0
  987. package/dist/theme/theme-colors.js +84 -0
  988. package/dist/theme/theme-colors.js.map +1 -0
  989. package/dist/theme/types.d.ts +94 -0
  990. package/dist/theme/types.d.ts.map +1 -0
  991. package/dist/theme/types.js +2 -0
  992. package/dist/theme/types.js.map +1 -0
  993. package/dist/uploads/UploadAdapter.d.ts +34 -0
  994. package/dist/uploads/UploadAdapter.d.ts.map +1 -0
  995. package/dist/uploads/UploadAdapter.js +2 -0
  996. package/dist/uploads/UploadAdapter.js.map +1 -0
  997. package/dist/uploads/index.d.ts +3 -0
  998. package/dist/uploads/index.d.ts.map +1 -0
  999. package/dist/uploads/index.js +2 -0
  1000. package/dist/uploads/index.js.map +1 -0
  1001. package/dist/uploads/localUpload.d.ts +25 -0
  1002. package/dist/uploads/localUpload.d.ts.map +1 -0
  1003. package/dist/uploads/localUpload.js +65 -0
  1004. package/dist/uploads/localUpload.js.map +1 -0
  1005. package/dist/validation/Validator.d.ts +40 -0
  1006. package/dist/validation/Validator.d.ts.map +1 -0
  1007. package/dist/validation/Validator.js +25 -0
  1008. package/dist/validation/Validator.js.map +1 -0
  1009. package/dist/validation/index.d.ts +5 -0
  1010. package/dist/validation/index.d.ts.map +1 -0
  1011. package/dist/validation/index.js +5 -0
  1012. package/dist/validation/index.js.map +1 -0
  1013. package/dist/validation/rules.d.ts +9 -0
  1014. package/dist/validation/rules.d.ts.map +1 -0
  1015. package/dist/validation/rules.js +61 -0
  1016. package/dist/validation/rules.js.map +1 -0
  1017. package/dist/validation/runValidators.d.ts +30 -0
  1018. package/dist/validation/runValidators.d.ts.map +1 -0
  1019. package/dist/validation/runValidators.js +438 -0
  1020. package/dist/validation/runValidators.js.map +1 -0
  1021. package/dist/validation/uniqueValidator.d.ts +61 -0
  1022. package/dist/validation/uniqueValidator.d.ts.map +1 -0
  1023. package/dist/validation/uniqueValidator.js +80 -0
  1024. package/dist/validation/uniqueValidator.js.map +1 -0
  1025. package/dist/vite.d.ts +19 -0
  1026. package/dist/vite.d.ts.map +1 -0
  1027. package/dist/vite.js +696 -0
  1028. package/dist/vite.js.map +1 -0
  1029. package/dist/widgets/index.d.ts +2 -0
  1030. package/dist/widgets/index.d.ts.map +1 -0
  1031. package/dist/widgets/index.js +7 -0
  1032. package/dist/widgets/index.js.map +1 -0
  1033. package/dist/widgets/registry.d.ts +32 -0
  1034. package/dist/widgets/registry.d.ts.map +1 -0
  1035. package/dist/widgets/registry.js +17 -0
  1036. package/dist/widgets/registry.js.map +1 -0
  1037. package/package.json +101 -0
  1038. package/src/Cluster.test.ts +283 -0
  1039. package/src/Cluster.ts +83 -0
  1040. package/src/Column.test.ts +140 -0
  1041. package/src/Column.ts +612 -0
  1042. package/src/Global.test.ts +367 -0
  1043. package/src/Global.ts +169 -0
  1044. package/src/Page.test.ts +50 -0
  1045. package/src/Page.ts +139 -0
  1046. package/src/Pilotiq.test.ts +47 -0
  1047. package/src/Pilotiq.ts +705 -0
  1048. package/src/PilotiqRegistry.ts +36 -0
  1049. package/src/PilotiqServiceProvider.ts +69 -0
  1050. package/src/RelationManager.test.ts +400 -0
  1051. package/src/RelationManager.ts +527 -0
  1052. package/src/RenderHook.test.ts +252 -0
  1053. package/src/RenderHook.ts +226 -0
  1054. package/src/Resource.test.ts +240 -0
  1055. package/src/Resource.ts +439 -0
  1056. package/src/RightPanel.test.ts +202 -0
  1057. package/src/RightPanel.ts +132 -0
  1058. package/src/Tab.test.ts +91 -0
  1059. package/src/Tab.ts +156 -0
  1060. package/src/UserMenuItem.ts +145 -0
  1061. package/src/actions/Action.test.ts +2479 -0
  1062. package/src/actions/Action.ts +2124 -0
  1063. package/src/actions/ActionGroup.test.ts +112 -0
  1064. package/src/actions/ActionGroup.ts +173 -0
  1065. package/src/actions/attachFactory.ts +172 -0
  1066. package/src/actions/exportFactory.ts +215 -0
  1067. package/src/actions/importFactory.ts +222 -0
  1068. package/src/actions/index.ts +17 -0
  1069. package/src/applyPageHooks.test.ts +298 -0
  1070. package/src/applyPageHooks.ts +242 -0
  1071. package/src/authorization.test.ts +483 -0
  1072. package/src/breadcrumbs.test.ts +238 -0
  1073. package/src/cells/coerce.test.ts +85 -0
  1074. package/src/cells/coerce.ts +84 -0
  1075. package/src/clusterPaths.ts +35 -0
  1076. package/src/columns/BadgeColumn.test.ts +54 -0
  1077. package/src/columns/BadgeColumn.ts +32 -0
  1078. package/src/columns/BooleanColumn.test.ts +41 -0
  1079. package/src/columns/BooleanColumn.ts +18 -0
  1080. package/src/columns/ColorColumn.test.ts +37 -0
  1081. package/src/columns/ColorColumn.ts +38 -0
  1082. package/src/columns/IconColumn.test.ts +54 -0
  1083. package/src/columns/IconColumn.ts +37 -0
  1084. package/src/columns/ImageColumn.test.ts +41 -0
  1085. package/src/columns/ImageColumn.ts +28 -0
  1086. package/src/columns/SelectColumn.ts +60 -0
  1087. package/src/columns/TextColumn.test.ts +190 -0
  1088. package/src/columns/TextColumn.ts +20 -0
  1089. package/src/columns/TextInputColumn.ts +68 -0
  1090. package/src/columns/ToggleColumn.ts +46 -0
  1091. package/src/columns/editableColumns.test.ts +193 -0
  1092. package/src/columns/index.ts +9 -0
  1093. package/src/defaultGlobalPages.ts +95 -0
  1094. package/src/defaultPages.test.ts +634 -0
  1095. package/src/defaultPages.ts +614 -0
  1096. package/src/defaultViewPage.test.ts +147 -0
  1097. package/src/elements/Form.test.ts +223 -0
  1098. package/src/elements/Form.ts +397 -0
  1099. package/src/elements/ListTabs.ts +28 -0
  1100. package/src/elements/Table.test.ts +422 -0
  1101. package/src/elements/Table.ts +816 -0
  1102. package/src/elements/TableGroup.test.ts +149 -0
  1103. package/src/elements/TableGroup.ts +199 -0
  1104. package/src/elements/dispatchAction.test.ts +463 -0
  1105. package/src/elements/dispatchAction.ts +355 -0
  1106. package/src/elements/dispatchForm.test.ts +455 -0
  1107. package/src/elements/dispatchForm.ts +1855 -0
  1108. package/src/elements/dispatchTable.test.ts +1247 -0
  1109. package/src/elements/dispatchTable.ts +666 -0
  1110. package/src/elements/index.ts +21 -0
  1111. package/src/entries/BadgeEntry.ts +39 -0
  1112. package/src/entries/CodeEntry.test.ts +40 -0
  1113. package/src/entries/CodeEntry.ts +52 -0
  1114. package/src/entries/ColorEntry.ts +63 -0
  1115. package/src/entries/ComponentEntry.test.ts +173 -0
  1116. package/src/entries/ComponentEntry.ts +95 -0
  1117. package/src/entries/Entry.ts +304 -0
  1118. package/src/entries/IconEntry.ts +49 -0
  1119. package/src/entries/ImageEntry.ts +61 -0
  1120. package/src/entries/KeyValueEntry.ts +47 -0
  1121. package/src/entries/RepeatableEntry.test.ts +239 -0
  1122. package/src/entries/RepeatableEntry.ts +173 -0
  1123. package/src/entries/TextEntry.test.ts +394 -0
  1124. package/src/entries/TextEntry.ts +60 -0
  1125. package/src/entries/index.ts +12 -0
  1126. package/src/entries/leaves.test.ts +306 -0
  1127. package/src/entries/registry.ts +54 -0
  1128. package/src/fields/BuilderField.test.ts +1188 -0
  1129. package/src/fields/BuilderField.ts +568 -0
  1130. package/src/fields/BuilderRelationship.test.ts +811 -0
  1131. package/src/fields/CheckboxField.test.ts +44 -0
  1132. package/src/fields/CheckboxField.ts +27 -0
  1133. package/src/fields/CheckboxListField.test.ts +99 -0
  1134. package/src/fields/CheckboxListField.ts +66 -0
  1135. package/src/fields/ColorPickerField.test.ts +33 -0
  1136. package/src/fields/ColorPickerField.ts +25 -0
  1137. package/src/fields/DateField.ts +54 -0
  1138. package/src/fields/DateTimeField.test.ts +55 -0
  1139. package/src/fields/EmailField.ts +16 -0
  1140. package/src/fields/Field.test.ts +639 -0
  1141. package/src/fields/Field.ts +773 -0
  1142. package/src/fields/FileUploadField.test.ts +97 -0
  1143. package/src/fields/FileUploadField.ts +71 -0
  1144. package/src/fields/HiddenField.test.ts +27 -0
  1145. package/src/fields/HiddenField.ts +28 -0
  1146. package/src/fields/KeyValueField.test.ts +105 -0
  1147. package/src/fields/KeyValueField.ts +55 -0
  1148. package/src/fields/MarkdownField.test.ts +167 -0
  1149. package/src/fields/MarkdownField.ts +151 -0
  1150. package/src/fields/NumberField.ts +33 -0
  1151. package/src/fields/RadioField.test.ts +94 -0
  1152. package/src/fields/RadioField.ts +67 -0
  1153. package/src/fields/RepeaterField.test.ts +1806 -0
  1154. package/src/fields/RepeaterField.ts +791 -0
  1155. package/src/fields/RepeaterRelationship.test.ts +1630 -0
  1156. package/src/fields/RepeaterSimple.test.ts +248 -0
  1157. package/src/fields/RowButton.test.ts +149 -0
  1158. package/src/fields/RowButton.ts +125 -0
  1159. package/src/fields/SelectField.test.ts +192 -0
  1160. package/src/fields/SelectField.ts +235 -0
  1161. package/src/fields/SliderField.test.ts +50 -0
  1162. package/src/fields/SliderField.ts +53 -0
  1163. package/src/fields/SlugField.ts +24 -0
  1164. package/src/fields/TagsInputField.test.ts +154 -0
  1165. package/src/fields/TagsInputField.ts +133 -0
  1166. package/src/fields/TextField.ts +24 -0
  1167. package/src/fields/TextareaField.test.ts +58 -0
  1168. package/src/fields/TextareaField.ts +59 -0
  1169. package/src/fields/ToggleButtonsField.test.ts +106 -0
  1170. package/src/fields/ToggleButtonsField.ts +59 -0
  1171. package/src/fields/ToggleField.ts +16 -0
  1172. package/src/fields/disableOptionsWhenSelectedInSiblingRepeaterItems.test.ts +319 -0
  1173. package/src/fields/optionsResolver.ts +95 -0
  1174. package/src/fields/resolveField.ts +28 -0
  1175. package/src/filters/BooleanFilter.ts +35 -0
  1176. package/src/filters/DateRangeFilter.test.ts +194 -0
  1177. package/src/filters/DateRangeFilter.ts +148 -0
  1178. package/src/filters/Filter.test.ts +268 -0
  1179. package/src/filters/Filter.ts +184 -0
  1180. package/src/filters/FormFilter.test.ts +238 -0
  1181. package/src/filters/FormFilter.ts +215 -0
  1182. package/src/filters/MultiSelectFilter.test.ts +119 -0
  1183. package/src/filters/MultiSelectFilter.ts +78 -0
  1184. package/src/filters/QueryBuilderFilter.test.ts +644 -0
  1185. package/src/filters/QueryBuilderFilter.ts +398 -0
  1186. package/src/filters/SelectFilter.ts +46 -0
  1187. package/src/filters/TernaryFilter.test.ts +160 -0
  1188. package/src/filters/TernaryFilter.ts +72 -0
  1189. package/src/filters/TrashedFilter.test.ts +149 -0
  1190. package/src/filters/TrashedFilter.ts +55 -0
  1191. package/src/filters/queryBuilder/BooleanConstraint.ts +31 -0
  1192. package/src/filters/queryBuilder/Constraint.ts +115 -0
  1193. package/src/filters/queryBuilder/DateConstraint.ts +69 -0
  1194. package/src/filters/queryBuilder/NumberConstraint.ts +66 -0
  1195. package/src/filters/queryBuilder/SelectConstraint.ts +72 -0
  1196. package/src/filters/queryBuilder/TextConstraint.ts +65 -0
  1197. package/src/filters/queryBuilder/index.ts +12 -0
  1198. package/src/icons/index.ts +2 -0
  1199. package/src/icons/lucide.ts +204 -0
  1200. package/src/icons/registry.test.ts +56 -0
  1201. package/src/icons/registry.ts +41 -0
  1202. package/src/icons/types.ts +47 -0
  1203. package/src/index.ts +521 -0
  1204. package/src/io/csv.test.ts +142 -0
  1205. package/src/io/csv.ts +170 -0
  1206. package/src/nestedRelationManagerData.test.ts +526 -0
  1207. package/src/notifications/Notification.test.ts +210 -0
  1208. package/src/notifications/Notification.ts +354 -0
  1209. package/src/notifications/broadcast.test.ts +110 -0
  1210. package/src/notifications/broadcast.ts +95 -0
  1211. package/src/notifications/database.test.ts +383 -0
  1212. package/src/notifications/database.ts +398 -0
  1213. package/src/notifications/databaseNotifications.test.ts +187 -0
  1214. package/src/notifications/dispatchNotificationAction.test.ts +341 -0
  1215. package/src/notifications/dispatchNotificationAction.ts +142 -0
  1216. package/src/notifications/flash.test.ts +89 -0
  1217. package/src/notifications/flash.ts +71 -0
  1218. package/src/notifications/index.ts +45 -0
  1219. package/src/notifications/registerBroadcastAuth.test.ts +134 -0
  1220. package/src/notifications/registerBroadcastAuth.ts +100 -0
  1221. package/src/notifications/resolveSavedNotification.test.ts +82 -0
  1222. package/src/notifications/resolveSavedNotification.ts +59 -0
  1223. package/src/notifications/types.ts +93 -0
  1224. package/src/orm/m2mAccessor.ts +66 -0
  1225. package/src/orm/modelDefaults.test.ts +633 -0
  1226. package/src/orm/modelDefaults.ts +632 -0
  1227. package/src/pageData.test.ts +1121 -0
  1228. package/src/pageData.ts +4662 -0
  1229. package/src/plugins/index.ts +1 -0
  1230. package/src/plugins/themeEditor.ts +24 -0
  1231. package/src/react/AppShell.tsx +148 -0
  1232. package/src/react/CommandPalette.tsx +375 -0
  1233. package/src/react/FormStateContext.tsx +398 -0
  1234. package/src/react/HeadHooks.tsx +126 -0
  1235. package/src/react/NotificationActionStrip.tsx +263 -0
  1236. package/src/react/NotificationBell.tsx +426 -0
  1237. package/src/react/RenderHookSlot.tsx +32 -0
  1238. package/src/react/RightSidebar.tsx +257 -0
  1239. package/src/react/RightSidebarContext.tsx +211 -0
  1240. package/src/react/RightSidebarTrigger.tsx +53 -0
  1241. package/src/react/SchemaRenderer.tsx +6128 -0
  1242. package/src/react/SearchTrigger.tsx +46 -0
  1243. package/src/react/ThemeProvider.tsx +93 -0
  1244. package/src/react/ThemeSettingsPage.tsx +579 -0
  1245. package/src/react/ThemeToggle.tsx +20 -0
  1246. package/src/react/Toaster.tsx +158 -0
  1247. package/src/react/UserMenu.tsx +196 -0
  1248. package/src/react/WidgetDataContext.tsx +157 -0
  1249. package/src/react/cells/EditableCell.tsx +376 -0
  1250. package/src/react/fieldJsHandler.test.ts +166 -0
  1251. package/src/react/fieldJsHandler.ts +79 -0
  1252. package/src/react/fields/BuilderInput.tsx +995 -0
  1253. package/src/react/fields/CheckboxInput.tsx +39 -0
  1254. package/src/react/fields/CheckboxListInput.tsx +81 -0
  1255. package/src/react/fields/ColorInput.tsx +51 -0
  1256. package/src/react/fields/DateFieldInput.tsx +70 -0
  1257. package/src/react/fields/DateTimeInput.tsx +42 -0
  1258. package/src/react/fields/FieldShell.tsx +107 -0
  1259. package/src/react/fields/FileUploadInput.tsx +189 -0
  1260. package/src/react/fields/HiddenInput.tsx +17 -0
  1261. package/src/react/fields/KeyValueInput.tsx +200 -0
  1262. package/src/react/fields/MarkdownInput.tsx +333 -0
  1263. package/src/react/fields/RadioInput.tsx +60 -0
  1264. package/src/react/fields/RepeaterInput.test.ts +116 -0
  1265. package/src/react/fields/RepeaterInput.tsx +1313 -0
  1266. package/src/react/fields/SelectFieldInput.tsx +257 -0
  1267. package/src/react/fields/SliderInput.tsx +63 -0
  1268. package/src/react/fields/TagsInput.tsx +265 -0
  1269. package/src/react/fields/TextLikeInput.tsx +54 -0
  1270. package/src/react/fields/ToggleButtonsInput.tsx +60 -0
  1271. package/src/react/fields/ToggleFieldInput.tsx +35 -0
  1272. package/src/react/fields/rowChromeButton.tsx +225 -0
  1273. package/src/react/fields/syncRowGates.test.ts +202 -0
  1274. package/src/react/fields/syncRowGates.ts +66 -0
  1275. package/src/react/formStateHelpers.test.ts +295 -0
  1276. package/src/react/formStateHelpers.ts +218 -0
  1277. package/src/react/hooks/use-mobile.ts +19 -0
  1278. package/src/react/icon-context.tsx +60 -0
  1279. package/src/react/index.ts +85 -0
  1280. package/src/react/layouts/SidebarLayout.tsx +239 -0
  1281. package/src/react/layouts/TopbarLayout.tsx +245 -0
  1282. package/src/react/navigate.tsx +37 -0
  1283. package/src/react/registry.ts +48 -0
  1284. package/src/react/right-panel-registry.tsx +47 -0
  1285. package/src/react/theme-preview/apply.ts +99 -0
  1286. package/src/react/theme-preview/build-html.ts +436 -0
  1287. package/src/react/ui/button.tsx +51 -0
  1288. package/src/react/ui/calendar.tsx +67 -0
  1289. package/src/react/ui/checkbox.tsx +29 -0
  1290. package/src/react/ui/dialog.tsx +108 -0
  1291. package/src/react/ui/dropdown-menu.tsx +97 -0
  1292. package/src/react/ui/input.tsx +20 -0
  1293. package/src/react/ui/label.tsx +21 -0
  1294. package/src/react/ui/popover.tsx +50 -0
  1295. package/src/react/ui/select.tsx +169 -0
  1296. package/src/react/ui/separator.tsx +25 -0
  1297. package/src/react/ui/sheet.tsx +136 -0
  1298. package/src/react/ui/sidebar.tsx +723 -0
  1299. package/src/react/ui/skeleton.tsx +13 -0
  1300. package/src/react/ui/slider.tsx +34 -0
  1301. package/src/react/ui/switch.tsx +28 -0
  1302. package/src/react/ui/table.tsx +105 -0
  1303. package/src/react/ui/tabs.tsx +63 -0
  1304. package/src/react/ui/textarea.tsx +18 -0
  1305. package/src/react/ui/tooltip.tsx +64 -0
  1306. package/src/react/useResizableWidth.ts +139 -0
  1307. package/src/react/utils.ts +6 -0
  1308. package/src/react/widgetRegistry.test.ts +43 -0
  1309. package/src/react/widgetRegistry.ts +50 -0
  1310. package/src/react/widgets/StatsOverviewRenderer.tsx +232 -0
  1311. package/src/react/widgets/TableWidgetRenderer.tsx +231 -0
  1312. package/src/react/widgets/ViewRenderer.tsx +71 -0
  1313. package/src/relationManagerData.test.ts +1146 -0
  1314. package/src/richtext/index.ts +8 -0
  1315. package/src/richtext/registry.ts +89 -0
  1316. package/src/routes-nested-relations.test.ts +676 -0
  1317. package/src/routes-relations.test.ts +972 -0
  1318. package/src/routes.test.ts +1886 -0
  1319. package/src/routes.ts +3262 -0
  1320. package/src/schema/Alert.test.ts +63 -0
  1321. package/src/schema/Alert.ts +49 -0
  1322. package/src/schema/Block.ts +169 -0
  1323. package/src/schema/Breadcrumbs.ts +40 -0
  1324. package/src/schema/Card.ts +35 -0
  1325. package/src/schema/Divider.ts +20 -0
  1326. package/src/schema/Element.ts +219 -0
  1327. package/src/schema/EmptyState.test.ts +37 -0
  1328. package/src/schema/EmptyState.ts +63 -0
  1329. package/src/schema/Fieldset.ts +43 -0
  1330. package/src/schema/Grid.ts +43 -0
  1331. package/src/schema/Group.ts +30 -0
  1332. package/src/schema/Heading.ts +39 -0
  1333. package/src/schema/Html.ts +67 -0
  1334. package/src/schema/Icon.ts +54 -0
  1335. package/src/schema/Image.ts +57 -0
  1336. package/src/schema/LinkTag.ts +41 -0
  1337. package/src/schema/Markdown.ts +85 -0
  1338. package/src/schema/MetaTag.ts +41 -0
  1339. package/src/schema/RelationTabs.ts +71 -0
  1340. package/src/schema/ScriptTag.ts +55 -0
  1341. package/src/schema/Section.ts +143 -0
  1342. package/src/schema/ServerDataElement.test.ts +140 -0
  1343. package/src/schema/ServerDataElement.ts +156 -0
  1344. package/src/schema/Split.ts +50 -0
  1345. package/src/schema/Stat.test.ts +118 -0
  1346. package/src/schema/Stat.ts +154 -0
  1347. package/src/schema/StatsOverview.test.ts +141 -0
  1348. package/src/schema/StatsOverview.ts +119 -0
  1349. package/src/schema/StyleTag.ts +35 -0
  1350. package/src/schema/TableWidget.test.ts +297 -0
  1351. package/src/schema/TableWidget.ts +289 -0
  1352. package/src/schema/Tabs.ts +79 -0
  1353. package/src/schema/Text.ts +58 -0
  1354. package/src/schema/UnorderedList.ts +49 -0
  1355. package/src/schema/View.test.ts +111 -0
  1356. package/src/schema/View.ts +127 -0
  1357. package/src/schema/Wizard.ts +108 -0
  1358. package/src/schema/containers.test.ts +446 -0
  1359. package/src/schema/headTags.test.ts +134 -0
  1360. package/src/schema/index.ts +39 -0
  1361. package/src/schema/primes.test.ts +269 -0
  1362. package/src/schema/resolveSchema.test.ts +329 -0
  1363. package/src/schema/resolveSchema.ts +807 -0
  1364. package/src/schema/sanitize.ts +49 -0
  1365. package/src/search.test.ts +446 -0
  1366. package/src/search.ts +178 -0
  1367. package/src/sessionFilters.test.ts +352 -0
  1368. package/src/sessionFilters.ts +133 -0
  1369. package/src/summarizers/Summarizer.test.ts +84 -0
  1370. package/src/summarizers/Summarizer.ts +123 -0
  1371. package/src/summarizers/index.ts +11 -0
  1372. package/src/theme/base-colors.ts +68 -0
  1373. package/src/theme/chart-colors.ts +50 -0
  1374. package/src/theme/colors.ts +447 -0
  1375. package/src/theme/generate-css.test.ts +139 -0
  1376. package/src/theme/generate-css.ts +44 -0
  1377. package/src/theme/generate-scale.test.ts +106 -0
  1378. package/src/theme/generate-scale.ts +97 -0
  1379. package/src/theme/icon-map.ts +42 -0
  1380. package/src/theme/index.ts +28 -0
  1381. package/src/theme/migrate.ts +81 -0
  1382. package/src/theme/presets.ts +135 -0
  1383. package/src/theme/radius.ts +18 -0
  1384. package/src/theme/resolve.test.ts +238 -0
  1385. package/src/theme/resolve.ts +96 -0
  1386. package/src/theme/spacing.ts +18 -0
  1387. package/src/theme/theme-colors.ts +88 -0
  1388. package/src/theme/types.ts +125 -0
  1389. package/src/uploads/UploadAdapter.ts +35 -0
  1390. package/src/uploads/index.ts +2 -0
  1391. package/src/uploads/localUpload.test.ts +70 -0
  1392. package/src/uploads/localUpload.ts +84 -0
  1393. package/src/validation/Validator.ts +49 -0
  1394. package/src/validation/index.ts +28 -0
  1395. package/src/validation/rules.ts +78 -0
  1396. package/src/validation/runValidators.ts +435 -0
  1397. package/src/validation/uniqueValidator.test.ts +196 -0
  1398. package/src/validation/uniqueValidator.ts +133 -0
  1399. package/src/validation/validators.test.ts +268 -0
  1400. package/src/vite.ts +758 -0
  1401. package/src/widgets/index.ts +10 -0
  1402. package/src/widgets/registry.ts +45 -0
  1403. package/src/widgets.test.ts +592 -0
  1404. package/tsconfig.build.json +11 -0
  1405. package/tsconfig.json +4 -0
  1406. package/tsconfig.test.json +10 -0
  1407. package/views/react/Dashboard.tsx +27 -0
  1408. package/views/react/Resources/Form.tsx +102 -0
  1409. package/views/react/Resources/Index.tsx +49 -0
@@ -0,0 +1,888 @@
1
+ import { Element, type ElementMeta } from '../schema/Element.js';
2
+ import type { ValidationErrors } from '../validation/index.js';
3
+ import type { Notification, NotificationMeta } from '../notifications/Notification.js';
4
+ import { type RelationManager, type RelationManagerContext } from '../RelationManager.js';
5
+ /**
6
+ * Where an Action renders. `inline` is the default — appears wherever the
7
+ * Action sits in the schema tree (e.g. a button inside a Card). The other
8
+ * three are list-page patterns:
9
+ * - `header` — top-right of a resource list (e.g. "Create new")
10
+ * - `bulk` — appears in the action bar when rows are selected
11
+ * - `row` — per-row dropdown menu entry
12
+ */
13
+ export type ActionPlacement = 'inline' | 'bulk' | 'row' | 'header';
14
+ /**
15
+ * Context handed to an Action's handler at dispatch time. `record` is set
16
+ * for row/inline actions that operate on a single entity; `records` is set
17
+ * for bulk actions. `values` carries any additional payload submitted with
18
+ * the action (useful when an action has its own confirmation dialog form).
19
+ * `request` is the raw `AppRequest` for handlers that need direct access
20
+ * (auth, headers, etc).
21
+ */
22
+ export interface ActionContext {
23
+ record?: unknown;
24
+ records?: unknown[];
25
+ user?: unknown;
26
+ values?: Record<string, unknown>;
27
+ request?: unknown;
28
+ /**
29
+ * Row-scoped context populated when this action was dispatched as a
30
+ * Repeater / Builder `extraItemActions` button. `index` is the row's
31
+ * 0-based position; `id` is the row's stable `__id`; `values` is the
32
+ * row's submitted fields (the row's `data` body inside Builder); for
33
+ * Builder, `blockType` carries the matched block name. `fieldName`
34
+ * is the parent Repeater/Builder field's name — useful when a single
35
+ * handler is shared across multiple repeater fields.
36
+ *
37
+ * Always undefined for non-row actions. Handlers that don't care about
38
+ * row context just ignore this field.
39
+ */
40
+ row?: {
41
+ index: number;
42
+ id: string;
43
+ values: Record<string, unknown>;
44
+ fieldName: string;
45
+ blockType?: string;
46
+ };
47
+ /**
48
+ * Stamped by the manager-scoped `_action` route when an action is
49
+ * dispatched from a `RelationManager`'s table. Carries the freshly-
50
+ * loaded parent record + relationship key so handlers can call
51
+ * `parent.related(name).attach(...) / detach(...) / sync(...)`
52
+ * (rudder ORM accessor) without re-loading the parent themselves.
53
+ *
54
+ * Always undefined for resource-level / page-level / dashboard
55
+ * dispatch. M2M-aware factories (`relationAttach / relationDetach /
56
+ * relationBulkDetach`) consult this and `notify` an error when it's
57
+ * missing — that means the action got dispatched outside the manager
58
+ * scope (misconfiguration).
59
+ */
60
+ relation?: {
61
+ parent: unknown;
62
+ parentId: string;
63
+ relationship: string;
64
+ };
65
+ }
66
+ /** Convenience type: handlers can return either a built `Notification`
67
+ * instance, its serialized meta, or arrays of either. */
68
+ export type NotificationLike = Notification | NotificationMeta | ReadonlyArray<Notification | NotificationMeta>;
69
+ /** Download envelope a handler can return to ask the route layer to
70
+ * stream a file back instead of issuing the standard JSON / 303
71
+ * response. Used by `Action.export / Action.bulkExport`; any handler
72
+ * is free to return one. The route writes `Content-Type` +
73
+ * `Content-Disposition: attachment; filename="…"` and ends with
74
+ * `body`; the client renderer detects the disposition header and
75
+ * triggers a browser download via a synthesized `<a download>`. */
76
+ export interface DownloadEnvelope {
77
+ filename: string;
78
+ contentType: string;
79
+ body: string;
80
+ }
81
+ /**
82
+ * Result a handler may return to influence the response. `void` is the
83
+ * default — the dispatcher 303-redirects to the page the action was
84
+ * triggered from. Returning `{ redirect }` overrides that with an
85
+ * explicit URL. Returning `{ notify }` flashes one or more toast
86
+ * notifications on the next render. Returning `{ download }` triggers
87
+ * a file download (mutually exclusive with `redirect` — the route
88
+ * prefers the download branch when both are set). Throw an Error to
89
+ * surface as a 500 with the message.
90
+ */
91
+ export type ActionResult = void | {
92
+ redirect?: string;
93
+ notify?: NotificationLike;
94
+ download?: DownloadEnvelope;
95
+ };
96
+ export type ActionHandler = (ctx: ActionContext) => ActionResult | Promise<ActionResult>;
97
+ /**
98
+ * A confirmation prompt shown before the handler runs. A bare string is
99
+ * shorthand for `{ message: string }`; the object form lets callers
100
+ * override the dialog title and confirm-button label.
101
+ */
102
+ export interface ActionConfirm {
103
+ title?: string;
104
+ message: string;
105
+ confirmLabel?: string;
106
+ }
107
+ /** HTTP method for form-style actions. `'get'` is implied by `.href()`; the
108
+ * others spawn a `<form>`-wrapped submit button at render time. */
109
+ export type ActionMethod = 'post' | 'put' | 'patch' | 'delete';
110
+ /** Visual color preset. Maps to a tailwind class group at render time.
111
+ * `destructive` is what `Action.destructive()` sugar sets; the other
112
+ * presets exist so users can opt-in explicitly. */
113
+ export type ActionColor = 'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'ghost';
114
+ /** Visual size preset. Maps to button height + padding + text size. */
115
+ export type ActionSize = 'sm' | 'md' | 'lg';
116
+ /** Context passed to visibility / disabled callbacks. `record` is set
117
+ * for single-target evaluation (row actions, edit-page header actions);
118
+ * `records` for bulk evaluations; `user` from the request when wired.
119
+ *
120
+ * `values` is populated only when this action is being evaluated inside
121
+ * a Repeater / Builder row at meta-build time (via `extraItemActions`).
122
+ * It mirrors the resolver's row-scoped values map — predicates branch
123
+ * on the row's submitted fields (e.g. `({ values }) => values.status !==
124
+ * 'archived'`). */
125
+ export interface ActionVisibilityContext {
126
+ record?: unknown;
127
+ records?: unknown[];
128
+ user?: unknown;
129
+ values?: Record<string, unknown>;
130
+ }
131
+ /** Boolean-or-callback rule used by `.visible()` / `.hidden()` /
132
+ * `.disabled()`. Boolean values short-circuit; functions receive the
133
+ * evaluation context and return the result (sync or async).
134
+ *
135
+ * Async support landed with Plan #10 authorization — `Resource.canEdit`
136
+ * etc. return Promise<boolean>, and the `Action.create/edit/view/delete`
137
+ * factories install those predicates as visibility rules. Sync rules
138
+ * keep working unchanged; the awaiter coerces both. */
139
+ export type VisibilityRule = boolean | ((ctx: ActionVisibilityContext) => boolean | Promise<boolean>);
140
+ /** Modal width preset — maps to a max-width class on the Dialog popup. */
141
+ export type ActionModalWidth = 'sm' | 'md' | 'lg' | 'xl';
142
+ /** Horizontal alignment applied to the modal's header / body / footer
143
+ * text. Matches Filament v5's `modalAlignment()` (start / center / end). */
144
+ export type ActionModalAlignment = 'start' | 'center' | 'end';
145
+ /** Color preset for the icon shown next to the modal heading. Mirrors
146
+ * `BadgeColor` so userspace doesn't have to learn another scale. */
147
+ export type ActionModalIconColor = 'gray' | 'primary' | 'success' | 'warning' | 'destructive' | 'info';
148
+ /** Context shape passed to `ReplicateOptions.getCreatedNotificationTitle`.
149
+ * Single-row factories (`replicate`, `relationReplicate`) populate
150
+ * `replica` (the just-created record returned by `M.create`) and
151
+ * `source` (the original row). Bulk factories (`bulkReplicate`,
152
+ * `relationBulkReplicate`) populate `count` (number of successful
153
+ * creates) and `records` (the original selected rows). The opposite
154
+ * fields are always undefined for the other call site so consumers
155
+ * can branch on whichever is set. */
156
+ export interface ReplicateNotificationContext {
157
+ replica?: unknown;
158
+ source?: unknown;
159
+ count?: number;
160
+ records?: unknown[];
161
+ }
162
+ /** Context shape passed to `ReplicateOptions.getRedirectUrl`. Single-row
163
+ * factories only — bulk variants stay on the list / manager URL
164
+ * regardless. `replica` is the freshly-created record; `source` is
165
+ * the original. */
166
+ export interface ReplicateRedirectContext {
167
+ replica: unknown;
168
+ source: unknown;
169
+ }
170
+ /** Options bag for `Action.replicate` and its three siblings
171
+ * (`bulkReplicate`, `relationReplicate`, `relationBulkReplicate`).
172
+ * Every field optional. */
173
+ export interface ReplicateOptions {
174
+ /** Attribute names to drop from the replicated payload IN ADDITION TO
175
+ * the always-stripped primary key + soft-delete column. Useful for
176
+ * unique columns the source row holds (e.g. `slug`, `email`) so the
177
+ * duplicate doesn't trip a unique constraint on save. */
178
+ excludeAttributes?: ReadonlyArray<string>;
179
+ /** Mutate the prepared replica before it's persisted. Receives the
180
+ * already-stripped attributes plus the source record; must return the
181
+ * attributes to persist (mutate or replace). Useful for stamping
182
+ * "Copy of" prefixes onto a name column, regenerating slugs, etc. */
183
+ beforeReplicaSaved?: (replica: Record<string, unknown>, source: unknown) => Record<string, unknown> | Promise<Record<string, unknown>>;
184
+ /** Override the success notification title. Single-row factories
185
+ * receive `{ replica, source }`; bulk factories receive
186
+ * `{ count, records }` (`replica`/`source` undefined). Return a
187
+ * string to use it; return `undefined` to fall back to the default
188
+ * (`"${labelSingular} replicated"` for single-row,
189
+ * `"${count} ${label(s)} replicated"` for bulk). Sync or async. */
190
+ getCreatedNotificationTitle?: (ctx: ReplicateNotificationContext) => string | undefined | Promise<string | undefined>;
191
+ /** Override the redirect URL. Single-row factories only — bulk
192
+ * variants don't redirect. Receives `{ replica, source }`. Return a
193
+ * string to use it; return `undefined` to fall back to the default
194
+ * (the new record's edit page for `replicate`; the manager list
195
+ * URL for `relationReplicate`, owned by the route layer). Sync or
196
+ * async. */
197
+ getRedirectUrl?: (ctx: ReplicateRedirectContext) => string | undefined | Promise<string | undefined>;
198
+ }
199
+ /** Structural shape of a Resource class for the factory functions —
200
+ * matches `Resource.ts` exactly but keeps Action.ts free of an import
201
+ * cycle. The optional fields are the Plan #10 policy predicates; their
202
+ * defaults (return `true`) mean missing methods are equivalent to
203
+ * "always allowed." */
204
+ interface ResourceLike {
205
+ labelSingular: string;
206
+ /** Plural label. When unset, factories fall back to
207
+ * `${labelSingular}s` (naive). Used by bulk-action notification
208
+ * copy so "1 Post" / "5 Posts" render correctly. */
209
+ label?: string;
210
+ getSlug(): string;
211
+ /** Cluster the resource belongs to, when registered via `Pilotiq.clusters`.
212
+ * Action factories thread the cluster slug into URL builders so
213
+ * `${basePath}/<cluster>/<slug>/...` round-trips correctly. */
214
+ cluster?: {
215
+ getSlug(): string;
216
+ };
217
+ /** Plan #13 — soft-delete opt-in flag. When true, `Action.delete`
218
+ * auto-hides on already-trashed rows; `Action.restore` /
219
+ * `Action.forceDelete` auto-show on trashed rows. */
220
+ softDeletes?: boolean;
221
+ /** Plan #13 — column name carrying the soft-delete timestamp.
222
+ * Defaults to `'deletedAt'` when undefined. */
223
+ deletedAtColumn?: string;
224
+ canCreate?(user: unknown): boolean | Promise<boolean>;
225
+ canEdit?(user: unknown, record: unknown): boolean | Promise<boolean>;
226
+ canView?(user: unknown, record: unknown): boolean | Promise<boolean>;
227
+ canViewAny?(user: unknown): boolean | Promise<boolean>;
228
+ canDelete?(user: unknown, record: unknown): boolean | Promise<boolean>;
229
+ canRestore?(user: unknown, record: unknown): boolean | Promise<boolean>;
230
+ canForceDelete?(user: unknown, record: unknown): boolean | Promise<boolean>;
231
+ /** Resource model adapter (set when the resource opts into auto-CRUD
232
+ * via `static model = M`). Import / Export factories need access to
233
+ * `create / update / find / query` to drive their writes / reads. */
234
+ model?: any;
235
+ /** Resource table configurator. Export factory calls
236
+ * `R.table(Table.make())` to discover columns + the records handler
237
+ * for the "filtered" / "all" scope. */
238
+ table?(t: any): any;
239
+ }
240
+ /** Render-time meta for an action that opens a modal (with or without a
241
+ * form schema). When `meta.children` is also populated by the resolver,
242
+ * the modal renders those Elements as a form whose values pass through
243
+ * to the handler as `ctx.values`. */
244
+ export interface ActionModalMeta {
245
+ heading?: string;
246
+ description?: string;
247
+ submitLabel?: string;
248
+ cancelLabel?: string;
249
+ icon?: string;
250
+ /** Color preset applied to the heading icon (`modalIconColor()`).
251
+ * Renderer maps to a tailwind text-color class. */
252
+ iconColor?: ActionModalIconColor;
253
+ width?: ActionModalWidth;
254
+ slideOver?: boolean;
255
+ /** Default `true`; emitted only when the user passed `false`. The
256
+ * renderer turns this into Base UI's `disablePointerDismissal`. */
257
+ closeByClickingAway?: boolean;
258
+ /** Default `true`; emitted only when `false`. Renderer cancels the
259
+ * Base UI `onOpenChange` event when reason is `'escapeKey'`. */
260
+ closeByEscaping?: boolean;
261
+ /** Sticky header inside a scrolling modal body. Default `false`. */
262
+ stickyHeader?: boolean;
263
+ /** Sticky footer inside a scrolling modal body. Default `false`. */
264
+ stickyFooter?: boolean;
265
+ /** Override the default autofocus behaviour. When `false` no element
266
+ * inside the modal receives focus on mount; when `true` the renderer
267
+ * focuses the first form input (or the submit button when there is
268
+ * no form). When omitted, the legacy default applies (the submit
269
+ * button autofocuses for confirm-only modals). */
270
+ autofocus?: boolean;
271
+ /** Horizontal alignment for the heading / body / footer text. */
272
+ alignment?: ActionModalAlignment;
273
+ /** When `true`, an X close-button renders in the top-right of the
274
+ * popup. Default `false`. */
275
+ closeButton?: boolean;
276
+ }
277
+ export interface ActionMeta extends ElementMeta {
278
+ type: 'action';
279
+ name: string;
280
+ label: string;
281
+ placement: ActionPlacement;
282
+ destructive: boolean;
283
+ icon?: string;
284
+ confirm?: ActionConfirm;
285
+ href?: string;
286
+ method?: ActionMethod;
287
+ action?: string;
288
+ /** POST URL for handler-style actions. Set server-side by the route
289
+ * registrar so the client knows where to dispatch. */
290
+ dispatchUrl?: string;
291
+ /** True when this action submits its enclosing `<form>` — renders as
292
+ * `<button type="submit">` and lets the form's `action`/`method`
293
+ * attributes drive the request. */
294
+ submit?: boolean;
295
+ /** When `submit` is true and this id is set, the rendered button uses
296
+ * the HTML `form="<id>"` attribute so it can submit a form it lives
297
+ * outside of (e.g. a Save action in the page header). */
298
+ form?: string;
299
+ /** When `submit` is true, attach `name`+`value` to the `<button>` so
300
+ * the clicked button's pair lands in the form body. Used by the
301
+ * "Create & create another" pattern: a secondary submit posts a
302
+ * sentinel like `{ _continueCreate: '1' }` that the server reads to
303
+ * route the redirect back to the create page. */
304
+ formField?: {
305
+ name: string;
306
+ value: string;
307
+ };
308
+ /** Modal-style action chrome. Present when `.schema()` and/or any of
309
+ * the `modalXxx` builders ran. The fields themselves arrive on
310
+ * `meta.children` via the schema resolver. */
311
+ modal?: ActionModalMeta;
312
+ /** Color preset — drives button colors at render time. `destructive`
313
+ * coincides with `destructive: true` (kept for back-compat). */
314
+ color?: ActionColor;
315
+ /** Size preset — drives button height/padding/text-size. */
316
+ size?: ActionSize;
317
+ /** Hover tooltip text. Wraps the rendered button in a Tooltip. */
318
+ tooltip?: string;
319
+ /** Outlined trigger style — replaces the solid color background with
320
+ * a border + transparent bg. */
321
+ outlined?: boolean;
322
+ /** Icon-only trigger style — hides the label and renders a square
323
+ * button. Requires `icon` to be set. */
324
+ iconOnly?: boolean;
325
+ /** Optional badge shown on the trigger (e.g. unread count). */
326
+ badge?: string | number;
327
+ badgeColor?: string;
328
+ /** Disabled flag set at evaluation time. The trigger renders greyed-out
329
+ * and skips dispatch when true. */
330
+ disabled?: boolean;
331
+ /** True when the action has `.visible()`, `.hidden()`, or `.disabled()`
332
+ * rules — the row renderer uses this to know whether to consult the
333
+ * row's `_visibleActions` / `_disabledActions` lookup. Static actions
334
+ * without rules render unconditionally. */
335
+ conditional?: boolean;
336
+ }
337
+ /**
338
+ * Action — a button-or-menu-entry that performs work when clicked.
339
+ *
340
+ * One class for all four placements; pick one via `.inline()` / `.row()` /
341
+ * `.bulk()` / `.header()` (or `.placement(...)`). Actions can sit inline
342
+ * inside any container Element (Card, Section, etc.) or attach to a
343
+ * Resource's list page.
344
+ *
345
+ * Phase 1.4 ships the shape + serialization. Handler dispatch and
346
+ * confirmation-form support land in Phase 2 alongside Resource lifecycle.
347
+ */
348
+ export declare class Action extends Element {
349
+ readonly name: string;
350
+ protected _label: string;
351
+ protected _icon?: string;
352
+ protected _placement: ActionPlacement;
353
+ protected _destructive: boolean;
354
+ protected _confirm?: ActionConfirm;
355
+ protected _handler?: ActionHandler;
356
+ /**
357
+ * Notification-registry handler key — set by `.handler(string)`. The
358
+ * notification-action route looks this up against
359
+ * `Pilotiq.notificationHandlers({…})` at request time. Mutually
360
+ * exclusive with the closure `_handler` — passing a string clears
361
+ * `_handler`, passing a function clears `_handlerName`. Closures can't
362
+ * round-trip through a `data` JSON column; the registry path is the
363
+ * persisted-notification escape hatch.
364
+ */
365
+ protected _handlerName?: string;
366
+ /**
367
+ * Per-fire context for registry-handler dispatch. Round-trips through
368
+ * the notification's `data.actions` JSON column verbatim and arrives
369
+ * on the handler's `ctx.payload`.
370
+ */
371
+ protected _payload?: Record<string, unknown>;
372
+ /**
373
+ * Filament-style chain modifier — when set on an action used inside a
374
+ * `Notification.actions([…])` slot, firing the action also flips the
375
+ * notification's `read_at`. No-op when the action isn't in a
376
+ * notification context.
377
+ */
378
+ protected _markAsReadOnFire: boolean;
379
+ /**
380
+ * When set, click-through opens in a new tab. Honored by the
381
+ * notification action strip renderers (bell + toast); ignored by
382
+ * everything else (Resource action triggers don't expose this knob —
383
+ * use `target` on the underlying anchor if you need it elsewhere).
384
+ */
385
+ protected _openUrlInNewTab: boolean;
386
+ protected _href?: string;
387
+ protected _method?: ActionMethod;
388
+ protected _actionUrl?: string;
389
+ protected _dispatchUrl?: string;
390
+ protected _submit: boolean;
391
+ protected _formTarget?: string;
392
+ protected _formField?: {
393
+ name: string;
394
+ value: string;
395
+ };
396
+ protected _hasModal: boolean;
397
+ protected _modalHeading?: string;
398
+ protected _modalDescription?: string;
399
+ protected _modalSubmitLabel?: string;
400
+ protected _modalCancelLabel?: string;
401
+ protected _modalIcon?: string;
402
+ protected _modalIconColor?: ActionModalIconColor;
403
+ protected _modalWidth?: ActionModalWidth;
404
+ protected _slideOver: boolean;
405
+ protected _closeModalByClickingAway: boolean;
406
+ protected _closeModalByEscaping: boolean;
407
+ protected _stickyModalHeader: boolean;
408
+ protected _stickyModalFooter: boolean;
409
+ protected _modalAutofocus?: boolean;
410
+ protected _modalAlignment?: ActionModalAlignment;
411
+ protected _modalCloseButton: boolean;
412
+ protected _color?: ActionColor;
413
+ protected _size?: ActionSize;
414
+ protected _tooltip?: string;
415
+ protected _outlined: boolean;
416
+ protected _iconOnly: boolean;
417
+ protected _badge?: string | number;
418
+ protected _badgeColor?: string;
419
+ protected _visible?: VisibilityRule;
420
+ protected _hidden?: VisibilityRule;
421
+ protected _isDisabled?: VisibilityRule;
422
+ private constructor();
423
+ static make(name: string): Action;
424
+ /** Create-action factory — link to `${basePath}/${R.slug}/create`.
425
+ * Auto-hides when `R.canCreate(user)` returns false. */
426
+ static create(R: ResourceLike, basePath: string): Action;
427
+ /**
428
+ * Edit-action factory — link to the resource's edit page.
429
+ *
430
+ * Pass `recordId` when building actions for a single-record context
431
+ * (e.g. `ViewPage.getActions()`); the URL is baked at config time.
432
+ * Omit `recordId` for row context (`Table.recordActions(...)`); the
433
+ * URL keeps the `:id` template and the renderer substitutes per-row.
434
+ *
435
+ * Auto-hides when `R.canEdit(user, record)` returns false. For row
436
+ * context the per-row record threads in via `loadTableRecords`'s
437
+ * per-row eval; for view-page context, `resolveSchema` provides the
438
+ * resolved record on the eval context.
439
+ */
440
+ static edit(R: ResourceLike, basePath: string, recordId?: string): Action;
441
+ /** View-action factory — link to the resource's view page. See `Action.edit` for the `recordId` semantics.
442
+ * Auto-hides when `R.canView(user, record)` returns false. */
443
+ static view(R: ResourceLike, basePath: string, recordId?: string): Action;
444
+ /**
445
+ * Delete-action factory — POSTs to the resource's delete route,
446
+ * destructive style, with a confirmation prompt referencing the
447
+ * resource label. Same `recordId` semantics as `Action.edit`.
448
+ * Auto-hides when `R.canDelete(user, record)` returns false.
449
+ *
450
+ * Plan #13 — when `R.softDeletes = true`, additionally hides on
451
+ * rows whose `deletedAtColumn` is set (already-trashed rows get the
452
+ * Restore + ForceDelete pair instead, surfaced via the matching
453
+ * factories below).
454
+ */
455
+ static delete(R: ResourceLike, basePath: string, recordId?: string): Action;
456
+ /**
457
+ * Replicate-action factory — handler-style. Loads the source record
458
+ * from `ctx.record` (the `_action/:actionName` route already resolves
459
+ * it through `R.query(ctx)` for row + single-target placements),
460
+ * strips PK + soft-delete column + any `opts.excludeAttributes`,
461
+ * optionally runs `opts.beforeReplicaSaved`, and creates a new row
462
+ * via `R.model.create(...)`. Redirects to the new record's edit page
463
+ * on success so the user can review + tweak before saving again.
464
+ *
465
+ * `recordId` kept in the signature for parity with `delete / edit /
466
+ * view` so users can swap factories without rewriting call sites; the
467
+ * dispatcher resolves the source record from the URL and hands it to
468
+ * the handler as `ctx.record`, so we don't reference `recordId` here.
469
+ *
470
+ * Auto-hides when `R.canCreate(user)` returns false — replicating
471
+ * writes a new row, so the gate is `canCreate`, not `canView`.
472
+ */
473
+ static replicate(R: ResourceLike, basePath: string, recordId?: string, opts?: ReplicateOptions): Action;
474
+ /**
475
+ * Plan #13 — Restore factory. POSTs to the resource's restore route,
476
+ * success-styled, no confirm prompt (restoration is reversible).
477
+ * Auto-hides on live (non-trashed) rows AND when `R.canRestore(user,
478
+ * record)` returns false. Same `recordId` semantics as `Action.edit`.
479
+ */
480
+ static restore(R: ResourceLike, basePath: string, recordId?: string): Action;
481
+ /**
482
+ * Plan #13 — Force-delete factory. POSTs to the resource's
483
+ * force-delete route, destructive-styled, with a stricter confirm
484
+ * prompt referencing permanence. Auto-hides on live (non-trashed)
485
+ * rows AND when `R.canForceDelete(user, record)` returns false.
486
+ */
487
+ static forceDelete(R: ResourceLike, basePath: string, recordId?: string): Action;
488
+ /**
489
+ * Mark-as-read factory — POSTs to the panel's notification read
490
+ * endpoint for the given notification id. The endpoint
491
+ * (`${base}/_notifications/:id/read`) is mounted by
492
+ * `Pilotiq.databaseNotifications()`, so calling this without
493
+ * opting into the bell surface produces an Action whose POST 404s.
494
+ *
495
+ * `notificationId` is baked at config time. For row context where
496
+ * the id varies per row, omit it and the URL keeps the `:id`
497
+ * template; the renderer substitutes per-row at render time
498
+ * (parallel to `Action.edit`'s row form).
499
+ *
500
+ * No auto-visibility. Wrap in `.visible(({ record }) => !record.readAt)`
501
+ * to hide on already-read rows.
502
+ */
503
+ static markAsRead(basePath: string, notificationId?: string): Action;
504
+ /** Bulk delete — calls `R.deleteRecord(id)` per row. On a
505
+ * soft-delete resource that hits `Model.delete()` which writes
506
+ * `deletedAt`. Notification: "N posts moved to trash" / "N posts
507
+ * deleted" depending on `R.softDeletes`. */
508
+ static bulkDelete(R: ResourceLike, _basePath: string): Action;
509
+ /** Bulk restore — calls `R.model.restore(id)` per row. Visible only
510
+ * on soft-delete resources (the entire bulk-restore concept is
511
+ * specific to them). */
512
+ static bulkRestore(R: ResourceLike, _basePath: string): Action;
513
+ /** Bulk force-delete — calls `R.model.forceDelete(id)` per row. Same
514
+ * destructive confirm as the per-row variant. Visible only on
515
+ * soft-delete resources. */
516
+ static bulkForceDelete(R: ResourceLike, _basePath: string): Action;
517
+ /**
518
+ * Bulk replicate — calls `R.model.create(...)` once per selected row
519
+ * with the source row's attributes minus PK / soft-delete column /
520
+ * `opts.excludeAttributes`. Optional `opts.beforeReplicaSaved(replica,
521
+ * source)` runs per-row. Rows that throw during create are skipped
522
+ * silently so a single bad row doesn't abort the batch (the user sees
523
+ * the success count on the toast). Visibility delegates to
524
+ * `R.canCreate(user)`.
525
+ *
526
+ * Sibling of `Action.replicate` — same options bag, same strip set,
527
+ * same authorization gate. Stays on the list page (no per-row
528
+ * redirect possible for N rows).
529
+ */
530
+ static bulkReplicate(R: ResourceLike, _basePath: string, opts?: ReplicateOptions): Action;
531
+ /** Header-placement export — downloads the table as CSV (default) or
532
+ * JSON. Visibility defaults to `R.canViewAny(user)`. Drop into
533
+ * `headerActions([...])` from inside `Resource.table()`. See
534
+ * `docs/plans/import-export-actions.md` for the full options bag. */
535
+ static export(R: ResourceLike, _basePath: string, opts?: import('./exportFactory.js').ExportOptions): Action;
536
+ /** Bulk-placement export — downloads the rows the user selected via
537
+ * the bulk-select checkboxes. Same options as `Action.export` minus
538
+ * `scope` (always operates on `ctx.records`). Drop into
539
+ * `bulkActions([...])`. */
540
+ static bulkExport(R: ResourceLike, _basePath: string, opts?: Omit<import('./exportFactory.js').ExportOptions, 'scope'>): Action;
541
+ /** Header-placement import — opens a modal with a `FileUpload` (and a
542
+ * Mode select when `upsertBy` is set), parses the uploaded file, and
543
+ * walks each row through `R.model.create` / `R.model.update`.
544
+ * Visibility defaults to `R.canCreate(user)`. Drop into
545
+ * `headerActions([...])` from inside `Resource.table()`. See
546
+ * `docs/plans/import-export-actions.md` for the full options bag. */
547
+ static import(R: ResourceLike, _basePath: string, opts?: import('./importFactory.js').ImportOptions): Action;
548
+ /** Relation create-action factory — link to
549
+ * `${base}/${parentSlug}/${parentId}/${relationship}/create`.
550
+ *
551
+ * Visibility delegates to `M.canCreate(user, parentRecord)` (or the
552
+ * related Resource's `canCreate(user)` when the manager hasn't
553
+ * overridden). Drop into `headerActions([...])` from inside
554
+ * `RelationManager.table(table, ctx)`.
555
+ */
556
+ static relationCreate(M: typeof RelationManager, ctx: RelationManagerContext): Action;
557
+ /** Relation edit-action factory — link to
558
+ * `${base}/${parentSlug}/${parentId}/${relationship}/${recordId ?? ':id'}/edit`.
559
+ *
560
+ * Same `recordId` semantics as `Action.edit`: omit for row context
561
+ * so the renderer substitutes `:id` per row; pass explicitly when
562
+ * building actions for a single-record context. Visibility delegates
563
+ * to `M.canEdit(user, child, parentRecord)` with fall-through to the
564
+ * related Resource's `canEdit(user, record)`.
565
+ */
566
+ static relationEdit(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string): Action;
567
+ /** Relation delete-action factory — POST to
568
+ * `${base}/${parentSlug}/${parentId}/${relationship}/${recordId ?? ':id'}/delete`,
569
+ * destructive style with a labeled confirmation. Visibility delegates
570
+ * to `M.canDelete(user, child, parentRecord)` with fall-through to the
571
+ * related Resource's `canDelete(user, record)`.
572
+ */
573
+ static relationDelete(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string): Action;
574
+ /**
575
+ * Plan #13 polish — Restore factory for relation managers. POSTs to
576
+ * `${base}/${parentSlug}/${parentId}/${relationship}/${recordId ?? ':id'}/restore`,
577
+ * success-styled, no confirm prompt. Auto-hides on live (non-trashed)
578
+ * rows AND when `M.canRestore` (or related Resource fall-through)
579
+ * denies. Drop into `recordActions([...])` from `RelationManager.table(table, ctx)`.
580
+ */
581
+ static relationRestore(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string): Action;
582
+ /**
583
+ * Plan #13 polish — Force-delete factory for relation managers. POSTs
584
+ * to `${base}/${parentSlug}/${parentId}/${relationship}/${recordId ?? ':id'}/force-delete`,
585
+ * destructive style with a permanence-aware confirmation. Auto-hides on
586
+ * live (non-trashed) rows and when policy denies.
587
+ */
588
+ static relationForceDelete(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string): Action;
589
+ /**
590
+ * Relation row-replicate factory. Clones the row's child record
591
+ * inside the manager's parent scope.
592
+ *
593
+ * Strips the related model's primary key, soft-delete column, and
594
+ * `opts.excludeAttributes`. Re-applies the parent attachment columns
595
+ * after the strip + before the optional `beforeReplicaSaved` hook,
596
+ * so user code can still mutate non-FK fields without accidentally
597
+ * unlinking the replica.
598
+ *
599
+ * On success the manager-scoped route falls back to the manager
600
+ * list URL (`${base}/${parentSlug}/${parentId}/${relationship}`)
601
+ * because no explicit `redirect` is returned — same default as the
602
+ * other handler-style relation factories.
603
+ *
604
+ * `recordId` kept in the signature for parity with the rest of the
605
+ * relation factory family. The dispatcher resolves the source row
606
+ * from the request body, so it isn't referenced here.
607
+ */
608
+ static relationReplicate(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string, opts?: ReplicateOptions): Action;
609
+ /**
610
+ * Bulk sibling — replicates every selected child row inside the
611
+ * manager's parent scope. Same strip + force-pin pipeline applied
612
+ * per row. Per-row `safeManagerPolicy(M, 'canCreate', …)` runs
613
+ * inside the loop so a partially-permitted selection still proceeds
614
+ * for the rows that pass. Rows that throw are skipped silently —
615
+ * the toast count reflects only successful creates.
616
+ */
617
+ static relationBulkReplicate(M: typeof RelationManager, ctx: RelationManagerContext, opts?: ReplicateOptions): Action;
618
+ /** Header-placement attach factory — opens a modal with a SelectField
619
+ * listing related records that aren't already attached, and POSTs the
620
+ * selected id to the manager's `_action/relationAttach` endpoint.
621
+ *
622
+ * Visibility delegates to `M.canAttach(user, parentRecord)` AND
623
+ * guards against being dropped into a non-M2M manager. */
624
+ static relationAttach(M: typeof RelationManager, ctx: RelationManagerContext): Action;
625
+ /** Row-placement detach factory — POSTs to
626
+ * `${base}/${parentSlug}/${parentId}/${relationship}/${recordId ?? ':id'}/_detach`,
627
+ * destructive style with a confirmation prompt that says "Detach"
628
+ * (not "Delete") so users understand the target record stays.
629
+ * Visibility delegates to `M.canDetach`. */
630
+ static relationDetach(M: typeof RelationManager, ctx: RelationManagerContext, recordId?: string): Action;
631
+ /** Bulk-placement bulk-detach factory — handler-dispatched. Calls
632
+ * `parent.related(rel).detach(ids)` for the selected rows. Visibility
633
+ * delegates to `M.canAttach` (acts like a "manager admin" gate; we
634
+ * intentionally don't enforce per-row `canDetach` on the visibility
635
+ * side because the bulk button needs to be visible before the user
636
+ * has selected anything — per-row gating happens inside the handler). */
637
+ static relationBulkDetach(M: typeof RelationManager, ctx: RelationManagerContext): Action;
638
+ label(l: string): this;
639
+ icon(i: string): this;
640
+ placement(p: ActionPlacement): this;
641
+ inline(): this;
642
+ row(): this;
643
+ bulk(): this;
644
+ header(): this;
645
+ destructive(v?: boolean): this;
646
+ /** Set the visual color. `destructive` is also set by `.destructive()`. */
647
+ color(c: ActionColor): this;
648
+ /** Set the size preset (sm | md | lg). Default is `md`. */
649
+ size(s: ActionSize): this;
650
+ /** Hover tooltip. Wraps the button in a Tooltip primitive. */
651
+ tooltip(t: string): this;
652
+ /** Outlined trigger style — border + transparent bg instead of solid color. */
653
+ outlined(v?: boolean): this;
654
+ /** Icon-only trigger style. Renders a square button with just the icon;
655
+ * the label is used as `aria-label`. Requires `.icon()` to be set. */
656
+ iconButton(v?: boolean): this;
657
+ /** Show a small badge on the trigger (e.g. unread count). */
658
+ badge(value: string | number): this;
659
+ /** Optional color class for the badge (e.g. 'bg-emerald-500'). */
660
+ badgeColor(c: string): this;
661
+ /** Show the action only when `rule` is truthy. Pair with a function for
662
+ * record-aware visibility (e.g. `({ record }) => !record.archived`).
663
+ * Row-placement actions are evaluated per-row at table-load time;
664
+ * other placements are evaluated at schema-resolve time with the
665
+ * page-level context. */
666
+ visible(rule: VisibilityRule): this;
667
+ /** Inverse of `visible` — hide the action when `rule` is truthy.
668
+ * Both rules combine via AND: visible if `visible !== false` AND
669
+ * `hidden !== true`. */
670
+ hidden(rule: VisibilityRule): this;
671
+ /** Disable (render greyed-out and skip dispatch) when `rule` is truthy.
672
+ * Disabled actions still appear in the UI, unlike hidden ones. */
673
+ disabled(rule: VisibilityRule): this;
674
+ /** Policy-style alias for `.visible(fn)` — semantically identical
675
+ * but reads better when guarding by user permissions. */
676
+ authorize(rule: VisibilityRule): this;
677
+ /** Evaluate the visibility / disabled rules with the given context.
678
+ * Defaults: visible = true, disabled = false. Both `visible` and
679
+ * `hidden` are folded in: `visible: visible !== false && hidden !== true`.
680
+ *
681
+ * Async to support Plan #10 — visibility rules can return Promise<bool>
682
+ * (for `Resource.canX(user, record)` integration). Throwing rules are
683
+ * treated as fail-closed (`visible: false` / `disabled: true`). */
684
+ evaluate(ctx?: ActionVisibilityContext): Promise<{
685
+ visible: boolean;
686
+ disabled: boolean;
687
+ }>;
688
+ /** True when any visibility / hidden / disabled rule is set. Useful for
689
+ * the resolver to know whether per-row evaluation is needed for a
690
+ * row-placement action. */
691
+ hasVisibilityRules(): boolean;
692
+ /**
693
+ * Prompt the user before running the handler. Pass a string for a simple
694
+ * "are you sure?" message, or an object for full control.
695
+ */
696
+ confirm(prompt: string | ActionConfirm): this;
697
+ /**
698
+ * Server-side handler. Two shapes:
699
+ *
700
+ * - **Closure** — `handler(async ctx => …)`. Dispatched against the
701
+ * current page's `_action/:name` endpoint. Closures don't survive
702
+ * serialization, so they can't ride a persisted notification —
703
+ * `Notification.toDatabase()` rejects them with a clear error.
704
+ *
705
+ * - **Registry key** — `handler('archive-project')`. Looked up against
706
+ * `Pilotiq.notificationHandlers({…})` at request time. Round-trips
707
+ * through a `Notification`'s `data.actions` JSON column, so this is
708
+ * the path to take when an action lives on a row that may be
709
+ * clicked days later.
710
+ *
711
+ * Mutually exclusive — setting one clears the other.
712
+ */
713
+ handler(fnOrName: ActionHandler | string): this;
714
+ /**
715
+ * Per-fire context for registry-handler dispatch. JSON-serializable
716
+ * keys only — values flow through the notification's `data.actions`
717
+ * column and arrive on the handler's `ctx.payload`.
718
+ *
719
+ * Action.make('archive')
720
+ * .handler('archive-project')
721
+ * .payload({ projectId: 123 })
722
+ */
723
+ payload(data: Record<string, unknown>): this;
724
+ /**
725
+ * Filament-style chain modifier — when this action lives inside a
726
+ * `Notification.actions([…])` slot, firing it also flips the
727
+ * notification's `read_at`. No-op for actions used outside the
728
+ * notification context (Resource actions, etc).
729
+ *
730
+ * Action.make('view').url('/projects/123').markAsRead()
731
+ *
732
+ * On url/post actions the bell client fires the read POST as a
733
+ * client-side side-effect *before* navigating/submitting; on
734
+ * registry-handler actions the route flips `read_at` server-side
735
+ * after the handler runs (one round-trip, not two).
736
+ */
737
+ markAsRead(v?: boolean): this;
738
+ /**
739
+ * Open the action's url in a new tab. Honored by the notification
740
+ * action-strip renderers; equivalent to `target="_blank"` on the
741
+ * underlying anchor.
742
+ */
743
+ openUrlInNewTab(v?: boolean): this;
744
+ /**
745
+ * Attach a form schema that opens in a modal Dialog when the action is
746
+ * triggered. The submitted values flow through validation + coercion
747
+ * server-side and arrive on the handler's `ctx.values`. Triggers modal
748
+ * chrome (heading / submit button / cancel button) if not configured
749
+ * via the other modal builders below.
750
+ */
751
+ schema(elements: Element[]): this;
752
+ modalHeading(s: string): this;
753
+ modalDescription(s: string): this;
754
+ modalSubmitLabel(s: string): this;
755
+ modalCancelLabel(s: string): this;
756
+ /** Filament v5 alias for `modalSubmitLabel`. Reads more naturally
757
+ * alongside `modalCancelActionLabel` when both are set. */
758
+ modalSubmitActionLabel(s: string): this;
759
+ /** Filament v5 alias for `modalCancelLabel`. */
760
+ modalCancelActionLabel(s: string): this;
761
+ modalIcon(i: string): this;
762
+ modalIconColor(c: ActionModalIconColor): this;
763
+ modalWidth(w: ActionModalWidth): this;
764
+ modalAlignment(a: ActionModalAlignment): this;
765
+ slideOver(v?: boolean): this;
766
+ /**
767
+ * Disable / re-enable closing the modal by clicking outside the popup.
768
+ * Default: enabled. Calling without an arg disables (matches Filament's
769
+ * `->closeModalByClickingAway(false)` shape — most uses are to gate
770
+ * accidental dismissal of important modals).
771
+ */
772
+ closeModalByClickingAway(v?: boolean): this;
773
+ /**
774
+ * Disable / re-enable closing the modal with the Escape key. Default:
775
+ * enabled. Same shape as `closeModalByClickingAway`. Useful when a
776
+ * partially-completed multi-step modal would lose work on a stray Esc.
777
+ */
778
+ closeModalByEscaping(v?: boolean): this;
779
+ /** Sticky header inside the modal body. Useful when the body scrolls
780
+ * past the heading on long forms. Default: off. */
781
+ stickyModalHeader(v?: boolean): this;
782
+ /** Sticky footer inside the modal body. Pairs naturally with
783
+ * `stickyModalHeader` on long forms — keeps the Submit / Cancel
784
+ * buttons visible while the user scrolls. Default: off. */
785
+ stickyModalFooter(v?: boolean): this;
786
+ /**
787
+ * Override the default autofocus behaviour. `true` focuses the first
788
+ * form input on mount (or the submit button when there is no form);
789
+ * `false` disables autofocus entirely. Omit to keep the legacy default
790
+ * (submit button autofocuses for confirm-only modals).
791
+ */
792
+ modalAutofocus(v?: boolean): this;
793
+ /** Render an X close button in the top-right corner of the popup.
794
+ * Default: off (the Cancel button in the footer is the documented
795
+ * affordance). Useful for slide-over panels where the footer is
796
+ * far from the top of the viewport. */
797
+ modalCloseButton(v?: boolean): this;
798
+ /**
799
+ * Render this action as a link to `url`. Mutually exclusive with
800
+ * `.method()` — setting `href` clears any prior method/action URL.
801
+ */
802
+ href(url: string): this;
803
+ /**
804
+ * Sugar alias for `.href(url)` — matches Filament's `->url(...)` API
805
+ * and reads more naturally inside `Notification.actions([…])`.
806
+ */
807
+ url(href: string): this;
808
+ /**
809
+ * Render this action as a form-style submit button using `method`. Pair
810
+ * with `.action(url)` to set the form's action URL — falls back to the
811
+ * current page URL otherwise.
812
+ */
813
+ method(m: ActionMethod): this;
814
+ /** Form action URL — only meaningful when `.method()` is set. */
815
+ action(url: string): this;
816
+ /**
817
+ * Render-time URL the client should POST to when invoking this
818
+ * action's handler. Set by the route registrar — users don't normally
819
+ * call this directly. Format: `${pageUrl}/_action/${action.name}`.
820
+ */
821
+ dispatchUrl(url: string): this;
822
+ /**
823
+ * Mark this action as the form-submit button for its enclosing
824
+ * `<form>`. Renders as `<button type="submit">` and relies on the form
825
+ * itself to carry `action` + `method`. Mutually exclusive with
826
+ * `.href()` / `.method()` / handler-style.
827
+ */
828
+ submit(): this;
829
+ /**
830
+ * Target a specific `<form id="">` when this is a submit action — uses
831
+ * the HTML `form` attribute so the button can submit a form it doesn't
832
+ * live inside. Required when the submit action sits in the page
833
+ * header (outside the form's DOM subtree).
834
+ */
835
+ form(formId: string): this;
836
+ /**
837
+ * Attach a `name`+`value` pair to a submit button so it round-trips
838
+ * through the form body when this specific button is clicked. Wires
839
+ * the "Create & create another" pattern: the secondary submit posts
840
+ * `{ _continueCreate: '1' }` and the server routes the redirect back
841
+ * to the create page. Browsers natively only include the clicked
842
+ * submit button's name/value in `FormData`; the FormRenderer threads
843
+ * `event.submitter` into the `FormData` constructor to preserve that.
844
+ */
845
+ formField(name: string, value?: string): this;
846
+ getLabel(): string;
847
+ getPlacement(): ActionPlacement;
848
+ isDestructive(): boolean;
849
+ getHandler(): ActionHandler | undefined;
850
+ /** Registry key set by `.handler(string)`; undefined when the handler
851
+ * is a closure (or unset). Mutually exclusive with `getHandler()`. */
852
+ getHandlerName(): string | undefined;
853
+ /** Per-fire context set by `.payload({…})`. Empty `{}` when unset
854
+ * (callers can spread without a null check). */
855
+ getPayload(): Record<string, unknown>;
856
+ /** Filament chain modifier — true when `.markAsRead()` was called.
857
+ * Read by `Notification.actions([…])` serializer; ignored elsewhere. */
858
+ isMarkAsReadOnFire(): boolean;
859
+ /** Honored by the notification action-strip renderers; equivalent to
860
+ * `target="_blank"` on the underlying anchor. */
861
+ isOpenUrlInNewTab(): boolean;
862
+ getHref(): string | undefined;
863
+ getMethod(): ActionMethod | undefined;
864
+ getActionUrl(): string | undefined;
865
+ getDispatchUrl(): string | undefined;
866
+ isSubmit(): boolean;
867
+ getFormTarget(): string | undefined;
868
+ getFormField(): {
869
+ name: string;
870
+ value: string;
871
+ } | undefined;
872
+ hasModal(): boolean;
873
+ /** Schema fields stored as children; `getChildren()` returns the same. */
874
+ getSchema(): Element[];
875
+ getColor(): ActionColor | undefined;
876
+ getIcon(): string | undefined;
877
+ getSize(): ActionSize | undefined;
878
+ getTooltip(): string | undefined;
879
+ isOutlined(): boolean;
880
+ isIconOnly(): boolean;
881
+ getBadge(): string | number | undefined;
882
+ getType(): string;
883
+ toMeta(): ActionMeta;
884
+ }
885
+ /** Re-export for routes/dispatch consumers that need to type-narrow on
886
+ * action validation failures. */
887
+ export type { ValidationErrors };
888
+ //# sourceMappingURL=Action.d.ts.map