@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment.js","names":[],"sources":["../../resources/js/fragments/fragment.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { apiJson } from \"@lattice-php/core/api\";\nimport { Skeleton } from \"@lattice-php/ui/skeleton\";\nimport { Renderer } from \"@lattice-php/core/renderer\";\nimport type { RendererComponent } from \"@lattice-php/core/types\";\nimport type { FragmentResponse } from \"@lattice-php/lattice/types/generated\";\nimport { toNodes } from \"@lattice-php/core/nodes\";\nimport { LATTICE_EVENT, type ReloadComponentEvent } from \"@lattice-php/core/event-names\";\n\nconst fragmentSizeHeights = {\n lg: 320,\n md: 64,\n sm: 40,\n xl: 384,\n xs: 32,\n \"2xl\": 448,\n \"3xl\": 512,\n \"4xl\": 576,\n} as const;\n\nconst FragmentComponent: RendererComponent<\"fragment\"> = ({ node }) => {\n const endpoint = node.props.endpoint ?? \"\";\n const isLazy = node.props.lazy === true;\n const componentRef = node.props.ref ?? \"\";\n const placeholderHeight = fragmentSizeHeights[node.props.size];\n const [components, setComponents] = useState(() => node.schema ?? []);\n const [hasLoaded, setHasLoaded] = useState(!isLazy);\n const [processing, setProcessing] = useState(isLazy && endpoint !== \"\");\n\n const load = useCallback(async (): Promise<void> => {\n if (!endpoint) {\n return;\n }\n\n setProcessing(true);\n\n try {\n const result = await apiJson<FragmentResponse>(endpoint, { ref: componentRef });\n\n setComponents(toNodes(result.schema));\n setHasLoaded(true);\n } finally {\n setProcessing(false);\n }\n }, [endpoint, componentRef]);\n\n useEffect(() => {\n if (!isLazy || hasLoaded) {\n return;\n }\n\n void load();\n }, [hasLoaded, isLazy, load]);\n\n useEffect(() => {\n function reload(event: Event): void {\n const detail = (event as ReloadComponentEvent).detail;\n\n if (detail?.component !== node.id) {\n return;\n }\n\n void load();\n }\n\n window.addEventListener(LATTICE_EVENT.reloadComponent, reload);\n\n return () => window.removeEventListener(LATTICE_EVENT.reloadComponent, reload);\n }, [load, node.id]);\n\n useEffect(() => {\n function reloadOnLocaleChange(): void {\n if (!hasLoaded) {\n return;\n }\n\n void load();\n }\n\n window.addEventListener(LATTICE_EVENT.localeChange, reloadOnLocaleChange);\n\n return () => window.removeEventListener(LATTICE_EVENT.localeChange, reloadOnLocaleChange);\n }, [hasLoaded, load]);\n\n return (\n <div\n data-lattice-fragment={node.id}\n style={processing && components.length === 0 ? { minHeight: placeholderHeight } : undefined}\n >\n {processing && components.length === 0 ? (\n <Skeleton className=\"w-full\" style={{ height: placeholderHeight }} />\n ) : (\n <Renderer nodes={components} />\n )}\n </div>\n );\n};\n\nexport default FragmentComponent;\n"],"mappings":";;;;;;;;AASA,IAAM,sBAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,OAAO;AACT;AAEA,IAAM,qBAAoD,EAAE,WAAW;CACrE,MAAM,WAAW,KAAK,MAAM,YAAY;CACxC,MAAM,SAAS,KAAK,MAAM,SAAS;CACnC,MAAM,eAAe,KAAK,MAAM,OAAO;CACvC,MAAM,oBAAoB,oBAAoB,KAAK,MAAM;CACzD,MAAM,CAAC,YAAY,iBAAiB,eAAe,KAAK,UAAU,CAAC,CAAC;CACpE,MAAM,CAAC,WAAW,gBAAgB,SAAS,CAAC,MAAM;CAClD,MAAM,CAAC,YAAY,iBAAiB,SAAS,UAAU,aAAa,EAAE;CAEtE,MAAM,OAAO,YAAY,YAA2B;EAClD,IAAI,CAAC,UACH;EAGF,cAAc,IAAI;EAElB,IAAI;GACF,MAAM,SAAS,MAAM,QAA0B,UAAU,EAAE,KAAK,aAAa,CAAC;GAE9E,cAAc,QAAQ,OAAO,MAAM,CAAC;GACpC,aAAa,IAAI;EACnB,UAAU;GACR,cAAc,KAAK;EACrB;CACF,GAAG,CAAC,UAAU,YAAY,CAAC;CAE3B,gBAAgB;EACd,IAAI,CAAC,UAAU,WACb;EAGF,KAAU;CACZ,GAAG;EAAC;EAAW;EAAQ;CAAI,CAAC;CAE5B,gBAAgB;EACd,SAAS,OAAO,OAAoB;GAGlC,IAFgB,MAA+B,QAEnC,cAAc,KAAK,IAC7B;GAGF,KAAU;EACZ;EAEA,OAAO,iBAAiB,cAAc,iBAAiB,MAAM;EAE7D,aAAa,OAAO,oBAAoB,cAAc,iBAAiB,MAAM;CAC/E,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC;CAElB,gBAAgB;EACd,SAAS,uBAA6B;GACpC,IAAI,CAAC,WACH;GAGF,KAAU;EACZ;EAEA,OAAO,iBAAiB,cAAc,cAAc,oBAAoB;EAExE,aAAa,OAAO,oBAAoB,cAAc,cAAc,oBAAoB;CAC1F,GAAG,CAAC,WAAW,IAAI,CAAC;CAEpB,OACE,oBAAC,OAAD;EACE,yBAAuB,KAAK;EAC5B,OAAO,cAAc,WAAW,WAAW,IAAI,EAAE,WAAW,kBAAkB,IAAI,KAAA;EAEjF,UAAA,cAAc,WAAW,WAAW,IACnC,oBAAC,UAAD;GAAU,WAAU;GAAS,OAAO,EAAE,QAAQ,kBAAkB;EAAI,CAAA,IAEpE,oBAAC,UAAD,EAAU,OAAO,WAAa,CAAA;CAE7B,CAAA;AAET"}
@@ -0,0 +1,2 @@
1
+ import { Plugin } from '@lattice-php/core/registry';
2
+ export declare const fragmentComponents: Plugin;
@@ -0,0 +1,11 @@
1
+ import FragmentComponent from "./fragment.js";
2
+ import { eagerComponent } from "@lattice-php/core/registry";
3
+ //#region resources/js/fragments/plugin.ts
4
+ var fragmentComponents = {
5
+ components: { fragment: eagerComponent(FragmentComponent) },
6
+ name: "lattice/fragments"
7
+ };
8
+ //#endregion
9
+ export { fragmentComponents };
10
+
11
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../../resources/js/fragments/plugin.ts"],"sourcesContent":["import { eagerComponent, type ComponentRegistryFor, type Plugin } from \"@lattice-php/core/registry\";\nimport type { FragmentNodeType } from \"@lattice-php/lattice/types/generated\";\nimport FragmentComponent from \"./fragment\";\n\nexport const fragmentComponents: Plugin = {\n components: {\n fragment: eagerComponent(FragmentComponent),\n } satisfies ComponentRegistryFor<FragmentNodeType>,\n name: \"lattice/fragments\",\n};\n"],"mappings":";;;AAIA,IAAa,qBAA6B;CACxC,YAAY,EACV,UAAU,eAAe,iBAAiB,EAC5C;CACA,MAAM;AACR"}
package/dist/index.d.ts CHANGED
@@ -1,39 +1,38 @@
1
1
  export { registry } from './registry.js';
2
2
  export { useChat } from './chat/hooks/use-chat.js';
3
3
  export { chatComponents } from './chat/plugin.js';
4
- export { getActionEffects, isActionEffect, dispatchEffects, dispatchActionError, } from './effects/dispatch.js';
5
- export { useEffectDispatcher } from './effects/use-effect-dispatcher.js';
6
- export { builtinEffectHandlers, effectHandler, mergeEffectHandlers } from './effects/registry.js';
7
- export { registerRichEditorExtension } from './form/rich-editor/registry.js';
4
+ export { getActionEffects, isActionEffect, dispatchEffects, dispatchActionError, } from '@lattice-php/ui/effects/dispatch';
5
+ export { useEffectDispatcher } from '@lattice-php/ui/effects/use-effect-dispatcher';
6
+ export { builtinEffectHandlers, effectHandler, mergeEffectHandlers, } from '@lattice-php/ui/effects/registry';
8
7
  export { initializeAppearance, updateAppearance, useAppearance } from './appearance/index.js';
9
- export { copyToClipboard } from './ui/copyable-text.js';
8
+ export { copyToClipboard } from '@lattice-php/ui/copyable-text';
10
9
  export { createLatticeApp, type CreateLatticeAppI18nOptions, type CreateLatticeAppOptions, } from './create-app.js';
11
10
  export { EventBridge } from './event-bridge.js';
12
- export { Icon, IconRenderer, IconRendererProvider, SpriteProvider } from './icons/index.js';
11
+ export { Icon, IconRenderer, IconRendererProvider, SpriteProvider } from '@lattice-php/ui/icons';
13
12
  export { createLayoutResolver, createPageResolver, pageComponentName, withVisitHeaders, } from './inertia.js';
14
13
  export { Callouts, layoutComponents, OutletContext, SchemaLayout, SidebarCollapsedContext, useSidebarCollapsed, } from './layout/index.js';
15
14
  export { Provider, useColumnRegistry, useComponentRegistry } from './provider.js';
16
15
  export { onCallout, onToast, Toaster } from './toast/index.js';
17
- export { createPlugin, createRegistry, eagerComponent, extendRegistry, lazyComponent, } from './core/registry.js';
18
- export type { Plugin, Registry } from './core/registry.js';
16
+ export { createRegistry, eagerComponent, extendRegistry, lazyComponent, loadPluginModules, } from '@lattice-php/core/registry';
17
+ export type { Plugin, Registry } from '@lattice-php/core/registry';
19
18
  export type { UseChatOptions } from './chat/hooks/use-chat.js';
20
19
  export type { ChatFrame, ChatMessage, ChatRole, ChatStatus, ChatTransport, ChatTransportRequest, UseChatReturn, } from './chat/types.js';
21
- export { Renderer } from './core/renderer.js';
22
- export { LATTICE_REF_HEADER, withRefHeader } from './core/component-ref.js';
23
- export { withHeaders } from './core/headers.js';
24
- export { LATTICE_EVENT } from './core/event-names.js';
25
- export type { Emphasis } from './ui/button.js';
26
- export type { ReloadComponentEvent } from './core/event-names.js';
27
- export type { ComponentProps, KnownPageContainer, LayoutPayload, Node, NodeProps, NodeType, PageContainer, PageBreadcrumb, PagePayload, ComponentPropsOf, RendererComponent, RendererComponentModule, RendererComponentProps, Schema, UnknownComponent, } from './core/types.js';
20
+ export { Renderer } from '@lattice-php/core/renderer';
21
+ export { LATTICE_REF_HEADER, withRefHeader } from '@lattice-php/core/component-ref';
22
+ export { withHeaders } from '@lattice-php/core/headers';
23
+ export { LATTICE_EVENT } from '@lattice-php/core/event-names';
24
+ export type { Emphasis } from '@lattice-php/ui/button';
25
+ export type { ReloadComponentEvent } from '@lattice-php/core/event-names';
26
+ export type { ComponentProps, KnownPageContainer, LayoutPayload, Node, NodeProps, NodeType, PageContainer, PageBreadcrumb, PagePayload, ComponentPropsOf, RendererComponent, RendererComponentModule, RendererComponentProps, Schema, UnknownComponent, } from './types/index.js';
28
27
  export { RealtimeListeners } from './realtime/listeners.js';
29
28
  export type { ChannelVisibility, DateFormat, Listen, NumberFormat } from './types/generated.js';
30
- export { columnCell } from './table/registry.js';
31
- export type { ColumnCellArgs, ColumnCellComponent, ColumnRegistry } from './table/registry.js';
32
- export type { ColumnNode, ColumnProps, ColumnPropsOf, FilterNode, FilterProps, FilterPropsOf, } from './table/types.js';
29
+ export { columnCell } from '@lattice-php/table/registry';
30
+ export type { ColumnCellArgs, ColumnCellComponent, ColumnRegistry, } from '@lattice-php/table/registry';
31
+ export type { ColumnNode, ColumnProps, ColumnPropsOf, FilterNode, FilterProps, FilterPropsOf, } from '@lattice-php/table/types';
33
32
  export type { Method } from '@inertiajs/core';
34
- export type { ActionEffect, ActionResponse } from './effects/dispatch.js';
35
- export type { EffectHandler, EffectHandlerRegistry, EffectOf, EffectProps, EffectPropsOf, } from './effects/registry.js';
36
- export type { EditorExtensionPayloadOf, EditorExtensionProps, RichEditorExtensionDefinition, ToolbarButton, ToolbarControl, ToolbarItem, } from './form/rich-editor/registry.js';
33
+ export type { ActionEffect, ActionResponse } from '@lattice-php/ui/effects/dispatch';
34
+ export type { EffectHandler, EffectHandlerRegistry, EffectOf, EffectProps, EffectPropsOf, } from '@lattice-php/ui/effects/registry';
35
+ export type { EditorExtensionPayloadOf, EditorExtensionProps, RichEditorExtensionDefinition, ToolbarButton, ToolbarControl, ToolbarItem, } from '@lattice-php/form/rich-editor/registry';
37
36
  export type { Appearance, ResolvedAppearance, UseAppearanceReturn } from './appearance/index.js';
38
37
  export type { Callout, ToastMessage, Variant } from './toast/index.js';
39
- export type { IconName, IconRendererFunction, IconRendererProps, KnownIcons, SpriteValue, } from './icons/index.js';
38
+ export type { IconName, IconRendererFunction, IconRendererProps, KnownIcons, SpriteValue, } from '@lattice-php/ui/icons';
package/dist/index.js CHANGED
@@ -1,21 +1,9 @@
1
1
  import { initializeAppearance, updateAppearance, useAppearance } from "./appearance/index.js";
