@lattice-php/lattice 0.19.0 → 0.21.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/dist/action/components/action-form.d.ts +6 -1
- package/dist/action/components/action-form.js +34 -49
- package/dist/action/components/action-form.js.map +1 -1
- package/dist/action/components/action-trigger-provider.d.ts +1 -1
- package/dist/action/components/action-trigger-provider.js.map +1 -1
- package/dist/action/hooks/use-action.d.ts +1 -1
- package/dist/action/hooks/use-action.js +3 -1
- package/dist/action/hooks/use-action.js.map +1 -1
- package/dist/action/index.d.ts +0 -2
- package/dist/action/index.js +1 -2
- package/dist/chat/plugin.d.ts +0 -1
- package/dist/chat/plugin.js.map +1 -1
- package/dist/clipboard/index.d.ts +0 -4
- package/dist/clipboard/index.js +1 -15
- package/dist/{events → core}/event-names.js +1 -1
- package/dist/core/event-names.js.map +1 -0
- package/dist/core/hooks/use-window-event.d.ts +8 -0
- package/dist/core/hooks/use-window-event.js +22 -0
- package/dist/core/hooks/use-window-event.js.map +1 -0
- package/dist/core/index.js +1 -1
- package/dist/core/types.d.ts +8 -61
- package/dist/create-app.d.ts +31 -3
- package/dist/create-app.js +48 -10
- package/dist/create-app.js.map +1 -1
- package/dist/effects/dispatch.js +1 -1
- package/dist/effects/dispatch.js.map +1 -1
- package/dist/effects/registry.d.ts +2 -18
- package/dist/effects/registry.js +5 -9
- package/dist/effects/registry.js.map +1 -1
- package/dist/event-bridge.js +10 -23
- package/dist/event-bridge.js.map +1 -1
- package/dist/form/components/base/field.d.ts +2 -2
- package/dist/form/components/base/field.js +2 -2
- package/dist/form/components/base/field.js.map +1 -1
- package/dist/form/components/fields/color-picker-field.d.ts +2 -0
- package/dist/form/components/fields/color-picker-field.js +57 -0
- package/dist/form/components/fields/color-picker-field.js.map +1 -0
- package/dist/form/components/fields/date-input.js +1 -1
- package/dist/form/components/fields/date-time-input.js +1 -1
- package/dist/form/components/fields/file-upload.js +11 -18
- package/dist/form/components/fields/file-upload.js.map +1 -1
- package/dist/form/components/fields/number-input.js +1 -1
- package/dist/form/components/fields/rich-editor-field.js +35 -276
- package/dist/form/components/fields/rich-editor-field.js.map +1 -1
- package/dist/form/components/fields/row-action-menu.js +2 -2
- package/dist/form/components/fields/row-action-menu.js.map +1 -1
- package/dist/form/components/fields/row-actions.js +3 -1
- package/dist/form/components/fields/row-actions.js.map +1 -1
- package/dist/form/components/fields/select.js +60 -17
- package/dist/form/components/fields/select.js.map +1 -1
- package/dist/form/components/fields/table-rows.js +5 -17
- package/dist/form/components/fields/table-rows.js.map +1 -1
- package/dist/form/components/fields/text-input.js +8 -1
- package/dist/form/components/fields/text-input.js.map +1 -1
- package/dist/form/components/fields/time-input.js +1 -1
- package/dist/form/components/form.js +8 -23
- package/dist/form/components/form.js.map +1 -1
- package/dist/form/components/index.d.ts +1 -0
- package/dist/form/components/index.js +2 -1
- package/dist/form/embed.d.ts +5 -0
- package/dist/form/embed.js +4 -1
- package/dist/form/hooks/use-form-resolver.js.map +1 -1
- package/dist/form/index.js +2 -1
- package/dist/form/lib/collect-fields.d.ts +7 -0
- package/dist/form/lib/collect-fields.js +19 -0
- package/dist/form/lib/collect-fields.js.map +1 -0
- package/dist/form/lib/conditions.d.ts +4 -10
- package/dist/form/lib/conditions.js.map +1 -1
- package/dist/form/lib/field-errors.d.ts +3 -0
- package/dist/form/lib/field-errors.js +11 -0
- package/dist/form/lib/field-errors.js.map +1 -0
- package/dist/form/lib/field-props.d.ts +4 -18
- package/dist/form/lib/field-props.js.map +1 -1
- package/dist/form/plugin.js +2 -0
- package/dist/form/plugin.js.map +1 -1
- package/dist/form/rich-editor/builtins.d.ts +6 -0
- package/dist/form/rich-editor/builtins.js +400 -0
- package/dist/form/rich-editor/builtins.js.map +1 -0
- package/dist/form/rich-editor/index.d.ts +7 -0
- package/dist/form/rich-editor/index.js +3 -0
- package/dist/form/rich-editor/registry.d.ts +67 -0
- package/dist/form/rich-editor/registry.js +79 -0
- package/dist/form/rich-editor/registry.js.map +1 -0
- package/dist/form/rich-editor/toolbar-button.d.ts +12 -0
- package/dist/form/rich-editor/toolbar-button.js +28 -0
- package/dist/form/rich-editor/toolbar-button.js.map +1 -0
- package/dist/form/types.d.ts +1 -6
- package/dist/format/date-time.d.ts +3 -2
- package/dist/format/date-time.js.map +1 -1
- package/dist/format/format-context.d.ts +6 -0
- package/dist/format/format-context.js +17 -0
- package/dist/format/format-context.js.map +1 -0
- package/dist/i18n/date-time.d.ts +3 -2
- package/dist/i18n/date-time.js.map +1 -1
- package/dist/i18n/index.js +3 -2
- package/dist/i18n/locale-reload.d.ts +1 -1
- package/dist/i18n/locale-reload.js +7 -6
- package/dist/i18n/locale-reload.js.map +1 -1
- package/dist/i18n/locale.js +1 -1
- package/dist/i18n/locale.js.map +1 -1
- package/dist/i18n/page-props.d.ts +3 -2
- package/dist/i18n/page-props.js +1 -15
- package/dist/i18n/page-props.js.map +1 -1
- package/dist/i18n/shared-props.d.ts +7 -0
- package/dist/i18n/shared-props.js +23 -0
- package/dist/i18n/shared-props.js.map +1 -0
- package/dist/i18n/timezone.js +1 -1
- package/dist/i18n/timezone.js.map +1 -1
- package/dist/index.d.ts +11 -10
- package/dist/index.js +5 -5
- package/dist/lattice.css +212 -47
- package/dist/layout/components/breadcrumbs.js +3 -1
- package/dist/layout/components/breadcrumbs.js.map +1 -1
- package/dist/layout/components/sidebar.js +15 -48
- package/dist/layout/components/sidebar.js.map +1 -1
- package/dist/layout/plugin.d.ts +0 -1
- package/dist/layout/plugin.js.map +1 -1
- package/dist/lib/color.d.ts +9 -0
- package/dist/lib/color.js +48 -0
- package/dist/lib/color.js.map +1 -0
- package/dist/lib/is-truthy.d.ts +2 -0
- package/dist/lib/is-truthy.js +9 -0
- package/dist/lib/is-truthy.js.map +1 -0
- package/dist/lib/use-debounced-callback.d.ts +10 -0
- package/dist/lib/use-debounced-callback.js +34 -0
- package/dist/lib/use-debounced-callback.js.map +1 -0
- package/dist/lib/use-media-query.d.ts +5 -0
- package/dist/lib/use-media-query.js +26 -0
- package/dist/lib/use-media-query.js.map +1 -0
- package/dist/lib/use-persistent-state.d.ts +13 -0
- package/dist/lib/use-persistent-state.js +62 -0
- package/dist/lib/use-persistent-state.js.map +1 -0
- package/dist/notifications/api.d.ts +6 -6
- package/dist/notifications/api.js.map +1 -1
- package/dist/notifications/components/notifications.js +3 -1
- package/dist/notifications/components/notifications.js.map +1 -1
- package/dist/notifications/plugin.d.ts +0 -1
- package/dist/notifications/plugin.js.map +1 -1
- package/dist/notifications/types.d.ts +2 -10
- package/dist/provider-base.js +1 -1
- package/dist/realtime/build-effects.js +5 -5
- package/dist/realtime/build-effects.js.map +1 -1
- package/dist/realtime/listeners.d.ts +2 -2
- package/dist/realtime/listeners.js +1 -1
- package/dist/realtime/listeners.js.map +1 -1
- package/dist/realtime/subscriptions.d.ts +2 -2
- package/dist/realtime/subscriptions.js.map +1 -1
- package/dist/registry.d.ts +5 -0
- package/dist/registry.js.map +1 -1
- package/dist/remote/components/data-list.js +1 -1
- package/dist/remote/plugin.d.ts +0 -1
- package/dist/remote/plugin.js.map +1 -1
- package/dist/table/components/bulk-bar.js +7 -5
- package/dist/table/components/bulk-bar.js.map +1 -1
- package/dist/table/components/cells/badge-cell.js +4 -1
- package/dist/table/components/cells/badge-cell.js.map +1 -1
- package/dist/table/components/cells/boolean-cell.js +4 -4
- package/dist/table/components/cells/boolean-cell.js.map +1 -1
- package/dist/table/components/cells/copyable-cell.d.ts +9 -0
- package/dist/table/components/cells/copyable-cell.js +17 -0
- package/dist/table/components/cells/copyable-cell.js.map +1 -0
- package/dist/table/components/cells/icon-cell.js +5 -2
- package/dist/table/components/cells/icon-cell.js.map +1 -1
- package/dist/table/components/cells/image-cell.js +8 -9
- package/dist/table/components/cells/image-cell.js.map +1 -1
- package/dist/table/components/cells/money-cell.js +7 -10
- package/dist/table/components/cells/money-cell.js.map +1 -1
- package/dist/table/components/cells/number-cell.js +14 -19
- package/dist/table/components/cells/number-cell.js.map +1 -1
- package/dist/table/components/cells/numeric-cell.d.ts +10 -0
- package/dist/table/components/cells/numeric-cell.js +25 -0
- package/dist/table/components/cells/numeric-cell.js.map +1 -0
- package/dist/table/components/cells/stack-cell.js +1 -1
- package/dist/table/components/cells/text-cell.js +8 -6
- package/dist/table/components/cells/text-cell.js.map +1 -1
- package/dist/table/components/column-filter-control.js +25 -32
- package/dist/table/components/column-filter-control.js.map +1 -1
- package/dist/table/components/column-header.d.ts +3 -3
- package/dist/table/components/column-header.js +5 -3
- package/dist/table/components/column-header.js.map +1 -1
- package/dist/table/components/column-visibility-menu.js +6 -11
- package/dist/table/components/column-visibility-menu.js.map +1 -1
- package/dist/table/components/filter-bar.d.ts +2 -2
- package/dist/table/components/filter-bar.js +13 -22
- package/dist/table/components/filter-bar.js.map +1 -1
- package/dist/table/components/filter-controls.d.ts +2 -1
- package/dist/table/components/filter-controls.js +37 -38
- package/dist/table/components/filter-controls.js.map +1 -1
- package/dist/table/components/filter-value-input.d.ts +0 -1
- package/dist/table/components/filter-value-input.js +21 -20
- package/dist/table/components/filter-value-input.js.map +1 -1
- package/dist/table/components/pagination.js +16 -20
- package/dist/table/components/pagination.js.map +1 -1
- package/dist/table/components/sort-bar.d.ts +3 -3
- package/dist/table/components/sort-bar.js +11 -12
- package/dist/table/components/sort-bar.js.map +1 -1
- package/dist/table/components/table-cell.js.map +1 -1
- package/dist/table/components/table-search.d.ts +9 -0
- package/dist/table/components/table-search.js +72 -0
- package/dist/table/components/table-search.js.map +1 -0
- package/dist/table/components/table.js +73 -21
- package/dist/table/components/table.js.map +1 -1
- package/dist/table/hooks/use-column-visibility.js +29 -58
- package/dist/table/hooks/use-column-visibility.js.map +1 -1
- package/dist/table/hooks/use-expanded-rows.d.ts +8 -0
- package/dist/table/hooks/use-expanded-rows.js +24 -0
- package/dist/table/hooks/use-expanded-rows.js.map +1 -0
- package/dist/table/hooks/use-table.d.ts +5 -3
- package/dist/table/hooks/use-table.js +59 -55
- package/dist/table/hooks/use-table.js.map +1 -1
- package/dist/table/lib/bulk.d.ts +2 -0
- package/dist/table/lib/bulk.js +3 -1
- package/dist/table/lib/bulk.js.map +1 -1
- package/dist/table/lib/payload.d.ts +3 -2
- package/dist/table/lib/payload.js +16 -10
- package/dist/table/lib/payload.js.map +1 -1
- package/dist/table/lib/query.d.ts +5 -5
- package/dist/table/lib/query.js +21 -19
- package/dist/table/lib/query.js.map +1 -1
- package/dist/table/plugin.d.ts +0 -1
- package/dist/table/plugin.js.map +1 -1
- package/dist/table/types.d.ts +5 -81
- package/dist/toast/callout.js +2 -4
- package/dist/toast/callout.js.map +1 -1
- package/dist/toast/index.d.ts +1 -1
- package/dist/toast/index.js +2 -2
- package/dist/toast/toast.d.ts +1 -7
- package/dist/toast/toast.js +3 -15
- package/dist/toast/toast.js.map +1 -1
- package/dist/toast/toaster.js.map +1 -1
- package/dist/types/generated.d.ts +444 -225
- package/dist/types/index.d.ts +1 -1
- package/dist/ui/affix-group.d.ts +2 -1
- package/dist/ui/affix-group.js +9 -7
- package/dist/ui/affix-group.js.map +1 -1
- package/dist/ui/avatar.d.ts +3 -0
- package/dist/ui/avatar.js +52 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/button.d.ts +5 -3
- package/dist/ui/button.js +10 -3
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/chart-view.js +155 -28
- package/dist/ui/chart-view.js.map +1 -1
- package/dist/ui/click-behavior.d.ts +4 -4
- package/dist/ui/click-behavior.js.map +1 -1
- package/dist/ui/collapsible.js +3 -15
- package/dist/ui/collapsible.js.map +1 -1
- package/dist/ui/color-picker.d.ts +8 -0
- package/dist/ui/color-picker.js +59 -0
- package/dist/ui/color-picker.js.map +1 -0
- package/dist/ui/combobox.d.ts +11 -2
- package/dist/ui/combobox.js +57 -11
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/confirm-dialog.js +1 -1
- package/dist/ui/confirm-dialog.js.map +1 -1
- package/dist/ui/control.d.ts +1 -1
- package/dist/ui/copyable-text.d.ts +7 -0
- package/dist/ui/copyable-text.js +21 -13
- package/dist/ui/copyable-text.js.map +1 -1
- package/dist/ui/dialog.d.ts +6 -2
- package/dist/ui/dialog.js +29 -5
- package/dist/ui/dialog.js.map +1 -1
- package/dist/ui/fragment.js +1 -1
- package/dist/ui/fragment.js.map +1 -1
- package/dist/ui/heading.js +39 -21
- package/dist/ui/heading.js.map +1 -1
- package/dist/ui/icon-button.d.ts +22 -0
- package/dist/ui/icon-button.js +51 -0
- package/dist/ui/icon-button.js.map +1 -0
- package/dist/ui/icon.js +10 -11
- package/dist/ui/icon.js.map +1 -1
- package/dist/ui/image-preview.d.ts +12 -0
- package/dist/ui/image-preview.js +65 -0
- package/dist/ui/image-preview.js.map +1 -0
- package/dist/ui/image.d.ts +3 -0
- package/dist/ui/image.js +21 -0
- package/dist/ui/image.js.map +1 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.js +4 -3
- package/dist/ui/info-tooltip.js +1 -1
- package/dist/ui/info-tooltip.js.map +1 -1
- package/dist/ui/input.d.ts +3 -1
- package/dist/ui/input.js +2 -2
- package/dist/ui/input.js.map +1 -1
- package/dist/ui/modal.js +17 -4
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/native-select.d.ts +10 -0
- package/dist/ui/native-select.js +23 -0
- package/dist/ui/native-select.js.map +1 -0
- package/dist/ui/pill.d.ts +2 -0
- package/dist/ui/pill.js +10 -0
- package/dist/ui/pill.js.map +1 -0
- package/dist/ui/plugin.js +11 -1
- package/dist/ui/plugin.js.map +1 -1
- package/dist/ui/progress.d.ts +3 -0
- package/dist/ui/progress.js +114 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/section.js +2 -15
- package/dist/ui/section.js.map +1 -1
- package/dist/ui/segmented-pills.js +2 -1
- package/dist/ui/segmented-pills.js.map +1 -1
- package/dist/ui/separator.d.ts +3 -0
- package/dist/ui/separator.js +15 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/tabs.js +12 -10
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/text.js +5 -10
- package/dist/ui/text.js.map +1 -1
- package/dist/ui/tree-context.d.ts +33 -0
- package/dist/ui/tree-context.js +135 -0
- package/dist/ui/tree-context.js.map +1 -0
- package/dist/ui/tree.d.ts +19 -0
- package/dist/ui/tree.js +187 -0
- package/dist/ui/tree.js.map +1 -0
- package/dist/ui/use-collapsible-state.d.ts +7 -0
- package/dist/ui/use-collapsible-state.js +21 -0
- package/dist/ui/use-collapsible-state.js.map +1 -0
- package/dist-standalone/chunks/chart-view-C6R5iPra.js +36 -0
- package/dist-standalone/chunks/date-picker-field-DhhEB-Mh.js +1 -0
- package/dist-standalone/chunks/jsx-runtime-Drll_-DD.js +1 -0
- package/dist-standalone/chunks/locale-CXqr7LPR.js +1 -0
- package/dist-standalone/chunks/page-props-DOfg30l5.js +1 -0
- package/dist-standalone/chunks/rich-editor-field-DORXTHPw.js +154 -0
- package/dist-standalone/chunks/{subscriptions-B3UuDBmx.js → subscriptions-B_ISgA7V.js} +1 -1
- package/dist-standalone/chunks/use-effect-dispatcher-D1wPPwHj.js +97 -0
- package/dist-standalone/lattice.css +1 -1
- package/dist-standalone/lattice.js +15 -15
- package/dist-standalone/manifest.json +11 -9
- package/dist-standalone/sprite.svg +1 -1
- package/package.json +6 -1
- package/resources/icons/code-xml.svg +17 -0
- package/resources/icons/heading.svg +17 -0
- package/dist/clipboard/index.js.map +0 -1
- package/dist/events/event-names.js.map +0 -1
- package/dist/table/components/table-action-node.d.ts +0 -4
- package/dist/table/components/table-action-node.js +0 -24
- package/dist/table/components/table-action-node.js.map +0 -1
- package/dist-standalone/chunks/chart-view-CK5fKIkR.js +0 -36
- package/dist-standalone/chunks/date-picker-field-BlCPFhZd.js +0 -1
- package/dist-standalone/chunks/jsx-runtime-CJ_btYLc.js +0 -1
- package/dist-standalone/chunks/rich-editor-field-DH5dS5c1.js +0 -154
- package/dist-standalone/chunks/use-effect-dispatcher-k98Nzf9M.js +0 -97
- /package/dist/{events → core}/event-names.d.ts +0 -0
|
@@ -1,11 +1,116 @@
|
|
|
1
|
+
export type NodeProps = Record<string, unknown>;
|
|
2
|
+
export type CommonNodeProps = {
|
|
3
|
+
dataBindings?: Record<string, string> | null;
|
|
4
|
+
hideWhenCollapsed?: boolean | null;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Augmentable map of wire `type` string → props for consumer components. Apps
|
|
8
|
+
* extend it via `declare module "@lattice-php/lattice"` so their custom components
|
|
9
|
+
* gain strong prop types; the entries are generated by `php artisan lattice:typescript`.
|
|
10
|
+
* Built-in components resolve through the generated `ComponentPropsMap` below.
|
|
11
|
+
* Types in neither fall back to a loose bag.
|
|
12
|
+
*/
|
|
13
|
+
export interface ComponentProps {
|
|
14
|
+
}
|
|
15
|
+
/** The column counterpart of `ComponentProps`. */
|
|
16
|
+
export interface ColumnProps {
|
|
17
|
+
}
|
|
18
|
+
/** The filter counterpart of `ComponentProps`. */
|
|
19
|
+
export interface FilterProps {
|
|
20
|
+
}
|
|
21
|
+
/** The effect counterpart of `ComponentProps`. */
|
|
22
|
+
export interface EffectProps {
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolves a `type` string to its payload: consumer augmentations (`TAugment`)
|
|
26
|
+
* win over generated built-ins (`TBuiltins`), then a loose fallback. The one
|
|
27
|
+
* resolver behind the component, column, filter and effect maps.
|
|
28
|
+
*/
|
|
29
|
+
export type ResolveProps<TAugment, TBuiltins, TType extends string, TFallback> = TType extends keyof TAugment ? TAugment[TType] : TType extends keyof TBuiltins ? TBuiltins[TType] : TFallback;
|
|
30
|
+
export type ComponentPropsOf<TType extends string> = ResolveProps<ComponentProps, ComponentPropsMap, TType, NodeProps> & CommonNodeProps;
|
|
31
|
+
/**
|
|
32
|
+
* The loose wire node an unknown/untyped `type` resolves to: the shape every node
|
|
33
|
+
* shares, with a loose `props` bag. The single source of the wire-node shape —
|
|
34
|
+
* `Node` (i.e. `Node<string>`) is this.
|
|
35
|
+
*/
|
|
36
|
+
type LooseNode = {
|
|
37
|
+
id?: string;
|
|
38
|
+
key?: string;
|
|
39
|
+
type: string;
|
|
40
|
+
props?: NodeProps;
|
|
41
|
+
schema?: Schema;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Built-in `props` is required, not optional — the wire serializes the full prop
|
|
45
|
+
* object, so reads need no optional chaining. Unknown types fall back to `LooseNode`.
|
|
46
|
+
*/
|
|
47
|
+
export type Node<TType extends string = string> = string extends TType ? LooseNode : {
|
|
48
|
+
id?: string;
|
|
49
|
+
key?: string;
|
|
50
|
+
props: ComponentPropsOf<TType>;
|
|
51
|
+
schema?: Schema;
|
|
52
|
+
type: TType;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Distributes so `NodeUnionOf<"a" | "b">` is `Node<"a"> | Node<"b">` — a
|
|
56
|
+
* discriminated union where `node.type` narrows `node.props`. Domains build
|
|
57
|
+
* their node union from a generated `…NodeType` string union with this.
|
|
58
|
+
*/
|
|
59
|
+
export type NodeUnionOf<TTypes extends string> = TTypes extends string ? Node<TTypes> : never;
|
|
60
|
+
export type Schema = Node[];
|
|
61
|
+
/**
|
|
62
|
+
* The generated `Column` base props (serialized by every column regardless of
|
|
63
|
+
* type) back the fallback, so even an unaugmented custom column keeps its
|
|
64
|
+
* common concerns typed.
|
|
65
|
+
*/
|
|
66
|
+
export type ColumnPropsOf<TType extends string> = ResolveProps<ColumnProps, ColumnPropsMap, TType, Column & Record<string, unknown>>;
|
|
67
|
+
export type CommonColumnProps = Column;
|
|
68
|
+
/**
|
|
69
|
+
* A column node, authored and consumed like a field/component: `key`/`type`
|
|
70
|
+
* stay top-level, every common concern (`label`/`width`/`filter`/…) lives in
|
|
71
|
+
* `props` on each generated column type. `schema` is only present for a
|
|
72
|
+
* container column: the bound component nodes rendered per row. The column
|
|
73
|
+
* counterpart of `Node`.
|
|
74
|
+
*/
|
|
75
|
+
export type ColumnNode<TType extends string = string> = {
|
|
76
|
+
type: TType;
|
|
77
|
+
key: string;
|
|
78
|
+
props: ColumnPropsOf<TType>;
|
|
79
|
+
schema?: Schema;
|
|
80
|
+
};
|
|
81
|
+
export type FilterPropsOf<TType extends string> = ResolveProps<FilterProps, FilterPropsMap, TType, Filter & Record<string, unknown>>;
|
|
82
|
+
/**
|
|
83
|
+
* A dedicated table filter, authored and consumed like a field/component:
|
|
84
|
+
* `key`/`type` stay top-level, `props` carries `label` plus whatever the
|
|
85
|
+
* filter type contributes. `schema` is the bound field(s) rendering the
|
|
86
|
+
* filter's control and is absent when empty. The filter counterpart of
|
|
87
|
+
* `ColumnNode`.
|
|
88
|
+
*/
|
|
89
|
+
export type FilterNode<TType extends string = string> = {
|
|
90
|
+
type: TType;
|
|
91
|
+
key: string;
|
|
92
|
+
props: FilterPropsOf<TType>;
|
|
93
|
+
schema?: Schema;
|
|
94
|
+
};
|
|
95
|
+
export type EffectPropsOf<TType extends string> = ResolveProps<EffectProps, EffectPropsMap, TType, Record<string, unknown>>;
|
|
96
|
+
/**
|
|
97
|
+
* Deliberate exception to the `XNode` naming: an effect is a `{type, props}`
|
|
98
|
+
* envelope without id/key/schema — it is not a node.
|
|
99
|
+
*/
|
|
100
|
+
export type EffectOf<TType extends string> = string extends TType ? Effect : {
|
|
101
|
+
type: TType;
|
|
102
|
+
props: EffectPropsOf<TType>;
|
|
103
|
+
};
|
|
1
104
|
export type Action = {
|
|
2
105
|
confirmation: Confirmation | null;
|
|
3
106
|
endpoint: string | null;
|
|
4
|
-
form:
|
|
107
|
+
form: Node<"form"> | null;
|
|
5
108
|
icon: string | null;
|
|
6
109
|
label: string | null;
|
|
7
110
|
lazyForm: boolean;
|
|
8
111
|
method: HttpMethod | null;
|
|
112
|
+
modalSide: Side | null;
|
|
113
|
+
modalWidth: ModalWidth | null;
|
|
9
114
|
ref: string | null;
|
|
10
115
|
variant: ButtonVariant | null;
|
|
11
116
|
};
|
|
@@ -16,7 +121,6 @@ export type ActionGroup = {
|
|
|
16
121
|
};
|
|
17
122
|
export type ActionNodeType = "action" | "action.bulk" | "action.group";
|
|
18
123
|
export type ActionResult = {
|
|
19
|
-
readonly ok: boolean;
|
|
20
124
|
readonly data: Record<string, unknown>;
|
|
21
125
|
readonly effects: Effect[];
|
|
22
126
|
};
|
|
@@ -25,12 +129,17 @@ export type Affix = {
|
|
|
25
129
|
readonly text: string | null;
|
|
26
130
|
};
|
|
27
131
|
export type Align = "center" | "left" | "start" | "stretch";
|
|
132
|
+
export type Avatar = {
|
|
133
|
+
name: string | null;
|
|
134
|
+
size: Size;
|
|
135
|
+
src: string | null;
|
|
136
|
+
};
|
|
28
137
|
export type Badge = {
|
|
29
138
|
label: string;
|
|
30
139
|
};
|
|
31
140
|
export type BadgeColumn = {
|
|
32
141
|
align: ColumnAlign;
|
|
33
|
-
colors: Record<string | number,
|
|
142
|
+
colors: Record<string | number, Color> | null;
|
|
34
143
|
filter: ColumnFilter | null;
|
|
35
144
|
hiddenByDefault: boolean;
|
|
36
145
|
label: string | null;
|
|
@@ -47,23 +156,22 @@ export type BooleanColumn = {
|
|
|
47
156
|
toggleable: boolean;
|
|
48
157
|
width: ColumnWidth;
|
|
49
158
|
};
|
|
159
|
+
export type Breadcrumb = {
|
|
160
|
+
readonly href: string;
|
|
161
|
+
readonly title: string;
|
|
162
|
+
};
|
|
50
163
|
export type Breadcrumbs = Record<string, never>;
|
|
51
164
|
export type BrowserToken = {
|
|
52
165
|
readonly accessToken: string;
|
|
53
|
-
readonly tokenType: string;
|
|
54
|
-
readonly expiresIn: number;
|
|
55
166
|
readonly audience: string;
|
|
167
|
+
readonly expiresIn: number;
|
|
56
168
|
readonly scopes: string[];
|
|
169
|
+
readonly tokenType: string;
|
|
57
170
|
};
|
|
58
171
|
export type Builder = {
|
|
59
172
|
addLabel: string | null;
|
|
60
173
|
columnWidth: ColumnWidth;
|
|
61
|
-
conditions:
|
|
62
|
-
visible?: Condition[];
|
|
63
|
-
required?: Condition[];
|
|
64
|
-
readOnly?: Condition[];
|
|
65
|
-
disabled?: Condition[];
|
|
66
|
-
} | null;
|
|
174
|
+
conditions: FieldConditions | null;
|
|
67
175
|
defaultItems: number;
|
|
68
176
|
dependsOnAny: boolean;
|
|
69
177
|
dependsOnKeys: string[] | null;
|
|
@@ -89,16 +197,18 @@ export type Builder = {
|
|
|
89
197
|
export type BulkAction = {
|
|
90
198
|
confirmation: Confirmation | null;
|
|
91
199
|
endpoint: string | null;
|
|
92
|
-
form:
|
|
200
|
+
form: Node<"form"> | null;
|
|
93
201
|
icon: string | null;
|
|
94
202
|
label: string | null;
|
|
95
203
|
lazyForm: boolean;
|
|
96
204
|
method: HttpMethod | null;
|
|
205
|
+
modalSide: Side | null;
|
|
206
|
+
modalWidth: ModalWidth | null;
|
|
97
207
|
ref: string | null;
|
|
98
208
|
variant: ButtonVariant | null;
|
|
99
209
|
};
|
|
100
210
|
export type Button = {
|
|
101
|
-
action:
|
|
211
|
+
action: Node<"action"> | Node<"action.bulk"> | null;
|
|
102
212
|
buttonType: ButtonType;
|
|
103
213
|
effects: Effect[];
|
|
104
214
|
href: string | null;
|
|
@@ -110,14 +220,11 @@ export type Button = {
|
|
|
110
220
|
export type ButtonType = "button" | "submit" | "reset";
|
|
111
221
|
export type ButtonVariant = "default" | "destructive" | "ghost" | "info" | "link" | "outline" | "secondary" | "success";
|
|
112
222
|
export type Callout = {
|
|
113
|
-
|
|
223
|
+
action: Node | null;
|
|
114
224
|
dismissible: boolean;
|
|
115
|
-
action: WireNode | null;
|
|
116
|
-
variant: Variant;
|
|
117
225
|
message: string;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
readonly callout: Callout;
|
|
226
|
+
title: string | null;
|
|
227
|
+
variant: Variant;
|
|
121
228
|
};
|
|
122
229
|
export type Callouts = Record<string, never>;
|
|
123
230
|
export type Card = {
|
|
@@ -142,14 +249,16 @@ export type Chart = {
|
|
|
142
249
|
yAxis: boolean;
|
|
143
250
|
};
|
|
144
251
|
export type ChartSeries = {
|
|
145
|
-
readonly
|
|
252
|
+
readonly color: Color | null;
|
|
146
253
|
readonly dataKey: string;
|
|
147
|
-
readonly
|
|
148
|
-
readonly
|
|
149
|
-
readonly
|
|
254
|
+
readonly innerRadius: string;
|
|
255
|
+
readonly maxValue: number | null;
|
|
256
|
+
readonly name: string;
|
|
150
257
|
readonly nameKey: string | null;
|
|
258
|
+
readonly stackId: string | null;
|
|
259
|
+
readonly type: ChartSeriesType;
|
|
151
260
|
};
|
|
152
|
-
export type ChartSeriesType = "area" | "bar" | "line" | "pie";
|
|
261
|
+
export type ChartSeriesType = "area" | "bar" | "distribution" | "gauge" | "line" | "pie";
|
|
153
262
|
export type ChatBox = {
|
|
154
263
|
fill: boolean;
|
|
155
264
|
historyEndpoint: string | null;
|
|
@@ -160,19 +269,15 @@ export type ChatBox = {
|
|
|
160
269
|
};
|
|
161
270
|
export type ChatMessage = {
|
|
162
271
|
readonly id: string;
|
|
272
|
+
readonly parts: Node[];
|
|
163
273
|
readonly role: ChatRole;
|
|
164
|
-
readonly parts: WireNode[];
|
|
165
274
|
};
|
|
275
|
+
export type ChatNodeType = "chat.box" | "chat.part.text" | "chat.part.tool-call";
|
|
166
276
|
export type ChatRole = "user" | "assistant" | "system";
|
|
167
277
|
export type Checkbox = {
|
|
168
278
|
autoFocus: boolean;
|
|
169
279
|
columnWidth: ColumnWidth;
|
|
170
|
-
conditions:
|
|
171
|
-
visible?: Condition[];
|
|
172
|
-
required?: Condition[];
|
|
173
|
-
readOnly?: Condition[];
|
|
174
|
-
disabled?: Condition[];
|
|
175
|
-
} | null;
|
|
280
|
+
conditions: FieldConditions | null;
|
|
176
281
|
dependsOnAny: boolean;
|
|
177
282
|
dependsOnKeys: string[] | null;
|
|
178
283
|
disabled: boolean;
|
|
@@ -191,12 +296,7 @@ export type Checkbox = {
|
|
|
191
296
|
export type Choice = {
|
|
192
297
|
autoFocus: boolean;
|
|
193
298
|
columnWidth: ColumnWidth;
|
|
194
|
-
conditions:
|
|
195
|
-
visible?: Condition[];
|
|
196
|
-
required?: Condition[];
|
|
197
|
-
readOnly?: Condition[];
|
|
198
|
-
disabled?: Condition[];
|
|
199
|
-
} | null;
|
|
299
|
+
conditions: FieldConditions | null;
|
|
200
300
|
dependsOnAny: boolean;
|
|
201
301
|
dependsOnKeys: string[] | null;
|
|
202
302
|
disabled: boolean;
|
|
@@ -213,36 +313,71 @@ export type Choice = {
|
|
|
213
313
|
tooltip: string | null;
|
|
214
314
|
value: unknown;
|
|
215
315
|
};
|
|
216
|
-
export type
|
|
316
|
+
export type CloseModal = {
|
|
217
317
|
readonly modal: string | null;
|
|
218
318
|
};
|
|
219
319
|
export type Collapsible = {
|
|
220
320
|
collapsed: boolean;
|
|
221
321
|
rememberState: boolean;
|
|
222
322
|
tooltip: string | null;
|
|
223
|
-
trigger:
|
|
323
|
+
trigger: Node[];
|
|
324
|
+
};
|
|
325
|
+
export type Color = {
|
|
326
|
+
readonly dark: string | null;
|
|
327
|
+
readonly kind: ColorKind;
|
|
328
|
+
readonly value: string;
|
|
329
|
+
};
|
|
330
|
+
export type ColorKind = "named" | "css";
|
|
331
|
+
export type ColorName = "default" | "muted" | "primary" | "success" | "info" | "warning" | "danger" | "gray" | "red" | "orange" | "yellow" | "green" | "blue" | "purple";
|
|
332
|
+
export type ColorPicker = {
|
|
333
|
+
columnWidth: ColumnWidth;
|
|
334
|
+
conditions: FieldConditions | null;
|
|
335
|
+
dependsOnAny: boolean;
|
|
336
|
+
dependsOnKeys: string[] | null;
|
|
337
|
+
disabled: boolean;
|
|
338
|
+
editablePrefill: boolean;
|
|
339
|
+
helperText: string | null;
|
|
340
|
+
label: string | null;
|
|
341
|
+
name: string;
|
|
342
|
+
palette: string[];
|
|
343
|
+
placeholder: string | null;
|
|
344
|
+
prefillRefreshOn: string[] | null;
|
|
345
|
+
prefillResetOn: string[] | null;
|
|
346
|
+
readOnly: boolean;
|
|
347
|
+
required: boolean;
|
|
348
|
+
tooltip: string | null;
|
|
349
|
+
value: unknown;
|
|
350
|
+
};
|
|
351
|
+
export type Column = {
|
|
352
|
+
align: ColumnAlign;
|
|
353
|
+
filter: ColumnFilter | null;
|
|
354
|
+
hiddenByDefault: boolean;
|
|
355
|
+
label: string | null;
|
|
356
|
+
sortable: boolean;
|
|
357
|
+
toggleable: boolean;
|
|
358
|
+
width: ColumnWidth;
|
|
224
359
|
};
|
|
225
|
-
export type Color = "default" | "muted" | "primary" | "success" | "info" | "warning" | "danger";
|
|
226
360
|
export type ColumnAlign = "start" | "center" | "end";
|
|
227
361
|
export type ColumnFilter = {
|
|
228
|
-
readonly
|
|
229
|
-
readonly operators: Op[];
|
|
230
|
-
readonly defaultOperator: Op;
|
|
362
|
+
readonly clauseOptions: ColumnFilterOption[];
|
|
231
363
|
readonly control: FilterControl | null;
|
|
232
|
-
readonly
|
|
364
|
+
readonly defaultOperator: Op;
|
|
233
365
|
readonly multiple: boolean;
|
|
366
|
+
readonly operators: Op[];
|
|
367
|
+
readonly options: Option[];
|
|
234
368
|
readonly searchable: boolean;
|
|
235
|
-
readonly
|
|
369
|
+
readonly type: FilterType;
|
|
236
370
|
};
|
|
237
371
|
export type ColumnFilterOption = {
|
|
372
|
+
readonly clauses: ColumnFilterOptionClause[];
|
|
238
373
|
readonly label: string;
|
|
239
374
|
readonly value: string;
|
|
240
|
-
readonly clauses: ColumnFilterOptionClause[];
|
|
241
375
|
};
|
|
242
376
|
export type ColumnFilterOptionClause = {
|
|
243
377
|
readonly operator: Op;
|
|
244
378
|
readonly value: string;
|
|
245
379
|
};
|
|
380
|
+
export type ColumnNodeType = "column.badge" | "column.boolean" | "column.icon" | "column.image" | "column.money" | "column.number" | "column.stack" | "column.text";
|
|
246
381
|
export type ColumnPropsMap = {
|
|
247
382
|
"column.badge": BadgeColumn;
|
|
248
383
|
"column.boolean": BooleanColumn;
|
|
@@ -253,12 +388,12 @@ export type ColumnPropsMap = {
|
|
|
253
388
|
"column.stack": StackColumn;
|
|
254
389
|
"column.text": TextColumn;
|
|
255
390
|
};
|
|
256
|
-
export type ColumnType = "column.text" | "column.boolean" | "column.number" | "column.money" | "column.stack" | "column.badge" | "column.icon" | "column.image";
|
|
257
391
|
export type ColumnWidth = "xs" | "sm" | "md" | "lg" | "xl";
|
|
258
392
|
export type ComponentPropsMap = {
|
|
259
393
|
action: Action;
|
|
260
394
|
"action.bulk": BulkAction;
|
|
261
395
|
"action.group": ActionGroup;
|
|
396
|
+
avatar: Avatar;
|
|
262
397
|
badge: Badge;
|
|
263
398
|
breadcrumbs: Breadcrumbs;
|
|
264
399
|
button: Button;
|
|
@@ -273,6 +408,7 @@ export type ComponentPropsMap = {
|
|
|
273
408
|
"field.builder": Builder;
|
|
274
409
|
"field.checkbox": Checkbox;
|
|
275
410
|
"field.choice": Choice;
|
|
411
|
+
"field.color-picker": ColorPicker;
|
|
276
412
|
"field.date-input": DateInput;
|
|
277
413
|
"field.date-time-input": DateTimeInput;
|
|
278
414
|
"field.file-upload": FileUpload;
|
|
@@ -293,16 +429,19 @@ export type ComponentPropsMap = {
|
|
|
293
429
|
grid: Grid;
|
|
294
430
|
heading: Heading;
|
|
295
431
|
icon: Icon;
|
|
432
|
+
image: Image;
|
|
296
433
|
link: Link;
|
|
297
434
|
menu: Menu;
|
|
298
435
|
"menu-item": MenuItem;
|
|
299
436
|
modal: Modal;
|
|
300
437
|
notifications: Notifications;
|
|
301
438
|
outlet: Outlet;
|
|
439
|
+
progress: Progress;
|
|
302
440
|
"raw-block": RawBlock;
|
|
303
441
|
"remote.data-list": DataList;
|
|
304
442
|
section: Section;
|
|
305
443
|
"segmented-control": SegmentedControl;
|
|
444
|
+
separator: Separator;
|
|
306
445
|
sidebar: Sidebar;
|
|
307
446
|
stack: Stack;
|
|
308
447
|
tab: Tab;
|
|
@@ -311,6 +450,7 @@ export type ComponentPropsMap = {
|
|
|
311
450
|
text: Text;
|
|
312
451
|
tooltip: Tooltip;
|
|
313
452
|
topbar: Topbar;
|
|
453
|
+
tree: Tree;
|
|
314
454
|
};
|
|
315
455
|
export type Condition = {
|
|
316
456
|
readonly field: string;
|
|
@@ -318,10 +458,10 @@ export type Condition = {
|
|
|
318
458
|
readonly value: unknown;
|
|
319
459
|
};
|
|
320
460
|
export type Confirmation = {
|
|
321
|
-
readonly title: string;
|
|
322
|
-
readonly description: string | null;
|
|
323
|
-
readonly confirmLabel: string | null;
|
|
324
461
|
readonly cancelLabel: string | null;
|
|
462
|
+
readonly confirmLabel: string | null;
|
|
463
|
+
readonly description: string | null;
|
|
464
|
+
readonly title: string;
|
|
325
465
|
};
|
|
326
466
|
export type DataList = {
|
|
327
467
|
dataEndpoint: string | null;
|
|
@@ -329,21 +469,16 @@ export type DataList = {
|
|
|
329
469
|
remote: RemoteAccess | null;
|
|
330
470
|
};
|
|
331
471
|
export type DateFormat = {
|
|
472
|
+
dateStyle: DateTimeStyle | null;
|
|
332
473
|
kind: string;
|
|
333
|
-
dateStyle: string | null;
|
|
334
|
-
timeStyle: string | null;
|
|
335
474
|
month: string | null;
|
|
475
|
+
timeStyle: DateTimeStyle | null;
|
|
336
476
|
year: string | null;
|
|
337
477
|
};
|
|
338
478
|
export type DateInput = {
|
|
339
479
|
autoFocus: boolean;
|
|
340
480
|
columnWidth: ColumnWidth;
|
|
341
|
-
conditions:
|
|
342
|
-
visible?: Condition[];
|
|
343
|
-
required?: Condition[];
|
|
344
|
-
readOnly?: Condition[];
|
|
345
|
-
disabled?: Condition[];
|
|
346
|
-
} | null;
|
|
481
|
+
conditions: FieldConditions | null;
|
|
347
482
|
dependsOnAny: boolean;
|
|
348
483
|
dependsOnKeys: string[] | null;
|
|
349
484
|
disabled: boolean;
|
|
@@ -367,12 +502,7 @@ export type DateRangeFilter = {
|
|
|
367
502
|
export type DateTimeInput = {
|
|
368
503
|
autoFocus: boolean;
|
|
369
504
|
columnWidth: ColumnWidth;
|
|
370
|
-
conditions:
|
|
371
|
-
visible?: Condition[];
|
|
372
|
-
required?: Condition[];
|
|
373
|
-
readOnly?: Condition[];
|
|
374
|
-
disabled?: Condition[];
|
|
375
|
-
} | null;
|
|
505
|
+
conditions: FieldConditions | null;
|
|
376
506
|
convertTimezone: boolean;
|
|
377
507
|
dependsOnAny: boolean;
|
|
378
508
|
dependsOnKeys: string[] | null;
|
|
@@ -394,39 +524,93 @@ export type DateTimeInput = {
|
|
|
394
524
|
value: unknown;
|
|
395
525
|
};
|
|
396
526
|
export type DateTimeStyle = "full" | "long" | "medium" | "short";
|
|
397
|
-
export type
|
|
527
|
+
export type Download = {
|
|
398
528
|
readonly url: string;
|
|
399
529
|
};
|
|
400
530
|
export type Dropdown = {
|
|
401
531
|
placement: Placement;
|
|
402
|
-
trigger:
|
|
403
|
-
};
|
|
532
|
+
trigger: Node[];
|
|
533
|
+
};
|
|
534
|
+
export type EditorBlockquote = Record<string, never>;
|
|
535
|
+
export type EditorBold = Record<string, never>;
|
|
536
|
+
export type EditorBulletList = Record<string, never>;
|
|
537
|
+
export type EditorCode = Record<string, never>;
|
|
538
|
+
export type EditorCodeBlock = Record<string, never>;
|
|
539
|
+
export type EditorDetails = Record<string, never>;
|
|
540
|
+
export type EditorEmoji = {
|
|
541
|
+
emojis: string[];
|
|
542
|
+
};
|
|
543
|
+
export type EditorExtension = {
|
|
544
|
+
type: string;
|
|
545
|
+
props: Record<string, unknown>;
|
|
546
|
+
};
|
|
547
|
+
export type EditorExtensionPropsMap = {
|
|
548
|
+
blockquote: EditorBlockquote;
|
|
549
|
+
bold: EditorBold;
|
|
550
|
+
"bullet-list": EditorBulletList;
|
|
551
|
+
code: EditorCode;
|
|
552
|
+
"code-block": EditorCodeBlock;
|
|
553
|
+
details: EditorDetails;
|
|
554
|
+
emoji: EditorEmoji;
|
|
555
|
+
heading: EditorHeading;
|
|
556
|
+
highlight: EditorHighlight;
|
|
557
|
+
"horizontal-rule": EditorHorizontalRule;
|
|
558
|
+
italic: EditorItalic;
|
|
559
|
+
link: EditorLink;
|
|
560
|
+
"ordered-list": EditorOrderedList;
|
|
561
|
+
strike: EditorStrike;
|
|
562
|
+
table: EditorTable;
|
|
563
|
+
"text-align": EditorTextAlign;
|
|
564
|
+
underline: EditorUnderline;
|
|
565
|
+
};
|
|
566
|
+
export type EditorHeading = {
|
|
567
|
+
levels: number[];
|
|
568
|
+
};
|
|
569
|
+
export type EditorHighlight = Record<string, never>;
|
|
570
|
+
export type EditorHorizontalRule = Record<string, never>;
|
|
571
|
+
export type EditorItalic = Record<string, never>;
|
|
572
|
+
export type EditorLink = {
|
|
573
|
+
openOnClick: boolean;
|
|
574
|
+
protocols: string[];
|
|
575
|
+
};
|
|
576
|
+
export type EditorOrderedList = Record<string, never>;
|
|
577
|
+
export type EditorStrike = Record<string, never>;
|
|
578
|
+
export type EditorTable = {
|
|
579
|
+
cols: number;
|
|
580
|
+
rows: number;
|
|
581
|
+
withHeaderRow: boolean;
|
|
582
|
+
};
|
|
583
|
+
export type EditorTextAlign = {
|
|
584
|
+
alignments: string[];
|
|
585
|
+
};
|
|
586
|
+
export type EditorUnderline = Record<string, never>;
|
|
404
587
|
export type Effect = {
|
|
405
588
|
type: string;
|
|
406
|
-
|
|
589
|
+
props: Record<string, unknown>;
|
|
590
|
+
};
|
|
407
591
|
export type EffectPropsMap = {
|
|
408
|
-
callout:
|
|
409
|
-
"close-modal":
|
|
410
|
-
download:
|
|
411
|
-
"locale-change":
|
|
412
|
-
"open-modal":
|
|
413
|
-
redirect:
|
|
414
|
-
"reload-component":
|
|
415
|
-
"reload-page":
|
|
416
|
-
"reset-form":
|
|
417
|
-
toast:
|
|
418
|
-
"toggle-sidebar":
|
|
419
|
-
};
|
|
420
|
-
export type
|
|
592
|
+
callout: Callout;
|
|
593
|
+
"close-modal": CloseModal;
|
|
594
|
+
download: Download;
|
|
595
|
+
"locale-change": LocaleChange;
|
|
596
|
+
"open-modal": OpenModal;
|
|
597
|
+
redirect: Redirect;
|
|
598
|
+
"reload-component": ReloadComponent;
|
|
599
|
+
"reload-page": ReloadPage;
|
|
600
|
+
"reset-form": ResetForm;
|
|
601
|
+
toast: Toast;
|
|
602
|
+
"toggle-sidebar": ToggleSidebar;
|
|
603
|
+
};
|
|
604
|
+
export type FieldConditions = {
|
|
605
|
+
readonly disabled: Condition[];
|
|
606
|
+
readonly readOnly: Condition[];
|
|
607
|
+
readonly required: Condition[];
|
|
608
|
+
readonly visible: Condition[];
|
|
609
|
+
};
|
|
421
610
|
export type FileUpload = {
|
|
422
611
|
accept: string | null;
|
|
423
612
|
columnWidth: ColumnWidth;
|
|
424
|
-
conditions:
|
|
425
|
-
visible?: Condition[];
|
|
426
|
-
required?: Condition[];
|
|
427
|
-
readOnly?: Condition[];
|
|
428
|
-
disabled?: Condition[];
|
|
429
|
-
} | null;
|
|
613
|
+
conditions: FieldConditions | null;
|
|
430
614
|
dependsOnAny: boolean;
|
|
431
615
|
dependsOnKeys: string[] | null;
|
|
432
616
|
disabled: boolean;
|
|
@@ -453,9 +637,12 @@ export type FileUpload = {
|
|
|
453
637
|
tooltip: string | null;
|
|
454
638
|
value: unknown;
|
|
455
639
|
};
|
|
640
|
+
export type Filter = {
|
|
641
|
+
label: string | null;
|
|
642
|
+
};
|
|
456
643
|
export type FilterClause = {
|
|
457
644
|
readonly field: string;
|
|
458
|
-
readonly operator:
|
|
645
|
+
readonly operator: Op;
|
|
459
646
|
readonly value: string;
|
|
460
647
|
};
|
|
461
648
|
export type FilterControl = "filter.select" | "filter.ternary" | "filter.date-range" | "filter.toggle";
|
|
@@ -464,6 +651,7 @@ export type FilterIndicator = {
|
|
|
464
651
|
readonly label: string;
|
|
465
652
|
readonly value: string;
|
|
466
653
|
};
|
|
654
|
+
export type FilterNodeType = "filter.date-range" | "filter.select" | "filter.ternary" | "filter.toggle";
|
|
467
655
|
export type FilterPropsMap = {
|
|
468
656
|
"filter.date-range": DateRangeFilter;
|
|
469
657
|
"filter.select": SelectFilter;
|
|
@@ -475,7 +663,7 @@ export type FloatingPanel = {
|
|
|
475
663
|
label: string | null;
|
|
476
664
|
offset: number;
|
|
477
665
|
placement: FloatingPlacement;
|
|
478
|
-
trigger:
|
|
666
|
+
trigger: Node[];
|
|
479
667
|
};
|
|
480
668
|
export type FloatingPlacement = "bottom-end" | "bottom-start" | "top-end" | "top-start";
|
|
481
669
|
export type Form = {
|
|
@@ -493,19 +681,24 @@ export type Form = {
|
|
|
493
681
|
validationSummaryLabel: string;
|
|
494
682
|
validationTimeout: number | null;
|
|
495
683
|
};
|
|
496
|
-
export type FormFieldNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle";
|
|
497
|
-
export type FormNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "form";
|
|
684
|
+
export type FormFieldNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle";
|
|
685
|
+
export type FormNodeType = "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "form";
|
|
498
686
|
export type Fragment = {
|
|
499
687
|
endpoint: string | null;
|
|
500
688
|
lazy: boolean;
|
|
501
689
|
ref: string | null;
|
|
502
690
|
size: Size;
|
|
503
691
|
};
|
|
692
|
+
export type FragmentNodeType = "fragment";
|
|
693
|
+
export type FragmentResponse = {
|
|
694
|
+
readonly schema: Node[];
|
|
695
|
+
};
|
|
504
696
|
export type Gap = "none" | "xs" | "sm" | "md" | "lg" | "xl";
|
|
505
697
|
export type Grid = {
|
|
506
698
|
columns: number | null;
|
|
507
699
|
};
|
|
508
700
|
export type Heading = {
|
|
701
|
+
copyable: boolean;
|
|
509
702
|
level: number;
|
|
510
703
|
text: string;
|
|
511
704
|
tooltip: string | null;
|
|
@@ -513,12 +706,7 @@ export type Heading = {
|
|
|
513
706
|
export type Height = "full" | "screen";
|
|
514
707
|
export type HiddenInput = {
|
|
515
708
|
columnWidth: ColumnWidth;
|
|
516
|
-
conditions:
|
|
517
|
-
visible?: Condition[];
|
|
518
|
-
required?: Condition[];
|
|
519
|
-
readOnly?: Condition[];
|
|
520
|
-
disabled?: Condition[];
|
|
521
|
-
} | null;
|
|
709
|
+
conditions: FieldConditions | null;
|
|
522
710
|
dependsOnAny: boolean;
|
|
523
711
|
dependsOnKeys: string[] | null;
|
|
524
712
|
disabled: boolean;
|
|
@@ -536,9 +724,9 @@ export type HiddenInput = {
|
|
|
536
724
|
export type HttpMethod = import('@inertiajs/core').Method;
|
|
537
725
|
export type I18nConfig = {
|
|
538
726
|
readonly enabled: boolean;
|
|
539
|
-
readonly saveMissing: boolean;
|
|
540
727
|
readonly locales: string[];
|
|
541
728
|
readonly preloadLocales: string[];
|
|
729
|
+
readonly saveMissing: boolean;
|
|
542
730
|
readonly timezone: string | null;
|
|
543
731
|
};
|
|
544
732
|
export type Icon = {
|
|
@@ -549,7 +737,7 @@ export type Icon = {
|
|
|
549
737
|
};
|
|
550
738
|
export type IconColumn = {
|
|
551
739
|
align: ColumnAlign;
|
|
552
|
-
colors: Record<string | number,
|
|
740
|
+
colors: Record<string | number, Color> | null;
|
|
553
741
|
filter: ColumnFilter | null;
|
|
554
742
|
hiddenByDefault: boolean;
|
|
555
743
|
icon: string | null;
|
|
@@ -559,20 +747,34 @@ export type IconColumn = {
|
|
|
559
747
|
toggleable: boolean;
|
|
560
748
|
width: ColumnWidth;
|
|
561
749
|
};
|
|
750
|
+
export type Image = {
|
|
751
|
+
alt: string | null;
|
|
752
|
+
circular: boolean;
|
|
753
|
+
previewable: boolean;
|
|
754
|
+
size: number | null;
|
|
755
|
+
src: string;
|
|
756
|
+
};
|
|
562
757
|
export type ImageColumn = {
|
|
563
758
|
align: ColumnAlign;
|
|
564
759
|
circular: boolean;
|
|
565
760
|
filter: ColumnFilter | null;
|
|
566
761
|
hiddenByDefault: boolean;
|
|
567
762
|
label: string | null;
|
|
763
|
+
previewable: boolean;
|
|
568
764
|
size: number | null;
|
|
569
765
|
sortable: boolean;
|
|
570
766
|
toggleable: boolean;
|
|
571
767
|
width: ColumnWidth;
|
|
572
768
|
};
|
|
573
769
|
export type Justify = "start" | "center" | "end" | "between" | "around" | "evenly";
|
|
770
|
+
export type LabelAction = {
|
|
771
|
+
readonly href: string;
|
|
772
|
+
readonly label: string;
|
|
773
|
+
readonly tabIndex: number | null;
|
|
774
|
+
};
|
|
775
|
+
export type LayoutNodeType = "breadcrumbs" | "callouts" | "dropdown" | "menu" | "menu-item" | "outlet" | "sidebar" | "topbar";
|
|
574
776
|
export type Link = {
|
|
575
|
-
action:
|
|
777
|
+
action: Node<"action"> | Node<"action.bulk"> | null;
|
|
576
778
|
effects: Effect[];
|
|
577
779
|
href: string | null;
|
|
578
780
|
icon: string | null;
|
|
@@ -582,18 +784,18 @@ export type Link = {
|
|
|
582
784
|
suffix: Affix | null;
|
|
583
785
|
tabIndex: number | null;
|
|
584
786
|
};
|
|
585
|
-
export type
|
|
787
|
+
export type Listen = {
|
|
586
788
|
readonly channel: string;
|
|
789
|
+
effects: Effect[];
|
|
790
|
+
events: string[];
|
|
587
791
|
readonly visibility: ChannelVisibility;
|
|
588
|
-
readonly events: string[];
|
|
589
|
-
readonly effects: Effect[];
|
|
590
792
|
};
|
|
591
|
-
export type
|
|
793
|
+
export type LocaleChange = {
|
|
592
794
|
readonly locale: string;
|
|
593
795
|
};
|
|
594
796
|
export type Menu = Record<string, never>;
|
|
595
797
|
export type MenuItem = {
|
|
596
|
-
action:
|
|
798
|
+
action: Node<"action"> | Node<"action.bulk"> | null;
|
|
597
799
|
effects: Effect[];
|
|
598
800
|
href: string | null;
|
|
599
801
|
icon: string | null;
|
|
@@ -607,10 +809,14 @@ export type Modal = {
|
|
|
607
809
|
description: string | null;
|
|
608
810
|
open: boolean;
|
|
609
811
|
ref: string | null;
|
|
812
|
+
side: Side | null;
|
|
610
813
|
title: string | null;
|
|
814
|
+
width: ModalWidth;
|
|
611
815
|
};
|
|
816
|
+
export type ModalWidth = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
|
|
612
817
|
export type MoneyColumn = {
|
|
613
818
|
align: ColumnAlign;
|
|
819
|
+
copyable: boolean;
|
|
614
820
|
currency: string | null;
|
|
615
821
|
currencyField: string | null;
|
|
616
822
|
filter: ColumnFilter | null;
|
|
@@ -622,18 +828,24 @@ export type MoneyColumn = {
|
|
|
622
828
|
toggleable: boolean;
|
|
623
829
|
width: ColumnWidth;
|
|
624
830
|
};
|
|
625
|
-
export type NodeType = "action" | "action.bulk" | "action.group" | "badge" | "breadcrumbs" | "button" | "callouts" | "card" | "chart" | "chat.box" | "chat.part.text" | "chat.part.tool-call" | "collapsible" | "dropdown" | "field.builder" | "field.checkbox" | "field.choice" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "floating-panel" | "form" | "fragment" | "grid" | "heading" | "icon" | "link" | "menu" | "menu-item" | "modal" | "notifications" | "outlet" | "raw-block" | "remote.data-list" | "section" | "segmented-control" | "sidebar" | "stack" | "tab" | "table" | "tabs" | "text" | "tooltip" | "topbar";
|
|
831
|
+
export type NodeType = "action" | "action.bulk" | "action.group" | "avatar" | "badge" | "breadcrumbs" | "button" | "callouts" | "card" | "chart" | "chat.box" | "chat.part.text" | "chat.part.tool-call" | "collapsible" | "dropdown" | "field.builder" | "field.checkbox" | "field.choice" | "field.color-picker" | "field.date-input" | "field.date-time-input" | "field.file-upload" | "field.hidden-input" | "field.number-input" | "field.otp" | "field.password-input" | "field.repeater" | "field.rich-editor" | "field.select" | "field.text-input" | "field.textarea" | "field.time-input" | "field.toggle" | "floating-panel" | "form" | "fragment" | "grid" | "heading" | "icon" | "image" | "link" | "menu" | "menu-item" | "modal" | "notifications" | "outlet" | "progress" | "raw-block" | "remote.data-list" | "section" | "segmented-control" | "separator" | "sidebar" | "stack" | "tab" | "table" | "tabs" | "text" | "tooltip" | "topbar" | "tree";
|
|
626
832
|
export type NotificationItem = {
|
|
627
|
-
readonly
|
|
628
|
-
readonly title: string | null;
|
|
833
|
+
readonly actions: Node[];
|
|
629
834
|
readonly body: string | null;
|
|
630
|
-
readonly
|
|
631
|
-
readonly variant: Variant | null;
|
|
835
|
+
readonly createdAt: string | null;
|
|
632
836
|
readonly href: string | null;
|
|
837
|
+
readonly icon: string | null;
|
|
838
|
+
readonly id: string;
|
|
633
839
|
readonly isRead: boolean;
|
|
634
|
-
readonly
|
|
635
|
-
readonly
|
|
840
|
+
readonly title: string | null;
|
|
841
|
+
readonly variant: Variant | null;
|
|
636
842
|
};
|
|
843
|
+
export type NotificationList = {
|
|
844
|
+
readonly hasMore: boolean;
|
|
845
|
+
readonly notifications: NotificationItem[];
|
|
846
|
+
readonly unreadCount: number;
|
|
847
|
+
};
|
|
848
|
+
export type NotificationNodeType = "notifications";
|
|
637
849
|
export type Notifications = {
|
|
638
850
|
channel: string;
|
|
639
851
|
endpoint: string;
|
|
@@ -643,6 +855,7 @@ export type Notifications = {
|
|
|
643
855
|
export type NumberColumn = {
|
|
644
856
|
align: ColumnAlign;
|
|
645
857
|
compact: boolean;
|
|
858
|
+
copyable: boolean;
|
|
646
859
|
filter: ColumnFilter | null;
|
|
647
860
|
hiddenByDefault: boolean;
|
|
648
861
|
label: string | null;
|
|
@@ -654,23 +867,18 @@ export type NumberColumn = {
|
|
|
654
867
|
width: ColumnWidth;
|
|
655
868
|
};
|
|
656
869
|
export type NumberFormat = {
|
|
870
|
+
currency: string | null;
|
|
657
871
|
kind: string;
|
|
658
|
-
notation: string;
|
|
659
|
-
minimumFractionDigits: number | null;
|
|
660
872
|
maximumFractionDigits: number | null;
|
|
661
|
-
|
|
873
|
+
minimumFractionDigits: number | null;
|
|
874
|
+
notation: string;
|
|
662
875
|
unit: NumberFormatUnit | null;
|
|
663
876
|
};
|
|
664
877
|
export type NumberFormatUnit = "percent" | "kilogram" | "gram" | "kilometer" | "meter" | "byte" | "kilobyte" | "megabyte" | "gigabyte" | "millisecond" | "second" | "minute" | "hour" | "celsius" | "fahrenheit";
|
|
665
878
|
export type NumberInput = {
|
|
666
879
|
autoFocus: boolean;
|
|
667
880
|
columnWidth: ColumnWidth;
|
|
668
|
-
conditions:
|
|
669
|
-
visible?: Condition[];
|
|
670
|
-
required?: Condition[];
|
|
671
|
-
readOnly?: Condition[];
|
|
672
|
-
disabled?: Condition[];
|
|
673
|
-
} | null;
|
|
881
|
+
conditions: FieldConditions | null;
|
|
674
882
|
dependsOnAny: boolean;
|
|
675
883
|
dependsOnKeys: string[] | null;
|
|
676
884
|
disabled: boolean;
|
|
@@ -694,10 +902,11 @@ export type NumberInput = {
|
|
|
694
902
|
value: unknown;
|
|
695
903
|
};
|
|
696
904
|
export type Op = "contains" | "starts_with" | "ends_with" | "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "not_in" | "before" | "after" | "empty" | "filled";
|
|
697
|
-
export type
|
|
905
|
+
export type OpenModal = {
|
|
698
906
|
readonly modal: string;
|
|
699
907
|
};
|
|
700
908
|
export type Option = {
|
|
909
|
+
readonly data: Record<string, unknown> | null;
|
|
701
910
|
readonly label: string;
|
|
702
911
|
readonly value: string;
|
|
703
912
|
};
|
|
@@ -705,12 +914,7 @@ export type Orientation = "horizontal" | "vertical";
|
|
|
705
914
|
export type OtpInput = {
|
|
706
915
|
autoFocus: boolean;
|
|
707
916
|
columnWidth: ColumnWidth;
|
|
708
|
-
conditions:
|
|
709
|
-
visible?: Condition[];
|
|
710
|
-
required?: Condition[];
|
|
711
|
-
readOnly?: Condition[];
|
|
712
|
-
disabled?: Condition[];
|
|
713
|
-
} | null;
|
|
917
|
+
conditions: FieldConditions | null;
|
|
714
918
|
dependsOnAny: boolean;
|
|
715
919
|
dependsOnKeys: string[] | null;
|
|
716
920
|
disabled: boolean;
|
|
@@ -729,17 +933,24 @@ export type OtpInput = {
|
|
|
729
933
|
export type Outlet = Record<string, never>;
|
|
730
934
|
export type PageContainer = "centered" | "default";
|
|
731
935
|
export type PageLayout = "app" | "auth" | "none";
|
|
936
|
+
export type PageLayoutPayload = {
|
|
937
|
+
readonly key: string;
|
|
938
|
+
readonly schema: Node[];
|
|
939
|
+
};
|
|
940
|
+
export type PagePayload = {
|
|
941
|
+
readonly breadcrumbs: Breadcrumb[];
|
|
942
|
+
readonly container: string;
|
|
943
|
+
readonly layout: PageLayoutPayload | null;
|
|
944
|
+
readonly listeners: Listen[];
|
|
945
|
+
readonly schema: Node[];
|
|
946
|
+
readonly title: string | null;
|
|
947
|
+
};
|
|
732
948
|
export type PaginationType = "none" | "simple" | "table" | "infinite";
|
|
733
949
|
export type PasswordInput = {
|
|
734
950
|
autoComplete: string | null;
|
|
735
951
|
autoFocus: boolean;
|
|
736
952
|
columnWidth: ColumnWidth;
|
|
737
|
-
conditions:
|
|
738
|
-
visible?: Condition[];
|
|
739
|
-
required?: Condition[];
|
|
740
|
-
readOnly?: Condition[];
|
|
741
|
-
disabled?: Condition[];
|
|
742
|
-
} | null;
|
|
953
|
+
conditions: FieldConditions | null;
|
|
743
954
|
confirmation: {
|
|
744
955
|
label: string;
|
|
745
956
|
name: string;
|
|
@@ -751,11 +962,7 @@ export type PasswordInput = {
|
|
|
751
962
|
editablePrefill: boolean;
|
|
752
963
|
helperText: string | null;
|
|
753
964
|
label: string | null;
|
|
754
|
-
labelAction:
|
|
755
|
-
href: string;
|
|
756
|
-
label: string;
|
|
757
|
-
tabIndex?: number;
|
|
758
|
-
} | null;
|
|
965
|
+
labelAction: LabelAction | null;
|
|
759
966
|
name: string;
|
|
760
967
|
passwordRules: string | null;
|
|
761
968
|
placeholder: string | null;
|
|
@@ -770,34 +977,39 @@ export type PasswordInput = {
|
|
|
770
977
|
value: unknown;
|
|
771
978
|
};
|
|
772
979
|
export type Placement = "top" | "bottom" | "right";
|
|
980
|
+
export type Progress = {
|
|
981
|
+
color: Color | null;
|
|
982
|
+
max: number;
|
|
983
|
+
showValue: boolean;
|
|
984
|
+
size: Size;
|
|
985
|
+
value: number;
|
|
986
|
+
variant: ProgressVariant;
|
|
987
|
+
};
|
|
988
|
+
export type ProgressVariant = "bar" | "circle";
|
|
773
989
|
export type RawBlock = {
|
|
774
990
|
html: string;
|
|
775
991
|
};
|
|
776
|
-
export type
|
|
992
|
+
export type Redirect = {
|
|
777
993
|
readonly url: string;
|
|
778
994
|
};
|
|
779
|
-
export type
|
|
995
|
+
export type ReloadComponent = {
|
|
780
996
|
readonly component: string;
|
|
781
997
|
};
|
|
782
|
-
export type
|
|
998
|
+
export type ReloadPage = Record<string, never>;
|
|
783
999
|
export type RemoteAccess = {
|
|
784
|
-
readonly source: string;
|
|
785
1000
|
readonly audience: string;
|
|
786
|
-
readonly scopes: string[];
|
|
787
1001
|
readonly nodeId: string;
|
|
788
1002
|
readonly nodeType: string;
|
|
789
|
-
readonly tokenEndpoint: string;
|
|
790
1003
|
readonly ref: string;
|
|
1004
|
+
readonly scopes: string[];
|
|
1005
|
+
readonly source: string;
|
|
1006
|
+
readonly tokenEndpoint: string;
|
|
791
1007
|
};
|
|
1008
|
+
export type RemoteNodeType = "remote.data-list";
|
|
792
1009
|
export type Repeater = {
|
|
793
1010
|
addLabel: string | null;
|
|
794
1011
|
columnWidth: ColumnWidth;
|
|
795
|
-
conditions:
|
|
796
|
-
visible?: Condition[];
|
|
797
|
-
required?: Condition[];
|
|
798
|
-
readOnly?: Condition[];
|
|
799
|
-
disabled?: Condition[];
|
|
800
|
-
} | null;
|
|
1012
|
+
conditions: FieldConditions | null;
|
|
801
1013
|
defaultItems: number;
|
|
802
1014
|
dependsOnAny: boolean;
|
|
803
1015
|
dependsOnKeys: string[] | null;
|
|
@@ -821,21 +1033,22 @@ export type Repeater = {
|
|
|
821
1033
|
tooltip: string | null;
|
|
822
1034
|
value: unknown;
|
|
823
1035
|
};
|
|
824
|
-
export type
|
|
1036
|
+
export type ResetForm = {
|
|
825
1037
|
readonly form: string | null;
|
|
826
1038
|
};
|
|
1039
|
+
export type ResolveResponse = {
|
|
1040
|
+
readonly fields: Record<string, Node>;
|
|
1041
|
+
readonly prefill: Record<string, unknown>;
|
|
1042
|
+
readonly values: Record<string, unknown>;
|
|
1043
|
+
};
|
|
827
1044
|
export type RichEditor = {
|
|
828
1045
|
columnWidth: ColumnWidth;
|
|
829
|
-
conditions:
|
|
830
|
-
visible?: Condition[];
|
|
831
|
-
required?: Condition[];
|
|
832
|
-
readOnly?: Condition[];
|
|
833
|
-
disabled?: Condition[];
|
|
834
|
-
} | null;
|
|
1046
|
+
conditions: FieldConditions | null;
|
|
835
1047
|
dependsOnAny: boolean;
|
|
836
1048
|
dependsOnKeys: string[] | null;
|
|
837
1049
|
disabled: boolean;
|
|
838
1050
|
editablePrefill: boolean;
|
|
1051
|
+
extensions: EditorExtension[];
|
|
839
1052
|
helperText: string | null;
|
|
840
1053
|
label: string | null;
|
|
841
1054
|
name: string;
|
|
@@ -848,11 +1061,11 @@ export type RichEditor = {
|
|
|
848
1061
|
value: unknown;
|
|
849
1062
|
};
|
|
850
1063
|
export type RowAction = {
|
|
851
|
-
type: RowActionType;
|
|
852
|
-
key: string;
|
|
853
1064
|
destructive: boolean;
|
|
854
1065
|
icon: string | null;
|
|
1066
|
+
key: string;
|
|
855
1067
|
label: string | null;
|
|
1068
|
+
type: RowActionType;
|
|
856
1069
|
};
|
|
857
1070
|
export type RowActionType = "duplicate" | "remove";
|
|
858
1071
|
export type RowLayout = "stack" | "table";
|
|
@@ -860,7 +1073,7 @@ export type Section = {
|
|
|
860
1073
|
collapsed: boolean;
|
|
861
1074
|
collapsible: boolean;
|
|
862
1075
|
description: string | null;
|
|
863
|
-
headerActions:
|
|
1076
|
+
headerActions: Node[];
|
|
864
1077
|
rememberState: boolean;
|
|
865
1078
|
title: string | null;
|
|
866
1079
|
tooltip: string | null;
|
|
@@ -875,12 +1088,8 @@ export type SegmentedControl = {
|
|
|
875
1088
|
export type Select = {
|
|
876
1089
|
autoFocus: boolean;
|
|
877
1090
|
columnWidth: ColumnWidth;
|
|
878
|
-
conditions:
|
|
879
|
-
|
|
880
|
-
required?: Condition[];
|
|
881
|
-
readOnly?: Condition[];
|
|
882
|
-
disabled?: Condition[];
|
|
883
|
-
} | null;
|
|
1091
|
+
conditions: FieldConditions | null;
|
|
1092
|
+
creatable: boolean;
|
|
884
1093
|
dependsOnAny: boolean;
|
|
885
1094
|
dependsOnKeys: string[] | null;
|
|
886
1095
|
disabled: boolean;
|
|
@@ -909,16 +1118,25 @@ export type SelectFilter = {
|
|
|
909
1118
|
placeholder: string | null;
|
|
910
1119
|
searchable: boolean;
|
|
911
1120
|
};
|
|
1121
|
+
export type Separator = {
|
|
1122
|
+
orientation: Orientation;
|
|
1123
|
+
};
|
|
912
1124
|
export type Side = "start" | "end";
|
|
913
1125
|
export type Sidebar = {
|
|
914
1126
|
collapsible: boolean;
|
|
915
1127
|
rememberState: boolean;
|
|
916
1128
|
};
|
|
1129
|
+
export type SignedUpload = {
|
|
1130
|
+
readonly headers: Record<string, unknown>;
|
|
1131
|
+
readonly key: string;
|
|
1132
|
+
readonly method: HttpMethod;
|
|
1133
|
+
readonly url: string;
|
|
1134
|
+
};
|
|
917
1135
|
export type Size = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
|
|
918
1136
|
export type SortDirection = "asc" | "desc";
|
|
919
1137
|
export type Stack = {
|
|
920
1138
|
align: Align | null;
|
|
921
|
-
direction:
|
|
1139
|
+
direction: StackDirection | null;
|
|
922
1140
|
float: Side | null;
|
|
923
1141
|
gap: Gap | null;
|
|
924
1142
|
height: Height | null;
|
|
@@ -934,51 +1152,60 @@ export type StackColumn = {
|
|
|
934
1152
|
toggleable: boolean;
|
|
935
1153
|
width: ColumnWidth;
|
|
936
1154
|
};
|
|
1155
|
+
export type StackDirection = "row" | "column";
|
|
937
1156
|
export type Tab = {
|
|
938
1157
|
confirm: {
|
|
939
1158
|
required: boolean;
|
|
940
1159
|
redirectUrl: string;
|
|
941
|
-
timeout
|
|
1160
|
+
timeout: number | null;
|
|
942
1161
|
} | null;
|
|
943
1162
|
label: string;
|
|
944
1163
|
value: string;
|
|
945
1164
|
};
|
|
946
1165
|
export type Table = {
|
|
947
|
-
actionsLabel: string;
|
|
948
|
-
bulkActions:
|
|
949
|
-
columns:
|
|
950
|
-
emptyLabel: string;
|
|
1166
|
+
actionsLabel: string | null;
|
|
1167
|
+
bulkActions: (Node<"action"> | Node<"action.bulk">)[];
|
|
1168
|
+
columns: ColumnNode[];
|
|
1169
|
+
emptyLabel: string | null;
|
|
951
1170
|
endpoint: string | null;
|
|
952
|
-
filters:
|
|
1171
|
+
filters: FilterNode[];
|
|
953
1172
|
layout: string | null;
|
|
954
1173
|
lazy: boolean;
|
|
955
1174
|
ref: string | null;
|
|
956
1175
|
resizableColumns: boolean;
|
|
957
1176
|
resizeIndicator: boolean;
|
|
1177
|
+
searchable: boolean;
|
|
958
1178
|
striped: boolean;
|
|
959
1179
|
};
|
|
1180
|
+
export type TableNodeType = "table";
|
|
960
1181
|
export type TablePagination = {
|
|
961
|
-
readonly mode: PaginationType;
|
|
962
1182
|
readonly currentPage: number | null;
|
|
963
|
-
readonly lastPage: number | null;
|
|
964
|
-
readonly perPage: number | null;
|
|
965
|
-
readonly total: number | null;
|
|
966
1183
|
readonly from: number | null;
|
|
967
|
-
readonly to: number | null;
|
|
968
1184
|
readonly hasMore: boolean;
|
|
1185
|
+
readonly lastPage: number | null;
|
|
1186
|
+
readonly mode: PaginationType;
|
|
969
1187
|
readonly nextPage: number | null;
|
|
1188
|
+
readonly perPage: number | null;
|
|
1189
|
+
readonly to: number | null;
|
|
1190
|
+
readonly total: number | null;
|
|
970
1191
|
};
|
|
971
1192
|
export type TableQuery = {
|
|
972
1193
|
readonly filters: FilterClause[];
|
|
973
|
-
readonly sorts: TableSort[];
|
|
974
1194
|
readonly page: number;
|
|
975
1195
|
readonly perPage: number;
|
|
976
|
-
readonly
|
|
1196
|
+
readonly search: string;
|
|
1197
|
+
readonly sorts: TableSort[];
|
|
977
1198
|
readonly tableFilterIndicators: FilterIndicator[];
|
|
1199
|
+
readonly tableFilters: Record<string, Record<string, unknown>>;
|
|
1200
|
+
};
|
|
1201
|
+
export type TableResult = {
|
|
1202
|
+
readonly data: Record<string, unknown>[];
|
|
1203
|
+
readonly pagination: TablePagination | null;
|
|
1204
|
+
readonly query: TableQuery;
|
|
978
1205
|
};
|
|
979
1206
|
export type TableSort = {
|
|
980
|
-
readonly key: string;
|
|
981
1207
|
readonly direction: SortDirection;
|
|
1208
|
+
readonly key: string;
|
|
982
1209
|
};
|
|
983
1210
|
export type Tabs = {
|
|
984
1211
|
activeValue: string;
|
|
@@ -1008,8 +1235,8 @@ export type TextColumn = {
|
|
|
1008
1235
|
} | null;
|
|
1009
1236
|
copyable: boolean;
|
|
1010
1237
|
date: {
|
|
1011
|
-
dateStyle:
|
|
1012
|
-
timeStyle:
|
|
1238
|
+
dateStyle: DateTimeStyle | null;
|
|
1239
|
+
timeStyle: DateTimeStyle | null;
|
|
1013
1240
|
} | null;
|
|
1014
1241
|
filter: ColumnFilter | null;
|
|
1015
1242
|
hiddenByDefault: boolean;
|
|
@@ -1027,12 +1254,8 @@ export type TextInput = {
|
|
|
1027
1254
|
autoComplete: string | null;
|
|
1028
1255
|
autoFocus: boolean;
|
|
1029
1256
|
columnWidth: ColumnWidth;
|
|
1030
|
-
conditions:
|
|
1031
|
-
|
|
1032
|
-
required?: Condition[];
|
|
1033
|
-
readOnly?: Condition[];
|
|
1034
|
-
disabled?: Condition[];
|
|
1035
|
-
} | null;
|
|
1257
|
+
conditions: FieldConditions | null;
|
|
1258
|
+
copyable: boolean;
|
|
1036
1259
|
dependsOnAny: boolean;
|
|
1037
1260
|
dependsOnKeys: string[] | null;
|
|
1038
1261
|
disabled: boolean;
|
|
@@ -1058,12 +1281,7 @@ export type TextPart = {
|
|
|
1058
1281
|
export type Textarea = {
|
|
1059
1282
|
autoFocus: boolean;
|
|
1060
1283
|
columnWidth: ColumnWidth;
|
|
1061
|
-
conditions:
|
|
1062
|
-
visible?: Condition[];
|
|
1063
|
-
required?: Condition[];
|
|
1064
|
-
readOnly?: Condition[];
|
|
1065
|
-
disabled?: Condition[];
|
|
1066
|
-
} | null;
|
|
1284
|
+
conditions: FieldConditions | null;
|
|
1067
1285
|
dependsOnAny: boolean;
|
|
1068
1286
|
dependsOnKeys: string[] | null;
|
|
1069
1287
|
disabled: boolean;
|
|
@@ -1084,12 +1302,7 @@ export type Textarea = {
|
|
|
1084
1302
|
export type TimeInput = {
|
|
1085
1303
|
autoFocus: boolean;
|
|
1086
1304
|
columnWidth: ColumnWidth;
|
|
1087
|
-
conditions:
|
|
1088
|
-
visible?: Condition[];
|
|
1089
|
-
required?: Condition[];
|
|
1090
|
-
readOnly?: Condition[];
|
|
1091
|
-
disabled?: Condition[];
|
|
1092
|
-
} | null;
|
|
1305
|
+
conditions: FieldConditions | null;
|
|
1093
1306
|
dependsOnAny: boolean;
|
|
1094
1307
|
dependsOnKeys: string[] | null;
|
|
1095
1308
|
disabled: boolean;
|
|
@@ -1108,26 +1321,18 @@ export type TimeInput = {
|
|
|
1108
1321
|
tooltip: string | null;
|
|
1109
1322
|
value: unknown;
|
|
1110
1323
|
};
|
|
1111
|
-
export type
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
export type ToastMessage = {
|
|
1324
|
+
export type Toast = {
|
|
1325
|
+
action: Node | null;
|
|
1326
|
+
dismissible: boolean;
|
|
1115
1327
|
duration: number | null;
|
|
1328
|
+
message: Translatable | string;
|
|
1116
1329
|
persistent: boolean;
|
|
1117
|
-
dismissible: boolean;
|
|
1118
|
-
action: WireNode | null;
|
|
1119
1330
|
variant: Variant;
|
|
1120
|
-
message: Translatable | string;
|
|
1121
1331
|
};
|
|
1122
1332
|
export type Toggle = {
|
|
1123
1333
|
autoFocus: boolean;
|
|
1124
1334
|
columnWidth: ColumnWidth;
|
|
1125
|
-
conditions:
|
|
1126
|
-
visible?: Condition[];
|
|
1127
|
-
required?: Condition[];
|
|
1128
|
-
readOnly?: Condition[];
|
|
1129
|
-
disabled?: Condition[];
|
|
1130
|
-
} | null;
|
|
1335
|
+
conditions: FieldConditions | null;
|
|
1131
1336
|
dependsOnAny: boolean;
|
|
1132
1337
|
dependsOnKeys: string[] | null;
|
|
1133
1338
|
disabled: boolean;
|
|
@@ -1146,7 +1351,7 @@ export type Toggle = {
|
|
|
1146
1351
|
export type ToggleFilter = {
|
|
1147
1352
|
label: string | null;
|
|
1148
1353
|
};
|
|
1149
|
-
export type
|
|
1354
|
+
export type ToggleSidebar = {
|
|
1150
1355
|
readonly target: string | null;
|
|
1151
1356
|
};
|
|
1152
1357
|
export type ToolCallPart = {
|
|
@@ -1155,22 +1360,36 @@ export type ToolCallPart = {
|
|
|
1155
1360
|
};
|
|
1156
1361
|
export type Tooltip = {
|
|
1157
1362
|
content: string | null;
|
|
1158
|
-
trigger:
|
|
1363
|
+
trigger: Node[];
|
|
1159
1364
|
};
|
|
1160
1365
|
export type Topbar = {
|
|
1161
1366
|
sticky: boolean;
|
|
1162
1367
|
};
|
|
1163
1368
|
export type Translatable = {
|
|
1369
|
+
key: string;
|
|
1164
1370
|
payload: Record<string, string>;
|
|
1165
1371
|
replacements: Record<string, string | number | boolean>;
|
|
1166
|
-
|
|
1372
|
+
};
|
|
1373
|
+
export type Tree = {
|
|
1374
|
+
activeId: string | null;
|
|
1375
|
+
defaultExpanded: string[];
|
|
1376
|
+
rememberState: boolean;
|
|
1377
|
+
};
|
|
1378
|
+
export type TreeNode = {
|
|
1379
|
+
actions: Node<"action"> | Node<"action.bulk"> | Node<"action.group"> | null;
|
|
1380
|
+
badge: string | null;
|
|
1381
|
+
children: TreeNode[];
|
|
1382
|
+
disabled: boolean;
|
|
1383
|
+
hasChildren: boolean;
|
|
1384
|
+
href: string | null;
|
|
1385
|
+
icon: string | null;
|
|
1386
|
+
readonly id: string;
|
|
1387
|
+
readonly label: string;
|
|
1388
|
+
};
|
|
1389
|
+
export type UiNodeType = "avatar" | "badge" | "button" | "card" | "chart" | "collapsible" | "floating-panel" | "grid" | "heading" | "icon" | "image" | "link" | "modal" | "progress" | "raw-block" | "section" | "segmented-control" | "separator" | "stack" | "tab" | "tabs" | "text" | "tooltip" | "tree";
|
|
1390
|
+
export type UnreadCount = {
|
|
1391
|
+
readonly unreadCount: number;
|
|
1167
1392
|
};
|
|
1168
1393
|
export type Variant = "success" | "info" | "warning" | "error";
|
|
1169
1394
|
export type Width = "full" | "auto" | "sm" | "md" | "lg" | "fill";
|
|
1170
|
-
export
|
|
1171
|
-
id?: string;
|
|
1172
|
-
key?: string;
|
|
1173
|
-
type: string;
|
|
1174
|
-
props?: Record<string, unknown>;
|
|
1175
|
-
schema?: WireNode[];
|
|
1176
|
-
};
|
|
1395
|
+
export {};
|