@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 +0,0 @@
1
- {"version":3,"file":"prefill-context.js","names":[],"sources":["../../../resources/js/form/hooks/prefill-context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport type PrefillController = {\n markUserEdit: (overrideKey: string) => void;\n};\n\nconst PrefillContext = createContext<PrefillController | null>(null);\n\nexport const PrefillProvider = PrefillContext.Provider;\n\nexport function usePrefillController(): PrefillController | null {\n return useContext(PrefillContext);\n}\n"],"mappings":";;AAMA,IAAM,iBAAiB,cAAwC,IAAI;AAEnE,IAAa,kBAAkB,eAAe;AAE9C,SAAgB,uBAAiD;CAC/D,OAAO,WAAW,cAAc;AAClC"}
@@ -1,6 +0,0 @@
1
- import { Node } from '../../core/types.js';
2
- export declare function ResolvedNodesProvider({ nodes, children, }: {
3
- nodes: Record<string, Node>;
4
- children: React.ReactNode;
5
- }): import("react").JSX.Element;
6
- export declare function useResolvedNode(node: Node): Node;
@@ -1,23 +0,0 @@
1
- import { fieldProps } from "../lib/field-props.js";
2
- import { useFieldScope } from "./field-scope.js";
3
- import { createContext, useContext } from "react";
4
- import { jsx } from "react/jsx-runtime";
5
- //#region resources/js/form/hooks/resolved-nodes.tsx
6
- var ResolvedNodesContext = createContext({});
7
- function ResolvedNodesProvider({ nodes, children }) {
8
- return /* @__PURE__ */ jsx(ResolvedNodesContext.Provider, {
9
- value: nodes,
10
- children
11
- });
12
- }
13
- function useResolvedNode(node) {
14
- const nodes = useContext(ResolvedNodesContext);
15
- const name = fieldProps(node).name ?? "";
16
- const scope = useFieldScope();
17
- const path = name && scope ? scope.errorKey(name) : name;
18
- return path && nodes[path] || name && nodes[name] || node;
19
- }
20
- //#endregion
21
- export { ResolvedNodesProvider, useResolvedNode };
22
-
23
- //# sourceMappingURL=resolved-nodes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolved-nodes.js","names":[],"sources":["../../../resources/js/form/hooks/resolved-nodes.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { Node } from \"@lattice-php/lattice/core/types\";\nimport { fieldProps } from \"@lattice-php/lattice/form/lib/field-props\";\nimport { useFieldScope } from \"./field-scope\";\n\nconst ResolvedNodesContext = createContext<Record<string, Node>>({});\n\nexport function ResolvedNodesProvider({\n nodes,\n children,\n}: {\n nodes: Record<string, Node>;\n children: React.ReactNode;\n}) {\n return <ResolvedNodesContext.Provider value={nodes}>{children}</ResolvedNodesContext.Provider>;\n}\n\nexport function useResolvedNode(node: Node): Node {\n const nodes = useContext(ResolvedNodesContext);\n const name = fieldProps(node).name ?? \"\";\n const scope = useFieldScope();\n const path = name && scope ? scope.errorKey(name) : name;\n\n return (path && nodes[path]) || (name && nodes[name]) || node;\n}\n"],"mappings":";;;;;AAKA,IAAM,uBAAuB,cAAoC,CAAC,CAAC;AAEnE,SAAgB,sBAAsB,EACpC,OACA,YAIC;CACD,OAAO,oBAAC,qBAAqB,UAAtB;EAA+B,OAAO;EAAQ;CAAwC,CAAA;AAC/F;AAEA,SAAgB,gBAAgB,MAAkB;CAChD,MAAM,QAAQ,WAAW,oBAAoB;CAC7C,MAAM,OAAO,WAAW,IAAI,CAAC,CAAC,QAAQ;CACtC,MAAM,QAAQ,cAAc;CAC5B,MAAM,OAAO,QAAQ,QAAQ,MAAM,SAAS,IAAI,IAAI;CAEpD,OAAQ,QAAQ,MAAM,SAAW,QAAQ,MAAM,SAAU;AAC3D"}
@@ -1,5 +0,0 @@
1
- export declare function TableCellProvider({ children }: {
2
- children: React.ReactNode;
3
- }): import("react").JSX.Element;
4
- /** True when a field is being rendered inside a table-layout cell (no own label). */
5
- export declare function useInTableCell(): boolean;
@@ -1,18 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- import { jsx } from "react/jsx-runtime";
3
- //#region resources/js/form/hooks/row-layout-context.tsx
4
- var TableCellContext = createContext(false);
5
- function TableCellProvider({ children }) {
6
- return /* @__PURE__ */ jsx(TableCellContext.Provider, {
7
- value: true,
8
- children
9
- });
10
- }
11
- /** True when a field is being rendered inside a table-layout cell (no own label). */
12
- function useInTableCell() {
13
- return useContext(TableCellContext);
14
- }
15
- //#endregion
16
- export { TableCellProvider, useInTableCell };
17
-
18
- //# sourceMappingURL=row-layout-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-layout-context.js","names":[],"sources":["../../../resources/js/form/hooks/row-layout-context.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst TableCellContext = createContext(false);\n\nexport function TableCellProvider({ children }: { children: React.ReactNode }) {\n return <TableCellContext.Provider value={true}>{children}</TableCellContext.Provider>;\n}\n\n/** True when a field is being rendered inside a table-layout cell (no own label). */\nexport function useInTableCell(): boolean {\n return useContext(TableCellContext);\n}\n"],"mappings":";;;AAEA,IAAM,mBAAmB,cAAc,KAAK;AAE5C,SAAgB,kBAAkB,EAAE,YAA2C;CAC7E,OAAO,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO;EAAO;CAAoC,CAAA;AACtF;;AAGA,SAAgB,iBAA0B;CACxC,OAAO,WAAW,gBAAgB;AACpC"}
@@ -1,13 +0,0 @@
1
- import { Node } from '../../core/types.js';
2
- import { FieldState } from '../lib/conditions.js';
3
- export type ControlledField = FieldState & {
4
- localName: string;
5
- name: string;
6
- testId?: string;
7
- value: string;
8
- error?: string;
9
- commit: (value: unknown) => void;
10
- change: (value: unknown) => void;
11
- blur: () => void;
12
- };
13
- export declare function useControlledField(node: Node): ControlledField;
@@ -1,41 +0,0 @@
1
- import { testIdentity } from "../../core/test-id.js";
2
- import { useFormContext } from "./context.js";
3
- import { fieldProps } from "../lib/field-props.js";
4
- import { useFieldScope } from "./field-scope.js";
5
- import { useFormValue } from "./values.js";
6
- import { useFieldCommit } from "./use-field-commit.js";
7
- import { useDependentField } from "./use-dependent-field.js";
8
- import { fieldDomName } from "../lib/field-dom-name.js";
9
- //#region resources/js/form/hooks/use-controlled-field.ts
10
- function useControlledField(node) {
11
- const { errors, fieldIdPrefix } = useFormContext();
12
- const scope = useFieldScope();
13
- const state = useDependentField(node);
14
- const props = fieldProps(node);
15
- const localName = props.name ?? "";
16
- const globalValue = useFormValue(localName);
17
- const storedValue = scope ? scope.getValue(localName) : globalValue;
18
- const currentValue = storedValue !== void 0 ? storedValue : props.value;
19
- const value = typeof currentValue === "string" || typeof currentValue === "number" ? String(currentValue) : "";
20
- const domName = fieldDomName(scope ? scope.scopedName(localName) : localName, fieldIdPrefix);
21
- const errorKey = scope ? scope.errorKey(localName) : localName;
22
- const { commit: commitField, change: changeField, blur: blurField } = useFieldCommit();
23
- const commit = (next) => commitField(localName, next);
24
- const change = (next) => changeField(localName, next);
25
- const blur = () => blurField(localName);
26
- return {
27
- ...state,
28
- localName,
29
- name: domName,
30
- testId: testIdentity(localName),
31
- value,
32
- error: errors[errorKey],
33
- commit,
34
- change,
35
- blur
36
- };
37
- }
38
- //#endregion
39
- export { useControlledField };
40
-
41
- //# sourceMappingURL=use-controlled-field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-controlled-field.js","names":[],"sources":["../../../resources/js/form/hooks/use-controlled-field.ts"],"sourcesContent":["import type { Node } from \"@lattice-php/lattice/core/types\";\nimport { testIdentity } from \"@lattice-php/lattice/core/test-id\";\nimport type { FieldState } from \"@lattice-php/lattice/form/lib/conditions\";\nimport { fieldProps } from \"@lattice-php/lattice/form/lib/field-props\";\nimport { useFieldScope } from \"./field-scope\";\nimport { useFormContext } from \"./context\";\nimport { fieldDomName } from \"@lattice-php/lattice/form/lib/field-dom-name\";\nimport { useDependentField } from \"./use-dependent-field\";\nimport { useFieldCommit } from \"./use-field-commit\";\nimport { useFormValue } from \"./values\";\n\nexport type ControlledField = FieldState & {\n localName: string;\n name: string;\n testId?: string;\n value: string;\n error?: string;\n commit: (value: unknown) => void;\n change: (value: unknown) => void;\n blur: () => void;\n};\n\nexport function useControlledField(node: Node): ControlledField {\n const { errors, fieldIdPrefix } = useFormContext();\n const scope = useFieldScope();\n const state = useDependentField(node);\n const props = fieldProps(node);\n const localName = props.name ?? \"\";\n\n const globalValue = useFormValue(localName);\n const storedValue = scope ? scope.getValue(localName) : globalValue;\n const currentValue = storedValue !== undefined ? storedValue : props.value;\n const value =\n typeof currentValue === \"string\" || typeof currentValue === \"number\"\n ? String(currentValue)\n : \"\";\n\n const domName = fieldDomName(scope ? scope.scopedName(localName) : localName, fieldIdPrefix);\n const errorKey = scope ? scope.errorKey(localName) : localName;\n\n const { commit: commitField, change: changeField, blur: blurField } = useFieldCommit();\n const commit = (next: unknown): void => commitField(localName, next);\n const change = (next: unknown): void => changeField(localName, next);\n const blur = (): void => blurField(localName);\n\n return {\n ...state,\n localName,\n name: domName,\n testId: testIdentity(localName),\n value,\n error: errors[errorKey],\n commit,\n change,\n blur,\n };\n}\n"],"mappings":";;;;;;;;;AAsBA,SAAgB,mBAAmB,MAA6B;CAC9D,MAAM,EAAE,QAAQ,kBAAkB,eAAe;CACjD,MAAM,QAAQ,cAAc;CAC5B,MAAM,QAAQ,kBAAkB,IAAI;CACpC,MAAM,QAAQ,WAAW,IAAI;CAC7B,MAAM,YAAY,MAAM,QAAQ;CAEhC,MAAM,cAAc,aAAa,SAAS;CAC1C,MAAM,cAAc,QAAQ,MAAM,SAAS,SAAS,IAAI;CACxD,MAAM,eAAe,gBAAgB,KAAA,IAAY,cAAc,MAAM;CACrE,MAAM,QACJ,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,WACxD,OAAO,YAAY,IACnB;CAEN,MAAM,UAAU,aAAa,QAAQ,MAAM,WAAW,SAAS,IAAI,WAAW,aAAa;CAC3F,MAAM,WAAW,QAAQ,MAAM,SAAS,SAAS,IAAI;CAErD,MAAM,EAAE,QAAQ,aAAa,QAAQ,aAAa,MAAM,cAAc,eAAe;CACrF,MAAM,UAAU,SAAwB,YAAY,WAAW,IAAI;CACnE,MAAM,UAAU,SAAwB,YAAY,WAAW,IAAI;CACnE,MAAM,aAAmB,UAAU,SAAS;CAE5C,OAAO;EACL,GAAG;EACH;EACA,MAAM;EACN,QAAQ,aAAa,SAAS;EAC9B;EACA,OAAO,OAAO;EACd;EACA;EACA;CACF;AACF"}
@@ -1,3 +0,0 @@
1
- import { Node } from '../../core/types.js';
2
- import { FieldState } from '../lib/conditions.js';
3
- export declare function useDependentField(node: Node): FieldState;
@@ -1,25 +0,0 @@
1
- import { fieldProps } from "../lib/field-props.js";
2
- import { useFieldScope } from "./field-scope.js";
3
- import { useFormValuesFor } from "./values.js";
4
- import { conditionFields, evaluateConditions } from "../lib/conditions.js";
5
- import { useMemo } from "react";
6
- //#region resources/js/form/hooks/use-dependent-field.ts
7
- function useDependentField(node) {
8
- const scope = useFieldScope();
9
- const props = fieldProps(node);
10
- const fields = useMemo(() => conditionFields(props.conditions), [props.conditions]);
11
- const values = useFormValuesFor(fields);
12
- const conditionValues = scope ? {
13
- ...values,
14
- ...scope.values
15
- } : values;
16
- return evaluateConditions(props.conditions ?? void 0, conditionValues, {
17
- required: props.required ?? false,
18
- readOnly: props.readOnly ?? false,
19
- disabled: props.disabled ?? false
20
- });
21
- }
22
- //#endregion
23
- export { useDependentField };
24
-
25
- //# sourceMappingURL=use-dependent-field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-dependent-field.js","names":[],"sources":["../../../resources/js/form/hooks/use-dependent-field.ts"],"sourcesContent":["import type { Node } from \"@lattice-php/lattice/core/types\";\nimport { useMemo } from \"react\";\nimport {\n conditionFields,\n type FieldState,\n evaluateConditions,\n} from \"@lattice-php/lattice/form/lib/conditions\";\nimport { fieldProps } from \"@lattice-php/lattice/form/lib/field-props\";\nimport { useFieldScope } from \"./field-scope\";\nimport { useFormValuesFor } from \"./values\";\n\nexport function useDependentField(node: Node): FieldState {\n const scope = useFieldScope();\n const props = fieldProps(node);\n const fields = useMemo(() => conditionFields(props.conditions), [props.conditions]);\n const values = useFormValuesFor(fields);\n // Bare condition names resolve to row siblings first; form values remain the fallback.\n const conditionValues = scope ? { ...values, ...scope.values } : values;\n\n return evaluateConditions(props.conditions ?? undefined, conditionValues, {\n required: props.required ?? false,\n readOnly: props.readOnly ?? false,\n disabled: props.disabled ?? false,\n });\n}\n"],"mappings":";;;;;;AAWA,SAAgB,kBAAkB,MAAwB;CACxD,MAAM,QAAQ,cAAc;CAC5B,MAAM,QAAQ,WAAW,IAAI;CAC7B,MAAM,SAAS,cAAc,gBAAgB,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC;CAClF,MAAM,SAAS,iBAAiB,MAAM;CAEtC,MAAM,kBAAkB,QAAQ;EAAE,GAAG;EAAQ,GAAG,MAAM;CAAO,IAAI;CAEjE,OAAO,mBAAmB,MAAM,cAAc,KAAA,GAAW,iBAAiB;EACxE,UAAU,MAAM,YAAY;EAC5B,UAAU,MAAM,YAAY;EAC5B,UAAU,MAAM,YAAY;CAC9B,CAAC;AACH"}
@@ -1,24 +0,0 @@
1
- import { ReactNode } from 'react';
2
- type FieldCommit = {
3
- /** Write the value and validate immediately (precognitive) or clear errors. */
4
- commit: (name: string, value: unknown) => void;
5
- /** Write the value and clear errors, deferring validation to a later `blur`. */
6
- change: (name: string, value: unknown) => void;
7
- /** Validate the field now if precognitive (e.g. on blur or popover close). */
8
- blur: (name: string) => void;
9
- };
10
- export declare function FieldCommitOverrideProvider({ children, value, }: {
11
- children: ReactNode;
12
- value: FieldCommit;
13
- }): import('react').FunctionComponentElement<import('react').ProviderProps<FieldCommit | null>>;
14
- /**
15
- * The shared field-mutation contract every form field uses to write its value
16
- * and drive precognition. Fields that validate on change call `commit`; fields
17
- * that validate on blur/close (rich editor, select) call `change` then `blur`.
18
- *
19
- * When called inside a `FieldScopeProvider`, writes go through the scope's
20
- * `setValue` and error paths use the scoped dot-key; outside a scope the
21
- * behavior is identical to before.
22
- */
23
- export declare function useFieldCommit(): FieldCommit;
24
- export {};
@@ -1,51 +0,0 @@
1
- import { useFormContext } from "./context.js";
2
- import { usePrefillController } from "./prefill-context.js";
3
- import { useFieldScope } from "./field-scope.js";
4
- import { useSetFormValue } from "./values.js";
5
- import { createContext, createElement, useContext } from "react";
6
- //#region resources/js/form/hooks/use-field-commit.ts
7
- var FieldCommitOverrideContext = createContext(null);
8
- function FieldCommitOverrideProvider({ children, value }) {
9
- return createElement(FieldCommitOverrideContext.Provider, { value }, children);
10
- }
11
- /**
12
- * The shared field-mutation contract every form field uses to write its value
13
- * and drive precognition. Fields that validate on change call `commit`; fields
14
- * that validate on blur/close (rich editor, select) call `change` then `blur`.
15
- *
16
- * When called inside a `FieldScopeProvider`, writes go through the scope's
17
- * `setValue` and error paths use the scoped dot-key; outside a scope the
18
- * behavior is identical to before.
19
- */
20
- function useFieldCommit() {
21
- const override = useContext(FieldCommitOverrideContext);
22
- const { clearErrors, precognitive, validate } = useFormContext();
23
- const setGlobal = useSetFormValue();
24
- const scope = useFieldScope();
25
- const prefill = usePrefillController();
26
- if (override) return override;
27
- const write = (name, value) => {
28
- if (scope) scope.setValue(name, value);
29
- else setGlobal(name, value);
30
- prefill?.markUserEdit(scope ? scope.overrideKey(name) : name);
31
- };
32
- const errorPath = (name) => scope ? scope.errorKey(name) : name;
33
- return {
34
- commit(name, value) {
35
- write(name, value);
36
- if (precognitive) validate(errorPath(name));
37
- else clearErrors(errorPath(name));
38
- },
39
- change(name, value) {
40
- write(name, value);
41
- clearErrors(errorPath(name));
42
- },
43
- blur(name) {
44
- if (precognitive) validate(errorPath(name));
45
- }
46
- };
47
- }
48
- //#endregion
49
- export { FieldCommitOverrideProvider, useFieldCommit };
50
-
51
- //# sourceMappingURL=use-field-commit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-field-commit.js","names":[],"sources":["../../../resources/js/form/hooks/use-field-commit.ts"],"sourcesContent":["import { createContext, createElement, useContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { useFieldScope } from \"./field-scope\";\nimport { useFormContext } from \"./context\";\nimport { usePrefillController } from \"./prefill-context\";\nimport { useSetFormValue } from \"./values\";\n\ntype FieldCommit = {\n /** Write the value and validate immediately (precognitive) or clear errors. */\n commit: (name: string, value: unknown) => void;\n /** Write the value and clear errors, deferring validation to a later `blur`. */\n change: (name: string, value: unknown) => void;\n /** Validate the field now if precognitive (e.g. on blur or popover close). */\n blur: (name: string) => void;\n};\n\nconst FieldCommitOverrideContext = createContext<FieldCommit | null>(null);\n\nexport function FieldCommitOverrideProvider({\n children,\n value,\n}: {\n children: ReactNode;\n value: FieldCommit;\n}) {\n return createElement(FieldCommitOverrideContext.Provider, { value }, children);\n}\n\n/**\n * The shared field-mutation contract every form field uses to write its value\n * and drive precognition. Fields that validate on change call `commit`; fields\n * that validate on blur/close (rich editor, select) call `change` then `blur`.\n *\n * When called inside a `FieldScopeProvider`, writes go through the scope's\n * `setValue` and error paths use the scoped dot-key; outside a scope the\n * behavior is identical to before.\n */\nexport function useFieldCommit(): FieldCommit {\n const override = useContext(FieldCommitOverrideContext);\n const { clearErrors, precognitive, validate } = useFormContext();\n const setGlobal = useSetFormValue();\n const scope = useFieldScope();\n const prefill = usePrefillController();\n\n if (override) {\n return override;\n }\n\n const write = (name: string, value: unknown): void => {\n if (scope) {\n scope.setValue(name, value);\n } else {\n setGlobal(name, value);\n }\n prefill?.markUserEdit(scope ? scope.overrideKey(name) : name);\n };\n const errorPath = (name: string): string => (scope ? scope.errorKey(name) : name);\n\n return {\n commit(name, value) {\n write(name, value);\n if (precognitive) {\n validate(errorPath(name));\n } else {\n clearErrors(errorPath(name));\n }\n },\n change(name, value) {\n write(name, value);\n clearErrors(errorPath(name));\n },\n blur(name) {\n if (precognitive) {\n validate(errorPath(name));\n }\n },\n };\n}\n"],"mappings":";;;;;;AAgBA,IAAM,6BAA6B,cAAkC,IAAI;AAEzE,SAAgB,4BAA4B,EAC1C,UACA,SAIC;CACD,OAAO,cAAc,2BAA2B,UAAU,EAAE,MAAM,GAAG,QAAQ;AAC/E;;;;;;;;;;AAWA,SAAgB,iBAA8B;CAC5C,MAAM,WAAW,WAAW,0BAA0B;CACtD,MAAM,EAAE,aAAa,cAAc,aAAa,eAAe;CAC/D,MAAM,YAAY,gBAAgB;CAClC,MAAM,QAAQ,cAAc;CAC5B,MAAM,UAAU,qBAAqB;CAErC,IAAI,UACF,OAAO;CAGT,MAAM,SAAS,MAAc,UAAyB;EACpD,IAAI,OACF,MAAM,SAAS,MAAM,KAAK;OAE1B,UAAU,MAAM,KAAK;EAEvB,SAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,IAAI,IAAI;CAC9D;CACA,MAAM,aAAa,SAA0B,QAAQ,MAAM,SAAS,IAAI,IAAI;CAE5E,OAAO;EACL,OAAO,MAAM,OAAO;GAClB,MAAM,MAAM,KAAK;GACjB,IAAI,cACF,SAAS,UAAU,IAAI,CAAC;QAExB,YAAY,UAAU,IAAI,CAAC;EAE/B;EACA,OAAO,MAAM,OAAO;GAClB,MAAM,MAAM,KAAK;GACjB,YAAY,UAAU,IAAI,CAAC;EAC7B;EACA,KAAK,MAAM;GACT,IAAI,cACF,SAAS,UAAU,IAAI,CAAC;EAE5B;CACF;AACF"}
@@ -1,8 +0,0 @@
1
- import { Node } from '../../core/types.js';
2
- import { PrefillController } from './prefill-context.js';
3
- type FormResolver = {
4
- nodes: Record<string, Node>;
5
- markUserEdit: PrefillController["markUserEdit"];
6
- };
7
- export declare function useFormResolver(action: string, componentRef: string, nodes: Node[] | undefined): FormResolver;
8
- export {};
@@ -1,99 +0,0 @@
1
- import { walkFields } from "../lib/field-props.js";
2
- import { getPath } from "../lib/form-path.js";
3
- import { useFormValues, useSetFormValue } from "./values.js";
4
- import { useLayoutEffect as useLayoutEffect$1 } from "../../lib/use-layout-effect.js";
5
- import { postFormAction } from "../lib/form-transport.js";
6
- import { collectPrefillTargets, pathsToClear, pruneOverrides, seededOverrides } from "../lib/prefill-targets.js";
7
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
8
- //#region resources/js/form/hooks/use-form-resolver.ts
9
- function useFormResolver(action, componentRef, nodes) {
10
- const values = useFormValues();
11
- const setValue = useSetFormValue();
12
- const [resolved, setResolved] = useState({});
13
- const targets = useMemo(() => collectPrefillTargets(nodes, values), [nodes, values]);
14
- const overrides = useRef(/* @__PURE__ */ new Set());
15
- const seededOverrideKeys = useRef(/* @__PURE__ */ new Set());
16
- const previousValues = useRef(values);
17
- const previousTargets = useRef(targets);
18
- const targetsRef = useRef(targets);
19
- targetsRef.current = targets;
20
- useLayoutEffect$1(() => {
21
- const liveOverrideKeys = new Set(targets.map((target) => target.overrideKey));
22
- seededOverrideKeys.current = new Set([...seededOverrideKeys.current].filter((overrideKey) => liveOverrideKeys.has(overrideKey)));
23
- const freshTargets = targets.filter((target) => !seededOverrideKeys.current.has(target.overrideKey));
24
- for (const overrideKey of seededOverrides(freshTargets, values)) overrides.current.add(overrideKey);
25
- for (const target of freshTargets) seededOverrideKeys.current.add(target.overrideKey);
26
- }, [targets, values]);
27
- const markUserEdit = useCallback((overrideKey) => {
28
- overrides.current.add(overrideKey);
29
- }, []);
30
- const watch = useMemo(() => {
31
- const keys = /* @__PURE__ */ new Set();
32
- let any = false;
33
- walkFields(nodes, (props) => {
34
- if (Array.isArray(props.dependsOnKeys)) for (const key of props.dependsOnKeys) keys.add(String(key));
35
- if (props.dependsOnAny) any = true;
36
- });
37
- return {
38
- keys: [...keys],
39
- any
40
- };
41
- }, [nodes]);
42
- const watchPaths = useMemo(() => {
43
- const set = new Set(watch.keys);
44
- for (const target of targets) {
45
- for (const dep of target.resetOn) set.add(dep);
46
- for (const dep of target.refreshOn) set.add(dep);
47
- }
48
- return [...set];
49
- }, [watch.keys, targets]);
50
- const watchSignature = watch.any ? values : JSON.stringify(watchPaths.map((path) => getPath(values, path)));
51
- useEffect(() => {
52
- if (watchPaths.length === 0 && !watch.any) return;
53
- const previous = previousValues.current;
54
- previousValues.current = values;
55
- for (const overrideKey of pathsToClear({
56
- targets: previousTargets.current,
57
- values: previous
58
- }, {
59
- targets: targetsRef.current,
60
- values
61
- })) overrides.current.delete(overrideKey);
62
- previousTargets.current = targetsRef.current;
63
- overrides.current = pruneOverrides(overrides.current, targetsRef.current);
64
- const controller = new AbortController();
65
- const timer = window.setTimeout(() => {
66
- postFormAction(action, componentRef, {
67
- _sub: "resolve",
68
- ...values
69
- }, controller.signal).then((response) => {
70
- if (!response) return;
71
- for (const [name, value] of Object.entries(response.values ?? {})) setValue(name, value);
72
- const targetsByPath = new Map(targetsRef.current.map((target) => [target.path, target]));
73
- for (const [path, value] of Object.entries(response.prefill ?? {})) {
74
- const target = targetsByPath.get(path);
75
- if (target && !overrides.current.has(target.overrideKey)) setValue(path, value);
76
- }
77
- if (response.fields) setResolved(response.fields);
78
- }).catch(() => {});
79
- }, 250);
80
- return () => {
81
- window.clearTimeout(timer);
82
- controller.abort();
83
- };
84
- }, [
85
- watchSignature,
86
- action,
87
- componentRef,
88
- watch.any,
89
- setValue
90
- ]);
91
- return {
92
- nodes: resolved,
93
- markUserEdit
94
- };
95
- }
96
- //#endregion
97
- export { useFormResolver };
98
-
99
- //# sourceMappingURL=use-form-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-form-resolver.js","names":[],"sources":["../../../resources/js/form/hooks/use-form-resolver.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useLayoutEffect } from \"@lattice-php/lattice/lib/use-layout-effect\";\nimport type { Node } from \"@lattice-php/lattice/core/types\";\nimport type { ResolveResponse } from \"@lattice-php/lattice/types/generated\";\nimport { walkFields } from \"@lattice-php/lattice/form/lib/field-props\";\nimport { FORM_DEBOUNCE_MS, postFormAction } from \"@lattice-php/lattice/form/lib/form-transport\";\nimport {\n collectPrefillTargets,\n getPath,\n pathsToClear,\n pruneOverrides,\n seededOverrides,\n} from \"@lattice-php/lattice/form/lib/prefill-targets\";\nimport type { PrefillController } from \"./prefill-context\";\nimport { useFormValues, useSetFormValue } from \"./values\";\n\ntype FormResolver = {\n nodes: Record<string, Node>;\n markUserEdit: PrefillController[\"markUserEdit\"];\n};\n\nexport function useFormResolver(\n action: string,\n componentRef: string,\n nodes: Node[] | undefined,\n): FormResolver {\n const values = useFormValues();\n const setValue = useSetFormValue();\n const [resolved, setResolved] = useState<Record<string, Node>>({});\n\n const targets = useMemo(() => collectPrefillTargets(nodes, values), [nodes, values]);\n\n const overrides = useRef<Set<string>>(new Set());\n const seededOverrideKeys = useRef<Set<string>>(new Set());\n const previousValues = useRef<Record<string, unknown>>(values);\n const previousTargets = useRef(targets);\n\n // Read targets via a ref inside the effect: `targets` changes identity on every\n // value change, but the effect must fire only when `watchSignature` changes\n // (which already reflects added/removed target paths). Keeping `targets` out of\n // the dep array preserves the targeted watch in non-\"any\" mode.\n const targetsRef = useRef(targets);\n targetsRef.current = targets;\n\n useLayoutEffect(() => {\n const liveOverrideKeys = new Set(targets.map((target) => target.overrideKey));\n seededOverrideKeys.current = new Set(\n [...seededOverrideKeys.current].filter((overrideKey) => liveOverrideKeys.has(overrideKey)),\n );\n const freshTargets = targets.filter(\n (target) => !seededOverrideKeys.current.has(target.overrideKey),\n );\n\n // Layout ordering seeds loaded values before the first resolve effect can apply prefill.\n for (const overrideKey of seededOverrides(freshTargets, values)) {\n overrides.current.add(overrideKey);\n }\n\n for (const target of freshTargets) {\n seededOverrideKeys.current.add(target.overrideKey);\n }\n }, [targets, values]);\n\n const markUserEdit = useCallback((overrideKey: string) => {\n overrides.current.add(overrideKey);\n }, []);\n\n const watch = useMemo(() => {\n const keys = new Set<string>();\n let any = false;\n walkFields(nodes, (props) => {\n if (Array.isArray(props.dependsOnKeys)) {\n for (const key of props.dependsOnKeys) {\n keys.add(String(key));\n }\n }\n if (props.dependsOnAny) {\n any = true;\n }\n });\n return { keys: [...keys], any };\n }, [nodes]);\n\n const watchPaths = useMemo(() => {\n const set = new Set<string>(watch.keys);\n for (const target of targets) {\n for (const dep of target.resetOn) {\n set.add(dep);\n }\n for (const dep of target.refreshOn) {\n set.add(dep);\n }\n }\n return [...set];\n }, [watch.keys, targets]);\n\n // In \"any\" mode the values store keeps a stable reference until something\n // actually changes, so its identity is the change signal. Otherwise hash the\n // watched paths (form-level and per-row).\n const watchSignature = watch.any\n ? values\n : JSON.stringify(watchPaths.map((path) => getPath(values, path)));\n\n useEffect(() => {\n if (watchPaths.length === 0 && !watch.any) {\n return;\n }\n\n const previous = previousValues.current;\n previousValues.current = values;\n\n // `resetOn` deps unlock a path (a fresh product gives a fresh price); `refreshOn`\n // deps only re-ask the server and never clear an override (a customer change\n // re-prices untouched rows but leaves user-edited ones alone).\n for (const overrideKey of pathsToClear(\n { targets: previousTargets.current, values: previous },\n { targets: targetsRef.current, values },\n )) {\n overrides.current.delete(overrideKey);\n }\n previousTargets.current = targetsRef.current;\n\n // Override ownership is row-id keyed, so pruning removes departed rows without reindex drift.\n overrides.current = pruneOverrides(overrides.current, targetsRef.current);\n\n const controller = new AbortController();\n\n const timer = window.setTimeout(() => {\n void postFormAction<ResolveResponse>(\n action,\n componentRef,\n { _sub: \"resolve\", ...values },\n controller.signal,\n )\n .then((response) => {\n if (!response) {\n return;\n }\n for (const [name, value] of Object.entries(response.values ?? {})) {\n setValue(name, value);\n }\n const targetsByPath = new Map(\n targetsRef.current.map((target) => [target.path, target] as const),\n );\n for (const [path, value] of Object.entries(response.prefill ?? {})) {\n const target = targetsByPath.get(path);\n\n if (target && !overrides.current.has(target.overrideKey)) {\n setValue(path, value);\n }\n }\n if (response.fields) {\n setResolved(response.fields);\n }\n })\n .catch(() => {});\n }, FORM_DEBOUNCE_MS);\n\n return () => {\n window.clearTimeout(timer);\n controller.abort();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watchSignature, action, componentRef, watch.any, setValue]);\n\n return { nodes: resolved, markUserEdit };\n}\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Seed a field's default into the store so dependent fields and the submitted
3
- * payload reflect it before the user interacts. Pass undefined to skip.
4
- */
5
- export declare function useSeedDefault(name: string, value: unknown): void;
@@ -1,28 +0,0 @@
1
- import { useFieldScope } from "./field-scope.js";
2
- import { useFormValue, useSetFormValue } from "./values.js";
3
- import { useEffect } from "react";
4
- //#region resources/js/form/hooks/use-seed-default.ts
5
- /**
6
- * Seed a field's default into the store so dependent fields and the submitted
7
- * payload reflect it before the user interacts. Pass undefined to skip.
8
- */
9
- function useSeedDefault(name, value) {
10
- const scope = useFieldScope();
11
- const globalStored = useFormValue(name);
12
- const stored = scope ? scope.getValue(name) : globalStored;
13
- const setValue = useSetFormValue();
14
- useEffect(() => {
15
- if (stored === void 0 && value !== void 0) if (scope) scope.setValue(name, value);
16
- else setValue(name, value);
17
- }, [
18
- name,
19
- value,
20
- stored,
21
- setValue,
22
- scope
23
- ]);
24
- }
25
- //#endregion
26
- export { useSeedDefault };
27
-
28
- //# sourceMappingURL=use-seed-default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-seed-default.js","names":[],"sources":["../../../resources/js/form/hooks/use-seed-default.ts"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useFieldScope } from \"./field-scope\";\nimport { useFormValue, useSetFormValue } from \"./values\";\n\n/**\n * Seed a field's default into the store so dependent fields and the submitted\n * payload reflect it before the user interacts. Pass undefined to skip.\n */\nexport function useSeedDefault(name: string, value: unknown): void {\n const scope = useFieldScope();\n const globalStored = useFormValue(name);\n const stored = scope ? scope.getValue(name) : globalStored;\n const setValue = useSetFormValue();\n\n useEffect(() => {\n if (stored === undefined && value !== undefined) {\n if (scope) {\n scope.setValue(name, value);\n } else {\n setValue(name, value);\n }\n }\n }, [name, value, stored, setValue, scope]);\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,eAAe,MAAc,OAAsB;CACjE,MAAM,QAAQ,cAAc;CAC5B,MAAM,eAAe,aAAa,IAAI;CACtC,MAAM,SAAS,QAAQ,MAAM,SAAS,IAAI,IAAI;CAC9C,MAAM,WAAW,gBAAgB;CAEjC,gBAAgB;EACd,IAAI,WAAW,KAAA,KAAa,UAAU,KAAA,GACpC,IAAI,OACF,MAAM,SAAS,MAAM,KAAK;OAE1B,SAAS,MAAM,KAAK;CAG1B,GAAG;EAAC;EAAM;EAAO;EAAQ;EAAU;CAAK,CAAC;AAC3C"}
@@ -1,17 +0,0 @@
1
- export type SetFormValue = (name: string, value: unknown | ((previous: unknown) => unknown)) => void;
2
- export type ResetFormValues = (fields?: string[]) => void;
3
- export declare function FormValuesProvider({ initial, children, }: {
4
- initial: Record<string, unknown>;
5
- children: React.ReactNode;
6
- }): import("react").JSX.Element;
7
- export declare function useFormValues(): Record<string, unknown>;
8
- export declare function useFormValue(name: string): unknown;
9
- export declare function useFormValuesFor(paths: string[]): Record<string, unknown>;
10
- export declare function useSetFormValue(): SetFormValue;
11
- /**
12
- * Reset values to the store's initial snapshot — all of them, or just the
13
- * given field paths. This is the reset that actually clears controlled
14
- * fields; Inertia's own form reset only touches its internal data and the
15
- * DOM, which store-driven inputs ignore.
16
- */
17
- export declare function useResetFormValues(): ResetFormValues;
@@ -1,154 +0,0 @@
1
- import { getPath, setPath } from "../lib/form-path.js";
2
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useSyncExternalStore } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
- //#region resources/js/form/hooks/values.tsx
5
- var emptyValues = {};
6
- var emptySelectedValues = {};
7
- var FormValuesStoreContext = createContext(null);
8
- var SetFormValueContext = createContext(() => {});
9
- function valuesEqual(a, b) {
10
- if (Object.is(a, b)) return true;
11
- if (!a || !b || typeof a !== "object" || typeof b !== "object") return false;
12
- if (Array.isArray(a) || Array.isArray(b)) return Array.isArray(a) && Array.isArray(b) && a.length === b.length && a.every((value, index) => valuesEqual(value, b[index]));
13
- const aEntries = Object.entries(a);
14
- const bObject = b;
15
- return aEntries.length === Object.keys(bObject).length && aEntries.every(([key, value]) => valuesEqual(value, bObject[key]));
16
- }
17
- function normalizePath(path) {
18
- return path.split(".").filter((part) => part !== "").join(".");
19
- }
20
- function pathsOverlap(left, right) {
21
- return left === "" || right === "" || left === right || left.startsWith(`${right}.`) || right.startsWith(`${left}.`);
22
- }
23
- function createFormValuesStore(initial) {
24
- let initialValues = initial;
25
- let values = initial;
26
- const listeners = /* @__PURE__ */ new Set();
27
- const pathListeners = /* @__PURE__ */ new Map();
28
- const selectedCache = /* @__PURE__ */ new Map();
29
- const notify = (path) => {
30
- for (const listener of listeners) listener();
31
- const normalizedPath = normalizePath(path);
32
- for (const [subscribedPath, subscribedListeners] of pathListeners) {
33
- if (!pathsOverlap(subscribedPath, normalizedPath)) continue;
34
- for (const listener of subscribedListeners) listener();
35
- }
36
- };
37
- const updateValues = (next, path) => {
38
- if (Object.is(values, next)) return;
39
- values = next;
40
- selectedCache.clear();
41
- notify(path);
42
- };
43
- const subscribePath = (path, listener) => {
44
- const normalizedPath = normalizePath(path);
45
- const listenersForPath = pathListeners.get(normalizedPath) ?? /* @__PURE__ */ new Set();
46
- listenersForPath.add(listener);
47
- pathListeners.set(normalizedPath, listenersForPath);
48
- return () => {
49
- listenersForPath.delete(listener);
50
- if (listenersForPath.size === 0) pathListeners.delete(normalizedPath);
51
- };
52
- };
53
- return {
54
- getPathSnapshot: (path) => getPath(values, path),
55
- getPathsSnapshot: (paths) => {
56
- if (paths.length === 0) return emptySelectedValues;
57
- const normalizedPaths = paths.map(normalizePath);
58
- const key = JSON.stringify(paths);
59
- const selectedValues = normalizedPaths.map((path) => getPath(values, path));
60
- const cached = selectedCache.get(key);
61
- if (cached && cached.values.length === selectedValues.length && selectedValues.every((value, index) => Object.is(value, cached.values[index]))) return cached.snapshot;
62
- const snapshot = Object.fromEntries(paths.map((path, index) => [path, selectedValues[index]]));
63
- selectedCache.set(key, {
64
- snapshot,
65
- values: selectedValues
66
- });
67
- return snapshot;
68
- },
69
- getSnapshot: () => values,
70
- replaceInitial: (nextInitial) => {
71
- if (valuesEqual(initialValues, nextInitial)) return;
72
- initialValues = nextInitial;
73
- updateValues(nextInitial, "");
74
- },
75
- reset: (fields) => {
76
- if (fields === void 0) {
77
- updateValues(initialValues, "");
78
- return;
79
- }
80
- const next = fields.reduce((accumulated, field) => setPath(accumulated, field, getPath(initialValues, field)), values);
81
- updateValues(next, "");
82
- },
83
- setValue: (name, value) => {
84
- const previous = getPath(values, name);
85
- const next = typeof value === "function" ? value(previous) : value;
86
- if (Object.is(previous, next)) return;
87
- updateValues(setPath(values, name, next), name);
88
- },
89
- subscribe: (listener) => {
90
- listeners.add(listener);
91
- return () => listeners.delete(listener);
92
- },
93
- subscribePath,
94
- subscribePaths: (paths, listener) => {
95
- const unsubscribers = Array.from(new Set(paths.map(normalizePath))).map((path) => subscribePath(path, listener));
96
- return () => {
97
- for (const unsubscribe of unsubscribers) unsubscribe();
98
- };
99
- }
100
- };
101
- }
102
- var fallbackFormValuesStore = createFormValuesStore(emptyValues);
103
- function FormValuesProvider({ initial, children }) {
104
- const storeRef = useRef(null);
105
- if (storeRef.current === null) storeRef.current = createFormValuesStore(initial);
106
- useEffect(() => {
107
- storeRef.current?.replaceInitial(initial);
108
- }, [initial]);
109
- return /* @__PURE__ */ jsx(FormValuesStoreContext.Provider, {
110
- value: storeRef.current,
111
- children: /* @__PURE__ */ jsx(SetFormValueContext.Provider, {
112
- value: storeRef.current.setValue,
113
- children
114
- })
115
- });
116
- }
117
- function useFormValuesStore() {
118
- return useContext(FormValuesStoreContext) ?? fallbackFormValuesStore;
119
- }
120
- function useFormValues() {
121
- const store = useFormValuesStore();
122
- return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
123
- }
124
- function useFormValue(name) {
125
- const store = useFormValuesStore();
126
- const subscribe = useCallback((listener) => store.subscribePath(name, listener), [name, store]);
127
- const getSnapshot = useCallback(() => store.getPathSnapshot(name), [name, store]);
128
- return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
129
- }
130
- function useFormValuesFor(paths) {
131
- const store = useFormValuesStore();
132
- const pathsKey = JSON.stringify(paths);
133
- const selectedPaths = useMemo(() => JSON.parse(pathsKey), [pathsKey]);
134
- const subscribe = useCallback((listener) => store.subscribePaths(selectedPaths, listener), [selectedPaths, store]);
135
- const getSnapshot = useCallback(() => store.getPathsSnapshot(selectedPaths), [selectedPaths, store]);
136
- return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
137
- }
138
- function useSetFormValue() {
139
- return useContext(SetFormValueContext);
140
- }
141
- /**
142
- * Reset values to the store's initial snapshot — all of them, or just the
143
- * given field paths. This is the reset that actually clears controlled
144
- * fields; Inertia's own form reset only touches its internal data and the
145
- * DOM, which store-driven inputs ignore.
146
- */
147
- function useResetFormValues() {
148
- const store = useFormValuesStore();
149
- return useCallback((fields) => store.reset(fields), [store]);
150
- }
151
- //#endregion
152
- export { FormValuesProvider, useFormValue, useFormValues, useFormValuesFor, useResetFormValues, useSetFormValue };
153
-
154
- //# sourceMappingURL=values.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"values.js","names":[],"sources":["../../../resources/js/form/hooks/values.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from \"react\";\nimport { getPath, setPath } from \"@lattice-php/lattice/form/lib/form-path\";\n\nexport type SetFormValue = (\n name: string,\n value: unknown | ((previous: unknown) => unknown),\n) => void;\n\nexport type ResetFormValues = (fields?: string[]) => void;\n\ntype FormValuesStore = {\n getPathSnapshot: (path: string) => unknown;\n getPathsSnapshot: (paths: string[]) => Record<string, unknown>;\n getSnapshot: () => Record<string, unknown>;\n replaceInitial: (initial: Record<string, unknown>) => void;\n reset: ResetFormValues;\n setValue: SetFormValue;\n subscribe: (listener: () => void) => () => void;\n subscribePath: (path: string, listener: () => void) => () => void;\n subscribePaths: (paths: string[], listener: () => void) => () => void;\n};\n\nconst emptyValues: Record<string, unknown> = {};\nconst emptySelectedValues: Record<string, unknown> = {};\n\nconst FormValuesStoreContext = createContext<FormValuesStore | null>(null);\nconst SetFormValueContext = createContext<SetFormValue>(() => {});\n\nfunction valuesEqual(a: unknown, b: unknown): boolean {\n if (Object.is(a, b)) {\n return true;\n }\n\n if (!a || !b || typeof a !== \"object\" || typeof b !== \"object\") {\n return false;\n }\n\n if (Array.isArray(a) || Array.isArray(b)) {\n return (\n Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((value, index) => valuesEqual(value, b[index]))\n );\n }\n\n const aEntries = Object.entries(a);\n const bObject = b as Record<string, unknown>;\n\n return (\n aEntries.length === Object.keys(bObject).length &&\n aEntries.every(([key, value]) => valuesEqual(value, bObject[key]))\n );\n}\n\nfunction normalizePath(path: string): string {\n return path\n .split(\".\")\n .filter((part) => part !== \"\")\n .join(\".\");\n}\n\nfunction pathsOverlap(left: string, right: string): boolean {\n return (\n left === \"\" ||\n right === \"\" ||\n left === right ||\n left.startsWith(`${right}.`) ||\n right.startsWith(`${left}.`)\n );\n}\n\nfunction createFormValuesStore(initial: Record<string, unknown>): FormValuesStore {\n let initialValues = initial;\n let values = initial;\n const listeners = new Set<() => void>();\n const pathListeners = new Map<string, Set<() => void>>();\n const selectedCache = new Map<string, { snapshot: Record<string, unknown>; values: unknown[] }>();\n\n const notify = (path: string): void => {\n for (const listener of listeners) {\n listener();\n }\n\n const normalizedPath = normalizePath(path);\n\n for (const [subscribedPath, subscribedListeners] of pathListeners) {\n if (!pathsOverlap(subscribedPath, normalizedPath)) {\n continue;\n }\n\n for (const listener of subscribedListeners) {\n listener();\n }\n }\n };\n\n const updateValues = (next: Record<string, unknown>, path: string): void => {\n if (Object.is(values, next)) {\n return;\n }\n\n values = next;\n selectedCache.clear();\n notify(path);\n };\n\n const subscribePath = (path: string, listener: () => void): (() => void) => {\n const normalizedPath = normalizePath(path);\n const listenersForPath = pathListeners.get(normalizedPath) ?? new Set<() => void>();\n\n listenersForPath.add(listener);\n pathListeners.set(normalizedPath, listenersForPath);\n\n return () => {\n listenersForPath.delete(listener);\n\n if (listenersForPath.size === 0) {\n pathListeners.delete(normalizedPath);\n }\n };\n };\n\n return {\n getPathSnapshot: (path: string): unknown => getPath(values, path),\n getPathsSnapshot: (paths: string[]): Record<string, unknown> => {\n if (paths.length === 0) {\n return emptySelectedValues;\n }\n\n const normalizedPaths = paths.map(normalizePath);\n const key = JSON.stringify(paths);\n const selectedValues = normalizedPaths.map((path) => getPath(values, path));\n const cached = selectedCache.get(key);\n\n if (\n cached &&\n cached.values.length === selectedValues.length &&\n selectedValues.every((value, index) => Object.is(value, cached.values[index]))\n ) {\n return cached.snapshot;\n }\n\n const snapshot = Object.fromEntries(\n paths.map((path, index) => [path, selectedValues[index]]),\n );\n\n selectedCache.set(key, { snapshot, values: selectedValues });\n\n return snapshot;\n },\n getSnapshot: () => values,\n replaceInitial: (nextInitial: Record<string, unknown>): void => {\n if (valuesEqual(initialValues, nextInitial)) {\n return;\n }\n\n initialValues = nextInitial;\n updateValues(nextInitial, \"\");\n },\n reset: (fields?: string[]): void => {\n if (fields === undefined) {\n updateValues(initialValues, \"\");\n\n return;\n }\n\n const next = fields.reduce(\n (accumulated, field) => setPath(accumulated, field, getPath(initialValues, field)),\n values,\n );\n\n updateValues(next, \"\");\n },\n setValue: (name: string, value: unknown | ((previous: unknown) => unknown)): void => {\n const previous = getPath(values, name);\n const next = typeof value === \"function\" ? value(previous) : value;\n\n if (Object.is(previous, next)) {\n return;\n }\n\n updateValues(setPath(values, name, next), name);\n },\n subscribe: (listener: () => void): (() => void) => {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n },\n subscribePath,\n subscribePaths: (paths: string[], listener: () => void): (() => void) => {\n const unsubscribers = Array.from(new Set(paths.map(normalizePath))).map((path) =>\n subscribePath(path, listener),\n );\n\n return () => {\n for (const unsubscribe of unsubscribers) {\n unsubscribe();\n }\n };\n },\n };\n}\n\nconst fallbackFormValuesStore = createFormValuesStore(emptyValues);\n\nexport function FormValuesProvider({\n initial,\n children,\n}: {\n initial: Record<string, unknown>;\n children: React.ReactNode;\n}) {\n const storeRef = useRef<FormValuesStore>(null);\n\n if (storeRef.current === null) {\n storeRef.current = createFormValuesStore(initial);\n }\n\n useEffect(() => {\n storeRef.current?.replaceInitial(initial);\n }, [initial]);\n\n return (\n <FormValuesStoreContext.Provider value={storeRef.current}>\n <SetFormValueContext.Provider value={storeRef.current.setValue}>\n {children}\n </SetFormValueContext.Provider>\n </FormValuesStoreContext.Provider>\n );\n}\n\nfunction useFormValuesStore(): FormValuesStore {\n return useContext(FormValuesStoreContext) ?? fallbackFormValuesStore;\n}\n\nexport function useFormValues(): Record<string, unknown> {\n const store = useFormValuesStore();\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n}\n\nexport function useFormValue(name: string): unknown {\n const store = useFormValuesStore();\n const subscribe = useCallback(\n (listener: () => void) => store.subscribePath(name, listener),\n [name, store],\n );\n const getSnapshot = useCallback(() => store.getPathSnapshot(name), [name, store]);\n\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n}\n\nexport function useFormValuesFor(paths: string[]): Record<string, unknown> {\n const store = useFormValuesStore();\n const pathsKey = JSON.stringify(paths);\n const selectedPaths = useMemo(() => JSON.parse(pathsKey) as string[], [pathsKey]);\n const subscribe = useCallback(\n (listener: () => void) => store.subscribePaths(selectedPaths, listener),\n [selectedPaths, store],\n );\n const getSnapshot = useCallback(\n () => store.getPathsSnapshot(selectedPaths),\n [selectedPaths, store],\n );\n\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n}\n\nexport function useSetFormValue(): SetFormValue {\n return useContext(SetFormValueContext);\n}\n\n/**\n * Reset values to the store's initial snapshot — all of them, or just the\n * given field paths. This is the reset that actually clears controlled\n * fields; Inertia's own form reset only touches its internal data and the\n * DOM, which store-driven inputs ignore.\n */\nexport function useResetFormValues(): ResetFormValues {\n const store = useFormValuesStore();\n\n return useCallback((fields?: string[]) => store.reset(fields), [store]);\n}\n"],"mappings":"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"}