@lattice-php/lattice 0.38.0 → 0.40.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 (879) hide show
  1. package/README.md +5 -42
  2. package/dist/_virtual/_rolldown/runtime.js +27 -0
  3. package/dist/action/components/action-form.d.ts +1 -29
  4. package/dist/action/components/action-form.js +6 -257
  5. package/dist/action/components/action-form.js.map +1 -1
  6. package/dist/action/components/action-group.d.ts +1 -1
  7. package/dist/action/components/action-group.js +7 -7
  8. package/dist/action/components/action-group.js.map +1 -1
  9. package/dist/action/components/action-trigger-provider.d.ts +2 -2
  10. package/dist/action/components/action-trigger-provider.js +1 -1
  11. package/dist/action/components/action-trigger-provider.js.map +1 -1
  12. package/dist/action/components/action.d.ts +1 -1
  13. package/dist/action/components/action.js +5 -5
  14. package/dist/action/components/action.js.map +1 -1
  15. package/dist/action/hooks/use-action.d.ts +1 -1
  16. package/dist/action/hooks/use-action.js +10 -10
  17. package/dist/action/hooks/use-action.js.map +1 -1
  18. package/dist/action/index.d.ts +1 -1
  19. package/dist/action/index.js +5 -3
  20. package/dist/action/lib/action-label.d.ts +1 -1
  21. package/dist/action/lib/action-label.js +1 -1
  22. package/dist/action/lib/action-label.js.map +1 -1
  23. package/dist/action/lib/run-action.d.ts +1 -9
  24. package/dist/action/lib/run-action.js +6 -20
  25. package/dist/action/lib/run-action.js.map +1 -1
  26. package/dist/action/plugin.d.ts +2 -1
  27. package/dist/action/plugin.js +3 -3
  28. package/dist/action/plugin.js.map +1 -1
  29. package/dist/appearance/index.js +1 -1
  30. package/dist/appearance/index.js.map +1 -1
  31. package/dist/chat/components/chat-box.d.ts +1 -1
  32. package/dist/chat/components/chat-box.js +4 -4
  33. package/dist/chat/components/chat-box.js.map +1 -1
  34. package/dist/chat/components/message-list.js +1 -1
  35. package/dist/chat/components/message-list.js.map +1 -1
  36. package/dist/chat/components/message.js +3 -3
  37. package/dist/chat/components/message.js.map +1 -1
  38. package/dist/chat/components/prompt-input.js +4 -4
  39. package/dist/chat/components/prompt-input.js.map +1 -1
  40. package/dist/chat/lib/transport.d.ts +1 -1
  41. package/dist/chat/lib/transport.js +1 -1
  42. package/dist/chat/lib/transport.js.map +1 -1
  43. package/dist/chat/parts/text.d.ts +1 -1
  44. package/dist/chat/parts/text.js.map +1 -1
  45. package/dist/chat/parts/tool-call.d.ts +1 -1
  46. package/dist/chat/parts/tool-call.js +1 -1
  47. package/dist/chat/parts/tool-call.js.map +1 -1
  48. package/dist/chat/plugin.d.ts +2 -1
  49. package/dist/chat/plugin.js +3 -3
  50. package/dist/chat/plugin.js.map +1 -1
  51. package/dist/chat/types.d.ts +1 -1
  52. package/dist/create-app.d.ts +2 -2
  53. package/dist/create-app.js +12 -10
  54. package/dist/create-app.js.map +1 -1
  55. package/dist/event-bridge.js +2 -2
  56. package/dist/event-bridge.js.map +1 -1
  57. package/dist/{ui → fragments}/fragment.d.ts +1 -1
  58. package/dist/{ui → fragments}/fragment.js +6 -6
  59. package/dist/fragments/fragment.js.map +1 -0
  60. package/dist/fragments/plugin.d.ts +2 -0
  61. package/dist/fragments/plugin.js +11 -0
  62. package/dist/fragments/plugin.js.map +1 -0
  63. package/dist/index.d.ts +21 -22
  64. package/dist/index.js +14 -18
  65. package/dist/inertia.js +2 -2
  66. package/dist/inertia.js.map +1 -1
  67. package/dist/layout/components/breadcrumbs.d.ts +1 -1
  68. package/dist/layout/components/breadcrumbs.js +2 -2
  69. package/dist/layout/components/breadcrumbs.js.map +1 -1
  70. package/dist/layout/components/callouts.d.ts +1 -1
  71. package/dist/layout/components/callouts.js +5 -5
  72. package/dist/layout/components/callouts.js.map +1 -1
  73. package/dist/layout/components/dropdown.d.ts +1 -1
  74. package/dist/layout/components/dropdown.js +1 -1
  75. package/dist/layout/components/dropdown.js.map +1 -1
  76. package/dist/layout/components/menu-item.d.ts +1 -1
  77. package/dist/layout/components/menu-item.js +6 -7
  78. package/dist/layout/components/menu-item.js.map +1 -1
  79. package/dist/layout/components/menu.d.ts +1 -1
  80. package/dist/layout/components/menu.js +1 -1
  81. package/dist/layout/components/menu.js.map +1 -1
  82. package/dist/layout/components/outlet.d.ts +1 -1
  83. package/dist/layout/components/outlet.js.map +1 -1
  84. package/dist/layout/components/popover.js +3 -3
  85. package/dist/layout/components/popover.js.map +1 -1
  86. package/dist/layout/components/schema-layout.js +1 -1
  87. package/dist/layout/components/schema-layout.js.map +1 -1
  88. package/dist/layout/components/sidebar.d.ts +1 -1
  89. package/dist/layout/components/sidebar.js +7 -7
  90. package/dist/layout/components/sidebar.js.map +1 -1
  91. package/dist/layout/components/topbar.d.ts +1 -1
  92. package/dist/layout/components/topbar.js +2 -2
  93. package/dist/layout/components/topbar.js.map +1 -1
  94. package/dist/layout/hooks/context.d.ts +1 -1
  95. package/dist/layout/hooks/context.js +2 -2
  96. package/dist/layout/hooks/context.js.map +1 -1
  97. package/dist/layout/index.js +2 -3
  98. package/dist/layout/plugin.d.ts +2 -1
  99. package/dist/layout/plugin.js +3 -3
  100. package/dist/layout/plugin.js.map +1 -1
  101. package/dist/notifications/api.js +1 -1
  102. package/dist/notifications/api.js.map +1 -1
  103. package/dist/notifications/components/empty-state.js +2 -2
  104. package/dist/notifications/components/empty-state.js.map +1 -1
  105. package/dist/notifications/components/notification-item.js +5 -5
  106. package/dist/notifications/components/notification-item.js.map +1 -1
  107. package/dist/notifications/components/notification-list.js +2 -2
  108. package/dist/notifications/components/notification-list.js.map +1 -1
  109. package/dist/notifications/components/notifications.d.ts +1 -1
  110. package/dist/notifications/components/notifications.js +4 -4
  111. package/dist/notifications/components/notifications.js.map +1 -1
  112. package/dist/notifications/plugin.d.ts +2 -1
  113. package/dist/notifications/plugin.js +3 -3
  114. package/dist/notifications/plugin.js.map +1 -1
  115. package/dist/page.js +2 -2
  116. package/dist/page.js.map +1 -1
  117. package/dist/provider-base.d.ts +2 -2
  118. package/dist/provider-base.js +3 -3
  119. package/dist/provider-base.js.map +1 -1
  120. package/dist/provider.d.ts +4 -2
  121. package/dist/provider.js +3 -1
  122. package/dist/provider.js.map +1 -1
  123. package/dist/realtime/build-effects.d.ts +1 -1
  124. package/dist/realtime/build-effects.js +1 -1
  125. package/dist/realtime/build-effects.js.map +1 -1
  126. package/dist/realtime/subscriptions.js +2 -2
  127. package/dist/realtime/subscriptions.js.map +1 -1
  128. package/dist/registry.d.ts +1 -1
  129. package/dist/registry.js +6 -5
  130. package/dist/registry.js.map +1 -1
  131. package/dist/remote/components/data-list.d.ts +1 -1
  132. package/dist/remote/components/data-list.js +4 -4
  133. package/dist/remote/components/data-list.js.map +1 -1
  134. package/dist/remote/plugin.d.ts +2 -1
  135. package/dist/remote/plugin.js +3 -3
  136. package/dist/remote/plugin.js.map +1 -1
  137. package/dist/runtime.d.ts +9 -0
  138. package/dist/runtime.js +24 -0
  139. package/dist/toast/callout.js +2 -2
  140. package/dist/toast/callout.js.map +1 -1
  141. package/dist/toast/toast.js +2 -2
  142. package/dist/toast/toast.js.map +1 -1
  143. package/dist/toast/toaster.js +6 -6
  144. package/dist/toast/toaster.js.map +1 -1
  145. package/dist/toast/variant-styles.js +1 -1
  146. package/dist/toast/variant-styles.js.map +1 -1
  147. package/dist/types/core-augmentation.d.ts +4 -0
  148. package/dist/types/generated.d.ts +10 -9
  149. package/dist/types/index.d.ts +10 -2
  150. package/dist/vite.d.ts +2 -2
  151. package/dist/vite.js +14 -5
  152. package/dist/vite.js.map +1 -1
  153. package/dist-standalone/chunks/chart-view-DFSCMDuw.js +59 -0
  154. package/dist-standalone/chunks/{test-id-Dh3L6Gfh.js → clsx-CjueKrWZ.js} +1 -1
  155. package/dist-standalone/chunks/{code-block-view-fzD5e55N.js → code-block-view-CetAq3Rk.js} +2 -2
  156. package/dist-standalone/chunks/date-picker-field-D6S8aN1p.js +1 -0
  157. package/dist-standalone/chunks/debounce-CBXrtDuZ.js +1 -0
  158. package/dist-standalone/chunks/dist-D2qBbka0.js +2 -0
  159. package/dist-standalone/chunks/floating-ui.dom-CO6FyQ6K.js +1 -0
  160. package/dist-standalone/chunks/icon-button-COE_nq4v.js +41 -0
  161. package/dist-standalone/chunks/instance-D6cXaqIT.js +1 -0
  162. package/dist-standalone/chunks/jsx-runtime-NZYk81nU.js +1 -0
  163. package/dist-standalone/chunks/locale-BZOrJtMq.js +1 -0
  164. package/dist-standalone/chunks/{notifications-echo-uU87iJAV.js → notifications-echo-BLO9_g1w.js} +1 -1
  165. package/dist-standalone/chunks/number-DjNO0Pxv.js +1 -0
  166. package/dist-standalone/chunks/page-props-DZ15iP5k.js +1 -0
  167. package/dist-standalone/chunks/react-CwJFpaho.js +1 -0
  168. package/dist-standalone/chunks/react-dom-Dl-LT-t1.js +1 -0
  169. package/dist-standalone/chunks/registry-context-BdTXNnGL.js +97 -0
  170. package/dist-standalone/chunks/{rich-editor-field-BZQIPOLc.js → rich-editor-field-n-mtzlT-.js} +35 -35
  171. package/dist-standalone/chunks/rolldown-runtime-hePW80VL.js +1 -0
  172. package/dist-standalone/chunks/runtime-Bh_GyTCD.js +23 -0
  173. package/dist-standalone/chunks/subscriptions-BICQU9ps.js +1 -0
  174. package/dist-standalone/chunks/time-picker-CAwU5Rl-.js +1 -0
  175. package/dist-standalone/chunks/timezone-Ckl1gbqB.js +1 -0
  176. package/dist-standalone/chunks/translatable-YXSlt1CF.js +1 -0
  177. package/dist-standalone/chunks/with-selector-Cse0iXU1.js +1 -0
  178. package/dist-standalone/jsx-runtime.js +1 -0
  179. package/dist-standalone/lattice.css +1 -1
  180. package/dist-standalone/lattice.js +2 -23
  181. package/dist-standalone/manifest.json +1 -1
  182. package/dist-standalone/react.js +1 -0
  183. package/dist-standalone/runtime.js +1 -0
  184. package/package.json +15 -239
  185. package/LICENSE.md +0 -21
  186. package/dist/core/api.d.ts +0 -42
  187. package/dist/core/api.js +0 -165
  188. package/dist/core/api.js.map +0 -1
  189. package/dist/core/collapsed-context.d.ts +0 -2
  190. package/dist/core/collapsed-context.js +0 -10
  191. package/dist/core/collapsed-context.js.map +0 -1
  192. package/dist/core/component-ref.d.ts +0 -11
  193. package/dist/core/component-ref.js +0 -33
  194. package/dist/core/component-ref.js.map +0 -1
  195. package/dist/core/event-names.d.ts +0 -23
  196. package/dist/core/event-names.js +0 -24
  197. package/dist/core/event-names.js.map +0 -1
  198. package/dist/core/headers.d.ts +0 -1
  199. package/dist/core/headers.js +0 -14
  200. package/dist/core/headers.js.map +0 -1
  201. package/dist/core/hooks/column-sizing.d.ts +0 -17
  202. package/dist/core/hooks/column-sizing.js +0 -54
  203. package/dist/core/hooks/column-sizing.js.map +0 -1
  204. package/dist/core/hooks/use-column-resizing.d.ts +0 -28
  205. package/dist/core/hooks/use-column-resizing.js +0 -220
  206. package/dist/core/hooks/use-column-resizing.js.map +0 -1
  207. package/dist/core/hooks/use-window-event.d.ts +0 -8
  208. package/dist/core/hooks/use-window-event.js +0 -22
  209. package/dist/core/hooks/use-window-event.js.map +0 -1
  210. package/dist/core/index.d.ts +0 -17
  211. package/dist/core/index.js +0 -13
  212. package/dist/core/materialize.d.ts +0 -9
  213. package/dist/core/materialize.js +0 -39
  214. package/dist/core/materialize.js.map +0 -1
  215. package/dist/core/nodes.d.ts +0 -11
  216. package/dist/core/nodes.js +0 -20
  217. package/dist/core/nodes.js.map +0 -1
  218. package/dist/core/registry-context.d.ts +0 -21
  219. package/dist/core/registry-context.js +0 -40
  220. package/dist/core/registry-context.js.map +0 -1
  221. package/dist/core/registry.d.ts +0 -38
  222. package/dist/core/registry.js +0 -60
  223. package/dist/core/registry.js.map +0 -1
  224. package/dist/core/renderer.d.ts +0 -8
  225. package/dist/core/renderer.js +0 -76
  226. package/dist/core/renderer.js.map +0 -1
  227. package/dist/core/test-id.d.ts +0 -8
  228. package/dist/core/test-id.js +0 -21
  229. package/dist/core/test-id.js.map +0 -1
  230. package/dist/core/types.d.ts +0 -26
  231. package/dist/core/types.js +0 -0
  232. package/dist/core/upload.d.ts +0 -25
  233. package/dist/core/upload.js +0 -48
  234. package/dist/core/upload.js.map +0 -1
  235. package/dist/effects/dispatch.d.ts +0 -19
  236. package/dist/effects/dispatch.js +0 -39
  237. package/dist/effects/dispatch.js.map +0 -1
  238. package/dist/effects/registry.d.ts +0 -12
  239. package/dist/effects/registry.js +0 -43
  240. package/dist/effects/registry.js.map +0 -1
  241. package/dist/effects/use-effect-dispatcher.d.ts +0 -8
  242. package/dist/effects/use-effect-dispatcher.js +0 -20
  243. package/dist/effects/use-effect-dispatcher.js.map +0 -1
  244. package/dist/effects/use-flash-effects.d.ts +0 -5
  245. package/dist/effects/use-flash-effects.js +0 -22
  246. package/dist/effects/use-flash-effects.js.map +0 -1
  247. package/dist/form/components/base/field.d.ts +0 -21
  248. package/dist/form/components/base/field.js +0 -80
  249. package/dist/form/components/base/field.js.map +0 -1
  250. package/dist/form/components/base/submit-button.d.ts +0 -7
  251. package/dist/form/components/base/submit-button.js +0 -49
  252. package/dist/form/components/base/submit-button.js.map +0 -1
  253. package/dist/form/components/fields/add-row-menu.d.ts +0 -9
  254. package/dist/form/components/fields/add-row-menu.js +0 -27
  255. package/dist/form/components/fields/add-row-menu.js.map +0 -1
  256. package/dist/form/components/fields/builder.d.ts +0 -2
  257. package/dist/form/components/fields/builder.js +0 -132
  258. package/dist/form/components/fields/builder.js.map +0 -1
  259. package/dist/form/components/fields/checkbox.d.ts +0 -2
  260. package/dist/form/components/fields/checkbox.js +0 -52
  261. package/dist/form/components/fields/checkbox.js.map +0 -1
  262. package/dist/form/components/fields/choice.d.ts +0 -2
  263. package/dist/form/components/fields/choice.js +0 -44
  264. package/dist/form/components/fields/choice.js.map +0 -1
  265. package/dist/form/components/fields/color-picker-field.d.ts +0 -2
  266. package/dist/form/components/fields/color-picker-field.js +0 -57
  267. package/dist/form/components/fields/color-picker-field.js.map +0 -1
  268. package/dist/form/components/fields/date-input.d.ts +0 -2
  269. package/dist/form/components/fields/date-input.js +0 -31
  270. package/dist/form/components/fields/date-input.js.map +0 -1
  271. package/dist/form/components/fields/date-picker-field.d.ts +0 -20
  272. package/dist/form/components/fields/date-picker-field.js +0 -197
  273. package/dist/form/components/fields/date-picker-field.js.map +0 -1
  274. package/dist/form/components/fields/date-picker-value.d.ts +0 -10
  275. package/dist/form/components/fields/date-picker-value.js +0 -125
  276. package/dist/form/components/fields/date-picker-value.js.map +0 -1
  277. package/dist/form/components/fields/date-picker.d.ts +0 -2
  278. package/dist/form/components/fields/date-picker.js +0 -17
  279. package/dist/form/components/fields/date-picker.js.map +0 -1
  280. package/dist/form/components/fields/date-time-input.d.ts +0 -2
  281. package/dist/form/components/fields/date-time-input.js +0 -35
  282. package/dist/form/components/fields/date-time-input.js.map +0 -1
  283. package/dist/form/components/fields/file-upload.d.ts +0 -2
  284. package/dist/form/components/fields/file-upload.js +0 -264
  285. package/dist/form/components/fields/file-upload.js.map +0 -1
  286. package/dist/form/components/fields/hidden-input.d.ts +0 -2
  287. package/dist/form/components/fields/hidden-input.js +0 -17
  288. package/dist/form/components/fields/hidden-input.js.map +0 -1
  289. package/dist/form/components/fields/number-input.d.ts +0 -2
  290. package/dist/form/components/fields/number-input.js +0 -60
  291. package/dist/form/components/fields/number-input.js.map +0 -1
  292. package/dist/form/components/fields/otp-input.d.ts +0 -2
  293. package/dist/form/components/fields/otp-input.js +0 -25
  294. package/dist/form/components/fields/otp-input.js.map +0 -1
  295. package/dist/form/components/fields/password-input.d.ts +0 -2
  296. package/dist/form/components/fields/password-input.js +0 -79
  297. package/dist/form/components/fields/password-input.js.map +0 -1
  298. package/dist/form/components/fields/repeater-rows.d.ts +0 -15
  299. package/dist/form/components/fields/repeater-rows.js +0 -48
  300. package/dist/form/components/fields/repeater-rows.js.map +0 -1
  301. package/dist/form/components/fields/repeater.d.ts +0 -2
  302. package/dist/form/components/fields/repeater.js +0 -109
  303. package/dist/form/components/fields/repeater.js.map +0 -1
  304. package/dist/form/components/fields/rich-editor-field.d.ts +0 -3
  305. package/dist/form/components/fields/rich-editor-field.js +0 -104
  306. package/dist/form/components/fields/rich-editor-field.js.map +0 -1
  307. package/dist/form/components/fields/rich-editor.d.ts +0 -2
  308. package/dist/form/components/fields/rich-editor.js +0 -15
  309. package/dist/form/components/fields/rich-editor.js.map +0 -1
  310. package/dist/form/components/fields/row-action-menu.d.ts +0 -18
  311. package/dist/form/components/fields/row-action-menu.js +0 -61
  312. package/dist/form/components/fields/row-action-menu.js.map +0 -1
  313. package/dist/form/components/fields/row-actions.d.ts +0 -10
  314. package/dist/form/components/fields/row-actions.js +0 -47
  315. package/dist/form/components/fields/row-actions.js.map +0 -1
  316. package/dist/form/components/fields/row-item.d.ts +0 -28
  317. package/dist/form/components/fields/row-item.js +0 -70
  318. package/dist/form/components/fields/row-item.js.map +0 -1
  319. package/dist/form/components/fields/row-key-inputs.d.ts +0 -7
  320. package/dist/form/components/fields/row-key-inputs.js +0 -16
  321. package/dist/form/components/fields/row-key-inputs.js.map +0 -1
  322. package/dist/form/components/fields/row-templates.d.ts +0 -9
  323. package/dist/form/components/fields/row-templates.js +0 -14
  324. package/dist/form/components/fields/row-templates.js.map +0 -1
  325. package/dist/form/components/fields/select.d.ts +0 -2
  326. package/dist/form/components/fields/select.js +0 -213
  327. package/dist/form/components/fields/select.js.map +0 -1
  328. package/dist/form/components/fields/simple-field.d.ts +0 -9
  329. package/dist/form/components/fields/simple-field.js +0 -22
  330. package/dist/form/components/fields/simple-field.js.map +0 -1
  331. package/dist/form/components/fields/table-rows.d.ts +0 -33
  332. package/dist/form/components/fields/table-rows.js +0 -176
  333. package/dist/form/components/fields/table-rows.js.map +0 -1
  334. package/dist/form/components/fields/text-input.d.ts +0 -2
  335. package/dist/form/components/fields/text-input.js +0 -42
  336. package/dist/form/components/fields/text-input.js.map +0 -1
  337. package/dist/form/components/fields/textarea.d.ts +0 -2
  338. package/dist/form/components/fields/textarea.js +0 -28
  339. package/dist/form/components/fields/textarea.js.map +0 -1
  340. package/dist/form/components/fields/time-input.d.ts +0 -2
  341. package/dist/form/components/fields/time-input.js +0 -69
  342. package/dist/form/components/fields/time-input.js.map +0 -1
  343. package/dist/form/components/fields/time-picker-columns.d.ts +0 -24
  344. package/dist/form/components/fields/time-picker-columns.js +0 -76
  345. package/dist/form/components/fields/time-picker-columns.js.map +0 -1
  346. package/dist/form/components/fields/time-picker.d.ts +0 -18
  347. package/dist/form/components/fields/time-picker.js +0 -131
  348. package/dist/form/components/fields/time-picker.js.map +0 -1
  349. package/dist/form/components/fields/toggle.d.ts +0 -2
  350. package/dist/form/components/fields/toggle.js +0 -66
  351. package/dist/form/components/fields/toggle.js.map +0 -1
  352. package/dist/form/components/fields/use-flip-reorder.d.ts +0 -6
  353. package/dist/form/components/fields/use-flip-reorder.js +0 -52
  354. package/dist/form/components/fields/use-flip-reorder.js.map +0 -1
  355. package/dist/form/components/fields/use-row-collection.d.ts +0 -12
  356. package/dist/form/components/fields/use-row-collection.js +0 -45
  357. package/dist/form/components/fields/use-row-collection.js.map +0 -1
  358. package/dist/form/components/form.d.ts +0 -2
  359. package/dist/form/components/form.js +0 -182
  360. package/dist/form/components/form.js.map +0 -1
  361. package/dist/form/components/index.d.ts +0 -19
  362. package/dist/form/components/index.js +0 -20
  363. package/dist/form/components/wizard.d.ts +0 -3
  364. package/dist/form/components/wizard.js +0 -148
  365. package/dist/form/components/wizard.js.map +0 -1
  366. package/dist/form/embed.d.ts +0 -22
  367. package/dist/form/embed.js +0 -13
  368. package/dist/form/hooks/context.d.ts +0 -25
  369. package/dist/form/hooks/context.js +0 -31
  370. package/dist/form/hooks/context.js.map +0 -1
  371. package/dist/form/hooks/field-scope.d.ts +0 -22
  372. package/dist/form/hooks/field-scope.js +0 -54
  373. package/dist/form/hooks/field-scope.js.map +0 -1
  374. package/dist/form/hooks/prefill-context.d.ts +0 -5
  375. package/dist/form/hooks/prefill-context.js +0 -11
  376. package/dist/form/hooks/prefill-context.js.map +0 -1
  377. package/dist/form/hooks/resolved-nodes.d.ts +0 -6
  378. package/dist/form/hooks/resolved-nodes.js +0 -23
  379. package/dist/form/hooks/resolved-nodes.js.map +0 -1
  380. package/dist/form/hooks/row-layout-context.d.ts +0 -5
  381. package/dist/form/hooks/row-layout-context.js +0 -18
  382. package/dist/form/hooks/row-layout-context.js.map +0 -1
  383. package/dist/form/hooks/use-controlled-field.d.ts +0 -13
  384. package/dist/form/hooks/use-controlled-field.js +0 -41
  385. package/dist/form/hooks/use-controlled-field.js.map +0 -1
  386. package/dist/form/hooks/use-dependent-field.d.ts +0 -3
  387. package/dist/form/hooks/use-dependent-field.js +0 -25
  388. package/dist/form/hooks/use-dependent-field.js.map +0 -1
  389. package/dist/form/hooks/use-field-commit.d.ts +0 -24
  390. package/dist/form/hooks/use-field-commit.js +0 -51
  391. package/dist/form/hooks/use-field-commit.js.map +0 -1
  392. package/dist/form/hooks/use-form-resolver.d.ts +0 -8
  393. package/dist/form/hooks/use-form-resolver.js +0 -99
  394. package/dist/form/hooks/use-form-resolver.js.map +0 -1
  395. package/dist/form/hooks/use-seed-default.d.ts +0 -5
  396. package/dist/form/hooks/use-seed-default.js +0 -28
  397. package/dist/form/hooks/use-seed-default.js.map +0 -1
  398. package/dist/form/hooks/values.d.ts +0 -17
  399. package/dist/form/hooks/values.js +0 -154
  400. package/dist/form/hooks/values.js.map +0 -1
  401. package/dist/form/index.d.ts +0 -5
  402. package/dist/form/index.js +0 -23
  403. package/dist/form/lib/collect-fields.d.ts +0 -7
  404. package/dist/form/lib/collect-fields.js +0 -19
  405. package/dist/form/lib/collect-fields.js.map +0 -1
  406. package/dist/form/lib/conditions.d.ts +0 -17
  407. package/dist/form/lib/conditions.js +0 -80
  408. package/dist/form/lib/conditions.js.map +0 -1
  409. package/dist/form/lib/field-dom-name.d.ts +0 -1
  410. package/dist/form/lib/field-dom-name.js +0 -10
  411. package/dist/form/lib/field-dom-name.js.map +0 -1
  412. package/dist/form/lib/field-errors.d.ts +0 -5
  413. package/dist/form/lib/field-errors.js +0 -15
  414. package/dist/form/lib/field-errors.js.map +0 -1
  415. package/dist/form/lib/field-props.d.ts +0 -19
  416. package/dist/form/lib/field-props.js +0 -20
  417. package/dist/form/lib/field-props.js.map +0 -1
  418. package/dist/form/lib/form-path.d.ts +0 -4
  419. package/dist/form/lib/form-path.js +0 -40
  420. package/dist/form/lib/form-path.js.map +0 -1
  421. package/dist/form/lib/form-transport.d.ts +0 -7
  422. package/dist/form/lib/form-transport.js +0 -21
  423. package/dist/form/lib/form-transport.js.map +0 -1
  424. package/dist/form/lib/override-keys.d.ts +0 -2
  425. package/dist/form/lib/override-keys.js +0 -12
  426. package/dist/form/lib/override-keys.js.map +0 -1
  427. package/dist/form/lib/prefill-targets.d.ts +0 -16
  428. package/dist/form/lib/prefill-targets.js +0 -68
  429. package/dist/form/lib/prefill-targets.js.map +0 -1
  430. package/dist/form/lib/wizard-steps.d.ts +0 -5
  431. package/dist/form/lib/wizard-steps.js +0 -44
  432. package/dist/form/lib/wizard-steps.js.map +0 -1
  433. package/dist/form/plugin.d.ts +0 -1
  434. package/dist/form/plugin.js +0 -52
  435. package/dist/form/plugin.js.map +0 -1
  436. package/dist/form/rich-editor/builtins.d.ts +0 -6
  437. package/dist/form/rich-editor/builtins.js +0 -400
  438. package/dist/form/rich-editor/builtins.js.map +0 -1
  439. package/dist/form/rich-editor/index.d.ts +0 -7
  440. package/dist/form/rich-editor/index.js +0 -3
  441. package/dist/form/rich-editor/registry.d.ts +0 -67
  442. package/dist/form/rich-editor/registry.js +0 -79
  443. package/dist/form/rich-editor/registry.js.map +0 -1
  444. package/dist/form/rich-editor/toolbar-button.d.ts +0 -12
  445. package/dist/form/rich-editor/toolbar-button.js +0 -28
  446. package/dist/form/rich-editor/toolbar-button.js.map +0 -1
  447. package/dist/form/toolkit.d.ts +0 -17
  448. package/dist/form/toolkit.js +0 -14
  449. package/dist/form/types.d.ts +0 -4
  450. package/dist/form/types.js +0 -0
  451. package/dist/format/date-time.d.ts +0 -14
  452. package/dist/format/date-time.js +0 -34
  453. package/dist/format/date-time.js.map +0 -1
  454. package/dist/format/format-context.d.ts +0 -6
  455. package/dist/format/format-context.js +0 -17
  456. package/dist/format/format-context.js.map +0 -1
  457. package/dist/format/number.d.ts +0 -2
  458. package/dist/format/number.js +0 -23
  459. package/dist/format/number.js.map +0 -1
  460. package/dist/format/numeric.d.ts +0 -1
  461. package/dist/format/numeric.js +0 -9
  462. package/dist/format/numeric.js.map +0 -1
  463. package/dist/format/value.d.ts +0 -6
  464. package/dist/format/value.js +0 -17
  465. package/dist/format/value.js.map +0 -1
  466. package/dist/i18n/backend.d.ts +0 -26
  467. package/dist/i18n/backend.js +0 -54
  468. package/dist/i18n/backend.js.map +0 -1
  469. package/dist/i18n/config.d.ts +0 -10
  470. package/dist/i18n/config.js +0 -36
  471. package/dist/i18n/config.js.map +0 -1
  472. package/dist/i18n/date-time-formatter.d.ts +0 -13
  473. package/dist/i18n/date-time-formatter.js +0 -28
  474. package/dist/i18n/date-time-formatter.js.map +0 -1
  475. package/dist/i18n/date-time.d.ts +0 -8
  476. package/dist/i18n/date-time.js +0 -32
  477. package/dist/i18n/date-time.js.map +0 -1
  478. package/dist/i18n/index.d.ts +0 -13
  479. package/dist/i18n/index.js +0 -10
  480. package/dist/i18n/instance.d.ts +0 -36
  481. package/dist/i18n/instance.js +0 -113
  482. package/dist/i18n/instance.js.map +0 -1
  483. package/dist/i18n/locale-reload.d.ts +0 -4
  484. package/dist/i18n/locale-reload.js +0 -18
  485. package/dist/i18n/locale-reload.js.map +0 -1
  486. package/dist/i18n/locale-switcher.d.ts +0 -16
  487. package/dist/i18n/locale-switcher.js +0 -21
  488. package/dist/i18n/locale-switcher.js.map +0 -1
  489. package/dist/i18n/locale.d.ts +0 -9
  490. package/dist/i18n/locale.js +0 -85
  491. package/dist/i18n/locale.js.map +0 -1
  492. package/dist/i18n/page-props.d.ts +0 -4
  493. package/dist/i18n/page-props.js +0 -10
  494. package/dist/i18n/page-props.js.map +0 -1
  495. package/dist/i18n/shared-props.d.ts +0 -7
  496. package/dist/i18n/shared-props.js +0 -23
  497. package/dist/i18n/shared-props.js.map +0 -1
  498. package/dist/i18n/timezone.d.ts +0 -7
  499. package/dist/i18n/timezone.js +0 -45
  500. package/dist/i18n/timezone.js.map +0 -1
  501. package/dist/i18n/translatable.d.ts +0 -5
  502. package/dist/i18n/translatable.js +0 -27
  503. package/dist/i18n/translatable.js.map +0 -1
  504. package/dist/icons/icon-renderer.d.ts +0 -13
  505. package/dist/icons/icon-renderer.js +0 -56
  506. package/dist/icons/icon-renderer.js.map +0 -1
  507. package/dist/icons/index.d.ts +0 -4
  508. package/dist/icons/index.js +0 -3
  509. package/dist/icons/sprite.d.ts +0 -30
  510. package/dist/icons/sprite.js +0 -40
  511. package/dist/icons/sprite.js.map +0 -1
  512. package/dist/lib/color.d.ts +0 -9
  513. package/dist/lib/color.js +0 -48
  514. package/dist/lib/color.js.map +0 -1
  515. package/dist/lib/is-truthy.d.ts +0 -2
  516. package/dist/lib/is-truthy.js +0 -9
  517. package/dist/lib/is-truthy.js.map +0 -1
  518. package/dist/lib/listeners.d.ts +0 -5
  519. package/dist/lib/listeners.js +0 -19
  520. package/dist/lib/listeners.js.map +0 -1
  521. package/dist/lib/use-debounced-callback.d.ts +0 -10
  522. package/dist/lib/use-debounced-callback.js +0 -34
  523. package/dist/lib/use-debounced-callback.js.map +0 -1
  524. package/dist/lib/use-layout-effect.d.ts +0 -6
  525. package/dist/lib/use-layout-effect.js +0 -11
  526. package/dist/lib/use-layout-effect.js.map +0 -1
  527. package/dist/lib/use-media-query.d.ts +0 -5
  528. package/dist/lib/use-media-query.js +0 -26
  529. package/dist/lib/use-media-query.js.map +0 -1
  530. package/dist/lib/use-persistent-state.d.ts +0 -13
  531. package/dist/lib/use-persistent-state.js +0 -62
  532. package/dist/lib/use-persistent-state.js.map +0 -1
  533. package/dist/lib/utils.d.ts +0 -2
  534. package/dist/lib/utils.js +0 -20
  535. package/dist/lib/utils.js.map +0 -1
  536. package/dist/table/components/bulk-bar.d.ts +0 -11
  537. package/dist/table/components/bulk-bar.js +0 -110
  538. package/dist/table/components/bulk-bar.js.map +0 -1
  539. package/dist/table/components/cells/badge-cell.d.ts +0 -2
  540. package/dist/table/components/cells/badge-cell.js +0 -16
  541. package/dist/table/components/cells/badge-cell.js.map +0 -1
  542. package/dist/table/components/cells/boolean-cell.d.ts +0 -2
  543. package/dist/table/components/cells/boolean-cell.js +0 -22
  544. package/dist/table/components/cells/boolean-cell.js.map +0 -1
  545. package/dist/table/components/cells/copyable-cell.d.ts +0 -9
  546. package/dist/table/components/cells/copyable-cell.js +0 -17
  547. package/dist/table/components/cells/copyable-cell.js.map +0 -1
  548. package/dist/table/components/cells/icon-cell.d.ts +0 -2
  549. package/dist/table/components/cells/icon-cell.js +0 -24
  550. package/dist/table/components/cells/icon-cell.js.map +0 -1
  551. package/dist/table/components/cells/image-cell.d.ts +0 -2
  552. package/dist/table/components/cells/image-cell.js +0 -22
  553. package/dist/table/components/cells/image-cell.js.map +0 -1
  554. package/dist/table/components/cells/money-cell.d.ts +0 -2
  555. package/dist/table/components/cells/money-cell.js +0 -24
  556. package/dist/table/components/cells/money-cell.js.map +0 -1
  557. package/dist/table/components/cells/number-cell.d.ts +0 -2
  558. package/dist/table/components/cells/number-cell.js +0 -20
  559. package/dist/table/components/cells/number-cell.js.map +0 -1
  560. package/dist/table/components/cells/numeric-cell.d.ts +0 -10
  561. package/dist/table/components/cells/numeric-cell.js +0 -25
  562. package/dist/table/components/cells/numeric-cell.js.map +0 -1
  563. package/dist/table/components/cells/stack-cell.d.ts +0 -2
  564. package/dist/table/components/cells/stack-cell.js +0 -12
  565. package/dist/table/components/cells/stack-cell.js.map +0 -1
  566. package/dist/table/components/cells/text-cell.d.ts +0 -2
  567. package/dist/table/components/cells/text-cell.js +0 -67
  568. package/dist/table/components/cells/text-cell.js.map +0 -1
  569. package/dist/table/components/column-filter-control.d.ts +0 -17
  570. package/dist/table/components/column-filter-control.js +0 -286
  571. package/dist/table/components/column-filter-control.js.map +0 -1
  572. package/dist/table/components/column-header.d.ts +0 -9
  573. package/dist/table/components/column-header.js +0 -53
  574. package/dist/table/components/column-header.js.map +0 -1
  575. package/dist/table/components/column-visibility-menu.d.ts +0 -10
  576. package/dist/table/components/column-visibility-menu.js +0 -49
  577. package/dist/table/components/column-visibility-menu.js.map +0 -1
  578. package/dist/table/components/filter-bar.d.ts +0 -18
  579. package/dist/table/components/filter-bar.js +0 -106
  580. package/dist/table/components/filter-bar.js.map +0 -1
  581. package/dist/table/components/filter-controls.d.ts +0 -11
  582. package/dist/table/components/filter-controls.js +0 -131
  583. package/dist/table/components/filter-controls.js.map +0 -1
  584. package/dist/table/components/filter-value-input.d.ts +0 -13
  585. package/dist/table/components/filter-value-input.js +0 -93
  586. package/dist/table/components/filter-value-input.js.map +0 -1
  587. package/dist/table/components/pagination.d.ts +0 -18
  588. package/dist/table/components/pagination.js +0 -95
  589. package/dist/table/components/pagination.js.map +0 -1
  590. package/dist/table/components/sort-bar.d.ts +0 -7
  591. package/dist/table/components/sort-bar.js +0 -44
  592. package/dist/table/components/sort-bar.js.map +0 -1
  593. package/dist/table/components/table-cell.d.ts +0 -5
  594. package/dist/table/components/table-cell.js +0 -35
  595. package/dist/table/components/table-cell.js.map +0 -1
  596. package/dist/table/components/table-search.d.ts +0 -9
  597. package/dist/table/components/table-search.js +0 -72
  598. package/dist/table/components/table-search.js.map +0 -1
  599. package/dist/table/components/table.d.ts +0 -7
  600. package/dist/table/components/table.js +0 -333
  601. package/dist/table/components/table.js.map +0 -1
  602. package/dist/table/hooks/use-column-visibility.d.ts +0 -20
  603. package/dist/table/hooks/use-column-visibility.js +0 -54
  604. package/dist/table/hooks/use-column-visibility.js.map +0 -1
  605. package/dist/table/hooks/use-expanded-rows.d.ts +0 -8
  606. package/dist/table/hooks/use-expanded-rows.js +0 -24
  607. package/dist/table/hooks/use-expanded-rows.js.map +0 -1
  608. package/dist/table/hooks/use-table-selection.d.ts +0 -12
  609. package/dist/table/hooks/use-table-selection.js +0 -47
  610. package/dist/table/hooks/use-table-selection.js.map +0 -1
  611. package/dist/table/hooks/use-table.d.ts +0 -28
  612. package/dist/table/hooks/use-table.js +0 -220
  613. package/dist/table/hooks/use-table.js.map +0 -1
  614. package/dist/table/index.d.ts +0 -6
  615. package/dist/table/index.js +0 -5
  616. package/dist/table/lib/align.d.ts +0 -4
  617. package/dist/table/lib/align.js +0 -23
  618. package/dist/table/lib/align.js.map +0 -1
  619. package/dist/table/lib/bulk.d.ts +0 -18
  620. package/dist/table/lib/bulk.js +0 -26
  621. package/dist/table/lib/bulk.js.map +0 -1
  622. package/dist/table/lib/filter-values.d.ts +0 -25
  623. package/dist/table/lib/filter-values.js +0 -47
  624. package/dist/table/lib/filter-values.js.map +0 -1
  625. package/dist/table/lib/format.d.ts +0 -4
  626. package/dist/table/lib/format.js +0 -23
  627. package/dist/table/lib/format.js.map +0 -1
  628. package/dist/table/lib/payload.d.ts +0 -11
  629. package/dist/table/lib/payload.js +0 -91
  630. package/dist/table/lib/payload.js.map +0 -1
  631. package/dist/table/lib/query.d.ts +0 -20
  632. package/dist/table/lib/query.js +0 -140
  633. package/dist/table/lib/query.js.map +0 -1
  634. package/dist/table/plugin.d.ts +0 -1
  635. package/dist/table/plugin.js +0 -11
  636. package/dist/table/plugin.js.map +0 -1
  637. package/dist/table/registry.d.ts +0 -19
  638. package/dist/table/registry.js +0 -14
  639. package/dist/table/registry.js.map +0 -1
  640. package/dist/table/types.d.ts +0 -17
  641. package/dist/table/types.js +0 -0
  642. package/dist/ui/action-menu-context.d.ts +0 -6
  643. package/dist/ui/action-menu-context.js +0 -18
  644. package/dist/ui/action-menu-context.js.map +0 -1
  645. package/dist/ui/affix-group.d.ts +0 -18
  646. package/dist/ui/affix-group.js +0 -51
  647. package/dist/ui/affix-group.js.map +0 -1
  648. package/dist/ui/avatar.d.ts +0 -3
  649. package/dist/ui/avatar.js +0 -52
  650. package/dist/ui/avatar.js.map +0 -1
  651. package/dist/ui/badge.d.ts +0 -9
  652. package/dist/ui/badge.js +0 -25
  653. package/dist/ui/badge.js.map +0 -1
  654. package/dist/ui/button.d.ts +0 -18
  655. package/dist/ui/button.js +0 -243
  656. package/dist/ui/button.js.map +0 -1
  657. package/dist/ui/card.d.ts +0 -11
  658. package/dist/ui/card.js +0 -68
  659. package/dist/ui/card.js.map +0 -1
  660. package/dist/ui/chart-view.d.ts +0 -3
  661. package/dist/ui/chart-view.js +0 -354
  662. package/dist/ui/chart-view.js.map +0 -1
  663. package/dist/ui/chart.d.ts +0 -3
  664. package/dist/ui/chart.js +0 -15
  665. package/dist/ui/chart.js.map +0 -1
  666. package/dist/ui/checkbox.d.ts +0 -4
  667. package/dist/ui/checkbox.js +0 -25
  668. package/dist/ui/checkbox.js.map +0 -1
  669. package/dist/ui/click-behavior.d.ts +0 -40
  670. package/dist/ui/click-behavior.js +0 -46
  671. package/dist/ui/click-behavior.js.map +0 -1
  672. package/dist/ui/code-block-view.d.ts +0 -3
  673. package/dist/ui/code-block-view.js +0 -135
  674. package/dist/ui/code-block-view.js.map +0 -1
  675. package/dist/ui/code-block.d.ts +0 -25
  676. package/dist/ui/code-block.js +0 -54
  677. package/dist/ui/code-block.js.map +0 -1
  678. package/dist/ui/collapsible.d.ts +0 -3
  679. package/dist/ui/collapsible.js +0 -56
  680. package/dist/ui/collapsible.js.map +0 -1
  681. package/dist/ui/color-picker.d.ts +0 -8
  682. package/dist/ui/color-picker.js +0 -59
  683. package/dist/ui/color-picker.js.map +0 -1
  684. package/dist/ui/combobox.d.ts +0 -42
  685. package/dist/ui/combobox.js +0 -145
  686. package/dist/ui/combobox.js.map +0 -1
  687. package/dist/ui/confirm-dialog.d.ts +0 -13
  688. package/dist/ui/confirm-dialog.js +0 -48
  689. package/dist/ui/confirm-dialog.js.map +0 -1
  690. package/dist/ui/control.d.ts +0 -10
  691. package/dist/ui/control.js +0 -26
  692. package/dist/ui/control.js.map +0 -1
  693. package/dist/ui/copyable-text.d.ts +0 -19
  694. package/dist/ui/copyable-text.js +0 -60
  695. package/dist/ui/copyable-text.js.map +0 -1
  696. package/dist/ui/dialog.d.ts +0 -23
  697. package/dist/ui/dialog.js +0 -100
  698. package/dist/ui/dialog.js.map +0 -1
  699. package/dist/ui/dropdown-menu.d.ts +0 -14
  700. package/dist/ui/dropdown-menu.js +0 -42
  701. package/dist/ui/dropdown-menu.js.map +0 -1
  702. package/dist/ui/floating-panel.d.ts +0 -3
  703. package/dist/ui/floating-panel.js +0 -66
  704. package/dist/ui/floating-panel.js.map +0 -1
  705. package/dist/ui/fragment.js.map +0 -1
  706. package/dist/ui/grid.d.ts +0 -3
  707. package/dist/ui/grid.js +0 -29
  708. package/dist/ui/grid.js.map +0 -1
  709. package/dist/ui/heading.d.ts +0 -3
  710. package/dist/ui/heading.js +0 -58
  711. package/dist/ui/heading.js.map +0 -1
  712. package/dist/ui/icon-button.d.ts +0 -22
  713. package/dist/ui/icon-button.js +0 -51
  714. package/dist/ui/icon-button.js.map +0 -1
  715. package/dist/ui/icon.d.ts +0 -3
  716. package/dist/ui/icon.js +0 -33
  717. package/dist/ui/icon.js.map +0 -1
  718. package/dist/ui/image-preview.d.ts +0 -12
  719. package/dist/ui/image-preview.js +0 -65
  720. package/dist/ui/image-preview.js.map +0 -1
  721. package/dist/ui/image.d.ts +0 -3
  722. package/dist/ui/image.js +0 -21
  723. package/dist/ui/image.js.map +0 -1
  724. package/dist/ui/index.d.ts +0 -31
  725. package/dist/ui/index.js +0 -29
  726. package/dist/ui/info-tooltip.d.ts +0 -3
  727. package/dist/ui/info-tooltip.js +0 -26
  728. package/dist/ui/info-tooltip.js.map +0 -1
  729. package/dist/ui/input-error.d.ts +0 -4
  730. package/dist/ui/input-error.js +0 -14
  731. package/dist/ui/input-error.js.map +0 -1
  732. package/dist/ui/input-otp.d.ts +0 -7
  733. package/dist/ui/input-otp.js +0 -29
  734. package/dist/ui/input-otp.js.map +0 -1
  735. package/dist/ui/input.d.ts +0 -5
  736. package/dist/ui/input.js +0 -17
  737. package/dist/ui/input.js.map +0 -1
  738. package/dist/ui/label.d.ts +0 -4
  739. package/dist/ui/label.js +0 -16
  740. package/dist/ui/label.js.map +0 -1
  741. package/dist/ui/link.d.ts +0 -7
  742. package/dist/ui/link.js +0 -103
  743. package/dist/ui/link.js.map +0 -1
  744. package/dist/ui/modal.d.ts +0 -3
  745. package/dist/ui/modal.js +0 -67
  746. package/dist/ui/modal.js.map +0 -1
  747. package/dist/ui/native-select.d.ts +0 -10
  748. package/dist/ui/native-select.js +0 -23
  749. package/dist/ui/native-select.js.map +0 -1
  750. package/dist/ui/password-input.d.ts +0 -7
  751. package/dist/ui/password-input.js +0 -36
  752. package/dist/ui/password-input.js.map +0 -1
  753. package/dist/ui/pill.d.ts +0 -2
  754. package/dist/ui/pill.js +0 -10
  755. package/dist/ui/pill.js.map +0 -1
  756. package/dist/ui/plugin.d.ts +0 -1
  757. package/dist/ui/plugin.js +0 -60
  758. package/dist/ui/plugin.js.map +0 -1
  759. package/dist/ui/popover.d.ts +0 -8
  760. package/dist/ui/popover.js +0 -37
  761. package/dist/ui/popover.js.map +0 -1
  762. package/dist/ui/progress.d.ts +0 -3
  763. package/dist/ui/progress.js +0 -114
  764. package/dist/ui/progress.js.map +0 -1
  765. package/dist/ui/raw-block.d.ts +0 -3
  766. package/dist/ui/raw-block.js +0 -10
  767. package/dist/ui/raw-block.js.map +0 -1
  768. package/dist/ui/section.d.ts +0 -3
  769. package/dist/ui/section.js +0 -68
  770. package/dist/ui/section.js.map +0 -1
  771. package/dist/ui/segmented-control.d.ts +0 -3
  772. package/dist/ui/segmented-control.js +0 -27
  773. package/dist/ui/segmented-control.js.map +0 -1
  774. package/dist/ui/segmented-pills.d.ts +0 -16
  775. package/dist/ui/segmented-pills.js +0 -42
  776. package/dist/ui/segmented-pills.js.map +0 -1
  777. package/dist/ui/separator.d.ts +0 -3
  778. package/dist/ui/separator.js +0 -15
  779. package/dist/ui/separator.js.map +0 -1
  780. package/dist/ui/skeleton.d.ts +0 -3
  781. package/dist/ui/skeleton.js +0 -16
  782. package/dist/ui/skeleton.js.map +0 -1
  783. package/dist/ui/spinner.d.ts +0 -2
  784. package/dist/ui/spinner.js +0 -20
  785. package/dist/ui/spinner.js.map +0 -1
  786. package/dist/ui/stack.d.ts +0 -3
  787. package/dist/ui/stack.js +0 -66
  788. package/dist/ui/stack.js.map +0 -1
  789. package/dist/ui/tabs.d.ts +0 -4
  790. package/dist/ui/tabs.js +0 -149
  791. package/dist/ui/tabs.js.map +0 -1
  792. package/dist/ui/text.d.ts +0 -3
  793. package/dist/ui/text.js +0 -38
  794. package/dist/ui/text.js.map +0 -1
  795. package/dist/ui/textarea.d.ts +0 -3
  796. package/dist/ui/textarea.js +0 -16
  797. package/dist/ui/textarea.js.map +0 -1
  798. package/dist/ui/tooltip.d.ts +0 -3
  799. package/dist/ui/tooltip.js +0 -25
  800. package/dist/ui/tooltip.js.map +0 -1
  801. package/dist/ui/use-collapsible-state.d.ts +0 -7
  802. package/dist/ui/use-collapsible-state.js +0 -21
  803. package/dist/ui/use-collapsible-state.js.map +0 -1
  804. package/dist-standalone/chunks/chart-view-CFV7BU_D.js +0 -59
  805. package/dist-standalone/chunks/date-picker-field-DepKtR_m.js +0 -1
  806. package/dist-standalone/chunks/dist-BtOmkEqQ.js +0 -1
  807. package/dist-standalone/chunks/dist-DqlcM-vw.js +0 -2
  808. package/dist-standalone/chunks/instance-C4O1XWa6.js +0 -1
  809. package/dist-standalone/chunks/jsx-runtime-0vZSBttN.js +0 -1
  810. package/dist-standalone/chunks/locale-GyqtaX1O.js +0 -1
  811. package/dist-standalone/chunks/number-BvVKQqOG.js +0 -1
  812. package/dist-standalone/chunks/page-props-BHNNVkgJ.js +0 -1
  813. package/dist-standalone/chunks/react-SIfiwpqq.js +0 -1
  814. package/dist-standalone/chunks/react-dom-DJCfT20h.js +0 -1
  815. package/dist-standalone/chunks/shared-props-B_wT1GcG.js +0 -1
  816. package/dist-standalone/chunks/subscriptions-4IpkpPX3.js +0 -1
  817. package/dist-standalone/chunks/time-picker-DUjYyeeP.js +0 -1
  818. package/dist-standalone/chunks/timezone-CyoBch3a.js +0 -1
  819. package/dist-standalone/chunks/translatable-DLw4h3x8.js +0 -1
  820. package/dist-standalone/chunks/use-dependent-field-DvH7mUyx.js +0 -41
  821. package/dist-standalone/chunks/use-effect-dispatcher-BMWOfaFE.js +0 -97
  822. package/dist-standalone/chunks/with-selector-zFUY-tQj.js +0 -1
  823. package/resources/icons/align-center.svg +0 -17
  824. package/resources/icons/align-justify.svg +0 -17
  825. package/resources/icons/align-left.svg +0 -17
  826. package/resources/icons/align-right.svg +0 -17
  827. package/resources/icons/arrow-down.svg +0 -16
  828. package/resources/icons/arrow-up.svg +0 -16
  829. package/resources/icons/bell.svg +0 -16
  830. package/resources/icons/bold.svg +0 -15
  831. package/resources/icons/calendar.svg +0 -18
  832. package/resources/icons/check.svg +0 -15
  833. package/resources/icons/chevron-down.svg +0 -15
  834. package/resources/icons/chevron-left.svg +0 -15
  835. package/resources/icons/chevron-right.svg +0 -15
  836. package/resources/icons/chevrons-up-down.svg +0 -16
  837. package/resources/icons/circle-alert.svg +0 -17
  838. package/resources/icons/circle-check.svg +0 -16
  839. package/resources/icons/circle-help.svg +0 -17
  840. package/resources/icons/circle-x.svg +0 -17
  841. package/resources/icons/clock.svg +0 -16
  842. package/resources/icons/code-xml.svg +0 -17
  843. package/resources/icons/code.svg +0 -16
  844. package/resources/icons/columns-3.svg +0 -17
  845. package/resources/icons/copy.svg +0 -16
  846. package/resources/icons/external-link.svg +0 -17
  847. package/resources/icons/eye-off.svg +0 -18
  848. package/resources/icons/eye.svg +0 -16
  849. package/resources/icons/filter.svg +0 -15
  850. package/resources/icons/heading-1.svg +0 -18
  851. package/resources/icons/heading-2.svg +0 -18
  852. package/resources/icons/heading-3.svg +0 -19
  853. package/resources/icons/heading.svg +0 -17
  854. package/resources/icons/highlighter.svg +0 -16
  855. package/resources/icons/info.svg +0 -17
  856. package/resources/icons/italic.svg +0 -17
  857. package/resources/icons/layout-dashboard.svg +0 -18
  858. package/resources/icons/link.svg +0 -16
  859. package/resources/icons/list-ordered.svg +0 -20
  860. package/resources/icons/list.svg +0 -20
  861. package/resources/icons/loader-2.svg +0 -15
  862. package/resources/icons/minus.svg +0 -15
  863. package/resources/icons/more-horizontal.svg +0 -17
  864. package/resources/icons/panel-left.svg +0 -16
  865. package/resources/icons/pencil-line.svg +0 -17
  866. package/resources/icons/pencil.svg +0 -16
  867. package/resources/icons/plus.svg +0 -16
  868. package/resources/icons/quote.svg +0 -16
  869. package/resources/icons/rotate-ccw.svg +0 -16
  870. package/resources/icons/rows-3.svg +0 -17
  871. package/resources/icons/search.svg +0 -16
  872. package/resources/icons/send.svg +0 -16
  873. package/resources/icons/settings.svg +0 -16
  874. package/resources/icons/smile.svg +0 -18
  875. package/resources/icons/strikethrough.svg +0 -17
  876. package/resources/icons/table.svg +0 -18
  877. package/resources/icons/trash-2.svg +0 -19
  878. package/resources/icons/underline.svg +0 -16
  879. package/resources/icons/x.svg +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"callout.js","names":[],"sources":["../../resources/js/toast/callout.ts"],"sourcesContent":["import type { Callout, RetractCallout } from \"@lattice-php/lattice/types/generated\";\nimport { LATTICE_EVENT } from \"@lattice-php/lattice/core/event-names\";\nimport { isTranslatable } from \"@lattice-php/lattice/i18n/translatable\";\nimport { coerceMessage, isVariant, subscribeWindowEvent } from \"./toast\";\n\nexport type { Callout };\n\nexport function normalizeCallout(detail: unknown): Callout | null {\n if (typeof detail !== \"object\" || detail === null) {\n return null;\n }\n\n const callout = detail as Record<string, unknown>;\n const message = coerceMessage(callout.message);\n\n if (message === null) {\n return null;\n }\n\n return {\n action: (callout.action as Callout[\"action\"]) ?? null,\n dismissible: callout.dismissible !== false,\n message,\n title:\n typeof callout.title === \"string\" || isTranslatable(callout.title) ? callout.title : null,\n unique: typeof callout.unique === \"string\" ? callout.unique : null,\n variant: isVariant(callout.variant) ? callout.variant : \"info\",\n };\n}\n\nexport function onCallout(callback: (callout: Callout) => void): () => void {\n return subscribeWindowEvent(LATTICE_EVENT.callout, normalizeCallout, callback);\n}\n\nexport function onRetractCallout(callback: (unique: string) => void): () => void {\n return subscribeWindowEvent(\n LATTICE_EVENT.retractCallout,\n (detail) => {\n const unique = (detail as RetractCallout | undefined)?.unique;\n\n return typeof unique === \"string\" ? unique : null;\n },\n callback,\n );\n}\n"],"mappings":";;;;AAOA,SAAgB,iBAAiB,QAAiC;CAChE,IAAI,OAAO,WAAW,YAAY,WAAW,MAC3C,OAAO;CAGT,MAAM,UAAU;CAChB,MAAM,UAAU,cAAc,QAAQ,OAAO;CAE7C,IAAI,YAAY,MACd,OAAO;CAGT,OAAO;EACL,QAAS,QAAQ,UAAgC;EACjD,aAAa,QAAQ,gBAAgB;EACrC;EACA,OACE,OAAO,QAAQ,UAAU,YAAY,eAAe,QAAQ,KAAK,IAAI,QAAQ,QAAQ;EACvF,QAAQ,OAAO,QAAQ,WAAW,WAAW,QAAQ,SAAS;EAC9D,SAAS,UAAU,QAAQ,OAAO,IAAI,QAAQ,UAAU;CAC1D;AACF;AAEA,SAAgB,UAAU,UAAkD;CAC1E,OAAO,qBAAqB,cAAc,SAAS,kBAAkB,QAAQ;AAC/E;AAEA,SAAgB,iBAAiB,UAAgD;CAC/E,OAAO,qBACL,cAAc,iBACb,WAAW;EACV,MAAM,SAAU,QAAuC;EAEvD,OAAO,OAAO,WAAW,WAAW,SAAS;CAC/C,GACA,QACF;AACF"}
