@fusion.dev/helix 0.154.0 → 0.155.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.
@@ -19,4 +19,8 @@ color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
19
19
  :host(:state(end)) ::slotted(a:focus-visible) {outline-offset: calc(var(--helix-size-focus-offset) * -1);}:host(:state(end)) [part="link"]:focus-visible,
20
20
  :host(:state(end)) ::slotted(a:focus-visible),
21
21
  :host(:state(end)) slot[name="end"]:focus-within {position: relative;z-index: var(--helix-layer-raised);}:host(:state(end)) [part="link"]:hover ~ slot[name="end"] {--icon-button-background-color: var(--_breadcrumbs-split-fill, transparent);}:host(:state(end)) [part="link"]:has(~ slot[name="end"]:hover),
22
- :host(:state(end)) [part="link"]:has(~ slot[name="end"]:hover) ::slotted(a) {background-color: var(--_breadcrumbs-split-fill, transparent);}:host(:state(end)) [part="link"] {position: relative;}:host(:state(end)) [part="link"]::after {background-color: var(--_breadcrumbs-split-rule, transparent);content: "";inline-size: var(--helix-border-thin);inset-block: 20%;inset-inline-end: calc(var(--helix-border-thin) * -1);pointer-events: none;position: absolute;}:host([hidden]) {display: none;}`);
22
+ :host(:state(end)) [part="link"]:has(~ slot[name="end"]:hover) ::slotted(a) {background-color: var(--_breadcrumbs-split-fill, transparent);}:host(:state(end)) [part="link"] {position: relative;}:host(:state(end)) [part="link"]::after {background-color: var(--_breadcrumbs-split-rule, transparent);content: "";inline-size: var(--helix-border-thin);inset-block: 20%;inset-inline-end: calc(var(--helix-border-thin) * -1);pointer-events: none;position: absolute;}:host([hidden]),
23
+ :host(:state(folded)) {display: none;}[part="fold-separator"] {color: var(--breadcrumbs-separator-color, var(--helix-color-foreground-subtle));display: block;user-select: none;}[part="fold-separator"] svg {block-size: 1em;inline-size: 1em;vertical-align: calc(0.5cap - 0.5em);}[part="expand"] {all: unset;border-radius: var(--breadcrumbs-radius, var(--helix-radii-sm));box-sizing: border-box;color: var(--breadcrumbs-link-color, var(--helix-color-foreground-muted));cursor: pointer;line-height: var(--helix-leading-normal);padding: var(--helix-space-2xs) var(--helix-space-xs);}[part="expand"]:hover {background-color: var(
24
+ --breadcrumbs-hover-color,
25
+ color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
26
+ );color: var(--breadcrumbs-current-color, var(--helix-color-foreground));}[part="expand"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}`);
@@ -72,5 +72,5 @@ var(--helix-space-sm) var(--helix-space-sm);}[part="channel"] {--slider-fill-col
72
72
  :host(:state(invalid)) [part="value"],
73
73
  :host(:state(invalid)) [part="value"]:hover,
74
74
  :host(:state(invalid)) [part="value"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}[part="fields"] {display: grid;gap: var(--color-picker-fields-gap, var(--helix-space-xs));grid-auto-columns: minmax(0, 1fr);grid-auto-flow: column;margin-block-start: var(--helix-space-sm);padding-inline: var(--color-picker-padding, var(--helix-space-none));}:host([alpha]) [part="fields"] {grid-auto-flow: row;grid-template-columns: repeat(2, minmax(0, 1fr));}[part="field"] {display: flex;flex-direction: column;gap: var(--helix-space-2xs);min-inline-size: 0;}[part="field-label"] {color: var(--color-picker-field-label-color, var(--helix-color-foreground-muted));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-weight: var(--helix-weight-medium);}[part="field-input"] {all: unset;appearance: textfield;background-color: var(--helix-color-surface-sunken);block-size: var(--helix-size-control);border: var(--helix-border-thin) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--helix-color-foreground);font-family: var(--helix-font-sans);font-size: var(--helix-text-control);font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);inline-size: 100%;min-inline-size: 0;padding-inline: var(--helix-space-xs);transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);}[part="field-input"]::-webkit-inner-spin-button,
