@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,173 +1,22 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: inline-flex;
4
- }
5
-
6
- [part="trigger"] {
7
- all: unset;
8
- box-sizing: border-box;
9
-
10
- align-items: center;
11
- border-radius: var(--megamenu-trigger-radius, var(--helix-radii-sm));
12
- color: var(--megamenu-trigger-color, var(--helix-color-foreground-muted));
13
- cursor: pointer;
14
- display: inline-flex;
15
- font-family: var(--helix-font-sans);
16
- font-size: var(--megamenu-trigger-font-size, var(--helix-text-sm));
17
- font-weight: var(--megamenu-trigger-font-weight, var(--helix-weight-medium));
18
- gap: var(--helix-space-2xs);
19
- min-block-size: var(--helix-size-control-tight);
20
- padding-inline: var(--megamenu-trigger-padding-inline, var(--helix-space-xs));
21
- transition:
2
+ export const styles = createSheet(`:host {display: inline-flex;position: relative;}[part="indicator"] {align-items: flex-end;display: flex;inset-block: 0;inset-inline: 0;justify-content: center;pointer-events: none;position: absolute;}[part="trigger"] {all: unset;box-sizing: border-box;align-items: center;border-radius: var(--megamenu-trigger-radius, var(--helix-radii-sm));color: var(--megamenu-trigger-color, var(--helix-color-foreground-muted));cursor: pointer;display: inline-flex;font-family: var(--helix-font-sans);font-size: var(--megamenu-trigger-font-size, var(--helix-text-sm));font-weight: var(--megamenu-trigger-font-weight, var(--helix-weight-medium));gap: var(--helix-space-2xs);min-block-size: var(--helix-size-control-tight);padding-inline: var(--megamenu-trigger-padding-inline, var(--helix-space-xs));transition:
22
3
  background-color var(--helix-duration-fast) var(--helix-easing-standard),
23
- color var(--helix-duration-fast) var(--helix-easing-standard);
24
- }
25
-
26
- [part="trigger"]:hover {
27
- color: var(--megamenu-trigger-hover-color, var(--helix-color-foreground));
28
- }
29
-
30
- [part="trigger"]:focus-visible {
31
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
32
- outline-offset: var(--helix-size-focus-offset);
33
- }
34
-
35
- [part="trigger"][aria-expanded="true"] {
36
- background-color: var(
4
+ color var(--helix-duration-fast) var(--helix-easing-standard);}[part="trigger"]:hover {color: var(--megamenu-trigger-hover-color, var(--helix-color-foreground));}[part="trigger"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: var(--helix-size-focus-offset);}[part="trigger"][aria-expanded="true"] {background-color: var(
37
5
  --megamenu-trigger-open-background-color,
38
6
  color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
39
- );
40
- color: var(--megamenu-trigger-open-color, var(--helix-color-foreground));
41
- }
42
-
43
- [part="surface"] {
44
-
45
- backdrop-filter: var(--megamenu-backdrop, none);
46
- background-color: var(--megamenu-background-color, var(--helix-color-background));
47
-
48
- border: var(--megamenu-border-width, var(--helix-border-thin)) solid
49
- light-dark(transparent, var(--helix-color-border));
50
-
51
- border-radius: var(--helix-radii-sm);
52
- box-shadow: var(--megamenu-shadow, var(--helix-shadow-floating));
53
- box-sizing: border-box;
54
-
55
- clip-path: inset(0 calc(var(--helix-space-xl) * -1) 100% calc(var(--helix-space-xl) * -1));
56
-
57
- display: grid;
58
- gap: var(--megamenu-gap, var(--helix-space-xl));
59
- grid-auto-columns: minmax(var(--megamenu-column-size, 15rem), 1fr);
60
- grid-auto-flow: column;
61
-
62
- inline-size: max-content;
63
- margin: var(--helix-space-none);
64
-
65
- max-inline-size: min(var(--megamenu-size, 52rem), calc(100% - var(--helix-space-xl) * 2));
66
- padding: var(--megamenu-padding, var(--helix-space-md));
67
-
68
- transition:
7
+ );color: var(--megamenu-trigger-open-color, var(--helix-color-foreground));}[part="surface"] {backdrop-filter: var(--megamenu-backdrop, none);background-color: var(--megamenu-background-color, var(--helix-color-background));border: var(--megamenu-border-width, var(--helix-border-thin)) solid
8
+ light-dark(transparent, var(--helix-color-border));border-radius: var(--helix-radii-sm);box-shadow: var(--megamenu-shadow, var(--helix-shadow-floating));box-sizing: border-box;clip-path: inset(0 calc(var(--helix-space-xl) * -1) 100% calc(var(--helix-space-xl) * -1));display: grid;gap: var(--megamenu-gap, var(--helix-space-xl));grid-auto-columns: minmax(var(--megamenu-column-size, 15rem), 1fr);grid-auto-flow: column;inline-size: max-content;margin: var(--helix-space-none);max-inline-size: min(var(--megamenu-size, 52rem), calc(100% - var(--helix-space-xl) * 2));padding: var(--megamenu-padding, var(--helix-space-md));transition:
69
9
  clip-path var(--megamenu-duration, var(--helix-duration-slow)) var(--helix-easing-decelerate),
70
10
  display var(--megamenu-duration, var(--helix-duration-slow)) allow-discrete,
71
- overlay var(--megamenu-duration, var(--helix-duration-slow)) allow-discrete;
72
- }
73
-
74
- [part="surface"]:popover-open {
75
- clip-path: inset(
11
+ overlay var(--megamenu-duration, var(--helix-duration-slow)) allow-discrete;}[part="surface"]:popover-open {clip-path: inset(
76
12
  0 calc(var(--helix-space-xl) * -1) calc(var(--helix-space-xl) * -1)
77
13
  calc(var(--helix-space-xl) * -1)
78
- );
79
- }
80
-
81
- @starting-style {
82
- [part="surface"]:popover-open {
83
- clip-path: inset(0 calc(var(--helix-space-xl) * -1) 100% calc(var(--helix-space-xl) * -1));
84
- }
85
- }
86
-
87
- :host(:not([variant="band"])) [part="surface"] {
88
- clip-path: inset(0 100% 100% calc(var(--helix-space-xl) * -1));
89
- }
90
-
91
- :host(:not([variant="band"])) [part="surface"]:popover-open {
92
- clip-path: inset(
14
+ );}@starting-style {[part="surface"]:popover-open {clip-path: inset(0 calc(var(--helix-space-xl) * -1) 100% calc(var(--helix-space-xl) * -1));}}:host(:not([variant="band"])) [part="surface"] {clip-path: inset(0 100% 100% calc(var(--helix-space-xl) * -1));}:host(:not([variant="band"])) [part="surface"]:popover-open {clip-path: inset(
93
15
  0 calc(var(--helix-space-xl) * -1) calc(var(--helix-space-xl) * -1)
94
16
  calc(var(--helix-space-xl) * -1)
95
- );
96
- }
97
-
98
- @starting-style {
99
- :host(:not([variant="band"])) [part="surface"]:popover-open {
100
- clip-path: inset(0 100% 100% calc(var(--helix-space-xl) * -1));
101
- }
102
- }
103
-
104
- :host([variant="band"]) [part="surface"],
105
- :host(:state(narrow)) [part="surface"] {
106
-
107
- backdrop-filter: var(--megamenu-backdrop, none);
108
- background-color: var(--megamenu-background-color, var(--helix-color-background));
109
-
110
- border: none;
111
- border-radius: var(--helix-radii-none);
112
- box-shadow: var(--helix-shadow-md);
113
-
114
- clip-path: inset(0 0 100% 0);
115
-
116
- display: grid;
117
- grid-auto-flow: row;
118
- grid-template-columns: repeat(auto-fit, minmax(var(--megamenu-column-size, 15rem), 1fr));
119
- inline-size: auto;
120
- inset-block-start: var(--megamenu-top, 100%);
121
- inset-inline: 0;
122
- max-inline-size: none;
123
-
124
- padding-block: var(--helix-space-md) var(--helix-space-xl);
125
-
126
- padding-inline: max(var(--helix-space-xl), calc((100% - var(--megamenu-full-size, 80rem)) / 2));
127
- position: fixed;
128
- }
129
-
130
- :host([variant="band"]) [part="surface"]:popover-open,
131
- :host(:state(narrow)) [part="surface"]:popover-open {
132
- clip-path: inset(0 0 calc(var(--helix-space-xl) * -1) 0);
133
- }
134
-
135
- @starting-style {
136
- :host([variant="band"]) [part="surface"]:popover-open,
137
- :host(:state(narrow)) [part="surface"]:popover-open {
138
- clip-path: inset(0 0 100% 0);
139
- }
140
- }
141
-
142
- :host(:state(narrow)) [part="surface"] {
143
- grid-auto-flow: row;
144
- grid-template-columns: 1fr;
145
-
146
- max-block-size: calc(100dvh - var(--megamenu-top, 0px) - var(--helix-space-xl));
147
- overflow-y: auto;
148
- overscroll-behavior: contain;
149
- padding-inline: var(--helix-space-md);
150
- }
151
-
152
- :host [part="surface"][hidden] {
153
- display: none;
154
- }
155
-
156
- @media (prefers-reduced-motion: reduce) {
157
- [part="trigger"] {
158
- transition: none;
159
- }
160
-
161
- [part="surface"] {
162
- clip-path: none;
163
- transition:
17
+ );}@starting-style {:host(:not([variant="band"])) [part="surface"]:popover-open {clip-path: inset(0 100% 100% calc(var(--helix-space-xl) * -1));}}:host([variant="band"]) [part="surface"],
18
+ :host(:state(narrow)) [part="surface"] {backdrop-filter: var(--megamenu-backdrop, none);background-color: var(--megamenu-background-color, var(--helix-color-background));border: none;border-radius: var(--helix-radii-none);box-shadow: var(--helix-shadow-md);clip-path: inset(0 0 100% 0);display: grid;grid-auto-flow: row;grid-template-columns: repeat(auto-fit, minmax(var(--megamenu-column-size, 15rem), 1fr));inline-size: auto;inset-block-start: var(--megamenu-top, 100%);inset-inline: 0;max-inline-size: none;padding-block: var(--helix-space-md) var(--helix-space-xl);padding-inline: max(var(--helix-space-xl), calc((100% - var(--megamenu-full-size, 80rem)) / 2));position: fixed;}:host([variant="band"]) [part="surface"]:popover-open,
19
+ :host(:state(narrow)) [part="surface"]:popover-open {clip-path: inset(0 0 calc(var(--helix-space-xl) * -1) 0);}@starting-style {:host([variant="band"]) [part="surface"]:popover-open,
20
+ :host(:state(narrow)) [part="surface"]:popover-open {clip-path: inset(0 0 100% 0);}}:host(:state(narrow)) [part="surface"] {grid-auto-flow: row;grid-template-columns: 1fr;max-block-size: calc(100dvh - var(--megamenu-top, 0px) - var(--helix-space-xl));overflow-y: auto;overscroll-behavior: contain;padding-inline: var(--helix-space-md);}:host [part="surface"][hidden] {display: none;}@media (prefers-reduced-motion: reduce) {[part="trigger"] {transition: none;}[part="surface"] {clip-path: none;transition:
164
21
  display var(--helix-duration-instant) allow-discrete,
165
- overlay var(--helix-duration-instant) allow-discrete;
166
- }
167
- }
168
-
169
- @media print {
170
- :host {
171
- display: none;
172
- }
173
- }`);
22
+ overlay var(--helix-duration-instant) allow-discrete;}}@media print {:host {display: none;}}`);
@@ -7,6 +7,14 @@ import type { CSSResultGroup } from 'lit';
7
7
  * Styles the trigger and lays out the panel it opens as a grid of columns. What
8
8
  * opens and closes the panel comes from the base class.
9
9
  *
10
+ * **The panel's contents are laid out by `helix.css`**, through attributes you
11
+ * write on your own markup: `data-megamenu-group` on each column,
12
+ * `data-megamenu-heading` on a column's heading, and `data-megamenu-item` on a
13
+ * link that carries a title in `<strong>` and a line of description in `<span>`
14
+ * or `<p>`, with an icon before them. A plain `<a>` in a group is drawn as a
15
+ * navigation item. Without the attributes the panel holds your markup as you
16
+ * styled it.
17
+ *
10
18
  * @since 0.1.0
11
19
  * @status stable
12
20
  * @category navigation
@@ -1,138 +1,15 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: block;
4
- }
5
-
6
- [part="item"] {
7
- align-items: center;
8
-
9
- text-decoration: none;
10
-
11
- border-radius: var(--helix-radii-none);
12
- color: var(--helix-color-foreground);
13
- cursor: pointer;
14
- display: grid;
15
-
16
- font-size: var(--helix-text-xs);
17
-
18
- font-weight: var(--helix-weight-medium);
19
-
20
- grid-template-columns:
2
+ export const styles = createSheet(`:host {display: block;}[part="item"] {align-items: center;text-decoration: none;border-radius: var(--helix-radii-none);color: var(--helix-color-foreground);cursor: pointer;display: grid;font-size: var(--helix-text-xs);font-weight: var(--helix-weight-medium);grid-template-columns:
21
3
  var(--menu-item-start, 0px)
22
4
  minmax(0, 1fr)
23
5
  auto
24
- var(--menu-item-end, 0px);
25
-
26
- min-block-size: var(--helix-size-control);
27
-
28
- padding-inline: var(--helix-space-sm);
29
- transition: background-color var(--helix-duration-fast) var(--helix-easing-standard);
30
- user-select: none;
31
- }
32
-
33
- [part="item"]:hover {
34
- background-color: var(
6
+ var(--menu-item-end, 0px);min-block-size: var(--helix-size-control);padding-inline: var(--helix-space-sm);transition: background-color var(--helix-duration-fast) var(--helix-easing-standard);user-select: none;}[part="item"]:hover {background-color: var(
35
7
  --menu-item-hover-color,
36
8
  color-mix(in oklab, var(--helix-color-foreground) 8%, transparent)
37
- );
38
- }
39
-
40
- [part="item"]:focus-visible {
41
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
42
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
43
- }
44
-
45
- [part="item"][aria-disabled="true"] {
46
- cursor: not-allowed;
47
- opacity: 0.5;
48
- }
49
-
50
- [part="start"] {
51
-
52
- --icon-size: var(--helix-size-icon);
53
-
54
- align-items: center;
55
-
56
- box-sizing: border-box;
57
- color: var(--helix-color-foreground-subtle);
58
- display: flex;
59
- justify-content: center;
60
- padding-inline-end: var(--helix-space-xs);
61
-
62
- min-block-size: var(--helix-size-icon);
63
- }
64
-
65
- [part="start"] {
66
- grid-column: 1;
67
- }
68
-
69
- [part="item"] > slot:not([name]) {
70
- display: block;
71
- grid-column: 2;
72
-
73
- min-inline-size: 0;
74
- }
75
-
76
- slot[name="description"] {
77
- color: var(--menu-item-description-color, var(--helix-color-foreground-subtle));
78
- display: block;
79
- font-weight: var(--helix-weight-regular);
80
- grid-column: 2;
81
- grid-row: 2;
82
- min-inline-size: 0;
83
- padding-block-end: var(--helix-space-2xs);
84
- }
85
-
86
- slot[name="description"][data-empty] {
87
- display: none;
88
- }
89
-
90
- [part="end"] {
91
- align-items: center;
92
- color: var(--menu-item-detail-color, var(--helix-color-foreground-subtle));
93
- display: flex;
94
- gap: var(--helix-space-2xs);
95
- grid-column: 3;
96
- padding-inline-start: var(--helix-space-sm);
97
- }
98
-
99
- [part="end"][data-empty] {
100
- display: none;
101
- }
102
-
103
- [part="mark"],
9
+ );}[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-disabled="true"] {cursor: not-allowed;opacity: 0.5;}[part="start"] {--icon-size: var(--helix-size-icon);align-items: center;box-sizing: border-box;color: var(--helix-color-foreground-subtle);display: flex;justify-content: center;padding-inline-end: var(--helix-space-xs);min-block-size: var(--helix-size-icon);}[part="start"] {grid-column: 1;}[part="item"] > slot:not([name]) {display: block;grid-column: 2;min-inline-size: 0;}slot[name="description"] {color: var(--menu-item-description-color, var(--helix-color-foreground-subtle));display: block;font-weight: var(--helix-weight-regular);grid-column: 2;grid-row: 2;min-inline-size: 0;padding-block-end: var(--helix-space-2xs);}slot[name="description"][data-empty] {display: none;}[part="end"] {align-items: center;color: var(--menu-item-detail-color, var(--helix-color-foreground-subtle));display: flex;gap: var(--helix-space-2xs);grid-column: 3;padding-inline-start: var(--helix-space-sm);}[part="end"][data-empty] {display: none;}[part="mark"],
104
10
  slot[name="check"]::slotted(*),