2
- import { LATTICE_REF_HEADER, withRefHeader } from "./core/component-ref.js";
3
- import { LATTICE_EVENT } from "./core/event-names.js";
4
- import { withHeaders } from "./core/headers.js";
5
- import { createPlugin, createRegistry, eagerComponent, extendRegistry, lazyComponent } from "./core/registry.js";
6
- import { useColumnRegistry, useComponentRegistry } from "./core/registry-context.js";
7
- import { Icon, SpriteProvider } from "./icons/sprite.js";
8
- import { IconRenderer, IconRendererProvider } from "./icons/icon-renderer.js";
9
- import { CollapsedContext, useCollapsed } from "./core/collapsed-context.js";
10
- import { Renderer } from "./core/renderer.js";
11
2
  import { onToast } from "./toast/toast.js";
12
3
  import { onCallout } from "./toast/callout.js";
13
4
  import { Toaster } from "./toast/toaster.js";
14
5
  import Callouts from "./layout/components/callouts.js";
15
- import { builtinEffectHandlers, effectHandler, mergeEffectHandlers } from "./effects/registry.js";
16
- import { dispatchActionError, dispatchEffects, getActionEffects, isActionEffect } from "./effects/dispatch.js";
17
- import { useEffectDispatcher } from "./effects/use-effect-dispatcher.js";
18
- import { OutletContext } from "./layout/hooks/context.js";
6
+ import { OutletContext, SidebarCollapsedContext, useSidebarCollapsed } from "./layout/hooks/context.js";
19
7
  import { layoutComponents } from "./layout/plugin.js";
20
8
  import SchemaLayout from "./layout/components/schema-layout.js";
21
9
  import { RealtimeListeners } from "./realtime/listeners.js";
