@fusion.dev/helix 0.147.0 → 0.148.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.
Files changed (73) hide show
  1. package/custom-elements.json +4297 -489
  2. package/dist/announcement/root/announcement-root.css.js +1 -1
  3. package/dist/blockquote/root/blockquote-root.css.js +1 -1
  4. package/dist/blockquote/root/blockquote-root.d.ts +8 -2
  5. package/dist/button-group/root/button-group-root.css.js +10 -1
  6. package/dist/button-group/root/button-group-root.d.ts +29 -7
  7. package/dist/button-group/root/button-group-root.js +19 -0
  8. package/dist/canvas/node/canvas-node.css.js +6 -6
  9. package/dist/canvas/node/canvas-node.d.ts +5 -0
  10. package/dist/canvas/root/canvas-root.css.js +6 -2
  11. package/dist/canvas/root/canvas-root.d.ts +6 -0
  12. package/dist/card/root/card-root.css.js +3 -3
  13. package/dist/card/root/card-root.d.ts +4 -0
  14. package/dist/code-block/root/code-block-root.css.js +17 -9
  15. package/dist/code-block/root/code-block-root.d.ts +7 -0
  16. package/dist/combobox/root/combobox-root.js +2 -0
  17. package/dist/description-list/item/description-list-item.css.js +1 -1
  18. package/dist/description-list/item/description-list-item.d.ts +1 -0
  19. package/dist/description-list/root/description-list-root.css.js +2 -1
  20. package/dist/description-list/root/description-list-root.d.ts +12 -0
  21. package/dist/description-list/root/description-list-root.js +7 -0
  22. package/dist/divider/root/divider-root.css.js +3 -4
  23. package/dist/divider/root/divider-root.d.ts +3 -0
  24. package/dist/element-events.generated.js +1 -0
  25. package/dist/format-date/root/format-date-root.css.js +1 -1
  26. package/dist/format-date/root/format-date-root.d.ts +0 -1
  27. package/dist/format-date/root/format-date-root.js +0 -1
  28. package/dist/listbox/root/listbox-root.css.js +4 -1
  29. package/dist/listbox/root/listbox-root.d.ts +2 -0
  30. package/dist/listbox/root/listbox-root.js +1 -0
  31. package/dist/map/root/map-root.css.js +10 -6
  32. package/dist/map/root/map-root.d.ts +10 -0
  33. package/dist/notifications/root/notifications-root.css.js +1 -1
  34. package/dist/notifications/root/notifications-root.d.ts +4 -1
  35. package/dist/pagination/root/pagination-root.css.js +7 -7
  36. package/dist/pagination/root/pagination-root.d.ts +14 -0
  37. package/dist/pagination/size/pagination-size.css.js +1 -1
  38. package/dist/pagination/size/pagination-size.d.ts +3 -0
  39. package/dist/pagination/summary/pagination-summary.css.js +1 -1
  40. package/dist/pagination/summary/pagination-summary.d.ts +3 -0
  41. package/dist/qr-code/root/qr-code-root.css.js +1 -1
  42. package/dist/qr-code/root/qr-code-root.d.ts +3 -0
  43. package/dist/sandbox/preview/sandbox-preview.d.ts +9 -1
  44. package/dist/sandbox/preview/sandbox-preview.js +1 -1
  45. package/dist/select/root/select-root.css.js +4 -1
  46. package/dist/select/root/select-root.js +2 -0
  47. package/dist/shared/viewport/viewport.css.js +1 -1
  48. package/dist/speed-dial/group/speed-dial-group.css.d.ts +1 -0
  49. package/dist/speed-dial/group/speed-dial-group.css.js +2 -0
  50. package/dist/speed-dial/group/speed-dial-group.d.ts +27 -0
  51. package/dist/speed-dial/group/speed-dial-group.js +16 -0
  52. package/dist/speed-dial/index.d.ts +1 -0
  53. package/dist/speed-dial/index.js +1 -0
  54. package/dist/speed-dial/item/speed-dial-item.css.js +1 -1
  55. package/dist/speed-dial/item/speed-dial-item.d.ts +1 -0
  56. package/dist/speed-dial/root/speed-dial-root.css.js +1 -1
  57. package/dist/splitter/root/splitter-root.css.js +15 -7
  58. package/dist/splitter/root/splitter-root.d.ts +4 -0
  59. package/dist/table/cell/table-cell.css.js +1 -1
  60. package/dist/table/root/table-root.css.js +1 -1
  61. package/dist/table/row/table-row.css.js +1 -1
  62. package/dist/time-picker/root/time-picker-root.css.js +9 -4
  63. package/dist/time-picker/root/time-picker-root.d.ts +6 -0
  64. package/dist/toast/item/toast-item.css.js +9 -6
  65. package/dist/toast/item/toast-item.d.ts +10 -0
  66. package/dist/toolbar/root/toolbar-root.css.js +1 -1
  67. package/dist/toolbar/root/toolbar-root.d.ts +9 -0
  68. package/dist/toolbar/root/toolbar-root.js +4 -0
  69. package/lint.json +1 -1
  70. package/package.json +6 -6
  71. package/types/jsx.d.ts +1809 -176
  72. package/types/svelte.d.ts +1 -0
  73. package/types/vue.d.ts +505 -44
@@ -1,5 +1,8 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: flex;flex-direction: column;gap: var(--helix-space-2xs);}[part="items"] {--option-radius: var(--helix-radii-none);background-color: var(--listbox-background-color, var(--helix-color-surface));border: var(--listbox-border, var(--helix-border-thin) solid var(--helix-color-border));border-radius: var(--helix-radii-sm);display: flex;flex-direction: column;gap: var(--helix-space-none);max-block-size: var(--listbox-max-block-size, 14rem);overflow-y: auto;padding-block: var(--helix-space-2xs);padding-inline: var(--helix-space-none);}[part="items"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}:host(:state(invalid)) [part="items"],
2
+ export const styles = createSheet(`:host {display: flex;flex-direction: column;gap: var(--helix-space-2xs);}[part="items"] {--option-radius: var(--helix-radii-none);background-color: var(--listbox-background-color, var(--helix-color-surface));border: var(--listbox-border, var(--helix-border-thin) solid var(--helix-color-border));border-radius: var(--helix-radii-sm);display: flex;flex-direction: column;gap: var(--helix-space-none);max-block-size: var(--listbox-max-block-size, 14rem);overflow-y: auto;padding-block: var(--helix-space-2xs);padding-inline: var(--helix-space-none);}:host([layout="grid"]) [part="items"] {display: grid;grid-template-columns: repeat(
3
+ auto-fill,
4
+ minmax(min(var(--listbox-column-min-inline-size, 8rem), 100%), 1fr)
5
+ );}[part="items"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}:host(:state(invalid)) [part="items"],
3
6
  :host(:state(invalid)) [part="items"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}:host(:disabled) {opacity: 0.5;}:host(:disabled) [part="items"] {cursor: not-allowed;}[part="empty"],
4
7
  [part="loading"] {--_collection-inset-block: var(--helix-space-xs);--_collection-inset-inline: var(--helix-space-xs);}[part="error"] {color: var(--listbox-error-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-none);padding: var(--helix-space-xs);text-align: center;}[part="filter-icon"] {align-items: center;color: var(--helix-color-foreground-subtle);display: inline-flex;flex: 0 0 auto;}[part="filter-icon"] svg,
5
8
  slot[name="filter-icon"]::slotted(*) {--icon-size: var(--helix-size-icon-tight);block-size: var(--helix-size-icon-tight);inline-size: var(--helix-size-icon-tight);}[part="search"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);display: flex;gap: var(--helix-space-2xs);padding: var(--helix-space-2xs);padding-inline-start: var(--helix-space-xs);}[part="search-field"] {appearance: none;flex: 1 1 auto;min-inline-size: 0;background-color: transparent;block-size: var(--helix-size-control-tight);border: none;box-sizing: border-box;color: var(--helix-color-foreground);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-weight: var(--helix-weight-medium);inline-size: 100%;padding-inline: var(--helix-space-xs);}[part="search-field"]:focus-visible {outline: none;}:host([loading]) [part="items"] {opacity: 0.5;}@media print {:host {print-color-adjust: exact;}}`);
@@ -19,10 +19,12 @@ import type { CSSResultGroup } from 'lit';
19
19
  *
20
20
  * @cssproperty --listbox-background-color - The panel's fill. Set it to `transparent` when the list is already inside a panel.
21
21
  * @cssproperty --listbox-border - The panel's border, as a shorthand. Set it to `none` when the list is already inside a panel.
22
+ * @cssproperty --listbox-column-min-inline-size - How narrow a column may be with `layout="grid"`. As many columns as fit are drawn. Defaults to `8rem`.
22
23
  * @cssproperty --listbox-error-color - The color of the line shown while `load-error` is set.
23
24
  * @cssproperty --listbox-max-block-size - Maximum height of the list before it scrolls.
24
25
  */
