@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,42 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
-
4
- --_orb-size: calc(var(--helix-size-loader-lg) * 1.5);
5
-
6
- --_orb-color: var(--orb-color, currentColor);
7
- --_orb-ground: var(--orb-ground, var(--helix-color-background));
8
-
9
- block-size: var(--orb-size, var(--_orb-size));
10
-
11
- display: inline-block;
12
- flex-shrink: 0;
13
- inline-size: var(--orb-size, var(--_orb-size));
14
- vertical-align: middle;
15
- }
16
-
17
- :host([size="sm"]) {
18
- --_orb-size: var(--helix-size-loader-md);
19
- }
20
-
21
- :host([size="lg"]) {
22
- --_orb-size: calc(var(--helix-size-loader-lg) * 2);
23
- }
24
-
25
- [part="canvas"] {
26
- block-size: 100%;
27
-
28
- color: var(--_orb-color);
29
- display: block;
30
- inline-size: 100%;
31
- text-decoration-color: var(--_orb-ground);
32
- }
33
-
34
- [part="canvas"][hidden] {
35
- display: none;
36
- }
37
-
38
- @media print {
39
- :host {
40
- display: none;
41
- }
42
- }`);
2
+ export const styles = createSheet(`:host {--_orb-size: calc(var(--helix-size-loader-lg) * 1.5);--_orb-color: var(--orb-color, currentColor);--_orb-ground: var(--orb-ground, var(--helix-color-background));block-size: var(--orb-size, var(--_orb-size));display: inline-block;flex-shrink: 0;inline-size: var(--orb-size, var(--_orb-size));vertical-align: middle;}:host([size="sm"]) {--_orb-size: var(--helix-size-loader-md);}:host([size="lg"]) {--_orb-size: calc(var(--helix-size-loader-lg) * 2);}[part="canvas"] {block-size: 100%;color: var(--_orb-color);display: block;inline-size: 100%;text-decoration-color: var(--_orb-ground);}[part="canvas"][hidden] {display: none;}@media print {:host {display: none;}}`);
@@ -1,140 +1,42 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
-
4
- --outline-rail: var(--helix-space-2xs);
5
- display: block;
6
- }
7
-
8
- [part="nav"] {
9
- background-image: linear-gradient(var(--helix-color-border), var(--helix-color-border));
10
-
11
- background-position: calc((var(--outline-rail) - var(--helix-border-thin)) / 2) 0;
12
- background-repeat: repeat-y;
13
- background-size: var(--helix-border-thin) 100%;
14
- display: flex;
15
- flex-direction: column;
16
-
17
- position: relative;
18
- }
19
-
20
- [part="indicator"] {
21
- --_mark-width: var(--helix-border-thin);
22
-
23
- background-color: var(--helix-color-primary);
24
- block-size: var(--indicator-block-size, 0);
25
- border-radius: var(--helix-radii-full);
26
- inline-size: var(--_mark-width);
27
- inset-block-start: 0;
28
- inset-inline-start: calc((var(--outline-rail) - var(--_mark-width)) / 2);
29
- opacity: 0;
30
- position: absolute;
31
- translate: 0 var(--indicator-y, 0);
32
-
33
- transition:
2
+ export const styles = createSheet(`:host {--outline-rail: var(--helix-space-2xs);display: block;}[part="nav"] {background-image: linear-gradient(
3
+ var(--outline-rule-color, var(--helix-color-border)),
4
+ var(--outline-rule-color, var(--helix-color-border))
5
+ );background-position: calc((var(--outline-rail) - var(--helix-border-thin)) / 2) 0;background-repeat: repeat-y;background-size: var(--helix-border-thin) 100%;display: flex;flex-direction: column;position: relative;}[part="indicator"] {--_mark-width: var(--helix-border-thin);background-color: var(--outline-indicator-color, var(--helix-color-primary));block-size: var(--indicator-block-size, 0);border-radius: var(--helix-radii-full);inline-size: var(--_mark-width);inset-block-start: 0;inset-inline-start: calc((var(--outline-rail) - var(--_mark-width)) / 2);opacity: 0;position: absolute;translate: 0 var(--indicator-y, 0);transition:
34
6
  translate var(--helix-duration-normal) var(--helix-easing-spring),
35
7
  block-size var(--helix-duration-slow) var(--helix-easing-decelerate),
36
8
  inline-size var(--helix-duration-normal) var(--helix-easing-standard),
37
9
  inset-inline-start var(--helix-duration-normal) var(--helix-easing-standard),
38
- opacity var(--helix-duration-fast) var(--helix-easing-standard);
39
- }
40
-
41
- [part="indicator"][data-placed] {
42
- opacity: 1;
43
- }
44
-
45
- :host(:hover) [part="indicator"]:not([data-moving]) {
46
- --_mark-width: var(--helix-border-thick);
47
- }
48
-
49
- [part="indicator"][data-moving] {
50
- --_mark-width: var(--outline-rail);
51
-
52
- transition:
10
+ opacity var(--helix-duration-fast) var(--helix-easing-standard);}[part="indicator"][data-placed] {opacity: 1;}:host(:hover) [part="indicator"]:not([data-moving]) {--_mark-width: var(--helix-border-thick);}[part="indicator"][data-moving] {--_mark-width: var(--outline-rail);transition:
53
11
  translate var(--helix-duration-normal) var(--helix-easing-spring),
54
12
  block-size var(--helix-duration-slow) var(--helix-easing-decelerate),
55
13
  inline-size var(--helix-duration-fast) var(--helix-easing-decelerate),
56
14
  inset-inline-start var(--helix-duration-fast) var(--helix-easing-decelerate),
57
- opacity var(--helix-duration-fast) var(--helix-easing-standard);
58
- }
59
-
60
- ::slotted(a) {
61
- border-radius: var(--helix-radii-sm);
62
- color: var(--helix-color-foreground-muted);
63
-
64
- font-size: var(--helix-text-xs);
65
-
66
- font-weight: var(--helix-weight-medium);
67
- line-height: var(--helix-leading-normal);
68
-
69
- margin-inline-start: var(--outline-rail, var(--helix-border-thick));
70
- padding-block: var(--helix-space-2xs);
71
- padding-inline: var(--helix-space-sm);
72
- text-decoration: none;
73
- transition:
15
+ opacity var(--helix-duration-fast) var(--helix-easing-standard);}::slotted(a) {border-radius: var(--outline-link-radius, var(--helix-radii-sm));color: var(--outline-link-color, var(--helix-color-foreground-muted));font-size: var(--outline-link-font-size, var(--helix-text-xs));font-weight: var(--helix-weight-medium);line-height: var(--helix-leading-normal);margin-inline-start: var(--outline-rail, var(--helix-border-thick));padding-block: var(--outline-link-padding-block, var(--helix-space-2xs));padding-inline: var(--outline-link-padding-inline, var(--helix-space-sm));text-decoration: none;transition:
74
16
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
75
- color var(--helix-duration-fast) var(--helix-easing-standard);
76
- }
77
-
78
- ::slotted(a):hover {
79
- background-color: color-mix(in oklab, var(--helix-color-foreground) 5%, transparent);
80
- color: var(--helix-color-foreground);
81
- text-decoration: none;
82
- }
83
-
84
- ::slotted(a[aria-current]) {
85
- color: var(--helix-color-foreground);
86
-
87
- font-weight: var(--helix-weight-semibold);
88
- }
89
-
90
- ::slotted(a[data-level="2"]) {
91
- padding-inline-start: calc(var(--helix-space-sm) + var(--outline-indent, var(--helix-space-sm)));
92
- }
93
-
94
- ::slotted(a[data-level="3"]) {
95
- padding-inline-start: calc(
96
- var(--helix-space-sm) +
17
+ color var(--helix-duration-fast) var(--helix-easing-standard);}::slotted(a):hover {background-color: var(
18
+ --outline-link-hover-background-color,
19
+ color-mix(in oklab, var(--helix-color-foreground) 5%, transparent)
20
+ );color: var(--outline-link-hover-color, var(--helix-color-foreground));text-decoration: none;}::slotted(a[aria-current]) {color: var(--outline-link-current-color, var(--helix-color-foreground));font-weight: var(--outline-link-current-weight, var(--helix-weight-semibold));}::slotted(a[data-level="2"]) {padding-inline-start: calc(
21
+ var(--outline-link-padding-inline, var(--helix-space-sm)) +
22
+ var(--outline-indent, var(--helix-space-sm))
23
+ );}::slotted(a[data-level="3"]) {padding-inline-start: calc(
24
+ var(--outline-link-padding-inline, var(--helix-space-sm)) +
97
25
  2 *
98
26
  var(--outline-indent, var(--helix-space-sm))
99
- );
100
- }
101
-
102
- ::slotted(a[data-level="4"]) {
103
- padding-inline-start: calc(
104
- var(--helix-space-sm) +
27
+ );}::slotted(a[data-level="4"]) {padding-inline-start: calc(
28
+ var(--outline-link-padding-inline, var(--helix-space-sm)) +
105
29
  3 *
106
30
  var(--outline-indent, var(--helix-space-sm))
107
- );
108
- }
109
-
110
- ::slotted(a[data-level="5"]) {
111
- padding-inline-start: calc(
112
- var(--helix-space-sm) +
31
+ );}::slotted(a[data-level="5"]) {padding-inline-start: calc(
32
+ var(--outline-link-padding-inline, var(--helix-space-sm)) +
113
33
  4 *
114
34
  var(--outline-indent, var(--helix-space-sm))
115
- );
116
- }
117
-
118
- ::slotted(a[data-level="6"]) {
119
- padding-inline-start: calc(
120
- var(--helix-space-sm) +
35
+ );}::slotted(a[data-level="6"]) {padding-inline-start: calc(
36
+ var(--outline-link-padding-inline, var(--helix-space-sm)) +
121
37
  5 *
122
38
  var(--outline-indent, var(--helix-space-sm))
123
- );
124
- }
125
-
126
- ::slotted([slot="heading"]) {
127
- color: var(--helix-color-foreground);
128
- font-size: var(--helix-text-xs);
129
- font-weight: var(--helix-weight-semibold);
130
- line-height: var(--helix-leading-normal);
131
- margin-block: 0 var(--helix-space-xs);
132
- margin-inline: 0;
133
- padding-inline-start: calc(var(--outline-rail) + var(--helix-space-sm));
134
- }
135
-
136
- @media print {
137
- :host {
138
- print-color-adjust: economy;
139
- }
140
- }`);
39
+ );}::slotted([slot="heading"]) {color: var(--outline-heading-color, var(--helix-color-foreground));font-size: var(--helix-text-xs);font-weight: var(--helix-weight-semibold);line-height: var(--helix-leading-normal);margin-block: 0 var(--helix-space-xs);margin-inline: 0;padding-inline-start: calc(
40
+ var(--outline-rail) +
41
+ var(--outline-link-padding-inline, var(--helix-space-sm))
42
+ );}@media print {:host {print-color-adjust: economy;}}`);
@@ -12,10 +12,11 @@ import type { CSSResultGroup } from 'lit';
12
12
  * `data-level` is at the top level. The outline does not read heading levels
