@fusion.dev/helix 0.25.1 → 0.30.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 (133) hide show
  1. package/custom-elements.json +6072 -2074
  2. package/dist/accordion/root/accordion-root.css.js +1 -2
  3. package/dist/announcement/root/announcement-root.css.js +0 -1
  4. package/dist/area-chart/root/area-chart-root.css.js +2 -1
  5. package/dist/area-chart/root/area-chart-root.d.ts +1 -1
  6. package/dist/aura/{root/aura-axis.d.ts → axis.d.ts} +2 -2
  7. package/dist/aura/root/aura-root.d.ts +5 -1
  8. package/dist/aura/root/aura-root.js +3 -3
  9. package/dist/avatar/root/avatar-root.css.js +1 -1
  10. package/dist/bar-chart/root/bar-chart-root.css.js +2 -2
  11. package/dist/bar-chart/root/bar-chart-root.d.ts +1 -1
  12. package/dist/blockquote/root/blockquote-root.css.js +1 -2
  13. package/dist/breadcrumbs/root/breadcrumbs-root.css.js +1 -1
  14. package/dist/callout/root/callout-root.css.js +0 -1
  15. package/dist/carousel/root/carousel-root.css.js +0 -1
  16. package/dist/chat/message/chat-message.css.js +4 -1
  17. package/dist/chat/root/chat-root.css.js +5 -1
  18. package/dist/chat/root/chat-root.js +2 -1
  19. package/dist/checkbox/root/checkbox-root.css.js +1 -1
  20. package/dist/checkbox/root/checkbox-root.d.ts +4 -3
  21. package/dist/checkbox-group/root/checkbox-group-root.css.js +0 -1
  22. package/dist/code/root/code-root.css.js +0 -1
  23. package/dist/code-block/root/code-block-root.css.js +0 -1
  24. package/dist/color-input/root/color-input-root.css.js +5 -82
  25. package/dist/color-input/root/color-input-root.js +11 -1
  26. package/dist/color-picker/root/color-picker-root.js +1 -1
  27. package/dist/combobox/root/combobox-root.css.js +4 -83
  28. package/dist/combobox/root/combobox-root.js +12 -1
  29. package/dist/data-table/root/data-table-root.css.js +0 -8
  30. package/dist/data-table/root/data-table-root.js +2 -1
  31. package/dist/date-input/root/date-input-root.css.js +4 -80
  32. package/dist/date-input/root/date-input-root.js +12 -1
  33. package/dist/divider/root/divider-root.css.js +1 -1
  34. package/dist/donut-chart/root/donut-chart-root.css.js +3 -2
  35. package/dist/drilldown/root/drilldown-root.css.js +0 -11
  36. package/dist/drilldown/root/drilldown-root.js +2 -1
  37. package/dist/empty/root/empty-root.css.js +1 -2
  38. package/dist/file-input/root/file-input-root.css.js +3 -21
  39. package/dist/file-input/root/file-input-root.js +9 -2
  40. package/dist/filter-input/root/filter-input-root.css.js +4 -82
  41. package/dist/filter-input/root/filter-input-root.js +7 -1
  42. package/dist/flex/root/flex-root.css.js +1 -1
  43. package/dist/grid/root/grid-root.css.js +1 -1
  44. package/dist/icon/root/icon-root.css.js +1 -1
  45. package/dist/image/root/image-root.css.js +1 -1
  46. package/dist/input/root/input-root.css.js +0 -32
  47. package/dist/input/root/input-root.js +9 -2
  48. package/dist/legend/root/legend-root.css.js +1 -2
  49. package/dist/line-chart/root/line-chart-root.css.js +2 -2
  50. package/dist/line-chart/root/line-chart-root.d.ts +3 -1
  51. package/dist/list/root/list-root.css.js +1 -1
  52. package/dist/listbox/root/listbox-root.css.js +2 -8
  53. package/dist/listbox/root/listbox-root.js +7 -1
  54. package/dist/loader/root/loader-root.css.js +9 -5
  55. package/dist/menu/root/menu-root.css.js +4 -64
  56. package/dist/menu/root/menu-root.js +9 -1
  57. package/dist/meter/root/meter-root.css.js +0 -1
  58. package/dist/notifications/group/notification-group.css.js +1 -0
  59. package/dist/notifications/notification/notification.js +1 -1
  60. package/dist/notifications/root/notifications-root.css.js +2 -7
  61. package/dist/notifications/root/notifications-root.js +2 -1
  62. package/dist/number-input/root/number-input-root.css.js +2 -40
  63. package/dist/number-input/root/number-input-root.d.ts +2 -0
  64. package/dist/number-input/root/number-input-root.js +7 -1
  65. package/dist/option/root/option-root.css.js +0 -1
  66. package/dist/orb/index.d.ts +1 -1
  67. package/dist/orb/index.js +1 -1
  68. package/dist/orb/root/orb-root.d.ts +5 -1
  69. package/dist/orb/root/orb-root.js +3 -3
  70. package/dist/outline/root/outline-root.css.js +1 -1
  71. package/dist/pin-input/root/pin-input-root.css.js +0 -1
  72. package/dist/progress/root/progress-root.css.js +0 -1
  73. package/dist/qr-code/root/qr-code-root.css.js +1 -1
  74. package/dist/quote/root/quote-root.css.js +1 -2
  75. package/dist/radio/root/radio-root.css.js +5 -2
  76. package/dist/rating/root/rating-root.css.js +0 -1
  77. package/dist/scroll-area/root/scroll-area-root.css.js +0 -2
  78. package/dist/select/root/select-root.css.js +3 -57
  79. package/dist/select/root/select-root.js +9 -1
  80. package/dist/shared/chart/series.css.js +4 -1
  81. package/dist/shared/chart/tooltip.css.js +1 -96
  82. package/dist/shared/collection/state.css.js +11 -0
  83. package/dist/shared/field/field-frame.css.d.ts +1 -0
  84. package/dist/shared/field/field-frame.css.js +36 -0
  85. package/dist/shared/field/field.css.js +0 -6
  86. package/dist/shared/floating/entrance.css.d.ts +1 -0
  87. package/dist/shared/floating/entrance.css.js +39 -0
  88. package/dist/shared/floating/panel.css.d.ts +1 -0
  89. package/dist/shared/floating/panel.css.js +18 -0
  90. package/dist/shared/glyph/glyph.css.d.ts +1 -0
  91. package/dist/sparkline/root/sparkline-root.css.js +0 -1
  92. package/dist/speed-dial/root/speed-dial-root.js +1 -1
  93. package/dist/splitter/root/splitter-root.css.js +0 -2
  94. package/dist/stat/root/stat-root.css.js +1 -1
  95. package/dist/steps/root/steps-root.css.js +1 -1
  96. package/dist/switch/root/switch-root.css.js +0 -1
  97. package/dist/table/cell/table-cell.d.ts +4 -3
  98. package/dist/table/root/table-root.css.js +1 -13
  99. package/dist/table/root/table-root.js +2 -1
  100. package/dist/table/row/table-row.d.ts +4 -3
  101. package/dist/tabs/panel/tab-panel.d.ts +3 -3
  102. package/dist/tabs/root/tabs-root.css.js +0 -1
  103. package/dist/tabs/tab/tab.d.ts +4 -3
  104. package/dist/tag/root/tag-root.css.js +1 -1
  105. package/dist/text/root/text-root.css.js +1 -1
  106. package/dist/textarea/root/textarea-root.css.js +2 -36
  107. package/dist/textarea/root/textarea-root.js +7 -1
  108. package/dist/time-input/root/time-input-root.css.js +7 -82
  109. package/dist/time-input/root/time-input-root.js +12 -1
  110. package/dist/time-picker/root/time-picker-root.css.js +0 -1
  111. package/dist/timeline/root/timeline-root.css.js +1 -1
  112. package/dist/tooltip/root/tooltip-root.css.js +1 -0
  113. package/dist/tour/stop/tour-stop.css.js +7 -6
  114. package/dist/tree/root/tree-root.css.js +1 -12
  115. package/dist/tree/root/tree-root.js +2 -1
  116. package/dist/trend/root/trend-root.css.js +1 -1
  117. package/dist/trend/root/trend-root.js +1 -1
  118. package/dist/video/root/video-root.css.js +11 -8
  119. package/dist/video/root/video-root.js +1 -1
  120. package/dist/video-playlist/menu/video-playlist-menu.js +1 -1
  121. package/dist/virtual-list/root/virtual-list-root.css.js +0 -2
  122. package/package.json +9 -8
  123. package/types/jsx.d.ts +493 -405
  124. package/types/vue.d.ts +142 -129
  125. /package/dist/aura/{root/aura-axis.js → axis.js} +0 -0
  126. /package/dist/aura/{root/aura-shader.d.ts → shader.d.ts} +0 -0
  127. /package/dist/aura/{root/aura-shader.js → shader.js} +0 -0
  128. /package/dist/orb/{root/orb-color.d.ts → color.d.ts} +0 -0
  129. /package/dist/orb/{root/orb-color.js → color.js} +0 -0
  130. /package/dist/orb/{root/orb-shapes.d.ts → shapes.d.ts} +0 -0
  131. /package/dist/orb/{root/orb-shapes.js → shapes.js} +0 -0
  132. /package/dist/{icon/glyph.css.d.ts → shared/collection/state.css.d.ts} +0 -0
  133. /package/dist/{icon → shared/glyph}/glyph.css.js +0 -0
