@fusion.dev/helix 0.145.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 (291) hide show
  1. package/custom-elements.json +13218 -3717
  2. package/dist/accordion/item/accordion-item.css.js +4 -92
  3. package/dist/accordion/item/accordion-item.d.ts +8 -0
  4. package/dist/accordion/root/accordion-root.css.js +2 -28
  5. package/dist/announcement/root/announcement-root.css.js +10 -154
  6. package/dist/announcement/root/announcement-root.d.ts +3 -0
  7. package/dist/app-header/root/app-header-root.css.js +2 -118
  8. package/dist/area-chart/root/area-chart-root.css.js +4 -94
  9. package/dist/area-chart/root/area-chart-root.d.ts +1 -0
  10. package/dist/aura/root/aura-root.css.js +2 -54
  11. package/dist/aura/root/aura-root.d.ts +21 -9
  12. package/dist/aura/root/aura-root.js +23 -12
  13. package/dist/avatar/group/avatar-group.css.js +5 -36
  14. package/dist/avatar/group/avatar-group.d.ts +3 -0
  15. package/dist/avatar/root/avatar-root.css.js +1 -53
  16. package/dist/avatar/root/avatar-root.d.ts +2 -0
  17. package/dist/badge/root/badge-root.css.js +17 -142
  18. package/dist/badge/root/badge-root.d.ts +20 -0
  19. package/dist/badge/root/badge-root.js +6 -0
  20. package/dist/bar-chart/root/bar-chart-root.css.js +8 -292
  21. package/dist/blockquote/root/blockquote-root.css.js +1 -43
  22. package/dist/blockquote/root/blockquote-root.d.ts +2 -0
  23. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +13 -98
  24. package/dist/breadcrumbs/root/breadcrumbs-root.css.js +7 -21
  25. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +18 -0
  26. package/dist/breadcrumbs/root/breadcrumbs-root.js +4 -0
  27. package/dist/button/root/button-root.css.js +16 -196
  28. package/dist/button/root/button-root.d.ts +3 -0
  29. package/dist/button-group/root/button-group-root.css.js +2 -52
  30. package/dist/callout/root/callout-root.css.js +5 -137
  31. package/dist/callout/root/callout-root.d.ts +8 -2
  32. package/dist/canvas/node/canvas-node.css.js +10 -367
  33. package/dist/canvas/root/canvas-root.css.js +7 -270
  34. package/dist/card/root/card-root.css.js +5 -134
  35. package/dist/card/root/card-root.d.ts +6 -0
  36. package/dist/carousel/root/carousel-root.css.js +20 -386
  37. package/dist/chat/composer/chat-composer.css.js +4 -105
  38. package/dist/chat/message/chat-message.css.js +5 -301
  39. package/dist/chat/message/chat-message.d.ts +5 -0
  40. package/dist/chat/message/chat-message.js +2 -1
  41. package/dist/chat/root/chat-root.css.js +5 -155
  42. package/dist/chat/root/chat-root.d.ts +2 -0
  43. package/dist/chat/root/chat-root.js +2 -1
  44. package/dist/chat/typing.css.d.ts +1 -0
  45. package/dist/chat/typing.css.js +25 -0
  46. package/dist/checkbox/root/checkbox-root.css.js +12 -162
  47. package/dist/checkbox/root/checkbox-root.d.ts +2 -1
  48. package/dist/checkbox-group/root/checkbox-group-root.css.js +1 -27
  49. package/dist/code/root/code-root.css.js +3 -25
  50. package/dist/code/root/code-root.d.ts +2 -0
  51. package/dist/code-block/root/code-block-root.css.js +9 -250
  52. package/dist/code-block/root/code-block-root.d.ts +2 -1
  53. package/dist/color-input/root/color-input-root.css.js +5 -104
  54. package/dist/color-picker/root/color-picker-root.css.js +39 -329
  55. package/dist/color-picker/root/color-picker-root.d.ts +3 -0
  56. package/dist/combobox/root/combobox-root.css.js +8 -147
  57. package/dist/command/root/command-root.css.js +3 -74
  58. package/dist/copy-button/root/copy-button-root.css.js +5 -36
  59. package/dist/copy-button/root/copy-button-root.d.ts +7 -0
  60. package/dist/data-table/root/data-table-root.css.js +24 -241
  61. package/dist/data-table/root/data-table-root.d.ts +12 -0
  62. package/dist/date-input/root/date-input-root.css.js +8 -93
  63. package/dist/date-picker/root/date-picker-root.css.js +16 -278
  64. package/dist/date-picker/root/date-picker-root.d.ts +1 -0
  65. package/dist/description-list/item/description-list-item.css.js +1 -41
  66. package/dist/description-list/item/description-list-item.d.ts +7 -0
  67. package/dist/description-list/root/description-list-root.css.js +1 -34
  68. package/dist/description-list/root/description-list-root.d.ts +1 -0
  69. package/dist/dialog/root/dialog-root.css.js +7 -221
  70. package/dist/dialog/root/dialog-root.d.ts +3 -0
  71. package/dist/divider/root/divider-root.css.js +6 -81
  72. package/dist/donut-chart/root/donut-chart-root.css.js +7 -174
  73. package/dist/donut-chart/root/donut-chart-root.d.ts +3 -0
  74. package/dist/drawer/root/drawer-root.css.js +14 -193
  75. package/dist/drawer/root/drawer-root.d.ts +5 -0
  76. package/dist/drilldown/item/drilldown-item.css.js +4 -51
  77. package/dist/drilldown/item/drilldown-item.d.ts +7 -0
  78. package/dist/drilldown/root/drilldown-root.css.js +8 -109
  79. package/dist/drilldown/root/drilldown-root.d.ts +10 -0
  80. package/dist/element-events.generated.js +19 -6
  81. package/dist/empty/root/empty-root.css.js +2 -42
  82. package/dist/file-input/root/file-input-root.css.js +7 -172
  83. package/dist/file-input/root/file-input-root.d.ts +15 -0
  84. package/dist/filter-input/chip/filter-chip.css.js +2 -84
  85. package/dist/filter-input/field/filter-field.css.js +1 -3
  86. package/dist/filter-input/menu/filter-menu.css.js +1 -3
  87. package/dist/filter-input/operator/filter-operator.css.js +1 -3
  88. package/dist/filter-input/root/filter-input-root.css.js +6 -112
  89. package/dist/filter-input/root/filter-input-root.d.ts +5 -0
  90. package/dist/flex/root/flex-root.css.js +4 -198
  91. package/dist/flex/root/flex-root.d.ts +19 -8
  92. package/dist/format-date/root/format-date-root.css.js +1 -13
  93. package/dist/graph/root/graph-root.css.js +12 -444
  94. package/dist/graph/root/graph-root.d.ts +8 -0
  95. package/dist/grid/root/grid-root.css.js +1 -171
  96. package/dist/grid/root/grid-root.d.ts +4 -1
  97. package/dist/heatmap/root/heatmap-root.css.js +8 -155
  98. package/dist/heatmap/root/heatmap-root.d.ts +2 -0
  99. package/dist/icon/index.d.ts +1 -1
  100. package/dist/icon/root/icon-root.css.js +1 -18
  101. package/dist/icon/root/index.d.ts +1 -1
  102. package/dist/icon-button/root/icon-button-root.css.js +63 -186
  103. package/dist/icon-button/root/icon-button-root.d.ts +5 -0
  104. package/dist/image/root/image-root.css.js +7 -65
  105. package/dist/image/root/image-root.d.ts +3 -0
  106. package/dist/input/root/input-root.css.js +6 -79
  107. package/dist/kbd/root/kbd-root.css.js +2 -44
  108. package/dist/kbd/root/kbd-root.d.ts +9 -0
  109. package/dist/legend/root/legend-root.css.js +9 -106
  110. package/dist/legend/root/legend-root.d.ts +2 -0
  111. package/dist/lightbox/item/lightbox-item.css.js +1 -33
  112. package/dist/lightbox/root/lightbox-root.css.js +40 -144
  113. package/dist/line-chart/root/line-chart-root.css.js +4 -154
  114. package/dist/line-chart/root/line-chart-root.d.ts +3 -0
  115. package/dist/list/item/list-item.css.js +2 -94
  116. package/dist/list/root/list-root.css.js +4 -88
  117. package/dist/listbox/root/listbox-root.css.js +4 -102
  118. package/dist/listbox/root/listbox-root.d.ts +1 -0
  119. package/dist/loader/root/loader-root.css.js +5 -171
  120. package/dist/loader/root/loader-root.d.ts +2 -0
  121. package/dist/map/area/map-area.css.js +1 -23
  122. package/dist/map/buildings/map-buildings.css.js +1 -26
  123. package/dist/map/contours/map-contours.css.js +2 -5
  124. package/dist/map/landcover/map-landcover.css.js +1 -4
  125. package/dist/map/marker/map-marker.css.js +14 -327
  126. package/dist/map/points/map-points.css.js +1 -86
  127. package/dist/map/position/map-position.css.js +8 -227
  128. package/dist/map/raster/map-raster.css.js +1 -3
  129. package/dist/map/root/map-root.css.js +10 -352
  130. package/dist/map/route/map-route.css.js +1 -24
  131. package/dist/map/terrain/map-terrain.css.js +3 -7
  132. package/dist/megamenu/root/megamenu-root.css.js +15 -163
  133. package/dist/megamenu/root/megamenu-root.d.ts +19 -0
  134. package/dist/menu/item/menu-item.css.js +9 -111
  135. package/dist/menu/item/menu-item.d.ts +1 -0
  136. package/dist/menu/root/menu-root.css.js +1 -110
  137. package/dist/menu/section/menu-section.css.js +1 -13
  138. package/dist/meter/root/meter-root.css.js +20 -207
  139. package/dist/meter/root/meter-root.d.ts +4 -0
  140. package/dist/navigation/root/navigation-root.css.js +2 -54
  141. package/dist/navigation/root/navigation-root.d.ts +7 -0
  142. package/dist/notifications/group/notification-group.css.js +1 -61
  143. package/dist/notifications/notification/notification.css.js +17 -264
  144. package/dist/notifications/root/notifications-root.css.js +7 -119
  145. package/dist/notifications/root/notifications-root.d.ts +3 -1
  146. package/dist/number-input/root/number-input-root.css.js +10 -100
  147. package/dist/number-input/root/number-input-root.d.ts +8 -0
  148. package/dist/object-inspector/root/object-inspector-root.css.js +11 -166
  149. package/dist/option/group/option-group.css.js +1 -22
  150. package/dist/option/index.d.ts +1 -0
  151. package/dist/option/index.js +1 -0
  152. package/dist/option/root/option-root.css.js +3 -85
  153. package/dist/option/separator/option-separator.css.d.ts +1 -0
  154. package/dist/option/separator/option-separator.css.js +3 -0
  155. package/dist/option/separator/option-separator.d.ts +26 -0
  156. package/dist/option/separator/option-separator.js +16 -0
  157. package/dist/orb/root/orb-root.css.js +1 -41
  158. package/dist/orb/root/orb-root.d.ts +14 -6
  159. package/dist/orb/root/orb-root.js +16 -27
  160. package/dist/outline/root/outline-root.css.js +24 -122
  161. package/dist/outline/root/outline-root.d.ts +17 -4
  162. package/dist/pagination/root/pagination-root.css.js +9 -105
  163. package/dist/pagination/size/pagination-size.css.js +1 -22
  164. package/dist/pagination/summary/pagination-summary.css.js +1 -7
  165. package/dist/pin-input/root/pin-input-root.css.js +2 -73
  166. package/dist/pin-input/root/pin-input-root.d.ts +12 -2
  167. package/dist/popover/root/popover-root.css.js +6 -127
  168. package/dist/progress/root/progress-root.css.js +7 -228
  169. package/dist/progress/root/progress-root.d.ts +5 -0
  170. package/dist/qr-code/root/qr-code-root.css.js +1 -57
  171. package/dist/quote/root/quote-root.css.js +1 -17
  172. package/dist/quote/root/quote-root.d.ts +2 -0
  173. package/dist/radio/group/radio-group.css.js +1 -21
  174. package/dist/radio/root/radio-root.css.js +5 -192
  175. package/dist/radio/root/radio-root.d.ts +2 -1
  176. package/dist/rating/root/rating-root.css.js +4 -117
  177. package/dist/sandbox/frame.d.ts +5 -3
  178. package/dist/sandbox/frame.js +20 -6
  179. package/dist/sandbox/index.d.ts +1 -0
  180. package/dist/sandbox/preview/sandbox-preview.css.js +1 -12
  181. package/dist/sandbox/preview/sandbox-preview.d.ts +19 -3
  182. package/dist/sandbox/preview/sandbox-preview.js +17 -11
  183. package/dist/sandbox/root/sandbox-root.css.js +3 -70
  184. package/dist/sandbox/root/sandbox-root.d.ts +16 -4
  185. package/dist/sandbox/root/sandbox-root.js +29 -50
  186. package/dist/sandbox/source/sandbox-source.css.js +3 -25
  187. package/dist/sandbox/source/sandbox-source.d.ts +40 -0
  188. package/dist/sandbox/source/sandbox-source.js +22 -0
  189. package/dist/sandbox/status-bar/sandbox-status-bar.css.js +1 -21
  190. package/dist/sandbox/terminal/sandbox-terminal.css.js +5 -106
  191. package/dist/sandbox/terminal/sandbox-terminal.d.ts +14 -2
  192. package/dist/sandbox/terminal/sandbox-terminal.js +20 -6
  193. package/dist/sandbox/tokens.d.ts +39 -0
  194. package/dist/sandbox/tokens.js +9 -0
  195. package/dist/sandbox/toolbar/sandbox-toolbar.css.js +1 -36
  196. package/dist/scatter-chart/root/scatter-chart-root.css.js +11 -137
  197. package/dist/scatter-chart/root/scatter-chart-root.d.ts +3 -0
  198. package/dist/scroll-area/root/scroll-area-root.css.js +14 -181
  199. package/dist/select/root/select-root.css.js +4 -124
  200. package/dist/shared/chart/series.css.js +1 -36
  201. package/dist/shared/chart/terminus.css.js +1 -47
  202. package/dist/shared/chart/tooltip.css.js +1 -68
  203. package/dist/shared/collection/state.css.js +1 -9
  204. package/dist/shared/field/field-frame.css.js +3 -33
  205. package/dist/shared/field/field-inline.css.js +1 -4
  206. package/dist/shared/field/field-segments.css.js +1 -39
  207. package/dist/shared/field/field-stacked.css.js +1 -5
  208. package/dist/shared/field/field.css.js +3 -57
  209. package/dist/shared/floating/entrance.css.js +3 -34
  210. package/dist/shared/floating/panel.css.js +2 -17
  211. package/dist/shared/glyph/glyph.css.js +1 -5
  212. package/dist/shared/live/live.css.js +1 -8
  213. package/dist/shared/tags/tags.css.js +1 -39
  214. package/dist/shared/viewport/viewport.css.js +8 -135
  215. package/dist/skeleton/root/skeleton-root.css.js +12 -120
  216. package/dist/skeleton/root/skeleton-root.d.ts +1 -0
  217. package/dist/skip-link/root/skip-link-root.css.js +2 -35
  218. package/dist/skip-link/root/skip-link-root.d.ts +3 -3
  219. package/dist/slider/root/slider-root.css.js +35 -320
  220. package/dist/slider/root/slider-root.d.ts +2 -0
  221. package/dist/sparkline/root/sparkline-root.css.js +10 -96
  222. package/dist/sparkline/root/sparkline-root.d.ts +8 -0
  223. package/dist/sparkline/root/sparkline-root.js +2 -1
  224. package/dist/speed-dial/item/speed-dial-item.css.js +6 -74
  225. package/dist/speed-dial/item/speed-dial-item.d.ts +3 -0
  226. package/dist/speed-dial/root/speed-dial-root.css.js +3 -144
  227. package/dist/speed-dial/root/speed-dial-root.d.ts +7 -1
  228. package/dist/speed-dial/root/speed-dial-root.js +0 -1
  229. package/dist/splitter/root/splitter-root.css.js +11 -176
  230. package/dist/stat/group/stat-group.css.js +1 -36
  231. package/dist/stat/root/stat-root.css.js +3 -58
  232. package/dist/steps/root/steps-root.css.js +13 -70
  233. package/dist/steps/root/steps-root.d.ts +5 -0
  234. package/dist/steps/step/step.css.js +5 -156
  235. package/dist/switch/root/switch-root.css.js +2 -110
  236. package/dist/table/cell/table-cell.css.js +1 -33
  237. package/dist/table/column/table-column.css.js +7 -105
  238. package/dist/table/root/table-root.css.js +1 -43
  239. package/dist/table/row/table-row.css.js +6 -18
  240. package/dist/table/row/table-row.d.ts +2 -0
  241. package/dist/tabs/panel/tab-panel.css.js +2 -17
  242. package/dist/tabs/root/tabs-root.css.js +6 -177
  243. package/dist/tabs/root/tabs-root.d.ts +4 -0
  244. package/dist/tabs/tab/tab.css.js +10 -51
  245. package/dist/tabs/tab/tab.d.ts +7 -0
  246. package/dist/tag/group/tag-group.css.js +1 -5
  247. package/dist/tag/root/tag-root.css.js +1 -166
  248. package/dist/tag/root/tag-root.d.ts +2 -0
  249. package/dist/text/clamp.d.ts +5 -2
  250. package/dist/text/clamp.js +3 -1
  251. package/dist/text/root/text-root.css.js +11 -206
  252. package/dist/text/root/text-root.d.ts +2 -1
  253. package/dist/textarea/root/textarea-root.css.js +3 -44
  254. package/dist/time-input/root/time-input-root.css.js +7 -106
  255. package/dist/time-picker/root/time-picker-root.css.js +10 -134
  256. package/dist/time-picker/root/time-picker-root.d.ts +1 -0
  257. package/dist/timeline/group/timeline-group.css.js +1 -31
  258. package/dist/timeline/item/timeline-item.css.js +3 -134
  259. package/dist/timeline/root/timeline-root.css.js +1 -66
  260. package/dist/toast/item/toast-item.css.js +8 -240
  261. package/dist/toast/root/toast-root.css.js +1 -85
  262. package/dist/toast/root/toast-root.d.ts +1 -0
  263. package/dist/toast/root/toast-root.js +3 -1
  264. package/dist/toggle/group/toggle-group.css.js +9 -125
  265. package/dist/toggle/group/toggle-group.d.ts +6 -1
  266. package/dist/toggle/root/toggle-root.css.js +1 -23
  267. package/dist/toggle/root/toggle-root.d.ts +6 -0
  268. package/dist/toolbar/root/toolbar-root.css.js +1 -35
  269. package/dist/toolbar/root/toolbar-root.d.ts +4 -0
  270. package/dist/tooltip/root/tooltip-root.css.js +5 -101
  271. package/dist/tooltip/root/tooltip-root.d.ts +6 -0
  272. package/dist/tour/root/tour-root.css.js +2 -28
  273. package/dist/tour/stop/tour-stop.css.js +2 -109
  274. package/dist/tree/item/tree-item.css.js +14 -230
  275. package/dist/tree/item/tree-item.d.ts +9 -0
  276. package/dist/tree/root/tree-root.css.js +1 -40
  277. package/dist/trend/root/trend-root.css.js +5 -55
  278. package/dist/trend/root/trend-root.d.ts +2 -2
  279. package/dist/video/root/video-root.css.js +16 -398
  280. package/dist/video-playlist/item/video-playlist-item.css.js +12 -86
  281. package/dist/video-playlist/item/video-playlist-item.d.ts +12 -0
  282. package/dist/video-playlist/menu/video-playlist-menu.css.js +1 -41
  283. package/dist/video-playlist/root/video-playlist-root.css.js +1 -19
  284. package/dist/video-playlist/root/video-playlist-root.d.ts +2 -0
  285. package/dist/virtual-list/root/virtual-list-root.css.js +5 -28
  286. package/dist/virtual-list/root/virtual-list-root.d.ts +7 -1
  287. package/lint.json +1 -1
  288. package/package.json +9 -9
  289. package/types/jsx.d.ts +6997 -1154
  290. package/types/svelte.d.ts +1 -0
  291. package/types/vue.d.ts +2081 -271