1
+ {"version":3,"file":"callout.js","names":[],"sources":["../../resources/js/toast/callout.ts"],"sourcesContent":["import type { Callout, RetractCallout } from \"@lattice-php/lattice/types/generated\";\nimport { LATTICE_EVENT } from \"@lattice-php/core/event-names\";\nimport { isTranslatable } from \"@lattice-php/ui/i18n/translatable\";\nimport { coerceMessage, isVariant, subscribeWindowEvent } from \"./toast\";\n\nexport type { Callout };\n\nexport function normalizeCallout(detail: unknown): Callout | null {\n if (typeof detail !== \"object\" || detail === null) {\n return null;\n }\n\n const callout = detail as Record<string, unknown>;\n const message = coerceMessage(callout.message);\n\n if (message === null) {\n return null;\n }\n\n return {\n action: (callout.action as Callout[\"action\"]) ?? null,\n dismissible: callout.dismissible !== false,\n message,\n title:\n typeof callout.title === \"string\" || isTranslatable(callout.title) ? callout.title : null,\n unique: typeof callout.unique === \"string\" ? callout.unique : null,\n variant: isVariant(callout.variant) ? callout.variant : \"info\",\n };\n}\n\nexport function onCallout(callback: (callout: Callout) => void): () => void {\n return subscribeWindowEvent(LATTICE_EVENT.callout, normalizeCallout, callback);\n}\n\nexport function onRetractCallout(callback: (unique: string) => void): () => void {\n return subscribeWindowEvent(\n LATTICE_EVENT.retractCallout,\n (detail) => {\n const unique = (detail as RetractCallout | undefined)?.unique;\n\n return typeof unique === \"string\" ? unique : null;\n },\n callback,\n );\n}\n"],"mappings":";;;;AAOA,SAAgB,iBAAiB,QAAiC;CAChE,IAAI,OAAO,WAAW,YAAY,WAAW,MAC3C,OAAO;CAGT,MAAM,UAAU;CAChB,MAAM,UAAU,cAAc,QAAQ,OAAO;CAE7C,IAAI,YAAY,MACd,OAAO;CAGT,OAAO;EACL,QAAS,QAAQ,UAAgC;EACjD,aAAa,QAAQ,gBAAgB;EACrC;EACA,OACE,OAAO,QAAQ,UAAU,YAAY,eAAe,QAAQ,KAAK,IAAI,QAAQ,QAAQ;EACvF,QAAQ,OAAO,QAAQ,WAAW,WAAW,QAAQ,SAAS;EAC9D,SAAS,UAAU,QAAQ,OAAO,IAAI,QAAQ,UAAU;CAC1D;AACF;AAEA,SAAgB,UAAU,UAAkD;CAC1E,OAAO,qBAAqB,cAAc,SAAS,kBAAkB,QAAQ;AAC/E;AAEA,SAAgB,iBAAiB,UAAgD;CAC/E,OAAO,qBACL,cAAc,iBACb,WAAW;EACV,MAAM,SAAU,QAAuC;EAEvD,OAAO,OAAO,WAAW,WAAW,SAAS;CAC/C,GACA,QACF;AACF"}
@@ -1,5 +1,5 @@
1
- import { LATTICE_EVENT } from "../core/event-names.js";
2
- import { isTranslatable } from "../i18n/translatable.js";
1
+ import { LATTICE_EVENT } from "@lattice-php/core/event-names";
2
+ import { isTranslatable } from "@lattice-php/ui/i18n/translatable";
3
3
  //#region resources/js/toast/toast.ts