@@ -2,6 +2,10 @@ import { createSheet } from '@fusion.dev/helix-core';
2
2
  export const styles = createSheet(`:host {
3
3
 
4
4
  --_loader-size: var(--helix-size-loader-md);
5
+
6
+ --_loader-breathe: 2.4s;
7
+ --_loader-stroke: 2;
8
+ --_loader-turn: 0.8s;
5
9
  color: inherit;
6
10
 
7
11
  display: inline-grid;
@@ -19,21 +23,21 @@ vertical-align: middle;
19
23
  }
20
24
 
21
25
  [part="svg"] {
22
- animation: helix-loader-turn 0.8s linear infinite;
26
+ animation: helix-loader-turn var(--_loader-turn) linear infinite;
23
27
  grid-area: 1 / 1;
24
28
  block-size: var(--loader-size, var(--_loader-size));
25
29
  inline-size: var(--loader-size, var(--_loader-size));
26
30
  }
27
31
 
28
32
  [part="track"] {
29
- animation: helix-loader-breathe 2.4s ease-in-out infinite;
33
+ animation: helix-loader-breathe var(--_loader-breathe) ease-in-out infinite;
30
34
  opacity: 0.18;
31
35
  stroke: var(--loader-track-color, currentColor);
32
- stroke-width: 2;
36
+ stroke-width: var(--_loader-stroke);
33
37
  }
34
38
 
35
39
  [part="mark"] {
36
- animation: helix-loader-breathe-mark 2.4s ease-in-out infinite;
40
+ animation: helix-loader-breathe-mark var(--_loader-breathe) ease-in-out infinite;
37
41
  }
38
42
 
39
43
  @keyframes helix-loader-breathe {
@@ -64,7 +68,7 @@ scale: 1;
64
68
  stroke: var(--loader-color, currentColor);
65
69
  stroke-dasharray: 50, 100;
66
70
  stroke-linecap: round;
67
- stroke-width: 2;
71
+ stroke-width: var(--_loader-stroke);
68
72
  }
69
73
 
70
74
  @keyframes helix-loader-turn {
@@ -19,16 +19,11 @@ display: contents;
19
19
  max-block-size: var(--menu-max-block-size, var(--floating-available-block-size, none));
20
20
  overflow-y: auto;
21
21
 
22
- background-color: var(--menu-background-color, var(--helix-color-surface-overlay));
22
+ --_floating-background-color: var(--menu-background-color, var(--helix-color-surface-overlay));
23
+ --_floating-border-color: var(--menu-border-color, var(--helix-color-border));
24
+ --_floating-border-width: var(--menu-border-width, var(--helix-border-floating));
25
+ --_floating-shadow: var(--menu-shadow, var(--helix-shadow-floating));
23
26
 
24
- border: var(--menu-border-width, var(--helix-border-floating)) solid
25
- var(--menu-border-color, var(--helix-color-border));
26
-
27
- border-radius: var(--helix-radii-sm);
28
- box-shadow: var(--menu-shadow, var(--helix-shadow-floating));
29
-
30
- inset: auto;
31
- margin: var(--helix-space-none);
32
27
  min-inline-size: var(--menu-min-inline-size, 12rem);
33
28
 
34
29
  padding-block: var(--helix-space-xs);
@@ -43,41 +38,6 @@ padding-inline: var(--helix-space-none);
43
38
  --menu-item-end: calc(var(--helix-size-icon) + var(--helix-space-xs));
44
39
  }
45
40
 
46
- [part="surface"][hidden] {
47
- display: none;
48
- }
49
-
50
- [part="surface"] {
51
- --_travel: calc(var(--helix-space-2xs) * -1);
52
- opacity: 0;
53
- transform: translateY(var(--_travel));
54
- scale: 0.96;
55
- transition:
56
- opacity var(--helix-duration-fast) var(--helix-easing-standard),
57
- scale var(--helix-duration-fast) var(--helix-easing-emphasized),
58
- transform var(--helix-duration-fast) var(--helix-easing-emphasized),
59
- display var(--helix-duration-fast) allow-discrete,
60
- overlay var(--helix-duration-fast) allow-discrete;
61
- }
62
-
63
- [part="surface"][data-placement^="top"] {
64
- --_travel: var(--helix-space-2xs);
65
- }
66
-
67
- [part="surface"][data-placed] {
68
- opacity: 1;
69
- scale: 1;
70
- transform: none;
71
- }
72
-
73
- [part="surface"][data-placement^="top"] {
74
- transform-origin: var(--floating-arrow-x, 50%) 100%;
75
- }
76
-
77
- [part="surface"][data-placement^="bottom"] {
78
- transform-origin: var(--floating-arrow-x, 50%) 0;
79
- }
80
-
81
41
  [part="surface"][data-placement^="left"] {
82
42
  transform-origin: 100% var(--floating-arrow-y, 50%);
83
43
  }
@@ -86,15 +46,6 @@ transform-origin: 100% var(--floating-arrow-y, 50%);
86
46
  transform-origin: 0 var(--floating-arrow-y, 50%);
87
47
  }
88
48
 
89
- @media (prefers-reduced-motion: reduce) {
90
- [part="surface"],
91
- [part="surface"][data-placed] {
92
- scale: 1;
93
- transform: none;
94
- transition: none;
95
- }
96
- }
97
-
98
49
  [part="header"] {
99
50
  align-items: center;
100
51
  border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
@@ -153,17 +104,6 @@ display: none;
153
104
  scale: -1 1;
154
105
  }
155
106
 
156
- [part="empty"],
157
- [part="loading"] {
158
- color: var(--helix-color-foreground-subtle);
159
- font-family: var(--helix-font-sans);
160
- font-size: var(--helix-text-sm);
161
- margin: var(--helix-space-none);
162
- padding-block: var(--helix-space-md);
163
- padding-inline: var(--helix-space-sm);
164
- text-align: center;
165
- }
166
-
167
107
  :host([loading]) [part="surface"] {
168
108
  opacity: 0.5;
169
109
  }
@@ -6,9 +6,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessMenu } from '@fusion.dev/helix-headless/menu';
9
+ import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
10
+ import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
11
+ import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
9
12
  import { styles } from './menu-root.css.js';
10
13
  let HelixMenu = class HelixMenu extends HelixHeadlessMenu {
11
- static { this.styles = styles; }
14
+ static { this.styles = [
15
+ collectionStateStyles,
16
+ floatingPanelStyles,
17
+ floatingEntranceStyles,
18
+ styles,
19
+ ]; }
12
20
  };
13
21
  HelixMenu = __decorate([
14
22
  customElement('helix-menu')
@@ -174,7 +174,6 @@ grid-area: 1 / 1;
174
174
 
175
175
  @media print {
176
176
  :host {
177
- box-shadow: none;
178
177
  print-color-adjust: exact;
179
178
  }
180
179
  }
@@ -35,6 +35,7 @@ text-align: center;
35
35
  [part="trigger"] {
36
36
  all: unset;
37
37
  align-items: center;
38
+ box-sizing: border-box;
38
39
  border-radius: var(--helix-radii-sm);
39
40
  cursor: pointer;
40
41
  display: inline-flex;
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessNotification } from '@fusion.dev/helix-headless/notifications';
9
9
  import { property } from 'lit/decorators.js';
10
- import { styles as glyphStyles } from '../../icon/glyph.css.js';
10
+ import { styles as glyphStyles } from '../../shared/glyph/glyph.css.js';
11
11
  import { styles } from './notification.css.js';
12
12
  import '../../format-date/index.js';
13
13
  let HelixNotification = class HelixNotification extends HelixHeadlessNotification {
@@ -78,13 +78,8 @@ outline-offset: var(--helix-size-focus-offset);
78
78
 
79
79
  [part="empty"],
80
80
  [part="loading"] {
81
- color: var(--helix-color-foreground-subtle);
82
- font-family: var(--helix-font-sans);
83
- font-size: var(--helix-text-sm);
84
- margin: var(--helix-space-none);
85
- padding-block: var(--helix-space-lg);
86
- padding-inline: var(--helix-space-md);
87
- text-align: center;
81
+ --_collection-inset-block: var(--helix-space-lg);
82
+ --_collection-inset-inline: var(--helix-space-md);
88
83
  }
89
84
 
90
85
  @media print {
@@ -6,11 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessNotifications } from '@fusion.dev/helix-headless/notifications';
9
+ import { styles as collectionStateStyles } from '../../shared/collection/state.css.js';
9
10
  import { styles } from './notifications-root.css.js';
10
11
  import '../notification/notification.js';
11
12
  let HelixNotifications = class HelixNotifications extends HelixHeadlessNotifications {
12
13
  static { this.tier = 'helix-'; }
13
- static { this.styles = styles; }
14
+ static { this.styles = [collectionStateStyles, styles]; }
14
15
  };
15
16
  HelixNotifications = __decorate([
16
17
  customElement('helix-notifications')
@@ -1,13 +1,7 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: flex;
4
- flex-direction: column;
5
- gap: var(--helix-space-2xs);
6
- }
7
-
8
- [part="field"] {
2
+ export const styles = createSheet(`[part="field"] {
9
3
  align-items: center;
10
- background-color: var(--helix-color-well);
4
+ background-color: var(--number-input-background-color, var(--helix-color-well));
11
5
  block-size: var(--helix-size-control);
12
6
  border: var(--helix-border-thin) solid var(--helix-color-border);
13
7
  border-radius: var(--helix-radii-sm);
@@ -18,27 +12,6 @@ overflow: hidden;
18
12
  transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);
19
13
  }