25
26
  export declare class HelixListbox extends HelixHeadlessListbox {
27
+ static tier: string;
26
28
  static styles: CSSResultGroup;
27
29
  }
28
30
  declare global {
@@ -12,6 +12,7 @@ import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.c
12
12
  import { styles as liveStyles } from '../../shared/live/live.css.js';
13
13
  import { styles } from './listbox-root.css.js';
14
14
  let HelixListbox = class HelixListbox extends HelixHeadlessListbox {
15
+ static { this.tier = 'helix-'; }
15
16
  static { this.styles = [
16
17
  liveStyles,
17
18
  collectionStateStyles,
@@ -1,6 +1,7 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: contents;}[part="region"] {background-color: var(--map-background-color, var(--helix-color-surface-sunken));block-size: var(--map-block-size, 24rem);border: var(--helix-border-thin) solid var(--map-border-color, var(--helix-color-border));border-radius: var(--helix-radii-sm);box-sizing: border-box;display: grid;grid-template-rows: auto 1fr auto auto;overflow: hidden;position: relative;}:host([fill]) [part="region"] {block-size: auto;border: none;border-radius: 0;container-type: size;inset: 0;position: absolute;}[part="viewport"] {isolation: isolate;min-block-size: 0;overflow: hidden;position: relative;}[part="layers"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;padding: var(--helix-space-none);position: absolute;white-space: nowrap;}[part="viewport"] ::slotted(:not(helix-map-marker, helix-map-points, helix-map-position)) {block-size: 100%;inline-size: 100%;}:host(:state(idle)) ::slotted([slot="header"]),
3
- :host(:state(idle)) ::slotted([slot="footer"]) {opacity: 0;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);}::slotted([slot="attribution"]) {border-block-start: var(--helix-border-thin) solid var(--helix-color-border);color: var(--helix-color-foreground-subtle);display: block;font-size: var(--helix-text-xs);padding: var(--helix-space-2xs) var(--helix-space-xs);}:host([credit-placement]) [part="attribution"] {inset-block-end: var(--helix-space-2xs);max-inline-size: calc(100% - var(--helix-space-2xs) * 2);position: absolute;}:host([credit-placement="bottom-end"]) [part="attribution"] {inset-inline-end: var(--helix-space-2xs);}:host([credit-placement="bottom-start"]) [part="attribution"] {inset-inline-start: var(--helix-space-2xs);}:host([credit-placement]) ::slotted([slot="attribution"]) {backdrop-filter: var(--helix-material-backdrop);background-color: var(--helix-material-translucent);border-block-start: none;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);overflow: hidden;padding: var(--helix-space-none) var(--helix-space-xs);text-overflow: ellipsis;white-space: nowrap;}:host([credit-placement])
2
+ export const styles = createSheet(`:host {display: contents;}[part="region"] {background-color: var(--map-background-color, var(--helix-color-surface-sunken));block-size: var(--map-block-size, 24rem);border: var(--helix-border-thin) solid var(--map-border-color, var(--helix-color-border));border-radius: var(--map-radius, var(--helix-radii-sm));box-sizing: border-box;display: grid;grid-template-rows: auto 1fr auto auto;overflow: hidden;position: relative;}:host([fill]) [part="region"] {block-size: auto;border: none;border-radius: 0;container-type: size;inset: 0;position: absolute;}[part="viewport"] {isolation: isolate;min-block-size: 0;overflow: hidden;position: relative;}[part="layers"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;padding: var(--helix-space-none);position: absolute;white-space: nowrap;}[part="viewport"] ::slotted(:not(helix-map-marker, helix-map-points, helix-map-position)) {block-size: 100%;inline-size: 100%;}:host(:state(idle)) ::slotted([slot="header"]),
3
+ :host(:state(idle)) ::slotted([slot="footer"]) {opacity: 0;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);}::slotted([slot="attribution"]) {border-block-start: var(--helix-border-thin) solid
4
+ var(--map-attribution-border-color, var(--helix-color-border));color: var(--map-attribution-color, var(--helix-color-foreground-subtle));display: block;font-size: var(--map-attribution-font-size, var(--helix-text-xs));padding: var(--helix-space-2xs) var(--helix-space-xs);}:host([credit-placement]) [part="attribution"] {inset-block-end: var(--helix-space-2xs);max-inline-size: calc(100% - var(--helix-space-2xs) * 2);position: absolute;}:host([credit-placement="bottom-end"]) [part="attribution"] {inset-inline-end: var(--helix-space-2xs);}:host([credit-placement="bottom-start"]) [part="attribution"] {inset-inline-start: var(--helix-space-2xs);}:host([credit-placement]) ::slotted([slot="attribution"]) {backdrop-filter: var(--helix-material-backdrop);background-color: var(--helix-material-translucent);border-block-start: none;border-radius: var(--helix-radii-sm);color: var(--map-attribution-color, var(--helix-color-foreground-muted));overflow: hidden;padding: var(--helix-space-none) var(--helix-space-xs);text-overflow: ellipsis;white-space: nowrap;}:host([credit-placement])
4
5
  [part="attribution"]:is(:hover, :focus-within)
5
6
  ::slotted([slot="attribution"]) {white-space: normal;}:host([material="glass"]) [part="controls"] button {backdrop-filter: var(--helix-material-backdrop);background-color: var(--viewport-control-background-color, var(--helix-material-translucent));}:host([material="frosted"]) [part="controls"] button {backdrop-filter: blur(var(--helix-material-blur-lg));background-color: var(
6
7
  --viewport-control-background-color,
@@ -9,12 +10,15 @@ var(--helix-material-translucent-strong)
9
10
  in oklab,
10
11
  var(--helix-color-foreground) 10%,
11
12
  var(--helix-color-surface-overlay)
12
- );}@media print {[part="controls"] {display: none;}}[part="controls"] {align-items: center;display: flex;flex-direction: column;grid-column: 1 / -1;grid-row: 2 / 3;}[part="controls"] [part="zoom-in"] {border-end-end-radius: 0;border-end-start-radius: 0;}[part="controls"] [part="zoom-out"] {border-block-start: 0;border-start-end-radius: 0;border-start-start-radius: 0;margin-block-start: calc(-1 * var(--helix-space-2xs));}[part="tilt"] {font-size: var(--helix-text-xs);font-weight: var(--helix-weight-semibold);}[part="tilt"][aria-pressed="true"] {background-color: var(--helix-color-primary-surface);border-color: var(--helix-color-primary-surface);color: var(--helix-color-foreground-on-primary);}[part="tilt"][aria-pressed="true"]:hover {background-color: var(--helix-color-primary-surface-hover);}[part="compass"] {border-radius: var(--helix-radii-sm);display: grid;grid-template-areas:
13
+ );}@media print {[part="controls"] {display: none;}}[part="controls"] {align-items: center;display: flex;flex-direction: column;grid-column: 1 / -1;grid-row: 2 / 3;}[part="controls"] [part="zoom-in"] {border-end-end-radius: 0;border-end-start-radius: 0;}[part="controls"] [part="zoom-out"] {border-block-start: 0;border-start-end-radius: 0;border-start-start-radius: 0;margin-block-start: calc(-1 * var(--helix-space-2xs));}[part="controls"] [part="face-north"] ::slotted(*) {--icon-size: var(--helix-size-icon-md);block-size: var(--helix-size-icon-md);inline-size: var(--helix-size-icon-md);}[part="tilt"] {font-size: var(--helix-text-xs);font-weight: var(--helix-weight-semibold);}[part="tilt"][aria-pressed="true"] {background-color: var(--map-chosen-color, var(--helix-color-primary-surface));border-color: var(--map-chosen-color, var(--helix-color-primary-surface));color: var(--helix-color-foreground-on-primary);}[part="tilt"][aria-pressed="true"]:hover {background-color: var(--helix-color-primary-surface-hover);}[part="compass"] {border-radius: var(--helix-radii-sm);display: grid;grid-template-areas:
13
14
  "rotl up rotr"
14
15
  "start north end"
15
16
  ". down .";place-items: center;}[part="rotate-left"] {grid-area: rotl;}[part="rotate-right"] {grid-area: rotr;}[part="face-north"] {grid-area: north;}[part="compass"] > :not([part="face-north"]) {background-color: transparent;block-size: calc(var(--helix-size-control-sm) * 0.75);border-color: transparent;box-shadow: none;font-size: var(--helix-text-xs);inline-size: calc(var(--helix-size-control-sm) * 0.75);}[part="compass"]:has(> :not([part="face-north"])) {background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));box-shadow:
16
17
  var(--helix-shadow-floating),
17
- 0 0 0 var(--helix-border-floating) var(--helix-color-border);}[part="needle"] {block-size: var(--helix-size-icon-md);inline-size: var(--helix-size-icon-md);transform: rotate(var(--map-needle-turn, 0deg));}[part="needle"] [data-end="north"] {fill: var(--helix-color-danger);}[part="needle"] [data-end="south"] {fill: var(--helix-color-foreground-muted);}[part="layers-menu"] {background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);color: var(--helix-color-foreground);display: grid;gap: var(--helix-space-sm);inline-size: min(calc(var(--helix-size-control-lg) * 6), 70vw);inset-block-start: 0;inset-inline-end: calc(100% + var(--helix-space-2xs));max-block-size: calc(var(--map-block-size, 24rem) - var(--helix-space-sm) * 2);overflow-y: auto;padding: var(--helix-space-sm);position: absolute;}:host([fill]) [part="layers-menu"] {max-block-size: calc(100cqb - var(--helix-space-sm) * 2);}[part="layers-menu"][hidden] {display: none;}:host([controls-placement^="bottom"]) [part="layers-menu"] {inset-block: auto 0;}:host([controls-placement$="start"]) [part="layers-menu"] {inset-inline: calc(100% + var(--helix-space-2xs)) auto;}[part="map-types"] {display: grid;gap: var(--helix-space-xs);grid-template-columns: repeat(3, 1fr);}[part="map-type"] {color: var(--helix-color-foreground-muted);cursor: pointer;display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);gap: var(--helix-space-2xs);justify-items: center;position: relative;}[part="map-type"] input {block-size: 1px;inline-size: 1px;margin: 0;opacity: 0;pointer-events: none;position: absolute;}[part="map-type-preview"] {aspect-ratio: 4 / 3;background-color: var(--helix-color-surface-sunken);border: var(--helix-border-thick) solid transparent;border-radius: var(--helix-radii-sm);box-sizing: border-box;display: block;inline-size: 100%;object-fit: cover;}[part="map-type"]:hover,
18
- [part="map-type"]:has(input:checked) {color: var(--helix-color-foreground);}[part="map-type"]:has(input:checked) [part="map-type-preview"] {border-color: var(--helix-color-primary-surface);}[part="map-type"]:has(input:focus-visible) [part="map-type-preview"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="layer-choices"] {display: grid;gap: var(--helix-space-xs);grid-template-columns: repeat(3, 1fr);}[part="layers-menu"] [part="layer-choice"] {align-content: start;background-color: transparent;block-size: auto;border: 0;box-shadow: none;color: var(--helix-color-foreground-muted);display: grid;font-size: var(--helix-text-xs);gap: var(--helix-space-2xs);inline-size: auto;justify-items: center;padding: 0;text-align: center;}[part="layers-menu"] [part="layer-choice"]:hover,
19
- [part="layers-menu"] [part="layer-choice"][aria-pressed="true"] {background-color: transparent;color: var(--helix-color-foreground);}[part="layers-menu"] [part="layer-choice"]:focus-visible {outline: none;}[part="layer-icon"] {aspect-ratio: 4 / 3;background-color: var(--helix-color-surface-sunken);border: var(--helix-border-thick) solid transparent;border-radius: var(--helix-radii-sm);box-sizing: border-box;display: block;inline-size: 100%;padding: var(--helix-space-sm);}[part="layer-choice"][aria-pressed="true"] [part="layer-icon"] {border-color: var(--helix-color-primary-surface);}[part="layer-choice"]:focus-visible [part="layer-icon"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media (forced-colors: active) {[part="tilt"][aria-pressed="true"] {background-color: Highlight;color: HighlightText;forced-color-adjust: none;}[part="map-type"]:has(input:checked),
18
+ 0 0 0 var(--helix-border-floating) var(--helix-color-border);}[part="needle"] {block-size: var(--helix-size-icon-md);inline-size: var(--helix-size-icon-md);transform: rotate(var(--map-needle-turn, 0deg));}[part="needle"] [data-end="north"] {fill: var(--map-needle-north-color, var(--helix-color-danger));}[part="needle"] [data-end="south"] {fill: var(--map-needle-south-color, var(--helix-color-foreground-muted));}[part="layers-menu"] {background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);color: var(--helix-color-foreground);display: grid;gap: var(--map-layers-menu-gap, var(--helix-space-sm));inline-size: var(
19
+ --map-layers-menu-inline-size,
20
+ min(calc(var(--helix-size-control-lg) * 6), 70vw)
21
+ );inset-block-start: 0;inset-inline-end: calc(100% + var(--helix-space-2xs));max-block-size: calc(var(--map-block-size, 24rem) - var(--helix-space-sm) * 2);overflow-y: auto;padding: var(--map-layers-menu-padding, var(--helix-space-sm));position: absolute;}:host([fill]) [part="layers-menu"] {max-block-size: calc(100cqb - var(--helix-space-sm) * 2);}[part="layers-menu"][hidden] {display: none;}:host([controls-placement^="bottom"]) [part="layers-menu"] {inset-block: auto 0;}:host([controls-placement$="start"]) [part="layers-menu"] {inset-inline: calc(100% + var(--helix-space-2xs)) auto;}[part="map-types"] {display: grid;gap: var(--helix-space-xs);grid-template-columns: repeat(3, 1fr);}[part="map-type"] {color: var(--helix-color-foreground-muted);cursor: pointer;display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);gap: var(--helix-space-2xs);justify-items: center;position: relative;}[part="map-type"] input {block-size: 1px;inline-size: 1px;margin: 0;opacity: 0;pointer-events: none;position: absolute;}[part="map-type-preview"] {aspect-ratio: 4 / 3;background-color: var(--helix-color-surface-sunken);border: var(--helix-border-thick) solid transparent;border-radius: var(--helix-radii-sm);box-sizing: border-box;display: block;inline-size: 100%;object-fit: cover;}[part="map-type"]:hover,
22
+ [part="map-type"]:has(input:checked) {color: var(--helix-color-foreground);}[part="map-type"]:has(input:checked) [part="map-type-preview"] {border-color: var(--map-chosen-color, var(--helix-color-primary-surface));}[part="map-type"]:has(input:focus-visible) [part="map-type-preview"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="layer-choices"] {display: grid;gap: var(--helix-space-xs);grid-template-columns: repeat(3, 1fr);}[part="layers-menu"] [part="layer-choice"] {align-content: start;background-color: transparent;block-size: auto;border: 0;box-shadow: none;color: var(--helix-color-foreground-muted);display: grid;font-size: var(--helix-text-xs);gap: var(--helix-space-2xs);inline-size: auto;justify-items: center;padding: 0;text-align: center;}[part="layers-menu"] [part="layer-choice"]:hover,
23
+ [part="layers-menu"] [part="layer-choice"][aria-pressed="true"] {background-color: transparent;color: var(--helix-color-foreground);}[part="layers-menu"] [part="layer-choice"]:focus-visible {outline: none;}[part="layer-icon"] {aspect-ratio: 4 / 3;background-color: var(--helix-color-surface-sunken);border: var(--helix-border-thick) solid transparent;border-radius: var(--helix-radii-sm);box-sizing: border-box;display: block;inline-size: 100%;padding: var(--helix-space-sm);}[part="layer-choice"][aria-pressed="true"] [part="layer-icon"] {border-color: var(--map-chosen-color, var(--helix-color-primary-surface));}[part="layer-choice"]:focus-visible [part="layer-icon"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}@media (forced-colors: active) {[part="tilt"][aria-pressed="true"] {background-color: Highlight;color: HighlightText;forced-color-adjust: none;}[part="map-type"]:has(input:checked),
20
24
  [part="layers-menu"] [part="layer-choice"][aria-pressed="true"] {outline: var(--helix-border-thick) solid Highlight;outline-offset: var(--helix-space-2xs);}}`);
@@ -19,9 +19,19 @@ import type { CSSResultGroup } from 'lit';
19
19
  * @aliases Map frame, Map container, Geo
20
20
  * @documentation https://fusion.dev/helix/components/map
21
21
  *
22
+ * @cssproperty --map-attribution-border-color - The rule above the map credit, under the map.
23
+ * @cssproperty --map-attribution-color - The color of the map credit.
24
+ * @cssproperty --map-attribution-font-size - The size of the map credit's text.
22
25
  * @cssproperty --map-background-color - The color behind the map while tiles load.
23
26
  * @cssproperty --map-block-size - The frame's height, as a length. Ignored with `fill`, where the container decides it.
24
27
  * @cssproperty --map-border-color - The frame's border color.
28
+ * @cssproperty --map-chosen-color - The fill of the pressed 3D button and the ring around the chosen map type and each shown layer in the layers menu.
29
+ * @cssproperty --map-layers-menu-gap - The space between the map types and the layers in the layers menu.
30
+ * @cssproperty --map-layers-menu-inline-size - The width of the layers menu.
31
+ * @cssproperty --map-layers-menu-padding - The space inside the edge of the layers menu.
32
+ * @cssproperty --map-needle-north-color - The north half of the compass needle.
33
+ * @cssproperty --map-needle-south-color - The south half of the compass needle.
34
+ * @cssproperty --map-radius - The frame's corners.
25
35
  * @cssproperty --viewport-control-background-color - The background of the pan and zoom buttons. Canvas uses the same property.
26
36
  */
27
37
  export declare class HelixMap extends HelixHeadlessMap {
@@ -4,5 +4,5 @@ var(--notifications-rule, var(--helix-color-border));display: flex;gap: var(--he
4
4
  [part="footer"][data-empty] {display: none;}[part="list"] {overflow-y: auto;}[part="footer"] {border-block-start: var(--helix-border-thin) solid
5
5
  var(--notifications-rule, var(--helix-color-border));padding-block: var(--helix-space-sm);padding-inline: var(--notifications-padding-inline, var(--helix-space-lg));}::slotted(helix-notification:last-of-type) {--notifications-rule: transparent;}[part="mark-all"] {background: none;border: 0;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);padding-block: var(--helix-space-2xs);padding-inline: var(--helix-space-2xs);transition: color var(--helix-duration-fast) var(--helix-easing-standard);}[part="mark-all"]:hover {color: var(--helix-color-foreground);}[part="more"] {background: none;border: 0;border-block-start: var(--helix-border-thin) solid var(--helix-color-border);color: var(--helix-color-foreground-muted);cursor: pointer;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inline-size: 100%;padding-block: var(--helix-space-sm);transition: color var(--helix-duration-fast) var(--helix-easing-standard);}[part="more"]:hover {color: var(--helix-color-foreground);}[part="more"][aria-disabled="true"],
6
6
  [part="more"][aria-disabled="true"]:hover {color: var(--helix-color-foreground-subtle);cursor: default;}[part="more"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="mark-all"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="empty"],
7
- [part="loading"] {--_collection-inset-block: var(--helix-space-lg);--_collection-inset-inline: var(--helix-space-md);}@media print {:host {max-block-size: none;}[part="list"] {overflow-y: visible;}[part="mark-all"],
7
+ [part="loading"] {--_collection-inset-block: var(--helix-space-lg);--_collection-inset-inline: var(--helix-space-md);}[part="error"] {color: var(--notifications-error-color, var(--helix-color-danger));font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-none);padding-block: var(--helix-space-lg);padding-inline: var(--helix-space-md);text-align: center;}@media print {:host {max-block-size: none;}[part="list"] {overflow-y: visible;}[part="mark-all"],
8
8
  [part="more"] {display: none;}}`);
@@ -20,15 +20,18 @@ import '../notification/notification.js';
20
20
  *
21
21
  * @slot - The notifications.
22
22
  * @slot empty - Replaces the words of `empty-text` in the `empty` part, such as a picture and a line of your own.
23
+ * @slot error - Replaces the words of `load-error` in the `error` part, such as a line with a retry button.
23
24
  * @slot footer - Below the list, for a link to everything.
24
25
  * @slot header - Above the list, for a title and the mark-all control.
25
26
  * @slot loading - Replaces the words of `loading-text` in the `loading` part, such as a loader.
26
27
  *
28
+ * @csspart error - The line `load-error` shows under the rows, in the danger color.
27
29
  * @csspart list - The list itself.
28
- * @csspart live - A copy of the empty and loading messages, in a live region that screen readers announce when they change. Visually hidden in the styled tier.
30
+ * @csspart live - A copy of the empty, loading and error messages, in a live region that screen readers announce when they change. Visually hidden in the styled tier.
29
31
  * @csspart mark-all - The control that marks everything read.
30
32
  * @csspart more - The button after the list that asks for more, while `load-more` is set. It stays while the feed is loading, in a lighter color and `aria-disabled`, so focus stays on it.
31
33
  *
34
+ * @cssproperty --notifications-error-color - The color of the `error` line.
32
35
  * @cssproperty --notifications-max-block-size - How tall the feed may get before the list scrolls.
33
36
  * @cssproperty --notifications-media-column - Width of the media column that every item keeps when any item in the feed has media.
34
37
  * @cssproperty --notifications-padding-inline - Space either side of the header and footer.
@@ -1,37 +1,37 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {align-items: center;display: flex;flex-wrap: wrap;font-size: var(--helix-text-sm);gap: var(--pagination-gap, var(--helix-space-2xs));}[part="list"] {align-items: center;display: flex;flex-wrap: wrap;gap: var(--pagination-gap, var(--helix-space-2xs));list-style: none;margin: var(--helix-space-none);padding: var(--helix-space-none);}[part="item"] {display: inline-flex;}[part="first"],
2
+ export const styles = createSheet(`:host {align-items: center;display: flex;flex-wrap: wrap;font-size: var(--pagination-font-size, var(--helix-text-sm));gap: var(--pagination-gap, var(--helix-space-2xs));}[part="list"] {align-items: center;display: flex;flex-wrap: wrap;gap: var(--pagination-gap, var(--helix-space-2xs));list-style: none;margin: var(--helix-space-none);padding: var(--helix-space-none);}[part="item"] {display: inline-flex;}[part="first"],
3
3
  [part="gap"],
4
4
  [part="last"],
5
5
  [part~="page"],
6
6
  [part="previous"],
7
- [part="next"] {align-items: center;appearance: none;background-color: transparent;block-size: var(--pagination-size, var(--helix-size-control-tight));border: var(--helix-border-thin) solid transparent;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;font: inherit;font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);justify-content: center;min-inline-size: var(--pagination-size, var(--helix-size-control-tight));padding-inline: var(--helix-space-2xs);text-decoration: none;transition:
7
+ [part="next"] {align-items: center;appearance: none;background-color: transparent;block-size: var(--pagination-size, var(--helix-size-control-tight));border: var(--helix-border-thin) solid transparent;border-radius: var(--pagination-radius, var(--helix-radii-sm));color: var(--pagination-foreground-color, var(--helix-color-foreground-muted));cursor: pointer;display: inline-flex;font: inherit;font-variant-numeric: tabular-nums;font-weight: var(--pagination-font-weight, var(--helix-weight-medium));justify-content: center;min-inline-size: var(--pagination-size, var(--helix-size-control-tight));padding-inline: var(--pagination-padding, var(--helix-space-2xs));text-decoration: none;transition:
8
8
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
9
9
  color var(--helix-duration-fast) var(--helix-easing-standard);}[part="first"]:hover,
10
10
  [part="gap"]:hover,
11
11
  [part="last"]:hover,
12
12
  [part~="page"]:hover,
13
13
  [part="previous"]:hover,
14
- [part="next"]:hover {background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));color: var(--helix-color-foreground);}[part="first"]:focus-visible,
14
+ [part="next"]:hover {background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));color: var(--pagination-hover-foreground-color, var(--helix-color-foreground));}[part="first"]:focus-visible,
15
15
  [part="gap"]:focus-visible,
