@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
|
@@ -106,17 +106,17 @@ Pass a `parse` function to support alternative serialization formats:
|
|
|
106
106
|
|
|
107
107
|
<!-- generated:props:start -->
|
|
108
108
|
|
|
109
|
-
| Prop | Type
|
|
110
|
-
| ------------ |
|
|
111
|
-
| `activeView` | `"summary"` \| `"tree"` \| `"raw"`
|
|
112
|
-
| `class` | `string`
|
|
113
|
-
| `label` | `string`
|
|
114
|
-
| `maxBytes` | `number`
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `
|
|
109
|
+
| Prop | Type | Required | Default | Description |
|
|
110
|
+
| ------------ | ------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
111
|
+
| `activeView` | `"summary"` \| `"tree"` \| `"raw"` | no | — | Initially active view tab. Defaults to "summary". Bind to control the active tab from outside. |
|
|
112
|
+
| `class` | `string` | no | — | Additional CSS classes applied to the root element. |
|
|
113
|
+
| `label` | `string` | no | — | Label for the inspector region, used as the accessible name for the containing section. Defaults to "Payload inspector". |
|
|
114
|
+
| `maxBytes` | `number` | no | — | Maximum byte size before the tree view is replaced with an oversize placeholder. Defaults to 1,048,576 (1 MB). Does not affect the raw view. |
|
|
115
|
+
| `meta` | { contentType?: `string`; source?: `string`; timestamp?: `string` } | no | — | Structured metadata shown in the summary panel. Pass contentType, source, and/or timestamp to populate the description list rows. |
|
|
116
|
+
| `truncated` | `boolean` | no | — | When true, the payload has been truncated by the producer (e.g. because it exceeded a wire size limit). The inspector renders a truncation badge in the summary and a notice above the raw view. |
|
|
117
|
+
| `value` | `unknown` | no | — | The payload value to inspect. Pass any JSON-serializable value — object, array, string, number, boolean, or null. Plain strings are rendered as string values; strings that look like serialized JSON are parsed. Pass `undefined` when no payload is available yet. |
|
|
118
|
+
| `format` | `(opaque)` | no | — | Custom serializer for the Raw view display text. Receives the parsed value and must return a string. Defaults to JSON.stringify with 2-space indentation. Use this to customize key ordering, indentation, or alternative serialization formats. Does not affect the Summary or Tree views, or the copy buttons. For redaction, transform the value upstream and pass the already-redacted value as `value`. Not expressible in JSON Schema; see the component types for the signature. |
|
|
119
|
+
| `parse` | `(opaque)` | no | — | Custom parser applied when `value` is a string. Receives the raw string and must return a parsed value or throw. Defaults to JSON.parse. Use this to support alternative serialization formats. Not expressible in JSON Schema; see the component types for the signature. |
|
|
120
120
|
|
|
121
121
|
<!-- generated:props:end -->
|
|
122
122
|
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
@layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
|
|
2
|
+
@import '../badge/badge.css';
|
|
3
|
+
@import '../code-block/code-block.css';
|
|
4
|
+
@import '../copy-button/copy-button.css';
|
|
5
|
+
@import '../description-list/description-list.css';
|
|
6
|
+
@import '../json-viewer/json-viewer.css';
|
|
7
|
+
@import '../tabs/tabs.css';
|
|
2
8
|
|
|
3
9
|
@layer cinder.components {
|
|
4
10
|
.cinder-payload-inspector {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @cinder
|
|
4
4
|
* @category data-display
|
|
5
|
-
* @status
|
|
5
|
+
* @status stable
|
|
6
6
|
* @purpose Composed inspector for structured payloads with summary, tree, and raw views, copy actions, and size/truncation status.
|
|
7
7
|
* @tag json
|
|
8
8
|
* @tag inspector
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
export type {
|
|
17
17
|
PayloadInspectorMeta,
|
|
18
18
|
PayloadInspectorProps,
|
|
19
|
+
PayloadInspectorSchemaProps,
|
|
20
|
+
PayloadInspectorSchemaValue,
|
|
19
21
|
PayloadInspectorView,
|
|
20
22
|
} from './payload-inspector.types.ts';
|
|
21
23
|
</script>
|
|
@@ -49,12 +51,18 @@
|
|
|
49
51
|
}: PayloadInspectorProps = $props();
|
|
50
52
|
|
|
51
53
|
// --------------------------------------------------------------------------
|
|
52
|
-
// Parsing:
|
|
53
|
-
//
|
|
54
|
+
// Parsing: preserve plain string values, while still accepting serialized JSON
|
|
55
|
+
// strings for object, array, and JSON primitive payloads.
|
|
54
56
|
// --------------------------------------------------------------------------
|
|
55
57
|
|
|
56
58
|
type ParseResult = { ok: true; parsed: unknown } | { ok: false; error: string };
|
|
57
59
|
|
|
60
|
+
function shouldParseString(raw: string): boolean {
|
|
61
|
+
const trimmed = raw.trim();
|
|
62
|
+
if (/^[{\["]/.test(trimmed)) return true;
|
|
63
|
+
return /^(?:true|false|null|-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)$/.test(trimmed);
|
|
64
|
+
}
|
|
65
|
+
|
|
58
66
|
const parseResult = $derived.by((): ParseResult => {
|
|
59
67
|
if (typeof value !== 'string') {
|
|
60
68
|
return { ok: true, parsed: value };
|
|
@@ -63,6 +71,9 @@
|
|
|
63
71
|
if (value.trim() === '') {
|
|
64
72
|
return { ok: true, parsed: null };
|
|
65
73
|
}
|
|
74
|
+
if (parse === undefined && !shouldParseString(value)) {
|
|
75
|
+
return { ok: true, parsed: value };
|
|
76
|
+
}
|
|
66
77
|
try {
|
|
67
78
|
const parser = parse ?? JSON.parse;
|
|
68
79
|
return { ok: true, parsed: parser(value) };
|
|
@@ -275,11 +286,18 @@
|
|
|
275
286
|
value={copyFormattedText}
|
|
276
287
|
label="Copy formatted"
|
|
277
288
|
copiedLabel="Formatted copied"
|
|
289
|
+
title="Copy formatted payload"
|
|
278
290
|
iconOnly
|
|
279
291
|
/>
|
|
280
292
|
{/if}
|
|
281
293
|
{#if canCopyRaw}
|
|
282
|
-
<CopyButton
|
|
294
|
+
<CopyButton
|
|
295
|
+
value={copyRawText}
|
|
296
|
+
label="Copy raw"
|
|
297
|
+
copiedLabel="Raw copied"
|
|
298
|
+
title="Copy raw payload"
|
|
299
|
+
iconOnly
|
|
300
|
+
/>
|
|
283
301
|
{/if}
|
|
284
302
|
</div>
|
|
285
303
|
</div>
|
|
@@ -5,6 +5,8 @@ export type PayloadInspectorView = 'summary' | 'tree' | 'raw';
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Structured metadata about the payload shown in the summary view.
|
|
8
|
+
*
|
|
9
|
+
* @schemaObject
|
|
8
10
|
*/
|
|
9
11
|
export type PayloadInspectorMeta = {
|
|
10
12
|
/** Content type or serializer label, e.g. "application/json" or "Protobuf". */
|
|
@@ -15,15 +17,18 @@ export type PayloadInspectorMeta = {
|
|
|
15
17
|
timestamp?: string;
|
|
16
18
|
};
|
|
17
19
|
|
|
20
|
+
/** Schema-facing payload value. Kept permissive to match the runtime `unknown` prop. */
|
|
21
|
+
export type PayloadInspectorSchemaValue = unknown;
|
|
22
|
+
|
|
18
23
|
/**
|
|
19
24
|
* Props for the PayloadInspector component.
|
|
20
25
|
*/
|
|
21
26
|
export type PayloadInspectorProps = Omit<HTMLAttributes<HTMLElement>, 'class' | 'children'> & {
|
|
22
27
|
/**
|
|
23
28
|
* The payload value to inspect. Pass any JSON-serializable value — object,
|
|
24
|
-
* array, string, number, boolean, or null.
|
|
25
|
-
*
|
|
26
|
-
* when no payload is available yet.
|
|
29
|
+
* array, string, number, boolean, or null. Plain strings are rendered as
|
|
30
|
+
* string values; strings that look like serialized JSON are parsed. Pass
|
|
31
|
+
* `undefined` when no payload is available yet.
|
|
27
32
|
*/
|
|
28
33
|
value?: unknown;
|
|
29
34
|
/**
|
|
@@ -70,3 +75,49 @@ export type PayloadInspectorProps = Omit<HTMLAttributes<HTMLElement>, 'class' |
|
|
|
70
75
|
/** Additional CSS classes applied to the root element. */
|
|
71
76
|
class?: string;
|
|
72
77
|
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Cinder-specific schema surface for PayloadInspector.
|
|
81
|
+
*
|
|
82
|
+
* Parser and formatter callbacks are documented but marked unsupported because
|
|
83
|
+
* functions cannot be represented as JSON Schema controls.
|
|
84
|
+
*/
|
|
85
|
+
export type PayloadInspectorSchemaProps = {
|
|
86
|
+
/**
|
|
87
|
+
* The payload value to inspect. Pass any JSON-serializable value — object,
|
|
88
|
+
* array, string, number, boolean, or null. Plain strings are rendered as
|
|
89
|
+
* string values; strings that look like serialized JSON are parsed. Pass
|
|
90
|
+
* `undefined` when no payload is available yet.
|
|
91
|
+
*
|
|
92
|
+
* @schemaPermissive
|
|
93
|
+
*/
|
|
94
|
+
value?: PayloadInspectorSchemaValue;
|
|
95
|
+
/**
|
|
96
|
+
* When true, the payload has been truncated by the producer (e.g. because it
|
|
97
|
+
* exceeded a wire size limit). The inspector renders a truncation badge in the
|
|
98
|
+
* summary and a notice above the raw view.
|
|
99
|
+
*/
|
|
100
|
+
truncated?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Maximum byte size before the tree view is replaced with an oversize
|
|
103
|
+
* placeholder. Defaults to 1,048,576 (1 MB). Does not affect the raw view.
|
|
104
|
+
*/
|
|
105
|
+
maxBytes?: number;
|
|
106
|
+
/**
|
|
107
|
+
* Structured metadata shown in the summary panel. Pass contentType, source,
|
|
108
|
+
* and/or timestamp to populate the description list rows.
|
|
109
|
+
*/
|
|
110
|
+
meta?: PayloadInspectorMeta;
|
|
111
|
+
/**
|
|
112
|
+
* Initially active view tab. Defaults to "summary". Bind to control
|
|
113
|
+
* the active tab from outside.
|
|
114
|
+
*/
|
|
115
|
+
activeView?: PayloadInspectorView;
|
|
116
|
+
/**
|
|
117
|
+
* Label for the inspector region, used as the accessible name for the
|
|
118
|
+
* containing section. Defaults to "Payload inspector".
|
|
119
|
+
*/
|
|
120
|
+
label?: string;
|
|
121
|
+
/** Additional CSS classes applied to the root element. */
|
|
122
|
+
class?: string;
|
|
123
|
+
};
|
|
@@ -119,6 +119,16 @@
|
|
|
119
119
|
z-index: 1;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
@media (forced-colors: active) {
|
|
123
|
+
button.cinder-permission-matrix__cell-control:focus-visible {
|
|
124
|
+
outline: var(--cinder-ring-width) solid ButtonText;
|
|
125
|
+
/* 2px is correct here: cell-control has border:0 so there is no
|
|
126
|
+
ButtonBorder to merge with at 2px. */
|
|
127
|
+
outline-offset: 2px;
|
|
128
|
+
box-shadow: none;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
122
132
|
@media (hover: hover) {
|
|
123
133
|
button.cinder-permission-matrix__cell-control:hover {
|
|
124
134
|
background: var(--cinder-surface-hover);
|
|
@@ -30,7 +30,7 @@ International phone-number input pairing a country-code dropdown with an as-you-
|
|
|
30
30
|
| `hideLabel` | `boolean` | no | — | Visually hide the rendered `label` while keeping it programmatically associated. |
|
|
31
31
|
| `id` | `string` | yes | — | Stable id used as the national input id and as the id-prefix for the dropdown. |
|
|
32
32
|
| `label` | `string` | no | — | Visible group label rendered above the controls. |
|
|
33
|
-
| `locale` | `string` | no | — | BCP-47 locale used to resolve `Intl.DisplayNames`. Defaults to `navigator.language` after mount and `'en-US'` during SSR.
|
|
33
|
+
| `locale` | `string` | no | — | BCP-47 locale used to resolve `Intl.DisplayNames`. Defaults to the nearest LocaleProvider locale, then `navigator.language` after mount and `'en-US'` during SSR. |
|
|
34
34
|
| `name` | `string` | no | — | Form-control name applied to the hidden `<input>` that submits with the form. |
|
|
35
35
|
| `required` | `boolean` | no | — | Mark the group as required for assistive technology. |
|
|
36
36
|
| `value` | `string` | no | — | Bindable E.164 value. Defaults to an empty string. |
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
errorId as buildErrorId,
|
|
37
37
|
} from '../../_internal/field-control.ts';
|
|
38
38
|
import { getFormFieldContext } from '../../_internal/form-field-context.ts';
|
|
39
|
+
import { getLocaleContext } from '../../_internal/locale-context.ts';
|
|
39
40
|
import { classNames } from '../../utilities/class-names.ts';
|
|
40
41
|
import {
|
|
41
42
|
computeNationalResult,
|
|
@@ -67,6 +68,7 @@
|
|
|
67
68
|
}: PhoneInputProps = $props();
|
|
68
69
|
|
|
69
70
|
const context = getFormFieldContext();
|
|
71
|
+
const localeContext = getLocaleContext();
|
|
70
72
|
|
|
71
73
|
const { countries: allowedCountries, usedFallback } = $derived.by(() =>
|
|
72
74
|
resolveCountryList(countries),
|
|
@@ -82,6 +84,7 @@
|
|
|
82
84
|
|
|
83
85
|
const resolvedLocale = $derived.by(() => {
|
|
84
86
|
if (locale) return locale;
|
|
87
|
+
if (localeContext?.locale) return localeContext.locale;
|
|
85
88
|
if (typeof navigator !== 'undefined' && typeof navigator.language === 'string') {
|
|
86
89
|
return navigator.language;
|
|
87
90
|
}
|
|
@@ -116,7 +119,7 @@
|
|
|
116
119
|
|
|
117
120
|
function synchronizeNationalDigitsToCountry(
|
|
118
121
|
nextCountry: PhoneInputCountryCode,
|
|
119
|
-
options
|
|
122
|
+
options: { recomputeValue?: boolean } | undefined = undefined,
|
|
120
123
|
): void {
|
|
121
124
|
const { recomputeValue = true } = options ?? {};
|
|
122
125
|
const nationalDigits = digitsOnly(nationalDisplay);
|
|
@@ -428,6 +431,9 @@
|
|
|
428
431
|
data-disabled={resolvedDisabled || undefined}
|
|
429
432
|
>
|
|
430
433
|
{label}
|
|
434
|
+
{#if resolvedRequired}
|
|
435
|
+
<span class="cinder-_required-marker" aria-hidden="true">*</span>
|
|
436
|
+
{/if}
|
|
431
437
|
</span>
|
|
432
438
|
{/if}
|
|
433
439
|
|
|
@@ -57,8 +57,9 @@ export type PhoneInputProps = {
|
|
|
57
57
|
/** Optional allow-list constraining which countries appear in the dropdown. */
|
|
58
58
|
countries?: readonly PhoneInputCountryCode[];
|
|
59
59
|
/**
|
|
60
|
-
* BCP-47 locale used to resolve `Intl.DisplayNames`. Defaults to
|
|
61
|
-
* `navigator.language` after mount and `'en-US'`
|
|
60
|
+
* BCP-47 locale used to resolve `Intl.DisplayNames`. Defaults to the nearest
|
|
61
|
+
* LocaleProvider locale, then `navigator.language` after mount and `'en-US'`
|
|
62
|
+
* during SSR.
|
|
62
63
|
*/
|
|
63
64
|
locale?: string;
|
|
64
65
|
/** Visible group label rendered above the controls. */
|
|
@@ -17,25 +17,25 @@ Segmented one-time-code input with auto-advance, paste distribution, and optiona
|
|
|
17
17
|
|
|
18
18
|
<!-- generated:props:start -->
|
|
19
19
|
|
|
20
|
-
| Prop | Type | Required | Default | Description
|
|
21
|
-
| ----------------- | ------------------------------- | -------- | ------- |
|
|
22
|
-
| `aria-label` | `string` | no | — | Group accessible name when no visible `label` is supplied.
|
|
23
|
-
| `aria-labelledby` | `string` | no | — | Space-separated list of ids that label the group when no `label` is supplied.
|
|
24
|
-
| `class` | `string` | no | — | Extra class names appended to the root group element.
|
|
25
|
-
| `description` | `string` | no | — | Optional description text rendered below the segments.
|
|
26
|
-
| `disabled` | `boolean` | no | — | Disable every segment and the hidden input.
|
|
27
|
-
| `error` | `string` | no | — | Optional error message; sets `aria-invalid="true"` on every segment.
|
|
28
|
-
| `hideLabel` | `boolean` | no | — | Visually hide the rendered `label` while keeping it programmatically associated.
|
|
29
|
-
| `id` | `string` | yes | — | Stable id used as the segment id prefix and as the hidden input id.
|
|
30
|
-
| `label` | `string` | no | — | Visible group label rendered above the segments.
|
|
31
|
-
| `length` | `number` | no | — | Number of segments to render. Normalized to an integer in `[1, 12]`; non-finite or out-of-range values fall back to `6`.
|
|
32
|
-
| `masked` | `boolean` | no | — | Render segments as password-style fields without changing the emitted value.
|
|
33
|
-
| `mode` | `"numeric"` \| `"alphanumeric"` | no | — | Character set accepted in each segment. Defaults to `'numeric'`.
|
|
34
|
-
| `name` | `string` | no | — | Form-control name applied to the hidden `<input>` that submits with the form.
|
|
35
|
-
| `required` | `boolean` | no | — | Mark the group as required for assistive technology.
|
|
36
|
-
| `value` | `string` | no | — | Bindable code value. Defaults to an empty string.
|
|
37
|
-
| `autocomplete` | `(opaque)` | no | — | `autocomplete` value applied to the first segment. Defaults to `'one-time-code'` so iOS and Android can autofill SMS codes. Not expressible in JSON Schema; see the component types for the signature.
|
|
38
|
-
| `onchange` | `(opaque)` | no | — | Fires only for user-initiated committed value changes (typing, paste, autofill, backspace). Never fires for external prop synchronization. Not expressible in JSON Schema; see the component types for the signature.
|
|
20
|
+
| Prop | Type | Required | Default | Description |
|
|
21
|
+
| ----------------- | ------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
22
|
+
| `aria-label` | `string` | no | — | Group accessible name when no visible `label` is supplied. |
|
|
23
|
+
| `aria-labelledby` | `string` | no | — | Space-separated list of ids that label the group when no `label` is supplied. |
|
|
24
|
+
| `class` | `string` | no | — | Extra class names appended to the root group element. |
|
|
25
|
+
| `description` | `string` | no | — | Optional description text rendered below the segments. |
|
|
26
|
+
| `disabled` | `boolean` | no | — | Disable every segment and the hidden input. |
|
|
27
|
+
| `error` | `string` | no | — | Optional error message; sets `aria-invalid="true"` on every segment. |
|
|
28
|
+
| `hideLabel` | `boolean` | no | — | Visually hide the rendered `label` while keeping it programmatically associated. |
|
|
29
|
+
| `id` | `string` | yes | — | Stable id used as the segment id prefix and as the hidden input id. |
|
|
30
|
+
| `label` | `string` | no | — | Visible group label rendered above the segments. |
|
|
31
|
+
| `length` | `number` | no | — | Number of segments to render. Normalized to an integer in `[1, 12]`; non-finite or out-of-range values fall back to `6`. |
|
|
32
|
+
| `masked` | `boolean` | no | — | Render segments as password-style fields without changing the emitted value. |
|
|
33
|
+
| `mode` | `"numeric"` \| `"alphanumeric"` | no | — | Character set accepted in each segment. Defaults to `'numeric'`. |
|
|
34
|
+
| `name` | `string` | no | — | Form-control name applied to the hidden `<input>` that submits with the form. |
|
|
35
|
+
| `required` | `boolean` | no | — | Mark the group as required for assistive technology. |
|
|
36
|
+
| `value` | `string` | no | — | Bindable code value. Defaults to an empty string. **No write-back normalization.** The bound prop reflects exactly what the consumer set — it is NOT mutated back to the filtered/length-capped value. The displayed and submitted value is normalized via `$derived`, but the binding itself is left untouched. This is intentional: the consumer owns the source of truth, and silent mutation of a bound prop is a surprising side-effect. |
|
|
37
|
+
| `autocomplete` | `(opaque)` | no | — | `autocomplete` value applied to the first segment. Defaults to `'one-time-code'` so iOS and Android can autofill SMS codes. Not expressible in JSON Schema; see the component types for the signature. |
|
|
38
|
+
| `onchange` | `(opaque)` | no | — | Fires only for user-initiated committed value changes (typing, paste, autofill, backspace). Never fires for external prop synchronization. Not expressible in JSON Schema; see the component types for the signature. |
|
|
39
39
|
|
|
40
40
|
<!-- generated:props:end -->
|
|
41
41
|
|
|
@@ -78,17 +78,12 @@
|
|
|
78
78
|
// characters, then pad to the normalized length. Every writer (commit,
|
|
79
79
|
// distributeFrom, handleKeyDown) drives `value`, so deriving segments keeps
|
|
80
80
|
// a single source of truth instead of a $state + sync-$effect pair.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
// The only effectful residue: normalize the bound value when an external
|
|
88
|
-
// setter (or a length/mode change) leaves disallowed characters in it.
|
|
89
|
-
const filtered = filterValue(value ?? '');
|
|
90
|
-
if (filtered !== value) value = filtered;
|
|
91
|
-
});
|
|
81
|
+
// `normalizedValue` is the canonical form — always filtered and truncated.
|
|
82
|
+
// It is what gets displayed in segments and stored in the hidden input.
|
|
83
|
+
const normalizedValue = $derived(filterValue(value ?? ''));
|
|
84
|
+
const segments = $derived(
|
|
85
|
+
Array.from({ length: normalizedLength }, (_, index) => normalizedValue[index] ?? ''),
|
|
86
|
+
);
|
|
92
87
|
|
|
93
88
|
const groupLabelId = $derived(label ? `${id}-label` : undefined);
|
|
94
89
|
const defaultDescriptionId = $derived(describeId(id, !!description));
|
|
@@ -276,6 +271,9 @@
|
|
|
276
271
|
data-disabled={resolvedDisabled || undefined}
|
|
277
272
|
>
|
|
278
273
|
{label}
|
|
274
|
+
{#if resolvedRequired}
|
|
275
|
+
<span class="cinder-_required-marker" aria-hidden="true">*</span>
|
|
276
|
+
{/if}
|
|
279
277
|
</span>
|
|
280
278
|
{/if}
|
|
281
279
|
|
|
@@ -325,7 +323,13 @@
|
|
|
325
323
|
</div>
|
|
326
324
|
|
|
327
325
|
{#if name}
|
|
328
|
-
<input
|
|
326
|
+
<input
|
|
327
|
+
type="hidden"
|
|
328
|
+
{name}
|
|
329
|
+
value={normalizedValue}
|
|
330
|
+
required={resolvedRequired}
|
|
331
|
+
disabled={resolvedDisabled}
|
|
332
|
+
/>
|
|
329
333
|
{/if}
|
|
330
334
|
|
|
331
335
|
{#if description}
|
|
@@ -15,7 +15,16 @@ export type PinInputMode = 'numeric' | 'alphanumeric';
|
|
|
15
15
|
export type PinInputProps = {
|
|
16
16
|
/** Stable id used as the segment id prefix and as the hidden input id. */
|
|
17
17
|
id: string;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Bindable code value. Defaults to an empty string.
|
|
20
|
+
*
|
|
21
|
+
* **No write-back normalization.** The bound prop reflects exactly what the
|
|
22
|
+
* consumer set — it is NOT mutated back to the filtered/length-capped value.
|
|
23
|
+
* The displayed and submitted value is normalized via `$derived`, but the
|
|
24
|
+
* binding itself is left untouched. This is intentional: the consumer owns
|
|
25
|
+
* the source of truth, and silent mutation of a bound prop is a surprising
|
|
26
|
+
* side-effect.
|
|
27
|
+
*/
|
|
19
28
|
value?: string;
|
|
20
29
|
/**
|
|
21
30
|
* Number of segments to render. Normalized to an integer in `[1, 12]`;
|
|
@@ -67,8 +67,11 @@ export function copyInheritedPortalAttributes(
|
|
|
67
67
|
theme: element.getAttribute('data-cinder-theme'),
|
|
68
68
|
},
|
|
69
69
|
) {
|
|
70
|
+
const preservesExplicitDirection = element.dataset['cinderExplicitDirection'] === 'true';
|
|
70
71
|
const inheritedDir =
|
|
71
|
-
inheritAttributes && source
|
|
72
|
+
inheritAttributes && source && !preservesExplicitDirection
|
|
73
|
+
? source.closest<HTMLElement>('[dir]')?.getAttribute('dir')
|
|
74
|
+
: null;
|
|
72
75
|
const nextDir = inheritedDir ?? fallbackAttributes.dir;
|
|
73
76
|
if (nextDir) {
|
|
74
77
|
element.setAttribute('dir', nextDir);
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
<script lang="ts">
|
|
19
19
|
import { classNames } from '../../utilities/class-names.ts';
|
|
20
|
+
import { devWarn } from '../../utilities/dev-warn.ts';
|
|
20
21
|
import Button from '../button/button.svelte';
|
|
21
22
|
import type { PricingCardProps } from './pricing-card.types.ts';
|
|
22
23
|
|
|
@@ -31,6 +32,30 @@
|
|
|
31
32
|
class: className,
|
|
32
33
|
...rest
|
|
33
34
|
}: PricingCardProps = $props();
|
|
35
|
+
|
|
36
|
+
// Deduplicate features by value (first occurrence wins) so the keyed {#each}
|
|
37
|
+
// never receives duplicate keys and Svelte cannot throw each_key_duplicate.
|
|
38
|
+
// A dev warning is emitted when duplicates are found so the data author can fix
|
|
39
|
+
// their input, but the component continues to render the deduplicated list.
|
|
40
|
+
const renderableFeatures = $derived.by(() => {
|
|
41
|
+
const seen = new Set<string>();
|
|
42
|
+
const result: string[] = [];
|
|
43
|
+
let hasDuplicates = false;
|
|
44
|
+
for (const feature of features) {
|
|
45
|
+
if (seen.has(feature)) {
|
|
46
|
+
hasDuplicates = true;
|
|
47
|
+
} else {
|
|
48
|
+
seen.add(feature);
|
|
49
|
+
result.push(feature);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (hasDuplicates) {
|
|
53
|
+
devWarn(
|
|
54
|
+
'[cinder/PricingCard] Duplicate feature values detected. Each feature must be unique when used as a list key. Duplicates were removed; only the first occurrence of each value is shown.',
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
});
|
|
34
59
|
</script>
|
|
35
60
|
|
|
36
61
|
<div
|
|
@@ -54,7 +79,7 @@
|
|
|
54
79
|
|
|
55
80
|
<div class="cinder-pricing-card__body">
|
|
56
81
|
<ul class="cinder-pricing-card__features">
|
|
57
|
-
{#each
|
|
82
|
+
{#each renderableFeatures as feature (feature)}
|
|
58
83
|
<li class="cinder-pricing-card__feature">{feature}</li>
|
|
59
84
|
{/each}
|
|
60
85
|
</ul>
|
|
@@ -16,18 +16,18 @@ Coordinates a set of radio buttons under a single name with shared validation st
|
|
|
16
16
|
|
|
17
17
|
<!-- generated:props:start -->
|
|
18
18
|
|
|
19
|
-
| Prop | Type | Required | Default | Description
|
|
20
|
-
| ------------- | ----------------------- | -------- | ------- |
|
|
21
|
-
| `class` | `string` | no | — | Additional class names merged with `.cinder-radio-group`.
|
|
22
|
-
| `description` | `string` | no | — | Helper text displayed below the group; wired via `aria-describedby` on the fieldset.
|
|
23
|
-
| `disabled` | `boolean` | no | — | Disables the entire group.
|
|
24
|
-
| `error` | `string` | no | — | Validation error message; sets `aria-invalid="true"` on the group's children.
|
|
25
|
-
| `
|
|
26
|
-
| `name` | `string` | yes | — | Shared `name` for all radios in the group; required for native form submission.
|
|
27
|
-
| `required` | `boolean` | no | — | When true, marks the group's radios as required for form submission.
|
|
28
|
-
| `value` | `string` | no | — | Bound selected value.
|
|
29
|
-
| `variant` | `"default"` \| `"card"` | no | — | Visual layout. 'card' wraps each radio row in a bordered surface.
|
|
30
|
-
| `children` | `(opaque)` | yes | — | Radio children. Not expressible in JSON Schema; see the component types for the signature.
|
|
19
|
+
| Prop | Type | Required | Default | Description |
|
|
20
|
+
| ------------- | ----------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
21
|
+
| `class` | `string` | no | — | Additional class names merged with `.cinder-radio-group`. |
|
|
22
|
+
| `description` | `string` | no | — | Helper text displayed below the group; wired via `aria-describedby` on the fieldset. |
|
|
23
|
+
| `disabled` | `boolean` | no | — | Disables the entire group. |
|
|
24
|
+
| `error` | `string` | no | — | Validation error message; sets `aria-invalid="true"` on the group's children. |
|
|
25
|
+
| `label` | `string` | no | — | Visible group caption. Rendered as a `<legend>` inside the `<fieldset>`. Named `label` for consistency with every other form control — the element is a `<legend>` because the group is a fieldset. |
|
|
26
|
+
| `name` | `string` | yes | — | Shared `name` for all radios in the group; required for native form submission. |
|
|
27
|
+
| `required` | `boolean` | no | — | When true, marks the group's radios as required for form submission. |
|
|
28
|
+
| `value` | `string` | no | — | Bound selected value. |
|
|
29
|
+
| `variant` | `"default"` \| `"card"` | no | — | Visual layout. 'card' wraps each radio row in a bordered surface. |
|
|
30
|
+
| `children` | `(opaque)` | yes | — | Radio children. Not expressible in JSON Schema; see the component types for the signature. |
|
|
31
31
|
|
|
32
32
|
<!-- generated:props:end -->
|
|
33
33
|
|