@fusion.dev/helix 0.146.0 → 0.147.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 (243) hide show
  1. package/custom-elements.json +5556 -539
  2. package/dist/accordion/item/accordion-item.css.js +4 -96
  3. package/dist/accordion/root/accordion-root.css.js +2 -28
  4. package/dist/announcement/root/announcement-root.css.js +10 -154
  5. package/dist/announcement/root/announcement-root.d.ts +3 -0
  6. package/dist/app-header/root/app-header-root.css.js +2 -118
  7. package/dist/area-chart/root/area-chart-root.css.js +4 -94
  8. package/dist/area-chart/root/area-chart-root.d.ts +1 -0
  9. package/dist/aura/root/aura-root.css.js +2 -57
  10. package/dist/avatar/group/avatar-group.css.js +5 -36
  11. package/dist/avatar/group/avatar-group.d.ts +3 -0
  12. package/dist/avatar/root/avatar-root.css.js +1 -53
  13. package/dist/avatar/root/avatar-root.d.ts +2 -0
  14. package/dist/badge/root/badge-root.css.js +12 -207
  15. package/dist/badge/root/badge-root.d.ts +2 -0
  16. package/dist/bar-chart/root/bar-chart-root.css.js +8 -292
  17. package/dist/blockquote/root/blockquote-root.css.js +1 -43
  18. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +13 -98
  19. package/dist/breadcrumbs/root/breadcrumbs-root.css.js +5 -42
  20. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +17 -0
  21. package/dist/breadcrumbs/root/breadcrumbs-root.js +4 -0
  22. package/dist/button/root/button-root.css.js +16 -197
  23. package/dist/button/root/button-root.d.ts +1 -0
  24. package/dist/button-group/root/button-group-root.css.js +2 -52
  25. package/dist/callout/root/callout-root.css.js +5 -138
  26. package/dist/callout/root/callout-root.d.ts +4 -2
  27. package/dist/canvas/node/canvas-node.css.js +10 -367
  28. package/dist/canvas/root/canvas-root.css.js +7 -270
  29. package/dist/card/root/card-root.css.js +5 -134
  30. package/dist/carousel/root/carousel-root.css.js +20 -386
  31. package/dist/chat/composer/chat-composer.css.js +4 -105
  32. package/dist/chat/message/chat-message.css.js +5 -239
  33. package/dist/chat/message/chat-message.d.ts +5 -0
  34. package/dist/chat/root/chat-root.css.js +5 -162
  35. package/dist/chat/typing.css.js +9 -46
  36. package/dist/checkbox/root/checkbox-root.css.js +12 -177
  37. package/dist/checkbox-group/root/checkbox-group-root.css.js +1 -27
  38. package/dist/code/root/code-root.css.js +3 -25
  39. package/dist/code-block/root/code-block-root.css.js +9 -274
  40. package/dist/color-input/root/color-input-root.css.js +5 -114
  41. package/dist/color-picker/root/color-picker-root.css.js +39 -337
  42. package/dist/color-picker/root/color-picker-root.d.ts +2 -0
  43. package/dist/combobox/root/combobox-root.css.js +8 -147
  44. package/dist/command/root/command-root.css.js +3 -74
  45. package/dist/copy-button/root/copy-button-root.css.js +3 -43
  46. package/dist/data-table/root/data-table-root.css.js +21 -245
  47. package/dist/data-table/root/data-table-root.d.ts +7 -0
  48. package/dist/date-input/root/date-input-root.css.js +8 -103
  49. package/dist/date-picker/root/date-picker-root.css.js +16 -278
  50. package/dist/date-picker/root/date-picker-root.d.ts +1 -0
  51. package/dist/description-list/item/description-list-item.css.js +1 -41
  52. package/dist/description-list/item/description-list-item.d.ts +7 -0
  53. package/dist/description-list/root/description-list-root.css.js +1 -34
  54. package/dist/description-list/root/description-list-root.d.ts +1 -0
  55. package/dist/dialog/root/dialog-root.css.js +7 -221
  56. package/dist/dialog/root/dialog-root.d.ts +3 -0
  57. package/dist/divider/root/divider-root.css.js +6 -81
  58. package/dist/donut-chart/root/donut-chart-root.css.js +7 -193
  59. package/dist/drawer/root/drawer-root.css.js +11 -237
  60. package/dist/drilldown/item/drilldown-item.css.js +4 -51
  61. package/dist/drilldown/item/drilldown-item.d.ts +1 -0
  62. package/dist/drilldown/root/drilldown-root.css.js +6 -120
  63. package/dist/element-events.generated.js +4 -1
  64. package/dist/empty/root/empty-root.css.js +2 -42
  65. package/dist/file-input/root/file-input-root.css.js +7 -173
  66. package/dist/file-input/root/file-input-root.d.ts +4 -0
  67. package/dist/filter-input/chip/filter-chip.css.js +2 -84
  68. package/dist/filter-input/field/filter-field.css.js +1 -3
  69. package/dist/filter-input/menu/filter-menu.css.js +1 -3
  70. package/dist/filter-input/operator/filter-operator.css.js +1 -3
  71. package/dist/filter-input/root/filter-input-root.css.js +6 -113
  72. package/dist/flex/root/flex-root.css.js +4 -207
  73. package/dist/flex/root/flex-root.d.ts +2 -2
  74. package/dist/format-date/root/format-date-root.css.js +1 -13
  75. package/dist/graph/root/graph-root.css.js +9 -444
  76. package/dist/grid/root/grid-root.css.js +1 -171
  77. package/dist/heatmap/root/heatmap-root.css.js +8 -156
  78. package/dist/heatmap/root/heatmap-root.d.ts +2 -0
  79. package/dist/icon/index.d.ts +1 -1
  80. package/dist/icon/root/icon-root.css.js +1 -18
  81. package/dist/icon/root/index.d.ts +1 -1
  82. package/dist/icon-button/root/icon-button-root.css.js +25 -203
  83. package/dist/icon-button/root/icon-button-root.d.ts +1 -0
  84. package/dist/image/root/image-root.css.js +7 -65
  85. package/dist/image/root/image-root.d.ts +3 -0
  86. package/dist/input/root/input-root.css.js +6 -79
  87. package/dist/kbd/root/kbd-root.css.js +2 -71
  88. package/dist/kbd/root/kbd-root.d.ts +7 -0
  89. package/dist/legend/root/legend-root.css.js +9 -106
  90. package/dist/legend/root/legend-root.d.ts +2 -0
  91. package/dist/lightbox/item/lightbox-item.css.js +1 -37
  92. package/dist/lightbox/root/lightbox-root.css.js +38 -183
  93. package/dist/line-chart/root/line-chart-root.css.js +4 -170
  94. package/dist/line-chart/root/line-chart-root.d.ts +1 -0
  95. package/dist/list/item/list-item.css.js +2 -94
  96. package/dist/list/root/list-root.css.js +4 -88
  97. package/dist/listbox/root/listbox-root.css.js +4 -111
  98. package/dist/loader/root/loader-root.css.js +5 -171
  99. package/dist/map/area/map-area.css.js +1 -23
  100. package/dist/map/buildings/map-buildings.css.js +1 -26
  101. package/dist/map/contours/map-contours.css.js +2 -5
  102. package/dist/map/landcover/map-landcover.css.js +1 -4
  103. package/dist/map/marker/map-marker.css.js +14 -327
  104. package/dist/map/points/map-points.css.js +1 -86
  105. package/dist/map/position/map-position.css.js +8 -227
  106. package/dist/map/raster/map-raster.css.js +1 -3
  107. package/dist/map/root/map-root.css.js +10 -352
  108. package/dist/map/route/map-route.css.js +1 -24
  109. package/dist/map/terrain/map-terrain.css.js +3 -7
  110. package/dist/megamenu/root/megamenu-root.css.js +11 -162
  111. package/dist/megamenu/root/megamenu-root.d.ts +8 -0
  112. package/dist/menu/item/menu-item.css.js +7 -130
  113. package/dist/menu/root/menu-root.css.js +1 -110
  114. package/dist/menu/section/menu-section.css.js +1 -13
  115. package/dist/meter/root/meter-root.css.js +17 -207
  116. package/dist/meter/root/meter-root.d.ts +3 -0
  117. package/dist/navigation/root/navigation-root.css.js +2 -54
  118. package/dist/notifications/group/notification-group.css.js +1 -61
  119. package/dist/notifications/notification/notification.css.js +17 -264
  120. package/dist/notifications/root/notifications-root.css.js +7 -125
  121. package/dist/notifications/root/notifications-root.d.ts +3 -1
  122. package/dist/number-input/root/number-input-root.css.js +10 -103
  123. package/dist/object-inspector/root/object-inspector-root.css.js +11 -162
  124. package/dist/option/group/option-group.css.js +1 -22
  125. package/dist/option/index.d.ts +1 -0
  126. package/dist/option/index.js +1 -0
  127. package/dist/option/root/option-root.css.js +3 -85
  128. package/dist/option/separator/option-separator.css.d.ts +1 -0
  129. package/dist/option/separator/option-separator.css.js +3 -0
  130. package/dist/option/separator/option-separator.d.ts +26 -0
  131. package/dist/option/separator/option-separator.js +16 -0
  132. package/dist/orb/root/orb-root.css.js +1 -41
  133. package/dist/outline/root/outline-root.css.js +24 -122
  134. package/dist/outline/root/outline-root.d.ts +17 -4
  135. package/dist/pagination/root/pagination-root.css.js +9 -105
  136. package/dist/pagination/size/pagination-size.css.js +1 -22
  137. package/dist/pagination/summary/pagination-summary.css.js +1 -7
  138. package/dist/pin-input/root/pin-input-root.css.js +2 -73
  139. package/dist/pin-input/root/pin-input-root.d.ts +9 -3
  140. package/dist/popover/root/popover-root.css.js +6 -127
  141. package/dist/progress/root/progress-root.css.js +7 -230
  142. package/dist/progress/root/progress-root.d.ts +4 -0
  143. package/dist/qr-code/root/qr-code-root.css.js +1 -68
  144. package/dist/quote/root/quote-root.css.js +1 -20
  145. package/dist/radio/group/radio-group.css.js +1 -21
  146. package/dist/radio/root/radio-root.css.js +5 -208
  147. package/dist/rating/root/rating-root.css.js +4 -117
  148. package/dist/sandbox/frame.d.ts +2 -1
  149. package/dist/sandbox/frame.js +1 -1
  150. package/dist/sandbox/index.d.ts +1 -1
  151. package/dist/sandbox/preview/sandbox-preview.css.js +1 -12
  152. package/dist/sandbox/preview/sandbox-preview.d.ts +19 -3
  153. package/dist/sandbox/preview/sandbox-preview.js +17 -11
  154. package/dist/sandbox/root/sandbox-root.css.js +3 -70
  155. package/dist/sandbox/root/sandbox-root.d.ts +16 -4
  156. package/dist/sandbox/root/sandbox-root.js +29 -50
  157. package/dist/sandbox/source/sandbox-source.css.js +3 -95
  158. package/dist/sandbox/source/sandbox-source.d.ts +31 -25
  159. package/dist/sandbox/source/sandbox-source.js +12 -5
  160. package/dist/sandbox/status-bar/sandbox-status-bar.css.js +1 -21
  161. package/dist/sandbox/terminal/sandbox-terminal.css.js +5 -106
  162. package/dist/sandbox/terminal/sandbox-terminal.d.ts +4 -0
  163. package/dist/sandbox/terminal/sandbox-terminal.js +2 -1
  164. package/dist/sandbox/tokens.d.ts +2 -2
  165. package/dist/sandbox/toolbar/sandbox-toolbar.css.js +1 -36
  166. package/dist/scatter-chart/root/scatter-chart-root.css.js +11 -146
  167. package/dist/scatter-chart/root/scatter-chart-root.d.ts +1 -0
  168. package/dist/scroll-area/root/scroll-area-root.css.js +14 -181
  169. package/dist/select/root/select-root.css.js +4 -124
  170. package/dist/shared/chart/series.css.js +1 -36
  171. package/dist/shared/chart/terminus.css.js +1 -47
  172. package/dist/shared/chart/tooltip.css.js +1 -68
  173. package/dist/shared/collection/state.css.js +1 -9
  174. package/dist/shared/field/field-frame.css.js +3 -33
  175. package/dist/shared/field/field-inline.css.js +1 -4
  176. package/dist/shared/field/field-segments.css.js +1 -39
  177. package/dist/shared/field/field-stacked.css.js +1 -5
  178. package/dist/shared/field/field.css.js +3 -57
  179. package/dist/shared/floating/entrance.css.js +3 -34
  180. package/dist/shared/floating/panel.css.js +2 -17
  181. package/dist/shared/glyph/glyph.css.js +1 -5
  182. package/dist/shared/live/live.css.js +1 -8
  183. package/dist/shared/tags/tags.css.js +1 -39
  184. package/dist/shared/viewport/viewport.css.js +8 -135
  185. package/dist/skeleton/root/skeleton-root.css.js +12 -120
  186. package/dist/skip-link/root/skip-link-root.css.js +2 -47
  187. package/dist/slider/root/slider-root.css.js +19 -330
  188. package/dist/slider/root/slider-root.d.ts +2 -0
  189. package/dist/sparkline/root/sparkline-root.css.js +8 -143
  190. package/dist/sparkline/root/sparkline-root.d.ts +2 -0
  191. package/dist/speed-dial/item/speed-dial-item.css.js +4 -73
  192. package/dist/speed-dial/root/speed-dial-root.css.js +3 -149
  193. package/dist/splitter/root/splitter-root.css.js +11 -176
  194. package/dist/stat/group/stat-group.css.js +1 -36
  195. package/dist/stat/root/stat-root.css.js +3 -62
  196. package/dist/steps/root/steps-root.css.js +7 -92
  197. package/dist/steps/step/step.css.js +5 -156
  198. package/dist/switch/root/switch-root.css.js +2 -110
  199. package/dist/table/cell/table-cell.css.js +1 -33
  200. package/dist/table/column/table-column.css.js +7 -105
  201. package/dist/table/root/table-root.css.js +1 -43
  202. package/dist/table/row/table-row.css.js +6 -18
  203. package/dist/table/row/table-row.d.ts +2 -0
  204. package/dist/tabs/panel/tab-panel.css.js +2 -17
  205. package/dist/tabs/root/tabs-root.css.js +6 -177
  206. package/dist/tabs/tab/tab.css.js +6 -54
  207. package/dist/tag/group/tag-group.css.js +1 -11
  208. package/dist/tag/root/tag-root.css.js +1 -166
  209. package/dist/tag/root/tag-root.d.ts +2 -0
  210. package/dist/text/root/text-root.css.js +11 -200
  211. package/dist/textarea/root/textarea-root.css.js +3 -71
  212. package/dist/time-input/root/time-input-root.css.js +7 -118
  213. package/dist/time-picker/root/time-picker-root.css.js +10 -134
  214. package/dist/time-picker/root/time-picker-root.d.ts +1 -0
  215. package/dist/timeline/group/timeline-group.css.js +1 -31
  216. package/dist/timeline/item/timeline-item.css.js +3 -134
  217. package/dist/timeline/root/timeline-root.css.js +1 -66
  218. package/dist/toast/item/toast-item.css.js +8 -250
  219. package/dist/toast/root/toast-root.css.js +1 -85
  220. package/dist/toast/root/toast-root.js +2 -1
  221. package/dist/toggle/group/toggle-group.css.js +7 -126
  222. package/dist/toggle/root/toggle-root.css.js +1 -23
  223. package/dist/toolbar/root/toolbar-root.css.js +1 -36
  224. package/dist/toolbar/root/toolbar-root.d.ts +2 -0
  225. package/dist/tooltip/root/tooltip-root.css.js +5 -101
  226. package/dist/tooltip/root/tooltip-root.d.ts +2 -0
  227. package/dist/tour/root/tour-root.css.js +2 -28
  228. package/dist/tour/stop/tour-stop.css.js +2 -109
  229. package/dist/tree/item/tree-item.css.js +12 -238
  230. package/dist/tree/root/tree-root.css.js +1 -40
  231. package/dist/trend/root/trend-root.css.js +5 -53
  232. package/dist/video/root/video-root.css.js +16 -398
  233. package/dist/video-playlist/item/video-playlist-item.css.js +12 -86
  234. package/dist/video-playlist/item/video-playlist-item.d.ts +12 -0
  235. package/dist/video-playlist/menu/video-playlist-menu.css.js +1 -41
  236. package/dist/video-playlist/root/video-playlist-root.css.js +1 -19
  237. package/dist/video-playlist/root/video-playlist-root.d.ts +2 -0
  238. package/dist/virtual-list/root/virtual-list-root.css.js +3 -40
  239. package/lint.json +1 -1
  240. package/package.json +6 -6
  241. package/types/jsx.d.ts +2804 -619
  242. package/types/svelte.d.ts +1 -0
  243. package/types/vue.d.ts +810 -169