16
16
  [part="last"]:focus-visible,
17
17
  [part~="page"]:focus-visible,
18
18
  [part="previous"]:focus-visible,
19
19
  [part="next"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part~="page"][aria-current="page"],
20
- [part~="page"][aria-current="page"]:hover {background-color: var(--pagination-current-color, var(--helix-color-surface-raised));border-color: var(--helix-color-border);color: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold);}[part="first"]:disabled,
20
+ [part~="page"][aria-current="page"]:hover {background-color: var(--pagination-current-color, var(--helix-color-surface-raised));border-color: var(--pagination-current-border-color, var(--helix-color-border));color: var(--pagination-current-foreground-color, var(--helix-color-foreground));font-weight: var(--pagination-current-font-weight, var(--helix-weight-semibold));}[part="first"]:disabled,
21
21
  [part="last"]:disabled,
22
22
  [part="previous"]:disabled,
23
23
  [part="next"]:disabled,
24
24
  [part="first"][aria-disabled="true"],
25
25
  [part="last"][aria-disabled="true"],
26
26
  [part="previous"][aria-disabled="true"],
27
- [part="next"][aria-disabled="true"] {color: var(--helix-color-foreground-subtle);cursor: default;opacity: 0.5;pointer-events: none;}[part="first"] svg,
27
+ [part="next"][aria-disabled="true"] {color: var(--pagination-disabled-foreground-color, var(--helix-color-foreground-subtle));cursor: default;opacity: var(--pagination-disabled-opacity, 0.5);pointer-events: none;}[part="first"] svg,
28
28
  [part="last"] svg,