@@ -23,10 +11,18 @@ import { createLayoutResolver, createPageResolver, pageComponentName, withVisitH
23
11
  import { EventBridge } from "./event-bridge.js";
24
12
  import { useChat } from "./chat/hooks/use-chat.js";
25
13
  import { chatComponents } from "./chat/plugin.js";
26
- import { copyToClipboard } from "./ui/copyable-text.js";
27
- import { columnCell } from "./table/registry.js";
28
14
  import { registry } from "./registry.js";
29
15
  import { createLatticeApp } from "./create-app.js";
30
- import { registerRichEditorExtension } from "./form/rich-editor/registry.js";
31
- import { Provider } from "./provider.js";
32
- export { Callouts, EventBridge, Icon, IconRenderer, IconRendererProvider, LATTICE_EVENT, LATTICE_REF_HEADER, OutletContext, Provider, RealtimeListeners, Renderer, SchemaLayout, CollapsedContext as SidebarCollapsedContext, SpriteProvider, Toaster, builtinEffectHandlers, chatComponents, columnCell, copyToClipboard, createLatticeApp, createLayoutResolver, createPageResolver, createPlugin, createRegistry, dispatchActionError, dispatchEffects, eagerComponent, effectHandler, extendRegistry, getActionEffects, initializeAppearance, isActionEffect, layoutComponents, lazyComponent, mergeEffectHandlers, onCallout, onToast, pageComponentName, registerRichEditorExtension, registry, updateAppearance, useAppearance, useChat, useColumnRegistry, useComponentRegistry, useEffectDispatcher, useCollapsed as useSidebarCollapsed, withHeaders, withRefHeader, withVisitHeaders };
16
+ import { Provider, useColumnRegistry, useComponentRegistry } from "./provider.js";
17
+ import { withHeaders } from "@lattice-php/core/headers";
18
+ import { createRegistry, eagerComponent, extendRegistry, lazyComponent, loadPluginModules } from "@lattice-php/core/registry";
19
+ import { LATTICE_REF_HEADER, withRefHeader } from "@lattice-php/core/component-ref";
20
+ import { Icon, IconRenderer, IconRendererProvider, SpriteProvider } from "@lattice-php/ui/icons";
21
+ import { Renderer } from "@lattice-php/core/renderer";
22
+ import { LATTICE_EVENT } from "@lattice-php/core/event-names";
23
+ import { useEffectDispatcher } from "@lattice-php/ui/effects/use-effect-dispatcher";
24
+ import { dispatchActionError, dispatchEffects, getActionEffects, isActionEffect } from "@lattice-php/ui/effects/dispatch";
25
+ import { builtinEffectHandlers, effectHandler, mergeEffectHandlers } from "@lattice-php/ui/effects/registry";
26
+ import { copyToClipboard } from "@lattice-php/ui/copyable-text";
27
+ import { columnCell } from "@lattice-php/table/registry";
28
+ export { Callouts, EventBridge, Icon, IconRenderer, IconRendererProvider, LATTICE_EVENT, LATTICE_REF_HEADER, OutletContext, Provider, RealtimeListeners, Renderer, SchemaLayout, SidebarCollapsedContext, SpriteProvider, Toaster, builtinEffectHandlers, chatComponents, columnCell, copyToClipboard, createLatticeApp, createLayoutResolver, createPageResolver, createRegistry, dispatchActionError, dispatchEffects, eagerComponent, effectHandler, extendRegistry, getActionEffects, initializeAppearance, isActionEffect, layoutComponents, lazyComponent, loadPluginModules, mergeEffectHandlers, onCallout, onToast, pageComponentName, registry, updateAppearance, useAppearance, useChat, useColumnRegistry, useComponentRegistry, useEffectDispatcher, useSidebarCollapsed, withHeaders, withRefHeader, withVisitHeaders };
package/dist/inertia.js CHANGED
@@ -1,8 +1,8 @@
1
- import { LATTICE_REF_HEADER, latestRef } from "./core/component-ref.js";
2
- import { withHeaders } from "./core/headers.js";
3
1
  import SchemaLayout from "./layout/components/schema-layout.js";
4
2
  import Page from "./page.js";
5
3
  import { http } from "@inertiajs/react";
4
+ import { withHeaders } from "@lattice-php/core/headers";
5
+ import { LATTICE_REF_HEADER, latestRef } from "@lattice-php/core/component-ref";
6
6
  //#region resources/js/inertia.ts
7
7
  var pageComponentName = "lattice/page";
8
8
  function createPageResolver(pages) {
@@ -1 +1 @@
1
- {"version":3,"file":"inertia.js","names":[],"sources":["../resources/js/inertia.ts"],"sourcesContent":["import type { Page as InertiaPage, VisitOptions } from \"@inertiajs/core\";\nimport { http, type ResolvedComponent } from \"@inertiajs/react\";\nimport { LATTICE_REF_HEADER, latestRef } from \"./core/component-ref\";\nimport { withHeaders } from \"./core/headers\";\nimport { SchemaLayout } from \"./layout\";\nimport Page from \"./page\";\nimport type { PagePayload } from \"./core/types\";\n\nexport const pageComponentName = \"lattice/page\";\n\nexport type ResolvedPage =\n | ResolvedComponent\n | Promise<ResolvedComponent>\n | { default: ResolvedComponent };\nexport type PageModules = Record<string, () => Promise<ResolvedComponent>>;\n\nexport type CreateLayoutResolverOptions = {\n defaultLayout?: (name: string, page: InertiaPage) => unknown;\n};\n\nexport function createPageResolver(pages: PageModules) {\n return (name: string): ResolvedPage => {\n if (name === pageComponentName) {\n return { default: Page };\n }\n\n const resolvedPage = pages[`./Pages/${name}.tsx`] ?? pages[`./pages/${name}.tsx`];\n\n if (resolvedPage) {\n return resolvedPage();\n }\n\n throw new Error(`Page not found: ${name}`);\n };\n}\n\nexport function createLayoutResolver({ defaultLayout }: CreateLayoutResolverOptions = {}) {\n return (name: string, page: InertiaPage): unknown => {\n if (name === pageComponentName) {\n const lattice = page.props.lattice as PagePayload | undefined;\n\n return lattice?.layout ? SchemaLayout : null;\n }\n\n return defaultLayout?.(name, page) ?? null;\n };\n}\n\nexport function withVisitHeaders(_href: string, options: VisitOptions): VisitOptions {\n return {\n ...options,\n headers: withHeaders(\"\", options.headers),\n };\n}\n\nlet refRenewalRegistered = false;\n\n/**\n * Resolve the outgoing X-Lattice-Ref header through the renewed-token map at\n * request time. Component props bake the originally sealed ref into headers at\n * render time, so without this rewrite an Inertia request fired between a\n * renewal and the next re-render would still carry the expired token.\n */\nexport function registerRefRenewal(): void {\n if (refRenewalRegistered) {\n return;\n }\n\n refRenewalRegistered = true;\n\n http.onRequest((config) => {\n const sealed = config.headers?.[LATTICE_REF_HEADER];\n\n if (config.headers && typeof sealed === \"string\" && sealed !== \"\") {\n config.headers[LATTICE_REF_HEADER] = latestRef(sealed);\n }\n\n return config;\n });\n}\n"],"mappings":";;;;;;AAQA,IAAa,oBAAoB;AAYjC,SAAgB,mBAAmB,OAAoB;CACrD,QAAQ,SAA+B;EACrC,IAAI,SAAA,gBACF,OAAO,EAAE,SAAS,KAAK;EAGzB,MAAM,eAAe,MAAM,WAAW,KAAK,UAAU,MAAM,WAAW,KAAK;EAE3E,IAAI,cACF,OAAO,aAAa;EAGtB,MAAM,IAAI,MAAM,mBAAmB,MAAM;CAC3C;AACF;AAEA,SAAgB,qBAAqB,EAAE,kBAA+C,CAAC,GAAG;CACxF,QAAQ,MAAc,SAA+B;EACnD,IAAI,SAAA,gBAGF,OAFgB,KAAK,MAAM,SAEX,SAAS,eAAe;EAG1C,OAAO,gBAAgB,MAAM,IAAI,KAAK;CACxC;AACF;AAEA,SAAgB,iBAAiB,OAAe,SAAqC;CACnF,OAAO;EACL,GAAG;EACH,SAAS,YAAY,IAAI,QAAQ,OAAO;CAC1C;AACF;AAEA,IAAI,uBAAuB;;;;;;;AAQ3B,SAAgB,qBAA2B;CACzC,IAAI,sBACF;CAGF,uBAAuB;CAEvB,KAAK,WAAW,WAAW;EACzB,MAAM,SAAS,OAAO,UAAU;EAEhC,IAAI,OAAO,WAAW,OAAO,WAAW,YAAY,WAAW,IAC7D,OAAO,QAAQ,sBAAsB,UAAU,MAAM;EAGvD,OAAO;CACT,CAAC;AACH"}
1
+ {"version":3,"file":"inertia.js","names":[],"sources":["../resources/js/inertia.ts"],"sourcesContent":["import type { Page as InertiaPage, VisitOptions } from \"@inertiajs/core\";\nimport { http, type ResolvedComponent } from \"@inertiajs/react\";\nimport { LATTICE_REF_HEADER, latestRef } from \"@lattice-php/core/component-ref\";\nimport { withHeaders } from \"@lattice-php/core/headers\";\nimport { SchemaLayout } from \"./layout\";\nimport Page from \"./page\";\nimport type { PagePayload } from \"./types\";\n\nexport const pageComponentName = \"lattice/page\";\n\nexport type ResolvedPage =\n | ResolvedComponent\n | Promise<ResolvedComponent>\n | { default: ResolvedComponent };\nexport type PageModules = Record<string, () => Promise<ResolvedComponent>>;\n\nexport type CreateLayoutResolverOptions = {\n defaultLayout?: (name: string, page: InertiaPage) => unknown;\n};\n\nexport function createPageResolver(pages: PageModules) {\n return (name: string): ResolvedPage => {\n if (name === pageComponentName) {\n return { default: Page };\n }\n\n const resolvedPage = pages[`./Pages/${name}.tsx`] ?? pages[`./pages/${name}.tsx`];\n\n if (resolvedPage) {\n return resolvedPage();\n }\n\n throw new Error(`Page not found: ${name}`);\n };\n}\n\nexport function createLayoutResolver({ defaultLayout }: CreateLayoutResolverOptions = {}) {\n return (name: string, page: InertiaPage): unknown => {\n if (name === pageComponentName) {\n const lattice = page.props.lattice as PagePayload | undefined;\n\n return lattice?.layout ? SchemaLayout : null;\n }\n\n return defaultLayout?.(name, page) ?? null;\n };\n}\n\nexport function withVisitHeaders(_href: string, options: VisitOptions): VisitOptions {\n return {\n ...options,\n headers: withHeaders(\"\", options.headers),\n };\n}\n\nlet refRenewalRegistered = false;\n\n/**\n * Resolve the outgoing X-Lattice-Ref header through the renewed-token map at\n * request time. Component props bake the originally sealed ref into headers at\n * render time, so without this rewrite an Inertia request fired between a\n * renewal and the next re-render would still carry the expired token.\n */\nexport function registerRefRenewal(): void {\n if (refRenewalRegistered) {\n return;\n }\n\n refRenewalRegistered = true;\n\n http.onRequest((config) => {\n const sealed = config.headers?.[LATTICE_REF_HEADER];\n\n if (config.headers && typeof sealed === \"string\" && sealed !== \"\") {\n config.headers[LATTICE_REF_HEADER] = latestRef(sealed);\n }\n\n return config;\n });\n}\n"],"mappings":";;;;;;AAQA,IAAa,oBAAoB;AAYjC,SAAgB,mBAAmB,OAAoB;CACrD,QAAQ,SAA+B;EACrC,IAAI,SAAA,gBACF,OAAO,EAAE,SAAS,KAAK;EAGzB,MAAM,eAAe,MAAM,WAAW,KAAK,UAAU,MAAM,WAAW,KAAK;EAE3E,IAAI,cACF,OAAO,aAAa;EAGtB,MAAM,IAAI,MAAM,mBAAmB,MAAM;CAC3C;AACF;AAEA,SAAgB,qBAAqB,EAAE,kBAA+C,CAAC,GAAG;CACxF,QAAQ,MAAc,SAA+B;EACnD,IAAI,SAAA,gBAGF,OAFgB,KAAK,MAAM,SAEX,SAAS,eAAe;EAG1C,OAAO,gBAAgB,MAAM,IAAI,KAAK;CACxC;AACF;AAEA,SAAgB,iBAAiB,OAAe,SAAqC;CACnF,OAAO;EACL,GAAG;EACH,SAAS,YAAY,IAAI,QAAQ,OAAO;CAC1C;AACF;AAEA,IAAI,uBAAuB;;;;;;;AAQ3B,SAAgB,qBAA2B;CACzC,IAAI,sBACF;CAGF,uBAAuB;CAEvB,KAAK,WAAW,WAAW;EACzB,MAAM,SAAS,OAAO,UAAU;EAEhC,IAAI,OAAO,WAAW,OAAO,WAAW,YAAY,WAAW,IAC7D,OAAO,QAAQ,sBAAsB,UAAU,MAAM;EAGvD,OAAO;CACT,CAAC;AACH"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const BreadcrumbsComponent: RendererComponent<"breadcrumbs">;
3
3
  export default BreadcrumbsComponent;
@@ -1,8 +1,8 @@
1
- import { useT } from "../../i18n/instance.js";
2
- import { nodeIdentity } from "../../core/test-id.js";
3
1
  import { Link, usePage } from "@inertiajs/react";
4
2
  import { Fragment } from "react";
3
+ import { useT } from "@lattice-php/ui/i18n";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { nodeIdentity } from "@lattice-php/core/test-id";
6
6
  //#region resources/js/layout/components/breadcrumbs.tsx
7
7
  var BreadcrumbsComponent = ({ node }) => {
8
8
  const { t } = useT("lattice");
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.js","names":[],"sources":["../../../resources/js/layout/components/breadcrumbs.tsx"],"sourcesContent":["import { Link, usePage } from \"@inertiajs/react\";\nimport { Fragment } from \"react\";\nimport type { PagePayload, RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { nodeIdentity } from \"@lattice-php/lattice/core/test-id\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\n\nconst BreadcrumbsComponent: RendererComponent<\"breadcrumbs\"> = ({ node }) => {\n const { t } = useT(\"lattice\");\n const page = usePage();\n const crumbs = (page.props.lattice as PagePayload | undefined)?.breadcrumbs ?? [];\n\n if (crumbs.length === 0) {\n return null;\n }\n\n return (\n <nav\n aria-label={t(\"common.breadcrumb\", \"Breadcrumb\")}\n data-lattice-component={nodeIdentity(node)}\n >\n <ol className=\"flex items-center gap-2 text-sm text-lt-muted-fg\">\n {crumbs.map((crumb, index) => {\n const isLast = index === crumbs.length - 1;\n\n return (\n <Fragment key={crumb.href}>\n <li>\n {isLast ? (\n <span aria-current=\"page\" className=\"text-lt-fg\">\n {crumb.title}\n </span>\n ) : (\n <Link className=\"hover:text-lt-fg\" href={crumb.href}>\n {crumb.title}\n </Link>\n )}\n </li>\n {isLast ? null : <li aria-hidden=\"true\">/</li>}\n </Fragment>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nexport default BreadcrumbsComponent;\n"],"mappings":";;;;;;AAMA,IAAM,wBAA0D,EAAE,WAAW;CAC3E,MAAM,EAAE,MAAM,KAAK,SAAS;CAE5B,MAAM,SADO,QACG,CAAA,CAAK,MAAM,SAAqC,eAAe,CAAC;CAEhF,IAAI,OAAO,WAAW,GACpB,OAAO;CAGT,OACE,oBAAC,OAAD;EACE,cAAY,EAAE,qBAAqB,YAAY;EAC/C,0BAAwB,aAAa,IAAI;EAEzC,UAAA,oBAAC,MAAD;GAAI,WAAU;GACX,UAAA,OAAO,KAAK,OAAO,UAAU;IAC5B,MAAM,SAAS,UAAU,OAAO,SAAS;IAEzC,OACE,qBAAC,UAAD,EAAA,UAAA,CACE,oBAAC,MAAD,EAAA,UACG,SACC,oBAAC,QAAD;KAAM,gBAAa;KAAO,WAAU;KACjC,UAAA,MAAM;IACH,CAAA,IAEN,oBAAC,MAAD;KAAM,WAAU;KAAmB,MAAM,MAAM;KAC5C,UAAA,MAAM;IACH,CAAA,EAEN,CAAA,GACH,SAAS,OAAO,oBAAC,MAAD;KAAI,eAAY;KAAO,UAAA;IAAK,CAAA,CACrC,EAAA,GAbK,MAAM,IAaX;GAEd,CAAC;EACC,CAAA;CACD,CAAA;AAET"}
1
+ {"version":3,"file":"breadcrumbs.js","names":[],"sources":["../../../resources/js/layout/components/breadcrumbs.tsx"],"sourcesContent":["import { Link, usePage } from \"@inertiajs/react\";\nimport { Fragment } from \"react\";\nimport type { RendererComponent } from \"@lattice-php/core/types\";\nimport type { PagePayload } from \"@lattice-php/lattice/types\";\nimport { nodeIdentity } from \"@lattice-php/core/test-id\";\nimport { useT } from \"@lattice-php/ui/i18n\";\n\nconst BreadcrumbsComponent: RendererComponent<\"breadcrumbs\"> = ({ node }) => {\n const { t } = useT(\"lattice\");\n const page = usePage();\n const crumbs = (page.props.lattice as PagePayload | undefined)?.breadcrumbs ?? [];\n\n if (crumbs.length === 0) {\n return null;\n }\n\n return (\n <nav\n aria-label={t(\"common.breadcrumb\", \"Breadcrumb\")}\n data-lattice-component={nodeIdentity(node)}\n >\n <ol className=\"flex items-center gap-2 text-sm text-lt-muted-fg\">\n {crumbs.map((crumb, index) => {\n const isLast = index === crumbs.length - 1;\n\n return (\n <Fragment key={crumb.href}>\n <li>\n {isLast ? (\n <span aria-current=\"page\" className=\"text-lt-fg\">\n {crumb.title}\n </span>\n ) : (\n <Link className=\"hover:text-lt-fg\" href={crumb.href}>\n {crumb.title}\n </Link>\n )}\n </li>\n {isLast ? null : <li aria-hidden=\"true\">/</li>}\n </Fragment>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nexport default BreadcrumbsComponent;\n"],"mappings":";;;;;;AAOA,IAAM,wBAA0D,EAAE,WAAW;CAC3E,MAAM,EAAE,MAAM,KAAK,SAAS;CAE5B,MAAM,SADO,QACG,CAAA,CAAK,MAAM,SAAqC,eAAe,CAAC;CAEhF,IAAI,OAAO,WAAW,GACpB,OAAO;CAGT,OACE,oBAAC,OAAD;EACE,cAAY,EAAE,qBAAqB,YAAY;EAC/C,0BAAwB,aAAa,IAAI;EAEzC,UAAA,oBAAC,MAAD;GAAI,WAAU;GACX,UAAA,OAAO,KAAK,OAAO,UAAU;IAC5B,MAAM,SAAS,UAAU,OAAO,SAAS;IAEzC,OACE,qBAAC,UAAD,EAAA,UAAA,CACE,oBAAC,MAAD,EAAA,UACG,SACC,oBAAC,QAAD;KAAM,gBAAa;KAAO,WAAU;KACjC,UAAA,MAAM;IACH,CAAA,IAEN,oBAAC,MAAD;KAAM,WAAU;KAAmB,MAAM,MAAM;KAC5C,UAAA,MAAM;IACH,CAAA,EAEN,CAAA,GACH,SAAS,OAAO,oBAAC,MAAD;KAAI,eAAY;KAAO,UAAA;IAAK,CAAA,CACrC,EAAA,GAbK,MAAM,IAaX;GAEd,CAAC;EACC,CAAA;CACD,CAAA;AAET"}
@@ -1,4 +1,4 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  /**
3
3
  * Renders callouts emitted on the bus. A keyed callout is a projection of
4
4
  * server state: it replaces any callout sharing its key, and is dropped when
@@ -1,12 +1,12 @@
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 { onCallout, onRetractCallout } from "../../toast/callout.js";
7
2
  import { variantStyles } from "../../toast/variant-styles.js";
8
3
  import { router } from "@inertiajs/react";
9
4
  import { useEffect, useState } from "react";
5
+ import { Icon } from "@lattice-php/ui/icons";
6
+ import { RenderNode } from "@lattice-php/core/renderer";
7
+ import { resolveText } from "@lattice-php/ui/i18n/translatable";
8
+ import { cn } from "@lattice-php/ui/lib/utils";
9
+ import { useT } from "@lattice-php/ui/i18n";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
  //#region resources/js/layout/components/callouts.tsx
12
12
  var nextId = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"callouts.js","names":[],"sources":["../../../resources/js/layout/components/callouts.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport { router } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/lattice/core/renderer\";\nimport type { Callout } from \"@lattice-php/lattice/types/generated\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { onCallout, onRetractCallout } from \"@lattice-php/lattice/toast\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport { resolveText } from \"@lattice-php/lattice/i18n/translatable\";\nimport { variantStyles } from \"@lattice-php/lattice/toast\";\n\ntype CalloutItem = Callout & { id: number };\n\nlet nextId = 0;\n\n/**\n * Renders callouts emitted on the bus. A keyed callout is a projection of\n * server state: it replaces any callout sharing its key, and is dropped when\n * `navigate` fires. Inertia only fires `navigate` for a URL-changing visit\n * (initial load included); a same-URL visit — `router.reload()`,\n * `redirect()->back()` to the same URL, polling, partial reloads — sets\n * `replace` instead and never fires it, so the callout survives until the\n * server overwrites or drops it. On these URL-changing visits, `navigate`\n * fires before `flash`, so re-assertion always wins over the clear and no\n * ordering guard is needed. A `retract-callout` effect clears one on a\n * same-URL response too.\n */\nconst Callouts: RendererComponent<\"callouts\"> = () => {\n const { t } = useT(\"lattice\");\n const [callouts, setCallouts] = useState<CalloutItem[]>([]);\n\n useEffect(\n () =>\n onCallout((callout) => {\n setCallouts((current) => {\n const kept = callout.unique\n ? current.filter((existing) => existing.unique !== callout.unique)\n : current;\n\n return [...kept, { ...callout, id: nextId++ }];\n });\n }),\n [],\n );\n\n useEffect(\n () =>\n router.on(\"navigate\", () => {\n setCallouts((current) => current.filter((callout) => !callout.unique));\n }),\n [],\n );\n\n useEffect(\n () =>\n onRetractCallout((unique) => {\n setCallouts((current) => current.filter((callout) => callout.unique !== unique));\n }),\n [],\n );\n\n function dismiss(id: number): void {\n setCallouts((current) => current.filter((callout) => callout.id !== id));\n }\n\n if (callouts.length === 0) {\n return null;\n }\n\n return (\n <div className=\"flex w-full flex-col gap-2\">\n {callouts.map((callout) => (\n <div\n key={callout.id}\n role=\"status\"\n data-test={`callout-${callout.variant}`}\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\",\n variantStyles[callout.variant].accent,\n )}\n >\n {variantStyles[callout.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n {callout.title ? (\n <p className=\"text-sm font-medium text-lt-fg\">{resolveText(callout.title, t)}</p>\n ) : null}\n <p className=\"text-sm text-lt-fg\">{resolveText(callout.message, t)}</p>\n {callout.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={callout.action} />\n </div>\n ) : null}\n </div>\n {callout.dismissible ? (\n <button\n type=\"button\"\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n data-test=\"callout-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 onClick={() => dismiss(callout.id)}\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </button>\n ) : null}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Callouts;\n"],"mappings":";;;;;;;;;;;AAcA,IAAI,SAAS;;;;;;;;;;;;;AAcb,IAAM,iBAAgD;CACpD,MAAM,EAAE,MAAM,KAAK,SAAS;CAC5B,MAAM,CAAC,UAAU,eAAe,SAAwB,CAAC,CAAC;CAE1D,gBAEI,WAAW,YAAY;EACrB,aAAa,YAAY;GAKvB,OAAO,CAAC,GAJK,QAAQ,SACjB,QAAQ,QAAQ,aAAa,SAAS,WAAW,QAAQ,MAAM,IAC/D,SAEa;IAAE,GAAG;IAAS,IAAI;GAAS,CAAC;EAC/C,CAAC;CACH,CAAC,GACH,CAAC,CACH;CAEA,gBAEI,OAAO,GAAG,kBAAkB;EAC1B,aAAa,YAAY,QAAQ,QAAQ,YAAY,CAAC,QAAQ,MAAM,CAAC;CACvE,CAAC,GACH,CAAC,CACH;CAEA,gBAEI,kBAAkB,WAAW;EAC3B,aAAa,YAAY,QAAQ,QAAQ,YAAY,QAAQ,WAAW,MAAM,CAAC;CACjF,CAAC,GACH,CAAC,CACH;CAEA,SAAS,QAAQ,IAAkB;EACjC,aAAa,YAAY,QAAQ,QAAQ,YAAY,QAAQ,OAAO,EAAE,CAAC;CACzE;CAEA,IAAI,SAAS,WAAW,GACtB,OAAO;CAGT,OACE,oBAAC,OAAD;EAAK,WAAU;EACZ,UAAA,SAAS,KAAK,YACb,qBAAC,OAAD;GAEE,MAAK;GACL,aAAW,WAAW,QAAQ;GAC9B,WAAW,GACT,6GACA,cAAc,QAAQ,QAAQ,CAAC,MACjC;GAPF,UAAA;IASG,cAAc,QAAQ,QAAQ,CAAC;IAChC,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA;MACG,QAAQ,QACP,oBAAC,KAAD;OAAG,WAAU;OAAkC,UAAA,YAAY,QAAQ,OAAO,CAAC;MAAK,CAAA,IAC9E;MACJ,oBAAC,KAAD;OAAG,WAAU;OAAsB,UAAA,YAAY,QAAQ,SAAS,CAAC;MAAK,CAAA;MACrE,QAAQ,SACP,oBAAC,OAAD;OAAK,WAAU;OACb,UAAA,oBAAC,YAAD,EAAY,MAAM,QAAQ,OAAS,CAAA;MAChC,CAAA,IACH;KACD;;IACJ,QAAQ,cACP,oBAAC,UAAD;KACE,MAAK;KACL,cAAY,EAAE,kBAAkB,SAAS;KACzC,aAAU;KACV,WAAU;KACV,eAAe,QAAQ,QAAQ,EAAE;KAEjC,UAAA,oBAAC,MAAD;MAAM,MAAK;MAAI,WAAU;KAAmB,CAAA;IACtC,CAAA,IACN;GACD;EA/BE,GAAA,QAAQ,EA+BV,CACN;CACE,CAAA;AAET"}