13
13
  * from the document, because the headings are not always in the document.
14
14
  *
15
- * Links in a nested `<ul>` take their indentation from your own stylesheet:
16
- * the outline's styles reach the elements slotted into it and nothing inside
17
- * them. Write the links flat with `data-level` for the indentation drawn here,
18
- * and screen readers still hear them as nested lists.
15
+ * Links in a nested `<ul>` are styled by `helix.css`, since the outline's own
16
+ * styles reach the elements slotted into it and nothing inside them: the lists
17
+ * lose their bullets, each inner list is inset by `--outline-indent`, and the
18
+ * links read the same hooks as flat ones. Those rules have no specificity, so
19
+ * any rule of yours wins. Screen readers hear the levels either way.
19
20
  *
20
21
  * A heading slotted into `heading` is set above the links, lined up with them.
21
22
  *
@@ -25,8 +26,20 @@ import type { CSSResultGroup } from 'lit';
25
26
  * @aliases Table of contents, On this page, Outline
26
27
  * @documentation https://fusion.dev/helix/components/outline
27
28
  *
29
+ * @cssproperty --outline-heading-color - The color of the heading in the `heading` slot.
28
30
  * @cssproperty --outline-indent - How far each level is inset from the one above.
31
+ * @cssproperty --outline-indicator-color - The color of the mark that moves to the section in view.
32
+ * @cssproperty --outline-link-color - The color of a link.
33
+ * @cssproperty --outline-link-current-color - The color of the link to the section in view.
34
+ * @cssproperty --outline-link-current-weight - The weight of the link to the section in view.
35
+ * @cssproperty --outline-link-font-size - The size of a link's text.
36
+ * @cssproperty --outline-link-hover-background-color - The fill behind a link under the pointer.
37
+ * @cssproperty --outline-link-hover-color - The color of a link under the pointer.
38
+ * @cssproperty --outline-link-padding-block - The space above and below a link's text.
39
+ * @cssproperty --outline-link-padding-inline - The space either side of a link's text, before any indent.
40
+ * @cssproperty --outline-link-radius - The corner radius of a link's hover fill.
29
41
  * @cssproperty --outline-rail - The width of the gutter that holds the line and the moving mark.