@@ -1,169 +1,21 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
-
4
- --_heatmap-cell-width: var(--heatmap-cell-inline-size, var(--heatmap-cell-size, 0.75rem));
5
- --_heatmap-cell-height: var(--heatmap-cell-height, var(--heatmap-cell-size, 0.75rem));
6
-
7
- --heatmap-tone-accent: var(--helix-color-accent);
8
- --heatmap-tone-danger: var(--helix-color-danger);
9
- --heatmap-tone-info: var(--helix-color-info);
10
- --heatmap-tone-muted: var(--helix-color-surface-sunken);
11
- --heatmap-tone-primary: var(--helix-color-primary);
12
- --heatmap-tone-success: var(--helix-color-success);
13
- --heatmap-tone-warning: var(--helix-color-warning);
14
-
15
- --heatmap-tone-1: color-mix(
2
+ export const styles = createSheet(`:host {--_heatmap-cell-width: var(--heatmap-cell-inline-size, var(--heatmap-cell-size, 0.75rem));--_heatmap-cell-height: var(--heatmap-cell-height, var(--heatmap-cell-size, 0.75rem));--heatmap-tone-accent: var(--helix-color-accent);--heatmap-tone-danger: var(--helix-color-danger);--heatmap-tone-info: var(--helix-color-info);--heatmap-tone-muted: var(--helix-color-surface-sunken);--heatmap-tone-primary: var(--helix-color-primary);--heatmap-tone-success: var(--helix-color-success);--heatmap-tone-warning: var(--helix-color-warning);--heatmap-tone-1: color-mix(
16
3
  in oklab,
17
4
  var(--helix-color-primary-active) 20%,
18
5
  var(--helix-color-surface-sunken)
19
- );
20
- --heatmap-tone-2: color-mix(
6
+ );--heatmap-tone-2: color-mix(
21
7
  in oklab,
22
8
  var(--helix-color-primary-active) 40%,
23
9
  var(--helix-color-surface-sunken)
24
- );
25
- --heatmap-tone-3: color-mix(
10
+ );--heatmap-tone-3: color-mix(
26
11
  in oklab,
27
12
  var(--helix-color-primary-active) 60%,
28
13
  var(--helix-color-surface-sunken)
29
- );
30
- --heatmap-tone-4: color-mix(
14
+ );--heatmap-tone-4: color-mix(
31
15
  in oklab,
32
16
  var(--helix-color-primary-active) 80%,
33
17
  var(--helix-color-surface-sunken)
34
- );
35
- --heatmap-tone-5: var(--helix-color-primary-active);
36
-
37
- display: grid;
38
- grid-template-columns: minmax(0, max-content);
39
- }
40
-
41
- [part="strip"] {
42
- display: grid;
43
- gap: var(--heatmap-gap, var(--helix-space-2xs));
44
- grid-auto-columns: var(--_heatmap-cell-width);
45
- grid-auto-flow: column;
46
- grid-template-rows: repeat(var(--heatmap-rows, 1), var(--_heatmap-cell-height));
47
- justify-content: start;
48
-
49
- position: relative;
50
- }
51
-
52
- [part~="cell"] {
53
- background-color: var(--heatmap-tone, var(--helix-color-surface-sunken));
54
- border-radius: var(--heatmap-cell-radius, calc(var(--helix-radii-sm) * 0.5));
55
- inline-size: var(--_heatmap-cell-width);
56
- }
57
-
58
- [part="mark"] {
59
- block-size: 1px;
60
- inline-size: 1px;
61
- pointer-events: none;
62
- position: absolute;
63
- }
64
-
65
- [part="tooltip-anchor"] {
66
- inset: 0;
67
- pointer-events: none;
68
- position: absolute;
69
- }
70
-
71
- [part="tooltip-label"] {
72
- display: block;
73
- font-weight: var(--helix-weight-medium);
74
- opacity: 0.72;
75
- }
76
-
77
- [part~="tooltip-cell"] {
78
- align-items: baseline;
79
- display: flex;
80
- gap: var(--helix-space-sm);
81
- justify-content: space-between;
82
- }
83
-
84
- [part="tooltip-name"] {
85
- opacity: 0.72;
86
- }
87
-
88
- [part="tooltip-value"] {
89
- font-variant-numeric: tabular-nums;
90
- font-weight: var(--helix-weight-medium);
91
- }
92
-
93
- @media (hover: hover) {
94
- [part~="cell"]:hover {
95
- outline: var(--helix-border-thin) solid var(--helix-color-foreground);
96
- outline-offset: var(--helix-border-thin);
97
- }
98
-
99
- [part="strip"]:not([data-spaced]) [part~="cell"]:hover {
100
- outline-offset: calc(var(--helix-border-thin) * -1);
101
- }
102
- }
103
-
104
- [part~="cell-active"] {
105
- outline: var(--helix-border-thin) solid var(--helix-color-foreground);
106
- outline-offset: var(--helix-border-thin);
107
- }
108
-
109
- [part="strip"]:not([data-spaced]) [part~="cell-active"] {
110
- outline-offset: calc(var(--helix-border-thin) * -1);
111
- }
112
-
113
- [part="strip"]:focus-visible {
114
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
115
- outline-offset: var(--helix-size-focus-offset);
116
- }
117
-
118
- [part~="tooltip-cell-current"] {
119
- font-weight: var(--helix-weight-medium);
120
- }
121
-
122
- [part="live"],
123
- [part="overview"] {
124
- block-size: 1px;
125
- clip-path: inset(50%);
126
- inline-size: 1px;
127
- margin: var(--helix-space-none);
128
- overflow: hidden;
129
- position: absolute;
130
- white-space: nowrap;
131
- }
132
-
133
- [part="footer"] {
134
- align-items: baseline;
135
- color: var(--helix-color-foreground-subtle);
136
- display: grid;
137
- font-family: var(--helix-font-sans);
138
- font-size: var(--helix-text-xs);
139
- gap: var(--helix-space-xs);
140
- grid-template-columns: auto minmax(0, 1fr) auto;
141
- padding-block-start: var(--helix-space-xs);
142
- }
143
-
144
- [part="summary"] {
145
- text-align: center;
146
- }
147
-
148
- [part="end"] {
149
- text-align: end;
150
- }
151
-
152
- [part="footer"][data-empty] {
153
- display: none;
154
- }
155
-
156
- [part="empty"] {
157
- color: var(--helix-color-foreground-subtle);
158
- font-family: var(--helix-font-sans);
159
- font-size: var(--helix-text-sm);
160
- margin: var(--helix-space-none);
161
- text-align: center;
162
- }
163
-
164
- @media print {
165
- [part~="cell"] {
166
- outline: var(--helix-border-thin) solid var(--helix-color-border);
167
- outline-offset: calc(var(--helix-border-thin) * -1);
168
- }
169
- }`);
18
+ );--heatmap-tone-5: var(--helix-color-primary-active);display: grid;grid-template-columns: minmax(0, max-content);}[part="strip"] {display: grid;gap: var(--heatmap-gap, var(--helix-space-2xs));grid-auto-columns: var(--_heatmap-cell-width);grid-auto-flow: column;grid-template-rows: repeat(var(--heatmap-rows, 1), var(--_heatmap-cell-height));justify-content: start;position: relative;}[part~="cell"] {background-color: var(--heatmap-tone, var(--helix-color-surface-sunken));border-radius: var(--heatmap-cell-radius, calc(var(--helix-radii-sm) * 0.5));inline-size: var(--_heatmap-cell-width);}[part="mark"] {block-size: 1px;inline-size: 1px;pointer-events: none;position: absolute;}[part="tooltip-anchor"] {inset: 0;pointer-events: none;position: absolute;}[part="tooltip-label"] {display: block;font-weight: var(--helix-weight-medium);opacity: 0.72;}[part~="tooltip-cell"] {align-items: baseline;display: flex;gap: var(--helix-space-sm);justify-content: space-between;}[part="tooltip-name"] {opacity: 0.72;}[part="tooltip-value"] {font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);}@media (hover: hover) {[part~="cell"]:hover {outline: var(--helix-border-thin) solid var(--helix-color-foreground);outline-offset: var(--helix-border-thin);}[part="strip"]:not([data-spaced]) [part~="cell"]:hover {outline-offset: calc(var(--helix-border-thin) * -1);}}[part~="cell-active"] {outline: var(--helix-border-thin) solid var(--helix-color-foreground);outline-offset: var(--helix-border-thin);}[part="strip"]:not([data-spaced]) [part~="cell-active"] {outline-offset: calc(var(--helix-border-thin) * -1);}[part~="cell-selected"] {box-shadow: inset 0 0 0 var(--heatmap-selected-width, var(--helix-border-thick))
19
+ var(--heatmap-selected-color, var(--helix-color-primary));}[part="strip"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part~="tooltip-cell-current"] {font-weight: var(--helix-weight-medium);}[part="live"],
20
+ [part="overview"],
21
+ [part="selection"] {block-size: 1px;clip-path: inset(50%);inline-size: 1px;margin: var(--helix-space-none);overflow: hidden;position: absolute;white-space: nowrap;}[part="footer"] {align-items: baseline;color: var(--helix-color-foreground-subtle);display: grid;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);gap: var(--helix-space-xs);grid-template-columns: auto minmax(0, 1fr) auto;padding-block-start: var(--helix-space-xs);}[part="summary"] {text-align: center;}[part="end"] {text-align: end;}[part="footer"][data-empty] {display: none;}[part="empty"] {color: var(--helix-color-foreground-subtle);font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);margin: var(--helix-space-none);text-align: center;}@media print {[part~="cell"] {outline: var(--helix-border-thin) solid var(--helix-color-border);outline-offset: calc(var(--helix-border-thin) * -1);}}`);
@@ -53,6 +53,8 @@ import '../../tooltip/index.js';
53
53
  * @cssproperty --heatmap-cell-radius - How far a cell's corners are rounded.
54
54
  * @cssproperty --heatmap-cell-size - The size of a cell on both axes, used where neither axis has its own size set.
55
55
  * @cssproperty --heatmap-gap - Space between cells. Zero draws one continuous field.
56
+ * @cssproperty --heatmap-selected-color - The color of the ring on a selected cell, under `selection-mode`.
57
+ * @cssproperty --heatmap-selected-width - How thick the ring on a selected cell is.
56
58
  * @cssproperty --heatmap-tone-1 - The weakest step of the magnitude ramp, used by `tones="1 …"`.
57
59
  * @cssproperty --heatmap-tone-2 - The second step of the magnitude ramp.
58
60
  * @cssproperty --heatmap-tone-3 - The third step of the magnitude ramp.
@@ -1,2 +1,2 @@
1
- export { type IconResolver, registerIconLibrary, registerIcons, resolveIcon, } from '@fusion.dev/helix-headless/icon';
1
+ export { type IconLibraryOptions, type IconResolver, registerIconLibrary, registerIcons, resolveIcon, } from '@fusion.dev/helix-headless/icon';
2
2
  export * from './root/icon-root.js';
@@ -1,19 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- block-size: var(--icon-size, var(--helix-size-icon));
4
-
5
- display: inline-flex;
6
- flex: 0 0 auto;
7
- inline-size: var(--icon-size, var(--helix-size-icon));
8
- }
9
-
10
- [part="svg"] {
11
- block-size: 100%;
12
- inline-size: 100%;
13
- }
14
-
15
- @media print {
16
- :host {
17
- print-color-adjust: economy;
18
- }
19
- }`);
2
+ export const styles = createSheet(`:host {block-size: var(--icon-size, var(--helix-size-icon));display: inline-flex;flex: 0 0 auto;inline-size: var(--icon-size, var(--helix-size-icon));}[part="svg"] {block-size: 100%;inline-size: 100%;}@media print {:host {print-color-adjust: economy;}}`);
@@ -1,2 +1,2 @@
1
- export { type IconResolver, registerIconLibrary, registerIcons, resolveIcon, } from '@fusion.dev/helix-headless/icon/root';
1
+ export { type IconLibraryOptions, type IconResolver, registerIconLibrary, registerIcons, resolveIcon, } from '@fusion.dev/helix-headless/icon/root';
2
2
  export * from './icon-root.js';
