@lattice-php/lattice 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (879) hide show
  1. package/README.md +5 -42
  2. package/dist/_virtual/_rolldown/runtime.js +27 -0
  3. package/dist/action/components/action-form.d.ts +1 -29
  4. package/dist/action/components/action-form.js +6 -257
  5. package/dist/action/components/action-form.js.map +1 -1
  6. package/dist/action/components/action-group.d.ts +1 -1
  7. package/dist/action/components/action-group.js +7 -7
  8. package/dist/action/components/action-group.js.map +1 -1
  9. package/dist/action/components/action-trigger-provider.d.ts +2 -2
  10. package/dist/action/components/action-trigger-provider.js +1 -1
  11. package/dist/action/components/action-trigger-provider.js.map +1 -1
  12. package/dist/action/components/action.d.ts +1 -1
  13. package/dist/action/components/action.js +5 -5
  14. package/dist/action/components/action.js.map +1 -1
  15. package/dist/action/hooks/use-action.d.ts +1 -1
  16. package/dist/action/hooks/use-action.js +10 -10
  17. package/dist/action/hooks/use-action.js.map +1 -1
  18. package/dist/action/index.d.ts +1 -1
  19. package/dist/action/index.js +5 -3
  20. package/dist/action/lib/action-label.d.ts +1 -1
  21. package/dist/action/lib/action-label.js +1 -1
  22. package/dist/action/lib/action-label.js.map +1 -1
  23. package/dist/action/lib/run-action.d.ts +1 -9
  24. package/dist/action/lib/run-action.js +6 -20
  25. package/dist/action/lib/run-action.js.map +1 -1
  26. package/dist/action/plugin.d.ts +2 -1
  27. package/dist/action/plugin.js +3 -3
  28. package/dist/action/plugin.js.map +1 -1
  29. package/dist/appearance/index.js +1 -1
  30. package/dist/appearance/index.js.map +1 -1
  31. package/dist/chat/components/chat-box.d.ts +1 -1
  32. package/dist/chat/components/chat-box.js +4 -4
  33. package/dist/chat/components/chat-box.js.map +1 -1
  34. package/dist/chat/components/message-list.js +1 -1
  35. package/dist/chat/components/message-list.js.map +1 -1
  36. package/dist/chat/components/message.js +3 -3
  37. package/dist/chat/components/message.js.map +1 -1
  38. package/dist/chat/components/prompt-input.js +4 -4
  39. package/dist/chat/components/prompt-input.js.map +1 -1
  40. package/dist/chat/lib/transport.d.ts +1 -1
  41. package/dist/chat/lib/transport.js +1 -1
  42. package/dist/chat/lib/transport.js.map +1 -1
  43. package/dist/chat/parts/text.d.ts +1 -1
  44. package/dist/chat/parts/text.js.map +1 -1
  45. package/dist/chat/parts/tool-call.d.ts +1 -1
  46. package/dist/chat/parts/tool-call.js +1 -1
  47. package/dist/chat/parts/tool-call.js.map +1 -1
  48. package/dist/chat/plugin.d.ts +2 -1
  49. package/dist/chat/plugin.js +3 -3
  50. package/dist/chat/plugin.js.map +1 -1
  51. package/dist/chat/types.d.ts +1 -1
  52. package/dist/create-app.d.ts +2 -2
  53. package/dist/create-app.js +12 -10
  54. package/dist/create-app.js.map +1 -1
  55. package/dist/event-bridge.js +2 -2
  56. package/dist/event-bridge.js.map +1 -1
  57. package/dist/{ui → fragments}/fragment.d.ts +1 -1
  58. package/dist/{ui → fragments}/fragment.js +6 -6
  59. package/dist/fragments/fragment.js.map +1 -0
  60. package/dist/fragments/plugin.d.ts +2 -0
  61. package/dist/fragments/plugin.js +11 -0
  62. package/dist/fragments/plugin.js.map +1 -0
  63. package/dist/index.d.ts +21 -22
  64. package/dist/index.js +14 -18
  65. package/dist/inertia.js +2 -2
  66. package/dist/inertia.js.map +1 -1
  67. package/dist/layout/components/breadcrumbs.d.ts +1 -1
  68. package/dist/layout/components/breadcrumbs.js +2 -2
  69. package/dist/layout/components/breadcrumbs.js.map +1 -1
  70. package/dist/layout/components/callouts.d.ts +1 -1
  71. package/dist/layout/components/callouts.js +5 -5
  72. package/dist/layout/components/callouts.js.map +1 -1
  73. package/dist/layout/components/dropdown.d.ts +1 -1
  74. package/dist/layout/components/dropdown.js +1 -1
  75. package/dist/layout/components/dropdown.js.map +1 -1
  76. package/dist/layout/components/menu-item.d.ts +1 -1
  77. package/dist/layout/components/menu-item.js +6 -7
  78. package/dist/layout/components/menu-item.js.map +1 -1
  79. package/dist/layout/components/menu.d.ts +1 -1
  80. package/dist/layout/components/menu.js +1 -1
  81. package/dist/layout/components/menu.js.map +1 -1
  82. package/dist/layout/components/outlet.d.ts +1 -1
  83. package/dist/layout/components/outlet.js.map +1 -1
  84. package/dist/layout/components/popover.js +3 -3
  85. package/dist/layout/components/popover.js.map +1 -1
  86. package/dist/layout/components/schema-layout.js +1 -1
  87. package/dist/layout/components/schema-layout.js.map +1 -1
  88. package/dist/layout/components/sidebar.d.ts +1 -1
  89. package/dist/layout/components/sidebar.js +7 -7
  90. package/dist/layout/components/sidebar.js.map +1 -1
  91. package/dist/layout/components/topbar.d.ts +1 -1
  92. package/dist/layout/components/topbar.js +2 -2
  93. package/dist/layout/components/topbar.js.map +1 -1
  94. package/dist/layout/hooks/context.d.ts +1 -1
  95. package/dist/layout/hooks/context.js +2 -2
  96. package/dist/layout/hooks/context.js.map +1 -1
  97. package/dist/layout/index.js +2 -3
  98. package/dist/layout/plugin.d.ts +2 -1
  99. package/dist/layout/plugin.js +3 -3
  100. package/dist/layout/plugin.js.map +1 -1
  101. package/dist/notifications/api.js +1 -1
  102. package/dist/notifications/api.js.map +1 -1
  103. package/dist/notifications/components/empty-state.js +2 -2
  104. package/dist/notifications/components/empty-state.js.map +1 -1
  105. package/dist/notifications/components/notification-item.js +5 -5
  106. package/dist/notifications/components/notification-item.js.map +1 -1
  107. package/dist/notifications/components/notification-list.js +2 -2
  108. package/dist/notifications/components/notification-list.js.map +1 -1
  109. package/dist/notifications/components/notifications.d.ts +1 -1
  110. package/dist/notifications/components/notifications.js +4 -4
  111. package/dist/notifications/components/notifications.js.map +1 -1
  112. package/dist/notifications/plugin.d.ts +2 -1
  113. package/dist/notifications/plugin.js +3 -3
  114. package/dist/notifications/plugin.js.map +1 -1
  115. package/dist/page.js +2 -2
  116. package/dist/page.js.map +1 -1
  117. package/dist/provider-base.d.ts +2 -2
  118. package/dist/provider-base.js +3 -3
  119. package/dist/provider-base.js.map +1 -1
  120. package/dist/provider.d.ts +4 -2
  121. package/dist/provider.js +3 -1
  122. package/dist/provider.js.map +1 -1
  123. package/dist/realtime/build-effects.d.ts +1 -1
  124. package/dist/realtime/build-effects.js +1 -1
  125. package/dist/realtime/build-effects.js.map +1 -1
  126. package/dist/realtime/subscriptions.js +2 -2
  127. package/dist/realtime/subscriptions.js.map +1 -1
  128. package/dist/registry.d.ts +1 -1
  129. package/dist/registry.js +6 -5
  130. package/dist/registry.js.map +1 -1
  131. package/dist/remote/components/data-list.d.ts +1 -1
  132. package/dist/remote/components/data-list.js +4 -4
  133. package/dist/remote/components/data-list.js.map +1 -1
  134. package/dist/remote/plugin.d.ts +2 -1
  135. package/dist/remote/plugin.js +3 -3
  136. package/dist/remote/plugin.js.map +1 -1
  137. package/dist/runtime.d.ts +9 -0
  138. package/dist/runtime.js +24 -0
  139. package/dist/toast/callout.js +2 -2
  140. package/dist/toast/callout.js.map +1 -1
  141. package/dist/toast/toast.js +2 -2
  142. package/dist/toast/toast.js.map +1 -1
  143. package/dist/toast/toaster.js +6 -6
  144. package/dist/toast/toaster.js.map +1 -1
  145. package/dist/toast/variant-styles.js +1 -1
  146. package/dist/toast/variant-styles.js.map +1 -1
  147. package/dist/types/core-augmentation.d.ts +4 -0
  148. package/dist/types/generated.d.ts +10 -9
  149. package/dist/types/index.d.ts +10 -2
  150. package/dist/vite.d.ts +2 -2
  151. package/dist/vite.js +14 -5
  152. package/dist/vite.js.map +1 -1
  153. package/dist-standalone/chunks/chart-view-DFSCMDuw.js +59 -0
  154. package/dist-standalone/chunks/{test-id-Dh3L6Gfh.js → clsx-CjueKrWZ.js} +1 -1
  155. package/dist-standalone/chunks/{code-block-view-fzD5e55N.js → code-block-view-CetAq3Rk.js} +2 -2
  156. package/dist-standalone/chunks/date-picker-field-D6S8aN1p.js +1 -0
  157. package/dist-standalone/chunks/debounce-CBXrtDuZ.js +1 -0
  158. package/dist-standalone/chunks/dist-D2qBbka0.js +2 -0
  159. package/dist-standalone/chunks/floating-ui.dom-CO6FyQ6K.js +1 -0
  160. package/dist-standalone/chunks/icon-button-COE_nq4v.js +41 -0
  161. package/dist-standalone/chunks/instance-D6cXaqIT.js +1 -0
  162. package/dist-standalone/chunks/jsx-runtime-NZYk81nU.js +1 -0
  163. package/dist-standalone/chunks/locale-BZOrJtMq.js +1 -0
  164. package/dist-standalone/chunks/{notifications-echo-uU87iJAV.js → notifications-echo-BLO9_g1w.js} +1 -1
  165. package/dist-standalone/chunks/number-DjNO0Pxv.js +1 -0
  166. package/dist-standalone/chunks/page-props-DZ15iP5k.js +1 -0
  167. package/dist-standalone/chunks/react-CwJFpaho.js +1 -0
  168. package/dist-standalone/chunks/react-dom-Dl-LT-t1.js +1 -0
  169. package/dist-standalone/chunks/registry-context-BdTXNnGL.js +97 -0
  170. package/dist-standalone/chunks/{rich-editor-field-BZQIPOLc.js → rich-editor-field-n-mtzlT-.js} +35 -35
  171. package/dist-standalone/chunks/rolldown-runtime-hePW80VL.js +1 -0
  172. package/dist-standalone/chunks/runtime-Bh_GyTCD.js +23 -0
  173. package/dist-standalone/chunks/subscriptions-BICQU9ps.js +1 -0
  174. package/dist-standalone/chunks/time-picker-CAwU5Rl-.js +1 -0
  175. package/dist-standalone/chunks/timezone-Ckl1gbqB.js +1 -0
  176. package/dist-standalone/chunks/translatable-YXSlt1CF.js +1 -0
  177. package/dist-standalone/chunks/with-selector-Cse0iXU1.js +1 -0
  178. package/dist-standalone/jsx-runtime.js +1 -0
  179. package/dist-standalone/lattice.css +1 -1
  180. package/dist-standalone/lattice.js +2 -23
  181. package/dist-standalone/manifest.json +1 -1
  182. package/dist-standalone/react.js +1 -0
  183. package/dist-standalone/runtime.js +1 -0
  184. package/package.json +15 -239
  185. package/LICENSE.md +0 -21
  186. package/dist/core/api.d.ts +0 -42
  187. package/dist/core/api.js +0 -165
  188. package/dist/core/api.js.map +0 -1
  189. package/dist/core/collapsed-context.d.ts +0 -2
  190. package/dist/core/collapsed-context.js +0 -10
  191. package/dist/core/collapsed-context.js.map +0 -1
  192. package/dist/core/component-ref.d.ts +0 -11
  193. package/dist/core/component-ref.js +0 -33
  194. package/dist/core/component-ref.js.map +0 -1
  195. package/dist/core/event-names.d.ts +0 -23
  196. package/dist/core/event-names.js +0 -24
  197. package/dist/core/event-names.js.map +0 -1
  198. package/dist/core/headers.d.ts +0 -1
  199. package/dist/core/headers.js +0 -14
  200. package/dist/core/headers.js.map +0 -1
  201. package/dist/core/hooks/column-sizing.d.ts +0 -17
  202. package/dist/core/hooks/column-sizing.js +0 -54
  203. package/dist/core/hooks/column-sizing.js.map +0 -1
  204. package/dist/core/hooks/use-column-resizing.d.ts +0 -28
  205. package/dist/core/hooks/use-column-resizing.js +0 -220
  206. package/dist/core/hooks/use-column-resizing.js.map +0 -1
  207. package/dist/core/hooks/use-window-event.d.ts +0 -8
  208. package/dist/core/hooks/use-window-event.js +0 -22
  209. package/dist/core/hooks/use-window-event.js.map +0 -1
  210. package/dist/core/index.d.ts +0 -17
  211. package/dist/core/index.js +0 -13
  212. package/dist/core/materialize.d.ts +0 -9
  213. package/dist/core/materialize.js +0 -39
  214. package/dist/core/materialize.js.map +0 -1
  215. package/dist/core/nodes.d.ts +0 -11
  216. package/dist/core/nodes.js +0 -20
  217. package/dist/core/nodes.js.map +0 -1
  218. package/dist/core/registry-context.d.ts +0 -21
  219. package/dist/core/registry-context.js +0 -40
  220. package/dist/core/registry-context.js.map +0 -1
  221. package/dist/core/registry.d.ts +0 -38
  222. package/dist/core/registry.js +0 -60
  223. package/dist/core/registry.js.map +0 -1
  224. package/dist/core/renderer.d.ts +0 -8
  225. package/dist/core/renderer.js +0 -76
  226. package/dist/core/renderer.js.map +0 -1
  227. package/dist/core/test-id.d.ts +0 -8
  228. package/dist/core/test-id.js +0 -21
  229. package/dist/core/test-id.js.map +0 -1
  230. package/dist/core/types.d.ts +0 -26
  231. package/dist/core/types.js +0 -0
  232. package/dist/core/upload.d.ts +0 -25
  233. package/dist/core/upload.js +0 -48
  234. package/dist/core/upload.js.map +0 -1
  235. package/dist/effects/dispatch.d.ts +0 -19
  236. package/dist/effects/dispatch.js +0 -39
  237. package/dist/effects/dispatch.js.map +0 -1
  238. package/dist/effects/registry.d.ts +0 -12
  239. package/dist/effects/registry.js +0 -43
  240. package/dist/effects/registry.js.map +0 -1
  241. package/dist/effects/use-effect-dispatcher.d.ts +0 -8
  242. package/dist/effects/use-effect-dispatcher.js +0 -20
  243. package/dist/effects/use-effect-dispatcher.js.map +0 -1
  244. package/dist/effects/use-flash-effects.d.ts +0 -5
  245. package/dist/effects/use-flash-effects.js +0 -22
  246. package/dist/effects/use-flash-effects.js.map +0 -1
  247. package/dist/form/components/base/field.d.ts +0 -21
  248. package/dist/form/components/base/field.js +0 -80
  249. package/dist/form/components/base/field.js.map +0 -1
  250. package/dist/form/components/base/submit-button.d.ts +0 -7
  251. package/dist/form/components/base/submit-button.js +0 -49
  252. package/dist/form/components/base/submit-button.js.map +0 -1
  253. package/dist/form/components/fields/add-row-menu.d.ts +0 -9
  254. package/dist/form/components/fields/add-row-menu.js +0 -27
  255. package/dist/form/components/fields/add-row-menu.js.map +0 -1
  256. package/dist/form/components/fields/builder.d.ts +0 -2
  257. package/dist/form/components/fields/builder.js +0 -132
  258. package/dist/form/components/fields/builder.js.map +0 -1
  259. package/dist/form/components/fields/checkbox.d.ts +0 -2
  260. package/dist/form/components/fields/checkbox.js +0 -52
  261. package/dist/form/components/fields/checkbox.js.map +0 -1
  262. package/dist/form/components/fields/choice.d.ts +0 -2
  263. package/dist/form/components/fields/choice.js +0 -44
  264. package/dist/form/components/fields/choice.js.map +0 -1
  265. package/dist/form/components/fields/color-picker-field.d.ts +0 -2
  266. package/dist/form/components/fields/color-picker-field.js +0 -57
  267. package/dist/form/components/fields/color-picker-field.js.map +0 -1
  268. package/dist/form/components/fields/date-input.d.ts +0 -2
  269. package/dist/form/components/fields/date-input.js +0 -31
  270. package/dist/form/components/fields/date-input.js.map +0 -1
  271. package/dist/form/components/fields/date-picker-field.d.ts +0 -20
  272. package/dist/form/components/fields/date-picker-field.js +0 -197
  273. package/dist/form/components/fields/date-picker-field.js.map +0 -1
  274. package/dist/form/components/fields/date-picker-value.d.ts +0 -10
  275. package/dist/form/components/fields/date-picker-value.js +0 -125
  276. package/dist/form/components/fields/date-picker-value.js.map +0 -1
  277. package/dist/form/components/fields/date-picker.d.ts +0 -2
  278. package/dist/form/components/fields/date-picker.js +0 -17
  279. package/dist/form/components/fields/date-picker.js.map +0 -1
  280. package/dist/form/components/fields/date-time-input.d.ts +0 -2
  281. package/dist/form/components/fields/date-time-input.js +0 -35
  282. package/dist/form/components/fields/date-time-input.js.map +0 -1
  283. package/dist/form/components/fields/file-upload.d.ts +0 -2
  284. package/dist/form/components/fields/file-upload.js +0 -264
  285. package/dist/form/components/fields/file-upload.js.map +0 -1
  286. package/dist/form/components/fields/hidden-input.d.ts +0 -2
  287. package/dist/form/components/fields/hidden-input.js +0 -17
  288. package/dist/form/components/fields/hidden-input.js.map +0 -1
  289. package/dist/form/components/fields/number-input.d.ts +0 -2
  290. package/dist/form/components/fields/number-input.js +0 -60
  291. package/dist/form/components/fields/number-input.js.map +0 -1
  292. package/dist/form/components/fields/otp-input.d.ts +0 -2
  293. package/dist/form/components/fields/otp-input.js +0 -25
  294. package/dist/form/components/fields/otp-input.js.map +0 -1
  295. package/dist/form/components/fields/password-input.d.ts +0 -2
  296. package/dist/form/components/fields/password-input.js +0 -79
  297. package/dist/form/components/fields/password-input.js.map +0 -1
  298. package/dist/form/components/fields/repeater-rows.d.ts +0 -15
  299. package/dist/form/components/fields/repeater-rows.js +0 -48
  300. package/dist/form/components/fields/repeater-rows.js.map +0 -1
  301. package/dist/form/components/fields/repeater.d.ts +0 -2
  302. package/dist/form/components/fields/repeater.js +0 -109
  303. package/dist/form/components/fields/repeater.js.map +0 -1
  304. package/dist/form/components/fields/rich-editor-field.d.ts +0 -3
  305. package/dist/form/components/fields/rich-editor-field.js +0 -104
  306. package/dist/form/components/fields/rich-editor-field.js.map +0 -1
  307. package/dist/form/components/fields/rich-editor.d.ts +0 -2
  308. package/dist/form/components/fields/rich-editor.js +0 -15
  309. package/dist/form/components/fields/rich-editor.js.map +0 -1
  310. package/dist/form/components/fields/row-action-menu.d.ts +0 -18
  311. package/dist/form/components/fields/row-action-menu.js +0 -61
  312. package/dist/form/components/fields/row-action-menu.js.map +0 -1
  313. package/dist/form/components/fields/row-actions.d.ts +0 -10
  314. package/dist/form/components/fields/row-actions.js +0 -47
  315. package/dist/form/components/fields/row-actions.js.map +0 -1
  316. package/dist/form/components/fields/row-item.d.ts +0 -28
  317. package/dist/form/components/fields/row-item.js +0 -70
  318. package/dist/form/components/fields/row-item.js.map +0 -1
  319. package/dist/form/components/fields/row-key-inputs.d.ts +0 -7
  320. package/dist/form/components/fields/row-key-inputs.js +0 -16
  321. package/dist/form/components/fields/row-key-inputs.js.map +0 -1
  322. package/dist/form/components/fields/row-templates.d.ts +0 -9
  323. package/dist/form/components/fields/row-templates.js +0 -14
  324. package/dist/form/components/fields/row-templates.js.map +0 -1
  325. package/dist/form/components/fields/select.d.ts +0 -2
  326. package/dist/form/components/fields/select.js +0 -213
  327. package/dist/form/components/fields/select.js.map +0 -1
  328. package/dist/form/components/fields/simple-field.d.ts +0 -9
  329. package/dist/form/components/fields/simple-field.js +0 -22
  330. package/dist/form/components/fields/simple-field.js.map +0 -1
  331. package/dist/form/components/fields/table-rows.d.ts +0 -33
  332. package/dist/form/components/fields/table-rows.js +0 -176
  333. package/dist/form/components/fields/table-rows.js.map +0 -1
  334. package/dist/form/components/fields/text-input.d.ts +0 -2
  335. package/dist/form/components/fields/text-input.js +0 -42
  336. package/dist/form/components/fields/text-input.js.map +0 -1
  337. package/dist/form/components/fields/textarea.d.ts +0 -2
  338. package/dist/form/components/fields/textarea.js +0 -28
  339. package/dist/form/components/fields/textarea.js.map +0 -1
  340. package/dist/form/components/fields/time-input.d.ts +0 -2
  341. package/dist/form/components/fields/time-input.js +0 -69
  342. package/dist/form/components/fields/time-input.js.map +0 -1
  343. package/dist/form/components/fields/time-picker-columns.d.ts +0 -24
  344. package/dist/form/components/fields/time-picker-columns.js +0 -76
  345. package/dist/form/components/fields/time-picker-columns.js.map +0 -1
  346. package/dist/form/components/fields/time-picker.d.ts +0 -18
  347. package/dist/form/components/fields/time-picker.js +0 -131
  348. package/dist/form/components/fields/time-picker.js.map +0 -1
  349. package/dist/form/components/fields/toggle.d.ts +0 -2
  350. package/dist/form/components/fields/toggle.js +0 -66
  351. package/dist/form/components/fields/toggle.js.map +0 -1
  352. package/dist/form/components/fields/use-flip-reorder.d.ts +0 -6
  353. package/dist/form/components/fields/use-flip-reorder.js +0 -52
  354. package/dist/form/components/fields/use-flip-reorder.js.map +0 -1
  355. package/dist/form/components/fields/use-row-collection.d.ts +0 -12
  356. package/dist/form/components/fields/use-row-collection.js +0 -45
  357. package/dist/form/components/fields/use-row-collection.js.map +0 -1
  358. package/dist/form/components/form.d.ts +0 -2
  359. package/dist/form/components/form.js +0 -182
  360. package/dist/form/components/form.js.map +0 -1
  361. package/dist/form/components/index.d.ts +0 -19
  362. package/dist/form/components/index.js +0 -20
  363. package/dist/form/components/wizard.d.ts +0 -3
  364. package/dist/form/components/wizard.js +0 -148
  365. package/dist/form/components/wizard.js.map +0 -1
  366. package/dist/form/embed.d.ts +0 -22
  367. package/dist/form/embed.js +0 -13
  368. package/dist/form/hooks/context.d.ts +0 -25
  369. package/dist/form/hooks/context.js +0 -31
  370. package/dist/form/hooks/context.js.map +0 -1
  371. package/dist/form/hooks/field-scope.d.ts +0 -22
  372. package/dist/form/hooks/field-scope.js +0 -54
  373. package/dist/form/hooks/field-scope.js.map +0 -1
  374. package/dist/form/hooks/prefill-context.d.ts +0 -5
  375. package/dist/form/hooks/prefill-context.js +0 -11
  376. package/dist/form/hooks/prefill-context.js.map +0 -1
  377. package/dist/form/hooks/resolved-nodes.d.ts +0 -6
  378. package/dist/form/hooks/resolved-nodes.js +0 -23
  379. package/dist/form/hooks/resolved-nodes.js.map +0 -1
  380. package/dist/form/hooks/row-layout-context.d.ts +0 -5
  381. package/dist/form/hooks/row-layout-context.js +0 -18
  382. package/dist/form/hooks/row-layout-context.js.map +0 -1
  383. package/dist/form/hooks/use-controlled-field.d.ts +0 -13
  384. package/dist/form/hooks/use-controlled-field.js +0 -41
  385. package/dist/form/hooks/use-controlled-field.js.map +0 -1
  386. package/dist/form/hooks/use-dependent-field.d.ts +0 -3
  387. package/dist/form/hooks/use-dependent-field.js +0 -25
  388. package/dist/form/hooks/use-dependent-field.js.map +0 -1
  389. package/dist/form/hooks/use-field-commit.d.ts +0 -24
  390. package/dist/form/hooks/use-field-commit.js +0 -51
  391. package/dist/form/hooks/use-field-commit.js.map +0 -1
  392. package/dist/form/hooks/use-form-resolver.d.ts +0 -8
  393. package/dist/form/hooks/use-form-resolver.js +0 -99
  394. package/dist/form/hooks/use-form-resolver.js.map +0 -1
  395. package/dist/form/hooks/use-seed-default.d.ts +0 -5
  396. package/dist/form/hooks/use-seed-default.js +0 -28
  397. package/dist/form/hooks/use-seed-default.js.map +0 -1
  398. package/dist/form/hooks/values.d.ts +0 -17
  399. package/dist/form/hooks/values.js +0 -154
  400. package/dist/form/hooks/values.js.map +0 -1
  401. package/dist/form/index.d.ts +0 -5
  402. package/dist/form/index.js +0 -23
  403. package/dist/form/lib/collect-fields.d.ts +0 -7
  404. package/dist/form/lib/collect-fields.js +0 -19
  405. package/dist/form/lib/collect-fields.js.map +0 -1
  406. package/dist/form/lib/conditions.d.ts +0 -17
  407. package/dist/form/lib/conditions.js +0 -80
  408. package/dist/form/lib/conditions.js.map +0 -1
  409. package/dist/form/lib/field-dom-name.d.ts +0 -1
  410. package/dist/form/lib/field-dom-name.js +0 -10
  411. package/dist/form/lib/field-dom-name.js.map +0 -1
  412. package/dist/form/lib/field-errors.d.ts +0 -5
  413. package/dist/form/lib/field-errors.js +0 -15
  414. package/dist/form/lib/field-errors.js.map +0 -1
  415. package/dist/form/lib/field-props.d.ts +0 -19
  416. package/dist/form/lib/field-props.js +0 -20
  417. package/dist/form/lib/field-props.js.map +0 -1
  418. package/dist/form/lib/form-path.d.ts +0 -4
  419. package/dist/form/lib/form-path.js +0 -40
  420. package/dist/form/lib/form-path.js.map +0 -1
  421. package/dist/form/lib/form-transport.d.ts +0 -7
  422. package/dist/form/lib/form-transport.js +0 -21
  423. package/dist/form/lib/form-transport.js.map +0 -1
  424. package/dist/form/lib/override-keys.d.ts +0 -2
  425. package/dist/form/lib/override-keys.js +0 -12
  426. package/dist/form/lib/override-keys.js.map +0 -1
  427. package/dist/form/lib/prefill-targets.d.ts +0 -16
  428. package/dist/form/lib/prefill-targets.js +0 -68
  429. package/dist/form/lib/prefill-targets.js.map +0 -1
  430. package/dist/form/lib/wizard-steps.d.ts +0 -5
  431. package/dist/form/lib/wizard-steps.js +0 -44
  432. package/dist/form/lib/wizard-steps.js.map +0 -1
  433. package/dist/form/plugin.d.ts +0 -1
  434. package/dist/form/plugin.js +0 -52
  435. package/dist/form/plugin.js.map +0 -1
  436. package/dist/form/rich-editor/builtins.d.ts +0 -6
  437. package/dist/form/rich-editor/builtins.js +0 -400
  438. package/dist/form/rich-editor/builtins.js.map +0 -1
  439. package/dist/form/rich-editor/index.d.ts +0 -7
  440. package/dist/form/rich-editor/index.js +0 -3
  441. package/dist/form/rich-editor/registry.d.ts +0 -67
  442. package/dist/form/rich-editor/registry.js +0 -79
  443. package/dist/form/rich-editor/registry.js.map +0 -1
  444. package/dist/form/rich-editor/toolbar-button.d.ts +0 -12
  445. package/dist/form/rich-editor/toolbar-button.js +0 -28
  446. package/dist/form/rich-editor/toolbar-button.js.map +0 -1
  447. package/dist/form/toolkit.d.ts +0 -17
  448. package/dist/form/toolkit.js +0 -14
  449. package/dist/form/types.d.ts +0 -4
  450. package/dist/form/types.js +0 -0
  451. package/dist/format/date-time.d.ts +0 -14
  452. package/dist/format/date-time.js +0 -34
  453. package/dist/format/date-time.js.map +0 -1
  454. package/dist/format/format-context.d.ts +0 -6
  455. package/dist/format/format-context.js +0 -17
  456. package/dist/format/format-context.js.map +0 -1
  457. package/dist/format/number.d.ts +0 -2
  458. package/dist/format/number.js +0 -23
  459. package/dist/format/number.js.map +0 -1
  460. package/dist/format/numeric.d.ts +0 -1
  461. package/dist/format/numeric.js +0 -9
  462. package/dist/format/numeric.js.map +0 -1
  463. package/dist/format/value.d.ts +0 -6
  464. package/dist/format/value.js +0 -17
  465. package/dist/format/value.js.map +0 -1
  466. package/dist/i18n/backend.d.ts +0 -26
  467. package/dist/i18n/backend.js +0 -54
  468. package/dist/i18n/backend.js.map +0 -1
  469. package/dist/i18n/config.d.ts +0 -10
  470. package/dist/i18n/config.js +0 -36
  471. package/dist/i18n/config.js.map +0 -1
  472. package/dist/i18n/date-time-formatter.d.ts +0 -13
  473. package/dist/i18n/date-time-formatter.js +0 -28
  474. package/dist/i18n/date-time-formatter.js.map +0 -1
  475. package/dist/i18n/date-time.d.ts +0 -8
  476. package/dist/i18n/date-time.js +0 -32
  477. package/dist/i18n/date-time.js.map +0 -1
  478. package/dist/i18n/index.d.ts +0 -13
  479. package/dist/i18n/index.js +0 -10
  480. package/dist/i18n/instance.d.ts +0 -36
  481. package/dist/i18n/instance.js +0 -113
  482. package/dist/i18n/instance.js.map +0 -1
  483. package/dist/i18n/locale-reload.d.ts +0 -4
  484. package/dist/i18n/locale-reload.js +0 -18
  485. package/dist/i18n/locale-reload.js.map +0 -1
  486. package/dist/i18n/locale-switcher.d.ts +0 -16
  487. package/dist/i18n/locale-switcher.js +0 -21
  488. package/dist/i18n/locale-switcher.js.map +0 -1
  489. package/dist/i18n/locale.d.ts +0 -9
  490. package/dist/i18n/locale.js +0 -85
  491. package/dist/i18n/locale.js.map +0 -1
  492. package/dist/i18n/page-props.d.ts +0 -4
  493. package/dist/i18n/page-props.js +0 -10
  494. package/dist/i18n/page-props.js.map +0 -1
  495. package/dist/i18n/shared-props.d.ts +0 -7
  496. package/dist/i18n/shared-props.js +0 -23
  497. package/dist/i18n/shared-props.js.map +0 -1
  498. package/dist/i18n/timezone.d.ts +0 -7
  499. package/dist/i18n/timezone.js +0 -45
  500. package/dist/i18n/timezone.js.map +0 -1
  501. package/dist/i18n/translatable.d.ts +0 -5
  502. package/dist/i18n/translatable.js +0 -27
  503. package/dist/i18n/translatable.js.map +0 -1
  504. package/dist/icons/icon-renderer.d.ts +0 -13
  505. package/dist/icons/icon-renderer.js +0 -56
  506. package/dist/icons/icon-renderer.js.map +0 -1
  507. package/dist/icons/index.d.ts +0 -4
  508. package/dist/icons/index.js +0 -3
  509. package/dist/icons/sprite.d.ts +0 -30
  510. package/dist/icons/sprite.js +0 -40
  511. package/dist/icons/sprite.js.map +0 -1
  512. package/dist/lib/color.d.ts +0 -9
  513. package/dist/lib/color.js +0 -48
  514. package/dist/lib/color.js.map +0 -1
  515. package/dist/lib/is-truthy.d.ts +0 -2
  516. package/dist/lib/is-truthy.js +0 -9
  517. package/dist/lib/is-truthy.js.map +0 -1
  518. package/dist/lib/listeners.d.ts +0 -5
  519. package/dist/lib/listeners.js +0 -19
  520. package/dist/lib/listeners.js.map +0 -1
  521. package/dist/lib/use-debounced-callback.d.ts +0 -10
  522. package/dist/lib/use-debounced-callback.js +0 -34
  523. package/dist/lib/use-debounced-callback.js.map +0 -1
  524. package/dist/lib/use-layout-effect.d.ts +0 -6
  525. package/dist/lib/use-layout-effect.js +0 -11
  526. package/dist/lib/use-layout-effect.js.map +0 -1
  527. package/dist/lib/use-media-query.d.ts +0 -5
  528. package/dist/lib/use-media-query.js +0 -26
  529. package/dist/lib/use-media-query.js.map +0 -1
  530. package/dist/lib/use-persistent-state.d.ts +0 -13
  531. package/dist/lib/use-persistent-state.js +0 -62
  532. package/dist/lib/use-persistent-state.js.map +0 -1
  533. package/dist/lib/utils.d.ts +0 -2
  534. package/dist/lib/utils.js +0 -20
  535. package/dist/lib/utils.js.map +0 -1
  536. package/dist/table/components/bulk-bar.d.ts +0 -11
  537. package/dist/table/components/bulk-bar.js +0 -110
  538. package/dist/table/components/bulk-bar.js.map +0 -1
  539. package/dist/table/components/cells/badge-cell.d.ts +0 -2
  540. package/dist/table/components/cells/badge-cell.js +0 -16
  541. package/dist/table/components/cells/badge-cell.js.map +0 -1
  542. package/dist/table/components/cells/boolean-cell.d.ts +0 -2
  543. package/dist/table/components/cells/boolean-cell.js +0 -22
  544. package/dist/table/components/cells/boolean-cell.js.map +0 -1
  545. package/dist/table/components/cells/copyable-cell.d.ts +0 -9
  546. package/dist/table/components/cells/copyable-cell.js +0 -17
  547. package/dist/table/components/cells/copyable-cell.js.map +0 -1
  548. package/dist/table/components/cells/icon-cell.d.ts +0 -2
  549. package/dist/table/components/cells/icon-cell.js +0 -24
  550. package/dist/table/components/cells/icon-cell.js.map +0 -1
  551. package/dist/table/components/cells/image-cell.d.ts +0 -2
  552. package/dist/table/components/cells/image-cell.js +0 -22
  553. package/dist/table/components/cells/image-cell.js.map +0 -1
  554. package/dist/table/components/cells/money-cell.d.ts +0 -2
  555. package/dist/table/components/cells/money-cell.js +0 -24
  556. package/dist/table/components/cells/money-cell.js.map +0 -1
  557. package/dist/table/components/cells/number-cell.d.ts +0 -2
  558. package/dist/table/components/cells/number-cell.js +0 -20
  559. package/dist/table/components/cells/number-cell.js.map +0 -1
  560. package/dist/table/components/cells/numeric-cell.d.ts +0 -10
  561. package/dist/table/components/cells/numeric-cell.js +0 -25
  562. package/dist/table/components/cells/numeric-cell.js.map +0 -1
  563. package/dist/table/components/cells/stack-cell.d.ts +0 -2
  564. package/dist/table/components/cells/stack-cell.js +0 -12
  565. package/dist/table/components/cells/stack-cell.js.map +0 -1
  566. package/dist/table/components/cells/text-cell.d.ts +0 -2
  567. package/dist/table/components/cells/text-cell.js +0 -67
  568. package/dist/table/components/cells/text-cell.js.map +0 -1
  569. package/dist/table/components/column-filter-control.d.ts +0 -17
  570. package/dist/table/components/column-filter-control.js +0 -286
  571. package/dist/table/components/column-filter-control.js.map +0 -1
  572. package/dist/table/components/column-header.d.ts +0 -9
  573. package/dist/table/components/column-header.js +0 -53
  574. package/dist/table/components/column-header.js.map +0 -1
  575. package/dist/table/components/column-visibility-menu.d.ts +0 -10
  576. package/dist/table/components/column-visibility-menu.js +0 -49
  577. package/dist/table/components/column-visibility-menu.js.map +0 -1
  578. package/dist/table/components/filter-bar.d.ts +0 -18
  579. package/dist/table/components/filter-bar.js +0 -106
  580. package/dist/table/components/filter-bar.js.map +0 -1
  581. package/dist/table/components/filter-controls.d.ts +0 -11
  582. package/dist/table/components/filter-controls.js +0 -131
  583. package/dist/table/components/filter-controls.js.map +0 -1
  584. package/dist/table/components/filter-value-input.d.ts +0 -13
  585. package/dist/table/components/filter-value-input.js +0 -93
  586. package/dist/table/components/filter-value-input.js.map +0 -1
  587. package/dist/table/components/pagination.d.ts +0 -18
  588. package/dist/table/components/pagination.js +0 -95
  589. package/dist/table/components/pagination.js.map +0 -1
  590. package/dist/table/components/sort-bar.d.ts +0 -7
  591. package/dist/table/components/sort-bar.js +0 -44
  592. package/dist/table/components/sort-bar.js.map +0 -1
  593. package/dist/table/components/table-cell.d.ts +0 -5
  594. package/dist/table/components/table-cell.js +0 -35
  595. package/dist/table/components/table-cell.js.map +0 -1
  596. package/dist/table/components/table-search.d.ts +0 -9
  597. package/dist/table/components/table-search.js +0 -72
  598. package/dist/table/components/table-search.js.map +0 -1
  599. package/dist/table/components/table.d.ts +0 -7
  600. package/dist/table/components/table.js +0 -333
  601. package/dist/table/components/table.js.map +0 -1
  602. package/dist/table/hooks/use-column-visibility.d.ts +0 -20
  603. package/dist/table/hooks/use-column-visibility.js +0 -54
  604. package/dist/table/hooks/use-column-visibility.js.map +0 -1
  605. package/dist/table/hooks/use-expanded-rows.d.ts +0 -8
  606. package/dist/table/hooks/use-expanded-rows.js +0 -24
  607. package/dist/table/hooks/use-expanded-rows.js.map +0 -1
  608. package/dist/table/hooks/use-table-selection.d.ts +0 -12
  609. package/dist/table/hooks/use-table-selection.js +0 -47
  610. package/dist/table/hooks/use-table-selection.js.map +0 -1
  611. package/dist/table/hooks/use-table.d.ts +0 -28
  612. package/dist/table/hooks/use-table.js +0 -220
  613. package/dist/table/hooks/use-table.js.map +0 -1
  614. package/dist/table/index.d.ts +0 -6
  615. package/dist/table/index.js +0 -5
  616. package/dist/table/lib/align.d.ts +0 -4
  617. package/dist/table/lib/align.js +0 -23
  618. package/dist/table/lib/align.js.map +0 -1
  619. package/dist/table/lib/bulk.d.ts +0 -18
  620. package/dist/table/lib/bulk.js +0 -26
  621. package/dist/table/lib/bulk.js.map +0 -1
  622. package/dist/table/lib/filter-values.d.ts +0 -25
  623. package/dist/table/lib/filter-values.js +0 -47
  624. package/dist/table/lib/filter-values.js.map +0 -1
  625. package/dist/table/lib/format.d.ts +0 -4
  626. package/dist/table/lib/format.js +0 -23
  627. package/dist/table/lib/format.js.map +0 -1
  628. package/dist/table/lib/payload.d.ts +0 -11
  629. package/dist/table/lib/payload.js +0 -91
  630. package/dist/table/lib/payload.js.map +0 -1
  631. package/dist/table/lib/query.d.ts +0 -20
  632. package/dist/table/lib/query.js +0 -140
  633. package/dist/table/lib/query.js.map +0 -1
  634. package/dist/table/plugin.d.ts +0 -1
  635. package/dist/table/plugin.js +0 -11
  636. package/dist/table/plugin.js.map +0 -1
  637. package/dist/table/registry.d.ts +0 -19
  638. package/dist/table/registry.js +0 -14
  639. package/dist/table/registry.js.map +0 -1
  640. package/dist/table/types.d.ts +0 -17
  641. package/dist/table/types.js +0 -0
  642. package/dist/ui/action-menu-context.d.ts +0 -6
  643. package/dist/ui/action-menu-context.js +0 -18
  644. package/dist/ui/action-menu-context.js.map +0 -1
  645. package/dist/ui/affix-group.d.ts +0 -18
  646. package/dist/ui/affix-group.js +0 -51
  647. package/dist/ui/affix-group.js.map +0 -1
  648. package/dist/ui/avatar.d.ts +0 -3
  649. package/dist/ui/avatar.js +0 -52
  650. package/dist/ui/avatar.js.map +0 -1
  651. package/dist/ui/badge.d.ts +0 -9
  652. package/dist/ui/badge.js +0 -25
  653. package/dist/ui/badge.js.map +0 -1
  654. package/dist/ui/button.d.ts +0 -18
  655. package/dist/ui/button.js +0 -243
  656. package/dist/ui/button.js.map +0 -1
  657. package/dist/ui/card.d.ts +0 -11
  658. package/dist/ui/card.js +0 -68
  659. package/dist/ui/card.js.map +0 -1
  660. package/dist/ui/chart-view.d.ts +0 -3
  661. package/dist/ui/chart-view.js +0 -354
  662. package/dist/ui/chart-view.js.map +0 -1
  663. package/dist/ui/chart.d.ts +0 -3
  664. package/dist/ui/chart.js +0 -15
  665. package/dist/ui/chart.js.map +0 -1
  666. package/dist/ui/checkbox.d.ts +0 -4
  667. package/dist/ui/checkbox.js +0 -25
  668. package/dist/ui/checkbox.js.map +0 -1
  669. package/dist/ui/click-behavior.d.ts +0 -40
  670. package/dist/ui/click-behavior.js +0 -46
  671. package/dist/ui/click-behavior.js.map +0 -1
  672. package/dist/ui/code-block-view.d.ts +0 -3
  673. package/dist/ui/code-block-view.js +0 -135
  674. package/dist/ui/code-block-view.js.map +0 -1
  675. package/dist/ui/code-block.d.ts +0 -25
  676. package/dist/ui/code-block.js +0 -54
  677. package/dist/ui/code-block.js.map +0 -1
  678. package/dist/ui/collapsible.d.ts +0 -3
  679. package/dist/ui/collapsible.js +0 -56
  680. package/dist/ui/collapsible.js.map +0 -1
  681. package/dist/ui/color-picker.d.ts +0 -8
  682. package/dist/ui/color-picker.js +0 -59
  683. package/dist/ui/color-picker.js.map +0 -1
  684. package/dist/ui/combobox.d.ts +0 -42
  685. package/dist/ui/combobox.js +0 -145
  686. package/dist/ui/combobox.js.map +0 -1
  687. package/dist/ui/confirm-dialog.d.ts +0 -13
  688. package/dist/ui/confirm-dialog.js +0 -48
  689. package/dist/ui/confirm-dialog.js.map +0 -1
  690. package/dist/ui/control.d.ts +0 -10
  691. package/dist/ui/control.js +0 -26
  692. package/dist/ui/control.js.map +0 -1
  693. package/dist/ui/copyable-text.d.ts +0 -19
  694. package/dist/ui/copyable-text.js +0 -60
  695. package/dist/ui/copyable-text.js.map +0 -1
  696. package/dist/ui/dialog.d.ts +0 -23
  697. package/dist/ui/dialog.js +0 -100
  698. package/dist/ui/dialog.js.map +0 -1
  699. package/dist/ui/dropdown-menu.d.ts +0 -14
  700. package/dist/ui/dropdown-menu.js +0 -42
  701. package/dist/ui/dropdown-menu.js.map +0 -1
  702. package/dist/ui/floating-panel.d.ts +0 -3
  703. package/dist/ui/floating-panel.js +0 -66
  704. package/dist/ui/floating-panel.js.map +0 -1
  705. package/dist/ui/fragment.js.map +0 -1
  706. package/dist/ui/grid.d.ts +0 -3
  707. package/dist/ui/grid.js +0 -29
  708. package/dist/ui/grid.js.map +0 -1
  709. package/dist/ui/heading.d.ts +0 -3
  710. package/dist/ui/heading.js +0 -58
  711. package/dist/ui/heading.js.map +0 -1
  712. package/dist/ui/icon-button.d.ts +0 -22
  713. package/dist/ui/icon-button.js +0 -51
  714. package/dist/ui/icon-button.js.map +0 -1
  715. package/dist/ui/icon.d.ts +0 -3
  716. package/dist/ui/icon.js +0 -33
  717. package/dist/ui/icon.js.map +0 -1
  718. package/dist/ui/image-preview.d.ts +0 -12
  719. package/dist/ui/image-preview.js +0 -65
  720. package/dist/ui/image-preview.js.map +0 -1
  721. package/dist/ui/image.d.ts +0 -3
  722. package/dist/ui/image.js +0 -21
  723. package/dist/ui/image.js.map +0 -1
  724. package/dist/ui/index.d.ts +0 -31
  725. package/dist/ui/index.js +0 -29
  726. package/dist/ui/info-tooltip.d.ts +0 -3
  727. package/dist/ui/info-tooltip.js +0 -26
  728. package/dist/ui/info-tooltip.js.map +0 -1
  729. package/dist/ui/input-error.d.ts +0 -4
  730. package/dist/ui/input-error.js +0 -14
  731. package/dist/ui/input-error.js.map +0 -1
  732. package/dist/ui/input-otp.d.ts +0 -7
  733. package/dist/ui/input-otp.js +0 -29
  734. package/dist/ui/input-otp.js.map +0 -1
  735. package/dist/ui/input.d.ts +0 -5
  736. package/dist/ui/input.js +0 -17
  737. package/dist/ui/input.js.map +0 -1
  738. package/dist/ui/label.d.ts +0 -4
  739. package/dist/ui/label.js +0 -16
  740. package/dist/ui/label.js.map +0 -1
  741. package/dist/ui/link.d.ts +0 -7
  742. package/dist/ui/link.js +0 -103
  743. package/dist/ui/link.js.map +0 -1
  744. package/dist/ui/modal.d.ts +0 -3
  745. package/dist/ui/modal.js +0 -67
  746. package/dist/ui/modal.js.map +0 -1
  747. package/dist/ui/native-select.d.ts +0 -10
  748. package/dist/ui/native-select.js +0 -23
  749. package/dist/ui/native-select.js.map +0 -1
  750. package/dist/ui/password-input.d.ts +0 -7
  751. package/dist/ui/password-input.js +0 -36
  752. package/dist/ui/password-input.js.map +0 -1
  753. package/dist/ui/pill.d.ts +0 -2
  754. package/dist/ui/pill.js +0 -10
  755. package/dist/ui/pill.js.map +0 -1
  756. package/dist/ui/plugin.d.ts +0 -1
  757. package/dist/ui/plugin.js +0 -60
  758. package/dist/ui/plugin.js.map +0 -1
  759. package/dist/ui/popover.d.ts +0 -8
  760. package/dist/ui/popover.js +0 -37
  761. package/dist/ui/popover.js.map +0 -1
  762. package/dist/ui/progress.d.ts +0 -3
  763. package/dist/ui/progress.js +0 -114
  764. package/dist/ui/progress.js.map +0 -1
  765. package/dist/ui/raw-block.d.ts +0 -3
  766. package/dist/ui/raw-block.js +0 -10
  767. package/dist/ui/raw-block.js.map +0 -1
  768. package/dist/ui/section.d.ts +0 -3
  769. package/dist/ui/section.js +0 -68
  770. package/dist/ui/section.js.map +0 -1
  771. package/dist/ui/segmented-control.d.ts +0 -3
  772. package/dist/ui/segmented-control.js +0 -27
  773. package/dist/ui/segmented-control.js.map +0 -1
  774. package/dist/ui/segmented-pills.d.ts +0 -16
  775. package/dist/ui/segmented-pills.js +0 -42
  776. package/dist/ui/segmented-pills.js.map +0 -1
  777. package/dist/ui/separator.d.ts +0 -3
  778. package/dist/ui/separator.js +0 -15
  779. package/dist/ui/separator.js.map +0 -1
  780. package/dist/ui/skeleton.d.ts +0 -3
  781. package/dist/ui/skeleton.js +0 -16
  782. package/dist/ui/skeleton.js.map +0 -1
  783. package/dist/ui/spinner.d.ts +0 -2
  784. package/dist/ui/spinner.js +0 -20
  785. package/dist/ui/spinner.js.map +0 -1
  786. package/dist/ui/stack.d.ts +0 -3
  787. package/dist/ui/stack.js +0 -66
  788. package/dist/ui/stack.js.map +0 -1
  789. package/dist/ui/tabs.d.ts +0 -4
  790. package/dist/ui/tabs.js +0 -149
  791. package/dist/ui/tabs.js.map +0 -1
  792. package/dist/ui/text.d.ts +0 -3
  793. package/dist/ui/text.js +0 -38
  794. package/dist/ui/text.js.map +0 -1
  795. package/dist/ui/textarea.d.ts +0 -3
  796. package/dist/ui/textarea.js +0 -16
  797. package/dist/ui/textarea.js.map +0 -1
  798. package/dist/ui/tooltip.d.ts +0 -3
  799. package/dist/ui/tooltip.js +0 -25
  800. package/dist/ui/tooltip.js.map +0 -1
  801. package/dist/ui/use-collapsible-state.d.ts +0 -7
  802. package/dist/ui/use-collapsible-state.js +0 -21
  803. package/dist/ui/use-collapsible-state.js.map +0 -1
  804. package/dist-standalone/chunks/chart-view-CFV7BU_D.js +0 -59
  805. package/dist-standalone/chunks/date-picker-field-DepKtR_m.js +0 -1
  806. package/dist-standalone/chunks/dist-BtOmkEqQ.js +0 -1
  807. package/dist-standalone/chunks/dist-DqlcM-vw.js +0 -2
  808. package/dist-standalone/chunks/instance-C4O1XWa6.js +0 -1
  809. package/dist-standalone/chunks/jsx-runtime-0vZSBttN.js +0 -1
  810. package/dist-standalone/chunks/locale-GyqtaX1O.js +0 -1
  811. package/dist-standalone/chunks/number-BvVKQqOG.js +0 -1
  812. package/dist-standalone/chunks/page-props-BHNNVkgJ.js +0 -1
  813. package/dist-standalone/chunks/react-SIfiwpqq.js +0 -1
  814. package/dist-standalone/chunks/react-dom-DJCfT20h.js +0 -1
  815. package/dist-standalone/chunks/shared-props-B_wT1GcG.js +0 -1
  816. package/dist-standalone/chunks/subscriptions-4IpkpPX3.js +0 -1
  817. package/dist-standalone/chunks/time-picker-DUjYyeeP.js +0 -1
  818. package/dist-standalone/chunks/timezone-CyoBch3a.js +0 -1
  819. package/dist-standalone/chunks/translatable-DLw4h3x8.js +0 -1
  820. package/dist-standalone/chunks/use-dependent-field-DvH7mUyx.js +0 -41
  821. package/dist-standalone/chunks/use-effect-dispatcher-BMWOfaFE.js +0 -97
  822. package/dist-standalone/chunks/with-selector-zFUY-tQj.js +0 -1
  823. package/resources/icons/align-center.svg +0 -17
  824. package/resources/icons/align-justify.svg +0 -17
  825. package/resources/icons/align-left.svg +0 -17
  826. package/resources/icons/align-right.svg +0 -17
  827. package/resources/icons/arrow-down.svg +0 -16
  828. package/resources/icons/arrow-up.svg +0 -16
  829. package/resources/icons/bell.svg +0 -16
  830. package/resources/icons/bold.svg +0 -15
  831. package/resources/icons/calendar.svg +0 -18
  832. package/resources/icons/check.svg +0 -15
  833. package/resources/icons/chevron-down.svg +0 -15
  834. package/resources/icons/chevron-left.svg +0 -15
  835. package/resources/icons/chevron-right.svg +0 -15
  836. package/resources/icons/chevrons-up-down.svg +0 -16
  837. package/resources/icons/circle-alert.svg +0 -17
  838. package/resources/icons/circle-check.svg +0 -16
  839. package/resources/icons/circle-help.svg +0 -17
  840. package/resources/icons/circle-x.svg +0 -17
  841. package/resources/icons/clock.svg +0 -16
  842. package/resources/icons/code-xml.svg +0 -17
  843. package/resources/icons/code.svg +0 -16
  844. package/resources/icons/columns-3.svg +0 -17
  845. package/resources/icons/copy.svg +0 -16
  846. package/resources/icons/external-link.svg +0 -17
  847. package/resources/icons/eye-off.svg +0 -18
  848. package/resources/icons/eye.svg +0 -16
  849. package/resources/icons/filter.svg +0 -15
  850. package/resources/icons/heading-1.svg +0 -18
  851. package/resources/icons/heading-2.svg +0 -18
  852. package/resources/icons/heading-3.svg +0 -19
  853. package/resources/icons/heading.svg +0 -17
  854. package/resources/icons/highlighter.svg +0 -16
  855. package/resources/icons/info.svg +0 -17
  856. package/resources/icons/italic.svg +0 -17
  857. package/resources/icons/layout-dashboard.svg +0 -18
  858. package/resources/icons/link.svg +0 -16
  859. package/resources/icons/list-ordered.svg +0 -20
  860. package/resources/icons/list.svg +0 -20
  861. package/resources/icons/loader-2.svg +0 -15
  862. package/resources/icons/minus.svg +0 -15
  863. package/resources/icons/more-horizontal.svg +0 -17
  864. package/resources/icons/panel-left.svg +0 -16
  865. package/resources/icons/pencil-line.svg +0 -17
  866. package/resources/icons/pencil.svg +0 -16
  867. package/resources/icons/plus.svg +0 -16
  868. package/resources/icons/quote.svg +0 -16
  869. package/resources/icons/rotate-ccw.svg +0 -16
  870. package/resources/icons/rows-3.svg +0 -17
  871. package/resources/icons/search.svg +0 -16
  872. package/resources/icons/send.svg +0 -16
  873. package/resources/icons/settings.svg +0 -16
  874. package/resources/icons/smile.svg +0 -18
  875. package/resources/icons/strikethrough.svg +0 -17
  876. package/resources/icons/table.svg +0 -18
  877. package/resources/icons/trash-2.svg +0 -19
  878. package/resources/icons/underline.svg +0 -16
  879. package/resources/icons/x.svg +0 -16
