@lostgradient/cinder 0.3.0 → 0.4.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/CHANGELOG.md +146 -0
- package/README.md +2 -2
- package/components.json +138 -86
- package/dist/_internal/locale-context.d.ts +9 -0
- package/dist/_internal/text-direction.d.ts +4 -0
- package/dist/_internal/tree-context.d.ts +2 -0
- package/dist/api-contract.d.ts +1 -1
- package/dist/components/_internal/create-command-list-state.svelte.d.ts +43 -0
- package/dist/components/_internal/create-sliding-dialog-state.svelte.d.ts +26 -0
- package/dist/components/access-gate/index.js +379 -513
- package/dist/components/alert/alert.css +1 -1
- package/dist/components/alert/alert.schema.js +4 -4
- package/dist/components/alert/alert.types.d.ts +4 -4
- package/dist/components/alert/index.js +4 -4
- package/dist/components/alert-dialog/index.js +9 -3
- package/dist/components/approval-card/approval-card-state.d.ts +3 -0
- package/dist/components/approval-card/approval-card.css +239 -0
- package/dist/components/approval-card/approval-card.schema.js +236 -0
- package/dist/components/approval-card/approval-card.svelte.d.ts +21 -0
- package/dist/components/approval-card/approval-card.types.d.ts +155 -0
- package/dist/components/{subscription-badge/subscription-badge.variables.js → approval-card/approval-card.variables.js} +4 -4
- package/dist/components/approval-card/index.d.ts +5 -0
- package/dist/components/approval-card/index.js +3794 -0
- package/dist/components/autocomplete/autocomplete.css +12 -1
- package/dist/components/autocomplete/index.js +106 -81
- package/dist/components/avatar-group/index.js +3 -2
- package/dist/components/badge/badge.schema.js +6 -3
- package/dist/components/badge/badge.svelte.d.ts +4 -0
- package/dist/components/badge/badge.types.d.ts +18 -4
- package/dist/components/badge/index.d.ts +1 -1
- package/dist/components/badge/index.js +99 -3
- package/dist/components/banner/banner.schema.js +2 -2
- package/dist/components/banner/banner.types.d.ts +1 -1
- package/dist/components/banner/index.js +3 -3
- package/dist/components/button/button.css +1 -1
- package/dist/components/capability-gate/capability-gate.css +15 -2
- package/dist/components/capability-gate/capability-gate.schema.js +4 -4
- package/dist/components/capability-gate/capability-gate.types.d.ts +6 -6
- package/dist/components/capability-gate/index.js +7 -7
- package/dist/components/chat/chat.schema.js +11 -26
- package/dist/components/chat/chat.types.d.ts +30 -15
- package/dist/components/chat/container/chat-events.d.ts +2 -2
- package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +1 -1
- package/dist/components/chat/container/chat.svelte.d.ts +1 -1
- package/dist/components/chat/container/use-chat-scroll-state.svelte.d.ts +4 -4
- package/dist/components/chat/container/use-chat-unread-state.svelte.d.ts +6 -6
- package/dist/components/chat/index.d.ts +1 -1
- package/dist/components/chat/index.js +2257 -1913
- package/dist/components/chat/input/chat-input.svelte.d.ts +3 -1
- package/dist/components/chat-conversation-header/index.js +261 -29
- package/dist/components/chat-conversation-list/chat-conversation-list.css +13 -0
- package/dist/components/checkbox/checkbox.css +3 -0
- package/dist/components/checkbox/checkbox.schema.js +6 -1
- package/dist/components/checkbox/checkbox.types.d.ts +2 -0
- package/dist/components/checkbox/index.js +78 -22
- package/dist/components/checkbox-group/checkbox-group.css +3 -0
- package/dist/components/checkbox-group/checkbox-group.schema.js +4 -4
- package/dist/components/checkbox-group/checkbox-group.types.d.ts +12 -7
- package/dist/components/checkbox-group/index.js +50 -21
- package/dist/components/choice-grid/index.js +2 -2
- package/dist/components/choice-grid-item/index.js +2 -2
- package/dist/components/click-away-listener/click-away-listener.schema.js +3 -3
- package/dist/components/click-away-listener/click-away-listener.types.d.ts +3 -3
- package/dist/components/click-away-listener/index.js +3 -3
- package/dist/components/code-block/code-block.css +4 -3
- package/dist/components/code-block/index.js +6 -5
- package/dist/components/collapsible/collapsible.schema.js +2 -2
- package/dist/components/collapsible/collapsible.types.d.ts +2 -2
- package/dist/components/collapsible/index.js +3 -3
- package/dist/components/color-field/color-field.schema.js +3 -3
- package/dist/components/color-field/color-field.types.d.ts +2 -2
- package/dist/components/color-field/index.js +133 -69
- package/dist/components/color-picker/index.js +29 -18
- package/dist/components/color-swatch-picker/index.js +29 -18
- package/dist/components/combobox/combobox.schema.js +6 -2
- package/dist/components/combobox/combobox.types.d.ts +7 -1
- package/dist/components/combobox/index.js +112 -60
- package/dist/components/command-item/command-item.css +10 -0
- package/dist/components/command-item/command-item.schema.js +9 -1
- package/dist/components/command-item/command-item.types.d.ts +4 -0
- package/dist/components/command-item/index.js +9 -1
- package/dist/components/command-menu/index.js +257 -161
- package/dist/components/command-palette/command-palette.schema.js +2 -3
- package/dist/components/command-palette/command-palette.types.d.ts +1 -2
- package/dist/components/command-palette/index.js +282 -192
- package/dist/components/confirm-dialog/index.js +9 -3
- package/dist/components/context-menu/context-menu.context.d.ts +2 -0
- package/dist/components/context-menu/index.js +300 -40
- package/dist/components/context-menu-trigger/index.js +11 -8
- package/dist/components/copy-button/index.js +6 -5
- package/dist/components/data-grid/_internal/column-model.svelte.d.ts +1 -0
- package/dist/components/data-grid/data-grid.css +25 -0
- package/dist/components/data-grid/data-grid.schema.js +3 -3
- package/dist/components/data-grid/data-grid.types.d.ts +8 -2
- package/dist/components/data-grid/index.js +11 -8
- package/dist/components/data-list/data-list.schema.js +7 -10
- package/dist/components/data-list/data-list.types.d.ts +5 -9
- package/dist/components/data-list/index.js +15 -39
- package/dist/components/data-table/data-table.css +13 -0
- package/dist/components/data-table/index.js +32 -19
- package/dist/components/date-range-field/date-range-field.schema.js +7 -3
- package/dist/components/date-range-field/date-range-field.svelte.d.ts +2 -2
- package/dist/components/date-range-field/date-range-field.types.d.ts +15 -10
- package/dist/components/date-range-field/index.d.ts +1 -1
- package/dist/components/date-range-field/index.js +160 -17
- package/dist/components/diff-viewer/diff-front-matter.svelte.d.ts +2 -2
- package/dist/components/diff-viewer/diff-line.svelte.d.ts +2 -2
- package/dist/components/diff-viewer/diff-toolbar.svelte.d.ts +2 -2
- package/dist/components/diff-viewer/diff-viewer.svelte.d.ts +1 -1
- package/dist/components/diff-viewer/diff-viewer.types.d.ts +3 -3
- package/dist/components/diff-viewer/index.d.ts +1 -1
- package/dist/components/diff-viewer/index.js +171 -67
- package/dist/components/drawer/index.js +353 -283
- package/dist/components/dropdown/dropdown.css +7 -1
- package/dist/components/dropdown/dropdown.types.d.ts +3 -0
- package/dist/components/dropdown/index.js +267 -35
- package/dist/components/dropdown-group/dropdown-group.schema.js +4 -4
- package/dist/components/dropdown-group/dropdown-group.types.d.ts +4 -4
- package/dist/components/dropdown-group/index.js +7 -7
- package/dist/components/dropdown-item/dropdown-item.schema.js +9 -1
- package/dist/components/dropdown-item/dropdown-item.types.d.ts +5 -0
- package/dist/components/dropdown-item/index.js +13 -8
- package/dist/components/dropdown-menu/index.js +236 -14
- package/dist/components/dropdown-trigger/index.js +11 -12
- package/dist/components/event-stream-viewer/event-stream-viewer-keys.d.ts +6 -0
- package/dist/components/event-stream-viewer/event-stream-viewer.css +46 -0
- package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
- package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +3 -3
- package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +124 -3
- package/dist/components/event-stream-viewer/index.d.ts +1 -1
- package/dist/components/event-stream-viewer/index.js +764 -409
- package/dist/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
- package/dist/components/faceted-filter-bar/index.js +25 -6
- package/dist/components/file-upload/file-upload.css +5 -5
- package/dist/components/floating-action-button/floating-action-button.css +22 -22
- package/dist/components/floating-action-button/floating-action-button.schema.js +5 -5
- package/dist/components/floating-action-button/floating-action-button.svelte.d.ts +1 -1
- package/dist/components/floating-action-button/floating-action-button.types.d.ts +21 -21
- package/dist/components/floating-action-button/index.d.ts +1 -1
- package/dist/components/floating-action-button/index.js +8 -8
- package/dist/components/form-field/form-field.css +3 -13
- package/dist/components/form-field/index.js +2 -2
- package/dist/components/hover-card/index.js +3 -2
- package/dist/components/input/index.js +131 -67
- package/dist/components/input/input.schema.js +6 -1
- package/dist/components/input/input.types.d.ts +2 -0
- package/dist/components/invocation-rule-builder/index.d.ts +1 -1
- package/dist/components/invocation-rule-builder/index.js +184 -107
- package/dist/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
- package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
- package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -2
- package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +85 -8
- package/dist/components/json-schema-editor/form-view.svelte.d.ts +1 -0
- package/dist/components/json-schema-editor/index.js +677 -357
- package/dist/components/json-schema-editor/json-schema-editor.css +6 -1
- package/dist/components/json-schema-editor/json-schema-toolbar.svelte.d.ts +1 -0
- package/dist/components/json-schema-editor/property-editor.svelte.d.ts +2 -0
- package/dist/components/json-schema-editor/property-list-validation.d.ts +1 -0
- package/dist/components/json-schema-editor/property-list.svelte.d.ts +1 -0
- package/dist/components/json-viewer/_json-viewer-node.svelte.d.ts +3 -0
- package/dist/components/json-viewer/index.js +112 -26
- package/dist/components/json-viewer/json-viewer.css +11 -0
- package/dist/components/kanban-board/index.js +18 -13
- package/dist/components/kanban-board/kanban-board.css +56 -3
- package/dist/components/keyboard-shortcuts/index.js +2 -2
- package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
- package/dist/components/label/index.js +2 -2
- package/dist/components/label/label.css +2 -9
- package/dist/components/load-more/index.js +4 -4
- package/dist/components/load-more/load-more.css +13 -5
- package/dist/components/load-more/load-more.schema.js +4 -4
- package/dist/components/load-more/load-more.types.d.ts +3 -3
- package/dist/components/locale-provider/index.d.ts +4 -0
- package/dist/components/locale-provider/index.js +76 -0
- package/dist/components/{connection-indicator/connection-indicator.schema.js → locale-provider/locale-provider.schema.js} +18 -14
- package/dist/components/locale-provider/locale-provider.svelte.d.ts +17 -0
- package/dist/components/locale-provider/locale-provider.types.d.ts +17 -0
- package/dist/components/{connection-indicator/connection-indicator.variables.js → locale-provider/locale-provider.variables.js} +4 -4
- package/dist/components/markdown-editor/editor-toolbar/editor-toolbar.svelte.d.ts +2 -0
- package/dist/components/markdown-editor/index.js +437 -128
- package/dist/components/markdown-editor/markdown-editor.schema.js +4 -4
- package/dist/components/markdown-editor/markdown-editor.types.d.ts +4 -4
- package/dist/components/masonry/masonry.schema.js +4 -3
- package/dist/components/masonry/masonry.types.d.ts +13 -2
- package/dist/components/matrix-chart/index.js +245 -224
- package/dist/components/media-controls/index.js +7 -7
- package/dist/components/media-controls/media-controls.css +15 -4
- package/dist/components/media-controls/media-controls.schema.js +4 -4
- package/dist/components/media-controls/media-controls.types.d.ts +7 -7
- package/dist/components/menu-bar/menu-bar.css +11 -0
- package/dist/components/menu-bar/menu-bar.svelte.d.ts +1 -0
- package/dist/components/modal/index.js +9 -3
- package/dist/components/navigation-bar/index.js +4 -4
- package/dist/components/navigation-bar/navigation-bar.schema.js +2 -2
- package/dist/components/navigation-bar/navigation-bar.types.d.ts +1 -1
- package/dist/components/number-input/index.js +88 -42
- package/dist/components/number-input/number-input.schema.js +4 -3
- package/dist/components/number-input/number-input.types.d.ts +16 -5
- package/dist/components/payload-inspector/index.d.ts +1 -1
- package/dist/components/payload-inspector/index.js +271 -64
- package/dist/components/payload-inspector/payload-inspector.css +6 -0
- package/dist/components/payload-inspector/payload-inspector.schema.js +27 -15
- package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +2 -2
- package/dist/components/payload-inspector/payload-inspector.types.d.ts +52 -3
- package/dist/components/permission-matrix/permission-matrix.css +10 -0
- package/dist/components/phone-input/index.js +56 -33
- package/dist/components/phone-input/phone-input.schema.js +2 -2
- package/dist/components/phone-input/phone-input.types.d.ts +3 -2
- package/dist/components/pin-input/index.js +46 -41
- package/dist/components/pin-input/pin-input.schema.js +9 -2
- package/dist/components/pin-input/pin-input.types.d.ts +10 -1
- package/dist/components/popover/index.js +11 -4
- package/dist/components/portal/index.js +3 -2
- package/dist/components/pricing-card/index.js +22 -7
- package/dist/components/radio-group/index.js +51 -21
- package/dist/components/radio-group/radio-group.css +3 -0
- package/dist/components/radio-group/radio-group.schema.js +3 -3
- package/dist/components/radio-group/radio-group.types.d.ts +6 -2
- package/dist/components/rating/index.js +1 -6
- package/dist/components/rating/rating.schema.js +9 -2
- package/dist/components/rating/rating.types.d.ts +6 -0
- package/dist/components/review-editor/comment-list.svelte.d.ts +1 -1
- package/dist/components/review-editor/index.d.ts +1 -1
- package/dist/components/review-editor/index.js +789 -314
- package/dist/components/review-editor/review-editor-controls.svelte.d.ts +1 -1
- package/dist/components/review-editor/review-editor-impl.svelte.d.ts +4 -4
- package/dist/components/review-editor/review-editor-selection-types.d.ts +1 -1
- package/dist/components/review-editor/review-editor-state.svelte.d.ts +1 -1
- package/dist/components/review-editor/review-editor-threads.svelte.d.ts +2 -2
- package/dist/components/review-editor/review-editor.svelte.d.ts +2 -1
- package/dist/components/review-editor/review-editor.types.d.ts +77 -3
- package/dist/components/review-editor/thread-popover.svelte.d.ts +1 -1
- package/dist/components/run-step-timeline/index.d.ts +1 -1
- package/dist/components/run-step-timeline/index.js +747 -273
- package/dist/components/run-step-timeline/run-step-timeline.css +25 -5
- package/dist/components/run-step-timeline/run-step-timeline.schema.js +351 -21
- package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -1
- package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +184 -3
- package/dist/components/schema-form/index.d.ts +1 -1
- package/dist/components/schema-form/index.js +1916 -474
- package/dist/components/schema-form/schema-form-async.fixture.d.ts +1 -0
- package/dist/components/schema-form/schema-form-body.svelte.d.ts +25 -0
- package/dist/components/schema-form/schema-form-model.d.ts +1 -4
- package/dist/components/schema-form/schema-form-validation.d.ts +1 -2
- package/dist/components/schema-form/schema-form.css +12 -74
- package/dist/components/schema-form/schema-form.schema.js +10 -3
- package/dist/components/schema-form/schema-form.svelte.d.ts +3 -3
- package/dist/components/schema-form/schema-form.types.d.ts +15 -8
- package/dist/components/scroll-area/index.js +3 -3
- package/dist/components/scroll-area/scroll-area.schema.js +2 -2
- package/dist/components/scroll-area/scroll-area.types.d.ts +1 -1
- package/dist/components/secret-value-field/index.js +10 -4
- package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +1 -1
- package/dist/components/segmented-control/segmented-control.css +22 -1
- package/dist/components/select/index.js +37 -24
- package/dist/components/select/select.css +9 -2
- package/dist/components/selection-popover/index.js +11 -4
- package/dist/components/share-card/index.js +3 -4
- package/dist/components/share-card/share-card.css +15 -4
- package/dist/components/sheet/index.js +365 -300
- package/dist/components/shortcut-hint/index.js +3 -3
- package/dist/components/sidebar/index.js +423 -353
- package/dist/components/sidebar/sidebar.schema.js +2 -2
- package/dist/components/sidebar/sidebar.types.d.ts +1 -1
- package/dist/components/slider/index.js +211 -9
- package/dist/components/slider/slider.css +14 -9
- package/dist/components/sortable-list/sortable-list.css +1 -1
- package/dist/components/spectrogram/index.js +224 -203
- package/dist/components/spectrum-chart/index.js +208 -187
- package/dist/components/speed-dial/index.js +11 -11
- package/dist/components/speed-dial/speed-dial.css +3 -3
- package/dist/components/speed-dial-action/index.js +9 -9
- package/dist/components/stat/index.js +26 -4
- package/dist/components/stat/stat.schema.js +2 -2
- package/dist/components/stat/stat.types.d.ts +2 -2
- package/dist/components/stat-group/index.js +26 -4
- package/dist/components/stat-group/stat-group.css +1 -1
- package/dist/components/status-dot/index.d.ts +1 -1
- package/dist/components/status-dot/index.js +47 -8
- package/dist/components/status-dot/status-dot.css +45 -1
- package/dist/components/status-dot/status-dot.schema.js +12 -5
- package/dist/components/status-dot/status-dot.svelte.d.ts +5 -1
- package/dist/components/status-dot/status-dot.types.d.ts +16 -6
- package/dist/components/steps/steps.css +3 -3
- package/dist/components/table/index.js +23 -17
- package/dist/components/table/table.css +10 -0
- package/dist/components/table/table.types.d.ts +3 -3
- package/dist/components/table-header/index.js +5 -5
- package/dist/components/table-header/table-header.schema.js +3 -3
- package/dist/components/table-header/table-header.types.d.ts +2 -2
- package/dist/components/table-header-cell/index.js +11 -5
- package/dist/components/table-row/index.js +7 -7
- package/dist/components/table-row/table-row.schema.js +3 -3
- package/dist/components/table-row/table-row.types.d.ts +6 -6
- package/dist/components/tabs/index.js +17 -4
- package/dist/components/tabs/tabs.schema.js +6 -1
- package/dist/components/tabs/tabs.types.d.ts +2 -0
- package/dist/components/textarea/index.js +37 -24
- package/dist/components/textarea/textarea.css +16 -1
- package/dist/components/time-field/index.d.ts +5 -0
- package/dist/components/time-field/index.js +456 -0
- package/dist/components/time-field/time-field.css +60 -0
- package/dist/components/time-field/time-field.schema.d.ts +3 -0
- package/dist/components/time-field/time-field.schema.js +107 -0
- package/dist/components/time-field/time-field.svelte.d.ts +18 -0
- package/dist/components/time-field/time-field.types.d.ts +63 -0
- package/dist/components/time-field/time-field.variables.d.ts +2 -0
- package/dist/components/{experimental/connection-indicator/index.js → time-field/time-field.variables.js} +5 -14
- package/dist/components/toggle/index.js +39 -7
- package/dist/components/toggle/toggle.schema.js +11 -2
- package/dist/components/toggle/toggle.types.d.ts +2 -0
- package/dist/components/tooltip/index.js +3 -2
- package/dist/components/transfer-list/index.js +41 -11
- package/dist/components/transfer-list/transfer-list.css +22 -0
- package/dist/components/transfer-list/transfer-list.schema.js +2 -2
- package/dist/components/transfer-list/transfer-list.types.d.ts +2 -2
- package/dist/components/tree/index.js +238 -153
- package/dist/components/tree/tree.css +69 -0
- package/dist/components/tree/tree.schema.js +3 -3
- package/dist/components/tree/tree.types.d.ts +2 -2
- package/dist/components/tree-item/index.js +107 -68
- package/dist/components/tree-item/tree-item.schema.js +5 -5
- package/dist/components/tree-item/tree-item.types.d.ts +4 -4
- package/dist/components/virtual-list/index.js +98 -63
- package/dist/components/waveform/index.js +185 -164
- package/dist/editor/attach.d.ts +2 -2
- package/dist/editor/attach.js +10 -16
- package/dist/editor/editor.js +6 -6
- package/dist/editor/keymap-plugin.d.ts +2 -2
- package/dist/editor/keymap-plugin.js +4 -4
- package/dist/editor/types.d.ts +11 -11
- package/dist/index.d.ts +14 -12
- package/dist/index.js +106 -105
- package/dist/server/components/access-gate/index.js +176 -305
- package/dist/server/components/alert/alert.schema.js +4 -4
- package/dist/server/components/alert/index.css +1 -1
- package/dist/server/components/alert/index.js +4 -4
- package/dist/server/components/alert-dialog/index.js +9 -3
- package/dist/server/components/approval-card/approval-card.schema.js +217 -0
- package/dist/server/components/approval-card/approval-card.variables.js +12 -0
- package/dist/server/components/approval-card/index.css +1767 -0
- package/dist/server/components/approval-card/index.js +2499 -0
- package/dist/server/components/autocomplete/index.css +12 -1
- package/dist/server/components/autocomplete/index.js +34 -24
- package/dist/server/components/badge/badge.schema.js +6 -3
- package/dist/server/components/badge/index.js +71 -4
- package/dist/server/components/banner/banner.schema.js +2 -2
- package/dist/server/components/banner/index.js +3 -3
- package/dist/server/components/button/index.css +1 -1
- package/dist/server/components/capability-gate/capability-gate.schema.js +4 -4
- package/dist/server/components/capability-gate/index.css +10 -2
- package/dist/server/components/capability-gate/index.js +5 -5
- package/dist/server/components/chat/chat.schema.js +11 -26
- package/dist/server/components/chat/index.js +695 -438
- package/dist/server/components/chat-conversation-header/index.css +7 -1
- package/dist/server/components/chat-conversation-header/index.js +215 -17
- package/dist/server/components/chat-conversation-list/index.css +8 -0
- package/dist/server/components/checkbox/checkbox.schema.js +6 -1
- package/dist/server/components/checkbox/index.css +3 -0
- package/dist/server/components/checkbox/index.js +41 -4
- package/dist/server/components/checkbox-group/checkbox-group.schema.js +4 -4
- package/dist/server/components/checkbox-group/index.css +3 -0
- package/dist/server/components/checkbox-group/index.js +23 -4
- package/dist/server/components/choice-grid/index.js +2 -2
- package/dist/server/components/choice-grid-item/index.js +2 -2
- package/dist/server/components/click-away-listener/click-away-listener.schema.js +3 -3
- package/dist/server/components/click-away-listener/index.js +2 -2
- package/dist/server/components/code-block/index.css +4 -3
- package/dist/server/components/code-block/index.js +1 -6
- package/dist/server/components/collapsible/collapsible.schema.js +2 -2
- package/dist/server/components/collapsible/index.js +3 -3
- package/dist/server/components/color-field/color-field.schema.js +3 -3
- package/dist/server/components/color-field/index.js +61 -17
- package/dist/server/components/color-picker/index.js +29 -12
- package/dist/server/components/color-swatch-picker/index.js +29 -12
- package/dist/server/components/combobox/combobox.schema.js +6 -2
- package/dist/server/components/combobox/index.js +61 -12
- package/dist/server/components/command-item/command-item.schema.js +9 -1
- package/dist/server/components/command-item/index.css +1 -0
- package/dist/server/components/command-item/index.js +10 -2
- package/dist/server/components/command-menu/index.css +1 -0
- package/dist/server/components/command-menu/index.js +193 -102
- package/dist/server/components/command-palette/command-palette.schema.js +2 -3
- package/dist/server/components/command-palette/index.css +1 -0
- package/dist/server/components/command-palette/index.js +190 -106
- package/dist/server/components/confirm-dialog/index.js +9 -3
- package/dist/server/components/context-menu/index.css +7 -1
- package/dist/server/components/context-menu/index.js +244 -26
- package/dist/server/components/context-menu-trigger/index.js +7 -4
- package/dist/server/components/copy-button/index.js +1 -6
- package/dist/server/components/data-grid/data-grid.schema.js +3 -3
- package/dist/server/components/data-grid/index.css +23 -0
- package/dist/server/components/data-grid/index.js +9 -7
- package/dist/server/components/data-list/data-list.schema.js +7 -10
- package/dist/server/components/data-list/index.js +7 -21
- package/dist/server/components/data-table/index.css +20 -0
- package/dist/server/components/data-table/index.js +26 -16
- package/dist/server/components/date-range-field/date-range-field.schema.js +7 -3
- package/dist/server/components/date-range-field/index.js +146 -12
- package/dist/server/components/diff-viewer/index.js +79 -7
- package/dist/server/components/drawer/index.js +260 -193
- package/dist/server/components/dropdown/index.css +7 -1
- package/dist/server/components/dropdown/index.js +221 -23
- package/dist/server/components/dropdown-group/dropdown-group.schema.js +4 -4
- package/dist/server/components/dropdown-group/index.js +7 -7
- package/dist/server/components/dropdown-item/dropdown-item.schema.js +9 -1
- package/dist/server/components/dropdown-item/index.js +12 -7
- package/dist/server/components/dropdown-menu/index.js +197 -13
- package/dist/server/components/dropdown-trigger/index.js +5 -2
- package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
- package/dist/server/components/event-stream-viewer/index.css +323 -0
- package/dist/server/components/event-stream-viewer/index.js +406 -139
- package/dist/server/components/faceted-filter-bar/index.css +10 -1
- package/dist/server/components/faceted-filter-bar/index.js +24 -6
- package/dist/server/components/file-upload/index.css +3 -3
- package/dist/server/components/floating-action-button/floating-action-button.schema.js +5 -5
- package/dist/server/components/floating-action-button/index.css +16 -16
- package/dist/server/components/floating-action-button/index.js +5 -5
- package/dist/server/components/form-field/index.css +0 -10
- package/dist/server/components/form-field/index.js +2 -2
- package/dist/server/components/input/index.js +59 -15
- package/dist/server/components/input/input.schema.js +6 -1
- package/dist/server/components/invocation-rule-builder/index.css +51 -6
- package/dist/server/components/invocation-rule-builder/index.js +56 -17
- package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
- package/dist/server/components/json-schema-editor/index.css +4 -1
- package/dist/server/components/json-schema-editor/index.js +282 -52
- package/dist/server/components/json-viewer/index.css +7 -1
- package/dist/server/components/json-viewer/index.js +83 -11
- package/dist/server/components/kanban-board/index.css +42 -3
- package/dist/server/components/kanban-board/index.js +7 -6
- package/dist/server/components/keyboard-shortcuts/index.css +2 -2
- package/dist/server/components/keyboard-shortcuts/index.js +2 -2
- package/dist/server/components/label/index.css +0 -10
- package/dist/server/components/label/index.js +2 -2
- package/dist/server/components/load-more/index.css +12 -4
- package/dist/server/components/load-more/index.js +5 -5
- package/dist/server/components/load-more/load-more.schema.js +4 -4
- package/dist/server/components/locale-provider/index.js +55 -0
- package/dist/server/components/locale-provider/locale-provider.schema.js +35 -0
- package/dist/server/components/locale-provider/locale-provider.variables.js +12 -0
- package/dist/server/components/markdown-editor/index.js +297 -60
- package/dist/server/components/markdown-editor/markdown-editor.schema.js +4 -4
- package/dist/server/components/masonry/masonry.schema.js +4 -3
- package/dist/server/components/matrix-chart/index.js +62 -39
- package/dist/server/components/media-controls/index.css +11 -3
- package/dist/server/components/media-controls/index.js +7 -7
- package/dist/server/components/media-controls/media-controls.schema.js +4 -4
- package/dist/server/components/menu-bar/index.css +15 -1
- package/dist/server/components/modal/index.js +9 -3
- package/dist/server/components/navigation-bar/index.js +3 -3
- package/dist/server/components/navigation-bar/navigation-bar.schema.js +2 -2
- package/dist/server/components/number-input/index.js +56 -18
- package/dist/server/components/number-input/number-input.schema.js +4 -3
- package/dist/server/components/payload-inspector/index.css +616 -0
- package/dist/server/components/payload-inspector/index.js +181 -22
- package/dist/server/components/payload-inspector/payload-inspector.schema.js +27 -15
- package/dist/server/components/permission-matrix/index.css +8 -0
- package/dist/server/components/phone-input/index.js +21 -3
- package/dist/server/components/phone-input/phone-input.schema.js +2 -2
- package/dist/server/components/pin-input/index.js +12 -7
- package/dist/server/components/pin-input/pin-input.schema.js +9 -2
- package/dist/server/components/popover/index.js +9 -3
- package/dist/server/components/pricing-card/index.js +22 -7
- package/dist/server/components/radio-group/index.css +3 -0
- package/dist/server/components/radio-group/index.js +24 -3
- package/dist/server/components/radio-group/radio-group.schema.js +3 -3
- package/dist/server/components/rating/rating.schema.js +9 -2
- package/dist/server/components/review-editor/index.js +426 -80
- package/dist/server/components/run-step-timeline/index.css +503 -6
- package/dist/server/components/run-step-timeline/index.js +455 -109
- package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +351 -21
- package/dist/server/components/schema-form/index.css +11 -69
- package/dist/server/components/schema-form/index.js +1291 -218
- package/dist/server/components/schema-form/schema-form.schema.js +10 -3
- package/dist/server/components/scroll-area/index.js +3 -3
- package/dist/server/components/scroll-area/scroll-area.schema.js +2 -2
- package/dist/server/components/secret-value-field/index.js +4 -4
- package/dist/server/components/segmented-control/index.css +15 -1
- package/dist/server/components/select/index.css +9 -2
- package/dist/server/components/select/index.js +9 -2
- package/dist/server/components/selection-popover/index.js +9 -3
- package/dist/server/components/share-card/index.css +11 -3
- package/dist/server/components/share-card/index.js +1 -5
- package/dist/server/components/sheet/index.js +265 -195
- package/dist/server/components/sidebar/index.js +274 -207
- package/dist/server/components/sidebar/sidebar.schema.js +2 -2
- package/dist/server/components/slider/index.css +13 -9
- package/dist/server/components/slider/index.js +173 -4
- package/dist/server/components/sortable-list/index.css +1 -1
- package/dist/server/components/spectrogram/index.js +68 -45
- package/dist/server/components/spectrum-chart/index.js +54 -31
- package/dist/server/components/speed-dial/index.css +3 -3
- package/dist/server/components/speed-dial/index.js +8 -8
- package/dist/server/components/speed-dial-action/index.js +6 -6
- package/dist/server/components/stat/index.js +26 -4
- package/dist/server/components/stat/stat.schema.js +2 -2
- package/dist/server/components/stat-group/index.css +1 -1
- package/dist/server/components/stat-group/index.js +26 -4
- package/dist/server/components/status-dot/index.css +45 -1
- package/dist/server/components/status-dot/index.js +35 -7
- package/dist/server/components/status-dot/status-dot.schema.js +12 -5
- package/dist/server/components/steps/index.css +3 -3
- package/dist/server/components/table/index.css +8 -0
- package/dist/server/components/table/index.js +22 -16
- package/dist/server/components/table-header/index.js +6 -6
- package/dist/server/components/table-header/table-header.schema.js +3 -3
- package/dist/server/components/table-header-cell/index.js +9 -3
- package/dist/server/components/table-row/index.js +7 -7
- package/dist/server/components/table-row/table-row.schema.js +3 -3
- package/dist/server/components/tabs/index.js +18 -4
- package/dist/server/components/tabs/tabs.schema.js +6 -1
- package/dist/server/components/textarea/index.css +16 -1
- package/dist/server/components/textarea/index.js +9 -2
- package/dist/server/components/time-field/index.css +58 -0
- package/dist/server/components/time-field/index.js +291 -0
- package/dist/server/components/time-field/time-field.schema.js +88 -0
- package/dist/server/components/time-field/time-field.variables.js +12 -0
- package/dist/server/components/toggle/index.js +40 -7
- package/dist/server/components/toggle/toggle.schema.js +11 -2
- package/dist/server/components/transfer-list/index.css +16 -0
- package/dist/server/components/transfer-list/index.js +37 -11
- package/dist/server/components/transfer-list/transfer-list.schema.js +2 -2
- package/dist/server/components/tree/index.css +68 -0
- package/dist/server/components/tree/index.js +67 -20
- package/dist/server/components/tree/tree.schema.js +3 -3
- package/dist/server/components/tree-item/index.js +34 -13
- package/dist/server/components/tree-item/tree-item.schema.js +5 -5
- package/dist/server/components/virtual-list/index.js +36 -13
- package/dist/server/components/waveform/index.js +51 -28
- package/dist/server/editor/attach.d.ts +2 -2
- package/dist/server/editor/attach.js +10 -16
- package/dist/server/editor/editor.js +6 -6
- package/dist/server/editor/keymap-plugin.d.ts +2 -2
- package/dist/server/editor/keymap-plugin.js +4 -4
- package/dist/server/editor/types.d.ts +11 -11
- package/dist/server/index.css +2033 -1463
- package/dist/server/index.js +7203 -5135
- package/dist/utilities/attachments.d.ts +6 -6
- package/dist/utilities/value-change.d.ts +2 -0
- package/package.json +96 -63
- package/src/_internal/locale-context.ts +21 -0
- package/src/_internal/text-direction.ts +213 -0
- package/src/_internal/tree-context.ts +2 -0
- package/src/components/_internal/create-command-list-state.svelte.ts +171 -0
- package/src/components/_internal/create-sliding-dialog-state.svelte.ts +170 -0
- package/src/components/_radio/README.md +1 -1
- package/src/components/access-gate/access-gate-inline.svelte +3 -1
- package/src/components/alert/README.md +8 -8
- package/src/components/alert/alert.css +1 -1
- package/src/components/alert/alert.examples.json +4 -4
- package/src/components/alert/alert.svelte +3 -5
- package/src/components/alert/alert.types.ts +4 -4
- package/src/components/approval-card/README.md +92 -0
- package/src/components/approval-card/approval-card-state.ts +24 -0
- package/src/components/approval-card/approval-card.css +239 -0
- package/src/components/approval-card/approval-card.examples.json +25 -0
- package/src/components/approval-card/approval-card.svelte +583 -0
- package/src/components/approval-card/approval-card.types.ts +180 -0
- package/src/components/approval-card/index.ts +16 -0
- package/src/components/autocomplete/autocomplete.css +12 -1
- package/src/components/autocomplete/autocomplete.svelte +53 -27
- package/src/components/badge/README.md +8 -7
- package/src/components/badge/badge.svelte +80 -3
- package/src/components/badge/badge.types.ts +36 -13
- package/src/components/badge/index.ts +1 -1
- package/src/components/banner/README.md +2 -2
- package/src/components/banner/banner.examples.json +19 -0
- package/src/components/banner/banner.svelte +2 -2
- package/src/components/banner/banner.types.ts +1 -1
- package/src/components/button/button.css +1 -1
- package/src/components/callout/callout.examples.json +19 -0
- package/src/components/capability-gate/README.md +3 -3
- package/src/components/capability-gate/capability-gate.css +15 -2
- package/src/components/capability-gate/capability-gate.examples.json +1 -1
- package/src/components/capability-gate/capability-gate.svelte +7 -7
- package/src/components/capability-gate/capability-gate.types.ts +6 -6
- package/src/components/chat/README.md +6 -10
- package/src/components/chat/chat.examples.json +8 -8
- package/src/components/chat/chat.types.ts +31 -15
- package/src/components/chat/container/chat-events.ts +2 -2
- package/src/components/chat/container/chat-history-trigger.svelte +9 -1
- package/src/components/chat/container/chat.svelte +47 -46
- package/src/components/chat/container/use-chat-scroll-state.svelte.ts +21 -18
- package/src/components/chat/container/use-chat-unread-state.svelte.ts +19 -19
- package/src/components/chat/index.ts +1 -1
- package/src/components/chat/input/chat-input.svelte +35 -13
- package/src/components/chat/message/image-lightbox.svelte +38 -15
- package/src/components/chat/message/message-attachments.svelte +1 -1
- package/src/components/chat/message/parts/reasoning-part.svelte +8 -0
- package/src/components/chat/message/parts/tool-approval-part.svelte +22 -9
- package/src/components/chat-conversation-list/chat-conversation-list.css +13 -0
- package/src/components/checkbox/README.md +1 -0
- package/src/components/checkbox/checkbox.css +3 -0
- package/src/components/checkbox/checkbox.svelte +44 -2
- package/src/components/checkbox/checkbox.types.ts +2 -0
- package/src/components/checkbox-group/README.md +2 -2
- package/src/components/checkbox-group/checkbox-group.css +3 -0
- package/src/components/checkbox-group/checkbox-group.examples.json +13 -0
- package/src/components/checkbox-group/checkbox-group.svelte +23 -2
- package/src/components/checkbox-group/checkbox-group.types.ts +12 -7
- package/src/components/choice-grid-item/choice-grid-item.svelte +1 -1
- package/src/components/click-away-listener/README.md +2 -2
- package/src/components/click-away-listener/click-away-listener.examples.json +1 -1
- package/src/components/click-away-listener/click-away-listener.svelte +2 -2
- package/src/components/click-away-listener/click-away-listener.types.ts +3 -3
- package/src/components/code-block/code-block.css +4 -3
- package/src/components/collapsible/README.md +2 -2
- package/src/components/collapsible/collapsible.svelte +2 -2
- package/src/components/collapsible/collapsible.types.ts +5 -2
- package/src/components/color-field/README.md +18 -18
- package/src/components/color-field/color-field.svelte +2 -2
- package/src/components/color-field/color-field.types.ts +2 -2
- package/src/components/color-swatch-picker/color-swatch-picker.examples.json +13 -0
- package/src/components/color-swatch-picker/color-swatch-picker.svelte +38 -24
- package/src/components/combobox/README.md +2 -1
- package/src/components/combobox/combobox.svelte +38 -17
- package/src/components/combobox/combobox.types.ts +7 -1
- package/src/components/command-item/README.md +13 -11
- package/src/components/command-item/command-item.css +10 -0
- package/src/components/command-item/command-item.svelte +11 -0
- package/src/components/command-item/command-item.types.ts +4 -0
- package/src/components/command-menu/command-menu.svelte +21 -102
- package/src/components/command-palette/README.md +12 -12
- package/src/components/command-palette/command-palette.examples.json +3 -3
- package/src/components/command-palette/command-palette.svelte +17 -134
- package/src/components/command-palette/command-palette.types.ts +1 -2
- package/src/components/context-menu/context-menu.context.ts +2 -0
- package/src/components/context-menu/context-menu.svelte +35 -9
- package/src/components/context-menu-trigger/context-menu-trigger.svelte +9 -6
- package/src/components/copy-button/copy-button.svelte +4 -3
- package/src/components/data-grid/README.md +3 -3
- package/src/components/data-grid/_internal/column-model.svelte.ts +2 -0
- package/src/components/data-grid/data-grid.css +25 -0
- package/src/components/data-grid/data-grid.svelte +7 -7
- package/src/components/data-grid/data-grid.types.ts +8 -2
- package/src/components/data-list/README.md +9 -9
- package/src/components/data-list/data-list.examples.json +1 -1
- package/src/components/data-list/data-list.svelte +3 -9
- package/src/components/data-list/data-list.types.ts +5 -9
- package/src/components/data-table/data-table.css +13 -0
- package/src/components/data-table/data-table.svelte +13 -3
- package/src/components/date-range-field/README.md +9 -8
- package/src/components/date-range-field/date-range-field.svelte +193 -19
- package/src/components/date-range-field/date-range-field.types.ts +16 -10
- package/src/components/date-range-field/index.ts +1 -0
- package/src/components/diff-viewer/diff-front-matter.svelte +2 -2
- package/src/components/diff-viewer/diff-line.svelte +32 -8
- package/src/components/diff-viewer/diff-toolbar.svelte +3 -3
- package/src/components/diff-viewer/diff-viewer.svelte +4 -4
- package/src/components/diff-viewer/diff-viewer.types.ts +3 -3
- package/src/components/diff-viewer/index.ts +1 -1
- package/src/components/drawer/drawer.svelte +26 -145
- package/src/components/dropdown/dropdown.css +7 -1
- package/src/components/dropdown/dropdown.types.ts +3 -0
- package/src/components/dropdown-group/README.md +6 -6
- package/src/components/dropdown-group/dropdown-group.svelte +8 -8
- package/src/components/dropdown-group/dropdown-group.types.ts +4 -4
- package/src/components/dropdown-item/README.md +2 -0
- package/src/components/dropdown-item/dropdown-item.svelte +14 -11
- package/src/components/dropdown-item/dropdown-item.types.ts +5 -0
- package/src/components/dropdown-menu/dropdown-menu.svelte +42 -9
- package/src/components/dropdown-trigger/dropdown-trigger.svelte +4 -6
- package/src/components/event-stream-viewer/README.md +38 -16
- package/src/components/event-stream-viewer/event-stream-viewer-keys.ts +74 -0
- package/src/components/event-stream-viewer/event-stream-viewer.css +46 -0
- package/src/components/event-stream-viewer/event-stream-viewer.examples.json +6 -0
- package/src/components/event-stream-viewer/event-stream-viewer.svelte +262 -69
- package/src/components/event-stream-viewer/event-stream-viewer.types.ts +130 -3
- package/src/components/event-stream-viewer/index.ts +6 -0
- package/src/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
- package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +31 -5
- package/src/components/file-upload/file-upload.css +5 -5
- package/src/components/file-upload/file-upload.examples.json +13 -0
- package/src/components/floating-action-button/README.md +9 -9
- package/src/components/floating-action-button/floating-action-button.css +22 -22
- package/src/components/floating-action-button/floating-action-button.examples.json +1 -1
- package/src/components/floating-action-button/floating-action-button.svelte +7 -7
- package/src/components/floating-action-button/floating-action-button.types.ts +21 -21
- package/src/components/floating-action-button/index.ts +1 -1
- package/src/components/form-field/form-field.css +3 -13
- package/src/components/form-field/form-field.svelte +4 -1
- package/src/components/image/image.examples.json +13 -0
- package/src/components/input/README.md +16 -15
- package/src/components/input/input.examples.json +1 -1
- package/src/components/input/input.svelte +65 -28
- package/src/components/input/input.types.ts +2 -0
- package/src/components/invocation-rule-builder/README.md +14 -14
- package/src/components/invocation-rule-builder/index.ts +1 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
- package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +73 -16
- package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +99 -8
- package/src/components/json-schema-editor/form-view.svelte +3 -1
- package/src/components/json-schema-editor/json-schema-editor-impl.svelte +30 -18
- package/src/components/json-schema-editor/json-schema-editor.css +6 -1
- package/src/components/json-schema-editor/json-schema-toolbar.svelte +6 -0
- package/src/components/json-schema-editor/json-view.svelte +1 -1
- package/src/components/json-schema-editor/property-editor.svelte +38 -2
- package/src/components/json-schema-editor/property-list-validation.ts +10 -0
- package/src/components/json-schema-editor/property-list.svelte +48 -3
- package/src/components/json-viewer/_json-viewer-node.svelte +55 -9
- package/src/components/json-viewer/json-viewer.css +11 -0
- package/src/components/json-viewer/json-viewer.svelte +63 -1
- package/src/components/kanban-board/kanban-board.css +56 -3
- package/src/components/kanban-board/kanban-board.svelte +10 -3
- package/src/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
- package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +1 -1
- package/src/components/label/README.md +1 -1
- package/src/components/label/label.css +2 -9
- package/src/components/label/label.svelte +4 -2
- package/src/components/load-more/README.md +4 -4
- package/src/components/load-more/load-more.css +13 -5
- package/src/components/load-more/load-more.examples.json +2 -2
- package/src/components/load-more/load-more.svelte +4 -4
- package/src/components/load-more/load-more.types.ts +3 -3
- package/src/components/locale-provider/README.md +43 -0
- package/src/components/locale-provider/index.ts +5 -0
- package/src/components/locale-provider/locale-provider.svelte +40 -0
- package/src/components/locale-provider/locale-provider.types.ts +21 -0
- package/src/components/markdown-editor/README.md +3 -3
- package/src/components/markdown-editor/editor-toolbar/editor-toolbar.svelte +5 -2
- package/src/components/markdown-editor/editor-toolbar/link-popover.svelte +13 -0
- package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +2 -0
- package/src/components/markdown-editor/markdown-editor.svelte +14 -12
- package/src/components/markdown-editor/markdown-editor.types.ts +4 -4
- package/src/components/masonry/README.md +7 -7
- package/src/components/masonry/masonry.types.ts +24 -2
- package/src/components/matrix-chart/matrix-chart.svelte +7 -21
- package/src/components/media-controls/README.md +3 -3
- package/src/components/media-controls/media-controls.css +15 -4
- package/src/components/media-controls/media-controls.examples.json +1 -1
- package/src/components/media-controls/media-controls.svelte +6 -6
- package/src/components/media-controls/media-controls.types.ts +10 -7
- package/src/components/menu-bar/menu-bar.css +11 -0
- package/src/components/menu-bar/menu-bar.svelte +81 -12
- package/src/components/navigation-bar/README.md +1 -1
- package/src/components/navigation-bar/navigation-bar.examples.json +1 -1
- package/src/components/navigation-bar/navigation-bar.svelte +2 -2
- package/src/components/navigation-bar/navigation-bar.types.ts +1 -1
- package/src/components/number-input/README.md +18 -18
- package/src/components/number-input/number-input.examples.json +13 -0
- package/src/components/number-input/number-input.svelte +77 -38
- package/src/components/number-input/number-input.types.ts +15 -5
- package/src/components/pagination/README.md +3 -1
- package/src/components/payload-inspector/README.md +11 -11
- package/src/components/payload-inspector/index.ts +2 -0
- package/src/components/payload-inspector/payload-inspector.css +6 -0
- package/src/components/payload-inspector/payload-inspector.svelte +22 -4
- package/src/components/payload-inspector/payload-inspector.types.ts +54 -3
- package/src/components/permission-matrix/permission-matrix.css +10 -0
- package/src/components/phone-input/README.md +1 -1
- package/src/components/phone-input/phone-input.svelte +7 -1
- package/src/components/phone-input/phone-input.types.ts +3 -2
- package/src/components/pin-input/README.md +19 -19
- package/src/components/pin-input/pin-input.svelte +16 -12
- package/src/components/pin-input/pin-input.types.ts +10 -1
- package/src/components/portal/portal.utilities.svelte.ts +4 -1
- package/src/components/pricing-card/pricing-card.svelte +26 -1
- package/src/components/radio-group/README.md +12 -12
- package/src/components/radio-group/radio-group.css +3 -0
- package/src/components/radio-group/radio-group.examples.json +3 -3
- package/src/components/radio-group/radio-group.svelte +22 -2
- package/src/components/radio-group/radio-group.types.ts +6 -2
- package/src/components/rating/README.md +18 -18
- package/src/components/rating/rating.svelte +0 -8
- package/src/components/rating/rating.types.ts +6 -0
- package/src/components/review-editor/comment-list.svelte +1 -1
- package/src/components/review-editor/index.ts +1 -1
- package/src/components/review-editor/review-editor-controls.svelte +8 -3
- package/src/components/review-editor/review-editor-impl.svelte +11 -7
- package/src/components/review-editor/review-editor-selection-types.ts +1 -1
- package/src/components/review-editor/review-editor-selection.svelte.ts +1 -1
- package/src/components/review-editor/review-editor-state.svelte.ts +1 -1
- package/src/components/review-editor/review-editor-threads.svelte.ts +2 -2
- package/src/components/review-editor/review-editor.types.ts +91 -3
- package/src/components/review-editor/thread-popover.svelte +1 -1
- package/src/components/run-step-timeline/README.md +53 -6
- package/src/components/run-step-timeline/index.ts +6 -0
- package/src/components/run-step-timeline/run-step-timeline.css +25 -5
- package/src/components/run-step-timeline/run-step-timeline.examples.json +3 -3
- package/src/components/run-step-timeline/run-step-timeline.svelte +314 -78
- package/src/components/run-step-timeline/run-step-timeline.types.ts +190 -3
- package/src/components/schema-form/README.md +9 -9
- package/src/components/schema-form/index.ts +0 -1
- package/src/components/schema-form/schema-form-async.fixture.ts +101 -0
- package/src/components/schema-form/schema-form-body.svelte +646 -0
- package/src/components/schema-form/schema-form-model.ts +4 -44
- package/src/components/schema-form/schema-form-validation.ts +83 -46
- package/src/components/schema-form/schema-form.css +12 -74
- package/src/components/schema-form/schema-form.examples.json +0 -6
- package/src/components/schema-form/schema-form.svelte +30 -598
- package/src/components/schema-form/schema-form.types.ts +16 -12
- package/src/components/scroll-area/README.md +1 -1
- package/src/components/scroll-area/scroll-area.examples.json +3 -3
- package/src/components/scroll-area/scroll-area.svelte +5 -5
- package/src/components/scroll-area/scroll-area.types.ts +1 -1
- package/src/components/secret-value-field/secret-value-field.svelte +10 -6
- package/src/components/segmented-control/segmented-control.css +22 -1
- package/src/components/segmented-control/segmented-control.examples.json +2 -2
- package/src/components/select/select.css +9 -2
- package/src/components/select/select.svelte +6 -1
- package/src/components/selection-popover/selection-popover.examples.json +1 -1
- package/src/components/share-card/share-card.css +15 -4
- package/src/components/share-card/share-card.svelte +2 -4
- package/src/components/sheet/sheet.svelte +30 -145
- package/src/components/shortcut-hint/shortcut-hint.svelte +1 -1
- package/src/components/side-navigation/side-navigation.examples.json +1 -1
- package/src/components/sidebar/README.md +6 -2
- package/src/components/sidebar/sidebar.examples.json +1 -1
- package/src/components/sidebar/sidebar.svelte +4 -4
- package/src/components/sidebar/sidebar.types.ts +1 -1
- package/src/components/slider/slider.css +14 -9
- package/src/components/slider/slider.svelte +33 -2
- package/src/components/sortable-list/README.md +18 -1
- package/src/components/sortable-list/sortable-list.css +1 -1
- package/src/components/sortable-list/sortable-list.examples.json +13 -0
- package/src/components/spectrogram/spectrogram.examples.json +1 -0
- package/src/components/spectrogram/spectrogram.svelte +7 -19
- package/src/components/spectrum-chart/spectrum-chart.svelte +8 -20
- package/src/components/speed-dial/speed-dial.css +3 -3
- package/src/components/speed-dial/speed-dial.examples.json +1 -1
- package/src/components/speed-dial/speed-dial.svelte +2 -2
- package/src/components/speed-dial-action/speed-dial-action.svelte +1 -1
- package/src/components/stacked-list-item/stacked-list-item.examples.json +1 -1
- package/src/components/stat/README.md +1 -1
- package/src/components/stat/stat.svelte +7 -2
- package/src/components/stat/stat.types.ts +2 -2
- package/src/components/stat-group/stat-group.css +1 -1
- package/src/components/status-dot/README.md +9 -7
- package/src/components/status-dot/index.ts +6 -1
- package/src/components/status-dot/status-dot.css +45 -1
- package/src/components/status-dot/status-dot.examples.json +1 -1
- package/src/components/status-dot/status-dot.svelte +57 -8
- package/src/components/status-dot/status-dot.types.ts +17 -6
- package/src/components/steps/steps.css +3 -3
- package/src/components/table/table.css +10 -0
- package/src/components/table/table.examples.json +1 -1
- package/src/components/table/table.svelte +2 -2
- package/src/components/table/table.types.ts +3 -3
- package/src/components/table-header/README.md +2 -2
- package/src/components/table-header/table-header.svelte +5 -5
- package/src/components/table-header/table-header.types.ts +2 -2
- package/src/components/table-header-cell/table-header-cell.svelte +13 -2
- package/src/components/table-row/README.md +2 -2
- package/src/components/table-row/table-row.svelte +6 -6
- package/src/components/table-row/table-row.types.ts +6 -6
- package/src/components/tabs/README.md +1 -0
- package/src/components/tabs/tabs.svelte +11 -3
- package/src/components/tabs/tabs.types.ts +2 -0
- package/src/components/textarea/textarea.css +16 -1
- package/src/components/textarea/textarea.svelte +6 -1
- package/src/components/time-field/README.md +60 -0
- package/src/components/time-field/index.ts +6 -0
- package/src/components/time-field/time-field.css +60 -0
- package/src/components/time-field/time-field.examples.json +13 -0
- package/src/components/time-field/time-field.svelte +277 -0
- package/src/components/time-field/time-field.types.ts +70 -0
- package/src/components/toggle/README.md +12 -11
- package/src/components/toggle/toggle.svelte +19 -6
- package/src/components/toggle/toggle.types.ts +2 -0
- package/src/components/transfer-list/README.md +1 -1
- package/src/components/transfer-list/transfer-list.css +22 -0
- package/src/components/transfer-list/transfer-list.svelte +44 -10
- package/src/components/transfer-list/transfer-list.types.ts +5 -2
- package/src/components/tree/README.md +2 -2
- package/src/components/tree/tree.css +69 -0
- package/src/components/tree/tree.examples.json +1 -1
- package/src/components/tree/tree.svelte +52 -9
- package/src/components/tree/tree.types.ts +2 -2
- package/src/components/tree-item/README.md +4 -4
- package/src/components/tree-item/tree-item.svelte +42 -12
- package/src/components/tree-item/tree-item.types.ts +4 -4
- package/src/components/virtual-list/virtual-list.svelte +5 -5
- package/src/components/waveform/waveform.svelte +7 -19
- package/src/index.ts +40 -16
- package/src/styles/components/_field-label.css +20 -0
- package/src/styles/components/_input-frame.css +2 -1
- package/src/styles/components.css +3 -2
- package/src/styles/index.css +1 -0
- package/src/styles/tokens-base.css +3 -0
- package/src/utilities/attachments.ts +15 -12
- package/src/utilities/value-change.ts +11 -0
- package/dist/components/connection-indicator/connection-indicator.css +0 -63
- package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +0 -18
- package/dist/components/connection-indicator/connection-indicator.types.d.ts +0 -14
- package/dist/components/connection-indicator/index.d.ts +0 -5
- package/dist/components/connection-indicator/index.js +0 -75
- package/dist/components/experimental/connection-indicator/index.d.ts +0 -2
- package/dist/components/review-editor/review-editor-types.d.ts +0 -77
- package/dist/components/subscription-badge/index.d.ts +0 -5
- package/dist/components/subscription-badge/index.js +0 -353
- package/dist/components/subscription-badge/subscription-badge.css +0 -18
- package/dist/components/subscription-badge/subscription-badge.schema.js +0 -47
- package/dist/components/subscription-badge/subscription-badge.svelte.d.ts +0 -19
- package/dist/components/subscription-badge/subscription-badge.types.d.ts +0 -28
- package/dist/server/components/connection-indicator/connection-indicator.schema.js +0 -31
- package/dist/server/components/connection-indicator/connection-indicator.variables.js +0 -12
- package/dist/server/components/connection-indicator/index.css +0 -60
- package/dist/server/components/connection-indicator/index.js +0 -42
- package/dist/server/components/experimental/connection-indicator/index.js +0 -23
- package/dist/server/components/subscription-badge/index.css +0 -2
- package/dist/server/components/subscription-badge/index.js +0 -308
- package/dist/server/components/subscription-badge/subscription-badge.schema.js +0 -28
- package/dist/server/components/subscription-badge/subscription-badge.variables.js +0 -12
- package/src/components/connection-indicator/README.md +0 -41
- package/src/components/connection-indicator/connection-indicator.css +0 -63
- package/src/components/connection-indicator/connection-indicator.svelte +0 -44
- package/src/components/connection-indicator/connection-indicator.types.ts +0 -18
- package/src/components/connection-indicator/index.ts +0 -6
- package/src/components/experimental/connection-indicator/index.ts +0 -20
- package/src/components/review-editor/review-editor-types.ts +0 -92
- package/src/components/subscription-badge/README.md +0 -50
- package/src/components/subscription-badge/index.ts +0 -6
- package/src/components/subscription-badge/subscription-badge.css +0 -18
- package/src/components/subscription-badge/subscription-badge.examples.json +0 -19
- package/src/components/subscription-badge/subscription-badge.svelte +0 -69
- package/src/components/subscription-badge/subscription-badge.types.ts +0 -37
- /package/dist/components/{connection-indicator/connection-indicator.schema.d.ts → approval-card/approval-card.schema.d.ts} +0 -0
- /package/dist/components/{connection-indicator/connection-indicator.variables.d.ts → approval-card/approval-card.variables.d.ts} +0 -0
- /package/dist/components/{subscription-badge/subscription-badge.schema.d.ts → locale-provider/locale-provider.schema.d.ts} +0 -0
- /package/dist/components/{subscription-badge/subscription-badge.variables.d.ts → locale-provider/locale-provider.variables.d.ts} +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
+
|
|
3
|
+
export type ApprovalToolRisk = 'low' | 'medium' | 'high';
|
|
4
|
+
|
|
5
|
+
/** @schemaObject */
|
|
6
|
+
export type ApprovalTool = {
|
|
7
|
+
/** Human-readable tool name requesting approval. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Risk level assigned by the policy evaluator. */
|
|
10
|
+
risk: ApprovalToolRisk;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/** @schemaObject */
|
|
14
|
+
export type ApprovalSandbox = {
|
|
15
|
+
/** Sandbox provider, such as Codex or a remote execution backend. */
|
|
16
|
+
provider: string;
|
|
17
|
+
/** Sandbox profile or policy name. */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Working directory for the pending operation. */
|
|
20
|
+
workingDir: string;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type ApprovalOperationKind = 'command' | 'file-write' | 'patch' | 'other';
|
|
24
|
+
|
|
25
|
+
/** @schemaObject */
|
|
26
|
+
export type ApprovalCommandOperation = {
|
|
27
|
+
/** Operation family being approved. */
|
|
28
|
+
kind: 'command';
|
|
29
|
+
/** Shell command for command approvals. */
|
|
30
|
+
command: string;
|
|
31
|
+
/** File paths that the operation may read or write. */
|
|
32
|
+
filesTouched?: string[];
|
|
33
|
+
/**
|
|
34
|
+
* JSON-like argument preview shown to the approver.
|
|
35
|
+
*
|
|
36
|
+
* @schemaPermissive
|
|
37
|
+
*/
|
|
38
|
+
argsPreview?: unknown;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** @schemaObject */
|
|
42
|
+
export type ApprovalFileWriteOperation = {
|
|
43
|
+
/** Operation family being approved. */
|
|
44
|
+
kind: 'file-write';
|
|
45
|
+
/** File paths that the operation may read or write. File-write approvals require at least one path. */
|
|
46
|
+
filesTouched: string[];
|
|
47
|
+
/**
|
|
48
|
+
* JSON-like argument preview shown to the approver.
|
|
49
|
+
*
|
|
50
|
+
* @schemaPermissive
|
|
51
|
+
*/
|
|
52
|
+
argsPreview?: unknown;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/** @schemaObject */
|
|
56
|
+
export type ApprovalPatchOperation = {
|
|
57
|
+
/** Operation family being approved. */
|
|
58
|
+
kind: 'patch';
|
|
59
|
+
/** File paths that the operation may read or write. */
|
|
60
|
+
filesTouched?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* JSON-like argument preview shown to the approver.
|
|
63
|
+
*
|
|
64
|
+
* @schemaPermissive
|
|
65
|
+
*/
|
|
66
|
+
argsPreview?: unknown;
|
|
67
|
+
/** Patch diff for patch approvals. */
|
|
68
|
+
diff: string;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/** @schemaObject */
|
|
72
|
+
export type ApprovalOtherOperation = {
|
|
73
|
+
/** Operation family being approved. */
|
|
74
|
+
kind: 'other';
|
|
75
|
+
/** File paths that the operation may read or write. */
|
|
76
|
+
filesTouched?: string[];
|
|
77
|
+
/**
|
|
78
|
+
* JSON-like argument preview shown to the approver.
|
|
79
|
+
*
|
|
80
|
+
* @schemaPermissive
|
|
81
|
+
*/
|
|
82
|
+
argsPreview?: unknown;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export type ApprovalOperation =
|
|
86
|
+
| ApprovalCommandOperation
|
|
87
|
+
| ApprovalFileWriteOperation
|
|
88
|
+
| ApprovalPatchOperation
|
|
89
|
+
| ApprovalOtherOperation;
|
|
90
|
+
|
|
91
|
+
export type ApprovalOperationSchema = ApprovalOperation;
|
|
92
|
+
|
|
93
|
+
export type ApprovalState =
|
|
94
|
+
| 'pending'
|
|
95
|
+
| 'approved'
|
|
96
|
+
| 'approved_with_edits'
|
|
97
|
+
| 'denied'
|
|
98
|
+
| 'expired'
|
|
99
|
+
| 'cancelled';
|
|
100
|
+
|
|
101
|
+
export type ApprovalCardCallbacks = {
|
|
102
|
+
/** Called when the approver accepts the operation as presented. */
|
|
103
|
+
onapprove?: () => void;
|
|
104
|
+
/** Called with parsed JSON arguments when the approver accepts edited arguments. */
|
|
105
|
+
onapprovewithedits?: (editedArgs: unknown) => void;
|
|
106
|
+
/** Called when the approver denies the operation. */
|
|
107
|
+
ondeny?: () => void;
|
|
108
|
+
/** Called when the approver asks the host application to remember the decision. */
|
|
109
|
+
onremember?: () => void;
|
|
110
|
+
/** Called when the approver cancels the approval prompt. */
|
|
111
|
+
oncancel?: () => void;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/** Props for the ApprovalCard component. */
|
|
115
|
+
export type ApprovalCardProps = Omit<HTMLAttributes<HTMLElement>, 'class' | 'children'> &
|
|
116
|
+
ApprovalCardCallbacks & {
|
|
117
|
+
/** Tool requesting approval. */
|
|
118
|
+
tool: ApprovalTool;
|
|
119
|
+
/** Optional sandbox context in which the operation will run. */
|
|
120
|
+
sandbox?: ApprovalSandbox;
|
|
121
|
+
/** Operation details shown to the approver. */
|
|
122
|
+
operation: ApprovalOperation;
|
|
123
|
+
/** Environment variable names only. Values are ignored if accidentally supplied as `NAME=value`. */
|
|
124
|
+
env?: string[];
|
|
125
|
+
/** Snapshot identifier for the pending approval context. */
|
|
126
|
+
snapshotId?: string;
|
|
127
|
+
/** Policy version that produced the approval request. */
|
|
128
|
+
policyVersion: string;
|
|
129
|
+
/** Idempotency key that makes repeated decisions durable. */
|
|
130
|
+
idempotencyKey: string;
|
|
131
|
+
/** Optional ISO timestamp after which a pending approval is treated as expired. */
|
|
132
|
+
expiresAt?: string;
|
|
133
|
+
/** Persisted approval state. */
|
|
134
|
+
state: ApprovalState;
|
|
135
|
+
/** Whether approving with edited JSON arguments is available. Default `false`. */
|
|
136
|
+
editableArgs?: boolean;
|
|
137
|
+
/** Additional CSS classes applied to the root element. */
|
|
138
|
+
class?: string;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Cinder-specific schema surface for ApprovalCard.
|
|
143
|
+
*
|
|
144
|
+
* Callback props are documented but marked unsupported because functions cannot
|
|
145
|
+
* be represented as JSON Schema controls.
|
|
146
|
+
*/
|
|
147
|
+
export type ApprovalCardSchemaProps = {
|
|
148
|
+
/** Tool requesting approval. */
|
|
149
|
+
tool: ApprovalTool;
|
|
150
|
+
/** Optional sandbox context in which the operation will run. */
|
|
151
|
+
sandbox?: ApprovalSandbox;
|
|
152
|
+
/** Operation details shown to the approver. */
|
|
153
|
+
operation: ApprovalOperationSchema;
|
|
154
|
+
/** Environment variable names only. Values are ignored if accidentally supplied as `NAME=value`. */
|
|
155
|
+
env?: string[];
|
|
156
|
+
/** Snapshot identifier for the pending approval context. */
|
|
157
|
+
snapshotId?: string;
|
|
158
|
+
/** Policy version that produced the approval request. */
|
|
159
|
+
policyVersion: string;
|
|
160
|
+
/** Idempotency key that makes repeated decisions durable. */
|
|
161
|
+
idempotencyKey: string;
|
|
162
|
+
/** Optional ISO timestamp after which a pending approval is treated as expired. */
|
|
163
|
+
expiresAt?: string;
|
|
164
|
+
/** Persisted approval state. */
|
|
165
|
+
state: ApprovalState;
|
|
166
|
+
/** Whether approving with edited JSON arguments is available. Default `false`. */
|
|
167
|
+
editableArgs?: boolean;
|
|
168
|
+
/** Called when the approver accepts the operation as presented. */
|
|
169
|
+
onapprove?: () => void;
|
|
170
|
+
/** Called with parsed JSON arguments when the approver accepts edited arguments. */
|
|
171
|
+
onapprovewithedits?: (editedArgs: unknown) => void;
|
|
172
|
+
/** Called when the approver denies the operation. */
|
|
173
|
+
ondeny?: () => void;
|
|
174
|
+
/** Called when the approver asks the host application to remember the decision. */
|
|
175
|
+
onremember?: () => void;
|
|
176
|
+
/** Called when the approver cancels the approval prompt. */
|
|
177
|
+
oncancel?: () => void;
|
|
178
|
+
/** Additional CSS classes applied to the root element. */
|
|
179
|
+
class?: string;
|
|
180
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import './approval-card.css';
|
|
2
|
+
import ApprovalCard from './approval-card.svelte';
|
|
3
|
+
|
|
4
|
+
export default ApprovalCard;
|
|
5
|
+
export type {
|
|
6
|
+
ApprovalCardCallbacks,
|
|
7
|
+
ApprovalCardProps,
|
|
8
|
+
ApprovalCardSchemaProps,
|
|
9
|
+
ApprovalOperation,
|
|
10
|
+
ApprovalOperationKind,
|
|
11
|
+
ApprovalSandbox,
|
|
12
|
+
ApprovalState,
|
|
13
|
+
ApprovalTool,
|
|
14
|
+
ApprovalToolRisk,
|
|
15
|
+
} from './approval-card.types.ts';
|
|
16
|
+
export { ApprovalCard };
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.cinder-autocomplete__label {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
gap: var(--cinder-space-1);
|
|
9
12
|
color: var(--cinder-text);
|
|
10
13
|
font-size: var(--cinder-text-sm);
|
|
11
14
|
font-weight: var(--cinder-font-medium);
|
|
@@ -27,6 +30,14 @@
|
|
|
27
30
|
box-shadow: var(--_cinder-focus-ring-shadow);
|
|
28
31
|
}
|
|
29
32
|
|
|
33
|
+
@media (forced-colors: active) {
|
|
34
|
+
.cinder-autocomplete__input:focus-visible {
|
|
35
|
+
outline: var(--cinder-ring-width) solid ButtonText;
|
|
36
|
+
outline-offset: 3px;
|
|
37
|
+
box-shadow: none;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
30
41
|
.cinder-autocomplete__description,
|
|
31
42
|
.cinder-autocomplete__error {
|
|
32
43
|
margin: 0;
|
|
@@ -99,7 +110,7 @@
|
|
|
99
110
|
border-radius: var(--cinder-radius-sm);
|
|
100
111
|
background: var(--cinder-color-warning-bg);
|
|
101
112
|
color: var(--cinder-color-warning-fg);
|
|
102
|
-
font-weight:
|
|
113
|
+
font-weight: var(--cinder-font-semibold);
|
|
103
114
|
}
|
|
104
115
|
|
|
105
116
|
.cinder-autocomplete__status {
|
|
@@ -87,7 +87,10 @@
|
|
|
87
87
|
let composing = $state(false);
|
|
88
88
|
let inputFocused = $state(false);
|
|
89
89
|
let suggestions = $state<AutocompleteSuggestion[]>([]);
|
|
90
|
-
|
|
90
|
+
// rawActiveIndex tracks the user's chosen index; activeIndex clamps it from
|
|
91
|
+
// enabledIndexes so no write-back $effect is needed when renderedSuggestions
|
|
92
|
+
// changes (e.g. when maxVisibleSuggestions is updated by the consumer).
|
|
93
|
+
let rawActiveIndex = $state<number | null>(null);
|
|
91
94
|
let suppressNextQuery = false;
|
|
92
95
|
let ignoreSyntheticInput = false;
|
|
93
96
|
let completionPointerIndex = $state<number | null>(null);
|
|
@@ -99,6 +102,17 @@
|
|
|
99
102
|
|
|
100
103
|
const renderedSuggestions = $derived(suggestions.slice(0, resolvedMaxVisibleSuggestions));
|
|
101
104
|
const enabledIndexes = $derived(getEnabledIndexes(renderedSuggestions));
|
|
105
|
+
|
|
106
|
+
// activeIndex is always valid for the current renderedSuggestions: if
|
|
107
|
+
// rawActiveIndex is not in the enabled set, fall back to the first enabled
|
|
108
|
+
// index (or null when the list is empty). This replaces the write-back
|
|
109
|
+
// $effect that previously called clampActiveIndex on every suggestions change.
|
|
110
|
+
const activeIndex = $derived.by(() => {
|
|
111
|
+
if (enabledIndexes.length === 0) return null;
|
|
112
|
+
if (rawActiveIndex !== null && enabledIndexes.includes(rawActiveIndex)) return rawActiveIndex;
|
|
113
|
+
return enabledIndexes[0] ?? null;
|
|
114
|
+
});
|
|
115
|
+
|
|
102
116
|
const activeDescendant = $derived(
|
|
103
117
|
activeIndex === null ? undefined : `${resolvedId}-option-${activeIndex}`,
|
|
104
118
|
);
|
|
@@ -130,22 +144,6 @@
|
|
|
130
144
|
return indexes;
|
|
131
145
|
}
|
|
132
146
|
|
|
133
|
-
function clampActiveIndex(list: AutocompleteSuggestion[]): void {
|
|
134
|
-
const availableEnabledIndexes =
|
|
135
|
-
list === renderedSuggestions ? enabledIndexes : getEnabledIndexes(list);
|
|
136
|
-
if (availableEnabledIndexes.length === 0) {
|
|
137
|
-
activeIndex = null;
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
if (activeIndex !== null && availableEnabledIndexes.includes(activeIndex)) return;
|
|
141
|
-
activeIndex = availableEnabledIndexes[0] ?? null;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
$effect(() => {
|
|
145
|
-
void renderedSuggestions;
|
|
146
|
-
clampActiveIndex(renderedSuggestions);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
147
|
$effect(() => {
|
|
150
148
|
const wasOpen = previousOpen;
|
|
151
149
|
previousOpen = open;
|
|
@@ -157,7 +155,7 @@
|
|
|
157
155
|
requestVersion += 1;
|
|
158
156
|
autocompleteDismissed = true;
|
|
159
157
|
loading = false;
|
|
160
|
-
|
|
158
|
+
rawActiveIndex = null;
|
|
161
159
|
suggestions = [];
|
|
162
160
|
});
|
|
163
161
|
|
|
@@ -168,7 +166,7 @@
|
|
|
168
166
|
autocompleteDismissed = true;
|
|
169
167
|
open = false;
|
|
170
168
|
loading = false;
|
|
171
|
-
|
|
169
|
+
rawActiveIndex = null;
|
|
172
170
|
suggestions = [];
|
|
173
171
|
}
|
|
174
172
|
|
|
@@ -195,7 +193,7 @@
|
|
|
195
193
|
loading = true;
|
|
196
194
|
open = true;
|
|
197
195
|
suggestions = [];
|
|
198
|
-
|
|
196
|
+
rawActiveIndex = null;
|
|
199
197
|
|
|
200
198
|
let result: AutocompleteSuggestion[] | Promise<AutocompleteSuggestion[]>;
|
|
201
199
|
try {
|
|
@@ -218,10 +216,34 @@
|
|
|
218
216
|
) {
|
|
219
217
|
return;
|
|
220
218
|
}
|
|
221
|
-
|
|
219
|
+
// Deduplicate the ENTIRE suggestion list by value (first occurrence
|
|
220
|
+
// wins), not just the visible window. `renderedSuggestions` re-slices
|
|
221
|
+
// `suggestions` by maxVisibleSuggestions, so a duplicate anywhere in the
|
|
222
|
+
// stored list could surface in the keyed {#each} if the window widens or
|
|
223
|
+
// a tail value collides with the visible prefix — both crash with
|
|
224
|
+
// each_key_duplicate. Deduping the whole list makes the key globally
|
|
225
|
+
// unique regardless of window size.
|
|
226
|
+
const seen = new Set<string>();
|
|
227
|
+
const deduped: typeof nextSuggestions = [];
|
|
228
|
+
let hasDuplicates = false;
|
|
229
|
+
for (const suggestion of nextSuggestions) {
|
|
230
|
+
if (seen.has(suggestion.value)) {
|
|
231
|
+
hasDuplicates = true;
|
|
232
|
+
} else {
|
|
233
|
+
seen.add(suggestion.value);
|
|
234
|
+
deduped.push(suggestion);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (hasDuplicates) {
|
|
238
|
+
devWarn(
|
|
239
|
+
'[cinder/Autocomplete] Duplicate suggestion values detected. Each rendered suggestion must have a unique value. Duplicates were removed; only the first occurrence of each value is shown.',
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
suggestions = deduped;
|
|
222
243
|
loading = false;
|
|
223
244
|
open = true;
|
|
224
|
-
|
|
245
|
+
// rawActiveIndex is reset to null when the query starts; activeIndex is
|
|
246
|
+
// $derived to auto-clamp, so no explicit clampActiveIndex call is needed.
|
|
225
247
|
})
|
|
226
248
|
.catch((errorValue: unknown) => {
|
|
227
249
|
if (
|
|
@@ -266,7 +288,8 @@
|
|
|
266
288
|
|
|
267
289
|
open = true;
|
|
268
290
|
if (activeIndex === null) {
|
|
269
|
-
|
|
291
|
+
rawActiveIndex =
|
|
292
|
+
direction === 1 ? (enabledIndexes[0] ?? null) : (enabledIndexes.at(-1) ?? null);
|
|
270
293
|
return;
|
|
271
294
|
}
|
|
272
295
|
|
|
@@ -275,13 +298,13 @@
|
|
|
275
298
|
currentPosition < 0
|
|
276
299
|
? 0
|
|
277
300
|
: (currentPosition + direction + enabledIndexes.length) % enabledIndexes.length;
|
|
278
|
-
|
|
301
|
+
rawActiveIndex = enabledIndexes[nextPosition] ?? null;
|
|
279
302
|
}
|
|
280
303
|
|
|
281
304
|
function moveToBoundary(direction: 'start' | 'end'): void {
|
|
282
305
|
if (!open) return;
|
|
283
306
|
if (enabledIndexes.length === 0) return;
|
|
284
|
-
|
|
307
|
+
rawActiveIndex =
|
|
285
308
|
direction === 'start' ? (enabledIndexes[0] ?? null) : (enabledIndexes.at(-1) ?? null);
|
|
286
309
|
}
|
|
287
310
|
|
|
@@ -403,6 +426,9 @@
|
|
|
403
426
|
data-disabled={field.disabled || undefined}
|
|
404
427
|
>
|
|
405
428
|
{label}
|
|
429
|
+
{#if field.required}
|
|
430
|
+
<span class="cinder-_required-marker" aria-hidden="true">*</span>
|
|
431
|
+
{/if}
|
|
406
432
|
</label>
|
|
407
433
|
{/if}
|
|
408
434
|
|
|
@@ -484,7 +510,7 @@
|
|
|
484
510
|
{emptyMessage}
|
|
485
511
|
</div>
|
|
486
512
|
{:else}
|
|
487
|
-
{#each renderedSuggestions as suggestion, index (
|
|
513
|
+
{#each renderedSuggestions as suggestion, index (suggestion.value)}
|
|
488
514
|
{@const suggestionLabel = suggestion.label ?? suggestion.value}
|
|
489
515
|
{@const parts = highlightParts(suggestionLabel, value)}
|
|
490
516
|
<div
|
|
@@ -503,7 +529,7 @@
|
|
|
503
529
|
handleMouseDownFallback(event, index);
|
|
504
530
|
}}
|
|
505
531
|
onmouseenter={() => {
|
|
506
|
-
if (!suggestion.disabled)
|
|
532
|
+
if (!suggestion.disabled) rawActiveIndex = index;
|
|
507
533
|
}}
|
|
508
534
|
>
|
|
509
535
|
<span class="cinder-autocomplete__option-text">
|
|
@@ -18,13 +18,14 @@ Use Badge for attached counts, statuses, and compact annotations; use `Chip mode
|
|
|
18
18
|
|
|
19
19
|
<!-- generated:props:start -->
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
|
23
|
-
| `class`
|
|
24
|
-
| `mono`
|
|
25
|
-
| `size`
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
21
|
+
| Prop | Type | Required | Default | Description |
|
|
22
|
+
| ------------------- | ----------------------------------------------------------------------------------------- | -------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `class` | `string` | no | — | Custom class merged with `.cinder-badge`. |
|
|
24
|
+
| `mono` | `boolean` | no | `false` | Render the badge label in a monospace font. Useful for version strings, error codes, or other technical labels. |
|
|
25
|
+
| `size` | `"xs"` \| `"sm"` \| `"md"` | no | `"md"` | Size of the badge. |
|
|
26
|
+
| `subscriptionState` | `"active"` \| `"trialing"` \| `"past-due"` \| `"canceled"` \| `"expired"` \| `"refunded"` | no | — | Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label. |
|
|
27
|
+
| `variant` | `"neutral"` \| `"success"` \| `"warning"` \| `"danger"` \| `"info"` \| `"accent"` | no | `"neutral"` | Visual style. |
|
|
28
|
+
| `children` | `(opaque)` | no | — | Required badge content unless subscriptionState is provided; optional content override for the subscription preset label. Not expressible in JSON Schema; see the component types for the signature. |
|
|
28
29
|
|
|
29
30
|
<!-- generated:props:end -->
|
|
30
31
|
|
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
* @category data-display
|
|
5
5
|
* @status stable
|
|
6
6
|
* @purpose Compact non-interactive label that annotates an adjacent element with a short status, count, or category.
|
|
7
|
+
* @tag billing
|
|
7
8
|
* @tag label
|
|
8
9
|
* @tag indicator
|
|
10
|
+
* @tag subscription
|
|
9
11
|
* @useWhen Annotating a value with a short status word like "new" or "beta".
|
|
10
12
|
* @useWhen Displaying a numeric count next to an icon or title.
|
|
13
|
+
* @useWhen Displaying the billing state of a subscription in a dashboard, invoice list, or account settings page.
|
|
14
|
+
* @useWhen Annotating a plan name, customer row, or invoice line with its current payment lifecycle state.
|
|
11
15
|
* @avoidWhen The label must be interactive or removable — use chip instead.
|
|
12
16
|
* @avoidWhen Showing only a colored dot for presence — use status-dot instead.
|
|
13
17
|
* @related chip, status-dot
|
|
@@ -18,24 +22,97 @@
|
|
|
18
22
|
<script lang="ts">
|
|
19
23
|
import { classNames } from '../../utilities/class-names.ts';
|
|
20
24
|
|
|
21
|
-
import type { BadgeProps } from './badge.types.ts';
|
|
25
|
+
import type { BadgeProps, BadgeSubscriptionState, BadgeVariant } from './badge.types.ts';
|
|
26
|
+
|
|
27
|
+
type SubscriptionStateConfiguration = {
|
|
28
|
+
variant: BadgeVariant;
|
|
29
|
+
label: string;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const subscriptionStateConfigurations: Record<
|
|
33
|
+
BadgeSubscriptionState,
|
|
34
|
+
SubscriptionStateConfiguration
|
|
35
|
+
> = {
|
|
36
|
+
active: { variant: 'success', label: 'Active' },
|
|
37
|
+
trialing: { variant: 'info', label: 'Trialing' },
|
|
38
|
+
'past-due': { variant: 'warning', label: 'Past due' },
|
|
39
|
+
canceled: { variant: 'neutral', label: 'Canceled' },
|
|
40
|
+
expired: { variant: 'danger', label: 'Expired' },
|
|
41
|
+
refunded: { variant: 'neutral', label: 'Refunded' },
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const subscriptionStateIconPaths: Record<BadgeSubscriptionState, string[]> = {
|
|
45
|
+
active: ['M21.801 10A10 10 0 1 1 17 3.335', 'm9 11 3 3L22 4'],
|
|
46
|
+
trialing: ['M12 6v6l4 2', 'M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'],
|
|
47
|
+
'past-due': [
|
|
48
|
+
'm21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z',
|
|
49
|
+
'M12 9v4',
|
|
50
|
+
'M12 17h.01',
|
|
51
|
+
],
|
|
52
|
+
canceled: ['M15 9 9 15', 'M9 9l6 6', 'M22 12A10 10 0 1 1 12 2a10 10 0 0 1 10 10Z'],
|
|
53
|
+
expired: [
|
|
54
|
+
'M8 2v4',
|
|
55
|
+
'M16 2v4',
|
|
56
|
+
'M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8',
|
|
57
|
+
'M3 10h18',
|
|
58
|
+
'm17 14-5-5',
|
|
59
|
+
'm12 14 5 5',
|
|
60
|
+
],
|
|
61
|
+
refunded: ['M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8', 'M3 3v5h5'],
|
|
62
|
+
};
|
|
22
63
|
|
|
23
64
|
let {
|
|
24
65
|
variant = 'neutral',
|
|
25
66
|
size = 'md',
|
|
26
67
|
mono = false,
|
|
68
|
+
subscriptionState,
|
|
27
69
|
class: customClassName,
|
|
28
70
|
children,
|
|
29
71
|
...rest
|
|
30
72
|
}: BadgeProps = $props();
|
|
73
|
+
|
|
74
|
+
const subscriptionStateConfiguration = $derived(
|
|
75
|
+
subscriptionState === undefined
|
|
76
|
+
? undefined
|
|
77
|
+
: subscriptionStateConfigurations[subscriptionState],
|
|
78
|
+
);
|
|
79
|
+
const resolvedVariant = $derived(subscriptionStateConfiguration?.variant ?? variant);
|
|
80
|
+
const resolvedSubscriptionIconPaths = $derived(
|
|
81
|
+
subscriptionState === undefined ? undefined : subscriptionStateIconPaths[subscriptionState],
|
|
82
|
+
);
|
|
31
83
|
</script>
|
|
32
84
|
|
|
33
85
|
<span
|
|
34
86
|
class={classNames('cinder-badge', customClassName)}
|
|
35
|
-
data-cinder-variant={
|
|
87
|
+
data-cinder-variant={resolvedVariant}
|
|
36
88
|
data-cinder-size={size}
|
|
37
89
|
data-cinder-mono={mono ? '' : undefined}
|
|
90
|
+
data-cinder-subscription-state={subscriptionState}
|
|
38
91
|
{...rest}
|
|
39
92
|
>
|
|
40
|
-
{
|
|
93
|
+
{#if subscriptionStateConfiguration}
|
|
94
|
+
{#if resolvedSubscriptionIconPaths}
|
|
95
|
+
<svg
|
|
96
|
+
class="icon-sm"
|
|
97
|
+
aria-hidden="true"
|
|
98
|
+
viewBox="0 0 24 24"
|
|
99
|
+
fill="none"
|
|
100
|
+
stroke="currentColor"
|
|
101
|
+
stroke-width="2"
|
|
102
|
+
stroke-linecap="round"
|
|
103
|
+
stroke-linejoin="round"
|
|
104
|
+
>
|
|
105
|
+
{#each resolvedSubscriptionIconPaths as iconPath (iconPath)}
|
|
106
|
+
<path d={iconPath}></path>
|
|
107
|
+
{/each}
|
|
108
|
+
</svg>
|
|
109
|
+
{/if}
|
|
110
|
+
{#if children}
|
|
111
|
+
{@render children()}
|
|
112
|
+
{:else}
|
|
113
|
+
{subscriptionStateConfiguration.label}
|
|
114
|
+
{/if}
|
|
115
|
+
{:else}
|
|
116
|
+
{@render children?.()}
|
|
117
|
+
{/if}
|
|
41
118
|
</span>
|
|
@@ -7,20 +7,41 @@ export type BadgeVariant = 'neutral' | 'success' | 'warning' | 'danger' | 'info'
|
|
|
7
7
|
/** Size of the badge. */
|
|
8
8
|
export type BadgeSize = 'xs' | 'sm' | 'md';
|
|
9
9
|
|
|
10
|
+
/** Billing lifecycle states that Badge can render as an opinionated preset. */
|
|
11
|
+
export type BadgeSubscriptionState =
|
|
12
|
+
| 'active'
|
|
13
|
+
| 'trialing'
|
|
14
|
+
| 'past-due'
|
|
15
|
+
| 'canceled'
|
|
16
|
+
| 'expired'
|
|
17
|
+
| 'refunded';
|
|
18
|
+
|
|
10
19
|
/** Props for the Badge component. */
|
|
11
|
-
export type BadgeProps =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
export type BadgeProps =
|
|
21
|
+
| (HTMLAttributes<HTMLSpanElement> & {
|
|
22
|
+
variant?: BadgeVariant;
|
|
23
|
+
size?: BadgeSize;
|
|
24
|
+
/** Render the badge label in a monospace font. */
|
|
25
|
+
mono?: boolean;
|
|
26
|
+
class?: string;
|
|
27
|
+
/** Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label. */
|
|
28
|
+
subscriptionState: BadgeSubscriptionState;
|
|
29
|
+
/** Required badge content unless subscriptionState is provided; optional content override for the subscription preset label. */
|
|
30
|
+
children?: Snippet;
|
|
31
|
+
})
|
|
32
|
+
| (HTMLAttributes<HTMLSpanElement> & {
|
|
33
|
+
variant?: BadgeVariant;
|
|
34
|
+
size?: BadgeSize;
|
|
35
|
+
/** Render the badge label in a monospace font. */
|
|
36
|
+
mono?: boolean;
|
|
37
|
+
class?: string;
|
|
38
|
+
subscriptionState?: undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Badge content — intentionally required. A badge without content is
|
|
41
|
+
* semantically meaningless.
|
|
42
|
+
*/
|
|
43
|
+
children: Snippet;
|
|
44
|
+
});
|
|
24
45
|
|
|
25
46
|
/** Cinder-specific props for the Badge component, used by the schema generator. */
|
|
26
47
|
export interface BadgeSchemaProps {
|
|
@@ -39,6 +60,8 @@ export interface BadgeSchemaProps {
|
|
|
39
60
|
* @default false
|
|
40
61
|
*/
|
|
41
62
|
mono?: boolean;
|
|
63
|
+
/** Render a standardized subscription lifecycle badge without hand-wiring tone, icon, and label. */
|
|
64
|
+
subscriptionState?: BadgeSubscriptionState;
|
|
42
65
|
/** Custom class merged with `.cinder-badge`. */
|
|
43
66
|
class?: string;
|
|
44
67
|
}
|
|
@@ -2,5 +2,5 @@ import './badge.css';
|
|
|
2
2
|
import Badge from './badge.svelte';
|
|
3
3
|
|
|
4
4
|
export default Badge;
|
|
5
|
-
export type { BadgeProps, BadgeSize, BadgeVariant } from './badge.types.ts';
|
|
5
|
+
export type { BadgeProps, BadgeSize, BadgeSubscriptionState, BadgeVariant } from './badge.types.ts';
|
|
6
6
|
export { Badge };
|
|
@@ -9,7 +9,7 @@ Full-width announcement strip for page-level alerts, promotions, or system messa
|
|
|
9
9
|
import Banner from '@lostgradient/cinder/banner';
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<Banner
|
|
12
|
+
<Banner>Your message here.</Banner>
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Props
|
|
@@ -23,7 +23,7 @@ Full-width announcement strip for page-level alerts, promotions, or system messa
|
|
|
23
23
|
| `variant` | `"info"` \| `"success"` \| `"warning"` \| `"danger"` | no | — | Visual + semantic variant. Default `'info'`. |
|
|
24
24
|
| `actions` | `(opaque)` | no | — | Optional trailing CTA region (e.g., "Renew now" button). Not expressible in JSON Schema; see the component types for the signature. |
|
|
25
25
|
| `children` | `(opaque)` | yes | — | Banner body content. Not expressible in JSON Schema; see the component types for the signature. |
|
|
26
|
-
| `
|
|
26
|
+
| `ondismiss` | `(opaque)` | no | — | Called after the dismiss button is clicked. Use to persist state. Not expressible in JSON Schema; see the component types for the signature. |
|
|
27
27
|
|
|
28
28
|
<!-- generated:props:end -->
|
|
29
29
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schemas/examples.schema.json",
|
|
3
|
+
"component": "banner",
|
|
4
|
+
"import": "@lostgradient/cinder/banner",
|
|
5
|
+
"examples": [
|
|
6
|
+
{
|
|
7
|
+
"id": "basic",
|
|
8
|
+
"title": "Basic banner",
|
|
9
|
+
"description": "Informational page-level banner with a dismiss button.",
|
|
10
|
+
"code": "<script lang=\"ts\">\n import { Banner } from '@lostgradient/cinder/banner';\n\n let visible = $state(true);\n</script>\n\n{#if visible}\n <Banner variant=\"info\" ondismiss={() => (visible = false)}>\n Scheduled maintenance is planned for Sunday at 2:00 AM UTC.\n </Banner>\n{:else}\n <p style=\"color: var(--cinder-text-muted);\">Banner dismissed.</p>\n{/if}\n"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "variants",
|
|
14
|
+
"title": "Banner variants",
|
|
15
|
+
"description": "All four semantic variant styles — info, success, warning, and danger.",
|
|
16
|
+
"code": "<script lang=\"ts\">\n import { Banner } from '@lostgradient/cinder/banner';\n</script>\n\n<div style=\"display: flex; flex-direction: column; gap: 0.75rem;\">\n <Banner variant=\"info\" dismissible={false}>Your trial expires in 7 days.</Banner>\n <Banner variant=\"success\" dismissible={false}>Your changes have been saved successfully.</Banner>\n <Banner variant=\"warning\" dismissible={false}>Storage is 90% full. Free up space soon.</Banner>\n <Banner variant=\"danger\" dismissible={false}>Your payment method has expired.</Banner>\n</div>\n"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|