@@ -1,411 +1,29 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- color-scheme: dark;
4
-
5
- --_video-rail-size: 4px;
6
- --_video-spin: 0.8s;
7
- --_video-thumb-size: 12px;
8
-
9
- display: block;
10
- position: relative;
11
- }
12
-
13
- [part="stage"] {
14
- border-radius: var(--video-radius, var(--helix-radii-md));
15
- display: block;
16
-
17
- outline: var(--helix-border-thin) solid var(--helix-color-border);
18
- outline-offset: calc(var(--helix-border-thin) * -1);
19
- overflow: hidden;
20
- position: relative;
21
- }
22
-
23
- [part="stage"]:focus-visible {
24
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
25
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
26
- }
27
-
28
- [part="video"] {
29
-
30
- aspect-ratio: var(--video-aspect-ratio, var(--video-intrinsic-ratio, 16 / 9));
31
-
32
- background-color: var(--video-well-color, var(--helix-color-surface-media));
33
- block-size: auto;
34
- display: block;
35
- inline-size: 100%;
36
- object-fit: contain;
37
- }
38
-
39
- [part="controls"] {
40
- align-items: center;
41
-
42
- color: var(--video-controls-color, var(--helix-color-foreground));
43
- display: flex;
44
- gap: var(--helix-space-xs);
45
- inset-block-end: 0;
46
- inset-inline: 0;
47
- opacity: 1;
48
- padding: var(--helix-space-xs) var(--helix-space-sm);
49
- position: absolute;
50
- transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);
51
- }
52
-
53
- :host([separation="filled"]) [part="controls"] {
54
- background-color: var(--helix-color-surface);
55
- color: var(--helix-color-foreground);
56
- }
57
-
58
- [part="stage"]::before {
59
- background-image: linear-gradient(to top, var(--helix-color-overlay), transparent);
60
- block-size: calc(var(--helix-size-icon-loose) + var(--helix-space-2xl));
61
- content: "";
62
- inset-block-end: 0;
63
- inset-inline: 0;
64
- opacity: 1;
65
- pointer-events: none;
66
- position: absolute;
67
- transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);
68
- }
69
-
70
- :host([separation="filled"]) [part="stage"]::before {
71
- content: none;
72
- }
73
-
74
- :host([separation="filled"][data-idle]:not(:focus-within)) [part="controls"] {
75
- opacity: 1;
76
- }
77
-
78
- :host([data-idle]:not(:focus-within)) [part="stage"]::before {
79
- opacity: 0;
80
- }
81
-
82
- :host([separation="plain"]) [part="stage"]::before,
83
- :host([controls]) [part="stage"]::before {
84
- content: none;
85
- }
86
-
87
- :host([data-idle]:not(:focus-within)) [part="controls"] {
88
- opacity: 0;
89
- }
90
-
91
- [part="controls"] :where(a, button) {
92
- --icon-size: var(--helix-size-icon-tight);
93
- all: unset;
94
-
95
- align-items: center;
96
- border-radius: var(--helix-radii-sm);
97
- box-sizing: border-box;
98
- color: inherit;
99
- cursor: pointer;
100
- display: flex;
101
- flex: 0 0 auto;
102
- justify-content: center;
103
- min-block-size: var(--helix-size-icon-loose);
104
- min-inline-size: var(--helix-size-icon-loose);
105
- }
106
-
107
- slot[name$="-icon"]::slotted(*) {
108
- block-size: var(--icon-size, var(--helix-size-icon));
109
- flex: 0 0 auto;
110
- inline-size: var(--icon-size, var(--helix-size-icon));
111
- }
112
-
113
- [part="controls"] :where(a, button):focus-visible,
2
+ export const styles = createSheet(`:host {color-scheme: dark;--_video-rail-size: 4px;--_video-spin: 0.8s;--_video-thumb-size: 12px;display: block;position: relative;}[part="stage"] {border-radius: var(--video-radius, var(--helix-radii-md));display: block;outline: var(--helix-border-thin) solid var(--helix-color-border);outline-offset: calc(var(--helix-border-thin) * -1);overflow: hidden;position: relative;}[part="stage"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="video"] {aspect-ratio: var(--video-aspect-ratio, var(--video-intrinsic-ratio, 16 / 9));background-color: var(--video-well-color, var(--helix-color-surface-media));block-size: auto;display: block;inline-size: 100%;object-fit: contain;}[part="controls"] {align-items: center;color: var(--video-controls-color, var(--helix-color-foreground));display: flex;gap: var(--helix-space-xs);inset-block-end: 0;inset-inline: 0;opacity: 1;padding: var(--helix-space-xs) var(--helix-space-sm);position: absolute;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);}:host([separation="filled"]) [part="controls"] {background-color: var(--helix-color-surface);color: var(--helix-color-foreground);}[part="stage"]::before {background-image: linear-gradient(to top, var(--helix-color-overlay), transparent);block-size: calc(var(--helix-size-icon-loose) + var(--helix-space-2xl));content: "";inset-block-end: 0;inset-inline: 0;opacity: 1;pointer-events: none;position: absolute;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);}:host([separation="filled"]) [part="stage"]::before {content: none;}:host([separation="filled"][data-idle]:not(:focus-within)) [part="controls"] {opacity: 1;}:host([data-idle]:not(:focus-within)) [part="stage"]::before {opacity: 0;}:host([separation="plain"]) [part="stage"]::before,
3
+ :host([controls]) [part="stage"]::before {content: none;}:host([data-idle]:not(:focus-within)) [part="controls"] {opacity: 0;}[part="controls"] :where(a, button) {--icon-size: var(--helix-size-icon-tight);all: unset;align-items: center;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: inherit;cursor: pointer;display: flex;flex: 0 0 auto;justify-content: center;min-block-size: var(--helix-size-icon-loose);min-inline-size: var(--helix-size-icon-loose);}slot[name$="-icon"]::slotted(*) {block-size: var(--icon-size, var(--helix-size-icon));flex: 0 0 auto;inline-size: var(--icon-size, var(--helix-size-icon));}[part="controls"] :where(a, button):focus-visible,
114
4
  [part="scrubber"]:focus-visible,
115
- [part="volume"]:focus-visible {
116
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
117
- outline-offset: var(--helix-size-focus-offset);
118
- }
119
-
120
- [part="time"] {
121
- color: inherit;
122
- flex: 0 0 auto;
123
- font-family: var(--helix-font-sans);
124
- font-size: var(--helix-text-xs);
125
- font-variant-numeric: tabular-nums;
126
- }
127
-
128
- [part="scrubber"],
129
- [part="volume"] {
130
- appearance: none;
131
- border-radius: var(--helix-radii-full);
132
- cursor: pointer;
133
- margin: var(--helix-space-none);
134
- }
135
-
136
- [part="scrubber"] {
137
- background-color: color-mix(in oklab, currentColor 28%, transparent);
138
- background-image: linear-gradient(
5
+ [part="volume"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="time"] {color: inherit;flex: 0 0 auto;font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);font-variant-numeric: tabular-nums;}[part="scrubber"],
6
+ [part="volume"] {appearance: none;border-radius: var(--helix-radii-full);cursor: pointer;margin: var(--helix-space-none);}[part="scrubber"] {background-color: color-mix(in oklab, currentColor 28%, transparent);background-image: linear-gradient(
139
7
  to right,
140
8
  var(--_video-fill) calc(var(--_video-at, 0) * 100%),
141
9
  transparent calc(var(--_video-at, 0) * 100%)
142
- );
143
- block-size: var(--_video-rail-size);
144
- }
145
-
146
- [part="scrubber"] {
147
- --_video-at: var(--video-progress, 0);
148
- --_video-fill: var(--video-accent-color, var(--helix-color-primary));
149
-
150
- flex: 1 1 auto;
151
- min-inline-size: 0;
152
- }
153
-
154
- [part="volume"] {
155
- --_video-at: var(--video-level, 1);
156
- --_video-fill: currentColor;
157
- }
158
-
159
- [part="sound"] {
160
- --_video-level-size: 4.5rem;
161
-
162
- --_video-level-gap: var(--helix-space-2xs);
163
- --_video-level-lift: calc(100% + var(--_video-level-gap));
164
-
165
- align-items: center;
166
- display: flex;
167
- flex: 0 0 auto;
168
- position: relative;
169
- }
170
-
171
- [part="volume"] {
172
-
173
- writing-mode: vertical-rl;
174
-
175
- background-color: color-mix(in oklab, currentColor 28%, transparent);
176
- background-image: linear-gradient(
10
+ );block-size: var(--_video-rail-size);}[part="scrubber"] {--_video-at: var(--video-progress, 0);--_video-fill: var(--video-accent-color, var(--helix-color-primary));flex: 1 1 auto;min-inline-size: 0;}[part="volume"] {--_video-at: var(--video-level, 1);--_video-fill: currentColor;}[part="sound"] {--_video-level-size: 4.5rem;--_video-level-gap: var(--helix-space-2xs);--_video-level-lift: calc(100% + var(--_video-level-gap));align-items: center;display: flex;flex: 0 0 auto;position: relative;}[part="volume"] {writing-mode: vertical-rl;background-color: color-mix(in oklab, currentColor 28%, transparent);background-image: linear-gradient(
177
11
  to top,
178
12
  var(--_video-fill) calc(var(--_video-at, 1) * 100%),
179
13
  transparent calc(var(--_video-at, 1) * 100%)
180
- );
181
-
182
- block-size: var(--_video-rail-size);
183
- bottom: var(--_video-level-lift);
184
- direction: rtl;
185
- inline-size: var(--_video-level-size);
186
-
187
- left: 50%;
188
- opacity: 0;
189
- padding: var(--helix-space-none);
190
- pointer-events: none;
191
- position: absolute;
192
- transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);
193
- translate: -50% 0;
194
- }
195
-
196
- [part="sound"]:hover [part="volume"],
197
- [part="sound"]:focus-within [part="volume"] {
198
- opacity: 1;
199
- pointer-events: auto;
200
- }
201
-
202
- [part="sound"]:hover::after,
203
- [part="sound"]:focus-within::after {
204
- block-size: var(--_video-level-gap);
205
- bottom: 100%;
206
- content: "";
207
- inline-size: var(--helix-size-icon-loose);
208
- left: 50%;
209
- position: absolute;
210
- translate: -50% 0;
211
- }
212
-
213
- [part="sound"]:hover::before,
214
- [part="sound"]:focus-within::before {
215
- background-color: var(--helix-color-overlay);
216
- border-radius: var(--helix-radii-full);
217
- content: "";
218
- block-size: calc(var(--_video-level-size) + var(--helix-space-xs) * 2);
219
-
220
- bottom: calc(var(--_video-level-lift) - var(--helix-space-xs));
221
- inline-size: var(--helix-size-icon-loose);
222
- left: 50%;
223
- position: absolute;
224
- translate: -50% 0;
225
- }
226
-
227
- [part="scrubber"]::-webkit-slider-thumb,
228
- [part="volume"]::-webkit-slider-thumb {
229
- appearance: none;
230
- background-color: currentColor;
231
- block-size: var(--_video-thumb-size);
232
- border: none;
233
- border-radius: var(--helix-radii-full);
234
- inline-size: var(--_video-thumb-size);
235
- }
236
-
237
- [part="scrubber"]::-moz-range-thumb,
238
- [part="volume"]::-moz-range-thumb {
239
- background-color: currentColor;
240
- block-size: var(--_video-thumb-size);
241
- border: none;
242
- border-radius: var(--helix-radii-full);
243
- inline-size: var(--_video-thumb-size);
244
- }
245
-
246
- :host([separation="filled"]) [part="sound"] {
247
- --_video-level-gap: calc(var(--helix-space-xs) * 2);
248
- }
249
-
250
- [part="overflow"] {
251
- display: contents;
252
- }
253
-
254
- [part="start"] {
255
- --icon-size: 40%;
256
- all: unset;
257
-
258
- align-items: center;
259
- aspect-ratio: 1;
260
- background-color: var(--helix-color-overlay);
261
- border-radius: var(--helix-radii-full);
262
- box-shadow: 0 0 0 var(--helix-border-thin)
263
- color-mix(in oklab, var(--helix-color-foreground) 40%, transparent);
264
- box-sizing: border-box;
265
- color: var(--helix-color-foreground);
266
- cursor: pointer;
267
- display: flex;
268
-
269
- inline-size: var(
14
+ );block-size: var(--_video-rail-size);bottom: var(--_video-level-lift);direction: rtl;inline-size: var(--_video-level-size);left: 50%;opacity: 0;padding: var(--helix-space-none);pointer-events: none;position: absolute;transition: opacity var(--helix-duration-fast) var(--helix-easing-standard);translate: -50% 0;}[part="sound"]:hover [part="volume"],
15
+ [part="sound"]:focus-within [part="volume"] {opacity: 1;pointer-events: auto;}[part="sound"]:hover::after,
16
+ [part="sound"]:focus-within::after {block-size: var(--_video-level-gap);bottom: 100%;content: "";inline-size: var(--helix-size-icon-loose);left: 50%;position: absolute;translate: -50% 0;}[part="sound"]:hover::before,
17
+ [part="sound"]:focus-within::before {background-color: var(--helix-color-overlay);border-radius: var(--helix-radii-full);content: "";block-size: calc(var(--_video-level-size) + var(--helix-space-xs) * 2);bottom: calc(var(--_video-level-lift) - var(--helix-space-xs));inline-size: var(--helix-size-icon-loose);left: 50%;position: absolute;translate: -50% 0;}[part="scrubber"]::-webkit-slider-thumb,
18
+ [part="volume"]::-webkit-slider-thumb {appearance: none;background-color: currentColor;block-size: var(--_video-thumb-size);border: none;border-radius: var(--helix-radii-full);inline-size: var(--_video-thumb-size);}[part="scrubber"]::-moz-range-thumb,
19
+ [part="volume"]::-moz-range-thumb {background-color: currentColor;block-size: var(--_video-thumb-size);border: none;border-radius: var(--helix-radii-full);inline-size: var(--_video-thumb-size);}:host([separation="filled"]) [part="sound"] {--_video-level-gap: calc(var(--helix-space-xs) * 2);}[part="overflow"] {display: contents;}[part="start"] {--icon-size: 40%;all: unset;align-items: center;aspect-ratio: 1;background-color: var(--helix-color-overlay);border-radius: var(--helix-radii-full);box-shadow: 0 0 0 var(--helix-border-thin)
20
+ color-mix(in oklab, var(--helix-color-foreground) 40%, transparent);box-sizing: border-box;color: var(--helix-color-foreground);cursor: pointer;display: flex;inline-size: var(
270
21
  --video-start-size,
271
22
  clamp(var(--helix-size-control), 15%, calc(var(--helix-size-control-loose) * 1.5))
272
- );
273
- inset-block-start: 50%;
274
- inset-inline-start: 50%;
275
- justify-content: center;
276
- position: absolute;
277
- transition: background-color var(--helix-duration-fast) var(--helix-easing-standard);
278
- translate: -50% -50%;
279
- }
280
-
281
- [part="start"]:hover {
282
- background-color: color-mix(
23
+ );inset-block-start: 50%;inset-inline-start: 50%;justify-content: center;position: absolute;transition: background-color var(--helix-duration-fast) var(--helix-easing-standard);translate: -50% -50%;}[part="start"]:hover {background-color: color-mix(
283
24
  in oklab,
284
25
  var(--helix-color-overlay) 88%,
285
26
  var(--helix-color-foreground)
286
- );
287
- }
288
-
289
- [part="start"]:focus-visible {
290
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
291
- outline-offset: var(--helix-size-focus-offset);
292
- }
293
-
294
- [part="cue"] {
295
- background-color: var(--helix-color-overlay);
296
- border-radius: var(--helix-radii-sm);
297
- color: var(--helix-color-foreground);
298
- font-family: var(--helix-font-sans);
299
- font-size: var(--helix-text-md);
300
- inline-size: max-content;
301
- inset-block-end: calc(var(--helix-size-icon-loose) + var(--helix-space-lg));
302
- inset-inline-start: 50%;
303
- margin: var(--helix-space-none);
304
- max-inline-size: min(80%, 36rem);
305
- padding: var(--helix-space-2xs) var(--helix-space-xs);
306
- position: absolute;
307
- text-align: center;
308
- text-wrap: balance;
309
- transition: inset-block-end var(--helix-duration-fast) var(--helix-easing-standard);
310
- translate: -50% 0;
311
- }
312
-
313
- :host([data-idle]:not(:focus-within)) [part="cue"] {
314
- inset-block-end: var(--helix-space-lg);
315
- }
316
-
317
- [part="poster"] {
318
- display: block;
319
- inset: 0;
320
-
321
- pointer-events: none;
322
- position: absolute;
323
- }
324
-
325
- [part="poster"]::slotted(*) {
326
- pointer-events: auto;
327
- }
328
-
329
- [part="poster"]::slotted(*) {
330
- block-size: 100%;
331
- display: block;
332
- inline-size: 100%;
333
- object-fit: contain;
334
- }
335
-
336
- [part="speed"] {
337
- font-family: var(--helix-font-sans);
338
- font-size: var(--helix-text-xs);
339
- font-variant-numeric: tabular-nums;
340
- font-weight: var(--helix-weight-medium);
341
- min-inline-size: var(--video-speed-size, 2.5rem);
342
- }
343
-
344
- [part~="remote"][aria-pressed="true"] {
345
- color: var(--helix-color-primary);
346
- }
347
-
348
- [part="loading"],
349
- [part="failure"] {
350
- align-items: center;
351
- background-color: color-mix(in oklab, var(--helix-color-surface-media) 72%, transparent);
352
- border-radius: var(--helix-radii-md);
353
- color: var(--helix-color-foreground-media);
354
- display: flex;
355
- font-family: var(--helix-font-sans);
356
- font-size: var(--helix-text-sm);
357
- gap: var(--helix-space-xs);
358
- inset-block-start: 50%;
359
- inset-inline-start: 50%;
360
- padding: var(--helix-space-xs) var(--helix-space-sm);
361
- position: absolute;
362
- translate: -50% -50%;
363
- }
364
-
365
- [part="loading"]::before {
366
- animation: video-spin var(--_video-spin) linear infinite;
367
- block-size: var(--helix-size-icon-tight);
368
- border: var(--helix-border-thick) solid
369
- color-mix(in oklab, var(--helix-color-foreground-media) 30%, transparent);
370
- border-block-start-color: var(--helix-color-foreground-media);
371
- border-radius: var(--helix-radii-full);
372
- content: "";
373
- flex: 0 0 auto;
374
- inline-size: var(--helix-size-icon-tight);
375
- }
376
-
377
- @keyframes video-spin {
378
- to {
379
- rotate: 1turn;
380
- }
381
- }
382
-
383
- @media (prefers-reduced-motion: reduce) {
384
- [part="loading"]::before {
385
- animation: none;
386
- }
387
- }
388
-
389
- [part="header"] {
390
- align-items: center;
391
-
392
- color: var(--video-controls-color, var(--helix-color-foreground));
393
- display: flex;
394
- gap: var(--helix-space-sm);
395
- inset-block-start: var(--helix-space-sm);
396
- inset-inline-start: var(--helix-space-sm);
397
- max-inline-size: calc(100% - 2 * var(--helix-space-sm));
398
- opacity: inherit;
399
- position: absolute;
400
- z-index: var(--helix-layer-raised);
401
- }
402
-
403
- [part="header"]:not(:has(*)) {
404
- display: none;
405
- }
406
-
407
- @media print {
408
- :host {
409
- display: none;
410
- }
411
- }`);
27
+ );}[part="start"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="cue"] {background-color: var(--helix-color-overlay);border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground);font-family: var(--helix-font-sans);font-size: var(--helix-text-md);inline-size: max-content;inset-block-end: calc(var(--helix-size-icon-loose) + var(--helix-space-lg));inset-inline-start: 50%;margin: var(--helix-space-none);max-inline-size: min(80%, 36rem);padding: var(--helix-space-2xs) var(--helix-space-xs);position: absolute;text-align: center;text-wrap: balance;transition: inset-block-end var(--helix-duration-fast) var(--helix-easing-standard);translate: -50% 0;}:host([data-idle]:not(:focus-within)) [part="cue"] {inset-block-end: var(--helix-space-lg);}[part="poster"] {display: block;inset: 0;pointer-events: none;position: absolute;}[part="poster"]::slotted(*) {pointer-events: auto;}[part="poster"]::slotted(*) {block-size: 100%;display: block;inline-size: 100%;object-fit: contain;}[part="speed"] {font-family: var(--helix-font-sans);font-size: var(--helix-text-xs);font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);min-inline-size: var(--video-speed-size, 2.5rem);}[part~="remote"][aria-pressed="true"] {color: var(--helix-color-primary);}[part="loading"],
28
+ [part="failure"] {align-items: center;background-color: color-mix(in oklab, var(--helix-color-surface-media) 72%, transparent);border-radius: var(--helix-radii-md);color: var(--helix-color-foreground-media);display: flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);gap: var(--helix-space-xs);inset-block-start: 50%;inset-inline-start: 50%;padding: var(--helix-space-xs) var(--helix-space-sm);position: absolute;translate: -50% -50%;}[part="loading"]::before {animation: video-spin var(--_video-spin) linear infinite;block-size: var(--helix-size-icon-tight);border: var(--helix-border-thick) solid
29
+ color-mix(in oklab, var(--helix-color-foreground-media) 30%, transparent);border-block-start-color: var(--helix-color-foreground-media);border-radius: var(--helix-radii-full);content: "";flex: 0 0 auto;inline-size: var(--helix-size-icon-tight);}@keyframes video-spin {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="loading"]::before {animation: none;}}[part="header"] {align-items: center;color: var(--video-controls-color, var(--helix-color-foreground));display: flex;gap: var(--helix-space-sm);inset-block-start: var(--helix-space-sm);inset-inline-start: var(--helix-space-sm);max-inline-size: calc(100% - 2 * var(--helix-space-sm));opacity: inherit;position: absolute;z-index: var(--helix-layer-raised);}[part="header"]:not(:has(*)) {display: none;}@media print {:host {display: none;}}`);
@@ -1,88 +1,14 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: block;
4
- }
5
-
6
- [part~="item"] {
7
- all: unset;
8
- box-sizing: border-box;
9
-
10
- align-items: center;
11
- background-color: var(--video-playlist-item-background-color, transparent);
12
- border-radius: var(--helix-radii-sm);
13
- cursor: pointer;
14
- display: flex;
15
- gap: var(--helix-space-sm);
16
- inline-size: 100%;
17
-
18
- padding: var(--helix-space-2xs) var(--helix-space-2xs) var(--helix-space-2xs)
19
- var(--helix-space-sm);
20
- position: relative;
21
- text-align: start;
22
- transition:
2
+ export const styles = createSheet(`:host {display: block;}[part~="item"] {all: unset;box-sizing: border-box;align-items: center;background-color: var(--video-playlist-item-background-color, transparent);border-radius: var(--video-playlist-item-radius, var(--helix-radii-sm));cursor: pointer;display: flex;gap: var(--video-playlist-item-gap, var(--helix-space-sm));inline-size: 100%;padding: var(--video-playlist-item-padding-block, var(--helix-space-2xs))
3
+ var(--video-playlist-item-padding-inline-end, var(--helix-space-2xs))
4
+ var(--video-playlist-item-padding-block, var(--helix-space-2xs))
5
+ var(--video-playlist-item-padding-inline-start, var(--helix-space-sm));position: relative;text-align: start;transition:
23
6
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
24
- color var(--helix-duration-fast) var(--helix-easing-standard);
25
- }
26
-
27
- :host(:not([disabled])) [part~="item"]:hover {
28
- background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);
29
- }
30
-
31
- [part~="item"]:focus-visible {
32
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
33
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
34
- }
35
-
36
- [part~="item"][aria-current="true"] {
37
- background-color: color-mix(in oklab, var(--helix-color-foreground) 6%, transparent);
38
- color: var(--helix-color-foreground);
39
- }
40
-
41
- [part~="item"][aria-current="true"]::before {
42
- background-color: var(--helix-color-primary);
43
- border-radius: var(--helix-radii-full);
44
- content: "";
45
- inline-size: var(--helix-border-thick);
46
- inset-block: var(--helix-space-2xs);
47
- inset-inline-start: var(--helix-space-2xs);
48
- position: absolute;
49
- }
50
-
51
- :host([disabled]) [part~="item"] {
52
- cursor: not-allowed;
53
- opacity: 0.5;
54
- }
55
-
56
- [part="media"] {
57
- aspect-ratio: 16 / 9;
58
- border-radius: var(--helix-radii-sm);
59
- flex: 0 0 auto;
60
- inline-size: var(--video-playlist-media-size, 5rem);
61
- overflow: hidden;
62
- }
63
-
64
- [part="media"] ::slotted(*),
65
- [part="thumbnail"] {
66
- block-size: 100%;
67
- display: block;
68
- inline-size: 100%;
69
- object-fit: cover;
70
- }
71
-
72
- [part="label"] {
73
- color: var(--helix-color-foreground);
74
- display: flex;
75
- flex-direction: column;
76
- font-family: var(--helix-font-sans);
77
- font-size: var(--helix-text-sm);
78
- font-weight: var(--helix-weight-medium);
79
- gap: var(--helix-space-2xs);
80
- line-height: var(--helix-leading-tight);
81
- min-inline-size: 0;
82
- }
83
-
84
- [part="label"] ::slotted([slot="meta"]) {
85
- color: var(--helix-color-foreground-subtle);
86
- font-size: var(--helix-text-xs);
87
- font-weight: var(--helix-weight-regular);
88
- }`);
7
+ color var(--helix-duration-fast) var(--helix-easing-standard);}:host(:not([disabled])) [part~="item"]:hover {background-color: var(
8
+ --video-playlist-item-hover-background-color,
9
+ color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
10
+ );}[part~="item"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part~="item"][aria-current="true"] {background-color: var(
11
+ --video-playlist-item-current-background-color,
12
+ color-mix(in oklab, var(--helix-color-foreground) 6%, transparent)
13
+ );color: var(--helix-color-foreground);}[part~="item"][aria-current="true"]::before {background-color: var(--video-playlist-item-current-mark-color, var(--helix-color-primary));border-radius: var(--helix-radii-full);content: "";inline-size: var(--helix-border-thick);inset-block: var(--helix-space-2xs);inset-inline-start: var(--helix-space-2xs);position: absolute;}:host([disabled]) [part~="item"] {cursor: not-allowed;opacity: 0.5;}[part="media"] {aspect-ratio: var(--video-playlist-media-aspect-ratio, 16 / 9);border-radius: var(--video-playlist-media-radius, var(--helix-radii-sm));flex: 0 0 auto;inline-size: var(--video-playlist-media-size, 5rem);overflow: hidden;}[part="media"] ::slotted(*),
14
+ [part="thumbnail"] {block-size: 100%;display: block;inline-size: 100%;object-fit: cover;}[part="label"] {color: var(--video-playlist-item-color, var(--helix-color-foreground));display: flex;flex-direction: column;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-weight: var(--helix-weight-medium);gap: var(--helix-space-2xs);line-height: var(--helix-leading-tight);min-inline-size: 0;}[part="label"] ::slotted([slot="meta"]) {color: var(--video-playlist-item-meta-color, var(--helix-color-foreground-subtle));font-size: var(--helix-text-xs);font-weight: var(--helix-weight-regular);}`);
@@ -13,6 +13,18 @@ import type { CSSResultGroup } from 'lit';
13
13
  * @documentation https://fusion.dev/helix/components/video-playlist