4
4
  var variants = [
5
5
  "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","names":[],"sources":["../../resources/js/toast/toast.ts"],"sourcesContent":["import type { Toast as ToastMessage, Variant } from \"@lattice-php/lattice/types/generated\";\nimport { LATTICE_EVENT } from \"@lattice-php/lattice/core/event-names\";\nimport { isTranslatable } from \"@lattice-php/lattice/i18n/translatable\";\n\nexport type { ToastMessage, Variant };\n\nconst variants = [\n \"primary\",\n \"secondary\",\n \"success\",\n \"info\",\n \"warning\",\n \"danger\",\n] as const satisfies readonly Variant[];\n\nexport function isVariant(value: unknown): value is Variant {\n return variants.some((variant) => variant === value);\n}\n\nexport function coerceMessage(value: unknown): ToastMessage[\"message\"] | null {\n const message = typeof value === \"string\" ? value : isTranslatable(value) ? value : null;\n\n return message === \"\" ? null : message;\n}\n\nexport function subscribeWindowEvent<T>(\n event: string,\n normalize: (detail: unknown) => T | null,\n callback: (value: T) => void,\n): () => void {\n const listener = (windowEvent: Event): void => {\n const value = normalize((windowEvent as CustomEvent).detail);\n\n if (value !== null) {\n callback(value);\n }\n };\n\n window.addEventListener(event, listener);\n\n return () => window.removeEventListener(event, listener);\n}\n\nexport function normalizeToastMessage(value: unknown): ToastMessage | null {\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const toast = value as Record<string, unknown>;\n const message = coerceMessage(toast.message);\n\n if (message === null) {\n return null;\n }\n\n return {\n action: (toast.action as ToastMessage[\"action\"]) ?? null,\n dismissible: toast.dismissible !== false,\n duration: typeof toast.duration === \"number\" ? toast.duration : null,\n message,\n persistent: toast.persistent === true,\n variant: isVariant(toast.variant) ? toast.variant : \"success\",\n };\n}\n\nexport function onToast(callback: (toast: ToastMessage) => void): () => void {\n return subscribeWindowEvent(LATTICE_EVENT.toast, normalizeToastMessage, callback);\n}\n"],"mappings":";;;AAMA,IAAM,WAAW;CACf;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,UAAU,OAAkC;CAC1D,OAAO,SAAS,MAAM,YAAY,YAAY,KAAK;AACrD;AAEA,SAAgB,cAAc,OAAgD;CAC5E,MAAM,UAAU,OAAO,UAAU,WAAW,QAAQ,eAAe,KAAK,IAAI,QAAQ;CAEpF,OAAO,YAAY,KAAK,OAAO;AACjC;AAEA,SAAgB,qBACd,OACA,WACA,UACY;CACZ,MAAM,YAAY,gBAA6B;EAC7C,MAAM,QAAQ,UAAW,YAA4B,MAAM;EAE3D,IAAI,UAAU,MACZ,SAAS,KAAK;CAElB;CAEA,OAAO,iBAAiB,OAAO,QAAQ;CAEvC,aAAa,OAAO,oBAAoB,OAAO,QAAQ;AACzD;AAEA,SAAgB,sBAAsB,OAAqC;CACzE,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC,OAAO;CAGT,MAAM,QAAQ;CACd,MAAM,UAAU,cAAc,MAAM,OAAO;CAE3C,IAAI,YAAY,MACd,OAAO;CAGT,OAAO;EACL,QAAS,MAAM,UAAqC;EACpD,aAAa,MAAM,gBAAgB;EACnC,UAAU,OAAO,MAAM,aAAa,WAAW,MAAM,WAAW;EAChE;EACA,YAAY,MAAM,eAAe;EACjC,SAAS,UAAU,MAAM,OAAO,IAAI,MAAM,UAAU;CACtD;AACF;AAEA,SAAgB,QAAQ,UAAqD;CAC3E,OAAO,qBAAqB,cAAc,OAAO,uBAAuB,QAAQ;AAClF"}