1
+ {"version":3,"file":"callouts.js","names":[],"sources":["../../../resources/js/layout/components/callouts.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/ui/icons\";\nimport { router } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport { RenderNode } from \"@lattice-php/core/renderer\";\nimport type { Callout } from \"@lattice-php/lattice/types/generated\";\nimport type { RendererComponent } from \"@lattice-php/core/types\";\nimport { onCallout, onRetractCallout } from \"@lattice-php/lattice/toast\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\nimport { useT } from \"@lattice-php/ui/i18n\";\nimport { resolveText } from \"@lattice-php/ui/i18n/translatable\";\nimport { variantStyles } from \"@lattice-php/lattice/toast\";\n\ntype CalloutItem = Callout & { id: number };\n\nlet nextId = 0;\n\n/**\n * Renders callouts emitted on the bus. A keyed callout is a projection of\n * server state: it replaces any callout sharing its key, and is dropped when\n * `navigate` fires. Inertia only fires `navigate` for a URL-changing visit\n * (initial load included); a same-URL visit — `router.reload()`,\n * `redirect()->back()` to the same URL, polling, partial reloads — sets\n * `replace` instead and never fires it, so the callout survives until the\n * server overwrites or drops it. On these URL-changing visits, `navigate`\n * fires before `flash`, so re-assertion always wins over the clear and no\n * ordering guard is needed. A `retract-callout` effect clears one on a\n * same-URL response too.\n */\nconst Callouts: RendererComponent<\"callouts\"> = () => {\n const { t } = useT(\"lattice\");\n const [callouts, setCallouts] = useState<CalloutItem[]>([]);\n\n useEffect(\n () =>\n onCallout((callout) => {\n setCallouts((current) => {\n const kept = callout.unique\n ? current.filter((existing) => existing.unique !== callout.unique)\n : current;\n\n return [...kept, { ...callout, id: nextId++ }];\n });\n }),\n [],\n );\n\n useEffect(\n () =>\n router.on(\"navigate\", () => {\n setCallouts((current) => current.filter((callout) => !callout.unique));\n }),\n [],\n );\n\n useEffect(\n () =>\n onRetractCallout((unique) => {\n setCallouts((current) => current.filter((callout) => callout.unique !== unique));\n }),\n [],\n );\n\n function dismiss(id: number): void {\n setCallouts((current) => current.filter((callout) => callout.id !== id));\n }\n\n if (callouts.length === 0) {\n return null;\n }\n\n return (\n <div className=\"flex w-full flex-col gap-2\">\n {callouts.map((callout) => (\n <div\n key={callout.id}\n role=\"status\"\n data-test={`callout-${callout.variant}`}\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\",\n variantStyles[callout.variant].accent,\n )}\n >\n {variantStyles[callout.variant].icon}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n {callout.title ? (\n <p className=\"text-sm font-medium text-lt-fg\">{resolveText(callout.title, t)}</p>\n ) : null}\n <p className=\"text-sm text-lt-fg\">{resolveText(callout.message, t)}</p>\n {callout.action ? (\n <div className=\"flex flex-wrap gap-2\">\n <RenderNode node={callout.action} />\n </div>\n ) : null}\n </div>\n {callout.dismissible ? (\n <button\n type=\"button\"\n aria-label={t(\"common.dismiss\", \"Dismiss\")}\n data-test=\"callout-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 onClick={() => dismiss(callout.id)}\n >\n <Icon name=\"x\" className=\"size-lt-icon-md\" />\n </button>\n ) : null}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Callouts;\n"],"mappings":";;;;;;;;;;;AAcA,IAAI,SAAS;;;;;;;;;;;;;AAcb,IAAM,iBAAgD;CACpD,MAAM,EAAE,MAAM,KAAK,SAAS;CAC5B,MAAM,CAAC,UAAU,eAAe,SAAwB,CAAC,CAAC;CAE1D,gBAEI,WAAW,YAAY;EACrB,aAAa,YAAY;GAKvB,OAAO,CAAC,GAJK,QAAQ,SACjB,QAAQ,QAAQ,aAAa,SAAS,WAAW,QAAQ,MAAM,IAC/D,SAEa;IAAE,GAAG;IAAS,IAAI;GAAS,CAAC;EAC/C,CAAC;CACH,CAAC,GACH,CAAC,CACH;CAEA,gBAEI,OAAO,GAAG,kBAAkB;EAC1B,aAAa,YAAY,QAAQ,QAAQ,YAAY,CAAC,QAAQ,MAAM,CAAC;CACvE,CAAC,GACH,CAAC,CACH;CAEA,gBAEI,kBAAkB,WAAW;EAC3B,aAAa,YAAY,QAAQ,QAAQ,YAAY,QAAQ,WAAW,MAAM,CAAC;CACjF,CAAC,GACH,CAAC,CACH;CAEA,SAAS,QAAQ,IAAkB;EACjC,aAAa,YAAY,QAAQ,QAAQ,YAAY,QAAQ,OAAO,EAAE,CAAC;CACzE;CAEA,IAAI,SAAS,WAAW,GACtB,OAAO;CAGT,OACE,oBAAC,OAAD;EAAK,WAAU;EACZ,UAAA,SAAS,KAAK,YACb,qBAAC,OAAD;GAEE,MAAK;GACL,aAAW,WAAW,QAAQ;GAC9B,WAAW,GACT,6GACA,cAAc,QAAQ,QAAQ,CAAC,MACjC;GAPF,UAAA;IASG,cAAc,QAAQ,QAAQ,CAAC;IAChC,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA;MACG,QAAQ,QACP,oBAAC,KAAD;OAAG,WAAU;OAAkC,UAAA,YAAY,QAAQ,OAAO,CAAC;MAAK,CAAA,IAC9E;MACJ,oBAAC,KAAD;OAAG,WAAU;OAAsB,UAAA,YAAY,QAAQ,SAAS,CAAC;MAAK,CAAA;MACrE,QAAQ,SACP,oBAAC,OAAD;OAAK,WAAU;OACb,UAAA,oBAAC,YAAD,EAAY,MAAM,QAAQ,OAAS,CAAA;MAChC,CAAA,IACH;KACD;;IACJ,QAAQ,cACP,oBAAC,UAAD;KACE,MAAK;KACL,cAAY,EAAE,kBAAkB,SAAS;KACzC,aAAU;KACV,WAAU;KACV,eAAe,QAAQ,QAAQ,EAAE;KAEjC,UAAA,oBAAC,MAAD;MAAM,MAAK;MAAI,WAAU;KAAmB,CAAA;IACtC,CAAA,IACN;GACD;EA/BE,GAAA,QAAQ,EA+BV,CACN;CACE,CAAA;AAET"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const DropdownComponent: RendererComponent<"dropdown">;
3
3
  export default DropdownComponent;
@@ -1,5 +1,5 @@
1
- import { RenderNode } from "../../core/renderer.js";
2
1
  import { Popover } from "./popover.js";
2
+ import { RenderNode } from "@lattice-php/core/renderer";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region resources/js/layout/components/dropdown.tsx
5
5
  var DropdownComponent = ({ children, node }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","names":[],"sources":["../../../resources/js/layout/components/dropdown.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { RenderNode } from \"@lattice-php/lattice/core/renderer\";\nimport { Popover } from \"./popover\";\n\nconst DropdownComponent: RendererComponent<\"dropdown\"> = ({ children, node }) => {\n const testId = node.key ?? \"dropdown\";\n\n return (\n <Popover\n placement={node.props.placement}\n testId={testId}\n triggerClassName=\"w-auto\"\n trigger={\n <span className=\"flex min-w-0 items-center rounded-lt-sm px-2 py-1.5 text-sm hover:bg-lt-muted\">\n {node.props.trigger.map((triggerNode, index) => (\n <RenderNode\n key={triggerNode.key ?? `${triggerNode.type}-${index}`}\n node={triggerNode}\n />\n ))}\n </span>\n }\n >\n <ul className=\"flex flex-col gap-1\">{children}</ul>\n </Popover>\n );\n};\n\nexport default DropdownComponent;\n"],"mappings":";;;;AAIA,IAAM,qBAAoD,EAAE,UAAU,WAAW;CAC/E,MAAM,SAAS,KAAK,OAAO;CAE3B,OACE,oBAAC,SAAD;EACE,WAAW,KAAK,MAAM;EACd;EACR,kBAAiB;EACjB,SACE,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,KAAK,MAAM,QAAQ,KAAK,aAAa,UACpC,oBAAC,YAAD,EAEE,MAAM,YACP,GAFM,YAAY,OAAO,GAAG,YAAY,KAAK,GAAG,OAEhD,CACF;EACG,CAAA;EAGR,UAAA,oBAAC,MAAD;GAAI,WAAU;GAAuB;EAAa,CAAA;CAC3C,CAAA;AAEb"}