14
14
  *
15
15
  * @cssproperty --video-playlist-item-background-color - The fill behind a row.
16
+ * @cssproperty --video-playlist-item-color - The color of an entry's name.
17
+ * @cssproperty --video-playlist-item-current-background-color - The fill behind the entry that is playing.
18
+ * @cssproperty --video-playlist-item-current-mark-color - The color of the bar beside the entry that is playing.
19
+ * @cssproperty --video-playlist-item-gap - The space between the thumbnail and the name.
20
+ * @cssproperty --video-playlist-item-hover-background-color - The fill behind a row under the pointer.
21
+ * @cssproperty --video-playlist-item-meta-color - The color of the content in the `meta` slot.
22
+ * @cssproperty --video-playlist-item-padding-block - The space above and below a row's content.
23
+ * @cssproperty --video-playlist-item-padding-inline-end - The space after a row's content.
24
+ * @cssproperty --video-playlist-item-padding-inline-start - The space before a row's content, where the bar beside the playing entry sits.
25
+ * @cssproperty --video-playlist-item-radius - The corner radius of a row.
26
+ * @cssproperty --video-playlist-media-aspect-ratio - The shape of the thumbnail column.
27
+ * @cssproperty --video-playlist-media-radius - The corner radius of the thumbnail.
16
28
  * @cssproperty --video-playlist-media-size - The width of the thumbnail column.