20
14
 
21
- :host(:not(:disabled)) [part="field"]:hover {
22
- border-color: var(--helix-color-foreground-muted);
23
- }
24
-
25
- :host(:not(:disabled)) [part="field"]:focus-within {
26
- border-color: var(--helix-color-primary);
27
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
28
- outline-offset: 0;
29
- }
30
-
31
- :host(:state(invalid)) [part="field"],
32
- :host(:state(invalid)) [part="field"]:hover,
33
- :host(:state(invalid):focus-within) [part="field"],
34
- :host(:state(invalid):focus-within) [part="field"]:hover {
35
- border-color: var(--helix-color-danger);
36
- }
37
-
38
- :host(:state(invalid):focus-within) [part="field"] {
39
- outline-color: var(--helix-color-danger);
40
- }
41
-
42
15
  :host(:disabled) [part="field"] {
43
16
  cursor: not-allowed;
44
17
  opacity: 0.5;
@@ -49,16 +22,6 @@ background-color: transparent;
49
22
  }
50
23
 
51
24
  [part="control"] {
52
- all: unset;
53
-
54
- box-sizing: border-box;
55
- color: var(--helix-color-foreground);
56
- font-family: var(--helix-font-sans);
57
- font-size: var(--helix-text-sm);
58
- font-weight: var(--helix-weight-medium);
59
- inline-size: 100%;
60
- min-inline-size: 0;
61
-
62
25
  font-variant-numeric: tabular-nums;
63
26
  padding-inline: var(--helix-space-xs);
64
27
  text-align: center;
@@ -134,7 +97,6 @@ cursor: default;
134
97
 
135
98
  @media print {
136
99
  :host {
137
- box-shadow: none;
138
100
  print-color-adjust: exact;
139
101
  }
140
102
  }`);
@@ -30,6 +30,8 @@ import type { CSSResultGroup } from 'lit';
30
30
  * @csspart decrement - The control that steps down.
31
31
  * @csspart field - The box holding everything.
32
32
  * @csspart increment - The control that steps up.
33
+ *
34
+ * @cssproperty --number-input-background-color - Fill behind the number.
33
35
  */
34
36
  export declare class HelixNumberInput extends HelixHeadlessNumberInput {
35
37
  static styles: CSSResultGroup;
@@ -7,10 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement } from '@fusion.dev/helix-core';
8
8
  import { HelixHeadlessNumberInput } from '@fusion.dev/helix-headless/number-input';
9
9
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
10
+ import { styles as fieldFrameStyles } from '../../shared/field/field-frame.css.js';
10
11
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
11
12
  import { styles } from './number-input-root.css.js';
12
13
  let HelixNumberInput = class HelixNumberInput extends HelixHeadlessNumberInput {
13
- static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
14
+ static { this.styles = [
15
+ fieldStyles,
16
+ fieldFrameStyles,
17
+ fieldStackedStyles,
18
+ styles,
19
+ ]; }
14
20
  };
15
21
  HelixNumberInput = __decorate([
16
22
  customElement('helix-number-input')
@@ -86,7 +86,6 @@ opacity: 0.5;
86
86
 
87
87
  @media print {
88
88
  :host {
89
- box-shadow: none;
90
89
  print-color-adjust: exact;
91
90
  }
92
91
  }`);