@@ -1,135 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- import { jsx } from "react/jsx-runtime";
3
- import { javascript } from "@codemirror/lang-javascript";
4
- import { json } from "@codemirror/lang-json";
5
- import { php } from "@codemirror/lang-php";
6
- import { HighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language";
7
- import { shell } from "@codemirror/legacy-modes/mode/shell";
8
- import { Compartment, EditorState } from "@codemirror/state";
9
- import { EditorView, lineNumbers } from "@codemirror/view";
10
- import { tags } from "@lezer/highlight";
11
- //#region resources/js/ui/code-block-view.tsx
12
- var languages = {
13
- text: [],
14
- json: json(),
15
- javascript: javascript(),
16
- shell: StreamLanguage.define(shell),
17
- php: php()
18
- };
19
- var highlightStyle = HighlightStyle.define([
20
- {
21
- tag: tags.comment,
22
- color: "var(--lt-muted-fg)",
23
- fontStyle: "italic"
24
- },
25
- {
26
- tag: [
27
- tags.keyword,
28
- tags.operatorKeyword,
29
- tags.controlKeyword
30
- ],
31
- color: "var(--lt-primary)"
32
- },
33
- {
34
- tag: [tags.string, tags.special(tags.string)],
35
- color: "var(--lt-success)"
36
- },
37
- {
38
- tag: [
39
- tags.number,
40
- tags.bool,
41
- tags.null
42
- ],
43
- color: "var(--lt-info)"
44
- },
45
- {
46
- tag: [tags.function(tags.variableName), tags.labelName],
47
- color: "var(--lt-accent-fg)"
48
- },
49
- {
50
- tag: [tags.typeName, tags.className],
51
- color: "var(--lt-danger)"
52
- },
53
- {
54
- tag: tags.meta,
55
- color: "var(--lt-muted-fg)"
56
- }
57
- ]);
58
- var codeBlockTheme = EditorView.theme({
59
- "&": {
60
- backgroundColor: "transparent",
61
- color: "var(--lt-fg)",
62
- fontSize: "0.75rem"
63
- },
64
- ".cm-scroller": {
65
- fontFamily: "var(--lt-font-mono)",
66
- lineHeight: "1.5",
67
- overflow: "auto"
68
- },
69
- ".cm-content": { padding: "0.75rem" },
70
- ".cm-gutters": {
71
- backgroundColor: "transparent",
72
- borderRightColor: "var(--lt-border)",
73
- color: "var(--lt-muted-fg)"
74
- },
75
- ".cm-lineNumbers .cm-gutterElement": { padding: "0 0.75rem" },
76
- ".cm-line": { padding: "0" }
77
- });
78
- function CodeBlockView({ children, language, lineNumbers: lineNumbers$1, maxHeight, wrap }) {
79
- const container = useRef(null);
80
- const content = useRef(children);
81
- const editor = useRef(null);
82
- content.current = children;
83
- useEffect(() => {
84
- if (!container.current) return;
85
- const languageCompartment = new Compartment();
86
- const customLanguage = typeof language === "function" ? language : null;
87
- const initialLanguage = typeof language === "function" ? [] : languages[language];
88
- const view = new EditorView({
89
- doc: content.current,
90
- parent: container.current,
91
- extensions: [
92
- EditorState.readOnly.of(true),
93
- EditorView.editable.of(false),
94
- EditorView.contentAttributes.of({ role: "code" }),
95
- languageCompartment.of(initialLanguage),
96
- syntaxHighlighting(highlightStyle),
97
- codeBlockTheme,
98
- lineNumbers$1 ? lineNumbers() : [],
99
- maxHeight === null ? [] : EditorView.theme({ "&": { maxHeight: `${maxHeight}px` } }),
100
- wrap ? EditorView.lineWrapping : []
101
- ]
102
- });
103
- editor.current = view;
104
- let active = true;
105
- if (customLanguage) customLanguage().then((extension) => {
106
- if (active) view.dispatch({ effects: languageCompartment.reconfigure(extension) });
107
- }).catch((error) => {
108
- if (active) console.warn("[lattice] CodeBlock language failed to load.", error);
109
- });
110
- return () => {
111
- active = false;
112
- editor.current = null;
113
- view.destroy();
114
- };
115
- }, [
116
- language,
117
- lineNumbers$1,
118
- maxHeight,
119
- wrap
120
- ]);
121
- useEffect(() => {
122
- const view = editor.current;
123
- if (!view || view.state.doc.toString() === children) return;
124
- view.dispatch({ changes: {
125
- from: 0,
126
- to: view.state.doc.length,
127
- insert: children
128
- } });
129
- }, [children]);
130
- return /* @__PURE__ */ jsx("div", { ref: container });
131
- }
132
- //#endregion
133
- export { CodeBlockView as default };
134
-
135
- //# sourceMappingURL=code-block-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block-view.js","names":[],"sources":["../../resources/js/ui/code-block-view.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { javascript } from \"@codemirror/lang-javascript\";\nimport { json } from \"@codemirror/lang-json\";\nimport { php } from \"@codemirror/lang-php\";\nimport { HighlightStyle, StreamLanguage, syntaxHighlighting } from \"@codemirror/language\";\nimport { shell } from \"@codemirror/legacy-modes/mode/shell\";\nimport { Compartment, EditorState, type Extension } from \"@codemirror/state\";\nimport { EditorView, lineNumbers as showLineNumbers } from \"@codemirror/view\";\nimport { tags } from \"@lezer/highlight\";\nimport type { CodeBlockLanguage, CodeBlockViewProps } from \"./code-block\";\n\nconst languages: Record<CodeBlockLanguage, Extension> = {\n text: [],\n json: json(),\n javascript: javascript(),\n shell: StreamLanguage.define(shell),\n php: php(),\n};\n\nconst highlightStyle = HighlightStyle.define([\n { tag: tags.comment, color: \"var(--lt-muted-fg)\", fontStyle: \"italic\" },\n { tag: [tags.keyword, tags.operatorKeyword, tags.controlKeyword], color: \"var(--lt-primary)\" },\n { tag: [tags.string, tags.special(tags.string)], color: \"var(--lt-success)\" },\n { tag: [tags.number, tags.bool, tags.null], color: \"var(--lt-info)\" },\n { tag: [tags.function(tags.variableName), tags.labelName], color: \"var(--lt-accent-fg)\" },\n { tag: [tags.typeName, tags.className], color: \"var(--lt-danger)\" },\n { tag: tags.meta, color: \"var(--lt-muted-fg)\" },\n]);\n\nconst codeBlockTheme = EditorView.theme({\n \"&\": {\n backgroundColor: \"transparent\",\n color: \"var(--lt-fg)\",\n fontSize: \"0.75rem\",\n },\n \".cm-scroller\": {\n fontFamily: \"var(--lt-font-mono)\",\n lineHeight: \"1.5\",\n overflow: \"auto\",\n },\n \".cm-content\": { padding: \"0.75rem\" },\n \".cm-gutters\": {\n backgroundColor: \"transparent\",\n borderRightColor: \"var(--lt-border)\",\n color: \"var(--lt-muted-fg)\",\n },\n \".cm-lineNumbers .cm-gutterElement\": { padding: \"0 0.75rem\" },\n \".cm-line\": { padding: \"0\" },\n});\n\nfunction CodeBlockView({ children, language, lineNumbers, maxHeight, wrap }: CodeBlockViewProps) {\n const container = useRef<HTMLDivElement>(null);\n const content = useRef(children);\n const editor = useRef<EditorView>(null);\n content.current = children;\n\n useEffect(() => {\n if (!container.current) {\n return;\n }\n\n const languageCompartment = new Compartment();\n const customLanguage = typeof language === \"function\" ? language : null;\n const initialLanguage = typeof language === \"function\" ? [] : languages[language];\n const view = new EditorView({\n doc: content.current,\n parent: container.current,\n extensions: [\n EditorState.readOnly.of(true),\n EditorView.editable.of(false),\n EditorView.contentAttributes.of({ role: \"code\" }),\n languageCompartment.of(initialLanguage),\n syntaxHighlighting(highlightStyle),\n codeBlockTheme,\n lineNumbers ? showLineNumbers() : [],\n maxHeight === null\n ? []\n : EditorView.theme({\n \"&\": { maxHeight: `${maxHeight}px` },\n }),\n wrap ? EditorView.lineWrapping : [],\n ],\n });\n editor.current = view;\n let active = true;\n\n if (customLanguage) {\n void customLanguage()\n .then((extension) => {\n if (active) {\n view.dispatch({ effects: languageCompartment.reconfigure(extension) });\n }\n })\n .catch((error: unknown) => {\n if (active) {\n console.warn(\"[lattice] CodeBlock language failed to load.\", error);\n }\n });\n }\n\n return () => {\n active = false;\n editor.current = null;\n view.destroy();\n };\n }, [language, lineNumbers, maxHeight, wrap]);\n\n useEffect(() => {\n const view = editor.current;\n\n if (!view || view.state.doc.toString() === children) {\n return;\n }\n\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: children } });\n }, [children]);\n\n return <div ref={container} />;\n}\n\nexport default CodeBlockView;\n"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { Extension } from '@codemirror/state';
3
- import { RendererComponent } from '../core/types.js';
4
- type CodeBlockLanguage = "text" | "json" | "javascript" | "shell" | "php";
5
- type CodeBlockLanguageLoader = () => Promise<Extension>;
6
- interface CodeBlockProps extends Omit<ComponentProps<"div">, "children"> {
7
- children: string;
8
- copyable?: boolean;
9
- language?: CodeBlockLanguage | CodeBlockLanguageLoader;
10
- lineNumbers?: boolean;
11
- maxHeight?: number | null;
12
- wrap?: boolean;
13
- }
14
- interface CodeBlockViewProps {
15
- children: string;
16
- language: CodeBlockLanguage | CodeBlockLanguageLoader;
17
- lineNumbers: boolean;
18
- maxHeight: number | null;
19
- wrap: boolean;
20
- }
21
- declare function CodeBlock({ "aria-label": ariaLabel, children, className, copyable, language, lineNumbers, maxHeight, role, wrap, ...props }: CodeBlockProps): import("react").JSX.Element;
22
- declare const CodeBlockComponent: RendererComponent<"code-block">;
23
- export default CodeBlockComponent;
24
- export { CodeBlock };
25
- export type { CodeBlockLanguage, CodeBlockLanguageLoader, CodeBlockProps, CodeBlockViewProps };
@@ -1,54 +0,0 @@
1
- import { cn } from "../lib/utils.js";
2
- import { CopyButton } from "./copyable-text.js";
3
- import { Fragment, Suspense, lazy } from "react";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
- //#region resources/js/ui/code-block.tsx
6
- var CodeBlockView = lazy(() => import("./code-block-view.js"));
7
- function CodeBlock({ "aria-label": ariaLabel, children, className, copyable = false, language = "text", lineNumbers = false, maxHeight = null, role = ariaLabel ? "region" : void 0, wrap = false, ...props }) {
8
- const fallback = /* @__PURE__ */ jsx("pre", {
9
- className: cn("max-w-full overflow-auto p-3 font-lt-mono text-xs", wrap && "whitespace-pre-wrap wrap-anywhere"),
10
- style: { maxHeight: maxHeight ?? void 0 },
11
- children: lineNumbers ? /* @__PURE__ */ jsx("code", {
12
- className: "grid grid-cols-[auto_1fr]",
13
- children: children.split("\n").map((line, index) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
14
- "aria-hidden": "true",
15
- className: "mr-3 border-r border-lt-border pr-3 text-right text-lt-muted-fg select-none",
16
- children: index + 1
17
- }), /* @__PURE__ */ jsx("span", { children: line || "​" })] }, index))
18
- }) : children
19
- });
20
- return /* @__PURE__ */ jsxs("div", {
21
- "data-slot": "code-block",
22
- "aria-label": ariaLabel,
23
- role,
24
- ...props,
25
- className: cn("relative max-w-full overflow-hidden rounded-lt-sm bg-lt-muted text-lt-fg", className),
26
- children: [copyable ? /* @__PURE__ */ jsx(CopyButton, {
27
- value: children,
28
- label: ariaLabel ?? "code",
29
- iconOnly: true,
30
- className: "absolute top-3 right-6 z-10 bg-lt-bg/80 hover:bg-lt-bg"
31
- }) : null, /* @__PURE__ */ jsx(Suspense, {
32
- fallback,
33
- children: /* @__PURE__ */ jsx(CodeBlockView, {
34
- language,
35
- lineNumbers,
36
- maxHeight,
37
- wrap,
38
- children
39
- })
40
- })]
41
- });
42
- }
43
- var CodeBlockComponent = ({ node }) => /* @__PURE__ */ jsx(CodeBlock, {
44
- copyable: node.props.copyable,
45
- language: node.props.language,
46
- lineNumbers: node.props.lineNumbers,
47
- maxHeight: node.props.maxHeight,
48
- wrap: node.props.wrap,
49
- children: node.props.code
50
- });
51
- //#endregion
52
- export { CodeBlock, CodeBlockComponent as default };
53
-
54
- //# sourceMappingURL=code-block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block.js","names":[],"sources":["../../resources/js/ui/code-block.tsx"],"sourcesContent":["import { Fragment, lazy, Suspense } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport type { Extension } from \"@codemirror/state\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { CopyButton } from \"./copyable-text\";\n\nconst CodeBlockView = lazy(() => import(\"./code-block-view\"));\n\ntype CodeBlockLanguage = \"text\" | \"json\" | \"javascript\" | \"shell\" | \"php\";\ntype CodeBlockLanguageLoader = () => Promise<Extension>;\n\ninterface CodeBlockProps extends Omit<ComponentProps<\"div\">, \"children\"> {\n children: string;\n copyable?: boolean;\n language?: CodeBlockLanguage | CodeBlockLanguageLoader;\n lineNumbers?: boolean;\n maxHeight?: number | null;\n wrap?: boolean;\n}\n\ninterface CodeBlockViewProps {\n children: string;\n language: CodeBlockLanguage | CodeBlockLanguageLoader;\n lineNumbers: boolean;\n maxHeight: number | null;\n wrap: boolean;\n}\n\nfunction CodeBlock({\n \"aria-label\": ariaLabel,\n children,\n className,\n copyable = false,\n language = \"text\",\n lineNumbers = false,\n maxHeight = null,\n role = ariaLabel ? \"region\" : undefined,\n wrap = false,\n ...props\n}: CodeBlockProps) {\n const fallback = (\n <pre\n className={cn(\n \"max-w-full overflow-auto p-3 font-lt-mono text-xs\",\n wrap && \"whitespace-pre-wrap wrap-anywhere\",\n )}\n style={{ maxHeight: maxHeight ?? undefined }}\n >\n {lineNumbers ? (\n <code className=\"grid grid-cols-[auto_1fr]\">\n {children.split(\"\\n\").map((line, index) => (\n <Fragment key={index}>\n <span\n aria-hidden=\"true\"\n className=\"mr-3 border-r border-lt-border pr-3 text-right text-lt-muted-fg select-none\"\n >\n {index + 1}\n </span>\n <span>{line || \"\\u200b\"}</span>\n </Fragment>\n ))}\n </code>\n ) : (\n children\n )}\n </pre>\n );\n\n return (\n <div\n data-slot=\"code-block\"\n aria-label={ariaLabel}\n role={role}\n {...props}\n className={cn(\n \"relative max-w-full overflow-hidden rounded-lt-sm bg-lt-muted text-lt-fg\",\n className,\n )}\n >\n {copyable ? (\n <CopyButton\n value={children}\n label={ariaLabel ?? \"code\"}\n iconOnly\n className=\"absolute top-3 right-6 z-10 bg-lt-bg/80 hover:bg-lt-bg\"\n />\n ) : null}\n <Suspense fallback={fallback}>\n <CodeBlockView\n language={language}\n lineNumbers={lineNumbers}\n maxHeight={maxHeight}\n wrap={wrap}\n >\n {children}\n </CodeBlockView>\n </Suspense>\n </div>\n );\n}\n\nconst CodeBlockComponent: RendererComponent<\"code-block\"> = ({ node }) => (\n <CodeBlock\n copyable={node.props.copyable}\n language={node.props.language}\n lineNumbers={node.props.lineNumbers}\n maxHeight={node.props.maxHeight}\n wrap={node.props.wrap}\n >\n {node.props.code}\n </CodeBlock>\n);\n\nexport default CodeBlockComponent;\nexport { CodeBlock };\nexport type { CodeBlockLanguage, CodeBlockLanguageLoader, CodeBlockProps, CodeBlockViewProps };\n"],"mappings":";;;;;AAOA,IAAM,gBAAgB,WAAW,OAAO,uBAAoB;AAsB5D,SAAS,UAAU,EACjB,cAAc,WACd,UACA,WACA,WAAW,OACX,WAAW,QACX,cAAc,OACd,YAAY,MACZ,OAAO,YAAY,WAAW,KAAA,GAC9B,OAAO,OACP,GAAG,SACc;CACjB,MAAM,WACJ,oBAAC,OAAD;EACE,WAAW,GACT,qDACA,QAAQ,mCACV;EACA,OAAO,EAAE,WAAW,aAAa,KAAA,EAAU;EAE1C,UAAA,cACC,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,SAAS,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,UAC/B,qBAAC,UAAD,EAAA,UAAA,CACE,oBAAC,QAAD;IACE,eAAY;IACZ,WAAU;IAET,UAAA,QAAQ;GACL,CAAA,GACN,oBAAC,QAAD,EAAA,UAAO,QAAQ,IAAe,CAAA,CACtB,EAAA,GARK,KAQL,CACX;EACG,CAAA,IAEN;CAEC,CAAA;CAGP,OACE,qBAAC,OAAD;EACE,aAAU;EACV,cAAY;EACN;EACN,GAAI;EACJ,WAAW,GACT,4EACA,SACF;EARF,UAAA,CAUG,WACC,oBAAC,YAAD;GACE,OAAO;GACP,OAAO,aAAa;GACpB,UAAA;GACA,WAAU;EACX,CAAA,IACC,MACJ,oBAAC,UAAD;GAAoB;GAClB,UAAA,oBAAC,eAAD;IACY;IACG;IACF;IACL;IAEL;GACY,CAAA;EACP,CAAA,CACP;;AAET;AAEA,IAAM,sBAAuD,EAAE,WAC7D,oBAAC,WAAD;CACE,UAAU,KAAK,MAAM;CACrB,UAAU,KAAK,MAAM;CACrB,aAAa,KAAK,MAAM;CACxB,WAAW,KAAK,MAAM;CACtB,MAAM,KAAK,MAAM;CAEhB,UAAA,KAAK,MAAM;AACH,CAAA"}
@@ -1,3 +0,0 @@
1
- import { RendererComponent } from '../core/types.js';
2
- declare const CollapsibleComponent: RendererComponent<"collapsible">;
3
- export default CollapsibleComponent;
@@ -1,56 +0,0 @@
1
- import { cn } from "../lib/utils.js";
2
- import { Icon } from "../icons/sprite.js";
3
- import { toNodes } from "../core/nodes.js";
4
- import { Renderer } from "../core/renderer.js";
5
- import { nodeIdentity, prefixedTestId } from "../core/test-id.js";
6
- import { useCollapsibleState } from "./use-collapsible-state.js";
7
- import { InfoTooltip } from "./info-tooltip.js";
8
- import { jsx, jsxs } from "react/jsx-runtime";
9
- //#region resources/js/ui/collapsible.tsx
10
- var CollapsibleComponent = ({ children, node }) => {
11
- const rememberState = node.props.rememberState !== false;
12
- const trigger = toNodes(node.props.trigger);
13
- const identity = nodeIdentity(node);
14
- const storageKey = `lattice:collapsible:${identity ?? "default"}`;
15
- const contentId = `${identity ?? "collapsible"}-content`;
16
- const [open, toggle] = useCollapsibleState(storageKey, node.props.collapsed === false, rememberState);
17
- return /* @__PURE__ */ jsxs("div", {
18
- "data-slot": "collapsible",
19
- "data-lattice-component": identity,
20
- children: [/* @__PURE__ */ jsxs("div", {
21
- "aria-controls": contentId,
22
- "aria-expanded": open,
23
- "data-test": prefixedTestId("collapsible-toggle", identity) ?? "collapsible-toggle-default",
24
- className: "flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted",
25
- onClick: toggle,
26
- onKeyDown: (event) => {
27
- if (event.key === "Enter" || event.key === " ") {
28
- event.preventDefault();
29
- toggle();
30
- }
31
- },
32
- role: "button",
33
- tabIndex: 0,
34
- children: [/* @__PURE__ */ jsxs("div", {
35
- className: "flex min-w-0 flex-1 items-center gap-2",
36
- children: [/* @__PURE__ */ jsx(Renderer, { nodes: trigger }), node.props.tooltip && /* @__PURE__ */ jsx("span", {
37
- role: "presentation",
38
- onClick: (event) => event.stopPropagation(),
39
- onKeyDown: (event) => event.stopPropagation(),
40
- children: /* @__PURE__ */ jsx(InfoTooltip, { content: node.props.tooltip })
41
- })]
42
- }), /* @__PURE__ */ jsx(Icon, {
43
- name: "chevron-down",
44
- className: cn("size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform", !open && "-rotate-90")
45
- })]
46
- }), open && children && /* @__PURE__ */ jsx("div", {
47
- id: contentId,
48
- className: "flex flex-col gap-4 pt-2",
49
- children
50
- })]
51
- });
52
- };
53
- //#endregion
54
- export { CollapsibleComponent as default };
55
-
56
- //# sourceMappingURL=collapsible.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible.js","names":[],"sources":["../../resources/js/ui/collapsible.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport { Renderer } from \"@lattice-php/lattice/core/renderer\";\nimport { InfoTooltip } from \"./info-tooltip\";\nimport { nodeIdentity, prefixedTestId } from \"@lattice-php/lattice/core/test-id\";\nimport { toNodes } from \"@lattice-php/lattice/core/nodes\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useCollapsibleState } from \"./use-collapsible-state\";\n\nconst CollapsibleComponent: RendererComponent<\"collapsible\"> = ({ children, node }) => {\n const rememberState = node.props.rememberState !== false;\n const trigger = toNodes(node.props.trigger);\n const identity = nodeIdentity(node);\n const storageKey = `lattice:collapsible:${identity ?? \"default\"}`;\n const contentId = `${identity ?? \"collapsible\"}-content`;\n\n const [open, toggle] = useCollapsibleState(\n storageKey,\n node.props.collapsed === false,\n rememberState,\n );\n\n return (\n <div data-slot=\"collapsible\" data-lattice-component={identity}>\n <div\n aria-controls={contentId}\n aria-expanded={open}\n data-test={prefixedTestId(\"collapsible-toggle\", identity) ?? \"collapsible-toggle-default\"}\n className=\"flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted\"\n onClick={toggle}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n toggle();\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n <Renderer nodes={trigger} />\n {node.props.tooltip && (\n <span\n role=\"presentation\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n >\n <InfoTooltip content={node.props.tooltip} />\n </span>\n )}\n </div>\n <Icon\n name=\"chevron-down\"\n className={cn(\n \"size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform\",\n !open && \"-rotate-90\",\n )}\n />\n </div>\n\n {open && children && (\n <div id={contentId} className=\"flex flex-col gap-4 pt-2\">\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default CollapsibleComponent;\n"],"mappings":";;;;;;;;;AASA,IAAM,wBAA0D,EAAE,UAAU,WAAW;CACrF,MAAM,gBAAgB,KAAK,MAAM,kBAAkB;CACnD,MAAM,UAAU,QAAQ,KAAK,MAAM,OAAO;CAC1C,MAAM,WAAW,aAAa,IAAI;CAClC,MAAM,aAAa,uBAAuB,YAAY;CACtD,MAAM,YAAY,GAAG,YAAY,cAAc;CAE/C,MAAM,CAAC,MAAM,UAAU,oBACrB,YACA,KAAK,MAAM,cAAc,OACzB,aACF;CAEA,OACE,qBAAC,OAAD;EAAK,aAAU;EAAc,0BAAwB;EAArD,UAAA,CACE,qBAAC,OAAD;GACE,iBAAe;GACf,iBAAe;GACf,aAAW,eAAe,sBAAsB,QAAQ,KAAK;GAC7D,WAAU;GACV,SAAS;GACT,YAAY,UAAU;IACpB,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;KAC9C,MAAM,eAAe;KACrB,OAAO;IACT;GACF;GACA,MAAK;GACL,UAAU;GAbZ,UAAA,CAeE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,UAAD,EAAU,OAAO,QAAU,CAAA,GAC1B,KAAK,MAAM,WACV,oBAAC,QAAD;KACE,MAAK;KACL,UAAU,UAAU,MAAM,gBAAgB;KAC1C,YAAY,UAAU,MAAM,gBAAgB;KAE5C,UAAA,oBAAC,aAAD,EAAa,SAAS,KAAK,MAAM,QAAU,CAAA;IACvC,CAAA,CAEL;GACL,CAAA,GAAA,oBAAC,MAAD;IACE,MAAK;IACL,WAAW,GACT,kEACA,CAAC,QAAQ,YACX;GACD,CAAA,CACE;EAEJ,CAAA,GAAA,QAAQ,YACP,oBAAC,OAAD;GAAK,IAAI;GAAW,WAAU;GAC3B;EACE,CAAA,CAEJ;;AAET"}
@@ -1,8 +0,0 @@
1
- export declare function normalizeHex(input: string): string | null;
2
- export declare function ColorPicker({ value, onChange, palette, hexLabel, paletteLabel, }: {
3
- value: string;
4
- onChange: (hex: string) => void;
5
- palette: string[];
6
- hexLabel?: string;
7
- paletteLabel?: string;
8
- }): import("react").JSX.Element;
@@ -1,59 +0,0 @@
1
- import { cn } from "../lib/utils.js";
2
- import { Input } from "./input.js";
3
- import { useState } from "react";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
- import { HexColorPicker } from "react-colorful";
6
- //#region resources/js/ui/color-picker.tsx
7
- function normalizeHex(input) {
8
- const raw = input.trim().replace(/^#/, "").toLowerCase();
9
- if (/^[0-9a-f]{6}$/.test(raw)) return `#${raw}`;
10
- if (/^[0-9a-f]{3}$/.test(raw)) return `#${raw[0]}${raw[0]}${raw[1]}${raw[1]}${raw[2]}${raw[2]}`;
11
- return null;
12
- }
13
- function ColorPicker({ value, onChange, palette, hexLabel = "Hex color", paletteLabel = "Color palette" }) {
14
- const [draft, setDraft] = useState(null);
15
- const color = normalizeHex(value) ?? "#6b7280";
16
- return /* @__PURE__ */ jsxs("div", {
17
- className: "flex w-56 flex-col gap-3",
18
- "data-slot": "color-picker",
19
- children: [
20
- /* @__PURE__ */ jsx(HexColorPicker, {
21
- className: "!w-full",
22
- color,
23
- onChange
24
- }),
25
- palette.length > 0 && /* @__PURE__ */ jsx("div", {
26
- "aria-label": paletteLabel,
27
- className: "flex flex-wrap gap-1.5",
28
- role: "listbox",
29
- children: palette.map((swatch) => {
30
- const normalized = normalizeHex(swatch) ?? swatch;
31
- return /* @__PURE__ */ jsx("button", {
32
- "aria-label": normalized,
33
- "aria-selected": normalized === color,
34
- className: cn("size-6 shrink-0 rounded-full border border-lt-border", normalized === color && "ring-2 ring-lt-ring ring-offset-1"),
35
- onClick: () => onChange(normalized),
36
- role: "option",
37
- style: { background: swatch },
38
- type: "button"
39
- }, swatch);
40
- })
41
- }),
42
- /* @__PURE__ */ jsx(Input, {
43
- "aria-label": hexLabel,
44
- onBlur: () => setDraft(null),
45
- onChange: (event) => {
46
- const text = event.target.value;
47
- const hex = normalizeHex(text);
48
- setDraft(text);
49
- if (hex !== null) onChange(hex);
50
- },
51
- value: draft ?? color
52
- })
53
- ]
54
- });
55
- }
56
- //#endregion
57
- export { ColorPicker, normalizeHex };
58
-
59
- //# sourceMappingURL=color-picker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-picker.js","names":[],"sources":["../../resources/js/ui/color-picker.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { Input } from \"./input\";\n\nexport function normalizeHex(input: string): string | null {\n const raw = input.trim().replace(/^#/, \"\").toLowerCase();\n\n if (/^[0-9a-f]{6}$/.test(raw)) {\n return `#${raw}`;\n }\n\n if (/^[0-9a-f]{3}$/.test(raw)) {\n return `#${raw[0]}${raw[0]}${raw[1]}${raw[1]}${raw[2]}${raw[2]}`;\n }\n\n return null;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n palette,\n hexLabel = \"Hex color\",\n paletteLabel = \"Color palette\",\n}: {\n value: string;\n onChange: (hex: string) => void;\n palette: string[];\n hexLabel?: string;\n paletteLabel?: string;\n}) {\n const [draft, setDraft] = useState<string | null>(null);\n const color = normalizeHex(value) ?? \"#6b7280\";\n\n return (\n <div className=\"flex w-56 flex-col gap-3\" data-slot=\"color-picker\">\n <HexColorPicker className=\"!w-full\" color={color} onChange={onChange} />\n {palette.length > 0 && (\n <div aria-label={paletteLabel} className=\"flex flex-wrap gap-1.5\" role=\"listbox\">\n {palette.map((swatch) => {\n const normalized = normalizeHex(swatch) ?? swatch;\n\n return (\n <button\n aria-label={normalized}\n aria-selected={normalized === color}\n className={cn(\n \"size-6 shrink-0 rounded-full border border-lt-border\",\n normalized === color && \"ring-2 ring-lt-ring ring-offset-1\",\n )}\n key={swatch}\n onClick={() => onChange(normalized)}\n role=\"option\"\n style={{ background: swatch }}\n type=\"button\"\n />\n );\n })}\n </div>\n )}\n <Input\n aria-label={hexLabel}\n onBlur={() => setDraft(null)}\n onChange={(event) => {\n const text = event.target.value;\n const hex = normalizeHex(text);\n setDraft(text);\n\n if (hex !== null) {\n onChange(hex);\n }\n }}\n value={draft ?? color}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;AAKA,SAAgB,aAAa,OAA8B;CACzD,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,YAAY;CAEvD,IAAI,gBAAgB,KAAK,GAAG,GAC1B,OAAO,IAAI;CAGb,IAAI,gBAAgB,KAAK,GAAG,GAC1B,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CAG9D,OAAO;AACT;AAEA,SAAgB,YAAY,EAC1B,OACA,UACA,SACA,WAAW,aACX,eAAe,mBAOd;CACD,MAAM,CAAC,OAAO,YAAY,SAAwB,IAAI;CACtD,MAAM,QAAQ,aAAa,KAAK,KAAK;CAErC,OACE,qBAAC,OAAD;EAAK,WAAU;EAA2B,aAAU;EAApD,UAAA;GACE,oBAAC,gBAAD;IAAgB,WAAU;IAAiB;IAAiB;GAAW,CAAA;GACtE,QAAQ,SAAS,KAChB,oBAAC,OAAD;IAAK,cAAY;IAAc,WAAU;IAAyB,MAAK;IACpE,UAAA,QAAQ,KAAK,WAAW;KACvB,MAAM,aAAa,aAAa,MAAM,KAAK;KAE3C,OACE,oBAAC,UAAD;MACE,cAAY;MACZ,iBAAe,eAAe;MAC9B,WAAW,GACT,wDACA,eAAe,SAAS,mCAC1B;MAEA,eAAe,SAAS,UAAU;MAClC,MAAK;MACL,OAAO,EAAE,YAAY,OAAO;MAC5B,MAAK;KACN,GALM,MAKN;IAEL,CAAC;GACE,CAAA;GAEP,oBAAC,OAAD;IACE,cAAY;IACZ,cAAc,SAAS,IAAI;IAC3B,WAAW,UAAU;KACnB,MAAM,OAAO,MAAM,OAAO;KAC1B,MAAM,MAAM,aAAa,IAAI;KAC7B,SAAS,IAAI;KAEb,IAAI,QAAQ,MACV,SAAS,GAAG;IAEhB;IACA,OAAO,SAAS;GACjB,CAAA;EACE;;AAET"}
@@ -1,42 +0,0 @@
1
- import { Option } from '../core/types.js';
2
- import * as React from "react";
3
- /**
4
- * A popover select list with an optional search box and single/multi selection.
5
- *
6
- * Selection state is controlled by the consumer (`selected` + `onSelect`); the
7
- * consumer also owns option fetching. Pass `onSearch` for remote search (the
8
- * combobox debounces the query and renders `options` as given); omit it to
9
- * filter the provided `options` locally by label. The combobox closes itself
10
- * after a single-select. Pass `renderOption` to render rich option rows; the
11
- * option's label stays the accessible name. `onSelect` toggles selection
12
- * (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that
13
- * match an existing option call `onCommit` instead, falling back to
14
- * `onSelect` when it is not provided, so consumers can make tag entry
15
- * additive instead of toggling.
16
- */
17
- declare function Combobox({ contentClassName, creatable, emptyLabel, loading, multiple, onCommit, onCreate, onSearch, onSelect, open, onOpenChange, options, renderOption, searchLabel, searchPlaceholder, selected, showSearch, testId, trigger, triggerClassName, triggerProps, }: {
18
- contentClassName?: string;
19
- creatable?: boolean;
20
- emptyLabel?: string;
21
- loading?: boolean;
22
- multiple?: boolean;
23
- onCommit?: (value: string) => void;
24
- onCreate?: (label: string) => void;
25
- onSearch?: (query: string) => void;
26
- onSelect: (value: string) => void;
27
- open: boolean;
28
- onOpenChange: (open: boolean) => void;
29
- options: Option[];
30
- renderOption?: (option: Option) => React.ReactNode;
31
- searchLabel?: string;
32
- searchPlaceholder?: string;
33
- selected: string[];
34
- showSearch?: boolean;
35
- testId?: string;
36
- trigger: React.ReactNode;
37
- triggerClassName?: string;
38
- triggerProps?: React.ComponentProps<"button"> & {
39
- "data-test"?: string;
40
- };
41
- }): React.JSX.Element;
42
- export { Combobox };
@@ -1,145 +0,0 @@
1
- import { useT } from "../i18n/instance.js";
2
- import { cn } from "../lib/utils.js";
3
- import { Icon } from "../icons/sprite.js";
4
- import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
5
- import { useDebouncedCallback } from "../lib/use-debounced-callback.js";
6
- import { useEffect, useState } from "react";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
- //#region resources/js/ui/combobox.tsx
9
- var SEARCH_DEBOUNCE_MS = 250;
10
- /**
11
- * A popover select list with an optional search box and single/multi selection.
12
- *
13
- * Selection state is controlled by the consumer (`selected` + `onSelect`); the
14
- * consumer also owns option fetching. Pass `onSearch` for remote search (the
15
- * combobox debounces the query and renders `options` as given); omit it to
16
- * filter the provided `options` locally by label. The combobox closes itself
17
- * after a single-select. Pass `renderOption` to render rich option rows; the
18
- * option's label stays the accessible name. `onSelect` toggles selection
19
- * (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that
20
- * match an existing option call `onCommit` instead, falling back to
21
- * `onSelect` when it is not provided, so consumers can make tag entry
22
- * additive instead of toggling.
23
- */
24
- function Combobox({ contentClassName, creatable = false, emptyLabel, loading = false, multiple = false, onCommit, onCreate, onSearch, onSelect, open, onOpenChange, options, renderOption, searchLabel, searchPlaceholder, selected, showSearch = true, testId, trigger, triggerClassName, triggerProps }) {
25
- const { t } = useT("lattice");
26
- const [query, setQuery] = useState("");
27
- function commitCreate(raw) {
28
- const tokens = raw.split(",").map((token) => token.trim()).filter(Boolean);
29
- for (const token of tokens) {
30
- const match = options.find((option) => option.label.toLowerCase() === token.toLowerCase());
31
- if (match) (onCommit ?? onSelect)(match.value);
32
- else onCreate?.(token);
33
- }
34
- if (multiple) setQuery("");
35
- else close();
36
- }
37
- const exactMatch = options.some((option) => option.label.toLowerCase() === query.trim().toLowerCase());
38
- const runSearch = useDebouncedCallback((next) => onSearch?.(next), SEARCH_DEBOUNCE_MS);
39
- useEffect(() => {
40
- if (!onSearch || !open) return;
41
- runSearch(query);
42
- return () => runSearch.cancel();
43
- }, [
44
- query,
45
- onSearch,
46
- open,
47
- runSearch
48
- ]);
49
- const visibleOptions = onSearch ? options : options.filter((option) => option.label.toLowerCase().includes(query.toLowerCase()));
50
- function close() {
51
- setQuery("");
52
- onOpenChange(false);
53
- }
54
- function choose(value) {
55
- onSelect(value);
56
- if (!multiple) close();
57
- }
58
- return /* @__PURE__ */ jsxs(Popover, {
59
- open,
60
- onOpenChange: (next) => next ? onOpenChange(true) : close(),
61
- children: [/* @__PURE__ */ jsx(PopoverTrigger, {
62
- asChild: true,
63
- children: /* @__PURE__ */ jsx("button", {
64
- type: "button",
65
- className: triggerClassName,
66
- ...triggerProps,
67
- children: trigger
68
- })
69
- }), /* @__PURE__ */ jsxs(PopoverContent, {
70
- align: "start",
71
- className: cn("w-[var(--radix-popover-trigger-width)] overflow-hidden p-0", contentClassName),
72
- children: [showSearch && /* @__PURE__ */ jsxs("div", {
73
- className: "flex items-center gap-2 border-b border-lt-border px-3 py-2",
74
- children: [/* @__PURE__ */ jsx("input", {
75
- "aria-label": searchLabel ?? t("form.search-options", "Search options"),
76
- "data-slot": "combobox-search",
77
- "data-test": testId ? `${testId}-search` : void 0,
78
- className: "w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg",
79
- onChange: (event) => {
80
- const next = event.target.value;
81
- if (creatable && next.includes(",")) {
82
- commitCreate(next);
83
- return;
84
- }
85
- setQuery(next);
86
- },
87
- onKeyDown: (event) => {
88
- if (creatable && event.key === "Enter" && query.trim() !== "") {
89
- event.preventDefault();
90
- commitCreate(query);
91
- }
92
- },
93
- placeholder: searchPlaceholder,
94
- value: query
95
- }), loading && /* @__PURE__ */ jsx(Icon, {
96
- name: "loader-2",
97
- "aria-hidden": "true",
98
- className: "size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg"
99
- })]
100
- }), /* @__PURE__ */ jsxs("div", {
101
- className: "max-h-60 overflow-y-auto p-1",
102
- role: "listbox",
103
- children: [creatable && query.trim() !== "" && !exactMatch && /* @__PURE__ */ jsxs("button", {
104
- className: "flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg",
105
- "data-test": testId ? `${testId}-create` : void 0,
106
- onClick: () => commitCreate(query),
107
- type: "button",
108
- children: [/* @__PURE__ */ jsx(Icon, {
109
- name: "plus",
110
- "aria-hidden": "true",
111
- className: "size-lt-icon-md shrink-0"
112
- }), t("form.create-option", "Create \"{{label}}\"", { label: query.trim() })]
113
- }), visibleOptions.length === 0 && !(creatable && query.trim() !== "" && !exactMatch) ? /* @__PURE__ */ jsx("p", {
114
- className: "px-3 py-2 text-sm text-lt-muted-fg",
115
- children: emptyLabel
116
- }) : visibleOptions.map((option) => {
117
- const isSelected = selected.includes(option.value);
118
- return /* @__PURE__ */ jsxs("button", {
119
- "aria-label": renderOption ? option.label : void 0,
120
- "aria-selected": isSelected,
121
- className: cn("flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg", isSelected && "bg-lt-accent/60"),
122
- "data-slot": "combobox-option",
123
- "data-test": testId ? `${testId}-option-${option.value}` : void 0,
124
- "data-value": option.value,
125
- onClick: () => choose(option.value),
126
- role: "option",
127
- type: "button",
128
- children: [renderOption ? /* @__PURE__ */ jsx("span", {
129
- className: "flex min-w-0 flex-1 items-center gap-2",
130
- children: renderOption(option)
131
- }) : option.label, isSelected && /* @__PURE__ */ jsx(Icon, {
132
- name: "check",
133
- "aria-hidden": "true",
134
- className: "size-lt-icon-md shrink-0"
135
- })]
136
- }, option.value);
137
- })]
138
- })]
139
- })]
140
- });
141
- }
142
- //#endregion
143
- export { Combobox };
144
-
145
- //# sourceMappingURL=combobox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combobox.js","names":[],"sources":["../../resources/js/ui/combobox.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport type { Option } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useDebouncedCallback } from \"@lattice-php/lattice/lib/use-debounced-callback\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\nconst SEARCH_DEBOUNCE_MS = 250;\n\n/**\n * A popover select list with an optional search box and single/multi selection.\n *\n * Selection state is controlled by the consumer (`selected` + `onSelect`); the\n * consumer also owns option fetching. Pass `onSearch` for remote search (the\n * combobox debounces the query and renders `options` as given); omit it to\n * filter the provided `options` locally by label. The combobox closes itself\n * after a single-select. Pass `renderOption` to render rich option rows; the\n * option's label stays the accessible name. `onSelect` toggles selection\n * (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that\n * match an existing option call `onCommit` instead, falling back to\n * `onSelect` when it is not provided, so consumers can make tag entry\n * additive instead of toggling.\n */\nfunction Combobox({\n contentClassName,\n creatable = false,\n emptyLabel,\n loading = false,\n multiple = false,\n onCommit,\n onCreate,\n onSearch,\n onSelect,\n open,\n onOpenChange,\n options,\n renderOption,\n searchLabel,\n searchPlaceholder,\n selected,\n showSearch = true,\n testId,\n trigger,\n triggerClassName,\n triggerProps,\n}: {\n contentClassName?: string;\n creatable?: boolean;\n emptyLabel?: string;\n loading?: boolean;\n multiple?: boolean;\n onCommit?: (value: string) => void;\n onCreate?: (label: string) => void;\n onSearch?: (query: string) => void;\n onSelect: (value: string) => void;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n options: Option[];\n renderOption?: (option: Option) => React.ReactNode;\n searchLabel?: string;\n searchPlaceholder?: string;\n selected: string[];\n showSearch?: boolean;\n testId?: string;\n trigger: React.ReactNode;\n triggerClassName?: string;\n triggerProps?: React.ComponentProps<\"button\"> & { \"data-test\"?: string };\n}) {\n const { t } = useT(\"lattice\");\n const [query, setQuery] = useState(\"\");\n\n function commitCreate(raw: string): void {\n const tokens = raw\n .split(\",\")\n .map((token) => token.trim())\n .filter(Boolean);\n\n for (const token of tokens) {\n const match = options.find((option) => option.label.toLowerCase() === token.toLowerCase());\n\n if (match) {\n (onCommit ?? onSelect)(match.value);\n } else {\n onCreate?.(token);\n }\n }\n\n if (multiple) {\n setQuery(\"\");\n } else {\n close();\n }\n }\n\n const exactMatch = options.some(\n (option) => option.label.toLowerCase() === query.trim().toLowerCase(),\n );\n\n const runSearch = useDebouncedCallback((next: string) => onSearch?.(next), SEARCH_DEBOUNCE_MS);\n\n useEffect(() => {\n if (!onSearch || !open) {\n return;\n }\n\n runSearch(query);\n\n return () => runSearch.cancel();\n }, [query, onSearch, open, runSearch]);\n\n const visibleOptions = onSearch\n ? options\n : options.filter((option) => option.label.toLowerCase().includes(query.toLowerCase()));\n\n function close(): void {\n setQuery(\"\");\n onOpenChange(false);\n }\n\n function choose(value: string): void {\n onSelect(value);\n\n if (!multiple) {\n close();\n }\n }\n\n return (\n <Popover open={open} onOpenChange={(next) => (next ? onOpenChange(true) : close())}>\n <PopoverTrigger asChild>\n <button type=\"button\" className={triggerClassName} {...triggerProps}>\n {trigger}\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n align=\"start\"\n className={cn(\n \"w-[var(--radix-popover-trigger-width)] overflow-hidden p-0\",\n contentClassName,\n )}\n >\n {showSearch && (\n <div className=\"flex items-center gap-2 border-b border-lt-border px-3 py-2\">\n <input\n aria-label={searchLabel ?? t(\"form.search-options\", \"Search options\")}\n data-slot=\"combobox-search\"\n data-test={testId ? `${testId}-search` : undefined}\n className=\"w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg\"\n onChange={(event) => {\n const next = event.target.value;\n\n if (creatable && next.includes(\",\")) {\n commitCreate(next);\n\n return;\n }\n\n setQuery(next);\n }}\n onKeyDown={(event) => {\n if (creatable && event.key === \"Enter\" && query.trim() !== \"\") {\n event.preventDefault();\n commitCreate(query);\n }\n }}\n placeholder={searchPlaceholder}\n value={query}\n />\n {loading && (\n <Icon\n name=\"loader-2\"\n aria-hidden=\"true\"\n className=\"size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg\"\n />\n )}\n </div>\n )}\n\n <div className=\"max-h-60 overflow-y-auto p-1\" role=\"listbox\">\n {creatable && query.trim() !== \"\" && !exactMatch && (\n <button\n className=\"flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg\"\n data-test={testId ? `${testId}-create` : undefined}\n onClick={() => commitCreate(query)}\n type=\"button\"\n >\n <Icon name=\"plus\" aria-hidden=\"true\" className=\"size-lt-icon-md shrink-0\" />\n {t(\"form.create-option\", 'Create \"{{label}}\"', { label: query.trim() })}\n </button>\n )}\n\n {visibleOptions.length === 0 && !(creatable && query.trim() !== \"\" && !exactMatch) ? (\n <p className=\"px-3 py-2 text-sm text-lt-muted-fg\">{emptyLabel}</p>\n ) : (\n visibleOptions.map((option) => {\n const isSelected = selected.includes(option.value);\n\n return (\n <button\n aria-label={renderOption ? option.label : undefined}\n aria-selected={isSelected}\n className={cn(\n \"flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg\",\n isSelected && \"bg-lt-accent/60\",\n )}\n data-slot=\"combobox-option\"\n data-test={testId ? `${testId}-option-${option.value}` : undefined}\n data-value={option.value}\n key={option.value}\n onClick={() => choose(option.value)}\n role=\"option\"\n type=\"button\"\n >\n {renderOption ? (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n {renderOption(option)}\n </span>\n ) : (\n option.label\n )}\n {isSelected && (\n <Icon name=\"check\" aria-hidden=\"true\" className=\"size-lt-icon-md shrink-0\" />\n )}\n </button>\n );\n })\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox };\n"],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { Emphasis, Variant } from '../types/generated.js';
2
- export declare function ConfirmDialog({ title, description, confirmLabel, cancelLabel, confirmVariant, confirmEmphasis, processing, confirmDisabled, onConfirm, onCancel, }: {
3
- title: string;
4
- description?: string;
5
- confirmLabel: string;
6
- cancelLabel?: string;
7
- confirmVariant?: Variant | null;
8
- confirmEmphasis?: Emphasis | null;
9
- processing?: boolean;
10
- confirmDisabled?: boolean;
11
- onConfirm: () => void;
12
- onCancel: () => void;
13
- }): import("react").JSX.Element;