42
+ * @cssproperty --outline-rule-color - The color of the line down the leading edge.
30
43
  */
31
44
  export declare class HelixOutline extends HelixHeadlessOutline {
32
45
  static styles: CSSResultGroup;
@@ -1,133 +1,37 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- align-items: center;
4
- display: flex;
5
- flex-wrap: wrap;
6
- font-size: var(--helix-text-sm);
7
- gap: var(--pagination-gap, var(--helix-space-2xs));
8
- }
9
-
10
- [part="list"] {
11
- align-items: center;
12
- display: flex;
13
- flex-wrap: wrap;
14
- gap: var(--pagination-gap, var(--helix-space-2xs));
15
-
16
- list-style: none;
17
- margin: var(--helix-space-none);
18
- padding: var(--helix-space-none);
19
- }
20
-
21
- [part="item"] {
22
- display: inline-flex;
23
- }
24
-
25
- [part="first"],
2
+ export const styles = createSheet(`:host {align-items: center;display: flex;flex-wrap: wrap;font-size: var(--helix-text-sm);gap: var(--pagination-gap, var(--helix-space-2xs));}[part="list"] {align-items: center;display: flex;flex-wrap: wrap;gap: var(--pagination-gap, var(--helix-space-2xs));list-style: none;margin: var(--helix-space-none);padding: var(--helix-space-none);}[part="item"] {display: inline-flex;}[part="first"],
26
3
  [part="gap"],
27
4
  [part="last"],
28
5
  [part~="page"],
29
6
  [part="previous"],
30
- [part="next"] {
31
- align-items: center;
32
- appearance: none;
33
- background-color: transparent;
34
- block-size: var(--pagination-size, var(--helix-size-control-tight));
35
- border: var(--helix-border-thin) solid transparent;
36
- border-radius: var(--helix-radii-sm);
37
- color: var(--helix-color-foreground-muted);
38
- cursor: pointer;
39
- display: inline-flex;
40
- font: inherit;
41
- font-variant-numeric: tabular-nums;
42
- font-weight: var(--helix-weight-medium);
43
- justify-content: center;
44
- min-inline-size: var(--pagination-size, var(--helix-size-control-tight));
45
- padding-inline: var(--helix-space-2xs);
46
- text-decoration: none;
47
- transition:
7
+ [part="next"] {align-items: center;appearance: none;background-color: transparent;block-size: var(--pagination-size, var(--helix-size-control-tight));border: var(--helix-border-thin) solid transparent;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;font: inherit;font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);justify-content: center;min-inline-size: var(--pagination-size, var(--helix-size-control-tight));padding-inline: var(--helix-space-2xs);text-decoration: none;transition:
48
8
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
49
- color var(--helix-duration-fast) var(--helix-easing-standard);
50
- }
51
-
52
- [part="first"]:hover,
9
+ color var(--helix-duration-fast) var(--helix-easing-standard);}[part="first"]:hover,
53
10
  [part="gap"]:hover,
54
11
  [part="last"]:hover,
55
12
  [part~="page"]:hover,
56
13
  [part="previous"]:hover,
57
- [part="next"]:hover {
58
- background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));
59
- color: var(--helix-color-foreground);
60
- }
61
-
62
- [part="first"]:focus-visible,
14
+ [part="next"]:hover {background-color: var(--pagination-hover-color, var(--helix-color-surface-sunken));color: var(--helix-color-foreground);}[part="first"]:focus-visible,
63
15
  [part="gap"]:focus-visible,
64
16
  [part="last"]:focus-visible,
65
17
  [part~="page"]:focus-visible,
66
18
  [part="previous"]:focus-visible,
67
- [part="next"]:focus-visible {
68
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
69
- outline-offset: var(--helix-size-focus-offset);
70
- }
71
-
72
- [part~="page"][aria-current="page"],
73
- [part~="page"][aria-current="page"]:hover {
74
- background-color: var(--pagination-current-color, var(--helix-color-surface-raised));
75
- border-color: var(--helix-color-border);
76
- color: var(--helix-color-foreground);
77
- font-weight: var(--helix-weight-semibold);
78
- }
79
-
80
- [part="first"]:disabled,
19
+ [part="next"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part~="page"][aria-current="page"],
20
+ [part~="page"][aria-current="page"]:hover {background-color: var(--pagination-current-color, var(--helix-color-surface-raised));border-color: var(--helix-color-border);color: var(--helix-color-foreground);font-weight: var(--helix-weight-semibold);}[part="first"]:disabled,
81
21
  [part="last"]:disabled,
82
22
  [part="previous"]:disabled,
83
23
  [part="next"]:disabled,
84
24
  [part="first"][aria-disabled="true"],
85
25
  [part="last"][aria-disabled="true"],
86
26
  [part="previous"][aria-disabled="true"],
87
- [part="next"][aria-disabled="true"] {
88
- color: var(--helix-color-foreground-subtle);
89
- cursor: default;
90
- opacity: 0.5;
91
- pointer-events: none;
92
- }
93
-
94
- [part="first"] svg,
27
+ [part="next"][aria-disabled="true"] {color: var(--helix-color-foreground-subtle);cursor: default;opacity: 0.5;pointer-events: none;}[part="first"] svg,
95
28
  [part="last"] svg,
96
29
  [part="previous"] svg,
97
30
  [part="next"] svg,
98
31
  ::slotted([slot="first-icon"]),
99
32
  ::slotted([slot="last-icon"]),
100
33
  ::slotted([slot="previous-icon"]),
101
- ::slotted([slot="next-icon"]) {
102
- block-size: var(--helix-size-icon-tight);
103
- inline-size: var(--helix-size-icon-tight);
104
- }
105
-
106
- :host(:dir(rtl)) ::slotted([slot="first-icon"]),
34
+ ::slotted([slot="next-icon"]) {block-size: var(--helix-size-icon-tight);inline-size: var(--helix-size-icon-tight);}:host(:dir(rtl)) ::slotted([slot="first-icon"]),
107
35
  :host(:dir(rtl)) ::slotted([slot="last-icon"]),
108
36
  :host(:dir(rtl)) ::slotted([slot="previous-icon"]),
109
- :host(:dir(rtl)) ::slotted([slot="next-icon"]) {
110
- scale: -1 1;
111
- }
112
-
113
- [part="gap"] {
114
- color: var(--helix-color-foreground-subtle);
115
- user-select: none;
116
- }
117
-
118
- :host(:state(empty)) {
119
- display: none;
120
- }
121
-
122
- [part="status"] {
123
- color: var(--helix-color-foreground-muted);
124
- font-variant-numeric: tabular-nums;
125
- font-weight: var(--helix-weight-medium);
126
- padding-inline: var(--helix-space-xs);
127
- }
128
-
129
- @media print {
130
- :host {
131
- display: none;
132
- }
133
- }`);
37
+ :host(:dir(rtl)) ::slotted([slot="next-icon"]) {scale: -1 1;}[part="gap"] {color: var(--helix-color-foreground-subtle);user-select: none;}:host(:state(empty)) {display: none;}[part="status"] {color: var(--helix-color-foreground-muted);font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);padding-inline: var(--helix-space-xs);}@media print {:host {display: none;}}`);
@@ -1,23 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: inline-flex;
4
- }
5
-
6
- :host(:state(empty)) {
7
- display: none;
8
- }
9
-
10
- [part="control"] {
11
- align-items: center;
12
- flex-direction: row;
13
- gap: var(--helix-space-xs);
14
- }
15
-
16
- [part="control"]::part(label) {
17
- padding-block-end: var(--helix-space-none);
18
- white-space: nowrap;
19
- }
20
-
21
- [part="control"]::part(trigger) {
22
- block-size: var(--helix-size-control-tight);
23
- }`);
2
+ export const styles = createSheet(`:host {display: inline-flex;}:host(:state(empty)) {display: none;}[part="control"] {align-items: center;flex-direction: row;gap: var(--helix-space-xs);}[part="control"]::part(label) {padding-block-end: var(--helix-space-none);white-space: nowrap;}[part="control"]::part(trigger) {block-size: var(--helix-size-control-tight);}`);
@@ -1,8 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- color: var(--helix-color-foreground-subtle);
4
- display: inline-block;
5
- font-family: var(--helix-font-sans);
6
- font-size: var(--helix-text-sm);
7
- font-variant-numeric: tabular-nums;
8
- }`);
2
+ export const styles = createSheet(`:host {color: var(--helix-color-foreground-subtle);display: inline-block;font-family: var(--helix-font-sans);font-size: var(--helix-text-sm);font-variant-numeric: tabular-nums;}`);
@@ -1,74 +1,3 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: flex;
4
- flex-direction: column;
5
- gap: var(--helix-space-2xs);
6
- }
7
-
8
- [part="field"] {
9
- align-self: start;
10
- display: flex;
11
- gap: var(--pin-input-gap, var(--helix-space-xs));
12
- }
13
-
14
- [part="cell"] {
15
- all: unset;
16
- background-color: var(--pin-input-cell-background-color, var(--helix-color-well));
17
- block-size: var(--pin-input-cell-size, var(--helix-size-control));
18
- border: var(--helix-border-thin) solid
19
- var(--pin-input-cell-border-color, var(--helix-color-border));
20
- border-radius: var(--pin-input-cell-radius, var(--helix-radii-sm));
21
- box-sizing: border-box;
22
- color: var(--pin-input-cell-color, var(--helix-color-foreground));
23
- font-family: var(--helix-font-sans);
24
- font-size: var(--pin-input-cell-font-size, var(--helix-text-lg));
25
-
26
- font-variant-numeric: tabular-nums;
27
- font-weight: var(--helix-weight-medium);
28
- inline-size: var(--pin-input-cell-size, var(--helix-size-control));
29
- text-align: center;
30
- transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);
31
- }
32
-
33
- :host(:not(:disabled)) [part="cell"]:hover {
34
- border-color: var(--helix-color-foreground-muted);
35
- }
36
-
37
- [part="cell"]:focus-visible {
38
- border-color: var(--pin-input-cell-border-color-focus, var(--helix-color-primary));
39
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
40
- outline-offset: 0;
41
- }
42
-
43
- :host(:state(invalid)) [part="cell"] {
44
- border-color: var(--helix-color-danger);
45
- }
46
-
47
- :host(:disabled) [part="cell"] {
48
- cursor: not-allowed;
49
- opacity: 0.5;
50
- }
51
-
52
- :host([readonly]) [part="cell"] {
53
- background-color: transparent;
54
- }
55
-
56
- :host([mask]) [part="cell"] {
57
- font-size: var(--helix-text-xl);
58
- }
59
-
60
- [part="separator"] {
61
- align-self: center;
62
- color: var(--pin-input-separator-color, var(--helix-color-foreground-muted));
63
- font-size: var(--helix-text-lg);
64
- }
65
-
66
- [part="cell"]::placeholder {
67
- color: var(--helix-color-foreground-subtle);
68
- }
69
-
70
- @media print {
71
- :host {
72
- print-color-adjust: exact;
73
- }
74
- }`);
2
+ export const styles = createSheet(`:host {display: flex;flex-direction: column;gap: var(--helix-space-2xs);}[part="field"] {align-self: start;display: flex;gap: var(--pin-input-gap, var(--helix-space-xs));}[part~="cell"] {all: unset;align-items: center;background-color: var(--pin-input-cell-background-color, var(--helix-color-well));block-size: var(--pin-input-cell-size, var(--helix-size-control));border: var(--helix-border-thin) solid
3
+ var(--pin-input-cell-border-color, var(--helix-color-border));border-radius: var(--pin-input-cell-radius, var(--helix-radii-sm));box-sizing: border-box;color: var(--pin-input-cell-color, var(--helix-color-foreground));cursor: text;display: flex;font-family: var(--helix-font-sans);font-size: var(--pin-input-cell-font-size, var(--helix-text-lg));font-variant-numeric: tabular-nums;font-weight: var(--helix-weight-medium);inline-size: var(--pin-input-cell-size, var(--helix-size-control));justify-content: center;text-align: center;transition: border-color var(--helix-duration-fast) var(--helix-easing-standard);}:host(:not(:disabled)) [part~="cell"]:hover {border-color: var(--helix-color-foreground-muted);}[part~="cell-active"] {border-color: var(--pin-input-cell-border-color-focus, var(--helix-color-primary));outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: 0;}:host(:state(invalid)) [part~="cell"] {border-color: var(--helix-color-danger);}:host(:disabled) [part~="cell"] {cursor: not-allowed;opacity: 0.5;}:host([readonly]) [part~="cell"] {background-color: transparent;}:host([mask]) [part~="cell"] {font-size: var(--helix-text-xl);}[part="separator"] {align-self: center;color: var(--pin-input-separator-color, var(--helix-color-foreground-muted));font-size: var(--helix-text-lg);}[part="placeholder"] {color: var(--pin-input-placeholder-color, var(--helix-color-foreground-subtle));}[part="caret"] {background-color: var(--pin-input-caret-color, currentcolor);block-size: 1em;inline-size: var(--helix-border-thin);}@media print {:host {print-color-adjust: exact;}}`);
@@ -7,8 +7,8 @@ import type { CSSResultGroup } from 'lit';
7
7
  * Square boxes at the control height, with space between them so the code reads