@@ -1,2 +1,2 @@
1
1
  export * from './root/orb-root.js';
2
- export * from './root/orb-shapes.js';
2
+ export * from './shapes.js';
package/dist/orb/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './root/orb-root.js';
2
- export * from './root/orb-shapes.js';
2
+ export * from './shapes.js';
@@ -1,6 +1,6 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
3
- import { type OrbState } from './orb-shapes.js';
3
+ import { type OrbState } from '../shapes.js';
4
4
  /**
5
5
  * @summary Says what an agent is doing, as a shape rather than a word.
6
6
  *
@@ -37,6 +37,10 @@ import { type OrbState } from './orb-shapes.js';
37
37
  * **It stops when nobody is looking**, off screen and in a background tab, and
38
38
  * `prefers-reduced-motion` gets one still frame rather than an empty box.
39
39
  *
40
+ * Styled only, and with behavior, which the tier split does not otherwise
41
+ * allow: the behavior is drawing dots to a canvas, so there is no structure a
42
+ * consumer could restyle and nothing for a headless twin to hold.
43
+ *
40
44
  * @since 0.8.0
41
45
  * @status experimental
42
46
  * @category feedback
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement, HelixElement, hostAria } from '@fusion.dev/helix-core';
8
8
  import { html } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
- import { readColor } from './orb-color.js';
10
+ import { readColor } from '../color.js';
11
+ import { blendStaged, evenSphere, fibonacci, meshFor, ORB_STATES, orbPoint, paramsFor, project, smoother, stateDistance, TRAIL, } from '../shapes.js';
11
12
  import { styles } from './orb-root.css.js';
12
- import { blendStaged, evenSphere, fibonacci, meshFor, ORB_STATES, orbPoint, paramsFor, project, smoother, stateDistance, TRAIL, } from './orb-shapes.js';
13
13
  const MORPH_NEAR = 380;
14
14
  const MORPH_REACH = 580;
15
15
  const LIGHT_Y = 0.36;
@@ -68,7 +68,7 @@ let HelixOrb = class HelixOrb extends HelixElement {
68
68
  }
69
69
  };
70
70
  }
71
- static { this.styles = [styles]; }
71
+ static { this.styles = styles; }
72
72
  willUpdate(changed) {
73
73
  super.willUpdate(changed);
74
74
  const state = ORB_STATES.includes(this.state)
@@ -125,6 +125,6 @@ var(--outline-indent, var(--helix-space-sm))
125
125
 
126
126
  @media print {
127
127
  :host {
128
- box-shadow: none;
128
+ print-color-adjust: economy;
129
129
  }
130
130
  }`);
@@ -61,7 +61,6 @@ color: var(--helix-color-foreground-subtle);
61
61
 
62
62
  @media print {
63
63
  :host {
64
- box-shadow: none;
65
64
  print-color-adjust: exact;
66
65
  }
67
66
  }`);
@@ -196,7 +196,6 @@ stroke-dasharray: 25 100;
196
196
 
197
197
  @media print {
198
198
  :host {
199
- box-shadow: none;
200
199
  print-color-adjust: exact;
201
200
  }
202
201
  }
@@ -52,6 +52,6 @@ display: none;
52
52
 
53
53
  @media print {
54
54
  :host {
55
- box-shadow: none;
55
+ print-color-adjust: economy;
56
56
  }
57
57
  }`);
@@ -13,7 +13,6 @@ font-style: italic;
13
13
 
14
14
  @media print {
15
15
  :host {
16
- background-color: transparent;
17
- box-shadow: none;
16
+ print-color-adjust: economy;
18
17
  }
19
18
  }`);
@@ -123,6 +123,9 @@ display: none;
123
123
  }
124
124
 
125
125
  :host([variant="chip"]) [part="item"] {
126
+
127
+ --_radio-chip-lift: 2px;
128
+
126
129
  align-items: center;
127
130
  background-color: var(--helix-color-surface-sunken);
128
131
  block-size: var(--radio-chip-size, var(--helix-size-control));
@@ -143,11 +146,11 @@ translate var(--helix-duration-fast) var(--helix-easing-standard);
143
146
  background-color: var(--helix-color-surface-inverse);
144
147
  box-shadow: var(--helix-shadow-md);
145
148
  color: var(--helix-color-foreground-inverse);
146
- translate: 0 -2px;
149
+ translate: 0 calc(var(--_radio-chip-lift) * -1);
147
150
  }
148
151
 
149
152
  :host(:not([disabled])[variant="chip"]) [part="item"]:hover {
150
- translate: 0 -1px;
153
+ translate: 0 calc(var(--_radio-chip-lift) / -2);
151
154
  }
152
155
 
153
156
  :host([variant="chip"]) [part="item"]:focus-visible {
@@ -115,7 +115,6 @@ mask-image: none;
115
115
 
116
116
  @media print {
117
117
  :host {
118
- box-shadow: none;
119
118
  print-color-adjust: exact;
120
119
  }
121
120
  }`);
@@ -110,8 +110,6 @@ transition: none;
110
110
 
111
111
  @media print {
112
112
  :host {
113
- box-shadow: none;
114
- max-block-size: none;
115
113
  overflow: visible;
116
114
  }
117
115
  }`);
@@ -76,66 +76,18 @@ white-space: nowrap;
76
76
  }
77
77
 
78
78
  [part="surface"] {
79
+ --_floating-border-color: var(--select-border-color, var(--helix-color-border));
80
+ --_floating-border-width: var(--select-border-width, var(--helix-border-floating));
81
+ --_floating-shadow: var(--select-shadow, var(--helix-shadow-floating));
79
82
 
80
83
  --option-radius: var(--helix-radii-none);
81
84
 
82
- background-color: var(--helix-color-surface-overlay);
83
- border-radius: var(--helix-radii-sm);
84
- box-shadow: var(--select-shadow, var(--helix-shadow-floating));
85
-
86
85
  inline-size: var(--floating-anchor-inline-size, 100%);
87
86
  min-inline-size: max-content;
88
87
 
89
88
  max-block-size: var(--floating-available-block-size, none);
90
89
  padding-block: var(--helix-space-xs);
91
90
  padding-inline: var(--helix-space-none);
92
-
93
- border: var(--select-border-width, var(--helix-border-floating)) solid
94
- var(--select-border-color, var(--helix-color-border));
95
- inset: auto;
96
- margin: var(--helix-space-none);
97
- }
98
-
99
- [part="surface"] {
100
- --_travel: calc(var(--helix-space-2xs) * -1);
101
- opacity: 0;
102
- transform: translateY(var(--_travel));
103
-
104
- scale: 0.96;
105
-
106
- transition:
107
- opacity var(--helix-duration-fast) var(--helix-easing-standard),
108
- scale var(--helix-duration-fast) var(--helix-easing-emphasized),
109
- transform var(--helix-duration-fast) var(--helix-easing-emphasized),
110
- display var(--helix-duration-fast) allow-discrete,
111
- overlay var(--helix-duration-fast) allow-discrete;
112
- }
113
-
114
- [part="surface"][data-placement^="top"] {
115
- --_travel: var(--helix-space-2xs);
116
- }
117
-
118
- [part="surface"][data-placed] {
119
- opacity: 1;
120
- scale: 1;
121
- transform: none;
122
- }
123
-
124
- [part="surface"][data-placement^="top"] {
125
- transform-origin: var(--floating-arrow-x, 50%) 100%;
126
- }
127
-
128
- [part="surface"][data-placement^="bottom"] {
129
- transform-origin: var(--floating-arrow-x, 50%) 0;
130
- }
131
-
132
- @media (prefers-reduced-motion: reduce) {
133
- [part="surface"],
134
- [part="surface"][data-placed] {
135
- scale: 1;
136
- transform: none;
137
- transition: none;
138
- }
139
91
  }
140
92
 
141
93
  [part="indicator"],
@@ -148,11 +100,6 @@ transition: scale var(--helix-duration-fast) var(--helix-easing-standard);
148
100
  scale: 1 -1;
149
101
  }
150
102
 
151
- [part="surface"][hidden],
152
- [part="surface"]:not(:popover-open) {
153
- display: none;
154
- }
155
-
156
103
  [part="listbox"]::part(items) {
157
104
  background-color: transparent;
158
105
  border: none;
@@ -174,7 +121,6 @@ inline-size: var(--helix-size-icon-tight);
174
121
 
175
122
  @media print {
176
123
  :host {
177
- box-shadow: none;
178
124
  print-color-adjust: exact;
179
125
  }
180
126
  }`);
@@ -9,12 +9,20 @@ import { HelixHeadlessSelect } from '@fusion.dev/helix-headless/select';
9
9
  import { property } from 'lit/decorators.js';
10
10
  import { styles as fieldStyles } from '../../shared/field/field.css.js';
11
11
  import { styles as fieldStackedStyles } from '../../shared/field/field-stacked.css.js';
12
+ import { styles as floatingEntranceStyles } from '../../shared/floating/entrance.css.js';
13
+ import { styles as floatingPanelStyles } from '../../shared/floating/panel.css.js';
12
14
  import { styles } from './select-root.css.js';
13
15
  import '../../listbox/index.js';
14
16
  import '../../option/index.js';
15
17
  let HelixSelect = class HelixSelect extends HelixHeadlessSelect {
16
18
  static { this.tier = 'helix-'; }
17
- static { this.styles = [fieldStyles, fieldStackedStyles, styles]; }
19
+ static { this.styles = [
20
+ fieldStyles,
21
+ fieldStackedStyles,
22
+ floatingPanelStyles,
23
+ floatingEntranceStyles,
24
+ styles,
25
+ ]; }
18
26
  };
19
27
  __decorate([
20
28
  property({ reflect: true })
@@ -26,9 +26,12 @@ export const styles = createSheet(`:host {
26
26
  --chart-series-24: var(--helix-color-series-24);
27
27
  }
28
28
 
29
+ :host {
30
+ --_chart-stroke: var(--chart-stroke, 2px);
31
+ }
32
+
29
33
  @media print {
30
34
  :host {
31
- box-shadow: none;
32
35
  print-color-adjust: exact;
33
36
  }
34
37
  }`);