@signal9/era-ui 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/actions/actions.svelte +1 -1
- package/dist/ai/artifact/artifact-actions.svelte +1 -1
- package/dist/ai/artifact/artifact-close.svelte +1 -1
- package/dist/ai/artifact/artifact-content.svelte +1 -1
- package/dist/ai/artifact/artifact-header.svelte +1 -1
- package/dist/ai/artifact/artifact.svelte +1 -4
- package/dist/ai/chain-of-thought/chain-of-thought-step.svelte +3 -3
- package/dist/ai/chain-of-thought/chain-of-thought.svelte +1 -1
- package/dist/ai/checkpoint.svelte +2 -2
- package/dist/ai/confirmation/confirmation-actions.svelte +1 -1
- package/dist/ai/confirmation/confirmation-args.svelte +4 -4
- package/dist/ai/confirmation/confirmation.svelte +5 -8
- package/dist/ai/context/context.svelte +3 -3
- package/dist/ai/conversation/conversation-content.svelte +1 -4
- package/dist/ai/conversation/conversation-empty-state.svelte +1 -1
- package/dist/ai/conversation/conversation-scroll-button.svelte +3 -3
- package/dist/ai/conversations/conversations-group.svelte +2 -2
- package/dist/ai/conversations/conversations-item.svelte +8 -8
- package/dist/ai/conversations/conversations-root.svelte +2 -2
- package/dist/ai/error-panel/error-panel.svelte +7 -7
- package/dist/ai/image.svelte +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/inline-citation/inline-citation.svelte +5 -5
- package/dist/ai/loader.svelte +1 -4
- package/dist/ai/message/message-branch-selector.svelte +3 -3
- package/dist/ai/message/message-branch.svelte +1 -1
- package/dist/ai/message/message-content.svelte +1 -1
- package/dist/ai/message/message-toolbar.svelte +1 -1
- package/dist/ai/message/message-usage.svelte +5 -7
- package/dist/ai/message/message.svelte +1 -1
- package/dist/ai/model-selector/model-selector.svelte +2 -2
- package/dist/ai/open-in-chat/open-in-chat.svelte +2 -2
- package/dist/ai/plan/plan-content.svelte +1 -1
- package/dist/ai/plan/plan-header.svelte +2 -2
- package/dist/ai/plan/plan.svelte +1 -4
- package/dist/ai/prompt-input/prompt-input-add-attachments.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input-attachments.svelte +5 -5
- package/dist/ai/prompt-input/prompt-input-submit.svelte +2 -2
- package/dist/ai/prompt-input/prompt-input-textarea.svelte +2 -2
- package/dist/ai/prompt-input/prompt-input-toolbar.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input.svelte +1 -1
- package/dist/ai/queue/queue-item.svelte +1 -1
- package/dist/ai/queue/queue.svelte +1 -1
- package/dist/ai/reasoning/reasoning-trigger.svelte +1 -1
- package/dist/ai/response/response.svelte +1 -1
- package/dist/ai/run-status/run-status.svelte +7 -11
- package/dist/ai/runtime-feed/runtime-feed-item.svelte +1 -4
- package/dist/ai/runtime-feed/runtime-feed-root.svelte +1 -1
- package/dist/ai/sources/source.svelte +2 -2
- package/dist/ai/sources/sources-trigger.svelte +1 -1
- package/dist/ai/structured-value/structured-value.svelte +4 -4
- package/dist/ai/suggestion/suggestion.svelte +1 -1
- package/dist/ai/suggestion/suggestions.svelte +1 -1
- package/dist/ai/swarm/swarm-agent.svelte +3 -3
- package/dist/ai/swarm/swarm-artifact.svelte +2 -2
- package/dist/ai/swarm/swarm-barrier.svelte +3 -3
- package/dist/ai/swarm/swarm-barriers.svelte +1 -4
- package/dist/ai/swarm/swarm-counts.svelte +2 -2
- package/dist/ai/swarm/swarm-footer.svelte +4 -3
- package/dist/ai/swarm/swarm-grid.svelte +2 -2
- package/dist/ai/swarm/swarm-header.svelte +2 -2
- package/dist/ai/swarm/swarm-node.svelte +7 -9
- package/dist/ai/swarm/swarm-role.svelte +6 -3
- package/dist/ai/swarm/swarm-root.svelte +1 -4
- package/dist/ai/swarm/swarm-sandbox.svelte +4 -7
- package/dist/ai/swarm/swarm-tree.svelte +2 -2
- package/dist/ai/task/task-content.svelte +1 -4
- package/dist/ai/task/task-trigger.svelte +1 -1
- package/dist/ai/tool/tool-chip.svelte +3 -3
- package/dist/ai/tool/tool-chips.svelte +3 -3
- package/dist/ai/tool/tool-exec.svelte +4 -4
- package/dist/ai/tool/tool-header.svelte +1 -1
- package/dist/ai/web-preview/web-preview.svelte +4 -9
- package/dist/ai/workflow/canvas.svelte +1 -1
- package/dist/ai/workflow/node.svelte +3 -3
- package/dist/apps/index.d.ts +3 -3
- package/dist/apps/index.js +3 -3
- package/dist/apps/llm-shell/llm-shell.svelte +4 -4
- package/dist/apps/notes/editor/slash-menu.svelte +2 -4
- package/dist/apps/notes/notes.svelte +8 -8
- package/dist/dev/audit/audits/anonymous-text.d.ts +2 -0
- package/dist/dev/audit/audits/anonymous-text.js +73 -0
- package/dist/dev/audit/audits/even-container-padding.js +2 -2
- package/dist/dev/audit/audits/index.d.ts +2 -1
- package/dist/dev/audit/audits/index.js +3 -1
- package/dist/dev/audit/audits/single-glyph-square.js +2 -2
- package/dist/dev/audit/types.d.ts +1 -1
- package/dist/dev/audit-overlay.svelte +7 -7
- package/dist/docs/css-utilities.d.ts +31 -0
- package/dist/docs/css-utilities.js +142 -8
- package/dist/docs/llms-txt.js +2 -2
- package/dist/docs/notes.md +3 -3
- package/dist/docs/quickstart.md +5 -5
- package/dist/era-ui.css +1 -1
- package/dist/generated-docs/llms-full.txt +455 -110
- package/dist/generated-docs/llms.txt +29 -14
- package/dist/generated-docs/manifest.json +382 -55
- package/dist/generated-docs/notes.md +3 -3
- package/dist/generated-docs/utilities.json +359 -45
- package/dist/generated-docs/utilities.md +423 -93
- package/dist/os/notification-center.svelte +11 -17
- package/dist/os/pane-manager.svelte.d.ts +1 -1
- package/dist/os/pane.svelte +4 -6
- package/dist/os/taskbar.svelte +13 -18
- package/dist/os/toast.svelte +6 -11
- package/dist/os/toaster.svelte +1 -1
- package/dist/styles/density.css +0 -2
- package/dist/styles/index.css +160 -84
- package/dist/ui/accordion/accordion-content.svelte +1 -1
- package/dist/ui/accordion/accordion-trigger.svelte +2 -2
- package/dist/ui/alert-dialog/alert-dialog-content.svelte +2 -2
- package/dist/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/dist/ui/aspect-ratio/aspect-ratio.svelte +1 -5
- package/dist/ui/avatar/avatar-fallback.svelte +1 -1
- package/dist/ui/avatar/avatar-root.svelte +1 -1
- package/dist/ui/badge/badge.svelte +1 -1
- package/dist/ui/badge/badge.svelte.d.ts +1 -1
- package/dist/ui/bar/bar.svelte +8 -8
- package/dist/ui/bar/bar.svelte.d.ts +16 -16
- package/dist/ui/button/button.svelte +13 -2
- package/dist/ui/button/variants.d.ts +4 -4
- package/dist/ui/button/variants.js +18 -18
- package/dist/ui/button-group/button-group.svelte +2 -2
- package/dist/ui/calendar/calendar-day.svelte +1 -1
- package/dist/ui/calendar/calendar-grid-row.svelte +1 -1
- package/dist/ui/calendar/calendar-grid.svelte +1 -1
- package/dist/ui/calendar/calendar-head-cell.svelte +1 -1
- package/dist/ui/calendar/calendar-header.svelte +1 -1
- package/dist/ui/calendar/calendar-next-button.svelte +1 -1
- package/dist/ui/calendar/calendar-prev-button.svelte +1 -1
- package/dist/ui/calendar/calendar-root.svelte +1 -1
- package/dist/ui/card/card.svelte +10 -10
- package/dist/ui/card/card.svelte.d.ts +16 -16
- package/dist/ui/checkbox/checkbox-group.svelte +1 -1
- package/dist/ui/checkbox/checkbox.svelte +1 -1
- package/dist/ui/chip/chip.svelte +15 -7
- package/dist/ui/chip/chip.svelte.d.ts +7 -7
- package/dist/ui/code-block/code-block.svelte +3 -9
- package/dist/ui/collapsible/collapsible-trigger.svelte +1 -1
- package/dist/ui/combobox/combobox-content.svelte +1 -1
- package/dist/ui/combobox/combobox-empty.svelte +1 -6
- package/dist/ui/combobox/combobox-group-heading.svelte +1 -4
- package/dist/ui/combobox/combobox-input.svelte +1 -1
- package/dist/ui/combobox/combobox-item.svelte +1 -1
- package/dist/ui/combobox/combobox-trigger.svelte +2 -2
- package/dist/ui/command/command-group-heading.svelte +1 -4
- package/dist/ui/command/command-group-items.svelte +1 -5
- package/dist/ui/command/command-item.svelte +1 -1
- package/dist/ui/command/command-link-item.svelte +1 -1
- package/dist/ui/command/command-root.svelte +2 -2
- package/dist/ui/command/command-viewport.svelte +1 -1
- package/dist/ui/command-bar/command-bar.svelte +9 -13
- package/dist/ui/context-menu/context-menu-checkbox-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-content.svelte +2 -2
- package/dist/ui/context-menu/context-menu-group-heading.svelte +1 -4
- package/dist/ui/context-menu/context-menu-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-radio-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-trigger.svelte +2 -2
- package/dist/ui/copy-button/copy-button.svelte +2 -2
- package/dist/ui/cycle/cycle.svelte +2 -2
- package/dist/ui/date-field/date-field-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-calendar.svelte +1 -1
- package/dist/ui/date-picker/date-picker-content.svelte +1 -4
- package/dist/ui/date-picker/date-picker-day.svelte +1 -1
- package/dist/ui/date-picker/date-picker-grid-row.svelte +1 -1
- package/dist/ui/date-picker/date-picker-grid.svelte +1 -1
- package/dist/ui/date-picker/date-picker-head-cell.svelte +1 -1
- package/dist/ui/date-picker/date-picker-header.svelte +1 -1
- package/dist/ui/date-picker/date-picker-next-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-prev-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-trigger.svelte +2 -2
- package/dist/ui/date-range-field/date-range-field-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-calendar.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -4
- package/dist/ui/date-range-picker/date-range-picker-day.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-grid-row.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-grid.svelte +1 -5
- package/dist/ui/date-range-picker/date-range-picker-head-cell.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-header.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-next-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-prev-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-trigger.svelte +2 -2
- package/dist/ui/dialog/dialog-content.svelte +3 -5
- package/dist/ui/dialog/dialog-header.svelte +1 -6
- package/dist/ui/dialog/dialog-overlay.svelte +1 -5
- package/dist/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-group-heading.svelte +1 -4
- package/dist/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-trigger.svelte +2 -2
- package/dist/ui/file-upload/file-upload.svelte +2 -2
- package/dist/ui/index.js +1 -1
- package/dist/ui/input/input.svelte +2 -2
- package/dist/ui/input/textarea.svelte +1 -1
- package/dist/ui/input/variants.d.ts +18 -18
- package/dist/ui/input/variants.js +6 -6
- package/dist/ui/kv/kv.svelte +2 -3
- package/dist/ui/link-preview/link-preview-content.svelte +1 -1
- package/dist/ui/menubar/menubar-checkbox-item.svelte +1 -1
- package/dist/ui/menubar/menubar-content.svelte +2 -2
- package/dist/ui/menubar/menubar-group-heading.svelte +1 -4
- package/dist/ui/menubar/menubar-item.svelte +1 -1
- package/dist/ui/menubar/menubar-radio-item.svelte +1 -1
- package/dist/ui/menubar/menubar-root.svelte +1 -4
- package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-trigger.svelte +2 -2
- package/dist/ui/menubar/menubar-trigger.svelte +1 -1
- package/dist/ui/meter/meter.svelte +2 -2
- package/dist/ui/pagination/pagination-next-button.svelte +1 -1
- package/dist/ui/pagination/pagination-prev-button.svelte +1 -1
- package/dist/ui/pagination/pagination-root.svelte +1 -1
- package/dist/ui/pane/pane-content.svelte +1 -1
- package/dist/ui/pane/pane-root.svelte +1 -1
- package/dist/ui/pane/pane-tab-list.svelte +1 -1
- package/dist/ui/pane/pane-tab-panel.svelte +1 -1
- package/dist/ui/pane/pane-tab.svelte +1 -1
- package/dist/ui/pane/pane.svelte +1 -1
- package/dist/ui/pin-input/pin-input-cell.svelte +1 -1
- package/dist/ui/popover/popover-content.svelte +1 -1
- package/dist/ui/popover/popover-trigger.svelte +1 -4
- package/dist/ui/progress/progress.svelte +2 -2
- package/dist/ui/radio-group/radio-group-item.svelte +2 -2
- package/dist/ui/radio-group/radio-group-root.svelte +1 -1
- package/dist/ui/rating-group/rating-group-item.svelte +1 -1
- package/dist/ui/rating-group/rating-group-root.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area-scrollbar.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area-thumb.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area.svelte +1 -1
- package/dist/ui/select/select-content.svelte +7 -6
- package/dist/ui/select/select-group-heading.svelte +1 -4
- package/dist/ui/select/select-item.svelte +1 -1
- package/dist/ui/select/select-trigger.svelte +2 -2
- package/dist/ui/select/select-value.svelte +1 -1
- package/dist/ui/separator/separator.svelte +1 -1
- package/dist/ui/sheet/sheet-content.svelte +3 -3
- package/dist/ui/sheet/sheet-content.svelte.d.ts +4 -4
- package/dist/ui/skeleton/skeleton.svelte +4 -4
- package/dist/ui/skeleton/skeleton.svelte.d.ts +10 -10
- package/dist/ui/slider/slider-range.svelte +1 -1
- package/dist/ui/slider/slider-thumb.svelte +1 -1
- package/dist/ui/slider/slider-tick.svelte +1 -1
- package/dist/ui/step/step-content.svelte +1 -1
- package/dist/ui/step/step-section.svelte +1 -1
- package/dist/ui/step/step-summary.svelte +7 -7
- package/dist/ui/switch/switch.svelte +2 -2
- package/dist/ui/table/table-cell.svelte +1 -1
- package/dist/ui/table/table-head-cell.svelte +1 -1
- package/dist/ui/table/table-row.svelte +1 -1
- package/dist/ui/time-field/time-field-segment.svelte +1 -1
- package/dist/ui/time-range-field/time-range-field-segment.svelte +1 -1
- package/dist/ui/toggle-group/toggle-group-item.svelte +1 -1
- package/dist/ui/toggle-group/toggle-group-root.svelte +1 -1
- package/dist/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/ui/video-player/video-player.svelte +44 -47
- package/dist/utils/index.js +1 -1
- package/package.json +4 -3
|
@@ -828,16 +828,16 @@
|
|
|
828
828
|
// against the mute button below. Visibility is in the scoped style block.
|
|
829
829
|
const volumeSleeveClass = $derived(
|
|
830
830
|
resolvedVolumeOrientation === 'vertical'
|
|
831
|
-
? 'absolute bottom-full left-1/2 z-20 h-[calc(var(--era-h-bar)*3)] w-
|
|
832
|
-
: 'relative h-
|
|
831
|
+
? 'absolute bottom-full left-1/2 z-20 h-[calc(var(--era-h-bar)*3)] w-control -translate-x-1/2 rounded-t-control bg-hover shadow-sm glass-blur'
|
|
832
|
+
: 'relative h-chip w-[calc(var(--era-h-control)*3)]'
|
|
833
833
|
);
|
|
834
834
|
// Slider IS the visible track. Range and Thumb (both bg-fg) live inside
|
|
835
835
|
// and blend into one filled column.
|
|
836
836
|
const volumeSliderClass = $derived(
|
|
837
|
-
`absolute touch-none select-none overflow-hidden rounded-
|
|
837
|
+
`absolute touch-none select-none overflow-hidden rounded-icon bg-3 shadow-sm focus:outline-none ${
|
|
838
838
|
resolvedVolumeOrientation === 'vertical'
|
|
839
|
-
? 'top-
|
|
840
|
-
: 'inset-x-
|
|
839
|
+
? 'top-gutter bottom-gutter left-1/2 w-icon -translate-x-1/2'
|
|
840
|
+
: 'inset-x-icon-inset-chip top-1/2 h-icon -translate-y-1/2'
|
|
841
841
|
}`
|
|
842
842
|
);
|
|
843
843
|
// Bits-ui's slider needs a thumb element to handle pointer events, but
|
|
@@ -858,7 +858,7 @@
|
|
|
858
858
|
// has held still over the bar for a while.
|
|
859
859
|
let barHovered = $state(false);
|
|
860
860
|
const barClass = $derived(
|
|
861
|
-
`absolute inset-x-
|
|
861
|
+
`absolute inset-x-gutter bottom-gutter z-10 bg-2 shadow-sm transition-opacity duration-base ${
|
|
862
862
|
(userIdle || pausedIdle) && !barHovered ? 'pointer-events-none opacity-0' : ''
|
|
863
863
|
}`
|
|
864
864
|
);
|
|
@@ -959,7 +959,7 @@
|
|
|
959
959
|
aria-hidden="true"
|
|
960
960
|
class="pointer-events-none absolute inset-0 z-10 flex items-center justify-center"
|
|
961
961
|
>
|
|
962
|
-
<LoaderCircle class="size-
|
|
962
|
+
<LoaderCircle class="size-bar animate-spin text-fg" />
|
|
963
963
|
</span>
|
|
964
964
|
{/if}
|
|
965
965
|
|
|
@@ -974,18 +974,18 @@
|
|
|
974
974
|
aria-label={`Back ${skipBy} seconds`}
|
|
975
975
|
onclick={(e: MouseEvent) => seekBy(-skipBy, e)}
|
|
976
976
|
>
|
|
977
|
-
<Rewind class="size-
|
|
977
|
+
<Rewind class="size-icon" aria-hidden="true" />
|
|
978
978
|
</Button>
|
|
979
979
|
{/if}
|
|
980
980
|
|
|
981
981
|
{#if showPlay && !mobileMode}
|
|
982
982
|
<Button icon aria-label={playLabel} onclick={togglePlay}>
|
|
983
983
|
{#if ended}
|
|
984
|
-
<RotateCcw class="size-
|
|
984
|
+
<RotateCcw class="size-icon" aria-hidden="true" />
|
|
985
985
|
{:else if paused}
|
|
986
|
-
<Play class="size-
|
|
986
|
+
<Play class="size-icon" aria-hidden="true" />
|
|
987
987
|
{:else}
|
|
988
|
-
<Pause class="size-
|
|
988
|
+
<Pause class="size-icon" aria-hidden="true" />
|
|
989
989
|
{/if}
|
|
990
990
|
</Button>
|
|
991
991
|
{/if}
|
|
@@ -996,7 +996,7 @@
|
|
|
996
996
|
aria-label={`Forward ${skipBy} seconds`}
|
|
997
997
|
onclick={(e: MouseEvent) => seekBy(skipBy, e)}
|
|
998
998
|
>
|
|
999
|
-
<FastForward class="size-
|
|
999
|
+
<FastForward class="size-icon" aria-hidden="true" />
|
|
1000
1000
|
</Button>
|
|
1001
1001
|
{/if}
|
|
1002
1002
|
|
|
@@ -1016,7 +1016,7 @@
|
|
|
1016
1016
|
aria-valuenow={seekAriaValue}
|
|
1017
1017
|
aria-valuetext={seekValueText}
|
|
1018
1018
|
aria-disabled={seekDisabled}
|
|
1019
|
-
class="relative h-
|
|
1019
|
+
class="relative h-chip min-w-0 flex-1 touch-none select-none focus:outline-none focus-visible:outline focus-visible:outline-offset-2 focus-visible:outline-fg data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50"
|
|
1020
1020
|
style="--era-video-played-scale: 0; --era-video-buffered-scale: 0; --era-video-hover-pct: 0%;"
|
|
1021
1021
|
data-seek-root
|
|
1022
1022
|
data-disabled={seekDisabled}
|
|
@@ -1028,12 +1028,9 @@
|
|
|
1028
1028
|
onpointerleave={handleSeekPointerLeave}
|
|
1029
1029
|
onkeydown={handleSeekKeydown}
|
|
1030
1030
|
>
|
|
1031
|
-
<span
|
|
1032
|
-
aria-hidden="true"
|
|
1033
|
-
class="pointer-events-none absolute inset-0 rounded-(--era-rd-chip)"
|
|
1034
|
-
>
|
|
1031
|
+
<span aria-hidden="true" class="pointer-events-none absolute inset-0 rounded-chip">
|
|
1035
1032
|
<span
|
|
1036
|
-
class="absolute inset-
|
|
1033
|
+
class="absolute inset-icon-inset-chip overflow-hidden rounded-icon bg-3 shadow-sm"
|
|
1037
1034
|
>
|
|
1038
1035
|
<span
|
|
1039
1036
|
class="absolute inset-y-0 left-0 w-full origin-left scale-x-(--era-video-buffered-scale) bg-4"
|
|
@@ -1061,7 +1058,7 @@
|
|
|
1061
1058
|
-->
|
|
1062
1059
|
<span
|
|
1063
1060
|
aria-hidden="true"
|
|
1064
|
-
class="pointer-events-none absolute bottom-[calc(100%+(var(--era-h-bar)-var(--era-h-chip))/2+var(--era-gap))] left-(--era-video-hover-pct) inline-flex h-
|
|
1061
|
+
class="pointer-events-none absolute bottom-[calc(100%+(var(--era-h-bar)-var(--era-h-chip))/2+var(--era-gap))] left-(--era-video-hover-pct) inline-flex h-pill -translate-x-1/2 items-center gap-gutter rounded-pill bg-elevated px-inset-pill font-mono text-body leading-none whitespace-nowrap text-fg shadow-lg glass-blur"
|
|
1065
1062
|
>
|
|
1066
1063
|
<span class="tabular-nums">{hoverTimeLabel}</span>
|
|
1067
1064
|
{#if hoverChapter}
|
|
@@ -1089,11 +1086,11 @@
|
|
|
1089
1086
|
onclick={(e: MouseEvent) => remote.toggleMuted(e)}
|
|
1090
1087
|
>
|
|
1091
1088
|
{#if mutedState || volumeState === 0}
|
|
1092
|
-
<VolumeX class="size-
|
|
1089
|
+
<VolumeX class="size-icon" aria-hidden="true" />
|
|
1093
1090
|
{:else if volumeState < 0.5}
|
|
1094
|
-
<Volume1 class="size-
|
|
1091
|
+
<Volume1 class="size-icon" aria-hidden="true" />
|
|
1095
1092
|
{:else}
|
|
1096
|
-
<Volume2 class="size-
|
|
1093
|
+
<Volume2 class="size-icon" aria-hidden="true" />
|
|
1097
1094
|
{/if}
|
|
1098
1095
|
</Button>
|
|
1099
1096
|
|
|
@@ -1133,7 +1130,7 @@
|
|
|
1133
1130
|
<BitsDropdownMenu.Trigger>
|
|
1134
1131
|
{#snippet child({ props })}
|
|
1135
1132
|
<Button icon aria-label="Playback speed" {...props}>
|
|
1136
|
-
<Gauge class="size-
|
|
1133
|
+
<Gauge class="size-icon" aria-hidden="true" />
|
|
1137
1134
|
</Button>
|
|
1138
1135
|
{/snippet}
|
|
1139
1136
|
</BitsDropdownMenu.Trigger>
|
|
@@ -1147,7 +1144,7 @@
|
|
|
1147
1144
|
{#snippet children({ checked })}
|
|
1148
1145
|
<span>{r === 1 ? 'Normal' : `${r}x`}</span>
|
|
1149
1146
|
{#if checked}
|
|
1150
|
-
<Check class="ml-auto size-
|
|
1147
|
+
<Check class="ml-auto size-icon text-muted" aria-hidden="true" />
|
|
1151
1148
|
{/if}
|
|
1152
1149
|
{/snippet}
|
|
1153
1150
|
</DropdownMenu.RadioItem>
|
|
@@ -1167,7 +1164,7 @@
|
|
|
1167
1164
|
<BitsDropdownMenu.Trigger>
|
|
1168
1165
|
{#snippet child({ props })}
|
|
1169
1166
|
<Button icon aria-label="Quality" {...props}>
|
|
1170
|
-
<Settings class="size-
|
|
1167
|
+
<Settings class="size-icon" aria-hidden="true" />
|
|
1171
1168
|
</Button>
|
|
1172
1169
|
{/snippet}
|
|
1173
1170
|
</BitsDropdownMenu.Trigger>
|
|
@@ -1180,7 +1177,7 @@
|
|
|
1180
1177
|
{#snippet children({ checked })}
|
|
1181
1178
|
<span>Auto</span>
|
|
1182
1179
|
{#if checked}
|
|
1183
|
-
<Check class="ml-auto size-
|
|
1180
|
+
<Check class="ml-auto size-icon text-muted" aria-hidden="true" />
|
|
1184
1181
|
{/if}
|
|
1185
1182
|
{/snippet}
|
|
1186
1183
|
</DropdownMenu.RadioItem>
|
|
@@ -1189,7 +1186,7 @@
|
|
|
1189
1186
|
{#snippet children({ checked })}
|
|
1190
1187
|
<span>{q.height}p</span>
|
|
1191
1188
|
{#if checked}
|
|
1192
|
-
<Check class="ml-auto size-
|
|
1189
|
+
<Check class="ml-auto size-icon text-muted" aria-hidden="true" />
|
|
1193
1190
|
{/if}
|
|
1194
1191
|
{/snippet}
|
|
1195
1192
|
</DropdownMenu.RadioItem>
|
|
@@ -1206,9 +1203,9 @@
|
|
|
1206
1203
|
onclick={(e: MouseEvent) => remote.togglePictureInPicture(e)}
|
|
1207
1204
|
>
|
|
1208
1205
|
{#if pipState}
|
|
1209
|
-
<PictureInPicture2 class="size-
|
|
1206
|
+
<PictureInPicture2 class="size-icon" aria-hidden="true" />
|
|
1210
1207
|
{:else}
|
|
1211
|
-
<PictureInPicture class="size-
|
|
1208
|
+
<PictureInPicture class="size-icon" aria-hidden="true" />
|
|
1212
1209
|
{/if}
|
|
1213
1210
|
</Button>
|
|
1214
1211
|
{/if}
|
|
@@ -1220,9 +1217,9 @@
|
|
|
1220
1217
|
onclick={(e: MouseEvent) => remote.toggleFullscreen(FULLSCREEN_TARGET, e)}
|
|
1221
1218
|
>
|
|
1222
1219
|
{#if fullscreenState}
|
|
1223
|
-
<Minimize class="size-
|
|
1220
|
+
<Minimize class="size-icon" aria-hidden="true" />
|
|
1224
1221
|
{:else}
|
|
1225
|
-
<Maximize class="size-
|
|
1222
|
+
<Maximize class="size-icon" aria-hidden="true" />
|
|
1226
1223
|
{/if}
|
|
1227
1224
|
</Button>
|
|
1228
1225
|
{/if}
|
|
@@ -1246,11 +1243,11 @@
|
|
|
1246
1243
|
<ContextMenu.Content onOpenAutoFocus={(e: Event) => e.preventDefault()}>
|
|
1247
1244
|
<ContextMenu.Item onSelect={togglePlay}>
|
|
1248
1245
|
{#if ended}
|
|
1249
|
-
<RotateCcw class="size-
|
|
1246
|
+
<RotateCcw class="size-icon" aria-hidden="true" />
|
|
1250
1247
|
{:else if paused}
|
|
1251
|
-
<Play class="size-
|
|
1248
|
+
<Play class="size-icon" aria-hidden="true" />
|
|
1252
1249
|
{:else}
|
|
1253
|
-
<Pause class="size-
|
|
1250
|
+
<Pause class="size-icon" aria-hidden="true" />
|
|
1254
1251
|
{/if}
|
|
1255
1252
|
<span>{playLabel}</span>
|
|
1256
1253
|
</ContextMenu.Item>
|
|
@@ -1258,11 +1255,11 @@
|
|
|
1258
1255
|
{#if showVolume && !mobileMode}
|
|
1259
1256
|
<ContextMenu.Item onSelect={(e: Event) => remote.toggleMuted(e)}>
|
|
1260
1257
|
{#if mutedState || volumeState === 0}
|
|
1261
|
-
<VolumeX class="size-
|
|
1258
|
+
<VolumeX class="size-icon" aria-hidden="true" />
|
|
1262
1259
|
{:else if volumeState < 0.5}
|
|
1263
|
-
<Volume1 class="size-
|
|
1260
|
+
<Volume1 class="size-icon" aria-hidden="true" />
|
|
1264
1261
|
{:else}
|
|
1265
|
-
<Volume2 class="size-
|
|
1262
|
+
<Volume2 class="size-icon" aria-hidden="true" />
|
|
1266
1263
|
{/if}
|
|
1267
1264
|
<span>{muteLabel}</span>
|
|
1268
1265
|
</ContextMenu.Item>
|
|
@@ -1271,9 +1268,9 @@
|
|
|
1271
1268
|
{#if showSpeed && !mobileMode}
|
|
1272
1269
|
<ContextMenu.Sub>
|
|
1273
1270
|
<ContextMenu.SubTrigger>
|
|
1274
|
-
<Gauge class="size-
|
|
1271
|
+
<Gauge class="size-icon" aria-hidden="true" />
|
|
1275
1272
|
<span class="flex-1">Speed</span>
|
|
1276
|
-
<span class="ml-auto pl-
|
|
1273
|
+
<span class="ml-auto pl-gutter text-muted">
|
|
1277
1274
|
{rateState === 1 ? '1x' : `${rateState}x`}
|
|
1278
1275
|
</span>
|
|
1279
1276
|
</ContextMenu.SubTrigger>
|
|
@@ -1295,9 +1292,9 @@
|
|
|
1295
1292
|
{#if showQualityMenu && !mobileMode}
|
|
1296
1293
|
<ContextMenu.Sub>
|
|
1297
1294
|
<ContextMenu.SubTrigger>
|
|
1298
|
-
<Settings class="size-
|
|
1295
|
+
<Settings class="size-icon" aria-hidden="true" />
|
|
1299
1296
|
<span class="flex-1">Quality</span>
|
|
1300
|
-
<span class="ml-auto pl-
|
|
1297
|
+
<span class="ml-auto pl-gutter text-muted">{qualityHint}</span>
|
|
1301
1298
|
</ContextMenu.SubTrigger>
|
|
1302
1299
|
<ContextMenu.SubContent>
|
|
1303
1300
|
<ContextMenu.RadioGroup
|
|
@@ -1316,9 +1313,9 @@
|
|
|
1316
1313
|
{#if showPip && canEnterPip && !mobileMode}
|
|
1317
1314
|
<ContextMenu.Item onSelect={(e: Event) => remote.togglePictureInPicture(e)}>
|
|
1318
1315
|
{#if pipState}
|
|
1319
|
-
<PictureInPicture2 class="size-
|
|
1316
|
+
<PictureInPicture2 class="size-icon" aria-hidden="true" />
|
|
1320
1317
|
{:else}
|
|
1321
|
-
<PictureInPicture class="size-
|
|
1318
|
+
<PictureInPicture class="size-icon" aria-hidden="true" />
|
|
1322
1319
|
{/if}
|
|
1323
1320
|
<span>{pipState ? 'Exit picture-in-picture' : 'Picture-in-picture'}</span>
|
|
1324
1321
|
</ContextMenu.Item>
|
|
@@ -1327,9 +1324,9 @@
|
|
|
1327
1324
|
{#if canEnterFullscreen}
|
|
1328
1325
|
<ContextMenu.Item onSelect={(e: Event) => remote.toggleFullscreen(FULLSCREEN_TARGET, e)}>
|
|
1329
1326
|
{#if fullscreenState}
|
|
1330
|
-
<Minimize class="size-
|
|
1327
|
+
<Minimize class="size-icon" aria-hidden="true" />
|
|
1331
1328
|
{:else}
|
|
1332
|
-
<Maximize class="size-
|
|
1329
|
+
<Maximize class="size-icon" aria-hidden="true" />
|
|
1333
1330
|
{/if}
|
|
1334
1331
|
<span>{fullscreenState ? 'Exit fullscreen' : 'Fullscreen'}</span>
|
|
1335
1332
|
</ContextMenu.Item>
|
|
@@ -1338,7 +1335,7 @@
|
|
|
1338
1335
|
<ContextMenu.Separator />
|
|
1339
1336
|
|
|
1340
1337
|
<ContextMenu.Item onSelect={downloadVideo}>
|
|
1341
|
-
<Download class="size-
|
|
1338
|
+
<Download class="size-icon" aria-hidden="true" />
|
|
1342
1339
|
<span>Download video</span>
|
|
1343
1340
|
</ContextMenu.Item>
|
|
1344
1341
|
</ContextMenu.Content>
|
|
@@ -1361,7 +1358,7 @@
|
|
|
1361
1358
|
bits-ui slider thumb is being dragged (its `data-active` is set on
|
|
1362
1359
|
pointerdown and cleared on pointerup, even if the cursor strays
|
|
1363
1360
|
outside the cluster). Plain CSS rather than Tailwind variants on the
|
|
1364
|
-
button sidesteps cascade ambiguity with `rounded-
|
|
1361
|
+
button sidesteps cascade ambiguity with `rounded-control`. */
|
|
1365
1362
|
:global([data-volume-cluster] [data-volume-sleeve]) {
|
|
1366
1363
|
visibility: hidden;
|
|
1367
1364
|
}
|
package/dist/utils/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { createTV } from 'tailwind-variants';
|
|
|
7
7
|
// The rest teaches tailwind-merge era's named class API (styles/index.css):
|
|
8
8
|
// values it can't know about (h-control, px-inset-control, gap-gutter, shadow-well, …)
|
|
9
9
|
// must land in their real class groups, or a consumer's `class="h-bar"` would
|
|
10
|
-
// fail to replace a component's h-
|
|
10
|
+
// fail to replace a component's h-control and both would apply.
|
|
11
11
|
// Colors (bg-elevated, bg-highlight, …) need no entry — the bg group already
|
|
12
12
|
// accepts any name. rounded-icon/sm/md/lg and bare shadow/shadow-lg are stock
|
|
13
13
|
// names tailwind-merge knows; only era's additions to those scales are listed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signal9/era-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "vite dev --host",
|
|
6
6
|
"build": "vite build && npm run prepack",
|
|
@@ -19,9 +19,10 @@
|
|
|
19
19
|
"check:surfaces": "node --experimental-strip-types scripts/check-surfaces.ts",
|
|
20
20
|
"check:tokens": "node --experimental-strip-types scripts/check-tokens.ts",
|
|
21
21
|
"check:routes": "node --experimental-strip-types scripts/check-routes.ts",
|
|
22
|
+
"check:canonical": "node --experimental-strip-types scripts/check-canonical.ts",
|
|
22
23
|
"build:llm-docs": "node --experimental-strip-types scripts/build-llm-docs.ts",
|
|
23
|
-
"prebuild": "npm run check:surfaces && npm run check:tokens && npm run check:routes && npm run build:llm-docs",
|
|
24
|
-
"validate": "npm run check && npm run lint && npm run format:check && npm run check:surfaces && npm run check:tokens && npm run check:routes",
|
|
24
|
+
"prebuild": "npm run check:surfaces && npm run check:tokens && npm run check:routes && npm run check:canonical && npm run build:llm-docs",
|
|
25
|
+
"validate": "npm run check && npm run lint && npm run format:check && npm run check:surfaces && npm run check:tokens && npm run check:routes && npm run check:canonical",
|
|
25
26
|
"test": "npm run test:visual"
|
|
26
27
|
},
|
|
27
28
|
"files": [
|