@lattice-php/lattice 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +8 -0
  2. package/dist/action/components/action-form.d.ts +24 -0
  3. package/dist/action/components/action-form.js +270 -0
  4. package/dist/action/components/action-form.js.map +1 -0
  5. package/dist/action/components/action-group.d.ts +1 -8
  6. package/dist/action/components/action-group.js +24 -66
  7. package/dist/action/components/action-group.js.map +1 -1
  8. package/dist/action/components/action.d.ts +1 -24
  9. package/dist/action/components/action.js +61 -46
  10. package/dist/action/components/action.js.map +1 -1
  11. package/dist/action/effects.d.ts +6 -25
  12. package/dist/action/effects.js +2 -2
  13. package/dist/action/effects.js.map +1 -1
  14. package/dist/action/index.d.ts +1 -1
  15. package/dist/core/components/badge.d.ts +1 -8
  16. package/dist/core/components/badge.js +2 -3
  17. package/dist/core/components/badge.js.map +1 -1
  18. package/dist/core/components/button.d.ts +4 -12
  19. package/dist/core/components/button.js +6 -9
  20. package/dist/core/components/button.js.map +1 -1
  21. package/dist/core/components/card.d.ts +1 -9
  22. package/dist/core/components/card.js +1 -3
  23. package/dist/core/components/card.js.map +1 -1
  24. package/dist/core/components/confirm-dialog.d.ts +2 -3
  25. package/dist/core/components/confirm-dialog.js +19 -13
  26. package/dist/core/components/confirm-dialog.js.map +1 -1
  27. package/dist/core/components/fragment.d.ts +1 -10
  28. package/dist/core/components/fragment.js +5 -6
  29. package/dist/core/components/fragment.js.map +1 -1
  30. package/dist/core/components/grid.d.ts +1 -8
  31. package/dist/core/components/grid.js +1 -2
  32. package/dist/core/components/grid.js.map +1 -1
  33. package/dist/core/components/heading.d.ts +1 -9
  34. package/dist/core/components/heading.js +2 -3
  35. package/dist/core/components/heading.js.map +1 -1
  36. package/dist/core/components/icon.d.ts +3 -0
  37. package/dist/core/components/icon.js +30 -0
  38. package/dist/core/components/icon.js.map +1 -0
  39. package/dist/core/components/index.d.ts +1 -1
  40. package/dist/core/components/index.js +4 -0
  41. package/dist/core/components/index.js.map +1 -1
  42. package/dist/core/components/link.d.ts +1 -12
  43. package/dist/core/components/link.js +4 -9
  44. package/dist/core/components/link.js.map +1 -1
  45. package/dist/core/components/modal.d.ts +1 -11
  46. package/dist/core/components/modal.js +27 -31
  47. package/dist/core/components/modal.js.map +1 -1
  48. package/dist/core/components/section.d.ts +3 -0
  49. package/dist/core/components/section.js +79 -0
  50. package/dist/core/components/section.js.map +1 -0
  51. package/dist/core/components/segmented-control.d.ts +1 -14
  52. package/dist/core/components/segmented-control.js +4 -7
  53. package/dist/core/components/segmented-control.js.map +1 -1
  54. package/dist/core/components/segmented-pills.d.ts +4 -2
  55. package/dist/core/components/segmented-pills.js +10 -1
  56. package/dist/core/components/segmented-pills.js.map +1 -1
  57. package/dist/core/components/spinner.js +8 -4
  58. package/dist/core/components/spinner.js.map +1 -1
  59. package/dist/core/components/stack.d.ts +1 -11
  60. package/dist/core/components/stack.js +5 -5
  61. package/dist/core/components/stack.js.map +1 -1
  62. package/dist/core/components/tabs.d.ts +1 -19
  63. package/dist/core/components/tabs.js +45 -21
  64. package/dist/core/components/tabs.js.map +1 -1
  65. package/dist/core/components/text.d.ts +1 -9
  66. package/dist/core/components/text.js +2 -3
  67. package/dist/core/components/text.js.map +1 -1
  68. package/dist/core/registry.d.ts +9 -3
  69. package/dist/core/registry.js +21 -5
  70. package/dist/core/registry.js.map +1 -1
  71. package/dist/core/renderer.js +7 -13
  72. package/dist/core/renderer.js.map +1 -1
  73. package/dist/core/types.d.ts +54 -26
  74. package/dist/form/components/base/checkbox.js +5 -2
  75. package/dist/form/components/base/checkbox.js.map +1 -1
  76. package/dist/form/components/base/field.d.ts +2 -1
  77. package/dist/form/components/base/field.js +5 -1
  78. package/dist/form/components/base/field.js.map +1 -1
  79. package/dist/form/components/base/password-input.js +9 -2
  80. package/dist/form/components/base/password-input.js.map +1 -1
  81. package/dist/form/components/base/submit-button.d.ts +4 -4
  82. package/dist/form/components/base/submit-button.js +2 -2
  83. package/dist/form/components/base/submit-button.js.map +1 -1
  84. package/dist/form/components/conditions.d.ts +6 -9
  85. package/dist/form/components/conditions.js +10 -2
  86. package/dist/form/components/conditions.js.map +1 -1
  87. package/dist/form/components/context.d.ts +0 -4
  88. package/dist/form/components/context.js +1 -5
  89. package/dist/form/components/context.js.map +1 -1
  90. package/dist/form/components/field-props.d.ts +24 -0
  91. package/dist/form/components/field-props.js +15 -0
  92. package/dist/form/components/field-props.js.map +1 -0
  93. package/dist/form/components/fields/checkbox.d.ts +1 -15
  94. package/dist/form/components/fields/checkbox.js +16 -21
  95. package/dist/form/components/fields/checkbox.js.map +1 -1
  96. package/dist/form/components/fields/choice.d.ts +1 -13
  97. package/dist/form/components/fields/choice.js +13 -20
  98. package/dist/form/components/fields/choice.js.map +1 -1
  99. package/dist/form/components/fields/date-input.d.ts +1 -19
  100. package/dist/form/components/fields/date-input.js +11 -16
  101. package/dist/form/components/fields/date-input.js.map +1 -1
  102. package/dist/form/components/fields/hidden-input.d.ts +1 -9
  103. package/dist/form/components/fields/hidden-input.js +2 -3
  104. package/dist/form/components/fields/hidden-input.js.map +1 -1
  105. package/dist/form/components/fields/number-input.d.ts +1 -22
  106. package/dist/form/components/fields/number-input.js +38 -41
  107. package/dist/form/components/fields/number-input.js.map +1 -1
  108. package/dist/form/components/fields/password-input.d.ts +1 -28
  109. package/dist/form/components/fields/password-input.js +15 -24
  110. package/dist/form/components/fields/password-input.js.map +1 -1
  111. package/dist/form/components/fields/rich-editor.d.ts +1 -16
  112. package/dist/form/components/fields/rich-editor.js +57 -47
  113. package/dist/form/components/fields/rich-editor.js.map +1 -1
  114. package/dist/form/components/fields/select.d.ts +1 -22
  115. package/dist/form/components/fields/select.js +85 -74
  116. package/dist/form/components/fields/select.js.map +1 -1
  117. package/dist/form/components/fields/simple-field.d.ts +9 -0
  118. package/dist/form/components/fields/simple-field.js +22 -0
  119. package/dist/form/components/fields/simple-field.js.map +1 -0
  120. package/dist/form/components/fields/text-input.d.ts +1 -20
  121. package/dist/form/components/fields/text-input.js +12 -17
  122. package/dist/form/components/fields/text-input.js.map +1 -1
  123. package/dist/form/components/fields/textarea.d.ts +1 -19
  124. package/dist/form/components/fields/textarea.js +11 -16
  125. package/dist/form/components/fields/textarea.js.map +1 -1
  126. package/dist/form/components/form.d.ts +1 -20
  127. package/dist/form/components/form.js +29 -36
  128. package/dist/form/components/form.js.map +1 -1
  129. package/dist/form/components/index.d.ts +0 -1
  130. package/dist/form/components/index.js +1 -2
  131. package/dist/form/components/resolved-nodes.d.ts +1 -1
  132. package/dist/form/components/resolved-nodes.js +2 -2
  133. package/dist/form/components/resolved-nodes.js.map +1 -1
  134. package/dist/form/components/types.d.ts +1 -0
  135. package/dist/form/components/use-controlled-field.d.ts +3 -9
  136. package/dist/form/components/use-controlled-field.js +5 -9
  137. package/dist/form/components/use-controlled-field.js.map +1 -1
  138. package/dist/form/components/use-dependent-field.d.ts +1 -1
  139. package/dist/form/components/use-dependent-field.js +8 -8
  140. package/dist/form/components/use-dependent-field.js.map +1 -1
  141. package/dist/form/components/use-form-resolver.d.ts +1 -1
  142. package/dist/form/components/use-form-resolver.js +8 -13
  143. package/dist/form/components/use-form-resolver.js.map +1 -1
  144. package/dist/form/components/use-seed-default.d.ts +5 -0
  145. package/dist/form/components/use-seed-default.js +23 -0
  146. package/dist/form/components/use-seed-default.js.map +1 -0
  147. package/dist/form/index.d.ts +1 -1
  148. package/dist/form/index.js +0 -1
  149. package/dist/form/index.js.map +1 -1
  150. package/dist/form/skeleton.d.ts +1 -1
  151. package/dist/form/skeleton.js +1 -1
  152. package/dist/form/skeleton.js.map +1 -1
  153. package/dist/i18n/backend.d.ts +24 -0
  154. package/dist/i18n/backend.js +39 -0
  155. package/dist/i18n/backend.js.map +1 -0
  156. package/dist/i18n/index.d.ts +3 -0
  157. package/dist/i18n/index.js +3 -0
  158. package/dist/i18n/instance.js +48 -0
  159. package/dist/i18n/instance.js.map +1 -0
  160. package/dist/icons/icon-renderer.js +30 -5
  161. package/dist/icons/icon-renderer.js.map +1 -1
  162. package/dist/icons/index.d.ts +2 -0
  163. package/dist/icons/index.js +2 -1
  164. package/dist/icons/sprite.d.ts +30 -0
  165. package/dist/icons/sprite.js +40 -0
  166. package/dist/icons/sprite.js.map +1 -0
  167. package/dist/index.d.ts +9 -5
  168. package/dist/index.js +7 -3
  169. package/dist/inertia.d.ts +1 -6
  170. package/dist/inertia.js +4 -8
  171. package/dist/inertia.js.map +1 -1
  172. package/dist/lattice.css +129 -5
  173. package/dist/layout/components.d.ts +1 -0
  174. package/dist/layout/components.js +19 -0
  175. package/dist/layout/components.js.map +1 -0
  176. package/dist/layout/context.d.ts +12 -0
  177. package/dist/layout/context.js +19 -0
  178. package/dist/layout/context.js.map +1 -0
  179. package/dist/layout/index.d.ts +3 -0
  180. package/dist/layout/index.js +4 -0
  181. package/dist/layout/menu-item.d.ts +3 -0
  182. package/dist/layout/menu-item.js +130 -0
  183. package/dist/layout/menu-item.js.map +1 -0
  184. package/dist/layout/menu.d.ts +3 -0
  185. package/dist/layout/menu.js +13 -0
  186. package/dist/layout/menu.js.map +1 -0
  187. package/dist/layout/outlet.d.ts +6 -0
  188. package/dist/layout/outlet.js +14 -0
  189. package/dist/layout/outlet.js.map +1 -0
  190. package/dist/layout/schema-layout.d.ts +10 -0
  191. package/dist/layout/schema-layout.js +30 -0
  192. package/dist/layout/schema-layout.js.map +1 -0
  193. package/dist/layout/sidebar.d.ts +3 -0
  194. package/dist/layout/sidebar.js +48 -0
  195. package/dist/layout/sidebar.js.map +1 -0
  196. package/dist/lib/utils.d.ts +0 -2
  197. package/dist/lib/utils.js +1 -4
  198. package/dist/lib/utils.js.map +1 -1
  199. package/dist/node_modules/i18next/dist/esm/i18next.js +1982 -0
  200. package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -0
  201. package/dist/node_modules/i18next-http-backend/esm/index.js +352 -0
  202. package/dist/node_modules/i18next-http-backend/esm/index.js.map +1 -0
  203. package/dist/node_modules/react-i18next/dist/es/context.js +23 -0
  204. package/dist/node_modules/react-i18next/dist/es/context.js.map +1 -0
  205. package/dist/node_modules/react-i18next/dist/es/defaults.js +29 -0
  206. package/dist/node_modules/react-i18next/dist/es/defaults.js.map +1 -0
  207. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js +10 -0
  208. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js.map +1 -0
  209. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js +14 -0
  210. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js.map +1 -0
  211. package/dist/node_modules/react-i18next/dist/es/unescape.js +30 -0
  212. package/dist/node_modules/react-i18next/dist/es/unescape.js.map +1 -0
  213. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +157 -0
  214. package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -0
  215. package/dist/node_modules/react-i18next/dist/es/utils.js +58 -0
  216. package/dist/node_modules/react-i18next/dist/es/utils.js.map +1 -0
  217. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +70 -0
  218. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  219. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +61 -0
  220. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  221. package/dist/node_modules/use-sync-external-store/shim/index.js +13 -0
  222. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  223. package/dist/page.d.ts +1 -1
  224. package/dist/page.js +2 -2
  225. package/dist/page.js.map +1 -1
  226. package/dist/provider.d.ts +8 -3
  227. package/dist/provider.js +17 -9
  228. package/dist/provider.js.map +1 -1
  229. package/dist/registry.d.ts +1 -1
  230. package/dist/registry.js +2 -1
  231. package/dist/registry.js.map +1 -1
  232. package/dist/table/bulk.d.ts +6 -10
  233. package/dist/table/bulk.js +13 -35
  234. package/dist/table/bulk.js.map +1 -1
  235. package/dist/table/column-registry.d.ts +9 -0
  236. package/dist/table/components/bulk-bar.js +34 -3
  237. package/dist/table/components/bulk-bar.js.map +1 -1
  238. package/dist/table/components/cells/badge-cell.d.ts +5 -0
  239. package/dist/table/components/cells/badge-cell.js +16 -0
  240. package/dist/table/components/cells/badge-cell.js.map +1 -0
  241. package/dist/table/components/cells/icon-cell.d.ts +5 -0
  242. package/dist/table/components/cells/icon-cell.js +22 -0
  243. package/dist/table/components/cells/icon-cell.js.map +1 -0
  244. package/dist/table/components/cells/image-cell.d.ts +5 -0
  245. package/dist/table/components/cells/image-cell.js +24 -0
  246. package/dist/table/components/cells/image-cell.js.map +1 -0
  247. package/dist/table/components/cells/text-cell.d.ts +6 -0
  248. package/dist/table/components/cells/text-cell.js +50 -0
  249. package/dist/table/components/cells/text-cell.js.map +1 -0
  250. package/dist/table/components/column-filter-control.js +59 -96
  251. package/dist/table/components/column-filter-control.js.map +1 -1
  252. package/dist/table/components/column-header.js +22 -11
  253. package/dist/table/components/column-header.js.map +1 -1
  254. package/dist/table/components/filter-stack-bar.d.ts +2 -2
  255. package/dist/table/components/filter-stack-bar.js +10 -8
  256. package/dist/table/components/filter-stack-bar.js.map +1 -1
  257. package/dist/table/components/filter-value-input.d.ts +5 -3
  258. package/dist/table/components/filter-value-input.js +25 -16
  259. package/dist/table/components/filter-value-input.js.map +1 -1
  260. package/dist/table/components/pagination.d.ts +1 -1
  261. package/dist/table/components/pagination.js +20 -8
  262. package/dist/table/components/pagination.js.map +1 -1
  263. package/dist/table/components/sort-bar.d.ts +2 -2
  264. package/dist/table/components/sort-bar.js +12 -10
  265. package/dist/table/components/sort-bar.js.map +1 -1
  266. package/dist/table/components/table-action-node.d.ts +1 -1
  267. package/dist/table/components/table-action-node.js +1 -1
  268. package/dist/table/components/table-action-node.js.map +1 -1
  269. package/dist/table/components/table-cell.d.ts +1 -1
  270. package/dist/table/components/table-cell.js +24 -43
  271. package/dist/table/components/table-cell.js.map +1 -1
  272. package/dist/table/components/table.d.ts +6 -2
  273. package/dist/table/components/table.js +40 -17
  274. package/dist/table/components/table.js.map +1 -1
  275. package/dist/table/format.js +5 -3
  276. package/dist/table/format.js.map +1 -1
  277. package/dist/table/index.d.ts +1 -1
  278. package/dist/table/index.js.map +1 -1
  279. package/dist/table/payload.d.ts +1 -1
  280. package/dist/table/query.d.ts +0 -1
  281. package/dist/table/query.js +8 -9
  282. package/dist/table/query.js.map +1 -1
  283. package/dist/table/types.d.ts +38 -42
  284. package/dist/table/use-table.d.ts +3 -4
  285. package/dist/table/use-table.js +12 -23
  286. package/dist/table/use-table.js.map +1 -1
  287. package/dist/test-support.d.ts +14 -0
  288. package/dist/test-support.js +14 -0
  289. package/dist/test-support.js.map +1 -0
  290. package/dist/toast/index.d.ts +1 -0
  291. package/dist/toast/index.js +2 -0
  292. package/dist/toast/toaster.d.ts +3 -0
  293. package/dist/toast/toaster.js +126 -0
  294. package/dist/toast/toaster.js.map +1 -0
  295. package/dist/types/generated.d.ts +677 -0
  296. package/dist/types/generated.js +0 -0
  297. package/dist/types/index.d.ts +1 -1
  298. package/package.json +18 -3
  299. package/resources/icons/align-center.svg +17 -0
  300. package/resources/icons/align-justify.svg +17 -0
  301. package/resources/icons/align-left.svg +17 -0
  302. package/resources/icons/align-right.svg +17 -0
  303. package/resources/icons/arrow-down.svg +16 -0
  304. package/resources/icons/arrow-up.svg +16 -0
  305. package/resources/icons/bold.svg +15 -0
  306. package/resources/icons/check.svg +15 -0
  307. package/resources/icons/chevron-down.svg +15 -0
  308. package/resources/icons/chevron-right.svg +15 -0
  309. package/resources/icons/chevrons-up-down.svg +16 -0
  310. package/resources/icons/circle-alert.svg +17 -0
  311. package/resources/icons/circle-check.svg +16 -0
  312. package/resources/icons/circle-help.svg +17 -0
  313. package/resources/icons/circle-x.svg +17 -0
  314. package/resources/icons/code.svg +16 -0
  315. package/resources/icons/columns-3.svg +17 -0
  316. package/resources/icons/copy.svg +16 -0
  317. package/resources/icons/external-link.svg +17 -0
  318. package/resources/icons/eye-off.svg +18 -0
  319. package/resources/icons/eye.svg +16 -0
  320. package/resources/icons/filter.svg +15 -0
  321. package/resources/icons/heading-1.svg +18 -0
  322. package/resources/icons/heading-2.svg +18 -0
  323. package/resources/icons/heading-3.svg +19 -0
  324. package/resources/icons/highlighter.svg +16 -0
  325. package/resources/icons/info.svg +17 -0
  326. package/resources/icons/italic.svg +17 -0
  327. package/resources/icons/layout-dashboard.svg +18 -0
  328. package/resources/icons/link.svg +16 -0
  329. package/resources/icons/list-ordered.svg +20 -0
  330. package/resources/icons/list.svg +20 -0
  331. package/resources/icons/loader-2.svg +15 -0
  332. package/resources/icons/minus.svg +15 -0
  333. package/resources/icons/more-horizontal.svg +17 -0
  334. package/resources/icons/panel-left.svg +16 -0
  335. package/resources/icons/pencil-line.svg +17 -0
  336. package/resources/icons/pencil.svg +16 -0
  337. package/resources/icons/plus.svg +16 -0
  338. package/resources/icons/quote.svg +16 -0
  339. package/resources/icons/rows-3.svg +17 -0
  340. package/resources/icons/search.svg +16 -0
  341. package/resources/icons/send.svg +16 -0
  342. package/resources/icons/settings.svg +16 -0
  343. package/resources/icons/smile.svg +18 -0
  344. package/resources/icons/strikethrough.svg +17 -0
  345. package/resources/icons/table.svg +18 -0
  346. package/resources/icons/trash-2.svg +19 -0
  347. package/resources/icons/underline.svg +16 -0
  348. package/resources/icons/x.svg +16 -0
  349. package/dist/core/props.d.ts +0 -14
  350. package/dist/core/props.js +0 -30
  351. package/dist/core/props.js.map +0 -1
  352. package/dist/form/components/fields/submit-button.d.ts +0 -10
  353. package/dist/form/components/fields/submit-button.js +0 -14
  354. package/dist/form/components/fields/submit-button.js.map +0 -1
  355. package/dist/generated/types.d.ts +0 -17
  356. package/dist/icons/default-icons.d.ts +0 -3
  357. package/dist/icons/default-icons.js +0 -44
  358. package/dist/icons/default-icons.js.map +0 -1
  359. package/dist/icons/dynamic-lucide-renderer.d.ts +0 -2
  360. package/dist/icons/dynamic-lucide-renderer.js +0 -18
  361. package/dist/icons/dynamic-lucide-renderer.js.map +0 -1
  362. package/dist/menu/index.d.ts +0 -1
  363. package/dist/menu/index.js +0 -2
  364. package/dist/menu/use-menu.d.ts +0 -2
  365. package/dist/menu/use-menu.js +0 -9
  366. package/dist/menu/use-menu.js.map +0 -1
  367. /package/dist/{generated/types.js → table/column-registry.js} +0 -0
