@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,227 +1,47 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: inline-flex;
4
-
5
- min-inline-size: var(--button-inline-size, auto);
6
- max-inline-size: 100%;
7
- }
8
-
9
- :host {
10
- --_button-edge: var(--helix-color-border);
11
-
12
- --_button-fill: var(--_button-tone);
13
- --_button-fill-hover: var(--_button-tone-hover);
14
- --_button-on-tone: var(--helix-color-background);
15
- --_button-tone: var(--helix-color-foreground);
16
-
17
- --_button-turn: 0.8s;
18
-
19
- --_button-tone-hover: color-mix(
2
+ export const styles = createSheet(`:host {display: inline-flex;min-inline-size: var(--button-inline-size, auto);max-inline-size: 100%;}:host {--_button-edge: var(--helix-color-border);--_button-fill: var(--_button-tone);--_button-fill-hover: var(--_button-tone-hover);--_button-on-tone: var(--helix-color-background);--_button-tone: var(--helix-color-foreground);--_button-turn: 0.8s;--_button-tone-hover: color-mix(
20
3
  in oklab,
21
4
  var(--helix-color-foreground) 86%,
22
5
  var(--helix-color-background)
23
- );
24
- }
25
- :host([tone="primary"]) {
26
- --_button-edge: var(--helix-color-primary);
27
- --_button-fill: var(--helix-color-primary-surface);
28
- --_button-fill-hover: var(--helix-color-primary-surface-hover);
29
- --_button-on-tone: var(--helix-color-foreground-on-primary);
30
- --_button-tone: var(--helix-color-primary);
31
- --_button-tone-hover: var(--helix-color-primary-hover);
32
- }
33
-
34
- :host([tone="accent"]) {
35
- --_button-edge: var(--helix-color-accent);
36
- --_button-fill: var(--helix-color-accent-surface);
37
- --_button-fill-hover: var(--helix-color-accent-surface-hover);
38
- --_button-on-tone: var(--helix-color-foreground-on-accent);
39
- --_button-tone: var(--helix-color-accent);
40
- --_button-tone-hover: var(--helix-color-accent-hover);
41
- }
42
- :host([tone="danger"]) {
43
- --_button-edge: var(--helix-color-danger);
44
- --_button-fill: var(--helix-color-danger-surface);
45
- --_button-fill-hover: var(--helix-color-danger-surface-hover);
46
- --_button-on-tone: var(--helix-color-foreground-on-status);
47
- --_button-tone: var(--helix-color-danger);
48
-
49
- --_button-tone-hover: color-mix(
6
+ );}:host([tone="primary"]) {--_button-edge: var(--helix-color-primary);--_button-fill: var(--helix-color-primary-surface);--_button-fill-hover: var(--helix-color-primary-surface-hover);--_button-on-tone: var(--helix-color-foreground-on-primary);--_button-tone: var(--helix-color-primary);--_button-tone-hover: var(--helix-color-primary-hover);}:host([tone="accent"]) {--_button-edge: var(--helix-color-accent);--_button-fill: var(--helix-color-accent-surface);--_button-fill-hover: var(--helix-color-accent-surface-hover);--_button-on-tone: var(--helix-color-foreground-on-accent);--_button-tone: var(--helix-color-accent);--_button-tone-hover: var(--helix-color-accent-hover);}:host([tone="danger"]) {--_button-edge: var(--helix-color-danger);--_button-fill: var(--helix-color-danger-surface);--_button-fill-hover: var(--helix-color-danger-surface-hover);--_button-on-tone: var(--helix-color-foreground-on-status);--_button-tone: var(--helix-color-danger);--_button-tone-hover: color-mix(
50
7
  in oklab,
51
8
  var(--helix-color-danger) 86%,
52
9
  var(--helix-color-foreground)
53
- );
54
- }
55
-
56
- [part="button"] {
57
- all: unset;
58
- align-items: center;
59
-
60
- background-color: var(
10
+ );}[part="button"] {all: unset;align-items: center;background-color: var(
61
11
  --button-background-color,
62
12
  color-mix(in oklab, var(--_button-tone) 6%, transparent)
63
- );
64
-
65
- block-size: var(--button-size, var(--helix-size-control));
66
- border: var(--helix-border-thin) solid var(--button-border-color, var(--_button-edge));
67
- box-sizing: border-box;
68
- color: var(--button-foreground-color, var(--_button-tone));
69
- cursor: pointer;
70
- display: inline-flex;
71
- font-family: var(--helix-font-sans);
72
- font-size: var(--helix-text-control);
73
- font-weight: var(--helix-weight-medium);
74
- gap: var(--button-gap, var(--helix-space-xs));
75
- inline-size: 100%;
76
- justify-content: center;
77
- letter-spacing: var(--helix-tracking-normal);
78
- line-height: var(--helix-leading-tight);
79
-
80
- padding-inline: var(--button-padding-inline, var(--helix-space-control));
81
- text-decoration: none;
82
- transition:
13
+ );block-size: var(--button-size, var(--helix-size-control));border: var(--helix-border-thin) solid var(--button-border-color, var(--_button-edge));box-sizing: border-box;color: var(--button-foreground-color, var(--_button-tone));cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--helix-text-control);font-weight: var(--helix-weight-medium);gap: var(--button-gap, var(--helix-space-xs));inline-size: 100%;justify-content: center;letter-spacing: var(--helix-tracking-normal);line-height: var(--helix-leading-tight);padding-inline: var(--button-padding-inline, var(--helix-space-control));text-decoration: none;transition:
83
14
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
84
15
  border-color var(--helix-duration-fast) var(--helix-easing-standard),
85
- color var(--helix-duration-fast) var(--helix-easing-standard);
86
- white-space: nowrap;
87
- }
88
-
89
- [part="button"] {
90
- border-end-end-radius: var(
16
+ color var(--helix-duration-fast) var(--helix-easing-standard);white-space: nowrap;}[part="button"] {border-end-end-radius: var(
91
17
  --button-radius-end-end,
92
18
  var(--button-radius-end, var(--button-radius, var(--helix-radii-sm)))
93
- );
94
- border-end-start-radius: var(
19
+ );border-end-start-radius: var(
95
20
  --button-radius-end-start,
96
21
  var(--button-radius-start, var(--button-radius, var(--helix-radii-sm)))
97
- );
98
- border-start-end-radius: var(
22
+ );border-start-end-radius: var(
99
23
  --button-radius-start-end,
100
24
  var(--button-radius-end, var(--button-radius, var(--helix-radii-sm)))
101
- );
102
- border-start-start-radius: var(
25
+ );border-start-start-radius: var(
103
26
  --button-radius-start-start,
104
27
  var(--button-radius-start, var(--button-radius, var(--helix-radii-sm)))
105
- );
106
- }
107
-
108
- :host(:not(:disabled)) [part="button"]:hover {
109
- background-color: var(
28
+ );}:host(:not(:disabled)) [part="button"]:hover {background-color: var(
110
29
  --button-background-color-hover,
111
30
  var(--button-background-color, color-mix(in oklab, var(--_button-tone) 12%, transparent))
112
- );
113
- }
114
-
115
- [part="button"]: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
- :host([emphasis="solid"]) [part="button"] {
121
- background-color: var(--button-background-color, var(--_button-fill));
122
- border-color: transparent;
123
- color: var(--button-foreground-color, var(--_button-on-tone));
124
- }
125
- :host(:not(:disabled)[emphasis="solid"]) [part="button"]:hover {
126
- background-color: var(
31
+ );}[part="button"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}:host([emphasis="solid"]) [part="button"] {background-color: var(--button-background-color, var(--_button-fill));border-color: transparent;color: var(--button-foreground-color, var(--_button-on-tone));}:host(:not(:disabled)[emphasis="solid"]) [part="button"]:hover {background-color: var(
127
32
  --button-background-color-hover,
128
33
  var(--button-background-color, var(--_button-fill-hover))
129
- );
130
- border-color: transparent;
131
- }
132
-
133
- :host([emphasis="subtle"]) [part="button"] {
134
- background-color: var(
34
+ );border-color: transparent;}:host([emphasis="subtle"]) [part="button"] {background-color: var(
135
35
  --button-background-color,
136
36
  color-mix(in oklab, var(--_button-tone) 14%, transparent)
137
- );
138
- border-color: transparent;
139
- color: var(
37
+ );border-color: transparent;color: var(
140
38
  --button-foreground-color,
141
39
  color-mix(in oklab, var(--_button-tone) 78%, var(--helix-color-foreground))
142
- );
143
- }
144
-
145
- :host(:not(:disabled)[emphasis="subtle"]) [part="button"]:hover {
146
- background-color: var(
40
+ );}:host(:not(:disabled)[emphasis="subtle"]) [part="button"]:hover {background-color: var(
147
41
  --button-background-color-hover,
148
42
  var(--button-background-color, color-mix(in oklab, var(--_button-tone) 22%, transparent))
149
- );
150
- border-color: transparent;
151
- }
152
- :host([emphasis="ghost"]) [part="button"] {
153
- background-color: var(--button-background-color, transparent);
154
- border-color: transparent;
155
- color: var(--button-foreground-color, var(--_button-tone));
156
- }
157
-
158
- :host(:not(:disabled)[emphasis="ghost"]) [part="button"]:hover {
159
- background-color: var(
43
+ );border-color: transparent;}:host([emphasis="ghost"]) [part="button"] {background-color: var(--button-background-color, transparent);border-color: transparent;color: var(--button-foreground-color, var(--_button-tone));}:host(:not(:disabled)[emphasis="ghost"]) [part="button"]:hover {background-color: var(
160
44
  --button-background-color-hover,
161
45
  var(--button-background-color, color-mix(in oklab, var(--_button-tone) 8%, transparent))
162
- );
163
- border-color: transparent;
164
- }
165
-
166
- :host([width="full"]) {
167
- display: flex;
168
- inline-size: 100%;
169
- }
170
-
171
- :host(:disabled) [part="button"] {
172
- cursor: not-allowed;
173
- opacity: 0.5;
174
- }
175
-
176
- @supports (text-box: trim-both cap alphabetic) {
177
- slot:not([name]) {
178
- display: block;
179
- padding-block: var(--helix-space-2xs);
180
- text-box: trim-both cap alphabetic;
181
- }
182
- }
183
-
184
- [part="button"] ::slotted(helix-icon) {
185
- --icon-size: 1.15em;
186
- }
187
-
188
- :host(:state(pending)) [part="button"] {
189
- cursor: progress;
190
- position: relative;
191
- }
192
-
193
- :host(:state(pending)) [part="button"] > slot {
194
- visibility: hidden;
195
- }
196
-
197
- :host(:state(pending)) [part="button"]::after {
198
- animation: helix-button-turn var(--_button-turn) linear infinite;
199
- block-size: var(--button-spinner-size, 1.15em);
200
- border: var(--helix-border-thick) solid color-mix(in oklab, currentColor 30%, transparent);
201
- border-block-start-color: currentColor;
202
- border-radius: var(--helix-radii-full);
203
- box-sizing: border-box;
204
- content: "";
205
- inline-size: var(--button-spinner-size, 1.15em);
206
- inset: 0;
207
- margin: auto;
208
- position: absolute;
209
- }
210
-
211
- @keyframes helix-button-turn {
212
- to {
213
- rotate: 1turn;
214
- }
215
- }
216
-
217
- @media (prefers-reduced-motion: reduce) {
218
- :host(:state(pending)) [part="button"]::after {
219
- animation-duration: calc(var(--helix-duration-slow) * 12);
220
- }
221
- }
222
-
223
- @media print {
224
- :host {
225
- display: none;
226
- }
227
- }`);
46
+ );border-color: transparent;}:host([width="full"]) {display: flex;inline-size: 100%;}:host(:disabled) [part="button"] {cursor: not-allowed;opacity: 0.5;}@supports (text-box: trim-both cap alphabetic) {slot:not([name]) {display: block;padding-block: var(--helix-space-2xs);text-box: trim-both cap alphabetic;}}[part="button"] ::slotted(helix-icon) {--icon-size: 1.15em;}:host(:state(pending)) [part="button"] {cursor: progress;position: relative;}:host(:state(pending)) [part="button"] > slot {visibility: hidden;}[part="spinner"] {animation: helix-button-turn var(--button-spinner-duration, var(--_button-turn)) linear infinite;block-size: var(--button-spinner-size, 1.15em);border: var(--helix-border-thick) solid
47
+ color-mix(in oklab, var(--button-spinner-color, currentColor) 30%, transparent);border-block-start-color: var(--button-spinner-color, currentColor);border-radius: var(--helix-radii-full);box-sizing: border-box;inline-size: var(--button-spinner-size, 1.15em);inset: 0;margin: auto;position: absolute;}@keyframes helix-button-turn {to {rotate: 1turn;}}@media (prefers-reduced-motion: reduce) {[part="spinner"] {animation-duration: calc(var(--helix-duration-slow) * 12);}}@media print {:host {display: none;}}`);
@@ -27,6 +27,7 @@ declare const HelixButton_base: (new (...args: any[]) => import("../../shared/mi
27
27
  *
28
28
  * @csspart button - The inner control.
29
29
  * @csspart live - The live region that says `pending-label` when the button becomes pending under focus. It is clipped out of view and still read.
30
+ * @csspart spinner - The ring a pending button turns over its words, sized and colored by the `--button-spinner-*` hooks.
30
31
  *
31
32
  * @cssproperty --button-background-color - Fill behind the button, in every state.
32
33
  * @cssproperty --button-background-color-hover - Fill behind the button under the pointer. Without it, `--button-background-color` also applies on hover.
@@ -43,6 +44,8 @@ declare const HelixButton_base: (new (...args: any[]) => import("../../shared/mi
43
44
  * @cssproperty --button-radius-start-end - The top trailing corner, for a group stacking down.
44
45
  * @cssproperty --button-radius-start-start - The top leading corner, for a group stacking down.
45
46
  * @cssproperty --button-size - Height of the control, for a row height outside the density steps.
47
+ * @cssproperty --button-spinner-color - Color of the ring a pending button turns. It follows the label's color.
48
+ * @cssproperty --button-spinner-duration - How long the ring takes to turn once.
46
49
  * @cssproperty --button-spinner-size - Size of the ring a pending button turns. Defaults to the size of its icons.
47
50
  *
48
51
  * @cssstate pending - The button is pending: `pending` is set. A ring turns over its hidden words.
@@ -1,53 +1,3 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: inline-flex;
4
- }
5
-
6
- :host(:not([variant="spaced"])) ::slotted(*:not(:first-child)) {
7
- margin-inline-start: calc(var(--helix-border-thin) * -1);
8
- }
9
-
10
- :host(:not([variant="spaced"])) ::slotted(*:not(:first-child)) {
11
- --button-radius-start: 0;
12
- }
13
-
14
- :host(:not([variant="spaced"])) ::slotted(*:not(:last-child)) {
15
- --button-radius-end: 0;
16
- }
17
-
18
- :host([orientation="vertical"]) {
19
- align-items: stretch;
20
- flex-direction: column;
21
- }
22
-
23
- :host([orientation="vertical"]:not([variant="spaced"])) ::slotted(*:not(:first-child)) {
24
- --button-radius-start-start: 0;
25
- --button-radius-start-end: 0;
26
- --button-radius-start: var(--button-radius, var(--helix-radii-sm));
27
- margin-block-start: calc(var(--helix-border-thin) * -1);
28
-
29
- margin-inline-start: 0;
30
- }
31
-
32
- :host([orientation="vertical"]:not([variant="spaced"])) ::slotted(*:not(:last-child)) {
33
- --button-radius-end-end: 0;
34
- --button-radius-end-start: 0;
35
- --button-radius-end: var(--button-radius, var(--helix-radii-sm));
36
- }
37
-
38
- ::slotted(*:hover),
39
- ::slotted(*:focus-within) {
40
- position: relative;
41
-
42
- z-index: var(--helix-layer-raised);
43
- }
44
-
45
- :host([variant="spaced"]) {
46
- gap: var(--button-group-gap, var(--helix-space-xs));
47
- }
48
-
49
- @media print {
50
- :host {
51
- display: none;
52
- }
53
- }`);
2
+ export const styles = createSheet(`:host {display: inline-flex;}:host(:not([variant="spaced"])) ::slotted(*:not(:first-child)) {margin-inline-start: calc(var(--helix-border-thin) * -1);}:host(:not([variant="spaced"])) ::slotted(*:not(:first-child)) {--button-radius-start: 0;}:host(:not([variant="spaced"])) ::slotted(*:not(:last-child)) {--button-radius-end: 0;}:host([orientation="vertical"]) {align-items: stretch;flex-direction: column;}:host([orientation="vertical"]:not([variant="spaced"])) ::slotted(*:not(:first-child)) {--button-radius-start-start: 0;--button-radius-start-end: 0;--button-radius-start: var(--button-radius, var(--helix-radii-sm));margin-block-start: calc(var(--helix-border-thin) * -1);margin-inline-start: 0;}:host([orientation="vertical"]:not([variant="spaced"])) ::slotted(*:not(:last-child)) {--button-radius-end-end: 0;--button-radius-end-start: 0;--button-radius-end: var(--button-radius, var(--helix-radii-sm));}::slotted(*:hover),
3
+ ::slotted(*:focus-within) {position: relative;z-index: var(--helix-layer-raised);}:host([variant="spaced"]) {gap: var(--button-group-gap, var(--helix-space-xs));}@media print {:host {display: none;}}`);
@@ -1,141 +1,9 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- --_callout-tone: var(--helix-color-info);
4
-
5
- --_callout-color: var(--callout-accent-color, var(--_callout-tone));
6
- --_callout-bar: var(--callout-bar-thickness, var(--helix-border-thick));
7
- --_callout-inset: var(--callout-padding, var(--helix-space-md));
8
-
9
- font-size: var(--callout-font-size, var(--helix-text-sm));
10
- background-color: var(
2
+ export const styles = createSheet(`:host {--_callout-tone: var(--helix-color-info);--_callout-color: var(--callout-accent-color, var(--_callout-tone));--_callout-bar: var(--callout-bar-thickness, var(--helix-border-thick));--_callout-inset: var(--callout-padding, var(--helix-space-control));font-size: var(--callout-font-size, var(--helix-text-control));background-color: var(
11
3
  --callout-background-color,
12
4
  color-mix(in oklab, var(--_callout-color) 10%, transparent)
13
- );
14
- overflow: hidden;
15
- position: relative;
16
-
17
- border-radius: var(--callout-radius, var(--helix-radii-sm));
18
- color: var(--helix-color-foreground);
19
- display: flex;
20
- gap: var(--callout-gap, var(--helix-space-sm));
21
-
22
- padding: var(--_callout-inset);
23
- padding-inline-start: calc(var(--_callout-inset) + var(--_callout-bar));
24
- }
25
-
26
- :host::before {
27
- background-color: var(--_callout-color);
28
- content: "";
29
- inline-size: var(--_callout-bar);
30
- inset-block: 0;
31
- inset-inline-start: 0;
32
- position: absolute;
33
- }
34
-
35
- :host([tone="neutral"]) {
36
- --_callout-tone: var(--helix-color-foreground-muted);
37
- }
38
-
39
- :host([tone="success"]) {
40
- --_callout-tone: var(--helix-color-success);
41
- }
42
-
43
- :host([tone="warning"]) {
44
- --_callout-tone: var(--helix-color-warning);
45
- }
46
-
47
- :host([tone="danger"]) {
48
- --_callout-tone: var(--helix-color-danger);
49
- }
50
-
51
- :host([separation="outlined"]) {
52
- background-color: var(--callout-background-color, transparent);
53
- box-shadow: inset 0 0 0 var(--helix-border-thin)
54
- color-mix(in oklab, var(--_callout-color) 45%, var(--helix-color-background));
55
- }
56
-
57
- :host([separation="plain"]) {
58
- background-color: var(--callout-background-color, transparent);
59
- }
60
-
61
- [part="icon"] {
62
- color: var(--_callout-color);
63
- display: inline-flex;
64
- flex: 0 0 auto;
65
- }
66
-
67
- [part="icon"] svg {
68
- block-size: var(--helix-size-icon);
69
- inline-size: var(--helix-size-icon);
70
- }
71
-
72
- slot[name="icon"]::slotted(*) {
73
- --icon-size: var(--helix-size-icon);
74
-
75
- block-size: var(--helix-size-icon);
76
- inline-size: var(--helix-size-icon);
77
- }
78
-
79
- [part="content"] {
80
- line-height: var(--helix-leading-normal);
81
- min-inline-size: 0;
82
- }
83
-
84
- [part="dismiss"] {
85
- all: unset;
86
-
87
- box-sizing: border-box;
88
- block-size: calc(var(--helix-size-icon) + var(--helix-space-2xs) * 2);
89
- border-radius: var(--helix-radii-sm);
90
- color: var(--helix-color-foreground-muted);
91
- cursor: pointer;
92
- display: inline-flex;
93
- flex: 0 0 auto;
94
- inline-size: calc(var(--helix-size-icon) + var(--helix-space-2xs) * 2);
95
- margin-block: calc(var(--helix-space-2xs) * -1);
96
- margin-inline: auto calc(var(--helix-space-2xs) * -1);
97
- place-content: center;
98
- place-items: center;
99
- transition:
5
+ );overflow: hidden;position: relative;border-radius: var(--callout-radius, var(--helix-radii-sm));color: var(--helix-color-foreground);display: flex;gap: var(--callout-gap, var(--helix-space-sm));padding: var(--_callout-inset);padding-inline-start: calc(var(--_callout-inset) + var(--_callout-bar));}:host::before {background-color: var(--_callout-color);content: "";inline-size: var(--_callout-bar);inset-block: 0;inset-inline-start: 0;position: absolute;}:host([tone="neutral"]) {--_callout-tone: var(--helix-color-foreground-muted);}:host([tone="success"]) {--_callout-tone: var(--helix-color-success);}:host([tone="warning"]) {--_callout-tone: var(--helix-color-warning);}:host([tone="danger"]) {--_callout-tone: var(--helix-color-danger);}:host([separation="outlined"]) {background-color: var(--callout-background-color, transparent);box-shadow: inset 0 0 0 var(--helix-border-thin)
6
+ color-mix(in oklab, var(--_callout-color) 45%, var(--helix-color-background));}:host([separation="plain"]) {background-color: var(--callout-background-color, transparent);}[part="icon"] {color: var(--_callout-color);display: inline-flex;flex: 0 0 auto;}[part="icon"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}slot[name="icon"]::slotted(*) {--icon-size: var(--helix-size-icon);block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="content"] {line-height: var(--helix-leading-normal);min-inline-size: 0;}[part="dismiss"] {all: unset;box-sizing: border-box;block-size: calc(var(--helix-size-icon) + var(--helix-space-2xs) * 2);border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;flex: 0 0 auto;inline-size: calc(var(--helix-size-icon) + var(--helix-space-2xs) * 2);margin-block: calc(var(--helix-space-2xs) * -1);margin-inline: auto calc(var(--helix-space-2xs) * -1);place-content: center;place-items: center;transition:
100
7
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
101
- color var(--helix-duration-fast) var(--helix-easing-standard);
102
- }
103
-
104
- [part="dismiss"]:hover {
105
- background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);
106
- color: var(--helix-color-foreground);
107
- }
108
-
109
- [part="dismiss"]:focus-visible {
110
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
111
- outline-offset: var(--helix-size-focus-offset);
112
- }
113
-
114
- [part="dismiss"] svg,
115
- slot[name="dismiss-icon"]::slotted(*) {
116
- --icon-size: var(--helix-size-icon);
117
-
118
- block-size: var(--helix-size-icon);
119
- inline-size: var(--helix-size-icon);
120
- }
121
-
122
- @media (prefers-reduced-motion: reduce) {
123
- [part="dismiss"] {
124
- transition: none;
125
- }
126
- }
127
-
128
- slot[name="heading"]::slotted(*) {
129
- color: var(--helix-color-foreground);
130
-
131
- display: block;
132
- font-size: var(--callout-font-size, var(--helix-text-sm));
133
- font-weight: var(--helix-weight-semibold);
134
- margin: var(--helix-space-none);
135
- }
136
-
137
- @media print {
138
- :host {
139
- background-color: transparent;
140
- }
141
- }`);
8
+ color var(--helix-duration-fast) var(--helix-easing-standard);}[part="dismiss"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);color: var(--helix-color-foreground);}[part="dismiss"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="dismiss"] svg,
9
+ slot[name="dismiss-icon"]::slotted(*) {--icon-size: var(--helix-size-icon);block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}@media (prefers-reduced-motion: reduce) {[part="dismiss"] {transition: none;}}slot[name="heading"]::slotted(*) {color: var(--helix-color-foreground);display: block;font-size: var(--callout-font-size, var(--helix-text-control));font-weight: var(--helix-weight-semibold);margin: var(--helix-space-none);}@media print {:host {background-color: transparent;}}`);
@@ -14,6 +14,12 @@ import type { CSSResultGroup } from 'lit';
14
14
  * draws it. `separation` is where the box ends: absent is the tint with the
15
15
  * bar, `outlined` an edge with no fill, and `plain` the bar and the mark alone.
16
16
  *
17
+ * The inset and the type follow `data-density`, as the controls around a
18
+ * callout do: set it on a region for tighter or looser callouts, or on one
19
+ * callout itself, as `<helix-callout data-density="sm">`. That is how one
20
+ * callout is sized, and there is no `size` beside it. `--callout-padding` and
21
+ * `--callout-font-size` set either to a value of your own.
22
+ *
17
23
  * @since 0.1.0
18
24
  * @status stable
19
25
  * @category markers
@@ -33,9 +39,9 @@ import type { CSSResultGroup } from 'lit';
33
39
  * @cssproperty --callout-accent-color - The color of the bar, the mark and the tint, in place of the tone's.
34
40
  * @cssproperty --callout-background-color - The fill behind the callout.
35
41
  * @cssproperty --callout-bar-thickness - The thickness of the bar on the inline start edge.
36
- * @cssproperty --callout-font-size - The size of the callout's text.
42
+ * @cssproperty --callout-font-size - The size of the callout's text. Defaults to the control text step, which follows `data-density`.
37
43
  * @cssproperty --callout-gap - The space between the mark and the content.
38
- * @cssproperty --callout-padding - The inset around the content, to which the bar's width is added at the start.
44
+ * @cssproperty --callout-padding - The inset around the content, to which the bar's width is added at the start. Defaults to the control space step, which follows `data-density`.
39
45
  * @cssproperty --callout-radius - The corner radius of the callout.
40
46
  */
41
47
  export declare class HelixCallout extends HelixHeadlessCallout {