1
+ {"version":3,"file":"toast.js","names":[],"sources":["../../resources/js/toast/toast.ts"],"sourcesContent":["import type { Toast as ToastMessage, Variant } from \"@lattice-php/lattice/types/generated\";\nimport { LATTICE_EVENT } from \"@lattice-php/core/event-names\";\nimport { isTranslatable } from \"@lattice-php/ui/i18n/translatable\";\n\nexport type { ToastMessage, Variant };\n\nconst variants = [\n \"primary\",\n \"secondary\",\n \"success\",\n \"info\",\n \"warning\",\n \"danger\",\n] as const satisfies readonly Variant[];\n\nexport function isVariant(value: unknown): value is Variant {\n return variants.some((variant) => variant === value);\n}\n\nexport function coerceMessage(value: unknown): ToastMessage[\"message\"] | null {\n const message = typeof value === \"string\" ? value : isTranslatable(value) ? value : null;\n\n return message === \"\" ? null : message;\n}\n\nexport function subscribeWindowEvent<T>(\n event: string,\n normalize: (detail: unknown) => T | null,\n callback: (value: T) => void,\n): () => void {\n const listener = (windowEvent: Event): void => {\n const value = normalize((windowEvent as CustomEvent).detail);\n\n if (value !== null) {\n callback(value);\n }\n };\n\n window.addEventListener(event, listener);\n\n return () => window.removeEventListener(event, listener);\n}\n\nexport function normalizeToastMessage(value: unknown): ToastMessage | null {\n if (typeof value !== \"object\" || value === null) {\n return null;\n }\n\n const toast = value as Record<string, unknown>;\n const message = coerceMessage(toast.message);\n\n if (message === null) {\n return null;\n }\n\n return {\n action: (toast.action as ToastMessage[\"action\"]) ?? null,\n dismissible: toast.dismissible !== false,\n duration: typeof toast.duration === \"number\" ? toast.duration : null,\n message,\n persistent: toast.persistent === true,\n variant: isVariant(toast.variant) ? toast.variant : \"success\",\n };\n}\n\nexport function onToast(callback: (toast: ToastMessage) => void): () => void {\n return subscribeWindowEvent(LATTICE_EVENT.toast, normalizeToastMessage, callback);\n}\n"],"mappings":";;;AAMA,IAAM,WAAW;CACf;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,UAAU,OAAkC;CAC1D,OAAO,SAAS,MAAM,YAAY,YAAY,KAAK;AACrD;AAEA,SAAgB,cAAc,OAAgD;CAC5E,MAAM,UAAU,OAAO,UAAU,WAAW,QAAQ,eAAe,KAAK,IAAI,QAAQ;CAEpF,OAAO,YAAY,KAAK,OAAO;AACjC;AAEA,SAAgB,qBACd,OACA,WACA,UACY;CACZ,MAAM,YAAY,gBAA6B;EAC7C,MAAM,QAAQ,UAAW,YAA4B,MAAM;EAE3D,IAAI,UAAU,MACZ,SAAS,KAAK;CAElB;CAEA,OAAO,iBAAiB,OAAO,QAAQ;CAEvC,aAAa,OAAO,oBAAoB,OAAO,QAAQ;AACzD;AAEA,SAAgB,sBAAsB,OAAqC;CACzE,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC,OAAO;CAGT,MAAM,QAAQ;CACd,MAAM,UAAU,cAAc,MAAM,OAAO;CAE3C,IAAI,YAAY,MACd,OAAO;CAGT,OAAO;EACL,QAAS,MAAM,UAAqC;EACpD,aAAa,MAAM,gBAAgB;EACnC,UAAU,OAAO,MAAM,aAAa,WAAW,MAAM,WAAW;EAChE;EACA,YAAY,MAAM,eAAe;EACjC,SAAS,UAAU,MAAM,OAAO,IAAI,MAAM,UAAU;CACtD;AACF;AAEA,SAAgB,QAAQ,UAAqD;CAC3E,OAAO,qBAAqB,cAAc,OAAO,uBAAuB,QAAQ;AAClF"}
@@ -1,13 +1,13 @@
1
- import { useT } from "../i18n/instance.js";
2
- import { cn } from "../lib/utils.js";
3
- import { Icon } from "../icons/sprite.js";
4
- import { RenderNode } from "../core/renderer.js";
5
- import { resolveText } from "../i18n/translatable.js";
6
1
  import { onToast } from "./toast.js";