@@ -0,0 +1,677 @@
1
+ export type Action = {
2
+ confirmation: Confirmation | null;
3
+ effects: Effect[];
4
+ endpoint: string | null;
5
+ form: Form | null;
6
+ icon: string | null;
7
+ label: string | null;
8
+ lazyForm: boolean | null;
9
+ method: HttpMethod | null;
10
+ ref: string | null;
11
+ variant: ButtonVariant | null;
12
+ };
13
+ export type ActionGroup = {
14
+ label: string;
15
+ ref: string | null;
16
+ };
17
+ export type ActionNode = {
18
+ type: "action";
19
+ key?: string;
20
+ id?: string;
21
+ props: Action;
22
+ } | {
23
+ type: "action.group";
24
+ key?: string;
25
+ id?: string;
26
+ props: ActionGroup;
27
+ schema?: Node[];
28
+ } | {
29
+ type: "bulkAction";
30
+ key?: string;
31
+ id?: string;
32
+ props: BulkAction;
33
+ };
34
+ export type Align = "center" | "left" | "start" | "stretch";
35
+ export type Badge = {
36
+ label: string;
37
+ };
38
+ export type BadgeColumnProps = {
39
+ readonly colors: Record<string | number, string> | null;
40
+ };
41
+ export type BulkAction = {
42
+ confirmation: Confirmation | null;
43
+ effects: Effect[];
44
+ endpoint: string | null;
45
+ form: Form | null;
46
+ icon: string | null;
47
+ label: string | null;
48
+ lazyForm: boolean | null;
49
+ method: HttpMethod | null;
50
+ ref: string | null;
51
+ variant: ButtonVariant | null;
52
+ };
53
+ export type Button = {
54
+ buttonType: ButtonType;
55
+ href: string | null;
56
+ label: string;
57
+ variant: ButtonVariant | null;
58
+ };
59
+ export type ButtonType = "button" | "submit" | "reset";
60
+ export type ButtonVariant = "default" | "destructive" | "ghost" | "info" | "link" | "outline" | "secondary" | "success";
61
+ export type Card = {
62
+ description: string | null;
63
+ title: string | null;
64
+ };
65
+ export type Checkbox = {
66
+ autoFocus: boolean | null;
67
+ conditions: {
68
+ visible?: Condition[];
69
+ required?: Condition[];
70
+ readOnly?: Condition[];
71
+ disabled?: Condition[];
72
+ } | null;
73
+ dependsOnAny: boolean | null;
74
+ dependsOnKeys: string[] | null;
75
+ disabled: boolean | null;
76
+ helperText: string | null;
77
+ hidden: boolean | null;
78
+ label: string | null;
79
+ name: string;
80
+ readOnly: boolean | null;
81
+ required: boolean | null;
82
+ tabIndex: number | null;
83
+ value: unknown;
84
+ };
85
+ export type Choice = {
86
+ autoFocus: boolean | null;
87
+ conditions: {
88
+ visible?: Condition[];
89
+ required?: Condition[];
90
+ readOnly?: Condition[];
91
+ disabled?: Condition[];
92
+ } | null;
93
+ dependsOnAny: boolean | null;
94
+ dependsOnKeys: string[] | null;
95
+ disabled: boolean | null;
96
+ helperText: string | null;
97
+ hidden: boolean | null;
98
+ label: string | null;
99
+ name: string;
100
+ options: Option[];
101
+ readOnly: boolean | null;
102
+ required: boolean | null;
103
+ tabIndex: number | null;
104
+ value: unknown;
105
+ };
106
+ export type CloseModalEffect = {
107
+ readonly modal: string | null;
108
+ };
109
+ export type Color = "muted" | "primary" | "success" | "info" | "warning" | "danger";
110
+ export type ColumnData = {
111
+ readonly key: string;
112
+ readonly label: string;
113
+ readonly type: ColumnType | string;
114
+ readonly sortable: boolean | null;
115
+ readonly filter: ColumnFilter | null;
116
+ readonly columns: ColumnData[] | null;
117
+ readonly props: Record<string, unknown> | null;
118
+ };
119
+ export type ColumnFilter = {
120
+ readonly enabled: boolean;
121
+ readonly type: FilterType;
122
+ readonly operators: Op[];
123
+ readonly defaultOperator: Op;
124
+ };
125
+ export type ColumnPropsMap = {
126
+ badge: BadgeColumnProps;
127
+ icon: IconColumnProps;
128
+ image: ImageColumnProps;
129
+ text: TextColumnProps;
130
+ };
131
+ export type ColumnType = "text" | "stack" | "badge" | "icon" | "image";
132
+ export type Condition = {
133
+ readonly field: string;
134
+ readonly operator: Op;
135
+ readonly value: unknown;
136
+ };
137
+ export type Confirmation = {
138
+ readonly title: string;
139
+ readonly description: string | null;
140
+ readonly confirmLabel: string | null;
141
+ readonly cancelLabel: string | null;
142
+ };
143
+ export type CoreNode = {
144
+ type: "badge";
145
+ key?: string;
146
+ props: Badge;
147
+ } | {
148
+ type: "button";
149
+ key?: string;
150
+ props: Button;
151
+ } | {
152
+ type: "card";
153
+ key?: string;
154
+ props: Card;
155
+ schema?: Node[];
156
+ } | {
157
+ type: "grid";
158
+ key?: string;
159
+ props: Grid;
160
+ schema?: Node[];
161
+ } | {
162
+ type: "heading";
163
+ key?: string;
164
+ props: Heading;
165
+ } | {
166
+ type: "icon";
167
+ key?: string;
168
+ props: Icon;
169
+ } | {
170
+ type: "link";
171
+ key?: string;
172
+ props: Link;
173
+ } | {
174
+ type: "modal";
175
+ key?: string;
176
+ id?: string;
177
+ props: Modal;
178
+ schema?: Node[];
179
+ } | {
180
+ type: "section";
181
+ key?: string;
182
+ props: Section;
183
+ schema?: Node[];
184
+ } | {
185
+ type: "segmented-control";
186
+ key?: string;
187
+ props: SegmentedControl;
188
+ } | {
189
+ type: "stack";
190
+ key?: string;
191
+ props: Stack;
192
+ schema?: Node[];
193
+ } | {
194
+ type: "tab";
195
+ key?: string;
196
+ props: Tab;
197
+ schema?: Node[];
198
+ } | {
199
+ type: "tabs";
200
+ key?: string;
201
+ props: Tabs;
202
+ schema?: Node[];
203
+ } | {
204
+ type: "text";
205
+ key?: string;
206
+ props: Text;
207
+ };
208
+ export type DateInput = {
209
+ autoFocus: boolean | null;
210
+ conditions: {
211
+ visible?: Condition[];
212
+ required?: Condition[];
213
+ readOnly?: Condition[];
214
+ disabled?: Condition[];
215
+ } | null;
216
+ dependsOnAny: boolean | null;
217
+ dependsOnKeys: string[] | null;
218
+ disabled: boolean | null;
219
+ helperText: string | null;
220
+ hidden: boolean | null;
221
+ label: string | null;
222
+ max: string | null;
223
+ min: string | null;
224
+ name: string;
225
+ readOnly: boolean | null;
226
+ required: boolean | null;
227
+ tabIndex: number | null;
228
+ value: unknown;
229
+ };
230
+ export type DownloadEffect = {
231
+ readonly url: string;
232
+ };
233
+ export type Effect = ({
234
+ type: "closeModal";
235
+ } & CloseModalEffect) | ({
236
+ type: "download";
237
+ } & DownloadEffect) | ({
238
+ type: "openModal";
239
+ } & OpenModalEffect) | ({
240
+ type: "redirect";
241
+ } & RedirectEffect) | ({
242
+ type: "reloadComponent";
243
+ } & ReloadComponentEffect) | ({
244
+ type: "reloadPage";
245
+ } & ReloadPageEffect) | ({
246
+ type: "resetForm";
247
+ } & ResetFormEffect) | ({
248
+ type: "toast";
249
+ } & ToastEffect);
250
+ export type EffectType = "toast" | "reloadComponent" | "reloadPage" | "redirect" | "download" | "openModal" | "closeModal" | "resetForm";
251
+ export type FilterClause = {
252
+ readonly field: string;
253
+ readonly operator: string;
254
+ readonly value: string;
255
+ };
256
+ export type FilterType = "text" | "number" | "date" | "boolean";
257
+ export type Form = {
258
+ action: string | null;
259
+ errorBag: string | null;
260
+ method: HttpMethod | null;
261
+ precognitive: boolean | null;
262
+ ref: string | null;
263
+ resetOnError: string[] | boolean | null;
264
+ resetOnSuccess: string[] | boolean | null;
265
+ state: Record<string, unknown>;
266
+ status: string | null;
267
+ submitButton: boolean | null;
268
+ submitLabel: string | null;
269
+ validationSummaryLabel: string;
270
+ validationTimeout: number | null;
271
+ };
272
+ export type FormFieldNode = {
273
+ type: "form.checkbox";
274
+ key?: string;
275
+ props: Checkbox;
276
+ } | {
277
+ type: "form.choice";
278
+ key?: string;
279
+ props: Choice;
280
+ } | {
281
+ type: "form.date-input";
282
+ key?: string;
283
+ props: DateInput;
284
+ } | {
285
+ type: "form.hidden-input";
286
+ key?: string;
287
+ props: HiddenInput;
288
+ } | {
289
+ type: "form.number-input";
290
+ key?: string;
291
+ props: NumberInput;
292
+ } | {
293
+ type: "form.password-input";
294
+ key?: string;
295
+ props: PasswordInput;
296
+ } | {
297
+ type: "form.rich-editor";
298
+ key?: string;
299
+ props: RichEditor;
300
+ } | {
301
+ type: "form.select";
302
+ key?: string;
303
+ props: Select;
304
+ } | {
305
+ type: "form.text-input";
306
+ key?: string;
307
+ props: TextInput;
308
+ } | {
309
+ type: "form.textarea";
310
+ key?: string;
311
+ props: Textarea;
312
+ };
313
+ export type FormNode = FormFieldNode | {
314
+ type: "form";
315
+ key?: string;
316
+ id?: string;
317
+ props: Form;
318
+ schema?: Node[];
319
+ };
320
+ export type FormNodeType = FormNode["type"];
321
+ export type Fragment = {
322
+ endpoint: string | null;
323
+ lazy: boolean | null;
324
+ ref: string | null;
325
+ };
326
+ export type FragmentNode = {
327
+ type: "fragment";
328
+ key?: string;
329
+ id?: string;
330
+ props: Fragment;
331
+ schema?: Node[];
332
+ };
333
+ export type Gap = "xs" | "sm" | "md" | "lg" | "xl";
334
+ export type Grid = {
335
+ columns: number | null;
336
+ };
337
+ export type Heading = {
338
+ level: number;
339
+ text: string;
340
+ };
341
+ export type HiddenInput = {
342
+ conditions: {
343
+ visible?: Condition[];
344
+ required?: Condition[];
345
+ readOnly?: Condition[];
346
+ disabled?: Condition[];
347
+ } | null;
348
+ dependsOnAny: boolean | null;
349
+ dependsOnKeys: string[] | null;
350
+ disabled: boolean | null;
351
+ helperText: string | null;
352
+ hidden: boolean | null;
353
+ label: string | null;
354
+ name: string;
355
+ readOnly: boolean | null;
356
+ required: boolean | null;
357
+ value: unknown;
358
+ };
359
+ export type HttpMethod = import('@inertiajs/core').Method;
360
+ export type Icon = {
361
+ class: string | null;
362
+ color: Color | null;
363
+ name: string;
364
+ size: Size;
365
+ };
366
+ export type IconColumnProps = {
367
+ readonly icon: string | null;
368
+ readonly icons: Record<string | number, string> | null;
369
+ readonly colors: Record<string | number, string> | null;
370
+ };
371
+ export type ImageColumnProps = {
372
+ readonly circular: boolean;
373
+ readonly size: number | null;
374
+ };
375
+ export type LayoutNode = {
376
+ type: "menu";
377
+ key?: string;
378
+ props: Menu;
379
+ schema?: Node[];
380
+ } | {
381
+ type: "menu-item";
382
+ key?: string;
383
+ props: MenuItem;
384
+ schema?: Node[];
385
+ } | {
386
+ type: "outlet";
387
+ key?: string;
388
+ props: Outlet;
389
+ } | {
390
+ type: "sidebar";
391
+ key?: string;
392
+ props: Sidebar;
393
+ schema?: Node[];
394
+ };
395
+ export type Link = {
396
+ href: string | null;
397
+ label: string;
398
+ method: HttpMethod | null;
399
+ tabIndex: number | null;
400
+ };
401
+ export type Menu = Record<string, never>;
402
+ export type MenuItem = {
403
+ href: string | null;
404
+ icon: string | null;
405
+ label: string;
406
+ method: HttpMethod | null;
407
+ };
408
+ export type Modal = {
409
+ closeLabel: string;
410
+ description: string | null;
411
+ open: boolean | null;
412
+ ref: string | null;
413
+ title: string | null;
414
+ };
415
+ export type Node = FormNode | CoreNode | ActionNode | FragmentNode | TableNode | LayoutNode;
416
+ export type NodeType = Node["type"];
417
+ export type NumberInput = {
418
+ autoFocus: boolean | null;
419
+ conditions: {
420
+ visible?: Condition[];
421
+ required?: Condition[];
422
+ readOnly?: Condition[];
423
+ disabled?: Condition[];
424
+ } | null;
425
+ dependsOnAny: boolean | null;
426
+ dependsOnKeys: string[] | null;
427
+ disabled: boolean | null;
428
+ helperText: string | null;
429
+ hidden: boolean | null;
430
+ label: string | null;
431
+ max: number | null;
432
+ min: number | null;
433
+ name: string;
434
+ placeholder: string | null;
435
+ readOnly: boolean | null;
436
+ required: boolean | null;
437
+ slider: boolean | null;
438
+ step: number | null;
439
+ tabIndex: number | null;
440
+ value: unknown;
441
+ };
442
+ export type Op = "contains" | "starts_with" | "ends_with" | "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "not_in" | "before" | "after" | "empty" | "filled";
443
+ export type OpenModalEffect = {
444
+ readonly modal: string;
445
+ };
446
+ export type Option = {
447
+ readonly label: string;
448
+ readonly value: string;
449
+ };
450
+ export type Orientation = "horizontal" | "vertical";
451
+ export type Outlet = Record<string, never>;
452
+ export type PageContainer = "centered" | "default";
453
+ export type PageLayout = "app" | "auth" | "none";
454
+ export type PaginationType = "none" | "simple" | "table" | "infinite";
455
+ export type PasswordInput = {
456
+ autoComplete: string | null;
457
+ autoFocus: boolean | null;
458
+ conditions: {
459
+ visible?: Condition[];
460
+ required?: Condition[];
461
+ readOnly?: Condition[];
462
+ disabled?: Condition[];
463
+ } | null;
464
+ confirmation: {
465
+ label: string;
466
+ name: string;
467
+ placeholder: string;
468
+ } | null;
469
+ dependsOnAny: boolean | null;
470
+ dependsOnKeys: string[] | null;
471
+ disabled: boolean | null;
472
+ helperText: string | null;
473
+ hidden: boolean | null;
474
+ label: string | null;
475
+ labelAction: {
476
+ href: string;
477
+ label: string;
478
+ tabIndex?: number;
479
+ } | null;
480
+ name: string;
481
+ passwordRules: string | null;
482
+ placeholder: string | null;
483
+ readOnly: boolean | null;
484
+ required: boolean | null;
485
+ tabIndex: number | null;
486
+ value: unknown;
487
+ };
488
+ export type RedirectEffect = {
489
+ readonly url: string;
490
+ };
491
+ export type ReloadComponentEffect = {
492
+ readonly component: string;
493
+ };
494
+ export type ReloadPageEffect = object;
495
+ export type ResetFormEffect = {
496
+ readonly form: string | null;
497
+ };
498
+ export type RichEditor = {
499
+ conditions: {
500
+ visible?: Condition[];
501
+ required?: Condition[];
502
+ readOnly?: Condition[];
503
+ disabled?: Condition[];
504
+ } | null;
505
+ dependsOnAny: boolean | null;
506
+ dependsOnKeys: string[] | null;
507
+ disabled: boolean | null;
508
+ helperText: string | null;
509
+ hidden: boolean | null;
510
+ label: string | null;
511
+ name: string;
512
+ placeholder: string | null;
513
+ readOnly: boolean | null;
514
+ required: boolean | null;
515
+ value: unknown;
516
+ };
517
+ export type Section = {
518
+ collapsed: boolean;
519
+ collapsible: boolean;
520
+ description: string | null;
521
+ headerActions: undefined[];
522
+ rememberState: boolean;
523
+ title: string | null;
524
+ };
525
+ export type SegmentedControl = {
526
+ emits: string | null;
527
+ label: string | null;
528
+ name: string;
529
+ options: Option[];
530
+ value: string | null;
531
+ };
532
+ export type Select = {
533
+ autoFocus: boolean | null;
534
+ conditions: {
535
+ visible?: Condition[];
536
+ required?: Condition[];
537
+ readOnly?: Condition[];
538
+ disabled?: Condition[];
539
+ } | null;
540
+ dependsOnAny: boolean | null;
541
+ dependsOnKeys: string[] | null;
542
+ disabled: boolean | null;
543
+ emptyLabel: string;
544
+ helperText: string | null;
545
+ hidden: boolean | null;
546
+ label: string | null;
547
+ multiple: boolean | null;
548
+ name: string;
549
+ options: Option[];
550
+ placeholder: string | null;
551
+ readOnly: boolean | null;
552
+ required: boolean | null;
553
+ searchPlaceholder: string;
554
+ searchable: boolean | null;
555
+ tabIndex: number | null;
556
+ value: unknown;
557
+ };
558
+ export type Sidebar = {
559
+ collapsible: boolean;
560
+ rememberState: boolean;
561
+ };
562
+ export type Size = "xs" | "sm" | "md" | "lg" | "xl";
563
+ export type SortDirection = "asc" | "desc";
564
+ export type Stack = {
565
+ align: Align | null;
566
+ direction: string | null;
567
+ gap: Gap | null;
568
+ width: Width | null;
569
+ };
570
+ export type Tab = {
571
+ confirm: {
572
+ required: boolean;
573
+ redirectUrl: string;
574
+ timeout?: number;
575
+ } | null;
576
+ label: string;
577
+ value: string;
578
+ };
579
+ export type Table = {
580
+ actionsLabel: string;
581
+ bulkActions: Action[];
582
+ columns: ColumnData[];
583
+ emptyLabel: string;
584
+ endpoint: string | null;
585
+ layout: string | null;
586
+ lazy: boolean | null;
587
+ ref: string | null;
588
+ striped: boolean | null;
589
+ };
590
+ export type TableNode = {
591
+ type: "table";
592
+ key?: string;
593
+ id?: string;
594
+ props: Table;
595
+ };
596
+ export type TableSort = {
597
+ readonly key: string;
598
+ readonly direction: SortDirection;
599
+ };
600
+ export type Tabs = {
601
+ activeValue: string;
602
+ defaultValue: string | null;
603
+ orientation: Orientation;
604
+ queryKey: string;
605
+ };
606
+ export type Text = {
607
+ align: Align | null;
608
+ text: string;
609
+ };
610
+ export type TextColumnProps = {
611
+ readonly date: {
612
+ format: string | null;
613
+ } | null;
614
+ readonly copyable: boolean;
615
+ readonly link: {
616
+ href: string | null;
617
+ external: boolean;
618
+ } | null;
619
+ };
620
+ export type TextInput = {
621
+ autoComplete: string | null;
622
+ autoFocus: boolean | null;
623
+ conditions: {
624
+ visible?: Condition[];
625
+ required?: Condition[];
626
+ readOnly?: Condition[];
627
+ disabled?: Condition[];
628
+ } | null;
629
+ dependsOnAny: boolean | null;
630
+ dependsOnKeys: string[] | null;
631
+ disabled: boolean | null;
632
+ helperText: string | null;
633
+ hidden: boolean | null;
634
+ label: string | null;
635
+ name: string;
636
+ placeholder: string | null;
637
+ readOnly: boolean | null;
638
+ required: boolean | null;
639
+ tabIndex: number | null;
640
+ type: string | null;
641
+ value: unknown;
642
+ };
643
+ export type Textarea = {
644
+ autoFocus: boolean | null;
645
+ conditions: {
646
+ visible?: Condition[];
647
+ required?: Condition[];
648
+ readOnly?: Condition[];
649
+ disabled?: Condition[];
650
+ } | null;
651
+ dependsOnAny: boolean | null;
652
+ dependsOnKeys: string[] | null;
653
+ disabled: boolean | null;
654
+ helperText: string | null;
655
+ hidden: boolean | null;
656
+ label: string | null;
657
+ name: string;
658
+ placeholder: string | null;
659
+ readOnly: boolean | null;
660
+ required: boolean | null;
661
+ rows: number | null;
662
+ tabIndex: number | null;
663
+ value: unknown;
664
+ };
665
+ export type ToastEffect = {
666
+ readonly toast: ToastMessage;
667
+ };
668
+ export type ToastMessage = {
669
+ duration: number | null;
670
+ persistent: boolean;
671
+ dismissible: boolean;
672
+ action: Node | null;
673
+ variant: ToastVariant;
674
+ message: string;
675
+ };
676
+ export type ToastVariant = "success" | "info" | "warning" | "error";
677
+ export type Width = "full" | "sm" | "md" | "lg" | "fill";
File without changes
@@ -1,2 +1,2 @@
1
- export type { MenuGroup, MenuItem, MenuPayload, Node, NodeProps, PageContainer, PageBreadcrumb, PagePayload, RendererComponent, } from '../../..';
1
+ export type { ComponentProps, Node, NodeProps, PageContainer, PageBreadcrumb, PagePayload, PropsOf, RendererComponent, } from '..';
2
2
  export type { Method } from '@inertiajs/core';