75
- [part="field-input"]::-webkit-outer-spin-button {appearance: none;margin: 0;}[part="field-input"]:hover {border-color: var(--helix-color-foreground-muted);}[part="field-input"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}[part="actions"] {display: flex;flex: 1 1 auto;}[part="actions"] helix-button {flex: 1 1 0;}::slotted([slot="eyedropper-icon"]) {block-size: var(--icon-size, var(--helix-size-icon));flex: 0 0 auto;inline-size: var(--icon-size, var(--helix-size-icon));}[part="format"] {font-family: var(--helix-font-mono);font-variant-caps: all-small-caps;}[part="swatches"] {border-block-start: var(--helix-border-thin) solid var(--helix-color-border);display: flex;flex-wrap: wrap;gap: var(--helix-space-2xs);margin-block-start: var(--helix-space-sm);padding-block-start: var(--helix-space-sm);padding-inline: var(--color-picker-padding, var(--helix-space-none));}[part="swatch"] {block-size: var(--color-picker-swatch-size, var(--helix-size-icon-loose));cursor: pointer;inline-size: var(--color-picker-swatch-size, var(--helix-size-icon-loose));padding: var(--helix-space-none);}[part="feedback"] {color: var(--color-picker-feedback-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-sm) var(--helix-space-none) var(--helix-space-none);padding-inline: var(--color-picker-padding, var(--helix-space-none));}@media (prefers-reduced-motion: reduce) {[part="sample"] {transition: none;}[part="sample"][data-copied] {scale: 1;}}:host(:disabled) {cursor: not-allowed;opacity: 0.5;}:host([readonly]) [part="grid"],
75
+ [part="field-input"]::-webkit-outer-spin-button {appearance: none;margin: 0;}[part="field-input"]:hover {border-color: var(--helix-color-foreground-muted);}[part="field-input"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}[part="actions"] {display: flex;flex: 1 1 auto;}[part="actions"] helix-button {flex: 1 1 0;}::slotted([slot="eyedropper-icon"]) {block-size: var(--icon-size, var(--helix-size-icon));flex: 0 0 auto;inline-size: var(--icon-size, var(--helix-size-icon));}[part="format"] {font-family: var(--helix-font-mono);font-variant-caps: all-small-caps;}[part="swatches"] {border-block-start: var(--helix-border-thin) solid var(--helix-color-border);display: flex;flex-wrap: wrap;gap: var(--helix-space-2xs);margin-block-start: var(--helix-space-sm);padding-block-start: var(--helix-space-sm);padding-inline: var(--color-picker-padding, var(--helix-space-none));}[part="swatch"] {block-size: var(--color-picker-swatch-size, var(--helix-size-icon-loose));cursor: pointer;inline-size: var(--color-picker-swatch-size, var(--helix-size-icon-loose));padding: var(--helix-space-none);}[part="label"] {color: var(--helix-color-foreground);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-weight: var(--helix-weight-medium);line-height: var(--helix-leading-tight);margin-block-end: var(--helix-space-xs);padding-inline: var(--color-picker-padding, var(--helix-space-none));}:host([required]) [part="label"]::after {color: var(--helix-color-danger);content: "*";margin-inline-start: var(--helix-space-2xs);}@supports (content: "*" / "") {:host([required]) [part="label"]::after {content: "*" / "";}}[part="hint"] {color: var(--helix-color-foreground-subtle);font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);line-height: var(--helix-leading-normal);margin-block-start: var(--helix-space-sm);padding-inline: var(--color-picker-padding, var(--helix-space-none));}[part="feedback"] {color: var(--color-picker-feedback-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-sm) var(--helix-space-none) var(--helix-space-none);padding-inline: var(--color-picker-padding, var(--helix-space-none));}@media (prefers-reduced-motion: reduce) {[part="sample"] {transition: none;}[part="sample"][data-copied] {scale: 1;}}:host(:disabled) {cursor: not-allowed;opacity: 0.5;}:host([readonly]) [part="grid"],
76
76
  :host([readonly]) [part="swatch"] {cursor: default;}@media print {:host {box-shadow: none;print-color-adjust: exact;}}`);
@@ -29,4 +29,4 @@ color-mix(in oklab, var(--helix-color-foreground) 14%, transparent)
29
29
  :host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}:host(:disabled) {cursor: not-allowed;opacity: 0.5;}:host([invalid]) [part~="cell"][aria-selected] [part~="day"],
30
30
  :host(:state(invalid)) [part~="cell"][aria-selected] [part~="day"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-danger);outline-offset: var(--helix-size-focus-offset);}:host([invalid]) [part~="cell"]:focus-visible [part~="day"],
31
31
  :host(:state(invalid)) [part~="cell"]:focus-visible [part~="day"] {outline-color: var(--helix-color-danger);}:host([invalid]) [part="grid"][data-unset],
32
- :host(:state(invalid)) [part="grid"][data-unset] {border-radius: var(--helix-radii-sm);outline: var(--helix-size-focus-ring) solid var(--helix-color-danger);outline-offset: var(--helix-size-focus-offset);}[part="feedback"] {color: var(--date-picker-feedback-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-sm) var(--helix-space-none) var(--helix-space-none);}@media print {:host {box-shadow: none;print-color-adjust: exact;}}`);
32
+ :host(:state(invalid)) [part="grid"][data-unset] {border-radius: var(--helix-radii-sm);outline: var(--helix-size-focus-ring) solid var(--helix-color-danger);outline-offset: var(--helix-size-focus-offset);}[part="feedback"] {color: var(--date-picker-feedback-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-sm) var(--helix-space-none) var(--helix-space-none);}@media print {:host {box-shadow: none;print-color-adjust: exact;}}::slotted([slot="header"]) {display: block;margin-block-end: var(--helix-space-sm);}::slotted([slot="footer"]) {display: block;margin-block-start: var(--helix-space-sm);}`);
@@ -7,6 +7,7 @@ registerElementEvents({
7
7
  'helix-aura': ['helix-aura-fallback'],
8
8
  'helix-avatar': ['error', 'load'],
9
9
  'helix-bar-chart': ['helix-reading-change', 'helix-reading-press'],
10
+ 'helix-breadcrumb': ['helix-select'],
10
11
  'helix-button': ['helix-press'],
11
12
  'helix-button-group': ['change', 'helix-before-change'],
12
13
  'helix-callout': ['helix-dismiss'],
@@ -245,7 +246,7 @@ registerElementEvents({
245
246
  'helix-step': ['helix-select'],
246
247
  'helix-steps': ['helix-activate', 'helix-before-activate', 'helix-select'],
247
248
  'helix-switch': ['change', 'helix-before-toggle', 'input'],
248
- 'helix-tab': ['helix-select'],
249
+ 'helix-tab': ['helix-dismiss', 'helix-select'],
249
250
  'helix-table': [
250
251
  'helix-before-reorder',
251
252
  'helix-reorder',
@@ -41,7 +41,7 @@ currentColor var(--_slider-hole)
41
41
  circle at 50% calc(100% - var(--slider-fraction, 0) * 100%),
42
42
  transparent var(--_slider-hole),
43
43
  currentColor var(--_slider-hole)
44
- );}[part="marker"] {background-color: var(--slider-marker-color, var(--helix-color-background));block-size: var(--_slider-track);border-radius: var(--helix-radii-full);inline-size: var(--helix-border-thick);inset-block-start: 0;inset-inline-start: var(--slider-marker-at, 0%);position: absolute;translate: -50% 0;}:host(:dir(rtl)) [part="marker"] {translate: 50% 0;}:host(:disabled) [part="control"] {cursor: not-allowed;}:host(:disabled) {opacity: 0.5;}[part="control"]::-webkit-slider-runnable-track {background: var(--_slider-track-image);block-size: var(--_slider-track);border-radius: var(--helix-radii-full);}[part="control"]::-moz-range-track {background: var(--_slider-track-image);block-size: var(--_slider-track);border-radius: var(--helix-radii-full);}[part="control"]::-webkit-slider-thumb {appearance: none;background-color: var(--slider-thumb-color, var(--helix-color-surface-inverse));block-size: var(--_slider-thumb);border: none;border-radius: var(--_slider-thumb-radii);box-shadow:
44
+ );}[part="marker"] {background-color: var(--slider-marker-color, var(--helix-color-background));block-size: var(--_slider-track);border-radius: var(--helix-radii-full);inline-size: var(--helix-border-thick);inset-block-start: 0;inset-inline-start: var(--slider-marker-at, 0%);position: absolute;translate: -50% 0;}:host(:dir(rtl)) [part="marker"] {translate: 50% 0;}:host(:disabled) [part="control"] {cursor: not-allowed;}:host([readonly]) [part="control"] {cursor: default;}:host(:disabled) {opacity: 0.5;}[part="control"]::-webkit-slider-runnable-track {background: var(--_slider-track-image);block-size: var(--_slider-track);border-radius: var(--helix-radii-full);}[part="control"]::-moz-range-track {background: var(--_slider-track-image);block-size: var(--_slider-track);border-radius: var(--helix-radii-full);}[part="control"]::-webkit-slider-thumb {appearance: none;background-color: var(--slider-thumb-color, var(--helix-color-surface-inverse));block-size: var(--_slider-thumb);border: none;border-radius: var(--_slider-thumb-radii);box-shadow:
45
45
  0 0 0 var(--helix-border-thick) var(--slider-thumb-ring-color, var(--helix-color-background)),
46
46
  var(--helix-shadow-md);inline-size: var(--_slider-thumb-length);margin-block-start: calc((var(--_slider-track) - var(--_slider-thumb)) / 2);}[part="control"]:focus-visible::-webkit-slider-thumb,
47
47
  [part="control"]:active::-webkit-slider-thumb {box-shadow:
@@ -62,7 +62,7 @@ var(--slider-fill-color, var(--helix-color-primary)) calc(var(--slider-from, 0)
62
62
  var(--slider-fill-color, var(--helix-color-primary)) calc(var(--slider-to, 1) * 100%),
63
63
  var(--_slider-track-color) calc(var(--slider-to, 1) * 100%)
64
64
  )
65
- );}:host([range]) [part="control"][data-thumb="end"]::-webkit-slider-runnable-track {background: transparent;}:host([range]) [part="control"][data-thumb="end"]::-moz-range-track {background: transparent;}:host([range]) [part="control"] {pointer-events: none;}:host([range]) [part="control"]::-webkit-slider-thumb {pointer-events: auto;}:host([range]) [part="control"]::-moz-range-thumb {pointer-events: auto;}:host([orientation="vertical"]) [part="field"] {flex-direction: column;}:host([orientation="vertical"]) [part="field"][data-markers] {grid-template-columns: none;grid-template-rows: 1fr auto;}:host([orientation="vertical"]) [part="control"] {--_slider-track-image: var(
65
+ );}:host([range]) [part="control"]:not([data-thumb="start"])::-webkit-slider-runnable-track {background: transparent;}:host([range]) [part="control"]:not([data-thumb="start"])::-moz-range-track {background: transparent;}:host([range]) [part="control"] {pointer-events: none;}:host([range]) [part="control"]::-webkit-slider-thumb {pointer-events: auto;}:host([range]) [part="control"]::-moz-range-thumb {pointer-events: auto;}:host([orientation="vertical"]) [part="field"] {flex-direction: column;}:host([orientation="vertical"]) [part="field"][data-markers] {grid-template-columns: none;grid-template-rows: 1fr auto;}:host([orientation="vertical"]) [part="control"] {--_slider-track-image: var(
66
66
  --slider-track-image,
67
67
  linear-gradient(
68
68
  to top,
@@ -80,4 +80,5 @@ var(--_slider-track-color) calc(var(--slider-to, 0) * 100%)
80
80
  )
81
81
  );}:host([orientation="vertical"]) [part="marker"] {block-size: var(--helix-border-thick);inline-size: var(--_slider-track);inset-block-end: var(--slider-marker-at, 0%);inset-block-start: auto;inset-inline-start: 0;translate: 0 50%;}:host([orientation="vertical"]) [part="field"][data-markers] [part="output"] {grid-column: 1;grid-row: 2;}:host([orientation="vertical"]) [part="markers"] {align-self: stretch;block-size: auto;inline-size: var(--_slider-track);justify-self: center;margin-block: calc(var(--_slider-thumb) / 2);margin-inline: 0;}[part="field"][data-tooltip] {display: grid;grid-template-columns: 1fr auto;}[part="field"][data-tooltip] [part="control"],
82
82
  [part="tooltips"] {grid-column: 1;grid-row: 1;}[part="field"][data-tooltip] [part="output"] {grid-column: 2;grid-row: 1;}[part="tooltips"] {align-self: center;block-size: var(--_slider-track);margin-inline: calc(var(--_slider-thumb-length) / 2);pointer-events: none;position: relative;z-index: var(--helix-layer-overlay);}[part="tooltip"] {background-color: var(--slider-tooltip-background-color, var(--helix-color-surface-inverse));border-radius: var(--helix-radii-sm);color: var(--slider-tooltip-color, var(--helix-color-foreground-inverse));font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);font-variant-numeric: tabular-nums;inset-block-end: calc(50% + var(--_slider-thumb) / 2 + var(--helix-space-2xs));inset-inline-start: calc(var(--slider-at, 0) * 100%);opacity: 0;padding: var(--helix-space-2xs) var(--helix-space-xs);position: absolute;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);translate: -50% 0;white-space: nowrap;}:host(:dir(rtl)) [part="tooltip"] {translate: 50% 0;}:host(:hover) [part="tooltip"],
83
- :host(:focus-within) [part="tooltip"] {opacity: 1;}:host([orientation="vertical"]) [part="field"][data-tooltip] {grid-template-columns: none;grid-template-rows: 1fr auto;}:host([orientation="vertical"]) [part="field"][data-tooltip] [part="output"] {grid-column: 1;grid-row: 2;justify-self: center;}:host([orientation="vertical"]) [part="tooltips"] {align-self: stretch;block-size: auto;inline-size: var(--_slider-track);justify-self: center;margin-block: calc(var(--_slider-thumb) / 2);margin-inline: 0;}:host([orientation="vertical"]) [part="tooltip"] {inset-block-end: calc(var(--slider-at, 0) * 100%);inset-inline-start: calc(50% + var(--_slider-thumb) / 2 + var(--helix-space-2xs));translate: 0 50%;}@media print {:host {box-shadow: none;print-color-adjust: exact;}}`);
83
+ :host(:focus-within) [part="tooltip"] {opacity: 1;}:host([orientation="vertical"]) [part="field"][data-tooltip] {grid-template-columns: none;grid-template-rows: 1fr auto;}:host([orientation="vertical"]) [part="field"][data-tooltip] [part="output"] {grid-column: 1;grid-row: 2;justify-self: center;}:host([orientation="vertical"]) [part="tooltips"] {align-self: stretch;block-size: auto;inline-size: var(--_slider-track);justify-self: center;margin-block: calc(var(--_slider-thumb) / 2);margin-inline: 0;}:host([orientation="vertical"]) [part="tooltip"] {inset-block-end: calc(var(--slider-at, 0) * 100%);inset-inline-start: calc(50% + var(--_slider-thumb) / 2 + var(--helix-space-2xs));translate: 0 50%;}[part="field"][data-thumbs] {display: grid;grid-template-columns: 1fr auto;}[part="field"][data-thumbs] [part="control"],
84
+ [part="field"][data-thumbs] [part="thumbs"] {grid-column: 1;grid-row: 1;}[part="field"][data-thumbs] [part="output"] {grid-column: 2;grid-row: 1;}[part="field"][data-thumbs] [part="thumbs"] {align-self: center;block-size: var(--_slider-track);display: block;margin-inline: calc(var(--_slider-thumb-length) / 2);pointer-events: none;position: relative;z-index: var(--helix-layer-overlay);}[part="thumb"] {align-items: center;background-color: var(--slider-thumb-color, var(--helix-color-surface-inverse));block-size: var(--_slider-thumb);border-radius: var(--_slider-thumb-radii);color: var(--slider-thumb-content-color, var(--helix-color-foreground-inverse));display: flex;font-size: var(--helix-text-xs);inline-size: var(--_slider-thumb-length);inset-block-start: 50%;inset-inline-start: calc(var(--slider-at, 0) * 100%);justify-content: center;position: absolute;translate: -50% -50%;}:host(:dir(rtl)) [part="thumb"] {translate: 50% -50%;}:host([orientation="vertical"]) [part="field"][data-thumbs] {grid-template-columns: none;grid-template-rows: 1fr auto;}:host([orientation="vertical"]) [part="field"][data-thumbs] [part="output"] {grid-column: 1;grid-row: 2;justify-self: center;}:host([orientation="vertical"]) [part="field"][data-thumbs] [part="thumbs"] {align-self: stretch;block-size: auto;inline-size: var(--_slider-track);justify-self: center;margin-block: calc(var(--_slider-thumb-length) / 2);margin-inline: 0;}:host([orientation="vertical"]) [part="thumb"] {block-size: var(--_slider-thumb-length);inline-size: var(--_slider-thumb);inset-block-end: calc(var(--slider-at, 0) * 100%);inset-block-start: auto;inset-inline-start: 50%;translate: -50% 50%;}:host([orientation="vertical"]:dir(rtl)) [part="thumb"] {translate: 50% 50%;}@media print {:host {box-shadow: none;print-color-adjust: exact;}}`);
@@ -22,6 +22,7 @@ import type { CSSResultGroup } from 'lit';
22
22
  * @cssproperty --slider-length - The length of a vertical track. It defaults to nine rem and applies only when `orientation` is `vertical`. A horizontal track takes the width of its row.
23
23
  * @cssproperty --slider-marker-color - The color of the marks along the track.
24
24
  * @cssproperty --slider-thumb-color - The color of the thumb.
25
+ * @cssproperty --slider-thumb-content-color - The color of content in the `thumb` and `thumb-end` slots, drawn on the thumb.
25
26
  * @cssproperty --slider-thumb-length - The thumb's size along the track. It follows `--slider-thumb-size` unless you set it, and setting one of the two makes the thumb an oval.
26
27
  * @cssproperty --slider-thumb-radius - The thumb's corner radius. It is fully round by default, so a thumb with two different dimensions is a capsule unless you change it.
27
28
  * @cssproperty --slider-thumb-ring-color - The color of the ring between the thumb and the track. Set it for a slider that sits on a surface other than the page background.
@@ -1,5 +1,5 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: block;}[part="item"] {align-items: center;background: none;border: none;color: inherit;cursor: pointer;display: inline-flex;flex-direction: var(--_speed-dial-row, row-reverse);font: inherit;gap: var(--helix-space-sm);padding: var(--helix-space-none);}[part="item"]:disabled {cursor: not-allowed;opacity: var(--speed-dial-item-disabled-opacity, 0.5);}[part="icon"] {--icon-size: var(--helix-size-icon);align-items: center;aspect-ratio: 1;background-color: var(--speed-dial-item-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-full);box-shadow: var(--helix-shadow-md);color: var(--speed-dial-item-color, var(--helix-color-foreground));display: inline-flex;inline-size: var(--speed-dial-item-size, var(--helix-size-control-tight));justify-content: center;pointer-events: auto;transition:
2
+ export const styles = createSheet(`:host {display: block;}[part="item"] {align-items: center;background: none;border: none;color: inherit;cursor: pointer;display: inline-flex;flex-direction: var(--_speed-dial-row, row-reverse);font: inherit;gap: var(--helix-space-sm);padding: var(--helix-space-none);text-decoration: none;}[part="item"]:disabled {cursor: not-allowed;opacity: var(--speed-dial-item-disabled-opacity, 0.5);}[part="icon"] {--icon-size: var(--helix-size-icon);align-items: center;aspect-ratio: 1;background-color: var(--speed-dial-item-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-full);box-shadow: var(--helix-shadow-md);color: var(--speed-dial-item-color, var(--helix-color-foreground));display: inline-flex;inline-size: var(--speed-dial-item-size, var(--helix-size-control-tight));justify-content: center;pointer-events: auto;transition:
3
3
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
4
4
  box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="item"]:not(:disabled):hover [part="icon"] {background-color: var(
5
5
  --speed-dial-item-hover-background-color,
@@ -2,5 +2,5 @@ import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`:host {display: inline-flex;}[part="actions"] {background-color: transparent;border: none;display: flex;flex-direction: column;gap: var(--speed-dial-gap, var(--helix-space-sm));margin: var(--helix-space-none);overflow: visible;padding: var(--helix-space-none);}[part="actions"] {--_speed-dial-row: row-reverse;align-items: flex-end;}[part="actions"][data-placement$="-start"] {--_speed-dial-align: flex-start;--_speed-dial-row: row;align-items: flex-start;}[part="actions"][hidden] {display: none;}[part="actions"] {--_dial-from: var(--speed-dial-travel, var(--helix-space-md));}[part="actions"][data-placement^="bottom"] {--_dial-from: calc(var(--speed-dial-travel, var(--helix-space-md)) * -1);}[part="actions"] ::slotted(*) {opacity: 0;scale: 0.8;transition:
3
3
  opacity var(--helix-duration-fast) var(--helix-easing-standard),
4
4
  scale var(--helix-duration-fast) var(--helix-easing-emphasized),
5
- translate var(--helix-duration-fast) var(--helix-easing-emphasized);translate: 0 var(--_dial-from);}[part="actions"][data-placed] ::slotted(*) {opacity: 1;scale: 1;translate: 0 0;}[part="actions"] {--_speed-dial-stagger: var(--speed-dial-stagger, calc(var(--helix-duration-fast) / 3));}[part="actions"][data-placed] ::slotted(:nth-last-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placed] ::slotted(:nth-last-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placed] ::slotted(:nth-last-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placed] ::slotted(:nth-last-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}@media (prefers-reduced-motion: reduce) {[part="actions"] ::slotted(*) {opacity: 1;scale: 1;transition: none;transition-delay: 0s;translate: 0 0;}[part="trigger"] {transition: none;}}[part="trigger"] {--icon-size: var(--helix-size-icon);all: unset;align-items: center;background-color: var(--speed-dial-background-color, var(--helix-color-primary-surface));block-size: var(--speed-dial-size, var(--helix-size-control));border-radius: var(--helix-radii-full);box-shadow: var(--speed-dial-shadow, var(--helix-shadow-md));box-sizing: border-box;color: var(--speed-dial-color, var(--helix-color-foreground-on-primary));cursor: pointer;display: inline-flex;inline-size: var(--speed-dial-size, var(--helix-size-control));justify-content: center;transition: box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="trigger"]:hover {box-shadow: var(--helix-shadow-lg);}[part="trigger"]:active {box-shadow: var(--helix-shadow-sm);}[part="trigger"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media print {:host {display: none;}}:host([labels="hover"]) {--_speed-dial-label-opacity: 0;}:host([labels="hover"]) [part="actions"],
5
+ translate var(--helix-duration-fast) var(--helix-easing-emphasized);translate: 0 var(--_dial-from);}[part="actions"][data-placed] ::slotted(*) {opacity: 1;scale: 1;translate: 0 0;}[part="actions"] {--_speed-dial-stagger: var(--speed-dial-stagger, calc(var(--helix-duration-fast) / 3));}[part="actions"][data-placed] ::slotted(:nth-last-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placed] ::slotted(:nth-last-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placed] ::slotted(:nth-last-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placed] ::slotted(:nth-last-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(2)) {transition-delay: var(--_speed-dial-stagger);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(3)) {transition-delay: calc(var(--_speed-dial-stagger) * 2);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(4)) {transition-delay: calc(var(--_speed-dial-stagger) * 3);}[part="actions"][data-placement^="bottom"][data-placed] ::slotted(:nth-child(n + 5)) {transition-delay: calc(var(--_speed-dial-stagger) * 4);}@media (prefers-reduced-motion: reduce) {[part="actions"] ::slotted(*) {opacity: 1;scale: 1;transition: none;transition-delay: 0s;translate: 0 0;}[part="trigger"] {transition: none;}}[part="trigger"] {--icon-size: var(--helix-size-icon);all: unset;align-items: center;background-color: var(--speed-dial-background-color, var(--helix-color-primary-surface));block-size: var(--speed-dial-size, var(--helix-size-control));border-radius: var(--helix-radii-full);box-shadow: var(--speed-dial-shadow, var(--helix-shadow-md));box-sizing: border-box;color: var(--speed-dial-color, var(--helix-color-foreground-on-primary));cursor: pointer;display: inline-flex;inline-size: var(--speed-dial-size, var(--helix-size-control));justify-content: center;transition: box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="trigger"]:hover {box-shadow: var(--helix-shadow-lg);}[part="trigger"]:active {box-shadow: var(--helix-shadow-sm);}[part="trigger"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}::slotted([slot="icon"]) {block-size: var(--icon-size);inline-size: var(--icon-size);}@media print {:host {display: none;}}:host([labels="hover"]) {--_speed-dial-label-opacity: 0;}:host([labels="hover"]) [part="actions"],
6
6
  :host([labels="hover"]) [part="actions"] ::slotted(*) {pointer-events: none;}`);
@@ -1,5 +1,9 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {--_tabs-rule: none;--_tab-radius: var(--helix-radii-sm);--_tab-selected-shadow: var(--helix-shadow-sm);--_tab-selected-surface: var(--helix-color-surface-raised);display: grid;grid-template-rows: auto minmax(0, 1fr);min-block-size: 0;}[part="tabs"] {background-image: var(--_tabs-rule, none);background-position: bottom;background-repeat: repeat-x;background-size: 100% var(--helix-border-thin);display: flex;gap: var(--tabs-gap, var(--helix-space-2xs));overflow-x: auto;}:host([variant="underlined"]) {--_tabs-rule: linear-gradient(
2
+ export const styles = createSheet(`:host {--_tabs-rule: none;--_tab-radius: var(--helix-radii-sm);--_tab-selected-shadow: var(--helix-shadow-sm);--_tab-selected-surface: var(--helix-color-surface-raised);display: grid;grid-template-rows: auto minmax(0, 1fr);min-block-size: 0;}[part="tabs"] {background-image: var(--_tabs-rule, none);background-position: bottom;background-repeat: repeat-x;background-size: 100% var(--helix-border-thin);display: flex;gap: var(--tabs-gap, var(--helix-space-2xs));overflow-x: auto;}[part="scroll-start"],
3
+ [part="scroll-end"] {align-items: center;background-color: var(--tabs-scroll-background-color, var(--helix-color-surface));border: none;color: var(--helix-color-foreground-subtle);cursor: pointer;display: inline-flex;flex: none;justify-content: center;padding-inline: var(--helix-space-2xs);position: sticky;z-index: 1;}[part="scroll-start"] {inset-inline-start: 0;}[part="scroll-end"] {inset-inline-end: 0;}[part="scroll-start"][hidden],
4
+ [part="scroll-end"][hidden] {display: none;}[part="scroll-start"] svg,
5
+ [part="scroll-end"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="scroll-start"]:hover,
6
+ [part="scroll-end"]:hover {color: var(--helix-color-foreground);}:host([orientation="vertical"]) [part="scroll-start"] {inset-block-start: 0;inset-inline-start: auto;padding-block: var(--helix-space-2xs);}:host([orientation="vertical"]) [part="scroll-end"] {inset-block-end: 0;inset-inline-end: auto;padding-block: var(--helix-space-2xs);}:host([variant="underlined"]) {--_tabs-rule: linear-gradient(
3
7
  var(--tabs-rule-color, var(--helix-color-border)),
4
8
  var(--tabs-rule-color, var(--helix-color-border))
5
9
  );--_tab-radius: var(--helix-radii-none);--_tab-selected-shadow: none;--_tab-selected-surface: transparent;}:host([variant="segmented"]) [part="tabs"] {--_tab-selected-surface: var(--helix-color-surface-overlay);--_tab-height: 100%;background-color: var(--helix-color-surface-sunken);block-size: var(--helix-size-control);border: var(--helix-border-thin) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);justify-self: start;padding: var(--helix-space-2xs);inline-size: fit-content;}[part="panels"] {display: grid;grid-template-rows: minmax(0, 1fr);min-block-size: 0;min-inline-size: 0;}[part="indicator"] {background-color: var(--_indicator-color, transparent);block-size: var(--_indicator-block, var(--helix-border-thick));border: var(--_indicator-border, 0) solid var(--_indicator-border-color, transparent);border-radius: var(--tabs-indicator-radius, var(--_indicator-radius, var(--helix-radii-none)));box-shadow: var(--tabs-indicator-shadow, var(--_indicator-shadow, none));inline-size: var(--indicator-inline-size, 0);inset-block-start: 0;inset-inline-start: 0;opacity: 0;position: absolute;translate: calc(var(--indicator-x, 0px) + var(--_indicator-offset-x, 0px))
@@ -27,6 +27,8 @@ import type { CSSResultGroup } from 'lit';
27
27
  *
28
28
  * @csspart indicator - The mark that moves to the selected tab. It carries the selected tab's place and size as `--indicator-x`, `--indicator-y`, `--indicator-inline-size` and `--indicator-block-size`.
29
29
  * @csspart panels - The panel container.
30
+ * @csspart scroll-end - The button that scrolls the strip toward its end, shown under `scroll-controls` while there is more that way. It holds to the end of the strip.
31
+ * @csspart scroll-start - The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way. It holds to the start of the strip.
30
32
  * @csspart tabs - The tab list.
31
33
  *
32
34
  * @cssproperty --tabs-gap - The space between tabs.
@@ -35,6 +37,7 @@ import type { CSSResultGroup } from 'lit';
35
37
  * @cssproperty --tabs-indicator-shadow - The shadow under the mark, which the pill and `segmented` draw.
36
38
  * @cssproperty --tabs-indicator-thickness - The height of the bar under `underlined`.
37
39
  * @cssproperty --tabs-rule-color - The color of the rule under the row in `underlined`.
40
+ * @cssproperty --tabs-scroll-background-color - The fill behind the scroll buttons, over the tabs that pass under them.
38
41
  */
39
42
  export declare class HelixTabs extends HelixHeadlessTabs {
40
43
  static styles: CSSResultGroup;
@@ -10,4 +10,4 @@ color-mix(in oklab, var(--helix-color-foreground) 5%, transparent)
10
10
  --tabs-tab-selected-background-color,
11
11
  var(--_tab-selected-surface, transparent)
12
12
  );box-shadow: var(--_tab-selected-shadow, none);color: var(--tabs-tab-selected-color, var(--helix-color-foreground));}[part="tab"]:disabled,
13
- [part="tab"][aria-disabled="true"] {cursor: not-allowed;opacity: var(--tabs-tab-disabled-opacity, 0.5);}[part="tab"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}`);
13
+ [part="tab"][aria-disabled="true"] {cursor: not-allowed;opacity: var(--tabs-tab-disabled-opacity, 0.5);}[part="tab"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="dismiss"] {align-items: center;border-radius: var(--helix-radii-sm);color: var(--tabs-tab-dismiss-color, currentColor);display: inline-flex;margin-inline: var(--helix-space-2xs) calc(var(--helix-space-2xs) * -1);padding: var(--helix-space-none);}[part="dismiss"] svg {block-size: 1em;inline-size: 1em;}[part="dismiss"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 10%, transparent);}`);
@@ -15,11 +15,13 @@ import type { CSSResultGroup } from 'lit';
15
15
  *
16
16
  * @slot - The tab's label.
17
17
  *
18
+ * @csspart dismiss - The mark a pointer presses to close a `dismissible` tab.
18
19
  * @csspart tab - The tab itself.
19
20
  *
20
21
  * @cssproperty --tabs-tab-block-size - The height of a tab. `segmented` sizes its tabs to the track and does not read it.
21
22
  * @cssproperty --tabs-tab-color - The label color of a tab that is not current.
22
23
  * @cssproperty --tabs-tab-disabled-opacity - How faint a disabled tab is drawn.
24
+ * @cssproperty --tabs-tab-dismiss-color - The color of the mark that closes a `dismissible` tab.
23
25
  * @cssproperty --tabs-tab-font-size - The size of a tab's label.
24
26
  * @cssproperty --tabs-tab-font-weight - The weight of a tab's label.
25
27
  * @cssproperty --tabs-tab-hover-background-color - The wash under the pointer.
@@ -7,6 +7,11 @@ import type { CSSResultGroup } from 'lit';
7
7
  * Seven tones. The fill is a tint of the status color made with `color-mix`, so
8
8
  * when a theme changes its status colors, the tints change with them.
9
9
  *
10
+ * A tag takes its height from the region it is in, as the controls beside it
11
+ * do: `data-density="sm"`, `md`, or `lg` on the tag or on any element around
12
+ * it sets `--helix-size-tag` to the small, resting, or large step, so a row of
13
+ * tags and buttons stays one height. `shape="pill"` rounds its ends.
14
+ *
10
15
  * @since 0.1.0
11
16
  * @status stable
12
17
  * @category markers
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: inline-flex;position: relative;z-index: var(--helix-layer-raised);}[part="item"] {all: unset;box-sizing: border-box;}[part="item"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media print {:host {display: none;}}`);
2
+ export const styles = createSheet(`:host {display: inline-flex;position: relative;z-index: var(--helix-layer-raised);}[part="item"] {all: unset;box-sizing: border-box;}::slotted([slot="start"]) {margin-inline-end: var(--helix-space-xs);}::slotted([slot="end"]) {margin-inline-start: var(--helix-space-xs);}[part="item"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media print {:host {display: none;}}`);