@fusion.dev/helix 0.100.0 → 0.102.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.
- package/custom-elements.json +5044 -2244
- package/dist/dialog/root/dialog-root.d.ts +1 -1
- package/dist/element-events.generated.js +9 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/lightbox/index.d.ts +2 -0
- package/dist/lightbox/index.js +2 -0
- package/dist/lightbox/item/lightbox-item.css.d.ts +1 -0
- package/dist/lightbox/item/lightbox-item.css.js +34 -0
- package/dist/lightbox/item/lightbox-item.d.ts +28 -0
- package/dist/lightbox/item/lightbox-item.js +16 -0
- package/dist/lightbox/root/lightbox-root.css.d.ts +1 -0
- package/dist/lightbox/root/lightbox-root.css.js +76 -0
- package/dist/lightbox/root/lightbox-root.d.ts +41 -0
- package/dist/lightbox/root/lightbox-root.js +16 -0
- package/dist/map/index.d.ts +1 -0
- package/dist/map/index.js +1 -0
- package/dist/map/root/map-root.css.d.ts +1 -0
- package/dist/map/root/map-root.css.js +112 -0
- package/dist/map/root/map-root.d.ts +33 -0
- package/dist/map/root/map-root.js +16 -0
- package/package.json +6 -6
- package/types/jsx.d.ts +1036 -0
- package/types/svelte.d.ts +3 -0
- package/types/vue.d.ts +222 -2
package/types/svelte.d.ts
CHANGED
|
@@ -65,11 +65,14 @@ declare module 'svelte/elements' {
|
|
|
65
65
|
'helix-input': CustomElements['helix-input']
|
|
66
66
|
'helix-kbd': CustomElements['helix-kbd']
|
|
67
67
|
'helix-legend': CustomElements['helix-legend']
|
|
68
|
+
'helix-lightbox-item': CustomElements['helix-lightbox-item']
|
|
69
|
+
'helix-lightbox': CustomElements['helix-lightbox']
|
|
68
70
|
'helix-line-chart': CustomElements['helix-line-chart']
|
|
69
71
|
'helix-list-item': CustomElements['helix-list-item']
|
|
70
72
|
'helix-list': CustomElements['helix-list']
|
|
71
73
|
'helix-listbox': CustomElements['helix-listbox']
|
|
72
74
|
'helix-loader': CustomElements['helix-loader']
|
|
75
|
+
'helix-map': CustomElements['helix-map']
|
|
73
76
|
'helix-megamenu': CustomElements['helix-megamenu']
|
|
74
77
|
'helix-menu-item': CustomElements['helix-menu-item']
|
|
75
78
|
'helix-menu': CustomElements['helix-menu']
|
package/types/vue.d.ts
CHANGED
|
@@ -57,11 +57,14 @@ import type {
|
|
|
57
57
|
HelixInput,
|
|
58
58
|
HelixKbd,
|
|
59
59
|
HelixLegend,
|
|
60
|
+
HelixLightboxItem,
|
|
61
|
+
HelixLightbox,
|
|
60
62
|
HelixLineChart,
|
|
61
63
|
HelixListItem,
|
|
62
64
|
HelixList,
|
|
63
65
|
HelixListbox,
|
|
64
66
|
HelixLoader,
|
|
67
|
+
HelixMap,
|
|
65
68
|
HelixMegamenu,
|
|
66
69
|
HelixMenuItem,
|
|
67
70
|
HelixMenu,
|
|
@@ -159,8 +162,11 @@ import type {
|
|
|
159
162
|
HelixFacetEvent,
|
|
160
163
|
HelixResizeEvent,
|
|
161
164
|
HelixShortcutEvent,
|
|
162
|
-
HelixReadEvent,
|
|
163
165
|
HelixActivateEvent,
|
|
166
|
+
HelixBeforeActivateEvent,
|
|
167
|
+
HelixMapPanEvent,
|
|
168
|
+
HelixMapZoomEvent,
|
|
169
|
+
HelixReadEvent,
|
|
164
170
|
HelixCompleteEvent,
|
|
165
171
|
HelixConsoleEvent,
|
|
166
172
|
HelixBeforeEditEvent,
|
|
@@ -169,7 +175,6 @@ import type {
|
|
|
169
175
|
HelixCaretEvent,
|
|
170
176
|
HelixBeforeCollapseEvent,
|
|
171
177
|
HelixBeforeResizeEvent,
|
|
172
|
-
HelixBeforeActivateEvent,
|
|
173
178
|
HelixTourAskEvent,
|
|
174
179
|
HelixNextEvent,
|
|
175
180
|
HelixPreviousEvent,
|
|
@@ -5383,6 +5388,116 @@ shadow root reads a table in that root rather than one in the document.
|
|
|
5383
5388
|
|
|
5384
5389
|
export type HelixLegendVueEvents = {};
|
|
5385
5390
|
|
|
5391
|
+
export type HelixLightboxItemVueProps = {
|
|
5392
|
+
/** Whether this is the one being shown.
|
|
5393
|
+
|
|
5394
|
+
Written by the root, which is the only thing that sees the set. */
|
|
5395
|
+
current?: (HelixLightboxItem["current"]) | undefined;
|
|
5396
|
+
/** What this item is called, for the reading that says where the reader is. */
|
|
5397
|
+
label?: (HelixLightboxItem["label"]) | undefined;
|
|
5398
|
+
/** What names this item, and what `active` on the root is compared against. */
|
|
5399
|
+
value?: (HelixLightboxItem["value"]) | undefined;
|
|
5400
|
+
};
|
|
5401
|
+
|
|
5402
|
+
export type HelixLightboxItemVueEvents = {};
|
|
5403
|
+
|
|
5404
|
+
/** `HelixLightbox` component event */
|
|
5405
|
+
export type HelixLightboxElementEvent<E = Event> = TypedEvent<HelixLightbox, E>;
|
|
5406
|
+
/** `helix-activate` event type */
|
|
5407
|
+
export type HelixLightboxHelixActivateElementEvent =
|
|
5408
|
+
HelixLightboxElementEvent<HelixActivateEvent>;
|
|
5409
|
+
/** `helix-before-activate` event type */
|
|
5410
|
+
export type HelixLightboxHelixBeforeActivateElementEvent =
|
|
5411
|
+
HelixLightboxElementEvent<HelixBeforeActivateEvent>;
|
|
5412
|
+
/** `helix-before-close` event type */
|
|
5413
|
+
export type HelixLightboxHelixBeforeCloseElementEvent =
|
|
5414
|
+
HelixLightboxElementEvent<HelixBeforeCloseEvent>;
|
|
5415
|
+
/** `helix-before-open` event type */
|
|
5416
|
+
export type HelixLightboxHelixBeforeOpenElementEvent =
|
|
5417
|
+
HelixLightboxElementEvent<HelixBeforeOpenEvent>;
|
|
5418
|
+
|
|
5419
|
+
export type HelixLightboxVueProps = {
|
|
5420
|
+
/** Which item is current, by its `value`.
|
|
5421
|
+
|
|
5422
|
+
Not `option.active`, which is the option the keyboard is on: that is a
|
|
5423
|
+
different question from which one is chosen.
|
|
5424
|
+
|
|
5425
|
+
Writing always applies, so `<helix-tabs active="one">` starts on that
|
|
5426
|
+
tab, and `default-active` is how markup says where to start without
|
|
5427
|
+
naming the current one. */
|
|
5428
|
+
active?: (HelixLightbox["active"]) | undefined;
|
|
5429
|
+
/** Which item the markup declared current.
|
|
5430
|
+
|
|
5431
|
+
Ignored once `active` is written. */
|
|
5432
|
+
"default-active"?: (HelixLightbox["defaultActive"]) | undefined;
|
|
5433
|
+
/** Which item the markup declared current.
|
|
5434
|
+
|
|
5435
|
+
Ignored once `active` is written. */
|
|
5436
|
+
defaultActive?: (HelixLightbox["defaultActive"]) | undefined;
|
|
5437
|
+
/** Whether the element is open.
|
|
5438
|
+
|
|
5439
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
5440
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
5441
|
+
same statement in markup.
|
|
5442
|
+
|
|
5443
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
5444
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
5445
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
5446
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
5447
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
5448
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
5449
|
+
open?: (HelixLightbox["open"]) | undefined;
|
|
5450
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5451
|
+
"default-open"?: (HelixLightbox["defaultOpen"]) | undefined;
|
|
5452
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5453
|
+
defaultOpen?: (HelixLightbox["defaultOpen"]) | undefined;
|
|
5454
|
+
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
5455
|
+
|
|
5456
|
+
Zero keeps it up, which is what a viewer with a caption worth reading
|
|
5457
|
+
wants. The wait is only ever about idling: whether anything else should
|
|
5458
|
+
keep the chrome up is the consumer's to decide with this. */
|
|
5459
|
+
"idle-delay"?: (HelixLightbox["idleDelay"] | `${number}`) | undefined;
|
|
5460
|
+
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
5461
|
+
|
|
5462
|
+
Zero keeps it up, which is what a viewer with a caption worth reading
|
|
5463
|
+
wants. The wait is only ever about idling: whether anything else should
|
|
5464
|
+
keep the chrome up is the consumer's to decide with this. */
|
|
5465
|
+
idleDelay?: (HelixLightbox["idleDelay"]) | undefined;
|
|
5466
|
+
/** Accessible name for the viewer. */
|
|
5467
|
+
label?: (HelixLightbox["label"]) | undefined;
|
|
5468
|
+
/** Whether walking past the end comes back to the beginning. */
|
|
5469
|
+
loop?: (HelixLightbox["loop"]) | undefined;
|
|
5470
|
+
/** The reading that says where in the set the reader is, with `{index}` and
|
|
5471
|
+
`{count}` filled in.
|
|
5472
|
+
|
|
5473
|
+
Announced rather than only drawn, because the picture changing under a
|
|
5474
|
+
reader who cannot see it is otherwise silent. A consumer who has their own
|
|
5475
|
+
counter in the chrome can empty this and say it themselves. */
|
|
5476
|
+
"status-label"?: (HelixLightbox["statusLabel"]) | undefined;
|
|
5477
|
+
/** The reading that says where in the set the reader is, with `{index}` and
|
|
5478
|
+
`{count}` filled in.
|
|
5479
|
+
|
|
5480
|
+
Announced rather than only drawn, because the picture changing under a
|
|
5481
|
+
reader who cannot see it is otherwise silent. A consumer who has their own
|
|
5482
|
+
counter in the chrome can empty this and say it themselves. */
|
|
5483
|
+
statusLabel?: (HelixLightbox["statusLabel"]) | undefined;
|
|
5484
|
+
};
|
|
5485
|
+
|
|
5486
|
+
export type HelixLightboxVueEvents = {
|
|
5487
|
+
/** Fired once the shown item has moved, so the element already holds it. */
|
|
5488
|
+
"helix-activate": HelixLightboxHelixActivateElementEvent;
|
|
5489
|
+
/** Relayed, because the platform's own does not escape. */
|
|
5490
|
+
close: HelixLightboxElementEvent;
|
|
5491
|
+
/** Fired before the shown item changes, and cancelable. The only way to refuse one. */
|
|
5492
|
+
"helix-before-activate": HelixLightboxHelixBeforeActivateElementEvent;
|
|
5493
|
+
/** Fired before it closes, and cancelable. */
|
|
5494
|
+
"helix-before-close": HelixLightboxHelixBeforeCloseElementEvent;
|
|
5495
|
+
/** Fired before it opens, and cancelable. */
|
|
5496
|
+
"helix-before-open": HelixLightboxHelixBeforeOpenElementEvent;
|
|
5497
|
+
/** Says the state moved, carrying `newState` and `oldState`. */
|
|
5498
|
+
toggle: HelixLightboxElementEvent;
|
|
5499
|
+
};
|
|
5500
|
+
|
|
5386
5501
|
export type HelixLineChartVueProps = {
|
|
5387
5502
|
/** How much ink the lines claim.
|
|
5388
5503
|
|
|
@@ -5755,6 +5870,73 @@ around a logo reads as chrome bolted to the brand. */
|
|
|
5755
5870
|
|
|
5756
5871
|
export type HelixLoaderVueEvents = {};
|
|
5757
5872
|
|
|
5873
|
+
/** `HelixMap` component event */
|
|
5874
|
+
export type HelixMapElementEvent<E = Event> = TypedEvent<HelixMap, E>;
|
|
5875
|
+
/** `helix-map-pan` event type */
|
|
5876
|
+
export type HelixMapHelixMapPanElementEvent =
|
|
5877
|
+
HelixMapElementEvent<HelixMapPanEvent>;
|
|
5878
|
+
/** `helix-map-zoom` event type */
|
|
5879
|
+
export type HelixMapHelixMapZoomElementEvent =
|
|
5880
|
+
HelixMapElementEvent<HelixMapZoomEvent>;
|
|
5881
|
+
|
|
5882
|
+
export type HelixMapVueProps = {
|
|
5883
|
+
/** What the control that fills the screen is called. */
|
|
5884
|
+
"fullscreen-label"?: (HelixMap["fullscreenLabel"]) | undefined;
|
|
5885
|
+
/** What the control that fills the screen is called. */
|
|
5886
|
+
fullscreenLabel?: (HelixMap["fullscreenLabel"]) | undefined;
|
|
5887
|
+
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
5888
|
+
|
|
5889
|
+
Zero keeps it up, which is the default: a map's controls are how a keyboard
|
|
5890
|
+
reader operates it, and chrome that hides itself by default would be this
|
|
5891
|
+
component undoing its own argument. Set it for a display map nobody drives. */
|
|
5892
|
+
"idle-delay"?: (HelixMap["idleDelay"] | `${number}`) | undefined;
|
|
5893
|
+
/** How long the reader may be still before the chrome hides, in milliseconds.
|
|
5894
|
+
|
|
5895
|
+
Zero keeps it up, which is the default: a map's controls are how a keyboard
|
|
5896
|
+
reader operates it, and chrome that hides itself by default would be this
|
|
5897
|
+
component undoing its own argument. Set it for a display map nobody drives. */
|
|
5898
|
+
idleDelay?: (HelixMap["idleDelay"]) | undefined;
|
|
5899
|
+
/** Accessible name for the map, which is the one thing a consumer must write.
|
|
5900
|
+
|
|
5901
|
+
There is no sensible default. "Map" names the widget rather than the place,
|
|
5902
|
+
and a reader meeting three of them on a page learns nothing from hearing the
|
|
5903
|
+
same word three times. */
|
|
5904
|
+
label?: (HelixMap["label"]) | undefined;
|
|
5905
|
+
/** What the controls are called, for a page not in English. */
|
|
5906
|
+
"pan-label"?: (HelixMap["panLabel"]) | undefined;
|
|
5907
|
+
/** What the controls are called, for a page not in English. */
|
|
5908
|
+
panLabel?: (HelixMap["panLabel"]) | undefined;
|
|
5909
|
+
/** How far one press moves the map, as a fraction of what is on screen.
|
|
5910
|
+
|
|
5911
|
+
A fraction rather than a distance, because this frame does not know the
|
|
5912
|
+
scale of what is inside it: a quarter of the viewport is the same gesture at
|
|
5913
|
+
street level and at country level, and a consumer who wants metres can
|
|
5914
|
+
multiply by their own. */
|
|
5915
|
+
"pan-step"?: (HelixMap["panStep"] | `${number}`) | undefined;
|
|
5916
|
+
/** How far one press moves the map, as a fraction of what is on screen.
|
|
5917
|
+
|
|
5918
|
+
A fraction rather than a distance, because this frame does not know the
|
|
5919
|
+
scale of what is inside it: a quarter of the viewport is the same gesture at
|
|
5920
|
+
street level and at country level, and a consumer who wants metres can
|
|
5921
|
+
multiply by their own. */
|
|
5922
|
+
panStep?: (HelixMap["panStep"]) | undefined;
|
|
5923
|
+
/** What the zoom controls are called. */
|
|
5924
|
+
"zoom-in-label"?: (HelixMap["zoomInLabel"]) | undefined;
|
|
5925
|
+
/** What the zoom controls are called. */
|
|
5926
|
+
zoomInLabel?: (HelixMap["zoomInLabel"]) | undefined;
|
|
5927
|
+
/** What the zoom control that goes the other way is called. */
|
|
5928
|
+
"zoom-out-label"?: (HelixMap["zoomOutLabel"]) | undefined;
|
|
5929
|
+
/** What the zoom control that goes the other way is called. */
|
|
5930
|
+
zoomOutLabel?: (HelixMap["zoomOutLabel"]) | undefined;
|
|
5931
|
+
};
|
|
5932
|
+
|
|
5933
|
+
export type HelixMapVueEvents = {
|
|
5934
|
+
/** The reader asked the map to move. Answer it against your own map. */
|
|
5935
|
+
"helix-map-pan": HelixMapHelixMapPanElementEvent;
|
|
5936
|
+
/** The reader asked the map to zoom, by a direction rather than to a level. */
|
|
5937
|
+
"helix-map-zoom": HelixMapHelixMapZoomElementEvent;
|
|
5938
|
+
};
|
|
5939
|
+
|
|
5758
5940
|
/** `HelixMegamenu` component event */
|
|
5759
5941
|
export type HelixMegamenuElementEvent<E = Event> = TypedEvent<HelixMegamenu, E>;
|
|
5760
5942
|
/** `helix-before-close` event type */
|
|
@@ -11471,6 +11653,18 @@ export type CustomCssProperties = {
|
|
|
11471
11653
|
"--legend-swatch-size"?: (string) | undefined;
|
|
11472
11654
|
/** Width of the edge an `outlined` or `subtle` swatch is drawn with. */
|
|
11473
11655
|
"--legend-swatch-stroke"?: (string) | undefined;
|
|
11656
|
+
/** Color of the line under the content. */
|
|
11657
|
+
"--lightbox-item-description-color"?: (string) | undefined;
|
|
11658
|
+
/** Space between the content and the line under it. */
|
|
11659
|
+
"--lightbox-item-gap"?: (string) | undefined;
|
|
11660
|
+
/** Color of the chrome drawn over the content. */
|
|
11661
|
+
"--lightbox-foreground"?: (string) | undefined;
|
|
11662
|
+
/** Space between the chrome and the content. */
|
|
11663
|
+
"--lightbox-gap"?: (string) | undefined;
|
|
11664
|
+
/** Inset from the edges of the screen. */
|
|
11665
|
+
"--lightbox-padding"?: (string) | undefined;
|
|
11666
|
+
/** The wash over the page behind the viewer. Set on the host, where a token still resolves: a `var()` written inside `::backdrop` cannot see one. */
|
|
11667
|
+
"--lightbox-scrim"?: (string) | undefined;
|
|
11474
11668
|
/** A fill for the middle of a `ring` terminus, which is otherwise open. One name across this family and Sparkline, the two reading one shared sheet. */
|
|
11475
11669
|
"--chart-terminus-hole"?: (string) | undefined;
|
|
11476
11670
|
/** Size of the mark on each series' last reading. One name across this family and Sparkline, the two reading one shared sheet. */
|
|
@@ -11519,6 +11713,14 @@ export type CustomCssProperties = {
|
|
|
11519
11713
|
"--loader-size"?: (string) | undefined;
|
|
11520
11714
|
/** Color of the circle behind it. */
|
|
11521
11715
|
"--loader-track-color"?: (string) | undefined;
|
|
11716
|
+
/** The well behind the map, seen while tiles are on their way. */
|
|
11717
|
+
"--map-background-color"?: (string) | undefined;
|
|
11718
|
+
/** How tall the frame is. A length, since the map fills it. */
|
|
11719
|
+
"--map-block-size"?: (string) | undefined;
|
|
11720
|
+
/** Color of the frame's edge. */
|
|
11721
|
+
"--map-border-color"?: (string) | undefined;
|
|
11722
|
+
/** The ground under the pan and zoom buttons. */
|
|
11723
|
+
"--map-control-background-color"?: (string) | undefined;
|
|
11522
11724
|
/** A filter behind the panel, which is `none` until one is asked for: this family carries no `material`, so the pair is two hooks rather than a word. */
|
|
11523
11725
|
"--megamenu-backdrop"?: (string) | undefined;
|
|
11524
11726
|
/** The panel's own fill. */
|
|
@@ -12381,6 +12583,18 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
12381
12583
|
HelixLegendVueProps,
|
|
12382
12584
|
HelixLegendVueEvents
|
|
12383
12585
|
>;
|
|
12586
|
+
/** Presentation only: the box centers what it was given and holds it inside the viewport rather than sizing it, because what is in here is the consumer's and may be a picture, a frame of video or a chart. Which item is shown, and the arithmetic that decides, is the base class. */
|
|
12587
|
+
"helix-lightbox-item": DefineCustomElement<
|
|
12588
|
+
HelixLightboxItem,
|
|
12589
|
+
HelixLightboxItemVueProps,
|
|
12590
|
+
HelixLightboxItemVueEvents
|
|
12591
|
+
>;
|
|
12592
|
+
/** **A takeover rather than a panel, which is the whole difference from 'Dialog'.** A dialog is a thing over the page and stops short of the edges to say so; a lightbox is the page for as long as it is open. The scrim is heavier for the same reason: what is behind it is not meant to be read. **A dark region that says so once**, with 'color-scheme: dark' on the host, which is 'Video''s answer to the same problem: the chrome is the consumer's own components and they resolve their own tokens, so without a scheme on the region they draw page-colored ink on a black room and disappear into it. The chrome fades rather than leaves while the reader is still, because a bar that is removed from the layout takes the picture's size with it and the reader watches it jump every time they stop moving. */
|
|
12593
|
+
"helix-lightbox": DefineCustomElement<
|
|
12594
|
+
HelixLightbox,
|
|
12595
|
+
HelixLightboxVueProps,
|
|
12596
|
+
HelixLightboxVueEvents
|
|
12597
|
+
>;
|
|
12384
12598
|
/** The lines take the series palette in order, so a chart of one is series one and a chart of four is the first four, and a legend beside it maps the same twenty-four. The stroke does not scale with the box. 'preserveAspectRatio="none"' is what lets one drawing fill a narrow card and a wide panel, and without 'vector-effect: non-scaling-stroke' the same line comes out hairline in the first and heavy in the second. It rescues strokes and not geometry, which is why nothing inside the drawing marks a reading: a circle in a stretched coordinate space is an ellipse, and there is no vector-effect that answers for a shape. **The last reading of each series is marked, and that is the same rule rather than an exception to it.** 'terminus' draws an HTML element placed over the plot by percentage instead of a shape inside it, so it keeps its shape at any width. It is on by default, as a dot, because the column of marks at the far edge is where a reader looks for "and what is it now". */
|
|
12385
12599
|
"helix-line-chart": DefineCustomElement<
|
|
12386
12600
|
HelixLineChart,
|
|
@@ -12411,6 +12625,12 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
12411
12625
|
HelixLoaderVueProps,
|
|
12412
12626
|
HelixLoaderVueEvents
|
|
12413
12627
|
>;
|
|
12628
|
+
/** Presentation only: a bordered well with the controls over it, at the corner every map puts them. What the frame is for, and why the controls are buttons rather than arrow keys, is the base class. **The controls do not fade with the chrome.** A reader who has gone still has not stopped needing the only controls this frame offers, so the idle state takes the header and footer a consumer slotted and leaves the buttons alone. */
|
|
12629
|
+
"helix-map": DefineCustomElement<
|
|
12630
|
+
HelixMap,
|
|
12631
|
+
HelixMapVueProps,
|
|
12632
|
+
HelixMapVueEvents
|
|
12633
|
+
>;
|
|
12414
12634
|
/** Presentation only: the trigger, and the panel it opens as a grid of columns. Everything about what opens it and what closes it is the base class. */
|
|
12415
12635
|
"helix-megamenu": DefineCustomElement<
|
|
12416
12636
|
HelixMegamenu,
|