29
29
  [part="previous"] svg,
30
30
  [part="next"] svg,
31
31
  ::slotted([slot="first-icon"]),
32
32
  ::slotted([slot="last-icon"]),
33
33
  ::slotted([slot="previous-icon"]),
34
- ::slotted([slot="next-icon"]) {block-size: var(--helix-size-icon-tight);inline-size: var(--helix-size-icon-tight);}:host(:dir(rtl)) ::slotted([slot="first-icon"]),
34
+ ::slotted([slot="next-icon"]) {block-size: var(--pagination-icon-size, var(--helix-size-icon-tight));inline-size: var(--pagination-icon-size, var(--helix-size-icon-tight));}:host(:dir(rtl)) ::slotted([slot="first-icon"]),
35
35
  :host(:dir(rtl)) ::slotted([slot="last-icon"]),
36
36
  :host(:dir(rtl)) ::slotted([slot="previous-icon"]),
37
- :host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}[part="gap"] {color: var(--helix-color-foreground-subtle);user-select: none;}:host(:state(empty)) {display: none;}[part="status"] {color: var(--helix-color-foreground-muted);font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);padding-inline: var(--helix-space-xs);}@media print {:host {display: none;}}`);
37
+ :host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}[part="gap"] {color: var(--pagination-ellipsis-foreground-color, var(--helix-color-foreground-subtle));user-select: none;}:host(:state(empty)) {display: none;}[part="status"] {color: var(--pagination-status-foreground-color, var(--helix-color-foreground-muted));font-variant-numeric: tabular-nums;font-weight: var(--pagination-font-weight, var(--helix-weight-medium));padding-inline: var(--helix-space-xs);}@media print {:host {display: none;}}`);
@@ -35,10 +35,24 @@ import type { CSSResultGroup } from 'lit';
35
35
  * @csspart previous - The control that moves back one page.
