@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.
- package/README.md +5 -42
- package/dist/_virtual/_rolldown/runtime.js +27 -0
- package/dist/action/components/action-form.d.ts +1 -29
- package/dist/action/components/action-form.js +6 -257
- package/dist/action/components/action-form.js.map +1 -1
- package/dist/action/components/action-group.d.ts +1 -1
- package/dist/action/components/action-group.js +7 -7
- package/dist/action/components/action-group.js.map +1 -1
- package/dist/action/components/action-trigger-provider.d.ts +2 -2
- package/dist/action/components/action-trigger-provider.js +1 -1
- package/dist/action/components/action-trigger-provider.js.map +1 -1
- package/dist/action/components/action.d.ts +1 -1
- package/dist/action/components/action.js +5 -5
- package/dist/action/components/action.js.map +1 -1
- package/dist/action/hooks/use-action.d.ts +1 -1
- package/dist/action/hooks/use-action.js +10 -10
- package/dist/action/hooks/use-action.js.map +1 -1
- package/dist/action/index.d.ts +1 -1
- package/dist/action/index.js +5 -3
- package/dist/action/lib/action-label.d.ts +1 -1
- package/dist/action/lib/action-label.js +1 -1
- package/dist/action/lib/action-label.js.map +1 -1
- package/dist/action/lib/run-action.d.ts +1 -9
- package/dist/action/lib/run-action.js +6 -20
- package/dist/action/lib/run-action.js.map +1 -1
- package/dist/action/plugin.d.ts +2 -1
- package/dist/action/plugin.js +3 -3
- package/dist/action/plugin.js.map +1 -1
- package/dist/appearance/index.js +1 -1
- package/dist/appearance/index.js.map +1 -1
- package/dist/chat/components/chat-box.d.ts +1 -1
- package/dist/chat/components/chat-box.js +4 -4
- package/dist/chat/components/chat-box.js.map +1 -1
- package/dist/chat/components/message-list.js +1 -1
- package/dist/chat/components/message-list.js.map +1 -1
- package/dist/chat/components/message.js +3 -3
- package/dist/chat/components/message.js.map +1 -1
- package/dist/chat/components/prompt-input.js +4 -4
- package/dist/chat/components/prompt-input.js.map +1 -1
- package/dist/chat/lib/transport.d.ts +1 -1
- package/dist/chat/lib/transport.js +1 -1
- package/dist/chat/lib/transport.js.map +1 -1
- package/dist/chat/parts/text.d.ts +1 -1
- package/dist/chat/parts/text.js.map +1 -1
- package/dist/chat/parts/tool-call.d.ts +1 -1
- package/dist/chat/parts/tool-call.js +1 -1
- package/dist/chat/parts/tool-call.js.map +1 -1
- package/dist/chat/plugin.d.ts +2 -1
- package/dist/chat/plugin.js +3 -3
- package/dist/chat/plugin.js.map +1 -1
- package/dist/chat/types.d.ts +1 -1
- package/dist/create-app.d.ts +2 -2
- package/dist/create-app.js +12 -10
- package/dist/create-app.js.map +1 -1
- package/dist/event-bridge.js +2 -2
- package/dist/event-bridge.js.map +1 -1
- package/dist/{ui → fragments}/fragment.d.ts +1 -1
- package/dist/{ui → fragments}/fragment.js +6 -6
- package/dist/fragments/fragment.js.map +1 -0
- package/dist/fragments/plugin.d.ts +2 -0
- package/dist/fragments/plugin.js +11 -0
- package/dist/fragments/plugin.js.map +1 -0
- package/dist/index.d.ts +21 -22
- package/dist/index.js +14 -18
- package/dist/inertia.js +2 -2
- package/dist/inertia.js.map +1 -1
- package/dist/layout/components/breadcrumbs.d.ts +1 -1
- package/dist/layout/components/breadcrumbs.js +2 -2
- package/dist/layout/components/breadcrumbs.js.map +1 -1
- package/dist/layout/components/callouts.d.ts +1 -1
- package/dist/layout/components/callouts.js +5 -5
- package/dist/layout/components/callouts.js.map +1 -1
- package/dist/layout/components/dropdown.d.ts +1 -1
- package/dist/layout/components/dropdown.js +1 -1
- package/dist/layout/components/dropdown.js.map +1 -1
- package/dist/layout/components/menu-item.d.ts +1 -1
- package/dist/layout/components/menu-item.js +6 -7
- package/dist/layout/components/menu-item.js.map +1 -1
- package/dist/layout/components/menu.d.ts +1 -1
- package/dist/layout/components/menu.js +1 -1
- package/dist/layout/components/menu.js.map +1 -1
- package/dist/layout/components/outlet.d.ts +1 -1
- package/dist/layout/components/outlet.js.map +1 -1
- package/dist/layout/components/popover.js +3 -3
- package/dist/layout/components/popover.js.map +1 -1
- package/dist/layout/components/schema-layout.js +1 -1
- package/dist/layout/components/schema-layout.js.map +1 -1
- package/dist/layout/components/sidebar.d.ts +1 -1
- package/dist/layout/components/sidebar.js +7 -7
- package/dist/layout/components/sidebar.js.map +1 -1
- package/dist/layout/components/topbar.d.ts +1 -1
- package/dist/layout/components/topbar.js +2 -2
- package/dist/layout/components/topbar.js.map +1 -1
- package/dist/layout/hooks/context.d.ts +1 -1
- package/dist/layout/hooks/context.js +2 -2
- package/dist/layout/hooks/context.js.map +1 -1
- package/dist/layout/index.js +2 -3
- package/dist/layout/plugin.d.ts +2 -1
- package/dist/layout/plugin.js +3 -3
- package/dist/layout/plugin.js.map +1 -1
- package/dist/notifications/api.js +1 -1
- package/dist/notifications/api.js.map +1 -1
- package/dist/notifications/components/empty-state.js +2 -2
- package/dist/notifications/components/empty-state.js.map +1 -1
- package/dist/notifications/components/notification-item.js +5 -5
- package/dist/notifications/components/notification-item.js.map +1 -1
- package/dist/notifications/components/notification-list.js +2 -2
- package/dist/notifications/components/notification-list.js.map +1 -1
- package/dist/notifications/components/notifications.d.ts +1 -1
- package/dist/notifications/components/notifications.js +4 -4
- package/dist/notifications/components/notifications.js.map +1 -1
- package/dist/notifications/plugin.d.ts +2 -1
- package/dist/notifications/plugin.js +3 -3
- package/dist/notifications/plugin.js.map +1 -1
- package/dist/page.js +2 -2
- package/dist/page.js.map +1 -1
- package/dist/provider-base.d.ts +2 -2
- package/dist/provider-base.js +3 -3
- package/dist/provider-base.js.map +1 -1
- package/dist/provider.d.ts +4 -2
- package/dist/provider.js +3 -1
- package/dist/provider.js.map +1 -1
- package/dist/realtime/build-effects.d.ts +1 -1
- package/dist/realtime/build-effects.js +1 -1
- package/dist/realtime/build-effects.js.map +1 -1
- package/dist/realtime/subscriptions.js +2 -2
- package/dist/realtime/subscriptions.js.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +6 -5
- package/dist/registry.js.map +1 -1
- package/dist/remote/components/data-list.d.ts +1 -1
- package/dist/remote/components/data-list.js +4 -4
- package/dist/remote/components/data-list.js.map +1 -1
- package/dist/remote/plugin.d.ts +2 -1
- package/dist/remote/plugin.js +3 -3
- package/dist/remote/plugin.js.map +1 -1
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.js +24 -0
- package/dist/toast/callout.js +2 -2
- package/dist/toast/callout.js.map +1 -1
- package/dist/toast/toast.js +2 -2
- package/dist/toast/toast.js.map +1 -1
- package/dist/toast/toaster.js +6 -6
- package/dist/toast/toaster.js.map +1 -1
- package/dist/toast/variant-styles.js +1 -1
- package/dist/toast/variant-styles.js.map +1 -1
- package/dist/types/core-augmentation.d.ts +4 -0
- package/dist/types/generated.d.ts +10 -9
- package/dist/types/index.d.ts +10 -2
- package/dist/vite.d.ts +2 -2
- package/dist/vite.js +14 -5
- package/dist/vite.js.map +1 -1
- package/dist-standalone/chunks/chart-view-DFSCMDuw.js +59 -0
- package/dist-standalone/chunks/{test-id-Dh3L6Gfh.js → clsx-CjueKrWZ.js} +1 -1
- package/dist-standalone/chunks/{code-block-view-fzD5e55N.js → code-block-view-CetAq3Rk.js} +2 -2
- package/dist-standalone/chunks/date-picker-field-D6S8aN1p.js +1 -0
- package/dist-standalone/chunks/debounce-CBXrtDuZ.js +1 -0
- package/dist-standalone/chunks/dist-D2qBbka0.js +2 -0
- package/dist-standalone/chunks/floating-ui.dom-CO6FyQ6K.js +1 -0
- package/dist-standalone/chunks/icon-button-COE_nq4v.js +41 -0
- package/dist-standalone/chunks/instance-D6cXaqIT.js +1 -0
- package/dist-standalone/chunks/jsx-runtime-NZYk81nU.js +1 -0
- package/dist-standalone/chunks/locale-BZOrJtMq.js +1 -0
- package/dist-standalone/chunks/{notifications-echo-uU87iJAV.js → notifications-echo-BLO9_g1w.js} +1 -1
- package/dist-standalone/chunks/number-DjNO0Pxv.js +1 -0
- package/dist-standalone/chunks/page-props-DZ15iP5k.js +1 -0
- package/dist-standalone/chunks/react-CwJFpaho.js +1 -0
- package/dist-standalone/chunks/react-dom-Dl-LT-t1.js +1 -0
- package/dist-standalone/chunks/registry-context-BdTXNnGL.js +97 -0
- package/dist-standalone/chunks/{rich-editor-field-BZQIPOLc.js → rich-editor-field-n-mtzlT-.js} +35 -35
- package/dist-standalone/chunks/rolldown-runtime-hePW80VL.js +1 -0
- package/dist-standalone/chunks/runtime-Bh_GyTCD.js +23 -0
- package/dist-standalone/chunks/subscriptions-BICQU9ps.js +1 -0
- package/dist-standalone/chunks/time-picker-CAwU5Rl-.js +1 -0
- package/dist-standalone/chunks/timezone-Ckl1gbqB.js +1 -0
- package/dist-standalone/chunks/translatable-YXSlt1CF.js +1 -0
- package/dist-standalone/chunks/with-selector-Cse0iXU1.js +1 -0
- package/dist-standalone/jsx-runtime.js +1 -0
- package/dist-standalone/lattice.css +1 -1
- package/dist-standalone/lattice.js +2 -23
- package/dist-standalone/manifest.json +1 -1
- package/dist-standalone/react.js +1 -0
- package/dist-standalone/runtime.js +1 -0
- package/package.json +15 -239
- package/LICENSE.md +0 -21
- package/dist/core/api.d.ts +0 -42
- package/dist/core/api.js +0 -165
- package/dist/core/api.js.map +0 -1
- package/dist/core/collapsed-context.d.ts +0 -2
- package/dist/core/collapsed-context.js +0 -10
- package/dist/core/collapsed-context.js.map +0 -1
- package/dist/core/component-ref.d.ts +0 -11
- package/dist/core/component-ref.js +0 -33
- package/dist/core/component-ref.js.map +0 -1
- package/dist/core/event-names.d.ts +0 -23
- package/dist/core/event-names.js +0 -24
- package/dist/core/event-names.js.map +0 -1
- package/dist/core/headers.d.ts +0 -1
- package/dist/core/headers.js +0 -14
- package/dist/core/headers.js.map +0 -1
- package/dist/core/hooks/column-sizing.d.ts +0 -17
- package/dist/core/hooks/column-sizing.js +0 -54
- package/dist/core/hooks/column-sizing.js.map +0 -1
- package/dist/core/hooks/use-column-resizing.d.ts +0 -28
- package/dist/core/hooks/use-column-resizing.js +0 -220
- package/dist/core/hooks/use-column-resizing.js.map +0 -1
- package/dist/core/hooks/use-window-event.d.ts +0 -8
- package/dist/core/hooks/use-window-event.js +0 -22
- package/dist/core/hooks/use-window-event.js.map +0 -1
- package/dist/core/index.d.ts +0 -17
- package/dist/core/index.js +0 -13
- package/dist/core/materialize.d.ts +0 -9
- package/dist/core/materialize.js +0 -39
- package/dist/core/materialize.js.map +0 -1
- package/dist/core/nodes.d.ts +0 -11
- package/dist/core/nodes.js +0 -20
- package/dist/core/nodes.js.map +0 -1
- package/dist/core/registry-context.d.ts +0 -21
- package/dist/core/registry-context.js +0 -40
- package/dist/core/registry-context.js.map +0 -1
- package/dist/core/registry.d.ts +0 -38
- package/dist/core/registry.js +0 -60
- package/dist/core/registry.js.map +0 -1
- package/dist/core/renderer.d.ts +0 -8
- package/dist/core/renderer.js +0 -76
- package/dist/core/renderer.js.map +0 -1
- package/dist/core/test-id.d.ts +0 -8
- package/dist/core/test-id.js +0 -21
- package/dist/core/test-id.js.map +0 -1
- package/dist/core/types.d.ts +0 -26
- package/dist/core/types.js +0 -0
- package/dist/core/upload.d.ts +0 -25
- package/dist/core/upload.js +0 -48
- package/dist/core/upload.js.map +0 -1
- package/dist/effects/dispatch.d.ts +0 -19
- package/dist/effects/dispatch.js +0 -39
- package/dist/effects/dispatch.js.map +0 -1
- package/dist/effects/registry.d.ts +0 -12
- package/dist/effects/registry.js +0 -43
- package/dist/effects/registry.js.map +0 -1
- package/dist/effects/use-effect-dispatcher.d.ts +0 -8
- package/dist/effects/use-effect-dispatcher.js +0 -20
- package/dist/effects/use-effect-dispatcher.js.map +0 -1
- package/dist/effects/use-flash-effects.d.ts +0 -5
- package/dist/effects/use-flash-effects.js +0 -22
- package/dist/effects/use-flash-effects.js.map +0 -1
- package/dist/form/components/base/field.d.ts +0 -21
- package/dist/form/components/base/field.js +0 -80
- package/dist/form/components/base/field.js.map +0 -1
- package/dist/form/components/base/submit-button.d.ts +0 -7
- package/dist/form/components/base/submit-button.js +0 -49
- package/dist/form/components/base/submit-button.js.map +0 -1
- package/dist/form/components/fields/add-row-menu.d.ts +0 -9
- package/dist/form/components/fields/add-row-menu.js +0 -27
- package/dist/form/components/fields/add-row-menu.js.map +0 -1
- package/dist/form/components/fields/builder.d.ts +0 -2
- package/dist/form/components/fields/builder.js +0 -132
- package/dist/form/components/fields/builder.js.map +0 -1
- package/dist/form/components/fields/checkbox.d.ts +0 -2
- package/dist/form/components/fields/checkbox.js +0 -52
- package/dist/form/components/fields/checkbox.js.map +0 -1
- package/dist/form/components/fields/choice.d.ts +0 -2
- package/dist/form/components/fields/choice.js +0 -44
- package/dist/form/components/fields/choice.js.map +0 -1
- package/dist/form/components/fields/color-picker-field.d.ts +0 -2
- package/dist/form/components/fields/color-picker-field.js +0 -57
- package/dist/form/components/fields/color-picker-field.js.map +0 -1
- package/dist/form/components/fields/date-input.d.ts +0 -2
- package/dist/form/components/fields/date-input.js +0 -31
- package/dist/form/components/fields/date-input.js.map +0 -1
- package/dist/form/components/fields/date-picker-field.d.ts +0 -20
- package/dist/form/components/fields/date-picker-field.js +0 -197
- package/dist/form/components/fields/date-picker-field.js.map +0 -1
- package/dist/form/components/fields/date-picker-value.d.ts +0 -10
- package/dist/form/components/fields/date-picker-value.js +0 -125
- package/dist/form/components/fields/date-picker-value.js.map +0 -1
- package/dist/form/components/fields/date-picker.d.ts +0 -2
- package/dist/form/components/fields/date-picker.js +0 -17
- package/dist/form/components/fields/date-picker.js.map +0 -1
- package/dist/form/components/fields/date-time-input.d.ts +0 -2
- package/dist/form/components/fields/date-time-input.js +0 -35
- package/dist/form/components/fields/date-time-input.js.map +0 -1
- package/dist/form/components/fields/file-upload.d.ts +0 -2
- package/dist/form/components/fields/file-upload.js +0 -264
- package/dist/form/components/fields/file-upload.js.map +0 -1
- package/dist/form/components/fields/hidden-input.d.ts +0 -2
- package/dist/form/components/fields/hidden-input.js +0 -17
- package/dist/form/components/fields/hidden-input.js.map +0 -1
- package/dist/form/components/fields/number-input.d.ts +0 -2
- package/dist/form/components/fields/number-input.js +0 -60
- package/dist/form/components/fields/number-input.js.map +0 -1
- package/dist/form/components/fields/otp-input.d.ts +0 -2
- package/dist/form/components/fields/otp-input.js +0 -25
- package/dist/form/components/fields/otp-input.js.map +0 -1
- package/dist/form/components/fields/password-input.d.ts +0 -2
- package/dist/form/components/fields/password-input.js +0 -79
- package/dist/form/components/fields/password-input.js.map +0 -1
- package/dist/form/components/fields/repeater-rows.d.ts +0 -15
- package/dist/form/components/fields/repeater-rows.js +0 -48
- package/dist/form/components/fields/repeater-rows.js.map +0 -1
- package/dist/form/components/fields/repeater.d.ts +0 -2
- package/dist/form/components/fields/repeater.js +0 -109
- package/dist/form/components/fields/repeater.js.map +0 -1
- package/dist/form/components/fields/rich-editor-field.d.ts +0 -3
- package/dist/form/components/fields/rich-editor-field.js +0 -104
- package/dist/form/components/fields/rich-editor-field.js.map +0 -1
- package/dist/form/components/fields/rich-editor.d.ts +0 -2
- package/dist/form/components/fields/rich-editor.js +0 -15
- package/dist/form/components/fields/rich-editor.js.map +0 -1
- package/dist/form/components/fields/row-action-menu.d.ts +0 -18
- package/dist/form/components/fields/row-action-menu.js +0 -61
- package/dist/form/components/fields/row-action-menu.js.map +0 -1
- package/dist/form/components/fields/row-actions.d.ts +0 -10
- package/dist/form/components/fields/row-actions.js +0 -47
- package/dist/form/components/fields/row-actions.js.map +0 -1
- package/dist/form/components/fields/row-item.d.ts +0 -28
- package/dist/form/components/fields/row-item.js +0 -70
- package/dist/form/components/fields/row-item.js.map +0 -1
- package/dist/form/components/fields/row-key-inputs.d.ts +0 -7
- package/dist/form/components/fields/row-key-inputs.js +0 -16
- package/dist/form/components/fields/row-key-inputs.js.map +0 -1
- package/dist/form/components/fields/row-templates.d.ts +0 -9
- package/dist/form/components/fields/row-templates.js +0 -14
- package/dist/form/components/fields/row-templates.js.map +0 -1
- package/dist/form/components/fields/select.d.ts +0 -2
- package/dist/form/components/fields/select.js +0 -213
- package/dist/form/components/fields/select.js.map +0 -1
- package/dist/form/components/fields/simple-field.d.ts +0 -9
- package/dist/form/components/fields/simple-field.js +0 -22
- package/dist/form/components/fields/simple-field.js.map +0 -1
- package/dist/form/components/fields/table-rows.d.ts +0 -33
- package/dist/form/components/fields/table-rows.js +0 -176
- package/dist/form/components/fields/table-rows.js.map +0 -1
- package/dist/form/components/fields/text-input.d.ts +0 -2
- package/dist/form/components/fields/text-input.js +0 -42
- package/dist/form/components/fields/text-input.js.map +0 -1
- package/dist/form/components/fields/textarea.d.ts +0 -2
- package/dist/form/components/fields/textarea.js +0 -28
- package/dist/form/components/fields/textarea.js.map +0 -1
- package/dist/form/components/fields/time-input.d.ts +0 -2
- package/dist/form/components/fields/time-input.js +0 -69
- package/dist/form/components/fields/time-input.js.map +0 -1
- package/dist/form/components/fields/time-picker-columns.d.ts +0 -24
- package/dist/form/components/fields/time-picker-columns.js +0 -76
- package/dist/form/components/fields/time-picker-columns.js.map +0 -1
- package/dist/form/components/fields/time-picker.d.ts +0 -18
- package/dist/form/components/fields/time-picker.js +0 -131
- package/dist/form/components/fields/time-picker.js.map +0 -1
- package/dist/form/components/fields/toggle.d.ts +0 -2
- package/dist/form/components/fields/toggle.js +0 -66
- package/dist/form/components/fields/toggle.js.map +0 -1
- package/dist/form/components/fields/use-flip-reorder.d.ts +0 -6
- package/dist/form/components/fields/use-flip-reorder.js +0 -52
- package/dist/form/components/fields/use-flip-reorder.js.map +0 -1
- package/dist/form/components/fields/use-row-collection.d.ts +0 -12
- package/dist/form/components/fields/use-row-collection.js +0 -45
- package/dist/form/components/fields/use-row-collection.js.map +0 -1
- package/dist/form/components/form.d.ts +0 -2
- package/dist/form/components/form.js +0 -182
- package/dist/form/components/form.js.map +0 -1
- package/dist/form/components/index.d.ts +0 -19
- package/dist/form/components/index.js +0 -20
- package/dist/form/components/wizard.d.ts +0 -3
- package/dist/form/components/wizard.js +0 -148
- package/dist/form/components/wizard.js.map +0 -1
- package/dist/form/embed.d.ts +0 -22
- package/dist/form/embed.js +0 -13
- package/dist/form/hooks/context.d.ts +0 -25
- package/dist/form/hooks/context.js +0 -31
- package/dist/form/hooks/context.js.map +0 -1
- package/dist/form/hooks/field-scope.d.ts +0 -22
- package/dist/form/hooks/field-scope.js +0 -54
- package/dist/form/hooks/field-scope.js.map +0 -1
- package/dist/form/hooks/prefill-context.d.ts +0 -5
- package/dist/form/hooks/prefill-context.js +0 -11
- package/dist/form/hooks/prefill-context.js.map +0 -1
- package/dist/form/hooks/resolved-nodes.d.ts +0 -6
- package/dist/form/hooks/resolved-nodes.js +0 -23
- package/dist/form/hooks/resolved-nodes.js.map +0 -1
- package/dist/form/hooks/row-layout-context.d.ts +0 -5
- package/dist/form/hooks/row-layout-context.js +0 -18
- package/dist/form/hooks/row-layout-context.js.map +0 -1
- package/dist/form/hooks/use-controlled-field.d.ts +0 -13
- package/dist/form/hooks/use-controlled-field.js +0 -41
- package/dist/form/hooks/use-controlled-field.js.map +0 -1
- package/dist/form/hooks/use-dependent-field.d.ts +0 -3
- package/dist/form/hooks/use-dependent-field.js +0 -25
- package/dist/form/hooks/use-dependent-field.js.map +0 -1
- package/dist/form/hooks/use-field-commit.d.ts +0 -24
- package/dist/form/hooks/use-field-commit.js +0 -51
- package/dist/form/hooks/use-field-commit.js.map +0 -1
- package/dist/form/hooks/use-form-resolver.d.ts +0 -8
- package/dist/form/hooks/use-form-resolver.js +0 -99
- package/dist/form/hooks/use-form-resolver.js.map +0 -1
- package/dist/form/hooks/use-seed-default.d.ts +0 -5
- package/dist/form/hooks/use-seed-default.js +0 -28
- package/dist/form/hooks/use-seed-default.js.map +0 -1
- package/dist/form/hooks/values.d.ts +0 -17
- package/dist/form/hooks/values.js +0 -154
- package/dist/form/hooks/values.js.map +0 -1
- package/dist/form/index.d.ts +0 -5
- package/dist/form/index.js +0 -23
- package/dist/form/lib/collect-fields.d.ts +0 -7
- package/dist/form/lib/collect-fields.js +0 -19
- package/dist/form/lib/collect-fields.js.map +0 -1
- package/dist/form/lib/conditions.d.ts +0 -17
- package/dist/form/lib/conditions.js +0 -80
- package/dist/form/lib/conditions.js.map +0 -1
- package/dist/form/lib/field-dom-name.d.ts +0 -1
- package/dist/form/lib/field-dom-name.js +0 -10
- package/dist/form/lib/field-dom-name.js.map +0 -1
- package/dist/form/lib/field-errors.d.ts +0 -5
- package/dist/form/lib/field-errors.js +0 -15
- package/dist/form/lib/field-errors.js.map +0 -1
- package/dist/form/lib/field-props.d.ts +0 -19
- package/dist/form/lib/field-props.js +0 -20
- package/dist/form/lib/field-props.js.map +0 -1
- package/dist/form/lib/form-path.d.ts +0 -4
- package/dist/form/lib/form-path.js +0 -40
- package/dist/form/lib/form-path.js.map +0 -1
- package/dist/form/lib/form-transport.d.ts +0 -7
- package/dist/form/lib/form-transport.js +0 -21
- package/dist/form/lib/form-transport.js.map +0 -1
- package/dist/form/lib/override-keys.d.ts +0 -2
- package/dist/form/lib/override-keys.js +0 -12
- package/dist/form/lib/override-keys.js.map +0 -1
- package/dist/form/lib/prefill-targets.d.ts +0 -16
- package/dist/form/lib/prefill-targets.js +0 -68
- package/dist/form/lib/prefill-targets.js.map +0 -1
- package/dist/form/lib/wizard-steps.d.ts +0 -5
- package/dist/form/lib/wizard-steps.js +0 -44
- package/dist/form/lib/wizard-steps.js.map +0 -1
- package/dist/form/plugin.d.ts +0 -1
- package/dist/form/plugin.js +0 -52
- package/dist/form/plugin.js.map +0 -1
- package/dist/form/rich-editor/builtins.d.ts +0 -6
- package/dist/form/rich-editor/builtins.js +0 -400
- package/dist/form/rich-editor/builtins.js.map +0 -1
- package/dist/form/rich-editor/index.d.ts +0 -7
- package/dist/form/rich-editor/index.js +0 -3
- package/dist/form/rich-editor/registry.d.ts +0 -67
- package/dist/form/rich-editor/registry.js +0 -79
- package/dist/form/rich-editor/registry.js.map +0 -1
- package/dist/form/rich-editor/toolbar-button.d.ts +0 -12
- package/dist/form/rich-editor/toolbar-button.js +0 -28
- package/dist/form/rich-editor/toolbar-button.js.map +0 -1
- package/dist/form/toolkit.d.ts +0 -17
- package/dist/form/toolkit.js +0 -14
- package/dist/form/types.d.ts +0 -4
- package/dist/form/types.js +0 -0
- package/dist/format/date-time.d.ts +0 -14
- package/dist/format/date-time.js +0 -34
- package/dist/format/date-time.js.map +0 -1
- package/dist/format/format-context.d.ts +0 -6
- package/dist/format/format-context.js +0 -17
- package/dist/format/format-context.js.map +0 -1
- package/dist/format/number.d.ts +0 -2
- package/dist/format/number.js +0 -23
- package/dist/format/number.js.map +0 -1
- package/dist/format/numeric.d.ts +0 -1
- package/dist/format/numeric.js +0 -9
- package/dist/format/numeric.js.map +0 -1
- package/dist/format/value.d.ts +0 -6
- package/dist/format/value.js +0 -17
- package/dist/format/value.js.map +0 -1
- package/dist/i18n/backend.d.ts +0 -26
- package/dist/i18n/backend.js +0 -54
- package/dist/i18n/backend.js.map +0 -1
- package/dist/i18n/config.d.ts +0 -10
- package/dist/i18n/config.js +0 -36
- package/dist/i18n/config.js.map +0 -1
- package/dist/i18n/date-time-formatter.d.ts +0 -13
- package/dist/i18n/date-time-formatter.js +0 -28
- package/dist/i18n/date-time-formatter.js.map +0 -1
- package/dist/i18n/date-time.d.ts +0 -8
- package/dist/i18n/date-time.js +0 -32
- package/dist/i18n/date-time.js.map +0 -1
- package/dist/i18n/index.d.ts +0 -13
- package/dist/i18n/index.js +0 -10
- package/dist/i18n/instance.d.ts +0 -36
- package/dist/i18n/instance.js +0 -113
- package/dist/i18n/instance.js.map +0 -1
- package/dist/i18n/locale-reload.d.ts +0 -4
- package/dist/i18n/locale-reload.js +0 -18
- package/dist/i18n/locale-reload.js.map +0 -1
- package/dist/i18n/locale-switcher.d.ts +0 -16
- package/dist/i18n/locale-switcher.js +0 -21
- package/dist/i18n/locale-switcher.js.map +0 -1
- package/dist/i18n/locale.d.ts +0 -9
- package/dist/i18n/locale.js +0 -85
- package/dist/i18n/locale.js.map +0 -1
- package/dist/i18n/page-props.d.ts +0 -4
- package/dist/i18n/page-props.js +0 -10
- package/dist/i18n/page-props.js.map +0 -1
- package/dist/i18n/shared-props.d.ts +0 -7
- package/dist/i18n/shared-props.js +0 -23
- package/dist/i18n/shared-props.js.map +0 -1
- package/dist/i18n/timezone.d.ts +0 -7
- package/dist/i18n/timezone.js +0 -45
- package/dist/i18n/timezone.js.map +0 -1
- package/dist/i18n/translatable.d.ts +0 -5
- package/dist/i18n/translatable.js +0 -27
- package/dist/i18n/translatable.js.map +0 -1
- package/dist/icons/icon-renderer.d.ts +0 -13
- package/dist/icons/icon-renderer.js +0 -56
- package/dist/icons/icon-renderer.js.map +0 -1
- package/dist/icons/index.d.ts +0 -4
- package/dist/icons/index.js +0 -3
- package/dist/icons/sprite.d.ts +0 -30
- package/dist/icons/sprite.js +0 -40
- package/dist/icons/sprite.js.map +0 -1
- package/dist/lib/color.d.ts +0 -9
- package/dist/lib/color.js +0 -48
- package/dist/lib/color.js.map +0 -1
- package/dist/lib/is-truthy.d.ts +0 -2
- package/dist/lib/is-truthy.js +0 -9
- package/dist/lib/is-truthy.js.map +0 -1
- package/dist/lib/listeners.d.ts +0 -5
- package/dist/lib/listeners.js +0 -19
- package/dist/lib/listeners.js.map +0 -1
- package/dist/lib/use-debounced-callback.d.ts +0 -10
- package/dist/lib/use-debounced-callback.js +0 -34
- package/dist/lib/use-debounced-callback.js.map +0 -1
- package/dist/lib/use-layout-effect.d.ts +0 -6
- package/dist/lib/use-layout-effect.js +0 -11
- package/dist/lib/use-layout-effect.js.map +0 -1
- package/dist/lib/use-media-query.d.ts +0 -5
- package/dist/lib/use-media-query.js +0 -26
- package/dist/lib/use-media-query.js.map +0 -1
- package/dist/lib/use-persistent-state.d.ts +0 -13
- package/dist/lib/use-persistent-state.js +0 -62
- package/dist/lib/use-persistent-state.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -2
- package/dist/lib/utils.js +0 -20
- package/dist/lib/utils.js.map +0 -1
- package/dist/table/components/bulk-bar.d.ts +0 -11
- package/dist/table/components/bulk-bar.js +0 -110
- package/dist/table/components/bulk-bar.js.map +0 -1
- package/dist/table/components/cells/badge-cell.d.ts +0 -2
- package/dist/table/components/cells/badge-cell.js +0 -16
- package/dist/table/components/cells/badge-cell.js.map +0 -1
- package/dist/table/components/cells/boolean-cell.d.ts +0 -2
- package/dist/table/components/cells/boolean-cell.js +0 -22
- package/dist/table/components/cells/boolean-cell.js.map +0 -1
- package/dist/table/components/cells/copyable-cell.d.ts +0 -9
- package/dist/table/components/cells/copyable-cell.js +0 -17
- package/dist/table/components/cells/copyable-cell.js.map +0 -1
- package/dist/table/components/cells/icon-cell.d.ts +0 -2
- package/dist/table/components/cells/icon-cell.js +0 -24
- package/dist/table/components/cells/icon-cell.js.map +0 -1
- package/dist/table/components/cells/image-cell.d.ts +0 -2
- package/dist/table/components/cells/image-cell.js +0 -22
- package/dist/table/components/cells/image-cell.js.map +0 -1
- package/dist/table/components/cells/money-cell.d.ts +0 -2
- package/dist/table/components/cells/money-cell.js +0 -24
- package/dist/table/components/cells/money-cell.js.map +0 -1
- package/dist/table/components/cells/number-cell.d.ts +0 -2
- package/dist/table/components/cells/number-cell.js +0 -20
- package/dist/table/components/cells/number-cell.js.map +0 -1
- package/dist/table/components/cells/numeric-cell.d.ts +0 -10
- package/dist/table/components/cells/numeric-cell.js +0 -25
- package/dist/table/components/cells/numeric-cell.js.map +0 -1
- package/dist/table/components/cells/stack-cell.d.ts +0 -2
- package/dist/table/components/cells/stack-cell.js +0 -12
- package/dist/table/components/cells/stack-cell.js.map +0 -1
- package/dist/table/components/cells/text-cell.d.ts +0 -2
- package/dist/table/components/cells/text-cell.js +0 -67
- package/dist/table/components/cells/text-cell.js.map +0 -1
- package/dist/table/components/column-filter-control.d.ts +0 -17
- package/dist/table/components/column-filter-control.js +0 -286
- package/dist/table/components/column-filter-control.js.map +0 -1
- package/dist/table/components/column-header.d.ts +0 -9
- package/dist/table/components/column-header.js +0 -53
- package/dist/table/components/column-header.js.map +0 -1
- package/dist/table/components/column-visibility-menu.d.ts +0 -10
- package/dist/table/components/column-visibility-menu.js +0 -49
- package/dist/table/components/column-visibility-menu.js.map +0 -1
- package/dist/table/components/filter-bar.d.ts +0 -18
- package/dist/table/components/filter-bar.js +0 -106
- package/dist/table/components/filter-bar.js.map +0 -1
- package/dist/table/components/filter-controls.d.ts +0 -11
- package/dist/table/components/filter-controls.js +0 -131
- package/dist/table/components/filter-controls.js.map +0 -1
- package/dist/table/components/filter-value-input.d.ts +0 -13
- package/dist/table/components/filter-value-input.js +0 -93
- package/dist/table/components/filter-value-input.js.map +0 -1
- package/dist/table/components/pagination.d.ts +0 -18
- package/dist/table/components/pagination.js +0 -95
- package/dist/table/components/pagination.js.map +0 -1
- package/dist/table/components/sort-bar.d.ts +0 -7
- package/dist/table/components/sort-bar.js +0 -44
- package/dist/table/components/sort-bar.js.map +0 -1
- package/dist/table/components/table-cell.d.ts +0 -5
- package/dist/table/components/table-cell.js +0 -35
- package/dist/table/components/table-cell.js.map +0 -1
- package/dist/table/components/table-search.d.ts +0 -9
- package/dist/table/components/table-search.js +0 -72
- package/dist/table/components/table-search.js.map +0 -1
- package/dist/table/components/table.d.ts +0 -7
- package/dist/table/components/table.js +0 -333
- package/dist/table/components/table.js.map +0 -1
- package/dist/table/hooks/use-column-visibility.d.ts +0 -20
- package/dist/table/hooks/use-column-visibility.js +0 -54
- package/dist/table/hooks/use-column-visibility.js.map +0 -1
- package/dist/table/hooks/use-expanded-rows.d.ts +0 -8
- package/dist/table/hooks/use-expanded-rows.js +0 -24
- package/dist/table/hooks/use-expanded-rows.js.map +0 -1
- package/dist/table/hooks/use-table-selection.d.ts +0 -12
- package/dist/table/hooks/use-table-selection.js +0 -47
- package/dist/table/hooks/use-table-selection.js.map +0 -1
- package/dist/table/hooks/use-table.d.ts +0 -28
- package/dist/table/hooks/use-table.js +0 -220
- package/dist/table/hooks/use-table.js.map +0 -1
- package/dist/table/index.d.ts +0 -6
- package/dist/table/index.js +0 -5
- package/dist/table/lib/align.d.ts +0 -4
- package/dist/table/lib/align.js +0 -23
- package/dist/table/lib/align.js.map +0 -1
- package/dist/table/lib/bulk.d.ts +0 -18
- package/dist/table/lib/bulk.js +0 -26
- package/dist/table/lib/bulk.js.map +0 -1
- package/dist/table/lib/filter-values.d.ts +0 -25
- package/dist/table/lib/filter-values.js +0 -47
- package/dist/table/lib/filter-values.js.map +0 -1
- package/dist/table/lib/format.d.ts +0 -4
- package/dist/table/lib/format.js +0 -23
- package/dist/table/lib/format.js.map +0 -1
- package/dist/table/lib/payload.d.ts +0 -11
- package/dist/table/lib/payload.js +0 -91
- package/dist/table/lib/payload.js.map +0 -1
- package/dist/table/lib/query.d.ts +0 -20
- package/dist/table/lib/query.js +0 -140
- package/dist/table/lib/query.js.map +0 -1
- package/dist/table/plugin.d.ts +0 -1
- package/dist/table/plugin.js +0 -11
- package/dist/table/plugin.js.map +0 -1
- package/dist/table/registry.d.ts +0 -19
- package/dist/table/registry.js +0 -14
- package/dist/table/registry.js.map +0 -1
- package/dist/table/types.d.ts +0 -17
- package/dist/table/types.js +0 -0
- package/dist/ui/action-menu-context.d.ts +0 -6
- package/dist/ui/action-menu-context.js +0 -18
- package/dist/ui/action-menu-context.js.map +0 -1
- package/dist/ui/affix-group.d.ts +0 -18
- package/dist/ui/affix-group.js +0 -51
- package/dist/ui/affix-group.js.map +0 -1
- package/dist/ui/avatar.d.ts +0 -3
- package/dist/ui/avatar.js +0 -52
- package/dist/ui/avatar.js.map +0 -1
- package/dist/ui/badge.d.ts +0 -9
- package/dist/ui/badge.js +0 -25
- package/dist/ui/badge.js.map +0 -1
- package/dist/ui/button.d.ts +0 -18
- package/dist/ui/button.js +0 -243
- package/dist/ui/button.js.map +0 -1
- package/dist/ui/card.d.ts +0 -11
- package/dist/ui/card.js +0 -68
- package/dist/ui/card.js.map +0 -1
- package/dist/ui/chart-view.d.ts +0 -3
- package/dist/ui/chart-view.js +0 -354
- package/dist/ui/chart-view.js.map +0 -1
- package/dist/ui/chart.d.ts +0 -3
- package/dist/ui/chart.js +0 -15
- package/dist/ui/chart.js.map +0 -1
- package/dist/ui/checkbox.d.ts +0 -4
- package/dist/ui/checkbox.js +0 -25
- package/dist/ui/checkbox.js.map +0 -1
- package/dist/ui/click-behavior.d.ts +0 -40
- package/dist/ui/click-behavior.js +0 -46
- package/dist/ui/click-behavior.js.map +0 -1
- package/dist/ui/code-block-view.d.ts +0 -3
- package/dist/ui/code-block-view.js +0 -135
- package/dist/ui/code-block-view.js.map +0 -1
- package/dist/ui/code-block.d.ts +0 -25
- package/dist/ui/code-block.js +0 -54
- package/dist/ui/code-block.js.map +0 -1
- package/dist/ui/collapsible.d.ts +0 -3
- package/dist/ui/collapsible.js +0 -56
- package/dist/ui/collapsible.js.map +0 -1
- package/dist/ui/color-picker.d.ts +0 -8
- package/dist/ui/color-picker.js +0 -59
- package/dist/ui/color-picker.js.map +0 -1
- package/dist/ui/combobox.d.ts +0 -42
- package/dist/ui/combobox.js +0 -145
- package/dist/ui/combobox.js.map +0 -1
- package/dist/ui/confirm-dialog.d.ts +0 -13
- package/dist/ui/confirm-dialog.js +0 -48
- package/dist/ui/confirm-dialog.js.map +0 -1
- package/dist/ui/control.d.ts +0 -10
- package/dist/ui/control.js +0 -26
- package/dist/ui/control.js.map +0 -1
- package/dist/ui/copyable-text.d.ts +0 -19
- package/dist/ui/copyable-text.js +0 -60
- package/dist/ui/copyable-text.js.map +0 -1
- package/dist/ui/dialog.d.ts +0 -23
- package/dist/ui/dialog.js +0 -100
- package/dist/ui/dialog.js.map +0 -1
- package/dist/ui/dropdown-menu.d.ts +0 -14
- package/dist/ui/dropdown-menu.js +0 -42
- package/dist/ui/dropdown-menu.js.map +0 -1
- package/dist/ui/floating-panel.d.ts +0 -3
- package/dist/ui/floating-panel.js +0 -66
- package/dist/ui/floating-panel.js.map +0 -1
- package/dist/ui/fragment.js.map +0 -1
- package/dist/ui/grid.d.ts +0 -3
- package/dist/ui/grid.js +0 -29
- package/dist/ui/grid.js.map +0 -1
- package/dist/ui/heading.d.ts +0 -3
- package/dist/ui/heading.js +0 -58
- package/dist/ui/heading.js.map +0 -1
- package/dist/ui/icon-button.d.ts +0 -22
- package/dist/ui/icon-button.js +0 -51
- package/dist/ui/icon-button.js.map +0 -1
- package/dist/ui/icon.d.ts +0 -3
- package/dist/ui/icon.js +0 -33
- package/dist/ui/icon.js.map +0 -1
- package/dist/ui/image-preview.d.ts +0 -12
- package/dist/ui/image-preview.js +0 -65
- package/dist/ui/image-preview.js.map +0 -1
- package/dist/ui/image.d.ts +0 -3
- package/dist/ui/image.js +0 -21
- package/dist/ui/image.js.map +0 -1
- package/dist/ui/index.d.ts +0 -31
- package/dist/ui/index.js +0 -29
- package/dist/ui/info-tooltip.d.ts +0 -3
- package/dist/ui/info-tooltip.js +0 -26
- package/dist/ui/info-tooltip.js.map +0 -1
- package/dist/ui/input-error.d.ts +0 -4
- package/dist/ui/input-error.js +0 -14
- package/dist/ui/input-error.js.map +0 -1
- package/dist/ui/input-otp.d.ts +0 -7
- package/dist/ui/input-otp.js +0 -29
- package/dist/ui/input-otp.js.map +0 -1
- package/dist/ui/input.d.ts +0 -5
- package/dist/ui/input.js +0 -17
- package/dist/ui/input.js.map +0 -1
- package/dist/ui/label.d.ts +0 -4
- package/dist/ui/label.js +0 -16
- package/dist/ui/label.js.map +0 -1
- package/dist/ui/link.d.ts +0 -7
- package/dist/ui/link.js +0 -103
- package/dist/ui/link.js.map +0 -1
- package/dist/ui/modal.d.ts +0 -3
- package/dist/ui/modal.js +0 -67
- package/dist/ui/modal.js.map +0 -1
- package/dist/ui/native-select.d.ts +0 -10
- package/dist/ui/native-select.js +0 -23
- package/dist/ui/native-select.js.map +0 -1
- package/dist/ui/password-input.d.ts +0 -7
- package/dist/ui/password-input.js +0 -36
- package/dist/ui/password-input.js.map +0 -1
- package/dist/ui/pill.d.ts +0 -2
- package/dist/ui/pill.js +0 -10
- package/dist/ui/pill.js.map +0 -1
- package/dist/ui/plugin.d.ts +0 -1
- package/dist/ui/plugin.js +0 -60
- package/dist/ui/plugin.js.map +0 -1
- package/dist/ui/popover.d.ts +0 -8
- package/dist/ui/popover.js +0 -37
- package/dist/ui/popover.js.map +0 -1
- package/dist/ui/progress.d.ts +0 -3
- package/dist/ui/progress.js +0 -114
- package/dist/ui/progress.js.map +0 -1
- package/dist/ui/raw-block.d.ts +0 -3
- package/dist/ui/raw-block.js +0 -10
- package/dist/ui/raw-block.js.map +0 -1
- package/dist/ui/section.d.ts +0 -3
- package/dist/ui/section.js +0 -68
- package/dist/ui/section.js.map +0 -1
- package/dist/ui/segmented-control.d.ts +0 -3
- package/dist/ui/segmented-control.js +0 -27
- package/dist/ui/segmented-control.js.map +0 -1
- package/dist/ui/segmented-pills.d.ts +0 -16
- package/dist/ui/segmented-pills.js +0 -42
- package/dist/ui/segmented-pills.js.map +0 -1
- package/dist/ui/separator.d.ts +0 -3
- package/dist/ui/separator.js +0 -15
- package/dist/ui/separator.js.map +0 -1
- package/dist/ui/skeleton.d.ts +0 -3
- package/dist/ui/skeleton.js +0 -16
- package/dist/ui/skeleton.js.map +0 -1
- package/dist/ui/spinner.d.ts +0 -2
- package/dist/ui/spinner.js +0 -20
- package/dist/ui/spinner.js.map +0 -1
- package/dist/ui/stack.d.ts +0 -3
- package/dist/ui/stack.js +0 -66
- package/dist/ui/stack.js.map +0 -1
- package/dist/ui/tabs.d.ts +0 -4
- package/dist/ui/tabs.js +0 -149
- package/dist/ui/tabs.js.map +0 -1
- package/dist/ui/text.d.ts +0 -3
- package/dist/ui/text.js +0 -38
- package/dist/ui/text.js.map +0 -1
- package/dist/ui/textarea.d.ts +0 -3
- package/dist/ui/textarea.js +0 -16
- package/dist/ui/textarea.js.map +0 -1
- package/dist/ui/tooltip.d.ts +0 -3
- package/dist/ui/tooltip.js +0 -25
- package/dist/ui/tooltip.js.map +0 -1
- package/dist/ui/use-collapsible-state.d.ts +0 -7
- package/dist/ui/use-collapsible-state.js +0 -21
- package/dist/ui/use-collapsible-state.js.map +0 -1
- package/dist-standalone/chunks/chart-view-CFV7BU_D.js +0 -59
- package/dist-standalone/chunks/date-picker-field-DepKtR_m.js +0 -1
- package/dist-standalone/chunks/dist-BtOmkEqQ.js +0 -1
- package/dist-standalone/chunks/dist-DqlcM-vw.js +0 -2
- package/dist-standalone/chunks/instance-C4O1XWa6.js +0 -1
- package/dist-standalone/chunks/jsx-runtime-0vZSBttN.js +0 -1
- package/dist-standalone/chunks/locale-GyqtaX1O.js +0 -1
- package/dist-standalone/chunks/number-BvVKQqOG.js +0 -1
- package/dist-standalone/chunks/page-props-BHNNVkgJ.js +0 -1
- package/dist-standalone/chunks/react-SIfiwpqq.js +0 -1
- package/dist-standalone/chunks/react-dom-DJCfT20h.js +0 -1
- package/dist-standalone/chunks/shared-props-B_wT1GcG.js +0 -1
- package/dist-standalone/chunks/subscriptions-4IpkpPX3.js +0 -1
- package/dist-standalone/chunks/time-picker-DUjYyeeP.js +0 -1
- package/dist-standalone/chunks/timezone-CyoBch3a.js +0 -1
- package/dist-standalone/chunks/translatable-DLw4h3x8.js +0 -1
- package/dist-standalone/chunks/use-dependent-field-DvH7mUyx.js +0 -41
- package/dist-standalone/chunks/use-effect-dispatcher-BMWOfaFE.js +0 -97
- package/dist-standalone/chunks/with-selector-zFUY-tQj.js +0 -1
- package/resources/icons/align-center.svg +0 -17
- package/resources/icons/align-justify.svg +0 -17
- package/resources/icons/align-left.svg +0 -17
- package/resources/icons/align-right.svg +0 -17
- package/resources/icons/arrow-down.svg +0 -16
- package/resources/icons/arrow-up.svg +0 -16
- package/resources/icons/bell.svg +0 -16
- package/resources/icons/bold.svg +0 -15
- package/resources/icons/calendar.svg +0 -18
- package/resources/icons/check.svg +0 -15
- package/resources/icons/chevron-down.svg +0 -15
- package/resources/icons/chevron-left.svg +0 -15
- package/resources/icons/chevron-right.svg +0 -15
- package/resources/icons/chevrons-up-down.svg +0 -16
- package/resources/icons/circle-alert.svg +0 -17
- package/resources/icons/circle-check.svg +0 -16
- package/resources/icons/circle-help.svg +0 -17
- package/resources/icons/circle-x.svg +0 -17
- package/resources/icons/clock.svg +0 -16
- package/resources/icons/code-xml.svg +0 -17
- package/resources/icons/code.svg +0 -16
- package/resources/icons/columns-3.svg +0 -17
- package/resources/icons/copy.svg +0 -16
- package/resources/icons/external-link.svg +0 -17
- package/resources/icons/eye-off.svg +0 -18
- package/resources/icons/eye.svg +0 -16
- package/resources/icons/filter.svg +0 -15
- package/resources/icons/heading-1.svg +0 -18
- package/resources/icons/heading-2.svg +0 -18
- package/resources/icons/heading-3.svg +0 -19
- package/resources/icons/heading.svg +0 -17
- package/resources/icons/highlighter.svg +0 -16
- package/resources/icons/info.svg +0 -17
- package/resources/icons/italic.svg +0 -17
- package/resources/icons/layout-dashboard.svg +0 -18
- package/resources/icons/link.svg +0 -16
- package/resources/icons/list-ordered.svg +0 -20
- package/resources/icons/list.svg +0 -20
- package/resources/icons/loader-2.svg +0 -15
- package/resources/icons/minus.svg +0 -15
- package/resources/icons/more-horizontal.svg +0 -17
- package/resources/icons/panel-left.svg +0 -16
- package/resources/icons/pencil-line.svg +0 -17
- package/resources/icons/pencil.svg +0 -16
- package/resources/icons/plus.svg +0 -16
- package/resources/icons/quote.svg +0 -16
- package/resources/icons/rotate-ccw.svg +0 -16
- package/resources/icons/rows-3.svg +0 -17
- package/resources/icons/search.svg +0 -16
- package/resources/icons/send.svg +0 -16
- package/resources/icons/settings.svg +0 -16
- package/resources/icons/smile.svg +0 -18
- package/resources/icons/strikethrough.svg +0 -17
- package/resources/icons/table.svg +0 -18
- package/resources/icons/trash-2.svg +0 -19
- package/resources/icons/underline.svg +0 -16
- 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,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,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,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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"}
|