7
2
  import { variantStyles } from "./variant-styles.js";
8
3
  import { useEffect, useState } from "react";
9
- import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { Icon } from "@lattice-php/ui/icons";
5
+ import { RenderNode } from "@lattice-php/core/renderer";
6
+ import { resolveText } from "@lattice-php/ui/i18n/translatable";
10
7
  import * as Toast from "@radix-ui/react-toast";
8
+ import { cn } from "@lattice-php/ui/lib/utils";
9
+ import { useT } from "@lattice-php/ui/i18n";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region resources/js/toast/toaster.tsx
12
12
  var nextId = 0;
13
13
  function Toaster({ duration = 4e3 }) {
@@ -1 +1 @@
1
- {"version":3,"file":"toaster.js","names":[],"sources":["../../resources/js/toast/toaster.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport * as Toast from \"@radix-ui/react-toast\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/lattice/core/renderer\";\nimport type { Toast as ToastMessage } from \"@lattice-php/lattice/types/generated\";\nimport { onToast } from \"./toast\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport { variantStyles } from \"./variant-styles\";\nimport { resolveText } from \"@lattice-php/lattice/i18n/translatable\";\n\ntype ToastItem = ToastMessage & { id: number };\n\nlet nextId = 0;\n\nexport function Toaster({ duration = 4000 }: { duration?: number }) {\n const { t } = useT(\"lattice\");\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n function dismiss(id: number): void {\n setToasts((current) => current.filter((toast) => toast.id !== id));\n }\n\n useEffect(\n () =>\n onToast((toast) => {\n setToasts((current) => [...current, { ...toast, id: nextId++ }]);\n }),\n [],\n );\n\n return (\n <Toast.Provider duration={duration} swipeDirection=\"down\">\n {toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n className={cn(\n \"flex items-start gap-3 rounded-lt border border-l-4 border-lt-border bg-lt-popover p-4 text-lt-popover-fg shadow-lt-lg\",\n variantStyles[toast.variant].accent,\n \"data-[state=open]:animate-lt-toast-in data-[state=closed]:animate-lt-toast-out\",\n \"data-[swipe=move]:translate-y-[var(--radix-toast-swipe-move-y)] data-[swipe=cancel]:translate-y-0 data-[swipe=cancel]:transition-transform\",\n )}\n data-test={`toast-${toast.variant}`}\n duration={toast.persistent ? Infinity : (toast.duration ?? duration)}\n onOpenChange={(open) => {\n if (!open) {\n dismiss(toast.id);\n }\n }}\n >\n {variantStyles[toast.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <Toast.Title className=\"text-sm text-lt-fg\">\n {resolveText(toast.message, t)}\n </Toast.Title>\n {toast.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={toast.action} />\n </div>\n ) : null}\n </div>\n {toast.dismissible ? (\n <Toast.Close\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n className=\"shrink-0 rounded-lt-sm p-1 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg\"\n data-test=\"toast-dismiss\"\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </Toast.Close>\n ) : null}\n </Toast.Root>\n ))}\n <Toast.Viewport className=\"fixed inset-x-0 bottom-0 z-lt-toast mx-auto flex w-full max-w-sm flex-col gap-2 p-4 outline-none\" />\n </Toast.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAI,SAAS;AAEb,SAAgB,QAAQ,EAAE,WAAW,OAA+B;CAClE,MAAM,EAAE,MAAM,KAAK,SAAS;CAC5B,MAAM,CAAC,QAAQ,aAAa,SAAsB,CAAC,CAAC;CAEpD,SAAS,QAAQ,IAAkB;EACjC,WAAW,YAAY,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC;CACnE;CAEA,gBAEI,SAAS,UAAU;EACjB,WAAW,YAAY,CAAC,GAAG,SAAS;GAAE,GAAG;GAAO,IAAI;EAAS,CAAC,CAAC;CACjE,CAAC,GACH,CAAC,CACH;CAEA,OACE,qBAAC,MAAM,UAAP;EAA0B;EAAU,gBAAe;EAAnD,UAAA,CACG,OAAO,KAAK,UACX,qBAAC,MAAM,MAAP;GAEE,WAAW,GACT,0HACA,cAAc,MAAM,QAAQ,CAAC,QAC7B,kFACA,4IACF;GACA,aAAW,SAAS,MAAM;GAC1B,UAAU,MAAM,aAAa,WAAY,MAAM,YAAY;GAC3D,eAAe,SAAS;IACtB,IAAI,CAAC,MACH,QAAQ,MAAM,EAAE;GAEpB;GAdF,UAAA;IAgBG,cAAc,MAAM,QAAQ,CAAC;IAC9B,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,MAAM,OAAP;MAAa,WAAU;MACpB,UAAA,YAAY,MAAM,SAAS,CAAC;KAClB,CAAA,GACZ,MAAM,SACL,oBAAC,OAAD;MAAK,WAAU;MACb,UAAA,oBAAC,YAAD,EAAY,MAAM,MAAM,OAAS,CAAA;KAC9B,CAAA,IACH,IACD;;IACJ,MAAM,cACL,oBAAC,MAAM,OAAP;KACE,cAAY,EAAE,kBAAkB,SAAS;KACzC,WAAU;KACV,aAAU;KAEV,UAAA,oBAAC,MAAD;MAAM,MAAK;MAAI,WAAU;KAAmB,CAAA;IACjC,CAAA,IACX;GACM;EAnCL,GAAA,MAAM,EAmCD,CACb,GACD,oBAAC,MAAM,UAAP,EAAgB,WAAU,mGAAoG,CAAA,CAChH;;AAEpB"}
1
+ {"version":3,"file":"toaster.js","names":[],"sources":["../../resources/js/toast/toaster.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/ui/icons\";\nimport * as Toast from \"@radix-ui/react-toast\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/core/renderer\";\nimport type { Toast as ToastMessage } from \"@lattice-php/lattice/types/generated\";\nimport { onToast } from \"./toast\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\nimport { useT } from \"@lattice-php/ui/i18n\";\nimport { variantStyles } from \"./variant-styles\";\nimport { resolveText } from \"@lattice-php/ui/i18n/translatable\";\n\ntype ToastItem = ToastMessage & { id: number };\n\nlet nextId = 0;\n\nexport function Toaster({ duration = 4000 }: { duration?: number }) {\n const { t } = useT(\"lattice\");\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n function dismiss(id: number): void {\n setToasts((current) => current.filter((toast) => toast.id !== id));\n }\n\n useEffect(\n () =>\n onToast((toast) => {\n setToasts((current) => [...current, { ...toast, id: nextId++ }]);\n }),\n [],\n );\n\n return (\n <Toast.Provider duration={duration} swipeDirection=\"down\">\n {toasts.map((toast) => (\n <Toast.Root\n key={toast.id}\n className={cn(\n \"flex items-start gap-3 rounded-lt border border-l-4 border-lt-border bg-lt-popover p-4 text-lt-popover-fg shadow-lt-lg\",\n variantStyles[toast.variant].accent,\n \"data-[state=open]:animate-lt-toast-in data-[state=closed]:animate-lt-toast-out\",\n \"data-[swipe=move]:translate-y-[var(--radix-toast-swipe-move-y)] data-[swipe=cancel]:translate-y-0 data-[swipe=cancel]:transition-transform\",\n )}\n data-test={`toast-${toast.variant}`}\n duration={toast.persistent ? Infinity : (toast.duration ?? duration)}\n onOpenChange={(open) => {\n if (!open) {\n dismiss(toast.id);\n }\n }}\n >\n {variantStyles[toast.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <Toast.Title className=\"text-sm text-lt-fg\">\n {resolveText(toast.message, t)}\n </Toast.Title>\n {toast.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={toast.action} />\n </div>\n ) : null}\n </div>\n {toast.dismissible ? (\n <Toast.Close\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n className=\"shrink-0 rounded-lt-sm p-1 text-lt-muted-fg transition-colors hover:bg-lt-muted hover:text-lt-fg\"\n data-test=\"toast-dismiss\"\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </Toast.Close>\n ) : null}\n </Toast.Root>\n ))}\n <Toast.Viewport className=\"fixed inset-x-0 bottom-0 z-lt-toast mx-auto flex w-full max-w-sm flex-col gap-2 p-4 outline-none\" />\n </Toast.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAI,SAAS;AAEb,SAAgB,QAAQ,EAAE,WAAW,OAA+B;CAClE,MAAM,EAAE,MAAM,KAAK,SAAS;CAC5B,MAAM,CAAC,QAAQ,aAAa,SAAsB,CAAC,CAAC;CAEpD,SAAS,QAAQ,IAAkB;EACjC,WAAW,YAAY,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC;CACnE;CAEA,gBAEI,SAAS,UAAU;EACjB,WAAW,YAAY,CAAC,GAAG,SAAS;GAAE,GAAG;GAAO,IAAI;EAAS,CAAC,CAAC;CACjE,CAAC,GACH,CAAC,CACH;CAEA,OACE,qBAAC,MAAM,UAAP;EAA0B;EAAU,gBAAe;EAAnD,UAAA,CACG,OAAO,KAAK,UACX,qBAAC,MAAM,MAAP;GAEE,WAAW,GACT,0HACA,cAAc,MAAM,QAAQ,CAAC,QAC7B,kFACA,4IACF;GACA,aAAW,SAAS,MAAM;GAC1B,UAAU,MAAM,aAAa,WAAY,MAAM,YAAY;GAC3D,eAAe,SAAS;IACtB,IAAI,CAAC,MACH,QAAQ,MAAM,EAAE;GAEpB;GAdF,UAAA;IAgBG,cAAc,MAAM,QAAQ,CAAC;IAC9B,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,MAAM,OAAP;MAAa,WAAU;MACpB,UAAA,YAAY,MAAM,SAAS,CAAC;KAClB,CAAA,GACZ,MAAM,SACL,oBAAC,OAAD;MAAK,WAAU;MACb,UAAA,oBAAC,YAAD,EAAY,MAAM,MAAM,OAAS,CAAA;KAC9B,CAAA,IACH,IACD;;IACJ,MAAM,cACL,oBAAC,MAAM,OAAP;KACE,cAAY,EAAE,kBAAkB,SAAS;KACzC,WAAU;KACV,aAAU;KAEV,UAAA,oBAAC,MAAD;MAAM,MAAK;MAAI,WAAU;KAAmB,CAAA;IACjC,CAAA,IACX;GACM;EAnCL,GAAA,MAAM,EAmCD,CACb,GACD,oBAAC,MAAM,UAAP,EAAgB,WAAU,mGAAoG,CAAA,CAChH;;AAEpB"}
@@ -1,4 +1,4 @@
1
- import { Icon } from "../icons/sprite.js";
1
+ import { Icon } from "@lattice-php/ui/icons";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  //#region resources/js/toast/variant-styles.tsx
4
4
  var variantStyles = {
@@ -1 +1 @@
1
- {"version":3,"file":"variant-styles.js","names":[],"sources":["../../resources/js/toast/variant-styles.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport type { ReactNode } from \"react\";\nimport type { Variant } from \"@lattice-php/lattice/types/generated\";\n\nexport const variantStyles: Record<Variant, { accent: string; icon: ReactNode }> = {\n primary: {\n accent: \"border-l-lt-primary\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-primary\" />,\n },\n secondary: {\n accent: \"border-l-lt-secondary\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-muted-fg\" />,\n },\n success: {\n accent: \"border-l-lt-success\",\n icon: <Icon name=\"circle-check\" className=\"size-lt-icon-lg shrink-0 text-lt-success\" />,\n },\n info: {\n accent: \"border-l-lt-info\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-info\" />,\n },\n warning: {\n accent: \"border-l-lt-warning\",\n icon: <Icon name=\"circle-alert\" className=\"size-lt-icon-lg shrink-0 text-lt-warning\" />,\n },\n danger: {\n accent: \"border-l-lt-danger\",\n icon: <Icon name=\"circle-x\" className=\"size-lt-icon-lg shrink-0 text-lt-danger\" />,\n },\n};\n"],"mappings":";;;AAIA,IAAa,gBAAsE;CACjF,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAA4C,CAAA;CAChF;CACA,WAAW;EACT,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAA6C,CAAA;CACjF;CACA,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAe,WAAU;EAA4C,CAAA;CACxF;CACA,MAAM;EACJ,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAAyC,CAAA;CAC7E;CACA,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAe,WAAU;EAA4C,CAAA;CACxF;CACA,QAAQ;EACN,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAW,WAAU;EAA2C,CAAA;CACnF;AACF"}
1
+ {"version":3,"file":"variant-styles.js","names":[],"sources":["../../resources/js/toast/variant-styles.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/ui/icons\";\nimport type { ReactNode } from \"react\";\nimport type { Variant } from \"@lattice-php/lattice/types/generated\";\n\nexport const variantStyles: Record<Variant, { accent: string; icon: ReactNode }> = {\n primary: {\n accent: \"border-l-lt-primary\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-primary\" />,\n },\n secondary: {\n accent: \"border-l-lt-secondary\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-muted-fg\" />,\n },\n success: {\n accent: \"border-l-lt-success\",\n icon: <Icon name=\"circle-check\" className=\"size-lt-icon-lg shrink-0 text-lt-success\" />,\n },\n info: {\n accent: \"border-l-lt-info\",\n icon: <Icon name=\"info\" className=\"size-lt-icon-lg shrink-0 text-lt-info\" />,\n },\n warning: {\n accent: \"border-l-lt-warning\",\n icon: <Icon name=\"circle-alert\" className=\"size-lt-icon-lg shrink-0 text-lt-warning\" />,\n },\n danger: {\n accent: \"border-l-lt-danger\",\n icon: <Icon name=\"circle-x\" className=\"size-lt-icon-lg shrink-0 text-lt-danger\" />,\n },\n};\n"],"mappings":";;;AAIA,IAAa,gBAAsE;CACjF,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAA4C,CAAA;CAChF;CACA,WAAW;EACT,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAA6C,CAAA;CACjF;CACA,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAe,WAAU;EAA4C,CAAA;CACxF;CACA,MAAM;EACJ,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAO,WAAU;EAAyC,CAAA;CAC7E;CACA,SAAS;EACP,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAe,WAAU;EAA4C,CAAA;CACxF;CACA,QAAQ;EACN,QAAQ;EACR,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAW,WAAU;EAA2C,CAAA;CACnF;AACF"}
@@ -0,0 +1,4 @@
1
+ import { ComponentPropsMap } from './generated.js';
2
+ declare module "@lattice-php/core" {
3
+ interface ComponentProps extends ComponentPropsMap {}
4
+ }
@@ -1,3 +1,4 @@
1
+ import { ColumnProps as CoreColumnProps, ComponentProps as CoreComponentProps, EffectProps as CoreEffectProps, FilterProps as CoreFilterProps } from '@lattice-php/core';
1
2
  export type NodeProps = Record<string, unknown>;
2
3
  export type CommonNodeProps = {
3
4
  columnSpan?: Record<string, number | string> | null;
@@ -6,21 +7,21 @@ export type CommonNodeProps = {
6
7
  };
7
8
  /**
8
9
  * Augmentable map of wire `type` string → props for consumer components. Apps
9
- * extend it via `declare module "@lattice-php/lattice"` so their custom components
10
+ * extend it via `declare module "@lattice-php/core"` so their custom components
10
11
  * gain strong prop types; the entries are generated by `php artisan lattice:typescript`.
11
12
  * Built-in components resolve through the generated `ComponentPropsMap` below.
12
13
  * Types in neither fall back to a loose bag.
13
14
  */
14
- export interface ComponentProps {
15
+ export interface ComponentProps extends CoreComponentProps {
15
16
  }
16
17
  /** The column counterpart of `ComponentProps`. */
17
- export interface ColumnProps {
18
+ export interface ColumnProps extends CoreColumnProps {
18
19
  }
19
20
  /** The filter counterpart of `ComponentProps`. */
20
- export interface FilterProps {
21
+ export interface FilterProps extends CoreFilterProps {
21
22
  }
22
23
  /** The effect counterpart of `ComponentProps`. */
23
- export interface EffectProps {
24
+ export interface EffectProps extends CoreEffectProps {
24
25
  }
25
26
  /**
26
27
  * Resolves a `type` string to its payload: consumer augmentations (`TAugment`)
@@ -213,7 +214,7 @@ export type BulkAction = {
213
214
  variant: Variant | null;
214
215
  };
215
216
  export type Button = {
216
- action: Node<"action"> | Node<"action.bulk"> | null;
217
+ action: Node | null;
217
218
  buttonType: ButtonType;
218
219
  effects: Effect[];
219
220
  emphasis: Emphasis | null;
@@ -797,7 +798,7 @@ export type LabelAction = {
797
798
  };
798
799
  export type LayoutNodeType = "breadcrumbs" | "callouts" | "dropdown" | "menu" | "menu-item" | "outlet" | "sidebar" | "topbar";
799
800
  export type Link = {
800
- action: Node<"action"> | Node<"action.bulk"> | null;
801
+ action: Node | null;
801
802
  effects: Effect[];
802
803
  href: string | null;
803
804
  icon: string | null;
@@ -818,7 +819,7 @@ export type LocaleChange = {
818
819
  };
819
820
  export type Menu = Record<string, never>;
820
821
  export type MenuItem = {
821
- action: Node<"action"> | Node<"action.bulk"> | null;
822
+ action: Node | null;
822
823
  effects: Effect[];
823
824
  href: string | null;
824
825
  icon: string | null;
@@ -1192,7 +1193,7 @@ export type Tab = {
1192
1193
  };
1193
1194
  export type Table = {
1194
1195
  actionsLabel: string | null;
1195
- bulkActions: (Node<"action"> | Node<"action.bulk">)[];
1196
+ bulkActions: Node[];
1196
1197
  columns: ColumnNode[];
1197
1198
  emptyLabel: string | null;
1198
1199
  endpoint: string | null;
@@ -1,2 +1,10 @@
1
- export type { ComponentProps, DateFormat, Node, NodeProps, NumberFormat, PageContainer, PageBreadcrumb, PagePayload, ComponentPropsOf, RendererComponent, } from '../index.js';
2
- export type { Method } from '@inertiajs/core';
1
+ import { Breadcrumb, NodeType, PageContainer as GeneratedPageContainer, PageLayoutPayload, PagePayload as GeneratedPagePayload } from './generated.js';
2
+ export type * from '@lattice-php/core';
3
+ export type LayoutPayload = PageLayoutPayload;
4
+ export type PageBreadcrumb = Breadcrumb;
5
+ export type PagePayload = Omit<GeneratedPagePayload, "container"> & {
6
+ container: PageContainer;
7
+ };
8
+ export type PageContainer = GeneratedPageContainer | (string & {});
9
+ export type { NodeType };
10
+ export type KnownPageContainer = GeneratedPageContainer;
package/dist/vite.d.ts CHANGED
@@ -28,7 +28,7 @@ export type LatticeComponentPackage = {
28
28
  name: string;
29
29
  /** Absolute path to the package's installed directory. */
30
30
  dir: string;
31
- /** Absolute path to the package's JS plugin entry (its `createPlugin(...)`). */
31
+ /** Absolute path to the package's JS plugin entry. */
32
32
  plugin: string;
33
33
  };
34
34
  type InstalledPackage = {
@@ -71,7 +71,7 @@ export declare function collectRootComponentPackage(composerJson: RootPackageJso
71
71
  export declare function discoverComponentPackages(appRoot: string): LatticeComponentPackage[];
72
72
  /**
73
73
  * Exposes the discovered component packages as `virtual:lattice/plugins` — a
74
- * module whose default export is the array of their `createPlugin(...)` results,
74
+ * module whose default export is the array of their plugin objects,
75
75
  * ready for `extendRegistry(registry, ...plugins)`. Also grants Vite filesystem
76
76
  * access to each package dir so its source compiles from `vendor/` (or a symlink).
77
77
  */
package/dist/vite.js CHANGED
@@ -75,7 +75,7 @@ var VIRTUAL_PLUGINS_ID = "virtual:lattice/plugins";
75
75
  var RESOLVED_VIRTUAL_PLUGINS_ID = `\0${VIRTUAL_PLUGINS_ID}`;
76
76
  /**
77
77
  * Exposes the discovered component packages as `virtual:lattice/plugins` — a
78
- * module whose default export is the array of their `createPlugin(...)` results,
78
+ * module whose default export is the array of their plugin objects,
79
79
  * ready for `extendRegistry(registry, ...plugins)`. Also grants Vite filesystem
80
80
  * access to each package dir so its source compiles from `vendor/` (or a symlink).
81
81
  */
@@ -100,8 +100,13 @@ function latticeConfig(options = {}) {
100
100
  return {
101
101
  resolve: {
102
102
  ...options.source ? { alias: {
103
- "@lattice-php/lattice/css": path.resolve(root, "resources/css/lattice.css"),
104
- "@lattice-php/lattice": path.resolve(root, "resources/js")
103
+ "@lattice-php/lattice/css": path.resolve(root, "../ui/resources/css/lattice.css"),
104
+ "@lattice-php/lattice": path.resolve(root, "resources/js"),
105
+ "@lattice-php/core": path.resolve(root, "../core/resources/js"),
106
+ "@lattice-php/form": path.resolve(root, "../form/resources/js"),
107
+ "@lattice-php/table": path.resolve(root, "../table/resources/js"),
108
+ "@lattice-php/ui/css": path.resolve(root, "../ui/resources/css/lattice.css"),
109
+ "@lattice-php/ui": path.resolve(root, "../ui/resources/js")
105
110
  } } : {},
106
111
  dedupe: [
107
112
  "@inertiajs/react",
@@ -112,6 +117,10 @@ function latticeConfig(options = {}) {
112
117
  server: options.source ? { fs: { allow: [searchForWorkspaceRoot(appRoot), root] } } : void 0,
113
118
  test: { server: { deps: { inline: [
114
119
  "@lattice-php/lattice",
120
+ "@lattice-php/core",
121
+ "@lattice-php/form",
122
+ "@lattice-php/table",
123
+ "@lattice-php/ui",
115
124
  /[/\\]lattice[/\\]dist[/\\]/,
116
125
  /[/\\]lattice[/\\]node_modules[/\\]@radix-ui[/\\]/,
117
126
  /[/\\]lattice[/\\]node_modules[/\\]@tiptap[/\\]/,
@@ -190,12 +199,12 @@ function resolveIconOptions(options) {
190
199
  const { dirs = [], dts, ...spriteOptions } = icons === true ? {} : icons;
191
200
  const defaultTypes = {
192
201
  file: "resources/js/types/sprite-icons.ts",
193
- augmentModule: "@lattice-php/lattice",
202
+ augmentModule: "@lattice-php/ui",
194
203
  augmentInterface: "KnownIcons"
195
204
  };
196
205
  return {
197
206
  ...spriteOptions,
198
- iconDirs: [path.resolve(root, "resources/icons"), ...dirs],
207
+ iconDirs: [path.resolve(root, "../ui/resources/icons"), ...dirs],
199
208
  ...dts === false ? {} : { dts: {
200
209
  ...defaultTypes,
201
210
  ...dts
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","names":[],"sources":["../resources/js/vite.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { svgSprite } from \"@lattice-php/vite-svg-sprite\";\nimport type { IconTypesOptions, SvgSpriteOptions } from \"@lattice-php/vite-svg-sprite\";\nimport { searchForWorkspaceRoot } from \"vite\";\nimport type { Plugin, PluginOption, UserConfig } from \"vite\";\nimport { refreshTypeScriptTypes } from \"./vite-typescript-refresh.ts\";\n\ntype InlineDependency = string | RegExp;\n\ntype ConfigWithTest = UserConfig & {\n test?: {\n server?: {\n deps?: {\n inline?: InlineDependency[];\n };\n };\n };\n};\n\nexport type LatticeViteIconsOptions = Omit<SvgSpriteOptions, \"dts\" | \"iconDirs\"> & {\n dirs?: string[];\n dts?: Partial<IconTypesOptions> | false;\n};\n\nexport type LatticeViteOptions = {\n appRoot?: string;\n icons?: boolean | LatticeViteIconsOptions;\n root?: string;\n source?: boolean;\n /** Refresh generated TypeScript types via the dev server. Defaults to `true`. */\n typescript?: boolean;\n};\n\ntype Roots = {\n appRoot: string;\n root: string;\n};\n\nexport function lattice(options: LatticeViteOptions = {}): PluginOption[] {\n const { appRoot } = resolveRoots(options);\n const plugins: PluginOption[] = [\n corePlugin(options),\n optionalPeersPlugin(),\n componentPackagesPlugin(discoverComponentPackages(appRoot)),\n typescriptPlugin(options),\n ];\n const iconOptions = resolveIconOptions(options);\n\n if (iconOptions) {\n plugins.push(svgSprite(iconOptions));\n }\n\n return plugins;\n}\n\n/** A Composer package that contributes a Lattice component plugin. */\nexport type LatticeComponentPackage = {\n name: string;\n /** Absolute path to the package's installed directory. */\n dir: string;\n /** Absolute path to the package's JS plugin entry (its `createPlugin(...)`). */\n plugin: string;\n};\n\ntype InstalledPackage = {\n name: string;\n \"install-path\"?: string;\n extra?: { lattice?: { plugin?: string } };\n};\n\ntype RootPackageJson = {\n name?: string;\n extra?: { lattice?: { plugin?: string } };\n};\n\n/**\n * Resolve every Composer package that declares `extra.lattice.plugin` into an\n * absolute plugin-entry path. `installPathsRelativeTo` is `vendor/composer` (the\n * dir `installed.json` records its `install-path`s against).\n */\nexport function collectComponentPackages(\n installed: { packages?: InstalledPackage[] } | InstalledPackage[],\n installPathsRelativeTo: string,\n): LatticeComponentPackage[] {\n const packages = Array.isArray(installed) ? installed : (installed.packages ?? []);\n\n return packages.flatMap((pkg) => {\n const entry = pkg.extra?.lattice?.plugin;\n\n if (typeof entry !== \"string\") {\n return [];\n }\n\n const dir = path.resolve(installPathsRelativeTo, pkg[\"install-path\"] ?? `../${pkg.name}`);\n\n return [{ name: pkg.name, dir, plugin: path.resolve(dir, entry) }];\n });\n}\n\n/**\n * Resolve the composer ROOT project's own `extra.lattice.plugin` — Composer\n * never lists the root package in `installed.json`, so a component package\n * declaring the plugin entry in its own composer.json would otherwise be\n * invisible to its own dev server (e.g. inside a testbench workbench, where\n * the package itself is the app root).\n */\nexport function collectRootComponentPackage(\n composerJson: RootPackageJson,\n appRoot: string,\n): LatticeComponentPackage[] {\n const entry = composerJson.extra?.lattice?.plugin;\n\n if (typeof entry !== \"string\" || typeof composerJson.name !== \"string\") {\n return [];\n }\n\n return [{ name: composerJson.name, dir: appRoot, plugin: path.resolve(appRoot, entry) }];\n}\n\n/**\n * Read `<appRoot>/vendor/composer/installed.json` and `<appRoot>/composer.json`\n * and collect every component package they contribute.\n */\nexport function discoverComponentPackages(appRoot: string): LatticeComponentPackage[] {\n const composerDir = path.resolve(appRoot, \"vendor/composer\");\n\n let installed: LatticeComponentPackage[] = [];\n\n try {\n const raw = readFileSync(path.join(composerDir, \"installed.json\"), \"utf8\");\n installed = collectComponentPackages(JSON.parse(raw), composerDir);\n } catch {\n installed = [];\n }\n\n let root: LatticeComponentPackage[] = [];\n\n try {\n const raw = readFileSync(path.join(appRoot, \"composer.json\"), \"utf8\");\n root = collectRootComponentPackage(JSON.parse(raw), appRoot);\n } catch {\n root = [];\n }\n\n return [...installed, ...root];\n}\n\nconst VIRTUAL_PLUGINS_ID = \"virtual:lattice/plugins\";\nconst RESOLVED_VIRTUAL_PLUGINS_ID = `\\0${VIRTUAL_PLUGINS_ID}`;\n\n/**\n * Exposes the discovered component packages as `virtual:lattice/plugins` — a\n * module whose default export is the array of their `createPlugin(...)` results,\n * ready for `extendRegistry(registry, ...plugins)`. Also grants Vite filesystem\n * access to each package dir so its source compiles from `vendor/` (or a symlink).\n */\nexport function componentPackagesPlugin(packages: LatticeComponentPackage[]): Plugin {\n return {\n name: \"lattice:component-packages\",\n config(config) {\n if (packages.length === 0) {\n return {};\n }\n\n const workspaceRoot = searchForWorkspaceRoot(config.root ?? process.cwd());\n\n return { server: { fs: { allow: [workspaceRoot, ...packages.map((pkg) => pkg.dir)] } } };\n },\n resolveId(id) {\n return id === VIRTUAL_PLUGINS_ID ? RESOLVED_VIRTUAL_PLUGINS_ID : null;\n },\n load(id) {\n if (id !== RESOLVED_VIRTUAL_PLUGINS_ID) {\n return null;\n }\n\n const imports = packages\n .map((pkg, index) => `import p${index} from ${JSON.stringify(pkg.plugin)};`)\n .join(\"\\n\");\n const list = packages.map((_, index) => `p${index}`).join(\", \");\n\n return `${imports}\\nexport default [${list}];\\n`;\n },\n };\n}\n\nexport function latticeConfig(options: LatticeViteOptions = {}): ConfigWithTest {\n const { appRoot, root } = resolveRoots(options);\n\n return {\n resolve: {\n // A react alias would break SSR: Vite only externalizes bare specifiers,\n // so an absolute path inlines react's CJS into the SSR module runner.\n // `dedupe` alone keeps the app on a single React copy, symlinks included.\n ...(options.source\n ? {\n alias: {\n \"@lattice-php/lattice/css\": path.resolve(root, \"resources/css/lattice.css\"),\n \"@lattice-php/lattice\": path.resolve(root, \"resources/js\"),\n },\n }\n : {}),\n dedupe: [\"@inertiajs/react\", \"react\", \"react-dom\"],\n },\n server: options.source\n ? {\n fs: {\n allow: [searchForWorkspaceRoot(appRoot), root],\n },\n }\n : undefined,\n test: {\n server: {\n deps: {\n inline: [\n \"@lattice-php/lattice\",\n /[/\\\\]lattice[/\\\\]dist[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]@radix-ui[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]@tiptap[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]react-i18next[/\\\\]/,\n ],\n },\n },\n },\n };\n}\n\nfunction corePlugin(options: LatticeViteOptions): Plugin {\n return {\n name: \"lattice\",\n config() {\n return latticeConfig(options);\n },\n };\n}\n\nconst OPTIONAL_PEER_STUB_PREFIX = \"\\0lattice-optional-peer/\";\n\n/**\n * Real-time listeners statically import their optional Echo peers. A consumer\n * that never uses real-time should still build, so stub a missing peer with\n * hooks that throw — the `RealtimeListeners` error boundary then degrades\n * gracefully and warns to install the peer, exactly as when it is absent.\n */\nconst OPTIONAL_PEER_STUBS: Record<string, string> = {\n \"@laravel/echo-react\": [\n \"const missing = () => {\",\n \" throw new Error(\",\n ' \"[lattice] Real-time listeners require @laravel/echo-react. Install it and call configureEcho().\",',\n \" );\",\n \"};\",\n \"export const useEcho = missing;\",\n \"export const useEchoPublic = missing;\",\n \"export const useEchoPresence = missing;\",\n \"export const useEchoNotification = missing;\",\n ].join(\"\\n\"),\n};\n\nfunction optionalPeersPlugin(): Plugin {\n return {\n name: \"lattice:optional-peers\",\n enforce: \"pre\",\n async resolveId(id) {\n if (!Object.prototype.hasOwnProperty.call(OPTIONAL_PEER_STUBS, id)) {\n return null;\n }\n\n const installed = await this.resolve(id, undefined, { skipSelf: true });\n\n return installed ? null : `${OPTIONAL_PEER_STUB_PREFIX}${id}`;\n },\n load(id) {\n if (!id.startsWith(OPTIONAL_PEER_STUB_PREFIX)) {\n return null;\n }\n\n return OPTIONAL_PEER_STUBS[id.slice(OPTIONAL_PEER_STUB_PREFIX.length)] ?? null;\n },\n };\n}\n\n/**\n * Refreshes `node.props` typings from the app's own `php artisan\n * lattice:typescript` whenever the dev server starts — installing or updating\n * a component package would otherwise leave its generated types stale until\n * someone remembers to run the command by hand. Dev-server only: a production\n * build machine may not have PHP installed, and the generated file is a dev\n * ergonomics artifact, not a build input.\n *\n * Module-private like its siblings `optionalPeersPlugin`/`corePlugin` — the\n * `refreshTypeScriptTypes` DI seam it defers to lives in\n * `./vite-typescript-refresh`, which isn't part of the published `vite`\n * subpath either (see that module for why).\n */\nfunction typescriptPlugin(options: LatticeViteOptions): Plugin {\n return {\n name: \"lattice:typescript\",\n apply: \"serve\",\n configureServer(server) {\n const typescript = options.typescript ?? true;\n\n if (typescript === false) {\n return;\n }\n\n const { appRoot } = resolveRoots(options);\n\n refreshTypeScriptTypes(appRoot, server.config.logger);\n },\n };\n}\n\nexport function resolveIconOptions(options: LatticeViteOptions): SvgSpriteOptions | null {\n const icons = options.icons ?? true;\n\n if (icons === false) {\n return null;\n }\n\n const { root } = resolveRoots(options);\n const iconOptions = icons === true ? {} : icons;\n const { dirs = [], dts, ...spriteOptions } = iconOptions;\n const defaultTypes = {\n file: \"resources/js/types/sprite-icons.ts\",\n augmentModule: \"@lattice-php/lattice\",\n augmentInterface: \"KnownIcons\",\n };\n\n return {\n ...spriteOptions,\n iconDirs: [path.resolve(root, \"resources/icons\"), ...dirs],\n ...(dts === false ? {} : { dts: { ...defaultTypes, ...dts } }),\n };\n}\n\nfunction resolveRoots(options: LatticeViteOptions): Roots {\n const appRoot = options.appRoot ?? process.cwd();\n const root = options.root ?? path.resolve(appRoot, \"vendor/lattice-php/lattice\");\n\n return { appRoot, root };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","names":[],"sources":["../resources/js/vite.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { svgSprite } from \"@lattice-php/vite-svg-sprite\";\nimport type { IconTypesOptions, SvgSpriteOptions } from \"@lattice-php/vite-svg-sprite\";\nimport { searchForWorkspaceRoot } from \"vite\";\nimport type { Plugin, PluginOption, UserConfig } from \"vite\";\nimport { refreshTypeScriptTypes } from \"./vite-typescript-refresh.ts\";\n\ntype InlineDependency = string | RegExp;\n\ntype ConfigWithTest = UserConfig & {\n test?: {\n server?: {\n deps?: {\n inline?: InlineDependency[];\n };\n };\n };\n};\n\nexport type LatticeViteIconsOptions = Omit<SvgSpriteOptions, \"dts\" | \"iconDirs\"> & {\n dirs?: string[];\n dts?: Partial<IconTypesOptions> | false;\n};\n\nexport type LatticeViteOptions = {\n appRoot?: string;\n icons?: boolean | LatticeViteIconsOptions;\n root?: string;\n source?: boolean;\n /** Refresh generated TypeScript types via the dev server. Defaults to `true`. */\n typescript?: boolean;\n};\n\ntype Roots = {\n appRoot: string;\n root: string;\n};\n\nexport function lattice(options: LatticeViteOptions = {}): PluginOption[] {\n const { appRoot } = resolveRoots(options);\n const plugins: PluginOption[] = [\n corePlugin(options),\n optionalPeersPlugin(),\n componentPackagesPlugin(discoverComponentPackages(appRoot)),\n typescriptPlugin(options),\n ];\n const iconOptions = resolveIconOptions(options);\n\n if (iconOptions) {\n plugins.push(svgSprite(iconOptions));\n }\n\n return plugins;\n}\n\n/** A Composer package that contributes a Lattice component plugin. */\nexport type LatticeComponentPackage = {\n name: string;\n /** Absolute path to the package's installed directory. */\n dir: string;\n /** Absolute path to the package's JS plugin entry. */\n plugin: string;\n};\n\ntype InstalledPackage = {\n name: string;\n \"install-path\"?: string;\n extra?: { lattice?: { plugin?: string } };\n};\n\ntype RootPackageJson = {\n name?: string;\n extra?: { lattice?: { plugin?: string } };\n};\n\n/**\n * Resolve every Composer package that declares `extra.lattice.plugin` into an\n * absolute plugin-entry path. `installPathsRelativeTo` is `vendor/composer` (the\n * dir `installed.json` records its `install-path`s against).\n */\nexport function collectComponentPackages(\n installed: { packages?: InstalledPackage[] } | InstalledPackage[],\n installPathsRelativeTo: string,\n): LatticeComponentPackage[] {\n const packages = Array.isArray(installed) ? installed : (installed.packages ?? []);\n\n return packages.flatMap((pkg) => {\n const entry = pkg.extra?.lattice?.plugin;\n\n if (typeof entry !== \"string\") {\n return [];\n }\n\n const dir = path.resolve(installPathsRelativeTo, pkg[\"install-path\"] ?? `../${pkg.name}`);\n\n return [{ name: pkg.name, dir, plugin: path.resolve(dir, entry) }];\n });\n}\n\n/**\n * Resolve the composer ROOT project's own `extra.lattice.plugin` — Composer\n * never lists the root package in `installed.json`, so a component package\n * declaring the plugin entry in its own composer.json would otherwise be\n * invisible to its own dev server (e.g. inside a testbench workbench, where\n * the package itself is the app root).\n */\nexport function collectRootComponentPackage(\n composerJson: RootPackageJson,\n appRoot: string,\n): LatticeComponentPackage[] {\n const entry = composerJson.extra?.lattice?.plugin;\n\n if (typeof entry !== \"string\" || typeof composerJson.name !== \"string\") {\n return [];\n }\n\n return [{ name: composerJson.name, dir: appRoot, plugin: path.resolve(appRoot, entry) }];\n}\n\n/**\n * Read `<appRoot>/vendor/composer/installed.json` and `<appRoot>/composer.json`\n * and collect every component package they contribute.\n */\nexport function discoverComponentPackages(appRoot: string): LatticeComponentPackage[] {\n const composerDir = path.resolve(appRoot, \"vendor/composer\");\n\n let installed: LatticeComponentPackage[] = [];\n\n try {\n const raw = readFileSync(path.join(composerDir, \"installed.json\"), \"utf8\");\n installed = collectComponentPackages(JSON.parse(raw), composerDir);\n } catch {\n installed = [];\n }\n\n let root: LatticeComponentPackage[] = [];\n\n try {\n const raw = readFileSync(path.join(appRoot, \"composer.json\"), \"utf8\");\n root = collectRootComponentPackage(JSON.parse(raw), appRoot);\n } catch {\n root = [];\n }\n\n return [...installed, ...root];\n}\n\nconst VIRTUAL_PLUGINS_ID = \"virtual:lattice/plugins\";\nconst RESOLVED_VIRTUAL_PLUGINS_ID = `\\0${VIRTUAL_PLUGINS_ID}`;\n\n/**\n * Exposes the discovered component packages as `virtual:lattice/plugins` — a\n * module whose default export is the array of their plugin objects,\n * ready for `extendRegistry(registry, ...plugins)`. Also grants Vite filesystem\n * access to each package dir so its source compiles from `vendor/` (or a symlink).\n */\nexport function componentPackagesPlugin(packages: LatticeComponentPackage[]): Plugin {\n return {\n name: \"lattice:component-packages\",\n config(config) {\n if (packages.length === 0) {\n return {};\n }\n\n const workspaceRoot = searchForWorkspaceRoot(config.root ?? process.cwd());\n\n return { server: { fs: { allow: [workspaceRoot, ...packages.map((pkg) => pkg.dir)] } } };\n },\n resolveId(id) {\n return id === VIRTUAL_PLUGINS_ID ? RESOLVED_VIRTUAL_PLUGINS_ID : null;\n },\n load(id) {\n if (id !== RESOLVED_VIRTUAL_PLUGINS_ID) {\n return null;\n }\n\n const imports = packages\n .map((pkg, index) => `import p${index} from ${JSON.stringify(pkg.plugin)};`)\n .join(\"\\n\");\n const list = packages.map((_, index) => `p${index}`).join(\", \");\n\n return `${imports}\\nexport default [${list}];\\n`;\n },\n };\n}\n\nexport function latticeConfig(options: LatticeViteOptions = {}): ConfigWithTest {\n const { appRoot, root } = resolveRoots(options);\n\n return {\n resolve: {\n // A react alias would break SSR: Vite only externalizes bare specifiers,\n // so an absolute path inlines react's CJS into the SSR module runner.\n // `dedupe` alone keeps the app on a single React copy, symlinks included.\n ...(options.source\n ? {\n alias: {\n \"@lattice-php/lattice/css\": path.resolve(root, \"../ui/resources/css/lattice.css\"),\n \"@lattice-php/lattice\": path.resolve(root, \"resources/js\"),\n \"@lattice-php/core\": path.resolve(root, \"../core/resources/js\"),\n \"@lattice-php/form\": path.resolve(root, \"../form/resources/js\"),\n \"@lattice-php/table\": path.resolve(root, \"../table/resources/js\"),\n \"@lattice-php/ui/css\": path.resolve(root, \"../ui/resources/css/lattice.css\"),\n \"@lattice-php/ui\": path.resolve(root, \"../ui/resources/js\"),\n },\n }\n : {}),\n dedupe: [\"@inertiajs/react\", \"react\", \"react-dom\"],\n },\n server: options.source\n ? {\n fs: {\n allow: [searchForWorkspaceRoot(appRoot), root],\n },\n }\n : undefined,\n test: {\n server: {\n deps: {\n inline: [\n \"@lattice-php/lattice\",\n \"@lattice-php/core\",\n \"@lattice-php/form\",\n \"@lattice-php/table\",\n \"@lattice-php/ui\",\n /[/\\\\]lattice[/\\\\]dist[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]@radix-ui[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]@tiptap[/\\\\]/,\n /[/\\\\]lattice[/\\\\]node_modules[/\\\\]react-i18next[/\\\\]/,\n ],\n },\n },\n },\n };\n}\n\nfunction corePlugin(options: LatticeViteOptions): Plugin {\n return {\n name: \"lattice\",\n config() {\n return latticeConfig(options);\n },\n };\n}\n\nconst OPTIONAL_PEER_STUB_PREFIX = \"\\0lattice-optional-peer/\";\n\n/**\n * Real-time listeners statically import their optional Echo peers. A consumer\n * that never uses real-time should still build, so stub a missing peer with\n * hooks that throw — the `RealtimeListeners` error boundary then degrades\n * gracefully and warns to install the peer, exactly as when it is absent.\n */\nconst OPTIONAL_PEER_STUBS: Record<string, string> = {\n \"@laravel/echo-react\": [\n \"const missing = () => {\",\n \" throw new Error(\",\n ' \"[lattice] Real-time listeners require @laravel/echo-react. Install it and call configureEcho().\",',\n \" );\",\n \"};\",\n \"export const useEcho = missing;\",\n \"export const useEchoPublic = missing;\",\n \"export const useEchoPresence = missing;\",\n \"export const useEchoNotification = missing;\",\n ].join(\"\\n\"),\n};\n\nfunction optionalPeersPlugin(): Plugin {\n return {\n name: \"lattice:optional-peers\",\n enforce: \"pre\",\n async resolveId(id) {\n if (!Object.prototype.hasOwnProperty.call(OPTIONAL_PEER_STUBS, id)) {\n return null;\n }\n\n const installed = await this.resolve(id, undefined, { skipSelf: true });\n\n return installed ? null : `${OPTIONAL_PEER_STUB_PREFIX}${id}`;\n },\n load(id) {\n if (!id.startsWith(OPTIONAL_PEER_STUB_PREFIX)) {\n return null;\n }\n\n return OPTIONAL_PEER_STUBS[id.slice(OPTIONAL_PEER_STUB_PREFIX.length)] ?? null;\n },\n };\n}\n\n/**\n * Refreshes `node.props` typings from the app's own `php artisan\n * lattice:typescript` whenever the dev server starts — installing or updating\n * a component package would otherwise leave its generated types stale until\n * someone remembers to run the command by hand. Dev-server only: a production\n * build machine may not have PHP installed, and the generated file is a dev\n * ergonomics artifact, not a build input.\n *\n * Module-private like its siblings `optionalPeersPlugin`/`corePlugin` — the\n * `refreshTypeScriptTypes` DI seam it defers to lives in\n * `./vite-typescript-refresh`, which isn't part of the published `vite`\n * subpath either (see that module for why).\n */\nfunction typescriptPlugin(options: LatticeViteOptions): Plugin {\n return {\n name: \"lattice:typescript\",\n apply: \"serve\",\n configureServer(server) {\n const typescript = options.typescript ?? true;\n\n if (typescript === false) {\n return;\n }\n\n const { appRoot } = resolveRoots(options);\n\n refreshTypeScriptTypes(appRoot, server.config.logger);\n },\n };\n}\n\nexport function resolveIconOptions(options: LatticeViteOptions): SvgSpriteOptions | null {\n const icons = options.icons ?? true;\n\n if (icons === false) {\n return null;\n }\n\n const { root } = resolveRoots(options);\n const iconOptions = icons === true ? {} : icons;\n const { dirs = [], dts, ...spriteOptions } = iconOptions;\n const defaultTypes = {\n file: \"resources/js/types/sprite-icons.ts\",\n augmentModule: \"@lattice-php/ui\",\n augmentInterface: \"KnownIcons\",\n };\n\n return {\n ...spriteOptions,\n iconDirs: [path.resolve(root, \"../ui/resources/icons\"), ...dirs],\n ...(dts === false ? {} : { dts: { ...defaultTypes, ...dts } }),\n };\n}\n\nfunction resolveRoots(options: LatticeViteOptions): Roots {\n const appRoot = options.appRoot ?? process.cwd();\n const root = options.root ?? path.resolve(appRoot, \"vendor/lattice-php/lattice\");\n\n return { appRoot, root };\n}\n"],"mappings":"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"}