@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,135 +0,0 @@
|
|
|
1
|
-
import { useEffect, useRef } from "react";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { javascript } from "@codemirror/lang-javascript";
|
|
4
|
-
import { json } from "@codemirror/lang-json";
|
|
5
|
-
import { php } from "@codemirror/lang-php";
|
|
6
|
-
import { HighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language";
|
|
7
|
-
import { shell } from "@codemirror/legacy-modes/mode/shell";
|
|
8
|
-
import { Compartment, EditorState } from "@codemirror/state";
|
|
9
|
-
import { EditorView, lineNumbers } from "@codemirror/view";
|
|
10
|
-
import { tags } from "@lezer/highlight";
|
|
11
|
-
//#region resources/js/ui/code-block-view.tsx
|
|
12
|
-
var languages = {
|
|
13
|
-
text: [],
|
|
14
|
-
json: json(),
|
|
15
|
-
javascript: javascript(),
|
|
16
|
-
shell: StreamLanguage.define(shell),
|
|
17
|
-
php: php()
|
|
18
|
-
};
|
|
19
|
-
var highlightStyle = HighlightStyle.define([
|
|
20
|
-
{
|
|
21
|
-
tag: tags.comment,
|
|
22
|
-
color: "var(--lt-muted-fg)",
|
|
23
|
-
fontStyle: "italic"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
tag: [
|
|
27
|
-
tags.keyword,
|
|
28
|
-
tags.operatorKeyword,
|
|
29
|
-
tags.controlKeyword
|
|
30
|
-
],
|
|
31
|
-
color: "var(--lt-primary)"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
tag: [tags.string, tags.special(tags.string)],
|
|
35
|
-
color: "var(--lt-success)"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
tag: [
|
|
39
|
-
tags.number,
|
|
40
|
-
tags.bool,
|
|
41
|
-
tags.null
|
|
42
|
-
],
|
|
43
|
-
color: "var(--lt-info)"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
tag: [tags.function(tags.variableName), tags.labelName],
|
|
47
|
-
color: "var(--lt-accent-fg)"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
tag: [tags.typeName, tags.className],
|
|
51
|
-
color: "var(--lt-danger)"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
tag: tags.meta,
|
|
55
|
-
color: "var(--lt-muted-fg)"
|
|
56
|
-
}
|
|
57
|
-
]);
|
|
58
|
-
var codeBlockTheme = EditorView.theme({
|
|
59
|
-
"&": {
|
|
60
|
-
backgroundColor: "transparent",
|
|
61
|
-
color: "var(--lt-fg)",
|
|
62
|
-
fontSize: "0.75rem"
|
|
63
|
-
},
|
|
64
|
-
".cm-scroller": {
|
|
65
|
-
fontFamily: "var(--lt-font-mono)",
|
|
66
|
-
lineHeight: "1.5",
|
|
67
|
-
overflow: "auto"
|
|
68
|
-
},
|
|
69
|
-
".cm-content": { padding: "0.75rem" },
|
|
70
|
-
".cm-gutters": {
|
|
71
|
-
backgroundColor: "transparent",
|
|
72
|
-
borderRightColor: "var(--lt-border)",
|
|
73
|
-
color: "var(--lt-muted-fg)"
|
|
74
|
-
},
|
|
75
|
-
".cm-lineNumbers .cm-gutterElement": { padding: "0 0.75rem" },
|
|
76
|
-
".cm-line": { padding: "0" }
|
|
77
|
-
});
|
|
78
|
-
function CodeBlockView({ children, language, lineNumbers: lineNumbers$1, maxHeight, wrap }) {
|
|
79
|
-
const container = useRef(null);
|
|
80
|
-
const content = useRef(children);
|
|
81
|
-
const editor = useRef(null);
|
|
82
|
-
content.current = children;
|
|
83
|
-
useEffect(() => {
|
|
84
|
-
if (!container.current) return;
|
|
85
|
-
const languageCompartment = new Compartment();
|
|
86
|
-
const customLanguage = typeof language === "function" ? language : null;
|
|
87
|
-
const initialLanguage = typeof language === "function" ? [] : languages[language];
|
|
88
|
-
const view = new EditorView({
|
|
89
|
-
doc: content.current,
|
|
90
|
-
parent: container.current,
|
|
91
|
-
extensions: [
|
|
92
|
-
EditorState.readOnly.of(true),
|
|
93
|
-
EditorView.editable.of(false),
|
|
94
|
-
EditorView.contentAttributes.of({ role: "code" }),
|
|
95
|
-
languageCompartment.of(initialLanguage),
|
|
96
|
-
syntaxHighlighting(highlightStyle),
|
|
97
|
-
codeBlockTheme,
|
|
98
|
-
lineNumbers$1 ? lineNumbers() : [],
|
|
99
|
-
maxHeight === null ? [] : EditorView.theme({ "&": { maxHeight: `${maxHeight}px` } }),
|
|
100
|
-
wrap ? EditorView.lineWrapping : []
|
|
101
|
-
]
|
|
102
|
-
});
|
|
103
|
-
editor.current = view;
|
|
104
|
-
let active = true;
|
|
105
|
-
if (customLanguage) customLanguage().then((extension) => {
|
|
106
|
-
if (active) view.dispatch({ effects: languageCompartment.reconfigure(extension) });
|
|
107
|
-
}).catch((error) => {
|
|
108
|
-
if (active) console.warn("[lattice] CodeBlock language failed to load.", error);
|
|
109
|
-
});
|
|
110
|
-
return () => {
|
|
111
|
-
active = false;
|
|
112
|
-
editor.current = null;
|
|
113
|
-
view.destroy();
|
|
114
|
-
};
|
|
115
|
-
}, [
|
|
116
|
-
language,
|
|
117
|
-
lineNumbers$1,
|
|
118
|
-
maxHeight,
|
|
119
|
-
wrap
|
|
120
|
-
]);
|
|
121
|
-
useEffect(() => {
|
|
122
|
-
const view = editor.current;
|
|
123
|
-
if (!view || view.state.doc.toString() === children) return;
|
|
124
|
-
view.dispatch({ changes: {
|
|
125
|
-
from: 0,
|
|
126
|
-
to: view.state.doc.length,
|
|
127
|
-
insert: children
|
|
128
|
-
} });
|
|
129
|
-
}, [children]);
|
|
130
|
-
return /* @__PURE__ */ jsx("div", { ref: container });
|
|
131
|
-
}
|
|
132
|
-
//#endregion
|
|
133
|
-
export { CodeBlockView as default };
|
|
134
|
-
|
|
135
|
-
//# sourceMappingURL=code-block-view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block-view.js","names":[],"sources":["../../resources/js/ui/code-block-view.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { javascript } from \"@codemirror/lang-javascript\";\nimport { json } from \"@codemirror/lang-json\";\nimport { php } from \"@codemirror/lang-php\";\nimport { HighlightStyle, StreamLanguage, syntaxHighlighting } from \"@codemirror/language\";\nimport { shell } from \"@codemirror/legacy-modes/mode/shell\";\nimport { Compartment, EditorState, type Extension } from \"@codemirror/state\";\nimport { EditorView, lineNumbers as showLineNumbers } from \"@codemirror/view\";\nimport { tags } from \"@lezer/highlight\";\nimport type { CodeBlockLanguage, CodeBlockViewProps } from \"./code-block\";\n\nconst languages: Record<CodeBlockLanguage, Extension> = {\n text: [],\n json: json(),\n javascript: javascript(),\n shell: StreamLanguage.define(shell),\n php: php(),\n};\n\nconst highlightStyle = HighlightStyle.define([\n { tag: tags.comment, color: \"var(--lt-muted-fg)\", fontStyle: \"italic\" },\n { tag: [tags.keyword, tags.operatorKeyword, tags.controlKeyword], color: \"var(--lt-primary)\" },\n { tag: [tags.string, tags.special(tags.string)], color: \"var(--lt-success)\" },\n { tag: [tags.number, tags.bool, tags.null], color: \"var(--lt-info)\" },\n { tag: [tags.function(tags.variableName), tags.labelName], color: \"var(--lt-accent-fg)\" },\n { tag: [tags.typeName, tags.className], color: \"var(--lt-danger)\" },\n { tag: tags.meta, color: \"var(--lt-muted-fg)\" },\n]);\n\nconst codeBlockTheme = EditorView.theme({\n \"&\": {\n backgroundColor: \"transparent\",\n color: \"var(--lt-fg)\",\n fontSize: \"0.75rem\",\n },\n \".cm-scroller\": {\n fontFamily: \"var(--lt-font-mono)\",\n lineHeight: \"1.5\",\n overflow: \"auto\",\n },\n \".cm-content\": { padding: \"0.75rem\" },\n \".cm-gutters\": {\n backgroundColor: \"transparent\",\n borderRightColor: \"var(--lt-border)\",\n color: \"var(--lt-muted-fg)\",\n },\n \".cm-lineNumbers .cm-gutterElement\": { padding: \"0 0.75rem\" },\n \".cm-line\": { padding: \"0\" },\n});\n\nfunction CodeBlockView({ children, language, lineNumbers, maxHeight, wrap }: CodeBlockViewProps) {\n const container = useRef<HTMLDivElement>(null);\n const content = useRef(children);\n const editor = useRef<EditorView>(null);\n content.current = children;\n\n useEffect(() => {\n if (!container.current) {\n return;\n }\n\n const languageCompartment = new Compartment();\n const customLanguage = typeof language === \"function\" ? language : null;\n const initialLanguage = typeof language === \"function\" ? [] : languages[language];\n const view = new EditorView({\n doc: content.current,\n parent: container.current,\n extensions: [\n EditorState.readOnly.of(true),\n EditorView.editable.of(false),\n EditorView.contentAttributes.of({ role: \"code\" }),\n languageCompartment.of(initialLanguage),\n syntaxHighlighting(highlightStyle),\n codeBlockTheme,\n lineNumbers ? showLineNumbers() : [],\n maxHeight === null\n ? []\n : EditorView.theme({\n \"&\": { maxHeight: `${maxHeight}px` },\n }),\n wrap ? EditorView.lineWrapping : [],\n ],\n });\n editor.current = view;\n let active = true;\n\n if (customLanguage) {\n void customLanguage()\n .then((extension) => {\n if (active) {\n view.dispatch({ effects: languageCompartment.reconfigure(extension) });\n }\n })\n .catch((error: unknown) => {\n if (active) {\n console.warn(\"[lattice] CodeBlock language failed to load.\", error);\n }\n });\n }\n\n return () => {\n active = false;\n editor.current = null;\n view.destroy();\n };\n }, [language, lineNumbers, maxHeight, wrap]);\n\n useEffect(() => {\n const view = editor.current;\n\n if (!view || view.state.doc.toString() === children) {\n return;\n }\n\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: children } });\n }, [children]);\n\n return <div ref={container} />;\n}\n\nexport default CodeBlockView;\n"],"mappings":"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"}
|
package/dist/ui/code-block.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ComponentProps } from 'react';
|
|
2
|
-
import { Extension } from '@codemirror/state';
|
|
3
|
-
import { RendererComponent } from '../core/types.js';
|
|
4
|
-
type CodeBlockLanguage = "text" | "json" | "javascript" | "shell" | "php";
|
|
5
|
-
type CodeBlockLanguageLoader = () => Promise<Extension>;
|
|
6
|
-
interface CodeBlockProps extends Omit<ComponentProps<"div">, "children"> {
|
|
7
|
-
children: string;
|
|
8
|
-
copyable?: boolean;
|
|
9
|
-
language?: CodeBlockLanguage | CodeBlockLanguageLoader;
|
|
10
|
-
lineNumbers?: boolean;
|
|
11
|
-
maxHeight?: number | null;
|
|
12
|
-
wrap?: boolean;
|
|
13
|
-
}
|
|
14
|
-
interface CodeBlockViewProps {
|
|
15
|
-
children: string;
|
|
16
|
-
language: CodeBlockLanguage | CodeBlockLanguageLoader;
|
|
17
|
-
lineNumbers: boolean;
|
|
18
|
-
maxHeight: number | null;
|
|
19
|
-
wrap: boolean;
|
|
20
|
-
}
|
|
21
|
-
declare function CodeBlock({ "aria-label": ariaLabel, children, className, copyable, language, lineNumbers, maxHeight, role, wrap, ...props }: CodeBlockProps): import("react").JSX.Element;
|
|
22
|
-
declare const CodeBlockComponent: RendererComponent<"code-block">;
|
|
23
|
-
export default CodeBlockComponent;
|
|
24
|
-
export { CodeBlock };
|
|
25
|
-
export type { CodeBlockLanguage, CodeBlockLanguageLoader, CodeBlockProps, CodeBlockViewProps };
|
package/dist/ui/code-block.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { cn } from "../lib/utils.js";
|
|
2
|
-
import { CopyButton } from "./copyable-text.js";
|
|
3
|
-
import { Fragment, Suspense, lazy } from "react";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
//#region resources/js/ui/code-block.tsx
|
|
6
|
-
var CodeBlockView = lazy(() => import("./code-block-view.js"));
|
|
7
|
-
function CodeBlock({ "aria-label": ariaLabel, children, className, copyable = false, language = "text", lineNumbers = false, maxHeight = null, role = ariaLabel ? "region" : void 0, wrap = false, ...props }) {
|
|
8
|
-
const fallback = /* @__PURE__ */ jsx("pre", {
|
|
9
|
-
className: cn("max-w-full overflow-auto p-3 font-lt-mono text-xs", wrap && "whitespace-pre-wrap wrap-anywhere"),
|
|
10
|
-
style: { maxHeight: maxHeight ?? void 0 },
|
|
11
|
-
children: lineNumbers ? /* @__PURE__ */ jsx("code", {
|
|
12
|
-
className: "grid grid-cols-[auto_1fr]",
|
|
13
|
-
children: children.split("\n").map((line, index) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
14
|
-
"aria-hidden": "true",
|
|
15
|
-
className: "mr-3 border-r border-lt-border pr-3 text-right text-lt-muted-fg select-none",
|
|
16
|
-
children: index + 1
|
|
17
|
-
}), /* @__PURE__ */ jsx("span", { children: line || "" })] }, index))
|
|
18
|
-
}) : children
|
|
19
|
-
});
|
|
20
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
21
|
-
"data-slot": "code-block",
|
|
22
|
-
"aria-label": ariaLabel,
|
|
23
|
-
role,
|
|
24
|
-
...props,
|
|
25
|
-
className: cn("relative max-w-full overflow-hidden rounded-lt-sm bg-lt-muted text-lt-fg", className),
|
|
26
|
-
children: [copyable ? /* @__PURE__ */ jsx(CopyButton, {
|
|
27
|
-
value: children,
|
|
28
|
-
label: ariaLabel ?? "code",
|
|
29
|
-
iconOnly: true,
|
|
30
|
-
className: "absolute top-3 right-6 z-10 bg-lt-bg/80 hover:bg-lt-bg"
|
|
31
|
-
}) : null, /* @__PURE__ */ jsx(Suspense, {
|
|
32
|
-
fallback,
|
|
33
|
-
children: /* @__PURE__ */ jsx(CodeBlockView, {
|
|
34
|
-
language,
|
|
35
|
-
lineNumbers,
|
|
36
|
-
maxHeight,
|
|
37
|
-
wrap,
|
|
38
|
-
children
|
|
39
|
-
})
|
|
40
|
-
})]
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
var CodeBlockComponent = ({ node }) => /* @__PURE__ */ jsx(CodeBlock, {
|
|
44
|
-
copyable: node.props.copyable,
|
|
45
|
-
language: node.props.language,
|
|
46
|
-
lineNumbers: node.props.lineNumbers,
|
|
47
|
-
maxHeight: node.props.maxHeight,
|
|
48
|
-
wrap: node.props.wrap,
|
|
49
|
-
children: node.props.code
|
|
50
|
-
});
|
|
51
|
-
//#endregion
|
|
52
|
-
export { CodeBlock, CodeBlockComponent as default };
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=code-block.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.js","names":[],"sources":["../../resources/js/ui/code-block.tsx"],"sourcesContent":["import { Fragment, lazy, Suspense } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport type { Extension } from \"@codemirror/state\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { CopyButton } from \"./copyable-text\";\n\nconst CodeBlockView = lazy(() => import(\"./code-block-view\"));\n\ntype CodeBlockLanguage = \"text\" | \"json\" | \"javascript\" | \"shell\" | \"php\";\ntype CodeBlockLanguageLoader = () => Promise<Extension>;\n\ninterface CodeBlockProps extends Omit<ComponentProps<\"div\">, \"children\"> {\n children: string;\n copyable?: boolean;\n language?: CodeBlockLanguage | CodeBlockLanguageLoader;\n lineNumbers?: boolean;\n maxHeight?: number | null;\n wrap?: boolean;\n}\n\ninterface CodeBlockViewProps {\n children: string;\n language: CodeBlockLanguage | CodeBlockLanguageLoader;\n lineNumbers: boolean;\n maxHeight: number | null;\n wrap: boolean;\n}\n\nfunction CodeBlock({\n \"aria-label\": ariaLabel,\n children,\n className,\n copyable = false,\n language = \"text\",\n lineNumbers = false,\n maxHeight = null,\n role = ariaLabel ? \"region\" : undefined,\n wrap = false,\n ...props\n}: CodeBlockProps) {\n const fallback = (\n <pre\n className={cn(\n \"max-w-full overflow-auto p-3 font-lt-mono text-xs\",\n wrap && \"whitespace-pre-wrap wrap-anywhere\",\n )}\n style={{ maxHeight: maxHeight ?? undefined }}\n >\n {lineNumbers ? (\n <code className=\"grid grid-cols-[auto_1fr]\">\n {children.split(\"\\n\").map((line, index) => (\n <Fragment key={index}>\n <span\n aria-hidden=\"true\"\n className=\"mr-3 border-r border-lt-border pr-3 text-right text-lt-muted-fg select-none\"\n >\n {index + 1}\n </span>\n <span>{line || \"\\u200b\"}</span>\n </Fragment>\n ))}\n </code>\n ) : (\n children\n )}\n </pre>\n );\n\n return (\n <div\n data-slot=\"code-block\"\n aria-label={ariaLabel}\n role={role}\n {...props}\n className={cn(\n \"relative max-w-full overflow-hidden rounded-lt-sm bg-lt-muted text-lt-fg\",\n className,\n )}\n >\n {copyable ? (\n <CopyButton\n value={children}\n label={ariaLabel ?? \"code\"}\n iconOnly\n className=\"absolute top-3 right-6 z-10 bg-lt-bg/80 hover:bg-lt-bg\"\n />\n ) : null}\n <Suspense fallback={fallback}>\n <CodeBlockView\n language={language}\n lineNumbers={lineNumbers}\n maxHeight={maxHeight}\n wrap={wrap}\n >\n {children}\n </CodeBlockView>\n </Suspense>\n </div>\n );\n}\n\nconst CodeBlockComponent: RendererComponent<\"code-block\"> = ({ node }) => (\n <CodeBlock\n copyable={node.props.copyable}\n language={node.props.language}\n lineNumbers={node.props.lineNumbers}\n maxHeight={node.props.maxHeight}\n wrap={node.props.wrap}\n >\n {node.props.code}\n </CodeBlock>\n);\n\nexport default CodeBlockComponent;\nexport { CodeBlock };\nexport type { CodeBlockLanguage, CodeBlockLanguageLoader, CodeBlockProps, CodeBlockViewProps };\n"],"mappings":";;;;;AAOA,IAAM,gBAAgB,WAAW,OAAO,uBAAoB;AAsB5D,SAAS,UAAU,EACjB,cAAc,WACd,UACA,WACA,WAAW,OACX,WAAW,QACX,cAAc,OACd,YAAY,MACZ,OAAO,YAAY,WAAW,KAAA,GAC9B,OAAO,OACP,GAAG,SACc;CACjB,MAAM,WACJ,oBAAC,OAAD;EACE,WAAW,GACT,qDACA,QAAQ,mCACV;EACA,OAAO,EAAE,WAAW,aAAa,KAAA,EAAU;EAE1C,UAAA,cACC,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,SAAS,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,UAC/B,qBAAC,UAAD,EAAA,UAAA,CACE,oBAAC,QAAD;IACE,eAAY;IACZ,WAAU;IAET,UAAA,QAAQ;GACL,CAAA,GACN,oBAAC,QAAD,EAAA,UAAO,QAAQ,IAAe,CAAA,CACtB,EAAA,GARK,KAQL,CACX;EACG,CAAA,IAEN;CAEC,CAAA;CAGP,OACE,qBAAC,OAAD;EACE,aAAU;EACV,cAAY;EACN;EACN,GAAI;EACJ,WAAW,GACT,4EACA,SACF;EARF,UAAA,CAUG,WACC,oBAAC,YAAD;GACE,OAAO;GACP,OAAO,aAAa;GACpB,UAAA;GACA,WAAU;EACX,CAAA,IACC,MACJ,oBAAC,UAAD;GAAoB;GAClB,UAAA,oBAAC,eAAD;IACY;IACG;IACF;IACL;IAEL;GACY,CAAA;EACP,CAAA,CACP;;AAET;AAEA,IAAM,sBAAuD,EAAE,WAC7D,oBAAC,WAAD;CACE,UAAU,KAAK,MAAM;CACrB,UAAU,KAAK,MAAM;CACrB,aAAa,KAAK,MAAM;CACxB,WAAW,KAAK,MAAM;CACtB,MAAM,KAAK,MAAM;CAEhB,UAAA,KAAK,MAAM;AACH,CAAA"}
|
package/dist/ui/collapsible.d.ts
DELETED
package/dist/ui/collapsible.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { cn } from "../lib/utils.js";
|
|
2
|
-
import { Icon } from "../icons/sprite.js";
|
|
3
|
-
import { toNodes } from "../core/nodes.js";
|
|
4
|
-
import { Renderer } from "../core/renderer.js";
|
|
5
|
-
import { nodeIdentity, prefixedTestId } from "../core/test-id.js";
|
|
6
|
-
import { useCollapsibleState } from "./use-collapsible-state.js";
|
|
7
|
-
import { InfoTooltip } from "./info-tooltip.js";
|
|
8
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
-
//#region resources/js/ui/collapsible.tsx
|
|
10
|
-
var CollapsibleComponent = ({ children, node }) => {
|
|
11
|
-
const rememberState = node.props.rememberState !== false;
|
|
12
|
-
const trigger = toNodes(node.props.trigger);
|
|
13
|
-
const identity = nodeIdentity(node);
|
|
14
|
-
const storageKey = `lattice:collapsible:${identity ?? "default"}`;
|
|
15
|
-
const contentId = `${identity ?? "collapsible"}-content`;
|
|
16
|
-
const [open, toggle] = useCollapsibleState(storageKey, node.props.collapsed === false, rememberState);
|
|
17
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
18
|
-
"data-slot": "collapsible",
|
|
19
|
-
"data-lattice-component": identity,
|
|
20
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
21
|
-
"aria-controls": contentId,
|
|
22
|
-
"aria-expanded": open,
|
|
23
|
-
"data-test": prefixedTestId("collapsible-toggle", identity) ?? "collapsible-toggle-default",
|
|
24
|
-
className: "flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted",
|
|
25
|
-
onClick: toggle,
|
|
26
|
-
onKeyDown: (event) => {
|
|
27
|
-
if (event.key === "Enter" || event.key === " ") {
|
|
28
|
-
event.preventDefault();
|
|
29
|
-
toggle();
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
role: "button",
|
|
33
|
-
tabIndex: 0,
|
|
34
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
35
|
-
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
36
|
-
children: [/* @__PURE__ */ jsx(Renderer, { nodes: trigger }), node.props.tooltip && /* @__PURE__ */ jsx("span", {
|
|
37
|
-
role: "presentation",
|
|
38
|
-
onClick: (event) => event.stopPropagation(),
|
|
39
|
-
onKeyDown: (event) => event.stopPropagation(),
|
|
40
|
-
children: /* @__PURE__ */ jsx(InfoTooltip, { content: node.props.tooltip })
|
|
41
|
-
})]
|
|
42
|
-
}), /* @__PURE__ */ jsx(Icon, {
|
|
43
|
-
name: "chevron-down",
|
|
44
|
-
className: cn("size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform", !open && "-rotate-90")
|
|
45
|
-
})]
|
|
46
|
-
}), open && children && /* @__PURE__ */ jsx("div", {
|
|
47
|
-
id: contentId,
|
|
48
|
-
className: "flex flex-col gap-4 pt-2",
|
|
49
|
-
children
|
|
50
|
-
})]
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
//#endregion
|
|
54
|
-
export { CollapsibleComponent as default };
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=collapsible.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible.js","names":[],"sources":["../../resources/js/ui/collapsible.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport { Renderer } from \"@lattice-php/lattice/core/renderer\";\nimport { InfoTooltip } from \"./info-tooltip\";\nimport { nodeIdentity, prefixedTestId } from \"@lattice-php/lattice/core/test-id\";\nimport { toNodes } from \"@lattice-php/lattice/core/nodes\";\nimport type { RendererComponent } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useCollapsibleState } from \"./use-collapsible-state\";\n\nconst CollapsibleComponent: RendererComponent<\"collapsible\"> = ({ children, node }) => {\n const rememberState = node.props.rememberState !== false;\n const trigger = toNodes(node.props.trigger);\n const identity = nodeIdentity(node);\n const storageKey = `lattice:collapsible:${identity ?? \"default\"}`;\n const contentId = `${identity ?? \"collapsible\"}-content`;\n\n const [open, toggle] = useCollapsibleState(\n storageKey,\n node.props.collapsed === false,\n rememberState,\n );\n\n return (\n <div data-slot=\"collapsible\" data-lattice-component={identity}>\n <div\n aria-controls={contentId}\n aria-expanded={open}\n data-test={prefixedTestId(\"collapsible-toggle\", identity) ?? \"collapsible-toggle-default\"}\n className=\"flex w-full cursor-pointer items-center justify-between gap-4 rounded-lt-sm py-2 text-left text-lt-fg transition-colors hover:bg-lt-muted\"\n onClick={toggle}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n toggle();\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n <Renderer nodes={trigger} />\n {node.props.tooltip && (\n <span\n role=\"presentation\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n >\n <InfoTooltip content={node.props.tooltip} />\n </span>\n )}\n </div>\n <Icon\n name=\"chevron-down\"\n className={cn(\n \"size-lt-icon-md shrink-0 text-lt-muted-fg transition-transform\",\n !open && \"-rotate-90\",\n )}\n />\n </div>\n\n {open && children && (\n <div id={contentId} className=\"flex flex-col gap-4 pt-2\">\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default CollapsibleComponent;\n"],"mappings":";;;;;;;;;AASA,IAAM,wBAA0D,EAAE,UAAU,WAAW;CACrF,MAAM,gBAAgB,KAAK,MAAM,kBAAkB;CACnD,MAAM,UAAU,QAAQ,KAAK,MAAM,OAAO;CAC1C,MAAM,WAAW,aAAa,IAAI;CAClC,MAAM,aAAa,uBAAuB,YAAY;CACtD,MAAM,YAAY,GAAG,YAAY,cAAc;CAE/C,MAAM,CAAC,MAAM,UAAU,oBACrB,YACA,KAAK,MAAM,cAAc,OACzB,aACF;CAEA,OACE,qBAAC,OAAD;EAAK,aAAU;EAAc,0BAAwB;EAArD,UAAA,CACE,qBAAC,OAAD;GACE,iBAAe;GACf,iBAAe;GACf,aAAW,eAAe,sBAAsB,QAAQ,KAAK;GAC7D,WAAU;GACV,SAAS;GACT,YAAY,UAAU;IACpB,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;KAC9C,MAAM,eAAe;KACrB,OAAO;IACT;GACF;GACA,MAAK;GACL,UAAU;GAbZ,UAAA,CAeE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,UAAD,EAAU,OAAO,QAAU,CAAA,GAC1B,KAAK,MAAM,WACV,oBAAC,QAAD;KACE,MAAK;KACL,UAAU,UAAU,MAAM,gBAAgB;KAC1C,YAAY,UAAU,MAAM,gBAAgB;KAE5C,UAAA,oBAAC,aAAD,EAAa,SAAS,KAAK,MAAM,QAAU,CAAA;IACvC,CAAA,CAEL;GACL,CAAA,GAAA,oBAAC,MAAD;IACE,MAAK;IACL,WAAW,GACT,kEACA,CAAC,QAAQ,YACX;GACD,CAAA,CACE;EAEJ,CAAA,GAAA,QAAQ,YACP,oBAAC,OAAD;GAAK,IAAI;GAAW,WAAU;GAC3B;EACE,CAAA,CAEJ;;AAET"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function normalizeHex(input: string): string | null;
|
|
2
|
-
export declare function ColorPicker({ value, onChange, palette, hexLabel, paletteLabel, }: {
|
|
3
|
-
value: string;
|
|
4
|
-
onChange: (hex: string) => void;
|
|
5
|
-
palette: string[];
|
|
6
|
-
hexLabel?: string;
|
|
7
|
-
paletteLabel?: string;
|
|
8
|
-
}): import("react").JSX.Element;
|
package/dist/ui/color-picker.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { cn } from "../lib/utils.js";
|
|
2
|
-
import { Input } from "./input.js";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { HexColorPicker } from "react-colorful";
|
|
6
|
-
//#region resources/js/ui/color-picker.tsx
|
|
7
|
-
function normalizeHex(input) {
|
|
8
|
-
const raw = input.trim().replace(/^#/, "").toLowerCase();
|
|
9
|
-
if (/^[0-9a-f]{6}$/.test(raw)) return `#${raw}`;
|
|
10
|
-
if (/^[0-9a-f]{3}$/.test(raw)) return `#${raw[0]}${raw[0]}${raw[1]}${raw[1]}${raw[2]}${raw[2]}`;
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
function ColorPicker({ value, onChange, palette, hexLabel = "Hex color", paletteLabel = "Color palette" }) {
|
|
14
|
-
const [draft, setDraft] = useState(null);
|
|
15
|
-
const color = normalizeHex(value) ?? "#6b7280";
|
|
16
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
17
|
-
className: "flex w-56 flex-col gap-3",
|
|
18
|
-
"data-slot": "color-picker",
|
|
19
|
-
children: [
|
|
20
|
-
/* @__PURE__ */ jsx(HexColorPicker, {
|
|
21
|
-
className: "!w-full",
|
|
22
|
-
color,
|
|
23
|
-
onChange
|
|
24
|
-
}),
|
|
25
|
-
palette.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
26
|
-
"aria-label": paletteLabel,
|
|
27
|
-
className: "flex flex-wrap gap-1.5",
|
|
28
|
-
role: "listbox",
|
|
29
|
-
children: palette.map((swatch) => {
|
|
30
|
-
const normalized = normalizeHex(swatch) ?? swatch;
|
|
31
|
-
return /* @__PURE__ */ jsx("button", {
|
|
32
|
-
"aria-label": normalized,
|
|
33
|
-
"aria-selected": normalized === color,
|
|
34
|
-
className: cn("size-6 shrink-0 rounded-full border border-lt-border", normalized === color && "ring-2 ring-lt-ring ring-offset-1"),
|
|
35
|
-
onClick: () => onChange(normalized),
|
|
36
|
-
role: "option",
|
|
37
|
-
style: { background: swatch },
|
|
38
|
-
type: "button"
|
|
39
|
-
}, swatch);
|
|
40
|
-
})
|
|
41
|
-
}),
|
|
42
|
-
/* @__PURE__ */ jsx(Input, {
|
|
43
|
-
"aria-label": hexLabel,
|
|
44
|
-
onBlur: () => setDraft(null),
|
|
45
|
-
onChange: (event) => {
|
|
46
|
-
const text = event.target.value;
|
|
47
|
-
const hex = normalizeHex(text);
|
|
48
|
-
setDraft(text);
|
|
49
|
-
if (hex !== null) onChange(hex);
|
|
50
|
-
},
|
|
51
|
-
value: draft ?? color
|
|
52
|
-
})
|
|
53
|
-
]
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
//#endregion
|
|
57
|
-
export { ColorPicker, normalizeHex };
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=color-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"color-picker.js","names":[],"sources":["../../resources/js/ui/color-picker.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { Input } from \"./input\";\n\nexport function normalizeHex(input: string): string | null {\n const raw = input.trim().replace(/^#/, \"\").toLowerCase();\n\n if (/^[0-9a-f]{6}$/.test(raw)) {\n return `#${raw}`;\n }\n\n if (/^[0-9a-f]{3}$/.test(raw)) {\n return `#${raw[0]}${raw[0]}${raw[1]}${raw[1]}${raw[2]}${raw[2]}`;\n }\n\n return null;\n}\n\nexport function ColorPicker({\n value,\n onChange,\n palette,\n hexLabel = \"Hex color\",\n paletteLabel = \"Color palette\",\n}: {\n value: string;\n onChange: (hex: string) => void;\n palette: string[];\n hexLabel?: string;\n paletteLabel?: string;\n}) {\n const [draft, setDraft] = useState<string | null>(null);\n const color = normalizeHex(value) ?? \"#6b7280\";\n\n return (\n <div className=\"flex w-56 flex-col gap-3\" data-slot=\"color-picker\">\n <HexColorPicker className=\"!w-full\" color={color} onChange={onChange} />\n {palette.length > 0 && (\n <div aria-label={paletteLabel} className=\"flex flex-wrap gap-1.5\" role=\"listbox\">\n {palette.map((swatch) => {\n const normalized = normalizeHex(swatch) ?? swatch;\n\n return (\n <button\n aria-label={normalized}\n aria-selected={normalized === color}\n className={cn(\n \"size-6 shrink-0 rounded-full border border-lt-border\",\n normalized === color && \"ring-2 ring-lt-ring ring-offset-1\",\n )}\n key={swatch}\n onClick={() => onChange(normalized)}\n role=\"option\"\n style={{ background: swatch }}\n type=\"button\"\n />\n );\n })}\n </div>\n )}\n <Input\n aria-label={hexLabel}\n onBlur={() => setDraft(null)}\n onChange={(event) => {\n const text = event.target.value;\n const hex = normalizeHex(text);\n setDraft(text);\n\n if (hex !== null) {\n onChange(hex);\n }\n }}\n value={draft ?? color}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;AAKA,SAAgB,aAAa,OAA8B;CACzD,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,YAAY;CAEvD,IAAI,gBAAgB,KAAK,GAAG,GAC1B,OAAO,IAAI;CAGb,IAAI,gBAAgB,KAAK,GAAG,GAC1B,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CAG9D,OAAO;AACT;AAEA,SAAgB,YAAY,EAC1B,OACA,UACA,SACA,WAAW,aACX,eAAe,mBAOd;CACD,MAAM,CAAC,OAAO,YAAY,SAAwB,IAAI;CACtD,MAAM,QAAQ,aAAa,KAAK,KAAK;CAErC,OACE,qBAAC,OAAD;EAAK,WAAU;EAA2B,aAAU;EAApD,UAAA;GACE,oBAAC,gBAAD;IAAgB,WAAU;IAAiB;IAAiB;GAAW,CAAA;GACtE,QAAQ,SAAS,KAChB,oBAAC,OAAD;IAAK,cAAY;IAAc,WAAU;IAAyB,MAAK;IACpE,UAAA,QAAQ,KAAK,WAAW;KACvB,MAAM,aAAa,aAAa,MAAM,KAAK;KAE3C,OACE,oBAAC,UAAD;MACE,cAAY;MACZ,iBAAe,eAAe;MAC9B,WAAW,GACT,wDACA,eAAe,SAAS,mCAC1B;MAEA,eAAe,SAAS,UAAU;MAClC,MAAK;MACL,OAAO,EAAE,YAAY,OAAO;MAC5B,MAAK;KACN,GALM,MAKN;IAEL,CAAC;GACE,CAAA;GAEP,oBAAC,OAAD;IACE,cAAY;IACZ,cAAc,SAAS,IAAI;IAC3B,WAAW,UAAU;KACnB,MAAM,OAAO,MAAM,OAAO;KAC1B,MAAM,MAAM,aAAa,IAAI;KAC7B,SAAS,IAAI;KAEb,IAAI,QAAQ,MACV,SAAS,GAAG;IAEhB;IACA,OAAO,SAAS;GACjB,CAAA;EACE;;AAET"}
|
package/dist/ui/combobox.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { Option } from '../core/types.js';
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
/**
|
|
4
|
-
* A popover select list with an optional search box and single/multi selection.
|
|
5
|
-
*
|
|
6
|
-
* Selection state is controlled by the consumer (`selected` + `onSelect`); the
|
|
7
|
-
* consumer also owns option fetching. Pass `onSearch` for remote search (the
|
|
8
|
-
* combobox debounces the query and renders `options` as given); omit it to
|
|
9
|
-
* filter the provided `options` locally by label. The combobox closes itself
|
|
10
|
-
* after a single-select. Pass `renderOption` to render rich option rows; the
|
|
11
|
-
* option's label stays the accessible name. `onSelect` toggles selection
|
|
12
|
-
* (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that
|
|
13
|
-
* match an existing option call `onCommit` instead, falling back to
|
|
14
|
-
* `onSelect` when it is not provided, so consumers can make tag entry
|
|
15
|
-
* additive instead of toggling.
|
|
16
|
-
*/
|
|
17
|
-
declare function Combobox({ contentClassName, creatable, emptyLabel, loading, multiple, onCommit, onCreate, onSearch, onSelect, open, onOpenChange, options, renderOption, searchLabel, searchPlaceholder, selected, showSearch, testId, trigger, triggerClassName, triggerProps, }: {
|
|
18
|
-
contentClassName?: string;
|
|
19
|
-
creatable?: boolean;
|
|
20
|
-
emptyLabel?: string;
|
|
21
|
-
loading?: boolean;
|
|
22
|
-
multiple?: boolean;
|
|
23
|
-
onCommit?: (value: string) => void;
|
|
24
|
-
onCreate?: (label: string) => void;
|
|
25
|
-
onSearch?: (query: string) => void;
|
|
26
|
-
onSelect: (value: string) => void;
|
|
27
|
-
open: boolean;
|
|
28
|
-
onOpenChange: (open: boolean) => void;
|
|
29
|
-
options: Option[];
|
|
30
|
-
renderOption?: (option: Option) => React.ReactNode;
|
|
31
|
-
searchLabel?: string;
|
|
32
|
-
searchPlaceholder?: string;
|
|
33
|
-
selected: string[];
|
|
34
|
-
showSearch?: boolean;
|
|
35
|
-
testId?: string;
|
|
36
|
-
trigger: React.ReactNode;
|
|
37
|
-
triggerClassName?: string;
|
|
38
|
-
triggerProps?: React.ComponentProps<"button"> & {
|
|
39
|
-
"data-test"?: string;
|
|
40
|
-
};
|
|
41
|
-
}): React.JSX.Element;
|
|
42
|
-
export { Combobox };
|
package/dist/ui/combobox.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { useT } from "../i18n/instance.js";
|
|
2
|
-
import { cn } from "../lib/utils.js";
|
|
3
|
-
import { Icon } from "../icons/sprite.js";
|
|
4
|
-
import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
|
|
5
|
-
import { useDebouncedCallback } from "../lib/use-debounced-callback.js";
|
|
6
|
-
import { useEffect, useState } from "react";
|
|
7
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
//#region resources/js/ui/combobox.tsx
|
|
9
|
-
var SEARCH_DEBOUNCE_MS = 250;
|
|
10
|
-
/**
|
|
11
|
-
* A popover select list with an optional search box and single/multi selection.
|
|
12
|
-
*
|
|
13
|
-
* Selection state is controlled by the consumer (`selected` + `onSelect`); the
|
|
14
|
-
* consumer also owns option fetching. Pass `onSearch` for remote search (the
|
|
15
|
-
* combobox debounces the query and renders `options` as given); omit it to
|
|
16
|
-
* filter the provided `options` locally by label. The combobox closes itself
|
|
17
|
-
* after a single-select. Pass `renderOption` to render rich option rows; the
|
|
18
|
-
* option's label stays the accessible name. `onSelect` toggles selection
|
|
19
|
-
* (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that
|
|
20
|
-
* match an existing option call `onCommit` instead, falling back to
|
|
21
|
-
* `onSelect` when it is not provided, so consumers can make tag entry
|
|
22
|
-
* additive instead of toggling.
|
|
23
|
-
*/
|
|
24
|
-
function Combobox({ contentClassName, creatable = false, emptyLabel, loading = false, multiple = false, onCommit, onCreate, onSearch, onSelect, open, onOpenChange, options, renderOption, searchLabel, searchPlaceholder, selected, showSearch = true, testId, trigger, triggerClassName, triggerProps }) {
|
|
25
|
-
const { t } = useT("lattice");
|
|
26
|
-
const [query, setQuery] = useState("");
|
|
27
|
-
function commitCreate(raw) {
|
|
28
|
-
const tokens = raw.split(",").map((token) => token.trim()).filter(Boolean);
|
|
29
|
-
for (const token of tokens) {
|
|
30
|
-
const match = options.find((option) => option.label.toLowerCase() === token.toLowerCase());
|
|
31
|
-
if (match) (onCommit ?? onSelect)(match.value);
|
|
32
|
-
else onCreate?.(token);
|
|
33
|
-
}
|
|
34
|
-
if (multiple) setQuery("");
|
|
35
|
-
else close();
|
|
36
|
-
}
|
|
37
|
-
const exactMatch = options.some((option) => option.label.toLowerCase() === query.trim().toLowerCase());
|
|
38
|
-
const runSearch = useDebouncedCallback((next) => onSearch?.(next), SEARCH_DEBOUNCE_MS);
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (!onSearch || !open) return;
|
|
41
|
-
runSearch(query);
|
|
42
|
-
return () => runSearch.cancel();
|
|
43
|
-
}, [
|
|
44
|
-
query,
|
|
45
|
-
onSearch,
|
|
46
|
-
open,
|
|
47
|
-
runSearch
|
|
48
|
-
]);
|
|
49
|
-
const visibleOptions = onSearch ? options : options.filter((option) => option.label.toLowerCase().includes(query.toLowerCase()));
|
|
50
|
-
function close() {
|
|
51
|
-
setQuery("");
|
|
52
|
-
onOpenChange(false);
|
|
53
|
-
}
|
|
54
|
-
function choose(value) {
|
|
55
|
-
onSelect(value);
|
|
56
|
-
if (!multiple) close();
|
|
57
|
-
}
|
|
58
|
-
return /* @__PURE__ */ jsxs(Popover, {
|
|
59
|
-
open,
|
|
60
|
-
onOpenChange: (next) => next ? onOpenChange(true) : close(),
|
|
61
|
-
children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
62
|
-
asChild: true,
|
|
63
|
-
children: /* @__PURE__ */ jsx("button", {
|
|
64
|
-
type: "button",
|
|
65
|
-
className: triggerClassName,
|
|
66
|
-
...triggerProps,
|
|
67
|
-
children: trigger
|
|
68
|
-
})
|
|
69
|
-
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
70
|
-
align: "start",
|
|
71
|
-
className: cn("w-[var(--radix-popover-trigger-width)] overflow-hidden p-0", contentClassName),
|
|
72
|
-
children: [showSearch && /* @__PURE__ */ jsxs("div", {
|
|
73
|
-
className: "flex items-center gap-2 border-b border-lt-border px-3 py-2",
|
|
74
|
-
children: [/* @__PURE__ */ jsx("input", {
|
|
75
|
-
"aria-label": searchLabel ?? t("form.search-options", "Search options"),
|
|
76
|
-
"data-slot": "combobox-search",
|
|
77
|
-
"data-test": testId ? `${testId}-search` : void 0,
|
|
78
|
-
className: "w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg",
|
|
79
|
-
onChange: (event) => {
|
|
80
|
-
const next = event.target.value;
|
|
81
|
-
if (creatable && next.includes(",")) {
|
|
82
|
-
commitCreate(next);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
setQuery(next);
|
|
86
|
-
},
|
|
87
|
-
onKeyDown: (event) => {
|
|
88
|
-
if (creatable && event.key === "Enter" && query.trim() !== "") {
|
|
89
|
-
event.preventDefault();
|
|
90
|
-
commitCreate(query);
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
placeholder: searchPlaceholder,
|
|
94
|
-
value: query
|
|
95
|
-
}), loading && /* @__PURE__ */ jsx(Icon, {
|
|
96
|
-
name: "loader-2",
|
|
97
|
-
"aria-hidden": "true",
|
|
98
|
-
className: "size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg"
|
|
99
|
-
})]
|
|
100
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
101
|
-
className: "max-h-60 overflow-y-auto p-1",
|
|
102
|
-
role: "listbox",
|
|
103
|
-
children: [creatable && query.trim() !== "" && !exactMatch && /* @__PURE__ */ jsxs("button", {
|
|
104
|
-
className: "flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg",
|
|
105
|
-
"data-test": testId ? `${testId}-create` : void 0,
|
|
106
|
-
onClick: () => commitCreate(query),
|
|
107
|
-
type: "button",
|
|
108
|
-
children: [/* @__PURE__ */ jsx(Icon, {
|
|
109
|
-
name: "plus",
|
|
110
|
-
"aria-hidden": "true",
|
|
111
|
-
className: "size-lt-icon-md shrink-0"
|
|
112
|
-
}), t("form.create-option", "Create \"{{label}}\"", { label: query.trim() })]
|
|
113
|
-
}), visibleOptions.length === 0 && !(creatable && query.trim() !== "" && !exactMatch) ? /* @__PURE__ */ jsx("p", {
|
|
114
|
-
className: "px-3 py-2 text-sm text-lt-muted-fg",
|
|
115
|
-
children: emptyLabel
|
|
116
|
-
}) : visibleOptions.map((option) => {
|
|
117
|
-
const isSelected = selected.includes(option.value);
|
|
118
|
-
return /* @__PURE__ */ jsxs("button", {
|
|
119
|
-
"aria-label": renderOption ? option.label : void 0,
|
|
120
|
-
"aria-selected": isSelected,
|
|
121
|
-
className: cn("flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg", isSelected && "bg-lt-accent/60"),
|
|
122
|
-
"data-slot": "combobox-option",
|
|
123
|
-
"data-test": testId ? `${testId}-option-${option.value}` : void 0,
|
|
124
|
-
"data-value": option.value,
|
|
125
|
-
onClick: () => choose(option.value),
|
|
126
|
-
role: "option",
|
|
127
|
-
type: "button",
|
|
128
|
-
children: [renderOption ? /* @__PURE__ */ jsx("span", {
|
|
129
|
-
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
130
|
-
children: renderOption(option)
|
|
131
|
-
}) : option.label, isSelected && /* @__PURE__ */ jsx(Icon, {
|
|
132
|
-
name: "check",
|
|
133
|
-
"aria-hidden": "true",
|
|
134
|
-
className: "size-lt-icon-md shrink-0"
|
|
135
|
-
})]
|
|
136
|
-
}, option.value);
|
|
137
|
-
})]
|
|
138
|
-
})]
|
|
139
|
-
})]
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
//#endregion
|
|
143
|
-
export { Combobox };
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=combobox.js.map
|
package/dist/ui/combobox.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.js","names":[],"sources":["../../resources/js/ui/combobox.tsx"],"sourcesContent":["import { Icon } from \"@lattice-php/lattice/icons\";\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { useT } from \"@lattice-php/lattice/i18n\";\nimport type { Option } from \"@lattice-php/lattice/core/types\";\nimport { cn } from \"@lattice-php/lattice/lib/utils\";\nimport { useDebouncedCallback } from \"@lattice-php/lattice/lib/use-debounced-callback\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\n\nconst SEARCH_DEBOUNCE_MS = 250;\n\n/**\n * A popover select list with an optional search box and single/multi selection.\n *\n * Selection state is controlled by the consumer (`selected` + `onSelect`); the\n * consumer also owns option fetching. Pass `onSearch` for remote search (the\n * combobox debounces the query and renders `options` as given); omit it to\n * filter the provided `options` locally by label. The combobox closes itself\n * after a single-select. Pass `renderOption` to render rich option rows; the\n * option's label stays the accessible name. `onSelect` toggles selection\n * (used by dropdown-row clicks); tag-entry commits (Enter/comma/paste) that\n * match an existing option call `onCommit` instead, falling back to\n * `onSelect` when it is not provided, so consumers can make tag entry\n * additive instead of toggling.\n */\nfunction Combobox({\n contentClassName,\n creatable = false,\n emptyLabel,\n loading = false,\n multiple = false,\n onCommit,\n onCreate,\n onSearch,\n onSelect,\n open,\n onOpenChange,\n options,\n renderOption,\n searchLabel,\n searchPlaceholder,\n selected,\n showSearch = true,\n testId,\n trigger,\n triggerClassName,\n triggerProps,\n}: {\n contentClassName?: string;\n creatable?: boolean;\n emptyLabel?: string;\n loading?: boolean;\n multiple?: boolean;\n onCommit?: (value: string) => void;\n onCreate?: (label: string) => void;\n onSearch?: (query: string) => void;\n onSelect: (value: string) => void;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n options: Option[];\n renderOption?: (option: Option) => React.ReactNode;\n searchLabel?: string;\n searchPlaceholder?: string;\n selected: string[];\n showSearch?: boolean;\n testId?: string;\n trigger: React.ReactNode;\n triggerClassName?: string;\n triggerProps?: React.ComponentProps<\"button\"> & { \"data-test\"?: string };\n}) {\n const { t } = useT(\"lattice\");\n const [query, setQuery] = useState(\"\");\n\n function commitCreate(raw: string): void {\n const tokens = raw\n .split(\",\")\n .map((token) => token.trim())\n .filter(Boolean);\n\n for (const token of tokens) {\n const match = options.find((option) => option.label.toLowerCase() === token.toLowerCase());\n\n if (match) {\n (onCommit ?? onSelect)(match.value);\n } else {\n onCreate?.(token);\n }\n }\n\n if (multiple) {\n setQuery(\"\");\n } else {\n close();\n }\n }\n\n const exactMatch = options.some(\n (option) => option.label.toLowerCase() === query.trim().toLowerCase(),\n );\n\n const runSearch = useDebouncedCallback((next: string) => onSearch?.(next), SEARCH_DEBOUNCE_MS);\n\n useEffect(() => {\n if (!onSearch || !open) {\n return;\n }\n\n runSearch(query);\n\n return () => runSearch.cancel();\n }, [query, onSearch, open, runSearch]);\n\n const visibleOptions = onSearch\n ? options\n : options.filter((option) => option.label.toLowerCase().includes(query.toLowerCase()));\n\n function close(): void {\n setQuery(\"\");\n onOpenChange(false);\n }\n\n function choose(value: string): void {\n onSelect(value);\n\n if (!multiple) {\n close();\n }\n }\n\n return (\n <Popover open={open} onOpenChange={(next) => (next ? onOpenChange(true) : close())}>\n <PopoverTrigger asChild>\n <button type=\"button\" className={triggerClassName} {...triggerProps}>\n {trigger}\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n align=\"start\"\n className={cn(\n \"w-[var(--radix-popover-trigger-width)] overflow-hidden p-0\",\n contentClassName,\n )}\n >\n {showSearch && (\n <div className=\"flex items-center gap-2 border-b border-lt-border px-3 py-2\">\n <input\n aria-label={searchLabel ?? t(\"form.search-options\", \"Search options\")}\n data-slot=\"combobox-search\"\n data-test={testId ? `${testId}-search` : undefined}\n className=\"w-full bg-transparent text-sm outline-none placeholder:text-lt-muted-fg\"\n onChange={(event) => {\n const next = event.target.value;\n\n if (creatable && next.includes(\",\")) {\n commitCreate(next);\n\n return;\n }\n\n setQuery(next);\n }}\n onKeyDown={(event) => {\n if (creatable && event.key === \"Enter\" && query.trim() !== \"\") {\n event.preventDefault();\n commitCreate(query);\n }\n }}\n placeholder={searchPlaceholder}\n value={query}\n />\n {loading && (\n <Icon\n name=\"loader-2\"\n aria-hidden=\"true\"\n className=\"size-lt-icon-md shrink-0 animate-spin text-lt-muted-fg\"\n />\n )}\n </div>\n )}\n\n <div className=\"max-h-60 overflow-y-auto p-1\" role=\"listbox\">\n {creatable && query.trim() !== \"\" && !exactMatch && (\n <button\n className=\"flex w-full items-center gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg\"\n data-test={testId ? `${testId}-create` : undefined}\n onClick={() => commitCreate(query)}\n type=\"button\"\n >\n <Icon name=\"plus\" aria-hidden=\"true\" className=\"size-lt-icon-md shrink-0\" />\n {t(\"form.create-option\", 'Create \"{{label}}\"', { label: query.trim() })}\n </button>\n )}\n\n {visibleOptions.length === 0 && !(creatable && query.trim() !== \"\" && !exactMatch) ? (\n <p className=\"px-3 py-2 text-sm text-lt-muted-fg\">{emptyLabel}</p>\n ) : (\n visibleOptions.map((option) => {\n const isSelected = selected.includes(option.value);\n\n return (\n <button\n aria-label={renderOption ? option.label : undefined}\n aria-selected={isSelected}\n className={cn(\n \"flex w-full items-center justify-between gap-2 rounded-lt-sm px-3 py-1.5 text-left text-sm transition-colors hover:bg-lt-accent hover:text-lt-accent-fg\",\n isSelected && \"bg-lt-accent/60\",\n )}\n data-slot=\"combobox-option\"\n data-test={testId ? `${testId}-option-${option.value}` : undefined}\n data-value={option.value}\n key={option.value}\n onClick={() => choose(option.value)}\n role=\"option\"\n type=\"button\"\n >\n {renderOption ? (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n {renderOption(option)}\n </span>\n ) : (\n option.label\n )}\n {isSelected && (\n <Icon name=\"check\" aria-hidden=\"true\" className=\"size-lt-icon-md shrink-0\" />\n )}\n </button>\n );\n })\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n\nexport { Combobox };\n"],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Emphasis, Variant } from '../types/generated.js';
|
|
2
|
-
export declare function ConfirmDialog({ title, description, confirmLabel, cancelLabel, confirmVariant, confirmEmphasis, processing, confirmDisabled, onConfirm, onCancel, }: {
|
|
3
|
-
title: string;
|
|
4
|
-
description?: string;
|
|
5
|
-
confirmLabel: string;
|
|
6
|
-
cancelLabel?: string;
|
|
7
|
-
confirmVariant?: Variant | null;
|
|
8
|
-
confirmEmphasis?: Emphasis | null;
|
|
9
|
-
processing?: boolean;
|
|
10
|
-
confirmDisabled?: boolean;
|
|
11
|
-
onConfirm: () => void;
|
|
12
|
-
onCancel: () => void;
|
|
13
|
-
}): import("react").JSX.Element;
|