36
36
  * @csspart status - The text that says which page you are on, in `compact`.
37
37
  *
38
+ * @cssproperty --pagination-current-border-color - Edge of the page you are on.
38
39
  * @cssproperty --pagination-current-color - Fill behind the page you are on.
40
+ * @cssproperty --pagination-current-font-weight - Weight of the number of the page you are on.
41
+ * @cssproperty --pagination-current-foreground-color - Color of the number of the page you are on.
42
+ * @cssproperty --pagination-disabled-foreground-color - Color of a first, previous, next or last control with nowhere to go.
43
+ * @cssproperty --pagination-disabled-opacity - How faint a control with nowhere to go is drawn.
44
+ * @cssproperty --pagination-ellipsis-foreground-color - Color of the control that stands in for hidden pages.
45
+ * @cssproperty --pagination-font-size - Size of the numbers and the status text.
46
+ * @cssproperty --pagination-font-weight - Weight of the numbers and the status text.
47
+ * @cssproperty --pagination-foreground-color - Color of the numbers and the marks on every control.
39
48
  * @cssproperty --pagination-gap - Space between one control and the next.
40
49
  * @cssproperty --pagination-hover-color - Fill behind a control under the pointer.
50
+ * @cssproperty --pagination-hover-foreground-color - Color of a control's number or mark under the pointer.
51
+ * @cssproperty --pagination-icon-size - Size of the mark on a first, previous, next or last control, drawn or slotted.
52
+ * @cssproperty --pagination-padding - Space either side of a control's number or mark.
53
+ * @cssproperty --pagination-radius - Corner radius of every control in the row.
41
54
  * @cssproperty --pagination-size - The box every control in the row takes.
55
+ * @cssproperty --pagination-status-foreground-color - Color of the text that says which page you are on, in `compact`.
42
56
  */
43
57
  export declare class HelixPagination extends HelixHeadlessPagination {
44
58
  static styles: CSSResultGroup;
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: inline-flex;}:host(:state(empty)) {display: none;}[part="control"] {align-items: center;flex-direction: row;gap: var(--helix-space-xs);}[part="control"]::part(label) {padding-block-end: var(--helix-space-none);white-space: nowrap;}[part="control"]::part(trigger) {block-size: var(--helix-size-control-tight);}`);
2
+ export const styles = createSheet(`:host {display: inline-flex;}:host(:state(empty)) {display: none;}[part="control"] {align-items: center;flex-direction: row;gap: var(--pagination-size-gap, var(--helix-space-xs));}[part="control"]::part(label) {padding-block-end: var(--helix-space-none);white-space: nowrap;}[part="control"]::part(trigger) {block-size: var(--pagination-size, var(--helix-size-control-tight));}`);
@@ -20,6 +20,9 @@ import '../../select/index.js';
20
20
  * @documentation https://fusion.dev/helix/components/pagination
21
21
  *
22
22
  * @csspart control - The select.
23
+ *
24
+ * @cssproperty --pagination-size - Height of the select's trigger, the same hook that sizes every control in the page row.
25
+ * @cssproperty --pagination-size-gap - Space between the label and the select.
23
26
  */
24
27
  export declare class HelixPaginationSize extends HelixHeadlessPaginationSize {
25
28
  static tier: string;
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {color: var(--helix-color-foreground-subtle);display: inline-block;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-variant-numeric: tabular-nums;}`);
2
+ export const styles = createSheet(`:host {color: var(--pagination-summary-foreground-color, var(--helix-color-foreground-subtle));display: inline-block;font-family: var(--helix-font-sans);font-size: var(--pagination-font-size, var(--helix-text-sm));font-variant-numeric: tabular-nums;}`);
@@ -11,6 +11,9 @@ import type { CSSResultGroup } from 'lit';
11
11
  * @status stable
12
12
  * @aliases Result count, Range
13
13
  * @documentation https://fusion.dev/helix/components/pagination
14
+ *
15
+ * @cssproperty --pagination-font-size - Size of the text, the same hook that sizes the page numbers.
16
+ * @cssproperty --pagination-summary-foreground-color - Color of the text.
14
17
  */
15
18
  export declare class HelixPaginationSummary extends HelixHeadlessPaginationSummary {
16
19
  static styles: CSSResultGroup;
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {--_qr-size: var(--qr-code-size, 12rem);background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));block-size: var(--_qr-size);border-radius: var(--helix-radii-sm);color: var(--qr-code-color, var(--helix-color-surface-media));display: block;inline-size: var(--_qr-size);position: relative;}[part="code"] {block-size: 100%;display: block;inline-size: 100%;}[part="fallback"] {align-items: center;block-size: 100%;box-sizing: border-box;display: flex;justify-content: center;overflow-wrap: anywhere;padding: var(--helix-space-md);text-align: center;}[part="finders"] {fill: var(--qr-code-finder-color, currentColor);}[part="logo"] {align-items: center;background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));border-radius: var(--helix-radii-sm);box-sizing: border-box;display: flex;inset-block-start: 50%;inset-inline-start: 50%;justify-content: center;max-block-size: var(--qr-code-logo-size, 27%);max-inline-size: var(--qr-code-logo-size, 27%);min-block-size: var(--qr-code-logo-size, 27%);min-inline-size: var(--qr-code-logo-size, 27%);padding: var(--qr-code-logo-padding, 6%);position: absolute;translate: -50% -50%;}[part="logo"] slot::slotted(*) {block-size: 100%;inline-size: 100%;object-fit: contain;}[part="logo"][hidden] {display: none;}@media print {:host {print-color-adjust: economy;}}`);
2
+ export const styles = createSheet(`:host {--_qr-size: var(--qr-code-size, 12rem);background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));block-size: var(--_qr-size);border-radius: var(--qr-code-radius, var(--helix-radii-sm));color: var(--qr-code-color, var(--helix-color-surface-media));display: block;inline-size: var(--_qr-size);position: relative;}[part="code"] {block-size: 100%;display: block;inline-size: 100%;}[part="fallback"] {align-items: center;block-size: 100%;box-sizing: border-box;display: flex;justify-content: center;overflow-wrap: anywhere;padding: var(--qr-code-fallback-padding, var(--helix-space-md));text-align: center;}[part="finders"] {fill: var(--qr-code-finder-color, currentColor);}[part="logo"] {align-items: center;background-color: var(--qr-code-background-color, var(--helix-color-foreground-media));border-radius: var(--qr-code-logo-radius, var(--helix-radii-sm));box-sizing: border-box;display: flex;inset-block-start: 50%;inset-inline-start: 50%;justify-content: center;max-block-size: var(--qr-code-logo-size, 27%);max-inline-size: var(--qr-code-logo-size, 27%);min-block-size: var(--qr-code-logo-size, 27%);min-inline-size: var(--qr-code-logo-size, 27%);padding: var(--qr-code-logo-padding, 6%);position: absolute;translate: -50% -50%;}:host(:dir(rtl)) [part="logo"] {translate: 50% -50%;}[part="logo"] slot::slotted(*) {block-size: 100%;inline-size: 100%;object-fit: contain;}[part="logo"][hidden] {display: none;}@media print {:host {print-color-adjust: economy;}}`);
@@ -19,11 +19,14 @@ import type { CSSResultGroup } from 'lit';
19
19
  *
20
20
  * @cssproperty --qr-code-background-color - The fill behind the modules, including the quiet zone and the logo's box.
21
21
  * @cssproperty --qr-code-color - Color of the dark modules. Defaults to the dark media ink, which is the same in both color schemes so the code scans.
22
+ * @cssproperty --qr-code-fallback-padding - The space around the fallback inside the square.
22
23
  * @cssproperty --qr-code-finder-color - Color of the three corner squares. Defaults
23
24
  * to the color of the modules.
24
25
  * @cssproperty --qr-code-logo-padding - The clear space around the center logo.
26
+ * @cssproperty --qr-code-logo-radius - The corner radius of the logo's box.
25
27
  * @cssproperty --qr-code-logo-size - How much of the center a logo can cover.
26
28
  * Defaults to `27%`, which `H` correction allows, because it can lose thirty percent.
29
+ * @cssproperty --qr-code-radius - The corner radius of the square.
27
30
  * @cssproperty --qr-code-size - How wide the square is. Defaults to `12rem`.
28
31
  */
29
32
  export declare class HelixQrCode extends HelixHeadlessQrCode {
@@ -194,7 +194,15 @@ export declare class HelixSandboxPreview extends HelixElement {
194
194
  * thing on the page already entitled to both.
195
195
  */
196
196
  private static readonly target;
197
- /** Holds a coalesced send, so only one is ever queued, and drops it on disconnect. */
197
+ /**
198
+ * Holds a coalesced send, so only one is ever queued, and drops it on
199
+ * disconnect.
200
+ *
201
+ * **It renders nothing**, so it asks for no update when its wait starts or
202
+ * ends. One that did sent the source at once from that update, ahead of the
203
+ * wait, and the send at the end of the wait then cleared `failed` after the
204
+ * error it should have reported.
205
+ */
198
206
  private readonly settle;
199
207
  /**
200
208
  * Sends once the typing stops, replacing anything already waiting.
@@ -44,7 +44,7 @@ let HelixSandboxPreview = class HelixSandboxPreview extends HelixElement {
44
44
  this.dispatchEvent(new HelixResizeEvent({ size: event.data.size }));
45
45
  }
46
46
  };
47
- this.settle = new DelayController(this);
47
+ this.settle = new DelayController(this, { renders: false });
48
48
  }
49
49
  static { HelixSandboxPreview_1 = this; }
50
50
  get frame() {
@@ -1,6 +1,9 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`:host {display: flex;flex-direction: column;gap: var(--helix-space-2xs);position: relative;}[part="trigger"] {all: unset;align-items: center;background-color: var(--helix-color-well);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);cursor: pointer;display: flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);gap: var(--helix-space-xs);justify-content: space-between;padding-inline: var(--helix-space-xs);transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);}:host(:not(:disabled)) [part="trigger"]:hover {border-color: var(--helix-color-primary);}[part="trigger"]:focus-visible {border-color: var(--helix-color-primary);outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}:host(:state(invalid)) [part="trigger"],
3
3
  :host(:state(invalid)) [part="trigger"]:hover,