8
8
  * as separate characters.
9
9
  *
10
- * The focus ring is on the current box, so you can see which character comes
11
- * next.
10
+ * The focus ring is on the box the caret is in, so you can see which character
11
+ * comes next, and the caret is drawn there while it is empty.
12
12
  *
13
13
  * Figures are tabular, so every digit takes the same width and the row does not
14
14
  * shift as you type.
@@ -19,18 +19,24 @@ import type { CSSResultGroup } from 'lit';
19
19
  * @aliases PinField, OTP, One-time code, Verification code, InputPin
20
20
  * @documentation https://fusion.dev/helix/components/pin-input
21
21
  *
22
+ * @csspart caret - The caret, drawn in the empty box it is in while the field has focus.
22
23
  * @csspart cell - One box.
24
+ * @csspart cell-active - The box the caret is in, while the field has focus. Set together with `cell`.
25
+ * @csspart cell-filled - A box that holds a character. Set together with `cell`.
23
26
  * @csspart field - The row of boxes.
27
+ * @csspart placeholder - The `placeholder` text in an empty box.
24
28
  * @csspart separator - The text `format` draws between two boxes.
25
29
  *
30
+ * @cssproperty --pin-input-caret-color - The color of the caret drawn in an empty box. Without it, the character color applies.
26
31
  * @cssproperty --pin-input-cell-background-color - Fill behind each box.
27
32
  * @cssproperty --pin-input-cell-border-color - Edge of each box at rest. Hover, focus and an error still draw their own.
28
- * @cssproperty --pin-input-cell-border-color-focus - Edge of the box holding focus.
33
+ * @cssproperty --pin-input-cell-border-color-focus - Edge of the box the caret is in.
29
34
  * @cssproperty --pin-input-cell-color - The color of a typed character.
30
35
  * @cssproperty --pin-input-cell-font-size - The size of a typed character.
31
36
  * @cssproperty --pin-input-cell-radius - Corner radius of each box.
32
37
  * @cssproperty --pin-input-cell-size - Width and height of each box.
33
38
  * @cssproperty --pin-input-gap - The space between one box and the next.
39
+ * @cssproperty --pin-input-placeholder-color - The color of the `placeholder` text in an empty box.
34
40
  * @cssproperty --pin-input-separator-color - The color of the text `format` draws between boxes.
35
41
  */
36
42
  export declare class HelixPinInput extends HelixHeadlessPinInput {