105
- slot[name="chevron"]::slotted(*) {
106
- grid-column: 4;
107
- grid-row: 1;
108
- }
109
-
110
- [part="start"][data-empty] {
111
- display: none;
112
- }
113
-
114
- [part="mark"],
11
+ slot[name="chevron"]::slotted(*) {grid-column: 4;grid-row: 1;}[part="start"][data-empty] {display: none;}[part="mark"],
115
12
  slot[name="check"]::slotted(*),
116
- slot[name="chevron"]::slotted(*) {
117
- block-size: var(--helix-size-icon);
118
- inline-size: var(--helix-size-icon);
119
- justify-self: end;
120
- }
121
-
122
- svg[part="mark"],
123
- slot[name="chevron"]::slotted(*) {
124
- color: var(--helix-color-foreground-subtle);
125
- }
126
-
127
- :host(:state(checked)) svg[part="mark"],
128
- slot[name="check"]::slotted(*) {
129
- color: var(--helix-color-foreground);
130
- }
131
-
132
- slot[name="submenu"] {
133
- display: contents;
134
- }
135
-
136
- slot[name="submenu"]::slotted(helix-divider) {
137
- margin-block: var(--helix-space-2xs);
138
- }`);
13
+ slot[name="chevron"]::slotted(*) {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);justify-self: end;}svg[part="mark"],
14
+ slot[name="chevron"]::slotted(*) {color: var(--helix-color-foreground-subtle);}:host(:state(checked)) svg[part="mark"],
15
+ slot[name="check"]::slotted(*) {color: var(--helix-color-foreground);}slot[name="submenu"] {display: contents;}slot[name="submenu"]::slotted(helix-divider) {margin-block: var(--helix-space-2xs);}`);
@@ -1,111 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
-
4
- display: contents;
5
- }
6
-
7
- [part="surface"] {
8
-
9
- --helix-size-control: var(--helix-size-control-sm);
10
- --helix-size-control-loose: calc(var(--helix-size-control) * 1.2);
11
- --helix-size-control-tight: calc(var(--helix-size-control) * 0.8);
12
- --helix-size-icon: var(--helix-size-icon-sm);
13
- --helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);
14
- --helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);
15
-
16
- --menu-item-start: 0px;
17
- --menu-item-end: 0px;
18
-
19
- max-block-size: var(--menu-max-block-size, var(--floating-available-block-size, none));
20
- overflow-y: auto;
21
-
22
- --_floating-background-color: var(--menu-background-color, var(--helix-color-surface-overlay));
23
- --_floating-border-color: var(--menu-border-color, var(--helix-color-border));
24
- --_floating-border-width: var(--menu-border-width, var(--helix-border-floating));
25
- --_floating-shadow: var(--menu-shadow, var(--helix-shadow-floating));
26
-
27
- min-inline-size: var(--menu-min-inline-size, 12rem);
28
-
29
- padding-block: var(--helix-space-xs);
30
- padding-inline: var(--helix-space-none);
31
- }
32
-
33
- :host(:state(start)) [part="surface"] {
34
- --menu-item-start: calc(var(--helix-size-icon) + var(--helix-space-xs));
35
- }
36
-
37
- :host(:state(mark)) [part="surface"] {
38
- --menu-item-end: calc(var(--helix-size-icon) + var(--helix-space-xs));
39
- }
40
-
41
- [part="surface"][data-placement^="left"] {
42
- transform-origin: 100% var(--floating-arrow-y, 50%);
43
- }
44
-
45
- [part="surface"][data-placement^="right"] {
46
- transform-origin: 0 var(--floating-arrow-y, 50%);
47
- }
48
-
49
- [part="header"] {
50
- align-items: center;
51
- border-block-end: var(--helix-border-thin) solid var(--helix-color-border);
52
- display: flex;
53
- gap: var(--helix-space-2xs);
54
- margin-block-end: var(--helix-space-2xs);
55
-
56
- padding: var(--helix-space-2xs) var(--helix-space-xs) var(--helix-space-xs);
57
- }
58
-
59
- [part="back"] {
60
- align-items: center;
61
- background: none;
62
- border: none;
63
- border-radius: var(--helix-radii-sm);
64
- color: var(--helix-color-foreground-muted);
65
- cursor: pointer;
66
- display: inline-flex;
67
- justify-content: center;
68
-
69
- block-size: calc(var(--helix-size-icon) + var(--helix-space-xs));
70
- inline-size: calc(var(--helix-size-icon) + var(--helix-space-xs));
71
- padding: var(--helix-space-none);
72
- }
73
-
74
- [part="back"] svg {
75
- block-size: var(--helix-size-icon);
76
- inline-size: var(--helix-size-icon);
77
- }
78
-
79
- [part="back"]:hover {
80
- background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);
81
- color: var(--helix-color-foreground);
82
- }
83
-
84
- [part="back"]:focus-visible {
85
- outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
86
- outline-offset: calc(var(--helix-size-focus-offset) * -1);
87
- }
88
-
89
- [part="title"] {
90
- color: var(--helix-color-foreground);
91
- font-size: var(--helix-text-xs);
92
- font-weight: var(--helix-weight-medium);
93
- }
94
-
95
- ::slotted(helix-divider) {
96
- margin-block: var(--helix-space-2xs);
97
- }
98
-
99
- [part="surface"][data-drilled] slot::slotted(:not(helix-menu-item)) {
100
- display: none;
101
- }
102
-
103
- :host([loading]) [part="surface"] {
104
- opacity: 0.5;
105
- }
106
-
107
- @media print {
108
- :host {
109
- display: none;
110
- }
111
- }`);
2
+ export const styles = createSheet(`:host {display: contents;}[part="surface"] {--helix-size-control: var(--helix-size-control-sm);--helix-size-control-loose: calc(var(--helix-size-control) * 1.2);--helix-size-control-tight: calc(var(--helix-size-control) * 0.8);--helix-size-icon: var(--helix-size-icon-sm);--helix-size-icon-loose: calc(var(--helix-size-icon) * 1.2);--helix-size-icon-tight: calc(var(--helix-size-icon) * 0.8);--menu-item-start: 0px;--menu-item-end: 0px;max-block-size: var(--menu-max-block-size, var(--floating-available-block-size, none));overflow-y: auto;--_floating-background-color: var(--menu-background-color, var(--helix-color-surface-overlay));--_floating-border-color: var(--menu-border-color, var(--helix-color-border));--_floating-border-width: var(--menu-border-width, var(--helix-border-floating));--_floating-shadow: var(--menu-shadow, var(--helix-shadow-floating));min-inline-size: var(--menu-min-inline-size, 12rem);padding-block: var(--helix-space-xs);padding-inline: var(--helix-space-none);}:host(:state(start)) [part="surface"] {--menu-item-start: calc(var(--helix-size-icon) + var(--helix-space-xs));}:host(:state(mark)) [part="surface"] {--menu-item-end: calc(var(--helix-size-icon) + var(--helix-space-xs));}[part="surface"][data-placement^="left"] {transform-origin: 100% var(--floating-arrow-y, 50%);}[part="surface"][data-placement^="right"] {transform-origin: 0 var(--floating-arrow-y, 50%);}[part="header"] {align-items: center;border-block-end: var(--helix-border-thin) solid var(--helix-color-border);display: flex;gap: var(--helix-space-2xs);margin-block-end: var(--helix-space-2xs);padding: var(--helix-space-2xs) var(--helix-space-xs) var(--helix-space-xs);}[part="back"] {align-items: center;background: none;border: none;border-radius: var(--helix-radii-sm);color: var(--helix-color-foreground-muted);cursor: pointer;display: inline-flex;justify-content: center;block-size: calc(var(--helix-size-icon) + var(--helix-space-xs));inline-size: calc(var(--helix-size-icon) + var(--helix-space-xs));padding: var(--helix-space-none);}[part="back"] svg {block-size: var(--helix-size-icon);inline-size: var(--helix-size-icon);}[part="back"]:hover {background-color: color-mix(in oklab, var(--helix-color-foreground) 8%, transparent);color: var(--helix-color-foreground);}[part="back"]:focus-visible {outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);outline-offset: calc(var(--helix-size-focus-offset) * -1);}[part="title"] {color: var(--helix-color-foreground);font-size: var(--helix-text-xs);font-weight: var(--helix-weight-medium);}::slotted(helix-divider) {margin-block: var(--helix-space-2xs);}[part="surface"][data-drilled] slot::slotted(:not(helix-menu-item)) {display: none;}:host([loading]) [part="surface"] {opacity: 0.5;}@media print {:host {display: none;}}`);
@@ -1,14 +1,2 @@
1
1
  import { createSheet } from '@fusion.dev/helix-core';
2
- export const styles = createSheet(`:host {
3
- display: block;
4
- }
5
-
6
- [part="heading"] {
7
- color: var(--menu-section-heading-color, var(--helix-color-foreground-subtle));
8
- font-size: var(--helix-text-xs);
9
- font-weight: var(--helix-weight-medium);
10
- line-height: var(--helix-leading-normal);
11
- padding-block: var(--helix-space-xs) var(--helix-space-2xs);
12
- padding-inline: var(--helix-space-sm);
13
- user-select: none;
14
- }`);
2
+ export const styles = createSheet(`:host {display: block;}[part="heading"] {color: var(--menu-section-heading-color, var(--helix-color-foreground-subtle));font-size: var(--helix-text-xs);font-weight: var(--helix-weight-medium);line-height: var(--helix-leading-normal);padding-block: var(--helix-space-xs) var(--helix-space-2xs);padding-inline: var(--helix-space-sm);user-select: none;}`);