4
- :host(:state(invalid)) [part="trigger"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}:host(:disabled) [part="trigger"] {cursor: not-allowed;opacity: 0.5;}:host([emphasis="ghost"]) {inline-size: fit-content;}:host([emphasis="ghost"]) [part="trigger"] {background-color: transparent;block-size: var(--helix-size-control-tight);border-color: transparent;justify-content: start;padding-inline: var(--helix-space-2xs);}:host([emphasis="ghost"]:not(:disabled)) [part="trigger"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);border-color: transparent;}:host([emphasis="ghost"]) [part="trigger"]:focus-visible {border-color: var(--helix-color-primary);}[part="value"] {flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}[part="surface"] {--_floating-border-color: var(--select-border-color, var(--helix-color-border));--_floating-border-width: var(--select-border-width, var(--helix-border-floating));--_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));--option-radius: var(--helix-radii-none);inline-size: var(--floating-anchor-inline-size, 100%);min-inline-size: max-content;max-block-size: var(--floating-available-block-size, none);padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none);}[part="indicator"],
4
+ :host(:state(invalid)) [part="trigger"]:focus-visible {border-color: var(--helix-color-danger);outline-color: var(--helix-color-danger);}:host(:disabled) [part="trigger"] {cursor: not-allowed;opacity: 0.5;}:host([emphasis="ghost"]) {inline-size: fit-content;}:host([emphasis="ghost"]) [part="trigger"] {background-color: transparent;block-size: var(--helix-size-control-tight);border-color: transparent;justify-content: start;padding-inline: var(--helix-space-2xs);}:host([emphasis="ghost"]:not(:disabled)) [part="trigger"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);border-color: transparent;}:host([emphasis="ghost"]) [part="trigger"]:focus-visible {border-color: var(--helix-color-primary);}[part="value"] {flex: 1;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}[part="surface"] {--_floating-border-color: var(--select-border-color, var(--helix-color-border));--_floating-border-width: var(--select-border-width, var(--helix-border-floating));--_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));--option-radius: var(--helix-radii-none);inline-size: max-content;max-inline-size: calc(100vw - var(--helix-space-xs) * 2);min-inline-size: min(
5
+ var(--floating-anchor-inline-size, 100%),
6
+ calc(100vw - var(--helix-space-xs) * 2)
7
+ );max-block-size: var(--floating-available-block-size, none);padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none);}[part="indicator"],
5
8
  ::slotted([slot="indicator"]) {transition: scale var(--helix-duration-fast) var(--helix-easing-standard);}:host(:state(open)) [part="indicator"],