1
+ {"version":3,"file":"dropdown.js","names":[],"sources":["../../../resources/js/layout/components/dropdown.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/core/types\";\nimport { RenderNode } from \"@lattice-php/core/renderer\";\nimport { Popover } from \"./popover\";\n\nconst DropdownComponent: RendererComponent<\"dropdown\"> = ({ children, node }) => {\n const testId = node.key ?? \"dropdown\";\n\n return (\n <Popover\n placement={node.props.placement}\n testId={testId}\n triggerClassName=\"w-auto\"\n trigger={\n <span className=\"flex min-w-0 items-center rounded-lt-sm px-2 py-1.5 text-sm hover:bg-lt-muted\">\n {node.props.trigger.map((triggerNode, index) => (\n <RenderNode\n key={triggerNode.key ?? `${triggerNode.type}-${index}`}\n node={triggerNode}\n />\n ))}\n </span>\n }\n >\n <ul className=\"flex flex-col gap-1\">{children}</ul>\n </Popover>\n );\n};\n\nexport default DropdownComponent;\n"],"mappings":";;;;AAIA,IAAM,qBAAoD,EAAE,UAAU,WAAW;CAC/E,MAAM,SAAS,KAAK,OAAO;CAE3B,OACE,oBAAC,SAAD;EACE,WAAW,KAAK,MAAM;EACd;EACR,kBAAiB;EACjB,SACE,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,KAAK,MAAM,QAAQ,KAAK,aAAa,UACpC,oBAAC,YAAD,EAEE,MAAM,YACP,GAFM,YAAY,OAAO,GAAG,YAAY,KAAK,GAAG,OAEhD,CACF;EACG,CAAA;EAGR,UAAA,oBAAC,MAAD;GAAI,WAAU;GAAuB;EAAa,CAAA;CAC3C,CAAA;AAEb"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const MenuItemComponent: RendererComponent<"menu-item">;
3
3
  export default MenuItemComponent;
@@ -1,13 +1,12 @@
1
- import { cn } from "../../lib/utils.js";
2
- import { Icon } from "../../icons/sprite.js";
3
- import { IconRenderer } from "../../icons/icon-renderer.js";
4
- import { useCollapsed } from "../../core/collapsed-context.js";
5
- import { prefixedNodeTestId } from "../../core/test-id.js";
6
1
  import { Popover } from "./popover.js";
7
- import { ActionTrigger, useClickBehavior } from "../../ui/click-behavior.js";
2
+ import { useSidebarCollapsed } from "../hooks/context.js";
8
3
  import { Link, usePage } from "@inertiajs/react";
9
4
  import { useState } from "react";
5
+ import { Icon, IconRenderer } from "@lattice-php/ui/icons";
6
+ import { cn } from "@lattice-php/ui/lib/utils";
10
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { prefixedNodeTestId } from "@lattice-php/core/test-id";
9
+ import { ActionTrigger, useClickBehavior } from "@lattice-php/ui/click-behavior";
11
10
  //#region resources/js/layout/components/menu-item.tsx
12
11
  var rowClass = "flex items-center gap-2 rounded-lt-sm px-3 py-2 text-base font-medium text-lt-fg transition-colors hover:bg-lt-muted";
13
12
  function MenuAffix({ affix, className }) {
@@ -24,7 +23,7 @@ function schemaContainsPath(schema, path) {
24
23
  return (schema ?? []).some((child) => child.props?.href === path || schemaContainsPath(child.schema, path));
25
24
  }
26
25
  var MenuItemComponent = ({ children, node }) => {
27
- const collapsed = useCollapsed();
26
+ const collapsed = useSidebarCollapsed();
28
27
  const { icon, label: rawLabel, prefix, suffix } = node.props;
29
28
  const label = rawLabel ?? "";
30
29
  const iconOnly = Boolean(icon);
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","names":[],"sources":["../../../resources/js/layout/components/menu-item.tsx"],"sourcesContent":["import { Link, usePage } from \"@inertiajs/react\";\nimport { useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { prefixedNodeTestId } from \"@lattice-php/lattice/core/test-id\";\nimport type { RendererComponent, Schema } from \"@lattice-php/lattice/core/types\";\nimport { Icon, IconRenderer } from \"@lattice-php/lattice/icons\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport type { Affix } from \"@lattice-php/lattice/types/generated\";\nimport {\n ActionTrigger,\n type TriggerState,\n useClickBehavior,\n} from \"@lattice-php/lattice/ui/click-behavior\";\nimport { useSidebarCollapsed } from \"@lattice-php/lattice/layout/hooks/context\";\nimport { Popover } from \"./popover\";\n\nconst rowClass =\n \"flex items-center gap-2 rounded-lt-sm px-3 py-2 text-base font-medium text-lt-fg transition-colors hover:bg-lt-muted\";\n\nfunction MenuAffix({ affix, className }: { affix: Affix; className?: string }) {\n if (affix.icon) {\n return <IconRenderer className={cn(\"size-lt-icon-md shrink-0\", className)} icon={affix.icon} />;\n }\n\n return <span className={cn(\"shrink-0 text-sm text-lt-muted-fg\", className)}>{affix.text}</span>;\n}\n\nfunction schemaContainsPath(schema: Schema | undefined, path: string): boolean {\n return (schema ?? []).some(\n (child) => child.props?.href === path || schemaContainsPath(child.schema, path),\n );\n}\n\nconst MenuItemComponent: RendererComponent<\"menu-item\"> = ({ children, node }) => {\n const collapsed = useSidebarCollapsed();\n const { icon, label: rawLabel, prefix, suffix } = node.props;\n const label = rawLabel ?? \"\";\n const iconOnly = Boolean(icon);\n const flyoutIcon = icon ?? prefix?.icon ?? null;\n const currentPath = usePage().url.split(\"?\")[0];\n const testId = prefixedNodeTestId(\"menu\", node);\n const behavior = useClickBehavior(node.props);\n\n const content = icon ? (\n <IconRenderer className=\"size-lt-icon-md shrink-0\" icon={icon} />\n ) : (\n <>\n {prefix ? <MenuAffix affix={prefix} /> : null}\n {collapsed ? (\n <span\n className=\"pointer-events-none absolute top-1/2 left-full z-lt-popover ml-2 hidden -translate-y-1/2 rounded-lt-sm border border-lt-border bg-lt-popover px-2 py-1 text-sm whitespace-nowrap text-lt-popover-fg shadow-lt-md group-hover:block\"\n role=\"tooltip\"\n >\n {label}\n </span>\n ) : (\n <span>{label}</span>\n )}\n {suffix ? <MenuAffix affix={suffix} className=\"ml-auto\" /> : null}\n </>\n );\n\n const rowClassName = cn(\n rowClass,\n \"w-full\",\n collapsed && \"group relative justify-center\",\n iconOnly && \"justify-center\",\n );\n\n const triggerButton = ({ onClick, processing }: TriggerState) => (\n <button\n aria-label={collapsed || iconOnly ? label : undefined}\n className={rowClassName}\n data-test={testId}\n disabled={processing}\n onClick={onClick}\n type=\"button\"\n >\n {content}\n </button>\n );\n\n if (behavior.kind === \"action\") {\n return (\n <li>\n <ActionTrigger action={behavior.action}>{triggerButton}</ActionTrigger>\n </li>\n );\n }\n\n if (behavior.kind === \"effects\") {\n return <li>{triggerButton({ onClick: behavior.onClick, processing: false })}</li>;\n }\n\n if (behavior.kind === \"navigate\") {\n const active = currentPath === behavior.href;\n\n return (\n <li>\n <Link\n aria-current={active ? \"page\" : undefined}\n aria-label={collapsed || iconOnly ? label : undefined}\n as={behavior.method === \"get\" ? undefined : \"button\"}\n className={cn(rowClassName, active && \"bg-lt-muted font-medium\")}\n data-test={testId}\n href={behavior.href}\n method={behavior.method}\n >\n {content}\n </Link>\n </li>\n );\n }\n\n if (!children) {\n return collapsed ? null : (\n <li>\n <span className=\"flex items-center gap-2 px-3 py-2 text-xs font-semibold tracking-wide text-lt-muted-fg uppercase\">\n {content}\n </span>\n </li>\n );\n }\n\n if (collapsed) {\n return (\n <FlyoutGroup icon={flyoutIcon} label={label} testId={testId}>\n {children}\n </FlyoutGroup>\n );\n }\n\n return (\n <CollapsibleItem\n content={content}\n defaultOpen={schemaContainsPath(node.schema, currentPath)}\n testId={testId}\n >\n {children}\n </CollapsibleItem>\n );\n};\n\nfunction CollapsibleItem({\n children,\n content,\n defaultOpen,\n testId,\n}: {\n children: ReactNode;\n content: ReactNode;\n defaultOpen: boolean;\n testId?: string;\n}) {\n const [open, setOpen] = useState(defaultOpen);\n\n return (\n <li>\n <button\n aria-expanded={open}\n className={cn(rowClass, \"w-full\")}\n data-test={testId}\n onClick={() => setOpen((value) => !value)}\n type=\"button\"\n >\n {content}\n <Icon\n name=\"chevron-right\"\n className={cn(\n \"ml-auto size-lt-icon-md shrink-0 transition-transform\",\n open && \"rotate-90\",\n )}\n />\n </button>\n {open ? <ul className=\"mt-1 flex flex-col gap-1 pl-3\">{children}</ul> : null}\n </li>\n );\n}\n\nfunction FlyoutGroup({\n children,\n icon,\n label,\n testId,\n}: {\n children: ReactNode;\n icon?: string | null;\n label: string;\n testId?: string;\n}) {\n return (\n <li>\n <Popover\n className=\"min-w-48\"\n placement=\"right\"\n testId={testId}\n trigger={\n icon ? (\n <IconRenderer className=\"size-lt-icon-md shrink-0\" icon={icon} />\n ) : (\n <span>{label}</span>\n )\n }\n triggerClassName={cn(rowClass, \"justify-center\")}\n triggerLabel={label}\n >\n <ul className=\"flex flex-col gap-1\">\n <li className=\"px-3 py-1.5 text-xs font-semibold tracking-wide text-lt-muted-fg uppercase\">\n {label}\n </li>\n {children}\n </ul>\n </Popover>\n </li>\n );\n}\n\nexport default MenuItemComponent;\n"],"mappings":";;;;;;;;;;;AAgBA,IAAM,WACJ;AAEF,SAAS,UAAU,EAAE,OAAO,aAAmD;CAC7E,IAAI,MAAM,MACR,OAAO,oBAAC,cAAD;EAAc,WAAW,GAAG,4BAA4B,SAAS;EAAG,MAAM,MAAM;CAAO,CAAA;CAGhG,OAAO,oBAAC,QAAD;EAAM,WAAW,GAAG,qCAAqC,SAAS;EAAI,UAAA,MAAM;CAAW,CAAA;AAChG;AAEA,SAAS,mBAAmB,QAA4B,MAAuB;CAC7E,QAAQ,UAAU,CAAC,EAAA,CAAG,MACnB,UAAU,MAAM,OAAO,SAAS,QAAQ,mBAAmB,MAAM,QAAQ,IAAI,CAChF;AACF;AAEA,IAAM,qBAAqD,EAAE,UAAU,WAAW;CAChF,MAAM,YAAY,aAAoB;CACtC,MAAM,EAAE,MAAM,OAAO,UAAU,QAAQ,WAAW,KAAK;CACvD,MAAM,QAAQ,YAAY;CAC1B,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,aAAa,QAAQ,QAAQ,QAAQ;CAC3C,MAAM,cAAc,QAAQ,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;CAC7C,MAAM,SAAS,mBAAmB,QAAQ,IAAI;CAC9C,MAAM,WAAW,iBAAiB,KAAK,KAAK;CAE5C,MAAM,UAAU,OACd,oBAAC,cAAD;EAAc,WAAU;EAAiC;CAAO,CAAA,IAEhE,qBAAA,YAAA,EAAA,UAAA;EACG,SAAS,oBAAC,WAAD,EAAW,OAAO,OAAS,CAAA,IAAI;EACxC,YACC,oBAAC,QAAD;GACE,WAAU;GACV,MAAK;GAEJ,UAAA;EACG,CAAA,IAEN,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA;EAEpB,SAAS,oBAAC,WAAD;GAAW,OAAO;GAAQ,WAAU;EAAW,CAAA,IAAI;CAC7D,EAAA,CAAA;CAGJ,MAAM,eAAe,GACnB,UACA,UACA,aAAa,iCACb,YAAY,gBACd;CAEA,MAAM,iBAAiB,EAAE,SAAS,iBAChC,oBAAC,UAAD;EACE,cAAY,aAAa,WAAW,QAAQ,KAAA;EAC5C,WAAW;EACX,aAAW;EACX,UAAU;EACD;EACT,MAAK;EAEJ,UAAA;CACK,CAAA;CAGV,IAAI,SAAS,SAAS,UACpB,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,eAAD;EAAe,QAAQ,SAAS;EAAS,UAAA;CAA6B,CAAA,EACpE,CAAA;CAIR,IAAI,SAAS,SAAS,WACpB,OAAO,oBAAC,MAAD,EAAA,UAAK,cAAc;EAAE,SAAS,SAAS;EAAS,YAAY;CAAM,CAAC,EAAM,CAAA;CAGlF,IAAI,SAAS,SAAS,YAAY;EAChC,MAAM,SAAS,gBAAgB,SAAS;EAExC,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,MAAD;GACE,gBAAc,SAAS,SAAS,KAAA;GAChC,cAAY,aAAa,WAAW,QAAQ,KAAA;GAC5C,IAAI,SAAS,WAAW,QAAQ,KAAA,IAAY;GAC5C,WAAW,GAAG,cAAc,UAAU,yBAAyB;GAC/D,aAAW;GACX,MAAM,SAAS;GACf,QAAQ,SAAS;GAEhB,UAAA;EACG,CAAA,EACJ,CAAA;CAER;CAEA,IAAI,CAAC,UACH,OAAO,YAAY,OACjB,oBAAC,MAAD,EAAA,UACE,oBAAC,QAAD;EAAM,WAAU;EACb,UAAA;CACG,CAAA,EACJ,CAAA;CAIR,IAAI,WACF,OACE,oBAAC,aAAD;EAAa,MAAM;EAAmB;EAAe;EAClD;CACU,CAAA;CAIjB,OACE,oBAAC,iBAAD;EACW;EACT,aAAa,mBAAmB,KAAK,QAAQ,WAAW;EAChD;EAEP;CACc,CAAA;AAErB;AAEA,SAAS,gBAAgB,EACvB,UACA,SACA,aACA,UAMC;CACD,MAAM,CAAC,MAAM,WAAW,SAAS,WAAW;CAE5C,OACE,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,UAAD;EACE,iBAAe;EACf,WAAW,GAAG,UAAU,QAAQ;EAChC,aAAW;EACX,eAAe,SAAS,UAAU,CAAC,KAAK;EACxC,MAAK;EALP,UAAA,CAOG,SACD,oBAAC,MAAD;GACE,MAAK;GACL,WAAW,GACT,yDACA,QAAQ,WACV;EACD,CAAA,CACK;CACP,CAAA,GAAA,OAAO,oBAAC,MAAD;EAAI,WAAU;EAAiC;CAAa,CAAA,IAAI,IACtE,EAAA,CAAA;AAER;AAEA,SAAS,YAAY,EACnB,UACA,MACA,OACA,UAMC;CACD,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,SAAD;EACE,WAAU;EACV,WAAU;EACF;EACR,SACE,OACE,oBAAC,cAAD;GAAc,WAAU;GAAiC;EAAO,CAAA,IAEhE,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA;EAGvB,kBAAkB,GAAG,UAAU,gBAAgB;EAC/C,cAAc;EAEd,UAAA,qBAAC,MAAD;GAAI,WAAU;GAAd,UAAA,CACE,oBAAC,MAAD;IAAI,WAAU;IACX,UAAA;GACC,CAAA,GACH,QACC;;CACG,CAAA,EACP,CAAA;AAER"}
1
+ {"version":3,"file":"menu-item.js","names":[],"sources":["../../../resources/js/layout/components/menu-item.tsx"],"sourcesContent":["import { Link, usePage } from \"@inertiajs/react\";\nimport { useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { prefixedNodeTestId } from \"@lattice-php/core/test-id\";\nimport type { RendererComponent, Schema } from \"@lattice-php/core/types\";\nimport { Icon, IconRenderer } from \"@lattice-php/ui/icons\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\nimport type { Affix } from \"@lattice-php/lattice/types/generated\";\nimport { ActionTrigger, type TriggerState, useClickBehavior } from \"@lattice-php/ui/click-behavior\";\nimport { useSidebarCollapsed } from \"@lattice-php/lattice/layout/hooks/context\";\nimport { Popover } from \"./popover\";\n\nconst rowClass =\n \"flex items-center gap-2 rounded-lt-sm px-3 py-2 text-base font-medium text-lt-fg transition-colors hover:bg-lt-muted\";\n\nfunction MenuAffix({ affix, className }: { affix: Affix; className?: string }) {\n if (affix.icon) {\n return <IconRenderer className={cn(\"size-lt-icon-md shrink-0\", className)} icon={affix.icon} />;\n }\n\n return <span className={cn(\"shrink-0 text-sm text-lt-muted-fg\", className)}>{affix.text}</span>;\n}\n\nfunction schemaContainsPath(schema: Schema | undefined, path: string): boolean {\n return (schema ?? []).some(\n (child) => child.props?.href === path || schemaContainsPath(child.schema, path),\n );\n}\n\nconst MenuItemComponent: RendererComponent<\"menu-item\"> = ({ children, node }) => {\n const collapsed = useSidebarCollapsed();\n const { icon, label: rawLabel, prefix, suffix } = node.props;\n const label = rawLabel ?? \"\";\n const iconOnly = Boolean(icon);\n const flyoutIcon = icon ?? prefix?.icon ?? null;\n const currentPath = usePage().url.split(\"?\")[0];\n const testId = prefixedNodeTestId(\"menu\", node);\n const behavior = useClickBehavior(node.props);\n\n const content = icon ? (\n <IconRenderer className=\"size-lt-icon-md shrink-0\" icon={icon} />\n ) : (\n <>\n {prefix ? <MenuAffix affix={prefix} /> : null}\n {collapsed ? (\n <span\n className=\"pointer-events-none absolute top-1/2 left-full z-lt-popover ml-2 hidden -translate-y-1/2 rounded-lt-sm border border-lt-border bg-lt-popover px-2 py-1 text-sm whitespace-nowrap text-lt-popover-fg shadow-lt-md group-hover:block\"\n role=\"tooltip\"\n >\n {label}\n </span>\n ) : (\n <span>{label}</span>\n )}\n {suffix ? <MenuAffix affix={suffix} className=\"ml-auto\" /> : null}\n </>\n );\n\n const rowClassName = cn(\n rowClass,\n \"w-full\",\n collapsed && \"group relative justify-center\",\n iconOnly && \"justify-center\",\n );\n\n const triggerButton = ({ onClick, processing }: TriggerState) => (\n <button\n aria-label={collapsed || iconOnly ? label : undefined}\n className={rowClassName}\n data-test={testId}\n disabled={processing}\n onClick={onClick}\n type=\"button\"\n >\n {content}\n </button>\n );\n\n if (behavior.kind === \"action\") {\n return (\n <li>\n <ActionTrigger action={behavior.action}>{triggerButton}</ActionTrigger>\n </li>\n );\n }\n\n if (behavior.kind === \"effects\") {\n return <li>{triggerButton({ onClick: behavior.onClick, processing: false })}</li>;\n }\n\n if (behavior.kind === \"navigate\") {\n const active = currentPath === behavior.href;\n\n return (\n <li>\n <Link\n aria-current={active ? \"page\" : undefined}\n aria-label={collapsed || iconOnly ? label : undefined}\n as={behavior.method === \"get\" ? undefined : \"button\"}\n className={cn(rowClassName, active && \"bg-lt-muted font-medium\")}\n data-test={testId}\n href={behavior.href}\n method={behavior.method}\n >\n {content}\n </Link>\n </li>\n );\n }\n\n if (!children) {\n return collapsed ? null : (\n <li>\n <span className=\"flex items-center gap-2 px-3 py-2 text-xs font-semibold tracking-wide text-lt-muted-fg uppercase\">\n {content}\n </span>\n </li>\n );\n }\n\n if (collapsed) {\n return (\n <FlyoutGroup icon={flyoutIcon} label={label} testId={testId}>\n {children}\n </FlyoutGroup>\n );\n }\n\n return (\n <CollapsibleItem\n content={content}\n defaultOpen={schemaContainsPath(node.schema, currentPath)}\n testId={testId}\n >\n {children}\n </CollapsibleItem>\n );\n};\n\nfunction CollapsibleItem({\n children,\n content,\n defaultOpen,\n testId,\n}: {\n children: ReactNode;\n content: ReactNode;\n defaultOpen: boolean;\n testId?: string;\n}) {\n const [open, setOpen] = useState(defaultOpen);\n\n return (\n <li>\n <button\n aria-expanded={open}\n className={cn(rowClass, \"w-full\")}\n data-test={testId}\n onClick={() => setOpen((value) => !value)}\n type=\"button\"\n >\n {content}\n <Icon\n name=\"chevron-right\"\n className={cn(\n \"ml-auto size-lt-icon-md shrink-0 transition-transform\",\n open && \"rotate-90\",\n )}\n />\n </button>\n {open ? <ul className=\"mt-1 flex flex-col gap-1 pl-3\">{children}</ul> : null}\n </li>\n );\n}\n\nfunction FlyoutGroup({\n children,\n icon,\n label,\n testId,\n}: {\n children: ReactNode;\n icon?: string | null;\n label: string;\n testId?: string;\n}) {\n return (\n <li>\n <Popover\n className=\"min-w-48\"\n placement=\"right\"\n testId={testId}\n trigger={\n icon ? (\n <IconRenderer className=\"size-lt-icon-md shrink-0\" icon={icon} />\n ) : (\n <span>{label}</span>\n )\n }\n triggerClassName={cn(rowClass, \"justify-center\")}\n triggerLabel={label}\n >\n <ul className=\"flex flex-col gap-1\">\n <li className=\"px-3 py-1.5 text-xs font-semibold tracking-wide text-lt-muted-fg uppercase\">\n {label}\n </li>\n {children}\n </ul>\n </Popover>\n </li>\n );\n}\n\nexport default MenuItemComponent;\n"],"mappings":";;;;;;;;;;AAYA,IAAM,WACJ;AAEF,SAAS,UAAU,EAAE,OAAO,aAAmD;CAC7E,IAAI,MAAM,MACR,OAAO,oBAAC,cAAD;EAAc,WAAW,GAAG,4BAA4B,SAAS;EAAG,MAAM,MAAM;CAAO,CAAA;CAGhG,OAAO,oBAAC,QAAD;EAAM,WAAW,GAAG,qCAAqC,SAAS;EAAI,UAAA,MAAM;CAAW,CAAA;AAChG;AAEA,SAAS,mBAAmB,QAA4B,MAAuB;CAC7E,QAAQ,UAAU,CAAC,EAAA,CAAG,MACnB,UAAU,MAAM,OAAO,SAAS,QAAQ,mBAAmB,MAAM,QAAQ,IAAI,CAChF;AACF;AAEA,IAAM,qBAAqD,EAAE,UAAU,WAAW;CAChF,MAAM,YAAY,oBAAoB;CACtC,MAAM,EAAE,MAAM,OAAO,UAAU,QAAQ,WAAW,KAAK;CACvD,MAAM,QAAQ,YAAY;CAC1B,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,aAAa,QAAQ,QAAQ,QAAQ;CAC3C,MAAM,cAAc,QAAQ,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;CAC7C,MAAM,SAAS,mBAAmB,QAAQ,IAAI;CAC9C,MAAM,WAAW,iBAAiB,KAAK,KAAK;CAE5C,MAAM,UAAU,OACd,oBAAC,cAAD;EAAc,WAAU;EAAiC;CAAO,CAAA,IAEhE,qBAAA,YAAA,EAAA,UAAA;EACG,SAAS,oBAAC,WAAD,EAAW,OAAO,OAAS,CAAA,IAAI;EACxC,YACC,oBAAC,QAAD;GACE,WAAU;GACV,MAAK;GAEJ,UAAA;EACG,CAAA,IAEN,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA;EAEpB,SAAS,oBAAC,WAAD;GAAW,OAAO;GAAQ,WAAU;EAAW,CAAA,IAAI;CAC7D,EAAA,CAAA;CAGJ,MAAM,eAAe,GACnB,UACA,UACA,aAAa,iCACb,YAAY,gBACd;CAEA,MAAM,iBAAiB,EAAE,SAAS,iBAChC,oBAAC,UAAD;EACE,cAAY,aAAa,WAAW,QAAQ,KAAA;EAC5C,WAAW;EACX,aAAW;EACX,UAAU;EACD;EACT,MAAK;EAEJ,UAAA;CACK,CAAA;CAGV,IAAI,SAAS,SAAS,UACpB,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,eAAD;EAAe,QAAQ,SAAS;EAAS,UAAA;CAA6B,CAAA,EACpE,CAAA;CAIR,IAAI,SAAS,SAAS,WACpB,OAAO,oBAAC,MAAD,EAAA,UAAK,cAAc;EAAE,SAAS,SAAS;EAAS,YAAY;CAAM,CAAC,EAAM,CAAA;CAGlF,IAAI,SAAS,SAAS,YAAY;EAChC,MAAM,SAAS,gBAAgB,SAAS;EAExC,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,MAAD;GACE,gBAAc,SAAS,SAAS,KAAA;GAChC,cAAY,aAAa,WAAW,QAAQ,KAAA;GAC5C,IAAI,SAAS,WAAW,QAAQ,KAAA,IAAY;GAC5C,WAAW,GAAG,cAAc,UAAU,yBAAyB;GAC/D,aAAW;GACX,MAAM,SAAS;GACf,QAAQ,SAAS;GAEhB,UAAA;EACG,CAAA,EACJ,CAAA;CAER;CAEA,IAAI,CAAC,UACH,OAAO,YAAY,OACjB,oBAAC,MAAD,EAAA,UACE,oBAAC,QAAD;EAAM,WAAU;EACb,UAAA;CACG,CAAA,EACJ,CAAA;CAIR,IAAI,WACF,OACE,oBAAC,aAAD;EAAa,MAAM;EAAmB;EAAe;EAClD;CACU,CAAA;CAIjB,OACE,oBAAC,iBAAD;EACW;EACT,aAAa,mBAAmB,KAAK,QAAQ,WAAW;EAChD;EAEP;CACc,CAAA;AAErB;AAEA,SAAS,gBAAgB,EACvB,UACA,SACA,aACA,UAMC;CACD,MAAM,CAAC,MAAM,WAAW,SAAS,WAAW;CAE5C,OACE,qBAAC,MAAD,EAAA,UAAA,CACE,qBAAC,UAAD;EACE,iBAAe;EACf,WAAW,GAAG,UAAU,QAAQ;EAChC,aAAW;EACX,eAAe,SAAS,UAAU,CAAC,KAAK;EACxC,MAAK;EALP,UAAA,CAOG,SACD,oBAAC,MAAD;GACE,MAAK;GACL,WAAW,GACT,yDACA,QAAQ,WACV;EACD,CAAA,CACK;CACP,CAAA,GAAA,OAAO,oBAAC,MAAD;EAAI,WAAU;EAAiC;CAAa,CAAA,IAAI,IACtE,EAAA,CAAA;AAER;AAEA,SAAS,YAAY,EACnB,UACA,MACA,OACA,UAMC;CACD,OACE,oBAAC,MAAD,EAAA,UACE,oBAAC,SAAD;EACE,WAAU;EACV,WAAU;EACF;EACR,SACE,OACE,oBAAC,cAAD;GAAc,WAAU;GAAiC;EAAO,CAAA,IAEhE,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA;EAGvB,kBAAkB,GAAG,UAAU,gBAAgB;EAC/C,cAAc;EAEd,UAAA,qBAAC,MAAD;GAAI,WAAU;GAAd,UAAA,CACE,oBAAC,MAAD;IAAI,WAAU;IACX,UAAA;GACC,CAAA,GACH,QACC;;CACG,CAAA,EACP,CAAA;AAER"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const MenuComponent: RendererComponent<"menu">;
3
3
  export default MenuComponent;
@@ -1,5 +1,5 @@
1
- import { nodeIdentity } from "../../core/test-id.js";
2
1
  import { jsx } from "react/jsx-runtime";
2
+ import { nodeIdentity } from "@lattice-php/core/test-id";
3
3
  //#region resources/js/layout/components/menu.tsx
4
4
  var MenuComponent = ({ children, node }) => /* @__PURE__ */ jsx("nav", {
5
5
  "data-lattice-component": nodeIdentity(node),
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","names":[],"sources":["../../../resources/js/layout/components/menu.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { nodeIdentity } from \"@lattice-php/lattice/core/test-id\";\n\nconst MenuComponent: RendererComponent<\"menu\"> = ({ children, node }) => (\n <nav data-lattice-component={nodeIdentity(node)}>\n <ul className=\"flex flex-col gap-1\">{children}</ul>\n </nav>\n);\n\nexport default MenuComponent;\n"],"mappings":";;;AAGA,IAAM,iBAA4C,EAAE,UAAU,WAC5D,oBAAC,OAAD;CAAK,0BAAwB,aAAa,IAAI;CAC5C,UAAA,oBAAC,MAAD;EAAI,WAAU;EAAuB;CAAa,CAAA;AAC/C,CAAA"}
1
+ {"version":3,"file":"menu.js","names":[],"sources":["../../../resources/js/layout/components/menu.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/core/types\";\nimport { nodeIdentity } from \"@lattice-php/core/test-id\";\n\nconst MenuComponent: RendererComponent<\"menu\"> = ({ children, node }) => (\n <nav data-lattice-component={nodeIdentity(node)}>\n <ul className=\"flex flex-col gap-1\">{children}</ul>\n </nav>\n);\n\nexport default MenuComponent;\n"],"mappings":";;;AAGA,IAAM,iBAA4C,EAAE,UAAU,WAC5D,oBAAC,OAAD;CAAK,0BAAwB,aAAa,IAAI;CAC5C,UAAA,oBAAC,MAAD;EAAI,WAAU;EAAuB;CAAa,CAAA;AAC/C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  /**
3
3
  * Renders the active page at the position the layout schema places it.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"outlet.js","names":[],"sources":["../../../resources/js/layout/components/outlet.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { OutletContext } from \"@lattice-php/lattice/layout/hooks/context\";\n\n/**\n * Renders the active page at the position the layout schema places it.\n */\nconst OutletComponent: RendererComponent<\"outlet\"> = () => {\n return <>{useContext(OutletContext)}</>;\n};\n\nexport default OutletComponent;\n"],"mappings":";;;;;;;AAOA,IAAM,wBAAqD;CACzD,OAAO,oBAAA,YAAA,EAAA,UAAG,WAAW,aAAa,EAAI,CAAA;AACxC"}
1
+ {"version":3,"file":"outlet.js","names":[],"sources":["../../../resources/js/layout/components/outlet.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport type { RendererComponent } from \"@lattice-php/core/types\";\nimport { OutletContext } from \"@lattice-php/lattice/layout/hooks/context\";\n\n/**\n * Renders the active page at the position the layout schema places it.\n */\nconst OutletComponent: RendererComponent<\"outlet\"> = () => {\n return <>{useContext(OutletContext)}</>;\n};\n\nexport default OutletComponent;\n"],"mappings":";;;;;;;AAOA,IAAM,wBAAqD;CACzD,OAAO,oBAAA,YAAA,EAAA,UAAG,WAAW,aAAa,EAAI,CAAA;AACxC"}
@@ -1,9 +1,9 @@
1
- import { cn } from "../../lib/utils.js";
2
- import { CollapsedContext } from "../../core/collapsed-context.js";
3
- import { Popover as Popover$1, PopoverContent, PopoverTrigger } from "../../ui/popover.js";
4
1
  import { usePage } from "@inertiajs/react";
5
2
  import { useEffect, useState } from "react";
3
+ import { cn } from "@lattice-php/ui/lib/utils";
6
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Popover as Popover$1, PopoverContent, PopoverTrigger } from "@lattice-php/ui/popover";
6
+ import { CollapsedContext } from "@lattice-php/core/collapsed-context";
7
7
  //#region resources/js/layout/components/popover.tsx
8
8
  /**
9
9
  * A navigation-aware popover for the sidebar: it wraps the shared popover
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","names":[],"sources":["../../../resources/js/layout/components/popover.tsx"],"sourcesContent":["import { usePage } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport {\n Popover as PopoverRoot,\n PopoverContent,\n PopoverTrigger,\n} from \"@lattice-php/lattice/ui/popover\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { CollapsedContext } from \"@lattice-php/lattice/core/collapsed-context\";\n\n/**\n * A navigation-aware popover for the sidebar: it wraps the shared popover\n * primitive (so positioning and dismissal stay consistent with the rest of the\n * app) and closes itself on every Inertia navigation. Items render expanded\n * regardless of the sidebar's collapsed state.\n */\nexport function Popover({\n align = \"start\",\n children,\n className,\n placement = \"bottom\",\n testId,\n trigger,\n triggerClassName,\n triggerLabel,\n}: {\n align?: \"start\" | \"end\";\n children: ReactNode;\n className?: string;\n placement?: \"bottom\" | \"right\" | \"top\";\n testId?: string;\n trigger: ReactNode;\n triggerClassName?: string;\n triggerLabel?: string;\n}) {\n const [open, setOpen] = useState(false);\n const url = usePage().url;\n\n useEffect(() => setOpen(false), [url]);\n\n return (\n <PopoverRoot open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n aria-label={triggerLabel}\n className={cn(\"w-full\", triggerClassName)}\n data-test={testId}\n title={triggerLabel}\n type=\"button\"\n >\n {trigger}\n </button>\n </PopoverTrigger>\n <PopoverContent\n align={align}\n className={cn(\"min-w-56 p-1\", className)}\n role=\"menu\"\n side={placement}\n >\n <CollapsedContext.Provider value={false}>{children}</CollapsedContext.Provider>\n </PopoverContent>\n </PopoverRoot>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,SAAgB,QAAQ,EACtB,QAAQ,SACR,UACA,WACA,YAAY,UACZ,QACA,SACA,kBACA,gBAUC;CACD,MAAM,CAAC,MAAM,WAAW,SAAS,KAAK;CACtC,MAAM,MAAM,QAAQ,CAAC,CAAC;CAEtB,gBAAgB,QAAQ,KAAK,GAAG,CAAC,GAAG,CAAC;CAErC,OACE,qBAAC,WAAD;EAAmB;EAAM,cAAc;EAAvC,UAAA,CACE,oBAAC,gBAAD;GAAgB,SAAA;GACd,UAAA,oBAAC,UAAD;IACE,cAAY;IACZ,WAAW,GAAG,UAAU,gBAAgB;IACxC,aAAW;IACX,OAAO;IACP,MAAK;IAEJ,UAAA;GACK,CAAA;EACM,CAAA,GAChB,oBAAC,gBAAD;GACS;GACP,WAAW,GAAG,gBAAgB,SAAS;GACvC,MAAK;GACL,MAAM;GAEN,UAAA,oBAAC,iBAAiB,UAAlB;IAA2B,OAAO;IAAQ;GAAoC,CAAA;EAChE,CAAA,CACL;;AAEjB"}
1
+ {"version":3,"file":"popover.js","names":[],"sources":["../../../resources/js/layout/components/popover.tsx"],"sourcesContent":["import { usePage } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Popover as PopoverRoot, PopoverContent, PopoverTrigger } from \"@lattice-php/ui/popover\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\nimport { CollapsedContext } from \"@lattice-php/core/collapsed-context\";\n\n/**\n * A navigation-aware popover for the sidebar: it wraps the shared popover\n * primitive (so positioning and dismissal stay consistent with the rest of the\n * app) and closes itself on every Inertia navigation. Items render expanded\n * regardless of the sidebar's collapsed state.\n */\nexport function Popover({\n align = \"start\",\n children,\n className,\n placement = \"bottom\",\n testId,\n trigger,\n triggerClassName,\n triggerLabel,\n}: {\n align?: \"start\" | \"end\";\n children: ReactNode;\n className?: string;\n placement?: \"bottom\" | \"right\" | \"top\";\n testId?: string;\n trigger: ReactNode;\n triggerClassName?: string;\n triggerLabel?: string;\n}) {\n const [open, setOpen] = useState(false);\n const url = usePage().url;\n\n useEffect(() => setOpen(false), [url]);\n\n return (\n <PopoverRoot open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n aria-label={triggerLabel}\n className={cn(\"w-full\", triggerClassName)}\n data-test={testId}\n title={triggerLabel}\n type=\"button\"\n >\n {trigger}\n </button>\n </PopoverTrigger>\n <PopoverContent\n align={align}\n className={cn(\"min-w-56 p-1\", className)}\n role=\"menu\"\n side={placement}\n >\n <CollapsedContext.Provider value={false}>{children}</CollapsedContext.Provider>\n </PopoverContent>\n </PopoverRoot>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAgB,QAAQ,EACtB,QAAQ,SACR,UACA,WACA,YAAY,UACZ,QACA,SACA,kBACA,gBAUC;CACD,MAAM,CAAC,MAAM,WAAW,SAAS,KAAK;CACtC,MAAM,MAAM,QAAQ,CAAC,CAAC;CAEtB,gBAAgB,QAAQ,KAAK,GAAG,CAAC,GAAG,CAAC;CAErC,OACE,qBAAC,WAAD;EAAmB;EAAM,cAAc;EAAvC,UAAA,CACE,oBAAC,gBAAD;GAAgB,SAAA;GACd,UAAA,oBAAC,UAAD;IACE,cAAY;IACZ,WAAW,GAAG,UAAU,gBAAgB;IACxC,aAAW;IACX,OAAO;IACP,MAAK;IAEJ,UAAA;GACK,CAAA;EACM,CAAA,GAChB,oBAAC,gBAAD;GACS;GACP,WAAW,GAAG,gBAAgB,SAAS;GACvC,MAAK;GACL,MAAM;GAEN,UAAA,oBAAC,iBAAiB,UAAlB;IAA2B,OAAO;IAAQ;GAAoC,CAAA;EAChE,CAAA,CACL;;AAEjB"}
@@ -1,6 +1,6 @@
1
- import { Renderer } from "../../core/renderer.js";
2
1
  import { OutletContext } from "../hooks/context.js";
3
2
  import { usePage } from "@inertiajs/react";
3
+ import { Renderer } from "@lattice-php/core/renderer";
4
4
  import { Fragment, jsx } from "react/jsx-runtime";
5
5
  //#region resources/js/layout/components/schema-layout.tsx
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema-layout.js","names":[],"sources":["../../../resources/js/layout/components/schema-layout.tsx"],"sourcesContent":["import { usePage } from \"@inertiajs/react\";\nimport type { ReactNode } from \"react\";\nimport { Renderer } from \"@lattice-php/lattice/core/renderer\";\nimport type { PagePayload } from \"@lattice-php/lattice/core/types\";\nimport { OutletContext } from \"@lattice-php/lattice/layout/hooks/context\";\n\n/**\n * Persistent Inertia layout that renders a server-composed layout schema and\n * exposes the active page (`children`) to the Outlet via context. The same\n * component instance is reused across navigations that share a layout, so\n * shell state (open sidebar, scroll position) survives page visits.\n */\nexport default function SchemaLayout({ children }: { children: ReactNode }) {\n const lattice = usePage().props.lattice as PagePayload;\n const layout = lattice.layout;\n\n if (!layout) {\n return <>{children}</>;\n }\n\n return (\n <OutletContext.Provider value={children}>\n <Renderer nodes={layout.schema} />\n </OutletContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAwB,aAAa,EAAE,YAAqC;CAE1E,MAAM,SADU,QAAQ,CAAC,CAAC,MAAM,QACT;CAEvB,IAAI,CAAC,QACH,OAAO,oBAAA,UAAA,EAAG,SAAW,CAAA;CAGvB,OACE,oBAAC,cAAc,UAAf;EAAwB,OAAO;EAC7B,UAAA,oBAAC,UAAD,EAAU,OAAO,OAAO,OAAS,CAAA;CACX,CAAA;AAE5B"}
1
+ {"version":3,"file":"schema-layout.js","names":[],"sources":["../../../resources/js/layout/components/schema-layout.tsx"],"sourcesContent":["import { usePage } from \"@inertiajs/react\";\nimport type { ReactNode } from \"react\";\nimport { Renderer } from \"@lattice-php/core/renderer\";\nimport type { PagePayload } from \"@lattice-php/lattice/types\";\nimport { OutletContext } from \"@lattice-php/lattice/layout/hooks/context\";\n\n/**\n * Persistent Inertia layout that renders a server-composed layout schema and\n * exposes the active page (`children`) to the Outlet via context. The same\n * component instance is reused across navigations that share a layout, so\n * shell state (open sidebar, scroll position) survives page visits.\n */\nexport default function SchemaLayout({ children }: { children: ReactNode }) {\n const lattice = usePage().props.lattice as PagePayload;\n const layout = lattice.layout;\n\n if (!layout) {\n return <>{children}</>;\n }\n\n return (\n <OutletContext.Provider value={children}>\n <Renderer nodes={layout.schema} />\n </OutletContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAwB,aAAa,EAAE,YAAqC;CAE1E,MAAM,SADU,QAAQ,CAAC,CAAC,MAAM,QACT;CAEvB,IAAI,CAAC,QACH,OAAO,oBAAA,UAAA,EAAG,SAAW,CAAA;CAGvB,OACE,oBAAC,cAAc,UAAf;EAAwB,OAAO;EAC7B,UAAA,oBAAC,UAAD,EAAU,OAAO,OAAO,OAAS,CAAA;CACX,CAAA;AAE5B"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const SidebarComponent: RendererComponent<"sidebar">;
3
3
  export default SidebarComponent;
@@ -1,13 +1,13 @@
1
- import { LATTICE_EVENT } from "../../core/event-names.js";
2
- import { useWindowEvent } from "../../core/hooks/use-window-event.js";
3
- import { cn } from "../../lib/utils.js";
4
- import { CollapsedContext } from "../../core/collapsed-context.js";
5
- import { nodeIdentity } from "../../core/test-id.js";
6
- import { useMediaQuery } from "../../lib/use-media-query.js";
7
- import { useCollapsibleState } from "../../ui/use-collapsible-state.js";
8
1
  import { router } from "@inertiajs/react";
9
2
  import { useEffect, useState } from "react";
3
+ import { LATTICE_EVENT } from "@lattice-php/core/event-names";
4
+ import { cn } from "@lattice-php/ui/lib/utils";
10
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { nodeIdentity } from "@lattice-php/core/test-id";
7
+ import { CollapsedContext } from "@lattice-php/core/collapsed-context";
8
+ import { useWindowEvent } from "@lattice-php/core/hooks/use-window-event";
9
+ import { useMediaQuery } from "@lattice-php/ui/lib/use-media-query";
10
+ import { useCollapsibleState } from "@lattice-php/ui/use-collapsible-state";
11
11
  //#region resources/js/layout/components/sidebar.tsx
12
12
  var DESKTOP_QUERY = "(min-width: 768px)";
13
13
  function matchesTarget(event, identity) {
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":[],"sources":["../../../resources/js/layout/components/sidebar.tsx"],"sourcesContent":["import { router } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { CollapsedContext } from \"@lattice-php/lattice/core/collapsed-context\";\nimport { LATTICE_EVENT } from \"@lattice-php/lattice/core/event-names\";\nimport { useWindowEvent } from \"@lattice-php/lattice/core/hooks/use-window-event\";\nimport { nodeIdentity } from \"@lattice-php/lattice/core/test-id\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useMediaQuery } from \"@lattice-php/lattice/lib/use-media-query\";\nimport { useCollapsibleState } from \"@lattice-php/lattice/ui/use-collapsible-state\";\n\nconst DESKTOP_QUERY = \"(min-width: 768px)\";\n\nfunction matchesTarget(event: Event, identity: string | undefined): boolean {\n const target = (event as CustomEvent<{ target?: string }>).detail?.target;\n\n return target == null || target === identity;\n}\n\nconst SidebarComponent: RendererComponent<\"sidebar\"> = ({ children, node }) => {\n const collapsible = node.props.collapsible;\n const rememberState = node.props.rememberState;\n const identity = nodeIdentity(node);\n const storageKey = `lattice:sidebar:${identity ?? \"default\"}`;\n const isDesktop = useMediaQuery(DESKTOP_QUERY, true);\n\n const [collapsed, toggleCollapsed] = useCollapsibleState(\n storageKey,\n false,\n collapsible && rememberState,\n );\n const [mobileOpen, setMobileOpen] = useState(false);\n\n useWindowEvent(LATTICE_EVENT.toggleSidebar, (event) => {\n if (!matchesTarget(event, identity)) {\n return;\n }\n\n if (window.matchMedia?.(DESKTOP_QUERY).matches ?? true) {\n if (collapsible) {\n toggleCollapsed();\n }\n } else {\n setMobileOpen((open) => !open);\n }\n });\n\n useEffect(() => router.on(\"navigate\", () => setMobileOpen(false)), []);\n\n useWindowEvent(\n \"keydown\",\n (event) => {\n if ((event as KeyboardEvent).key === \"Escape\") {\n setMobileOpen(false);\n }\n },\n { enabled: mobileOpen },\n );\n\n const isCollapsed = collapsible && collapsed && isDesktop;\n\n return (\n <CollapsedContext.Provider value={isCollapsed}>\n {mobileOpen ? (\n <div\n aria-hidden=\"true\"\n className=\"fixed inset-0 z-lt-overlay bg-lt-overlay md:hidden\"\n data-test=\"sidebar-backdrop\"\n onClick={() => setMobileOpen(false)}\n />\n ) : null}\n <aside\n className={cn(\n \"fixed inset-y-0 left-0 z-lt-modal flex h-svh w-72 max-w-[80vw] shrink-0 flex-col gap-4 border-r border-lt-border bg-lt-bg p-4 transition-transform\",\n \"md:sticky md:top-0 md:z-auto md:max-w-none md:translate-x-0 md:transition-[width]\",\n mobileOpen ? \"translate-x-0\" : \"-translate-x-full\",\n isCollapsed\n ? \"md:w-16 md:overflow-visible\"\n : \"md:w-64 md:overflow-x-hidden md:overflow-y-auto\",\n )}\n data-collapsed={isCollapsed ? \"true\" : \"false\"}\n data-lattice-component={identity}\n data-test=\"sidebar\"\n >\n {children}\n </aside>\n </CollapsedContext.Provider>\n );\n};\n\nexport default SidebarComponent;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,gBAAgB;AAEtB,SAAS,cAAc,OAAc,UAAuC;CAC1E,MAAM,SAAU,MAA2C,QAAQ;CAEnE,OAAO,UAAU,QAAQ,WAAW;AACtC;AAEA,IAAM,oBAAkD,EAAE,UAAU,WAAW;CAC7E,MAAM,cAAc,KAAK,MAAM;CAC/B,MAAM,gBAAgB,KAAK,MAAM;CACjC,MAAM,WAAW,aAAa,IAAI;CAClC,MAAM,aAAa,mBAAmB,YAAY;CAClD,MAAM,YAAY,cAAc,eAAe,IAAI;CAEnD,MAAM,CAAC,WAAW,mBAAmB,oBACnC,YACA,OACA,eAAe,aACjB;CACA,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,eAAe,cAAc,gBAAgB,UAAU;EACrD,IAAI,CAAC,cAAc,OAAO,QAAQ,GAChC;EAGF,IAAI,OAAO,aAAa,aAAa,CAAC,CAAC,WAAW,MAC5C;OAAA,aACF,gBAAgB;EAAA,OAGlB,eAAe,SAAS,CAAC,IAAI;CAEjC,CAAC;CAED,gBAAgB,OAAO,GAAG,kBAAkB,cAAc,KAAK,CAAC,GAAG,CAAC,CAAC;CAErE,eACE,YACC,UAAU;EACT,IAAK,MAAwB,QAAQ,UACnC,cAAc,KAAK;CAEvB,GACA,EAAE,SAAS,WAAW,CACxB;CAEA,MAAM,cAAc,eAAe,aAAa;CAEhD,OACE,qBAAC,iBAAiB,UAAlB;EAA2B,OAAO;EAAlC,UAAA,CACG,aACC,oBAAC,OAAD;GACE,eAAY;GACZ,WAAU;GACV,aAAU;GACV,eAAe,cAAc,KAAK;EACnC,CAAA,IACC,MACJ,oBAAC,SAAD;GACE,WAAW,GACT,sJACA,qFACA,aAAa,kBAAkB,qBAC/B,cACI,gCACA,iDACN;GACA,kBAAgB,cAAc,SAAS;GACvC,0BAAwB;GACxB,aAAU;GAET;EACI,CAAA,CACkB;;AAE/B"}
1
+ {"version":3,"file":"sidebar.js","names":[],"sources":["../../../resources/js/layout/components/sidebar.tsx"],"sourcesContent":["import { router } from \"@inertiajs/react\";\nimport { useEffect, useState } from \"react\";\nimport type { RendererComponent } from \"@lattice-php/core/types\";\nimport { CollapsedContext } from \"@lattice-php/core/collapsed-context\";\nimport { LATTICE_EVENT } from \"@lattice-php/core/event-names\";\nimport { useWindowEvent } from \"@lattice-php/core/hooks/use-window-event\";\nimport { nodeIdentity } from \"@lattice-php/core/test-id\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\nimport { useMediaQuery } from \"@lattice-php/ui/lib/use-media-query\";\nimport { useCollapsibleState } from \"@lattice-php/ui/use-collapsible-state\";\n\nconst DESKTOP_QUERY = \"(min-width: 768px)\";\n\nfunction matchesTarget(event: Event, identity: string | undefined): boolean {\n const target = (event as CustomEvent<{ target?: string }>).detail?.target;\n\n return target == null || target === identity;\n}\n\nconst SidebarComponent: RendererComponent<\"sidebar\"> = ({ children, node }) => {\n const collapsible = node.props.collapsible;\n const rememberState = node.props.rememberState;\n const identity = nodeIdentity(node);\n const storageKey = `lattice:sidebar:${identity ?? \"default\"}`;\n const isDesktop = useMediaQuery(DESKTOP_QUERY, true);\n\n const [collapsed, toggleCollapsed] = useCollapsibleState(\n storageKey,\n false,\n collapsible && rememberState,\n );\n const [mobileOpen, setMobileOpen] = useState(false);\n\n useWindowEvent(LATTICE_EVENT.toggleSidebar, (event) => {\n if (!matchesTarget(event, identity)) {\n return;\n }\n\n if (window.matchMedia?.(DESKTOP_QUERY).matches ?? true) {\n if (collapsible) {\n toggleCollapsed();\n }\n } else {\n setMobileOpen((open) => !open);\n }\n });\n\n useEffect(() => router.on(\"navigate\", () => setMobileOpen(false)), []);\n\n useWindowEvent(\n \"keydown\",\n (event) => {\n if ((event as KeyboardEvent).key === \"Escape\") {\n setMobileOpen(false);\n }\n },\n { enabled: mobileOpen },\n );\n\n const isCollapsed = collapsible && collapsed && isDesktop;\n\n return (\n <CollapsedContext.Provider value={isCollapsed}>\n {mobileOpen ? (\n <div\n aria-hidden=\"true\"\n className=\"fixed inset-0 z-lt-overlay bg-lt-overlay md:hidden\"\n data-test=\"sidebar-backdrop\"\n onClick={() => setMobileOpen(false)}\n />\n ) : null}\n <aside\n className={cn(\n \"fixed inset-y-0 left-0 z-lt-modal flex h-svh w-72 max-w-[80vw] shrink-0 flex-col gap-4 border-r border-lt-border bg-lt-bg p-4 transition-transform\",\n \"md:sticky md:top-0 md:z-auto md:max-w-none md:translate-x-0 md:transition-[width]\",\n mobileOpen ? \"translate-x-0\" : \"-translate-x-full\",\n isCollapsed\n ? \"md:w-16 md:overflow-visible\"\n : \"md:w-64 md:overflow-x-hidden md:overflow-y-auto\",\n )}\n data-collapsed={isCollapsed ? \"true\" : \"false\"}\n data-lattice-component={identity}\n data-test=\"sidebar\"\n >\n {children}\n </aside>\n </CollapsedContext.Provider>\n );\n};\n\nexport default SidebarComponent;\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,gBAAgB;AAEtB,SAAS,cAAc,OAAc,UAAuC;CAC1E,MAAM,SAAU,MAA2C,QAAQ;CAEnE,OAAO,UAAU,QAAQ,WAAW;AACtC;AAEA,IAAM,oBAAkD,EAAE,UAAU,WAAW;CAC7E,MAAM,cAAc,KAAK,MAAM;CAC/B,MAAM,gBAAgB,KAAK,MAAM;CACjC,MAAM,WAAW,aAAa,IAAI;CAClC,MAAM,aAAa,mBAAmB,YAAY;CAClD,MAAM,YAAY,cAAc,eAAe,IAAI;CAEnD,MAAM,CAAC,WAAW,mBAAmB,oBACnC,YACA,OACA,eAAe,aACjB;CACA,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,eAAe,cAAc,gBAAgB,UAAU;EACrD,IAAI,CAAC,cAAc,OAAO,QAAQ,GAChC;EAGF,IAAI,OAAO,aAAa,aAAa,CAAC,CAAC,WAAW,MAC5C;OAAA,aACF,gBAAgB;EAAA,OAGlB,eAAe,SAAS,CAAC,IAAI;CAEjC,CAAC;CAED,gBAAgB,OAAO,GAAG,kBAAkB,cAAc,KAAK,CAAC,GAAG,CAAC,CAAC;CAErE,eACE,YACC,UAAU;EACT,IAAK,MAAwB,QAAQ,UACnC,cAAc,KAAK;CAEvB,GACA,EAAE,SAAS,WAAW,CACxB;CAEA,MAAM,cAAc,eAAe,aAAa;CAEhD,OACE,qBAAC,iBAAiB,UAAlB;EAA2B,OAAO;EAAlC,UAAA,CACG,aACC,oBAAC,OAAD;GACE,eAAY;GACZ,WAAU;GACV,aAAU;GACV,eAAe,cAAc,KAAK;EACnC,CAAA,IACC,MACJ,oBAAC,SAAD;GACE,WAAW,GACT,sJACA,qFACA,aAAa,kBAAkB,qBAC/B,cACI,gCACA,iDACN;GACA,kBAAgB,cAAc,SAAS;GACvC,0BAAwB;GACxB,aAAU;GAET;EACI,CAAA,CACkB;;AAE/B"}
@@ -1,3 +1,3 @@
1
- import { RendererComponent } from '../../core/types.js';
1
+ import { RendererComponent } from '@lattice-php/core/types';
2
2
  declare const TopbarComponent: RendererComponent<"topbar">;
3
3
  export default TopbarComponent;
@@ -1,6 +1,6 @@
1
- import { cn } from "../../lib/utils.js";
2
- import { nodeIdentity } from "../../core/test-id.js";
1
+ import { cn } from "@lattice-php/ui/lib/utils";
3
2
  import { jsx } from "react/jsx-runtime";
3
+ import { nodeIdentity } from "@lattice-php/core/test-id";
4
4
  //#region resources/js/layout/components/topbar.tsx
5
5
  var TopbarComponent = ({ children, node }) => {
6
6
  const sticky = node.props.sticky;
@@ -1 +1 @@
1
- {"version":3,"file":"topbar.js","names":[],"sources":["../../../resources/js/layout/components/topbar.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { nodeIdentity } from \"@lattice-php/lattice/core/test-id\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\n\nconst TopbarComponent: RendererComponent<\"topbar\"> = ({ children, node }) => {\n const sticky = node.props.sticky;\n\n return (\n <header\n data-lattice-component={nodeIdentity(node)}\n className={cn(\n \"flex h-14 w-full items-center gap-2 border-b border-lt-border bg-lt-bg px-4 text-lt-fg\",\n sticky && \"sticky top-0 z-lt-sticky\",\n )}\n >\n {children}\n </header>\n );\n};\n\nexport default TopbarComponent;\n"],"mappings":";;;;AAIA,IAAM,mBAAgD,EAAE,UAAU,WAAW;CAC3E,MAAM,SAAS,KAAK,MAAM;CAE1B,OACE,oBAAC,UAAD;EACE,0BAAwB,aAAa,IAAI;EACzC,WAAW,GACT,0FACA,UAAU,0BACZ;EAEC;CACK,CAAA;AAEZ"}
1
+ {"version":3,"file":"topbar.js","names":[],"sources":["../../../resources/js/layout/components/topbar.tsx"],"sourcesContent":["import type { RendererComponent } from \"@lattice-php/core/types\";\nimport { nodeIdentity } from \"@lattice-php/core/test-id\";\nimport { cn } from \"@lattice-php/ui/lib/utils\";\n\nconst TopbarComponent: RendererComponent<\"topbar\"> = ({ children, node }) => {\n const sticky = node.props.sticky;\n\n return (\n <header\n data-lattice-component={nodeIdentity(node)}\n className={cn(\n \"flex h-14 w-full items-center gap-2 border-b border-lt-border bg-lt-bg px-4 text-lt-fg\",\n sticky && \"sticky top-0 z-lt-sticky\",\n )}\n >\n {children}\n </header>\n );\n};\n\nexport default TopbarComponent;\n"],"mappings":";;;;AAIA,IAAM,mBAAgD,EAAE,UAAU,WAAW;CAC3E,MAAM,SAAS,KAAK,MAAM;CAE1B,OACE,oBAAC,UAAD;EACE,0BAAwB,aAAa,IAAI;EACzC,WAAW,GACT,0FACA,UAAU,0BACZ;EAEC;CACK,CAAA;AAEZ"}
@@ -1,4 +1,4 @@
1
1
  import { ReactNode } from 'react';
2
- import { CollapsedContext as SidebarCollapsedContext, useCollapsed as useSidebarCollapsed } from '../../core/collapsed-context.js';
2
+ import { CollapsedContext as SidebarCollapsedContext, useCollapsed as useSidebarCollapsed } from '@lattice-php/core/collapsed-context';
3
3
  export declare const OutletContext: import('react').Context<ReactNode>;
4
4
  export { SidebarCollapsedContext, useSidebarCollapsed };
@@ -1,8 +1,8 @@
1
- import { CollapsedContext, useCollapsed } from "../../core/collapsed-context.js";
2
1
  import { createContext } from "react";
2
+ import { CollapsedContext as SidebarCollapsedContext, useCollapsed as useSidebarCollapsed } from "@lattice-php/core/collapsed-context";
3
3
  //#region resources/js/layout/hooks/context.ts
4
4
  var OutletContext = createContext(null);
5
5
  //#endregion
6
- export { OutletContext, CollapsedContext as SidebarCollapsedContext, useCollapsed as useSidebarCollapsed };
6
+ export { OutletContext, SidebarCollapsedContext, useSidebarCollapsed };
7
7
 
8
8
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../resources/js/layout/hooks/context.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport {\n CollapsedContext as SidebarCollapsedContext,\n useCollapsed as useSidebarCollapsed,\n} from \"@lattice-php/lattice/core/collapsed-context\";\n\nexport const OutletContext = createContext<ReactNode>(null);\n\nexport { SidebarCollapsedContext, useSidebarCollapsed };\n"],"mappings":";;;AAOA,IAAa,gBAAgB,cAAyB,IAAI"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../resources/js/layout/hooks/context.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport {\n CollapsedContext as SidebarCollapsedContext,\n useCollapsed as useSidebarCollapsed,\n} from \"@lattice-php/core/collapsed-context\";\n\nexport const OutletContext = createContext<ReactNode>(null);\n\nexport { SidebarCollapsedContext, useSidebarCollapsed };\n"],"mappings":";;;AAOA,IAAa,gBAAgB,cAAyB,IAAI"}