@@ -1,103 +1,30 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- --_icon-button-size: var(--icon-button-size, var(--helix-size-control));
4
- display: inline-flex;
5
- }
6
-
7
- :host {
8
- --_icon-button-edge: var(--helix-color-border);
9
-
10
- --_icon-button-turn: 0.8s;
11
- --_icon-button-ink: var(--helix-color-foreground-muted);
12
- --_icon-button-ink-hover: var(--helix-color-foreground);
13
-
14
- --_icon-button-fill: var(--_icon-button-tone);
15
- --_icon-button-fill-hover: var(--_icon-button-tone-hover);
16
- --_icon-button-on-tone: var(--helix-color-background);
17
- --_icon-button-tone: var(--helix-color-foreground);
18
- --_icon-button-tone-hover: color-mix(
2
+ export const styles = createSheet(`:host {--_icon-button-size: var(--icon-button-size, var(--helix-size-control));display: inline-flex;}:host {--_icon-button-edge: var(--helix-color-border);--_icon-button-turn: 0.8s;--_icon-button-ink: var(--helix-color-foreground-muted);--_icon-button-ink-hover: var(--helix-color-foreground);--_icon-button-fill: var(--_icon-button-tone);--_icon-button-fill-hover: var(--_icon-button-tone-hover);--_icon-button-on-tone: var(--helix-color-background);--_icon-button-tone: var(--helix-color-foreground);--_icon-button-tone-hover: color-mix(
19
3
  in oklab,
20
4
  var(--helix-color-foreground) 86%,
21
5
  var(--helix-color-background)
22
- );
23
- }
24
- :host([tone="primary"]) {
25
- --_icon-button-edge: var(--helix-color-primary);
26
- --_icon-button-ink: var(--helix-color-primary);
27
- --_icon-button-ink-hover: var(--helix-color-primary);
28
- --_icon-button-fill: var(--helix-color-primary-surface);
29
- --_icon-button-fill-hover: var(--helix-color-primary-surface-hover);
30
- --_icon-button-on-tone: var(--helix-color-foreground-on-primary);
31
- --_icon-button-tone: var(--helix-color-primary);
32
- --_icon-button-tone-hover: var(--helix-color-primary-hover);
33
- }
34
-
35
- :host([tone="accent"]) {
36
- --_icon-button-edge: var(--helix-color-accent);
37
- --_icon-button-ink: var(--helix-color-accent);
38
- --_icon-button-ink-hover: var(--helix-color-accent);
39
- --_icon-button-fill: var(--helix-color-accent-surface);
40
- --_icon-button-fill-hover: var(--helix-color-accent-surface-hover);
41
- --_icon-button-on-tone: var(--helix-color-foreground-on-accent);
42
- --_icon-button-tone: var(--helix-color-accent);
43
- --_icon-button-tone-hover: var(--helix-color-accent-hover);
44
- }
45
-
46
- :host([tone="danger"]) {
47
- --_icon-button-edge: var(--helix-color-danger);
48
- --_icon-button-ink: var(--helix-color-danger);
49
- --_icon-button-ink-hover: var(--helix-color-danger);
50
- --_icon-button-fill: var(--helix-color-danger-surface);
51
- --_icon-button-fill-hover: var(--helix-color-danger-surface-hover);
52
- --_icon-button-on-tone: var(--helix-color-foreground-on-status);
53
- --_icon-button-tone: var(--helix-color-danger);
54
- --_icon-button-tone-hover: color-mix(
6
+ );}:host([tone="primary"]) {--_icon-button-edge: var(--helix-color-primary);--_icon-button-ink: var(--helix-color-primary);--_icon-button-ink-hover: var(--helix-color-primary);--_icon-button-fill: var(--helix-color-primary-surface);--_icon-button-fill-hover: var(--helix-color-primary-surface-hover);--_icon-button-on-tone: var(--helix-color-foreground-on-primary);--_icon-button-tone: var(--helix-color-primary);--_icon-button-tone-hover: var(--helix-color-primary-hover);}:host([tone="accent"]) {--_icon-button-edge: var(--helix-color-accent);--_icon-button-ink: var(--helix-color-accent);--_icon-button-ink-hover: var(--helix-color-accent);--_icon-button-fill: var(--helix-color-accent-surface);--_icon-button-fill-hover: var(--helix-color-accent-surface-hover);--_icon-button-on-tone: var(--helix-color-foreground-on-accent);--_icon-button-tone: var(--helix-color-accent);--_icon-button-tone-hover: var(--helix-color-accent-hover);}:host([tone="danger"]) {--_icon-button-edge: var(--helix-color-danger);--_icon-button-ink: var(--helix-color-danger);--_icon-button-ink-hover: var(--helix-color-danger);--_icon-button-fill: var(--helix-color-danger-surface);--_icon-button-fill-hover: var(--helix-color-danger-surface-hover);--_icon-button-on-tone: var(--helix-color-foreground-on-status);--_icon-button-tone: var(--helix-color-danger);--_icon-button-tone-hover: color-mix(
55
7
  in oklab,
56
8
  var(--helix-color-danger) 86%,
57
9
  var(--helix-color-foreground)
58
- );
59
- }
60
-
61
- [part="button"] {
62
- align-items: center;
63
- background-color: var(
10
+ );}[part="button"] {align-items: center;background-color: var(
64
11
  --_icon-button-pressed-fill,
65
12
  var(--icon-button-background-color, transparent)
66
- );
67
- block-size: var(--_icon-button-size);
68
- border: var(--helix-border-thin) solid transparent;
69
-
70
- border-end-end-radius: var(--button-radius-end, var(--icon-button-radius, var(--helix-radii-sm)));
71
- border-end-start-radius: var(
13
+ );block-size: var(--_icon-button-size);border: var(--helix-border-thin) solid transparent;border-end-end-radius: var(--button-radius-end, var(--icon-button-radius, var(--helix-radii-sm)));border-end-start-radius: var(
72
14
  --button-radius-start,
73
15
  var(--icon-button-radius, var(--helix-radii-sm))
74
- );
75
- border-start-end-radius: var(
16
+ );border-start-end-radius: var(
76
17
  --button-radius-end,
77
18
  var(--icon-button-radius, var(--helix-radii-sm))
78
- );
79
- border-start-start-radius: var(
19
+ );border-start-start-radius: var(
80
20
  --button-radius-start,
81
21
  var(--icon-button-radius, var(--helix-radii-sm))
82
- );
83
- color: var(
22
+ );color: var(
84
23
  --_icon-button-pressed-ink,
85
24
  var(--icon-button-foreground-color, var(--_icon-button-ink))
86
- );
87
- cursor: pointer;
88
- display: inline-flex;
89
-
90
- font: inherit;
91
- inline-size: var(--_icon-button-size);
92
- justify-content: center;
93
- padding: var(--helix-space-none);
94
- transition:
25
+ );cursor: pointer;display: inline-flex;font: inherit;inline-size: var(--_icon-button-size);justify-content: center;padding: var(--helix-space-none);transition:
95
26
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
96
- color var(--helix-duration-fast) var(--helix-easing-standard);
97
- }
98
-
99
- :host(:not(:disabled)) [part="button"]:hover {
100
- background-color: var(
27
+ color var(--helix-duration-fast) var(--helix-easing-standard);}:host(:not(:disabled)) [part="button"]:hover {background-color: var(
101
28
  --_icon-button-pressed-fill,
102
29
  var(
103
30
  --icon-button-background-color-hover,
@@ -106,80 +33,34 @@ var(
106
33
  color-mix(in oklab, var(--_icon-button-tone) 8%, transparent)
107
34
  )
108
35
  )
109
- );
110
- color: var(
36
+ );color: var(
111
37
  --_icon-button-pressed-ink,
112
38
  var(--icon-button-foreground-color, var(--_icon-button-ink-hover))
113
- );
114
- }
115
-
116
- :host(:not(:disabled)) [part="button"]:active {
117
- --_icon-button-pressed-fill: var(--icon-button-background-color-active);
118
- --_icon-button-pressed-ink: var(--icon-button-foreground-color-active);
119
- }
120
-
121
- :host([shape="circle"]) [part="button"] {
122
- border-radius: var(--helix-radii-full);
123
- }
124
-
125
- :host([raised]) [part="button"] {
126
- box-shadow: var(--icon-button-shadow, var(--helix-shadow-md));
127
- }
128
-
129
- :host([raised]:not(:disabled)) [part="button"]:hover {
130
- box-shadow: var(--icon-button-shadow, var(--helix-shadow-lg));
131
- }
132
-
133
- :host([raised]:not(:disabled)) [part="button"]:active {
134
- box-shadow: var(--icon-button-shadow, var(--helix-shadow-sm));
135
- }
136
-
137
- [part="button"]:focus-visible {
138
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
139
- outline-offset: var(--helix-size-focus-offset);
140
- }
141
-
142
- :host([emphasis="solid"]) [part="button"] {
143
- background-color: var(
39
+ );}:host(:not(:disabled)) [part="button"]:active {--_icon-button-pressed-fill: var(--icon-button-background-color-active);--_icon-button-pressed-ink: var(--icon-button-foreground-color-active);}:host([shape="circle"]) [part="button"] {border-radius: var(--helix-radii-full);}:host([raised]) [part="button"] {box-shadow: var(--icon-button-shadow, var(--helix-shadow-md));}:host([raised]:not(:disabled)) [part="button"]:hover {box-shadow: var(--icon-button-shadow, var(--helix-shadow-lg));}:host([raised]:not(:disabled)) [part="button"]:active {box-shadow: var(--icon-button-shadow, var(--helix-shadow-sm));}[part="button"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([emphasis="solid"]) [part="button"] {background-color: var(
144
40
  --_icon-button-pressed-fill,
145
41
  var(--icon-button-background-color, var(--_icon-button-fill))
146
- );
147
- border-color: transparent;
148
- color: var(
42
+ );border-color: transparent;color: var(
149
43
  --_icon-button-pressed-ink,
150
44
  var(--icon-button-foreground-color, var(--_icon-button-on-tone))
151
- );
152
- }
153
- :host(:not(:disabled)[emphasis="solid"]) [part="button"]:hover {
154
- background-color: var(
45
+ );}:host(:not(:disabled)[emphasis="solid"]) [part="button"]:hover {background-color: var(
155
46
  --_icon-button-pressed-fill,
156
47
  var(
157
48
  --icon-button-background-color-hover,
158
49
  var(--icon-button-background-color, var(--_icon-button-fill-hover))
159
50
  )
160
- );
161
- color: var(
51
+ );color: var(
162
52
  --_icon-button-pressed-ink,
163
53
  var(--icon-button-foreground-color, var(--_icon-button-on-tone))
164
- );
165
- }
166
-
167
- :host([emphasis="outlined"]) [part="button"] {
168
- background-color: var(
54
+ );}:host([emphasis="outlined"]) [part="button"] {background-color: var(
169
55
  --_icon-button-pressed-fill,
170
56
  var(
171
57
  --icon-button-background-color,
172
58
  color-mix(in oklab, var(--_icon-button-tone) 6%, transparent)
173
59
  )
174
- );
175
- border-color: var(--_icon-button-edge);
176
- color: var(
60
+ );border-color: var(--_icon-button-edge);color: var(
177
61
  --_icon-button-pressed-ink,
178
62
  var(--icon-button-foreground-color, var(--_icon-button-tone))
179
- );
180
- }
181
- :host(:not(:disabled)[emphasis="outlined"]) [part="button"]:hover {
182
- background-color: var(
63
+ );}:host(:not(:disabled)[emphasis="outlined"]) [part="button"]:hover {background-color: var(
183
64
  --_icon-button-pressed-fill,
184
65
  var(
185
66
  --icon-button-background-color-hover,
@@ -188,30 +69,19 @@ var(
188
69
  color-mix(in oklab, var(--_icon-button-tone) 12%, transparent)
189
70
  )
190
71
  )
191
- );
192
- color: var(
72
+ );color: var(
193
73
  --_icon-button-pressed-ink,
194
74
  var(--icon-button-foreground-color, var(--_icon-button-tone))
195
- );
196
- }
197
-
198
- :host([emphasis="subtle"]) [part="button"] {
199
- background-color: var(
75
+ );}:host([emphasis="subtle"]) [part="button"] {background-color: var(
200
76
  --_icon-button-pressed-fill,
201
77
  var(
202
78
  --icon-button-background-color,
203
79
  color-mix(in oklab, var(--_icon-button-tone) 14%, transparent)
204
80
  )
205
- );
206
- border-color: transparent;
207
- color: var(
81
+ );border-color: transparent;color: var(
208
82
  --_icon-button-pressed-ink,
209
83
  var(--icon-button-foreground-color, var(--_icon-button-tone))
210
- );
211
- }
212
-
213
- :host(:not(:disabled)[emphasis="subtle"]) [part="button"]:hover {
214
- background-color: var(
84
+ );}:host(:not(:disabled)[emphasis="subtle"]) [part="button"]:hover {background-color: var(
215
85
  --_icon-button-pressed-fill,
216
86
  var(
217
87
  --icon-button-background-color-hover,
@@ -220,57 +90,9 @@ var(
220
90
  color-mix(in oklab, var(--_icon-button-tone) 22%, transparent)
221
91
  )
222
92
  )
223
- );
224
- color: var(
93
+ );color: var(
225
94
  --_icon-button-pressed-ink,
226
95
  var(--icon-button-foreground-color, var(--_icon-button-tone))
227
- );
228
- }
229
-
230
- :host(:disabled) [part="button"] {
231
- cursor: not-allowed;
232
- opacity: 0.5;
233
- }
234
-
235
- :host(:state(pending)) [part="button"] {
236
- cursor: progress;
237
- position: relative;
238
- }
239
-
240
- :host(:state(pending)) [part="button"] > * {
241
- visibility: hidden;
242
- }
243
-
244
- :host(:state(pending)) [part="button"]::after {
245
- animation: helix-icon-button-turn var(--icon-button-spinner-duration, var(--_icon-button-turn))
246
- linear infinite;
247
- block-size: var(--icon-button-spinner-size, 1.15em);
248
- border: var(--helix-border-thick) solid
249
- color-mix(in oklab, var(--icon-button-spinner-color, currentColor) 30%, transparent);
250
- border-block-start-color: var(--icon-button-spinner-color, currentColor);
251
- border-radius: var(--helix-radii-full);
252
- box-sizing: border-box;
253
- content: "";
254
- inline-size: var(--icon-button-spinner-size, 1.15em);
255
- inset: 0;
256
- margin: auto;
257
- position: absolute;
258
- }
259
-
260
- @keyframes helix-icon-button-turn {
261
- to {
262
- rotate: 1turn;
263
- }
264
- }
265
-
266
- @media (prefers-reduced-motion: reduce) {
267
- :host(:state(pending)) [part="button"]::after {
268
- animation-duration: calc(var(--helix-duration-slow) * 12);
269
- }
270
- }
271
-
272
- @media print {
273
- :host {
274
- display: none;
275
- }
276
- }`);
96
+ );}:host(:disabled) [part="button"] {cursor: not-allowed;opacity: 0.5;}:host(:state(pending)) [part="button"] {cursor: progress;position: relative;}:host(:state(pending)) [part="button"] > :not([part="spinner"]) {visibility: hidden;}[part="spinner"] {animation: helix-icon-button-turn var(--icon-button-spinner-duration, var(--_icon-button-turn))
97
+ linear infinite;block-size: var(--icon-button-spinner-size, 1.15em);border: var(--helix-border-thick) solid
98
+ color-mix(in oklab, var(--icon-button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--icon-button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--icon-button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-icon-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration: calc(var(--helix-duration-slow) * 12);}}@media print {:host {display: none;}}`);
@@ -23,6 +23,7 @@ declare const HelixIconButton_base: (new (...args: any[]) => import("../../share
23
23
  *
24
24
  * @csspart button - The inner button.
25
25
  * @csspart live - The live region that says `pending-label` when the button becomes pending under focus. It is clipped out of view and still read.
26
+ * @csspart spinner - The ring a pending button turns over its icon, sized and colored by the `--icon-button-spinner-*` hooks.
26
27
  *
27
28
  * @cssproperty --icon-button-background-color - Fill behind the button, in every state.
28
29
  * @cssproperty --icon-button-background-color-active - Fill behind the button while it is pressed. Without it, a press shows the fill of the state under it.
@@ -1,66 +1,8 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- aspect-ratio: var(--image-aspect, auto);
4
- display: block;
5
- overflow: hidden;
6
- position: relative;
7
- }
8
-
9
- :host([shape="rounded"]) {
10
- border-radius: var(--image-radius, var(--helix-radii-md));
11
- }
12
-
13
- [part="image"] {
14
- block-size: 100%;
15
- display: block;
16
- inline-size: 100%;
17
- object-fit: var(--image-fit, cover);
18
- object-position: var(--image-position, center);
19
- }
20
-
21
- :host([data-status="error"]) [part="image"] {
22
- opacity: 0;
23
- }
24
-
25
- [part="placeholder"],
26
- [part="fallback"] {
27
- align-items: center;
28
- display: flex;
29
- inset: 0;
30
- justify-content: center;
31
- position: absolute;
32
- }
33
-
34
- :host [part="placeholder"][hidden],
35
- :host [part="fallback"][hidden] {
36
- display: none;
37
- }
38
-
39
- [part="placeholder"] {
40
- background-color: var(--image-placeholder-color, var(--helix-color-surface-sunken));
41
- }
42
-
43
- [part="placeholder"] ::slotted(*) {
44
- block-size: 100%;
45
- inline-size: 100%;
46
- }
47
-
48
- [part="fallback"] {
49
- background-color: var(--image-placeholder-color, var(--helix-color-surface-sunken));
50
- color: var(--helix-color-foreground-subtle);
51
- }
52
-
53
- [part="image"] {
54
- opacity: 0;
55
- transition: opacity var(--helix-duration-normal) var(--helix-easing-standard);
56
- }
57
-
58
- :host([data-status="loaded"]) [part="image"] {
59
- opacity: 1;
60
- }
61
-
62
- @media print {
63
- :host {
64
- print-color-adjust: economy;
65
- }
66
- }`);
2
+ export const styles = createSheet(`:host {aspect-ratio: var(--image-aspect, auto);display: block;overflow: hidden;position: relative;}:host([shape="rounded"]) {border-radius: var(--image-radius, var(--helix-radii-md));}[part="image"] {block-size: 100%;display: block;inline-size: 100%;object-fit: var(--image-fit, cover);object-position: var(--image-position, center);}:host([data-status="error"]) [part="image"] {opacity: 0;}[part="placeholder"],
3
+ [part="fallback"] {align-items: center;display: flex;inset: 0;justify-content: center;position: absolute;}:host [part="placeholder"][hidden],
4
+ :host [part="fallback"][hidden] {display: none;}[part="placeholder"] {background-color: var(--image-placeholder-color, var(--helix-color-surface-sunken));}[part="placeholder"] ::slotted(*) {block-size: 100%;inline-size: 100%;}[part="fallback"] {background-color: var(
5
+ --image-fallback-background-color,
6
+ var(--image-placeholder-color, var(--helix-color-surface-sunken))
7
+ );color: var(--image-fallback-color, var(--helix-color-foreground-subtle));}[part="image"] {opacity: 0;transition: opacity var(--image-fade-duration, var(--helix-duration-normal))
8
+ var(--helix-easing-standard);}:host([data-status="loaded"]) [part="image"] {opacity: 1;}@media print {:host {print-color-adjust: economy;}}`);
@@ -15,6 +15,9 @@ import type { CSSResultGroup } from 'lit';
15
15
  * @documentation https://fusion.dev/helix/components/image
16
16
  *
17
17
  * @cssproperty --image-aspect - The aspect ratio of the box, such as `16 / 9`.
18
+ * @cssproperty --image-fade-duration - How long the picture takes to fade in once it loads. `0s` shows it at once.
19
+ * @cssproperty --image-fallback-background-color - The background behind the fallback. Defaults to the placeholder's.
20
+ * @cssproperty --image-fallback-color - The color of the fallback's text.
18
21
  * @cssproperty --image-fit - How the image fills the box, as an `object-fit` value.
19
22
  * @cssproperty --image-placeholder-color - The background behind the placeholder and the fallback.
20
23
  * @cssproperty --image-position - Which part of the image stays in view when it is cropped, as an `object-position` value.