6
9
  :host(:state(open)) ::slotted([slot="indicator"]) {scale: 1 -1;}[part="listbox"]::part(items) {background-color: transparent;border: none;border-radius: var(--helix-radii-none);max-block-size: var(--select-surface-max-block-size, 14rem);padding: var(--helix-space-none);}[part="listbox"]::part(items):focus-visible {outline: none;}[part="indicator"] {block-size: var(--helix-size-icon-tight);color: var(--helix-color-foreground-muted);flex: 0 0 auto;inline-size: var(--helix-size-icon-tight);}@media print {:host {print-color-adjust: exact;}}`);
@@ -11,12 +11,14 @@ import { styles as fieldStyles } from '../../shared/field/field.css.js';
11
11
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
12
12
  import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
13
13
  import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
14
+ import { styles as liveStyles } from '../../shared/live/live.css.js';
14
15
  import { styles } from './select-root.css.js';
15
16
  import '../../listbox/index.js';
16
17
  import '../../option/index.js';
17
18
  let HelixSelect = class HelixSelect extends HelixHeadlessSelect {
18
19
  static { this.tier = 'helix-'; }
19
20
  static { this.styles = [
21
+ liveStyles,
20
22
  fieldStyles,
21
23
  fieldStackedStyles,
22
24
  floatingPanelStyles,
@@ -8,7 +8,7 @@ export const styles = createSheet(`[part="controls"] {display: grid;gap: var(--h
8
8
  ". down full";}[part="controls"]:not(:has([part="pan-up"])) {grid-template-areas:
9
9
  "zoomin"
10
10
  "zoomout"
11
- "full";}:host(:fullscreen) {display: block;}:host(:state(fullscreen)) [part="region"] {block-size: 100dvh;border: none;border-radius: 0;}:host([controls-placement="top-end"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: auto var(--helix-space-sm);}:host([controls-placement="top-start"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: var(--helix-space-sm) auto;}:host([controls-placement="bottom-end"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: auto var(--helix-space-sm);}:host([controls-placement="bottom-start"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: var(--helix-space-sm) auto;}[part="pan-up"] {grid-area: up;}[part="pan-down"] {grid-area: down;}[part="pan-start"] {grid-area: start;}[part="pan-end"] {grid-area: end;}[part="zoom-in"] {grid-area: zoomin;}[part="zoom-out"] {grid-area: zoomout;}[part="fullscreen"] {grid-area: full;}[part="controls"] button {align-items: center;background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);block-size: var(--helix-size-control-sm);color: var(--helix-color-foreground);cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inline-size: var(--helix-size-control-sm);justify-content: center;padding: 0;}[part="controls"] button:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="controls"] button:hover {background-color: color-mix(
11
+ "full";}:host(:fullscreen) {display: block;}:host(:state(fullscreen)) [part="region"] {block-size: 100dvh;border: none;border-radius: 0;}:host([controls-placement="top-end"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: auto var(--helix-space-sm);}:host([controls-placement="top-start"]) [part="controls"] {inset-block: var(--helix-space-sm) auto;inset-inline: var(--helix-space-sm) auto;}:host([controls-placement="bottom-end"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: auto var(--helix-space-sm);}:host([controls-placement="bottom-start"]) [part="controls"] {inset-block: auto var(--helix-space-sm);inset-inline: var(--helix-space-sm) auto;}[part="pan-up"] {grid-area: up;}[part="pan-down"] {grid-area: down;}[part="pan-start"] {grid-area: start;}[part="pan-end"] {grid-area: end;}[part="zoom-in"] {grid-area: zoomin;}[part="zoom-out"] {grid-area: zoomout;}[part="fullscreen"] {grid-area: full;}[part="controls"] button {align-items: center;background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));border: var(--helix-border-floating) solid var(--helix-color-border);border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-floating);block-size: var(--helix-size-control-sm);color: var(--helix-color-foreground);cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);inline-size: var(--helix-size-control-sm);justify-content: center;padding: 0;}[part="controls"] button ::slotted(*) {--icon-size: var(--helix-size-icon-sm);block-size: var(--helix-size-icon-sm);inline-size: var(--helix-size-icon-sm);}[part="controls"] button:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="controls"] button:hover {background-color: color-mix(
12
12
  in oklab,
13
13
  var(--helix-color-foreground) 10%,
14
14
  var(--viewport-control-background-color, var(--helix-color-surface-overlay))
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {display: block;}[part="group"] {align-items: var(--_speed-dial-align, flex-end);display: flex;flex-direction: column;gap: var(--speed-dial-gap, var(--helix-space-sm));}[part="label"] {background-color: var(--speed-dial-label-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-sm);color: var(--speed-dial-group-label-color, var(--helix-color-foreground-muted));font-family: var(--helix-font-sans);font-size: var(--speed-dial-group-label-font-size, var(--helix-text-xs));font-weight: var(--helix-weight-medium);padding: var(--helix-space-2xs) var(--helix-space-xs);white-space: nowrap;}[part="label"][hidden] {display: none;}`);
@@ -0,0 +1,27 @@
1
+ import { HelixHeadlessSpeedDialGroup } from '@fusion.dev/helix-headless/speed-dial';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary A named set of actions inside a speed dial, set apart from the rest.
5
+ *
6
+ * @description
7
+ * A column of actions with its name above them, in the small muted words a
8
+ * menu heads its sections with, lined up on the side the trigger is on. The
9
+ * space between two groups is the space between two actions.
10
+ *
11
+ * @since 0.141.0
12
+ * @status stable
13
+ * @category actions
14
+ * @aliases Speed dial section, Action group
15
+ * @documentation https://fusion.dev/helix/components/speed-dial
16
+ *
17
+ * @cssproperty --speed-dial-group-label-color - Color of the group's name.
18
+ * @cssproperty --speed-dial-group-label-font-size - Size of the group's name.
19
+ */
20
+ export declare class HelixSpeedDialGroup extends HelixHeadlessSpeedDialGroup {
21
+ static styles: CSSResultGroup;
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'helix-speed-dial-group': HelixSpeedDialGroup;
26
+ }
27
+ }
@@ -0,0 +1,16 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessSpeedDialGroup } from '@fusion.dev/helix-headless/speed-dial';
9
+ import { styles } from './speed-dial-group.css.js';
10
+ let HelixSpeedDialGroup = class HelixSpeedDialGroup extends HelixHeadlessSpeedDialGroup {
11
+ static { this.styles = styles; }
12
+ };
13
+ HelixSpeedDialGroup = __decorate([
14
+ customElement('helix-speed-dial-group')
15
+ ], HelixSpeedDialGroup);
16
+ export { HelixSpeedDialGroup };
@@ -1,2 +1,3 @@
1
+ export * from './group/speed-dial-group.js';
1
2
  export * from './item/speed-dial-item.js';
2
3
  export * from './root/speed-dial-root.js';
@@ -1,2 +1,3 @@
1
+ export * from './group/speed-dial-group.js';
1
2
  export * from './item/speed-dial-item.js';
2
3
  export * from './root/speed-dial-root.js';
@@ -5,4 +5,4 @@ box-shadow var(--helix-duration-fast) var(--helix-easing-standard);}[part="item"
5
5
  --speed-dial-item-hover-background-color,
6
6
  color-mix(in oklab, var(--helix-color-foreground) 6%, var(--helix-color-surface-overlay))
7
7
  );box-shadow: var(--helix-shadow-lg);}[part="item"]:focus-visible {outline: none;}[part="item"]:focus-visible [part="icon"] {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="label"] {background-color: var(--speed-dial-label-background-color, var(--helix-color-surface-overlay));border-radius: var(--helix-radii-sm);box-shadow: var(--helix-shadow-sm);color: var(--speed-dial-label-color, var(--helix-color-foreground));font-family: var(--helix-font-sans);font-size: var(--speed-dial-label-font-size, var(--helix-text-sm));font-weight: var(--helix-weight-medium);opacity: var(--_speed-dial-label-opacity, 1);padding: var(--helix-space-2xs) var(--helix-space-xs);transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);white-space: nowrap;}[part="item"]:hover [part="label"],
8
- [part="item"]:focus-visible [part="label"] {opacity: 1;}`);
8
+ [part="item"]:focus-visible [part="label"] {opacity: 1;}[part="shortcut"] {color: var(--speed-dial-shortcut-color, var(--helix-color-foreground-muted));margin-inline-start: var(--helix-space-sm);}[part="shortcut"][hidden] {display: none;}`);
@@ -22,6 +22,7 @@ import type { CSSResultGroup } from 'lit';
22
22
  * @cssproperty --speed-dial-label-background-color - Fill of the chip holding the action's name.
23
23
  * @cssproperty --speed-dial-label-color - Color of the action's name.
24
24
  * @cssproperty --speed-dial-label-font-size - Size of the action's name.
25
+ * @cssproperty --speed-dial-shortcut-color - Color of the shortcut drawn after the action's name.
25
26
  */
26
27
  export declare class HelixSpeedDialItem extends HelixHeadlessSpeedDialItem {
27
28
  static styles: CSSResultGroup;
@@ -1,5 +1,5 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
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-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:
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
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"],
@@ -1,22 +1,30 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: flex;min-block-size: 0;min-inline-size: 0;position: relative;}:host(:is([orientation="vertical"], [data-axis="vertical"])) {flex-direction: column;}[part="start"] {flex: 0 0 var(--splitter-position, 50%);min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="end"] {flex: 1 1 0;min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="separator"] {background-color: transparent;box-sizing: border-box;cursor: col-resize;flex: none;inline-size: var(--splitter-target, var(--helix-space-xs));margin-inline: calc(var(--splitter-target, var(--helix-space-xs)) / -2);position: relative;touch-action: none;user-select: none;z-index: var(--helix-layer-raised);}[part="separator"]::before {background-color: var(--splitter-color, var(--helix-color-border));content: "";inline-size: var(--helix-border-thin);inset-block: 0;inset-inline-start: 50%;margin-inline-start: calc(var(--helix-border-thin) / -2);position: absolute;transition:
2
+ export const styles = createSheet(`:host {display: flex;min-block-size: 0;min-inline-size: 0;position: relative;}:host(:is([orientation="vertical"], [data-axis="vertical"])) {flex-direction: column;}[part="start"] {flex: 0 0 var(--splitter-position, 50%);min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="end"] {flex: 1 1 0;min-block-size: 0;min-inline-size: 0;overflow: auto;}[part="separator"] {background-color: transparent;box-sizing: border-box;cursor: col-resize;display: grid;flex: none;place-content: center;place-items: center;inline-size: var(--splitter-target, var(--helix-space-xs));margin-inline: calc(var(--splitter-target, var(--helix-space-xs)) / -2);position: relative;touch-action: none;user-select: none;z-index: var(--helix-layer-raised);}[part="separator"]::before {background-color: var(--splitter-color, var(--helix-color-border));content: "";inline-size: var(--splitter-thickness, var(--helix-border-thin));inset-block: 0;inset-inline-start: 50%;margin-inline-start: calc(var(--splitter-thickness, var(--helix-border-thin)) / -2);position: absolute;transition:
3
3
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
4
- inline-size var(--helix-duration-fast) var(--helix-easing-standard);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"] {block-size: var(--splitter-target, var(--helix-space-xs));cursor: row-resize;inline-size: auto;margin-block: calc(var(--splitter-target, var(--helix-space-xs)) / -2);margin-inline: 0;}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"]::before {block-size: var(--helix-border-thin);inline-size: auto;inset-block-start: 50%;inset-inline: 0;margin-block-start: calc(var(--helix-border-thin) / -2);transition:
4
+ inline-size var(--helix-duration-fast) var(--helix-easing-standard);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"] {block-size: var(--splitter-target, var(--helix-space-xs));cursor: row-resize;inline-size: auto;margin-block: calc(var(--splitter-target, var(--helix-space-xs)) / -2);margin-inline: 0;}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="separator"]::before {block-size: var(--splitter-thickness, var(--helix-border-thin));inline-size: auto;inset-block-start: 50%;inset-inline: 0;margin-block-start: calc(var(--splitter-thickness, var(--helix-border-thin)) / -2);transition:
5
5
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
6
6
  block-size var(--helix-duration-fast) var(--helix-easing-standard);}[part="separator"]:hover,
7
7
  [part="separator"]:focus-visible,
8
8
  [part="separator"][data-dragging] {z-index: calc(var(--helix-layer-raised) + 1);}[part="separator"][data-flush]::before {background-color: transparent;}:host(:not([variant="grip"])) [part="separator"]:hover::before,
9
9
  :host(:not([variant="grip"])) [part="separator"]:focus-visible::before,
10
- :host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-hover-color, var(--helix-color-foreground-muted));inline-size: var(--helix-border-thick);}:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-drag-color, var(--helix-color-primary));}:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
10
+ :host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-hover-color, var(--helix-color-foreground-muted));inline-size: var(--splitter-hover-thickness, var(--helix-border-thick));}:host(:not([variant="grip"])) [part="separator"][data-dragging]::before {background-color: var(--splitter-drag-color, var(--helix-color-primary));}:host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
11
11
  [part="separator"]:hover::before,
12
12
  :host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
13
13
  [part="separator"]:focus-visible::before,