17
29
  */
18
30
  export declare class HelixVideoPlaylistItem extends HelixHeadlessVideoPlaylistItem {
@@ -1,42 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: flex;
4
- flex: 0 0 auto;
5
- }
6
-
7
- [part="trigger"] {
8
- --icon-size: var(--video-playlist-menu-size, var(--helix-size-icon-tight));
9
- all: unset;
10
-
11
- align-items: center;
12
- border-radius: var(--helix-radii-sm);
13
- box-sizing: border-box;
14
- color: var(--video-playlist-menu-color, inherit);
15
- cursor: pointer;
16
- display: flex;
17
- flex: 0 0 auto;
18
- justify-content: center;
19
- min-block-size: var(--helix-size-icon-loose);
20
- min-inline-size: var(--helix-size-icon-loose);
21
- }
22
-
23
- [part="trigger"]:focus-visible {
24
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
25
- outline-offset: var(--helix-size-focus-offset);
26
- }
27
-
28
- [part="entry"] {
29
- --menu-item-start: var(--video-playlist-menu-poster, calc(var(--helix-size-icon-loose) * 2));
30
- }
31
-
32
- [part="entry"]::part(item) {
33
- padding-block: var(--helix-space-2xs);
34
- }
35
-
36
- [part="poster"] {
37
- aspect-ratio: 16 / 9;
38
- border-radius: var(--helix-radii-sm);
39
- display: block;
40
- inline-size: 100%;
41
- object-fit: cover;
42
- }`);
2
+ export const styles = createSheet(`:host {display: flex;flex: 0 0 auto;}[part="trigger"] {--icon-size: var(--video-playlist-menu-size, var(--helix-size-icon-tight));all: unset;align-items: center;border-radius: var(--helix-radii-sm);box-sizing: border-box;color: var(--video-playlist-menu-color, inherit);cursor: pointer;display: flex;flex: 0 0 auto;justify-content: center;min-block-size: var(--helix-size-icon-loose);min-inline-size: var(--helix-size-icon-loose);}[part="trigger"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="entry"] {--menu-item-start: var(--video-playlist-menu-poster, calc(var(--helix-size-icon-loose) * 2));}[part="entry"]::part(item) {padding-block: var(--helix-space-2xs);}[part="poster"] {aspect-ratio: 16 / 9;border-radius: var(--helix-radii-sm);display: block;inline-size: 100%;object-fit: cover;}`);
@@ -1,20 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: grid;
4
- gap: var(--helix-space-md);
5
- grid-template-columns: var(--video-playlist-layout, 1fr);
6
- }
7
-
8
- [part="items"] {
9
- display: flex;
10
- flex-direction: column;
11
- gap: var(--helix-space-2xs);
12
- max-block-size: var(--video-playlist-size, 26rem);
13
- overflow-y: auto;
14
- }
15
-
16
- @media print {
17
- :host {
18
- display: none;
19
- }
20
- }`);
2
+ export const styles = createSheet(`:host {display: grid;gap: var(--video-playlist-gap, var(--helix-space-md));grid-template-columns: var(--video-playlist-layout, 1fr);}[part="items"] {display: flex;flex-direction: column;gap: var(--video-playlist-items-gap, var(--helix-space-2xs));max-block-size: var(--video-playlist-size, 26rem);overflow-y: auto;}@media print {:host {display: none;}}`);
@@ -13,6 +13,8 @@ import type { CSSResultGroup } from 'lit';
13
13
  * @aliases Playlist, Queue, Up next
14
14
  * @documentation https://fusion.dev/helix/components/video-playlist
15
15
  *
16
+ * @cssproperty --video-playlist-gap - The space between the player and the list.
17
+ * @cssproperty --video-playlist-items-gap - The space between the entries.
16
18
  * @cssproperty --video-playlist-layout - The grid columns for the player and the list.
17
19
  * @cssproperty --video-playlist-size - The height the list reaches before it scrolls.
18
20
  */
@@ -1,29 +1,6 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: block;
4
- }
5
-
6
- [part="viewport"] {
7
- block-size: var(--virtual-list-block-size, 20em);
8
-
9
- margin-inline: calc(var(--helix-size-focus-reach) * -1);
10
- overflow-y: auto;
11
- overscroll-behavior: contain;
12
- padding-inline: var(--helix-size-focus-reach);
13
- }
14
-
15
- ::slotted([data-index]:focus-visible) {
16
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
17
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
18
- }
19
-
20
- [part="after"],
21
- [part="before"] {
22
- flex: none;
23
- }
24
-
25
- @media print {
26
- :host {
27
- overflow: visible;
28
- }
29
- }`);
2
+ export const styles = createSheet(`:host {display: block;}[part="viewport"] {block-size: var(--virtual-list-block-size, 20em);margin-inline: calc(var(--helix-size-focus-reach) * -1);overflow-y: auto;overscroll-behavior: contain;padding-inline: var(--helix-size-focus-reach);scrollbar-color: var(--helix-color-border) transparent;scrollbar-width: thin;}::slotted([data-index]:focus-visible) {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}::slotted([aria-selected="true"]) {background-color: var(
3
+ --virtual-list-selected-background-color,
4
+ var(--helix-color-primary-subtle)
5
+ );}[part="loading"] {color: var(--virtual-list-loading-color, var(--helix-color-foreground-muted));font-size: var(--helix-text-sm);padding: var(--virtual-list-loading-padding, var(--helix-space-sm));text-align: center;}[part="after"],
6
+ [part="before"] {flex: none;}@media print {:host {overflow: visible;}}`);