14
14
  :host(:is([orientation="vertical"], [data-axis="vertical"]):not([variant="grip"]))
15
- [part="separator"][data-dragging]::before {block-size: var(--helix-border-thick);inline-size: auto;}[part="separator"]:focus-visible {outline: none;}[part="separator"]:focus-visible::before {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="corner"] {block-size: var(--splitter-corner, var(--helix-space-md));cursor: move;inline-size: var(--splitter-corner, var(--helix-space-md));inset-block-start: var(--splitter-corner-at);inset-inline-start: var(--splitter-position);margin-block-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);margin-inline-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);position: absolute;touch-action: none;user-select: none;z-index: calc(var(--helix-layer-raised) + 2);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="corner"] {inset-block-start: var(--splitter-position);inset-inline-start: var(--splitter-corner-at);}[part="corner"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([variant="grip"]) [part="separator"]::after {background-color: var(--splitter-grip-color, var(--helix-color-foreground-muted));border-radius: var(--helix-radii-full);content: "";opacity: 0;position: absolute;transition:
15
+ [part="separator"][data-dragging]::before {block-size: var(--splitter-hover-thickness, var(--helix-border-thick));inline-size: auto;}[part="separator"]:focus-visible {outline: none;}[part="separator"]:focus-visible::before {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="corner"] {block-size: var(--splitter-corner, var(--helix-space-md));cursor: move;inline-size: var(--splitter-corner, var(--helix-space-md));inset-block-start: var(--splitter-corner-at);inset-inline-start: var(--splitter-position);margin-block-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);margin-inline-start: calc(var(--splitter-corner, var(--helix-space-md)) / -2);position: absolute;touch-action: none;user-select: none;z-index: calc(var(--helix-layer-raised) + 2);}:host(:is([orientation="vertical"], [data-axis="vertical"])) [part="corner"] {inset-block-start: var(--splitter-position);inset-inline-start: var(--splitter-corner-at);}[part="corner"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([variant="grip"]) [part="separator"]::after {background-color: var(--splitter-grip-color, var(--helix-color-foreground-muted));border-radius: var(--helix-radii-full);content: "";opacity: 0;position: absolute;transition:
16
16
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
17
17
  opacity var(--helix-duration-fast) var(--helix-easing-standard);}:host([variant="grip"]:not(:is([orientation="vertical"], [data-axis="vertical"])))
18
- [part="separator"]::after {block-size: var(--splitter-grip-length, 2rem);inline-size: var(--helix-border-thick);inset-block-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);inset-inline-start: calc(50% - var(--helix-border-thick) - var(--helix-space-2xs));}:host([variant="grip"]:is([orientation="vertical"], [data-axis="vertical"]))
19
- [part="separator"]::after {block-size: var(--helix-border-thick);inline-size: var(--splitter-grip-length, 2rem);inset-block-start: calc(50% - var(--helix-border-thick) - var(--helix-space-2xs));inset-inline-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);}:host([variant="grip"]) [part="separator"]:hover::after,
18
+ [part="separator"]::after {block-size: var(--splitter-grip-length, 2rem);inline-size: var(--splitter-grip-thickness, var(--helix-border-thick));inset-block-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);inset-inline-start: calc(
19
+ 50% -
20
+ var(--splitter-grip-thickness, var(--helix-border-thick)) -
21
+ var(--helix-space-2xs)
22
+ );}:host([variant="grip"]:is([orientation="vertical"], [data-axis="vertical"]))
23
+ [part="separator"]::after {block-size: var(--splitter-grip-thickness, var(--helix-border-thick));inline-size: var(--splitter-grip-length, 2rem);inset-block-start: calc(
24
+ 50% -
25
+ var(--splitter-grip-thickness, var(--helix-border-thick)) -
26
+ var(--helix-space-2xs)
27
+ );inset-inline-start: calc(50% - var(--splitter-grip-length, 2rem) / 2);}:host([variant="grip"]) [part="separator"]:hover::after,
20
28
  :host([variant="grip"]) [part="separator"]:focus-visible::after,
21
- :host([variant="grip"]) [part="separator"][data-dragging]::after {opacity: 1;}:host([variant="grip"]) [part="separator"][data-dragging]::after {background-color: var(--splitter-drag-color, var(--helix-color-primary));}[part="start"][data-dragging],
29
+ :host([variant="grip"]) [part="separator"][data-dragging]::after {opacity: 1;}:host([variant="grip"]) [part="separator"][data-dragging]::after {background-color: var(--splitter-drag-color, var(--helix-color-primary));}::slotted([slot="handle"]) {color: var(--splitter-handle-color, var(--helix-color-foreground-muted));pointer-events: none;position: relative;}[part="start"][data-dragging],
22
30
  [part="end"][data-dragging] {pointer-events: none;}@media print {:host {overflow: visible;}}`);
@@ -38,8 +38,12 @@ import type { CSSResultGroup } from 'lit';
38
38
  * @cssproperty --splitter-drag-color - Color of the line while it is being moved.
39
39
  * @cssproperty --splitter-grip-color - Color of the grip beside the line, when the grip is shown.
40
40
  * @cssproperty --splitter-grip-length - How far the grip runs along the divider.
41
+ * @cssproperty --splitter-grip-thickness - How thick the grip is, across the divider.
42
+ * @cssproperty --splitter-handle-color - Color of a mark slotted into `handle`.
41
43
  * @cssproperty --splitter-hover-color - Color of the divider's target under the pointer.
44
+ * @cssproperty --splitter-hover-thickness - How thick the line is under the pointer, with focus and while it moves.
42
45
  * @cssproperty --splitter-target - Width of the area you can drag.
46
+ * @cssproperty --splitter-thickness - How thick the line is at rest.
43
47
  */
44
48
  export declare class HelixSplitter extends HelixHeadlessSplitter {
45
49
  /**
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;color: var(--helix-color-foreground);display: flex;font-size: var(--helix-text-sm);justify-content: var(--table-cell-align);min-block-size: var(--helix-size-control);min-inline-size: 0;overflow-wrap: anywhere;padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none) var(--helix-space-md);text-align: var(--table-cell-align);}:host(:state(text)) slot {display: block;min-inline-size: 0;}::slotted(*) {min-inline-size: 0;}:host([header]) {font-weight: var(--helix-weight-medium);}`);
2
+ export const styles = createSheet(`:host {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;color: var(--helix-color-foreground);display: flex;font-size: var(--helix-text-sm);justify-content: var(--table-cell-align);min-block-size: var(--helix-size-control);min-inline-size: 0;overflow-wrap: anywhere;padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none) var(--helix-space-md);text-align: var(--table-cell-align);}:host(:state(text)) slot {display: block;min-inline-size: 0;}::slotted(*) {min-inline-size: 0;}:host([header]) {font-weight: var(--helix-weight-medium);}:host(:focus-visible) {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}`);
@@ -1,2 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {display: block;overflow-x: auto;}[part="table"] {display: grid;grid-template-columns: var(--table-columns, var(--table-template, minmax(0, 1fr)));inline-size: 100%;}[part="head"] {display: contents;}::slotted([slot="heading"]) {color: var(--table-title-color, var(--helix-color-foreground));display: block;font-family: var(--helix-font-sans);font-size: var(--table-title-text, var(--helix-text-md));font-weight: var(--helix-weight-semibold);margin-block: var(--helix-space-none) var(--table-title-gap, var(--helix-space-sm));}[part="select-all"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;display: flex;min-block-size: var(--helix-size-control-loose);padding-inline: var(--helix-space-none) var(--helix-space-md);}:host([loading]) [part="table"] {opacity: 0.5;}@media print {:host {print-color-adjust: economy;}}`);
2
+ export const styles = createSheet(`:host {display: block;overflow-x: auto;}[part="table"] {display: grid;grid-template-columns: var(--table-columns, var(--table-template, minmax(0, 1fr)));inline-size: 100%;}[part="head"] {display: contents;}::slotted([slot="heading"]) {color: var(--table-title-color, var(--helix-color-foreground));display: block;font-family: var(--helix-font-sans);font-size: var(--table-title-text, var(--helix-text-md));font-weight: var(--helix-weight-semibold);margin-block: var(--helix-space-none) var(--table-title-gap, var(--helix-space-sm));}[part="select-all"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);box-sizing: border-box;display: flex;min-block-size: var(--helix-size-control-loose);padding-inline: var(--helix-space-none) var(--helix-space-md);}[part="select-all"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}:host([loading]) [part="table"] {opacity: 0.5;}@media print {:host {print-color-adjust: economy;}}`);
@@ -7,4 +7,4 @@ var(--helix-color-background)
7
7
  );}:host(:state(link)) ::slotted(*) {cursor: pointer;}:host(:state(link):hover) ::slotted(*) {background-color: var(
8
8
  --table-row-hover-background-color,
9
9
  color-mix(in oklab, var(--helix-color-foreground) 5%, transparent)
10
- );}`);
10
+ );}[part~="select"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}`);