@fusion.dev/helix-headless 0.97.0 → 0.99.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.
@@ -3214,6 +3214,9 @@
3214
3214
  "Banded Chart"
3215
3215
  ],
3216
3216
  "tier": "headless",
3217
+ "renders": [
3218
+ "tooltip"
3219
+ ],
3217
3220
  "group": "BaseAreaChart",
3218
3221
  "part": "Root",
3219
3222
  "examples": [
@@ -5833,6 +5836,9 @@
5833
5836
  "Categorical Chart"
5834
5837
  ],
5835
5838
  "tier": "headless",
5839
+ "renders": [
5840
+ "tooltip"
5841
+ ],
5836
5842
  "group": "BaseBarChart",
5837
5843
  "part": "Root",
5838
5844
  "examples": [
@@ -13404,6 +13410,9 @@
13404
13410
  "Messages"
13405
13411
  ],
13406
13412
  "tier": "headless",
13413
+ "renders": [
13414
+ "chat-message"
13415
+ ],
13407
13416
  "group": "BaseChat",
13408
13417
  "part": "Root",
13409
13418
  "examples": [
@@ -16589,6 +16598,9 @@
16589
16598
  "Pre"
16590
16599
  ],
16591
16600
  "tier": "headless",
16601
+ "renders": [
16602
+ "copy-button"
16603
+ ],
16592
16604
  "group": "BaseCodeBlock",
16593
16605
  "part": "Root",
16594
16606
  "examples": [
@@ -18861,6 +18873,9 @@
18861
18873
  "InputColor"
18862
18874
  ],
18863
18875
  "tier": "headless",
18876
+ "renders": [
18877
+ "color-picker"
18878
+ ],
18864
18879
  "group": "BaseColorInput",
18865
18880
  "part": "Root",
18866
18881
  "examples": [
@@ -20268,6 +20283,11 @@
20268
20283
  "Swatch picker"
20269
20284
  ],
20270
20285
  "tier": "headless",
20286
+ "renders": [
20287
+ "button",
20288
+ "button-group",
20289
+ "slider"
20290
+ ],
20271
20291
  "group": "BaseColorPicker",
20272
20292
  "part": "Root",
20273
20293
  "examples": [
@@ -22426,6 +22446,10 @@
22426
22446
  "Search select"
22427
22447
  ],
22428
22448
  "tier": "headless",
22449
+ "renders": [
22450
+ "listbox",
22451
+ "tag"
22452
+ ],
22429
22453
  "group": "BaseCombobox",
22430
22454
  "part": "Root",
22431
22455
  "examples": [
@@ -23220,6 +23244,10 @@
23220
23244
  "Spotlight"
23221
23245
  ],
23222
23246
  "tier": "headless",
23247
+ "renders": [
23248
+ "dialog",
23249
+ "listbox"
23250
+ ],
23223
23251
  "group": "BaseCommand",
23224
23252
  "part": "Root",
23225
23253
  "examples": [
@@ -24437,6 +24465,9 @@
24437
24465
  "Copy to clipboard"
24438
24466
  ],
24439
24467
  "tier": "headless",
24468
+ "renders": [
24469
+ "tooltip"
24470
+ ],
24440
24471
  "group": "BaseCopyButton",
24441
24472
  "part": "Root",
24442
24473
  "examples": [
@@ -26620,6 +26651,10 @@
26620
26651
  "Data grid"
26621
26652
  ],
26622
26653
  "tier": "headless",
26654
+ "renders": [
26655
+ "checkbox",
26656
+ "pagination"
26657
+ ],
26623
26658
  "group": "BaseDataTable",
26624
26659
  "part": "Root",
26625
26660
  "examples": [
@@ -29260,6 +29295,10 @@
29260
29295
  "InputDate"
29261
29296
  ],
29262
29297
  "tier": "headless",
29298
+ "renders": [
29299
+ "date-picker",
29300
+ "tag"
29301
+ ],
29263
29302
  "group": "BaseDateInput",
29264
29303
  "part": "Root",
29265
29304
  "examples": [
@@ -33777,6 +33816,9 @@
33777
33816
  "Share Chart"
33778
33817
  ],
33779
33818
  "tier": "headless",
33819
+ "renders": [
33820
+ "tooltip"
33821
+ ],
33780
33822
  "group": "BaseDonutChart",
33781
33823
  "part": "Root",
33782
33824
  "examples": [
@@ -37713,6 +37755,9 @@
37713
37755
  "InputFile"
37714
37756
  ],
37715
37757
  "tier": "headless",
37758
+ "renders": [
37759
+ "tag"
37760
+ ],
37716
37761
  "group": "BaseFileInput",
37717
37762
  "part": "Root",
37718
37763
  "examples": [
@@ -39509,6 +39554,11 @@
39509
39554
  "FilterBuilder"
39510
39555
  ],
39511
39556
  "tier": "headless",
39557
+ "renders": [
39558
+ "divider",
39559
+ "menu",
39560
+ "menu-item"
39561
+ ],
39512
39562
  "group": "BaseFilterInput",
39513
39563
  "part": "Menu"
39514
39564
  },
@@ -43887,6 +43937,9 @@
43887
43937
  "Activity graph"
43888
43938
  ],
43889
43939
  "tier": "headless",
43940
+ "renders": [
43941
+ "tooltip"
43942
+ ],
43890
43943
  "group": "BaseHeatmap",
43891
43944
  "part": "Root",
43892
43945
  "examples": [
@@ -45017,6 +45070,14 @@
45017
45070
  }
45018
45071
  ],
45019
45072
  "members": [
45073
+ {
45074
+ "kind": "field",
45075
+ "name": "icon",
45076
+ "type": {
45077
+ "text": "HelixIcon | undefined"
45078
+ },
45079
+ "description": "The icon itself, for a consumer who imported one.\n\n**The scalable door, and the one this library uses internally.** An icon is\ndata, `{ content, name, viewBox }`, so a value imported by name ships one\nglyph rather than the set, a weight is a subpath rather than an index of\nevery weight, and the supply stops being ours: anything exporting that\nshape works, whether it is Phosphor at another weight, Lucide, or a\nconsumer's own drawings.\n\n**A property and not an attribute**, because an object is not a string. The\nframeworks set properties and plain markup cannot, which is what `name` is\nfor. Set both and this wins, the value being the more specific statement."
45080
+ },
45020
45081
  {
45021
45082
  "kind": "field",
45022
45083
  "name": "label",
@@ -45044,7 +45105,7 @@
45044
45105
  "text": "string"
45045
45106
  },
45046
45107
  "default": "''",
45047
- "description": "Name of the icon in the Helix set.",
45108
+ "description": "Name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index of the\nwhole set that no bundler can shake: 15 kB for a consumer who renders one\nmark. An attribute is the only thing an HTML author can write, and that is\nworth the index; a consumer who would rather not pay it hands over the\nvalue instead.",
45048
45109
  "attribute": "name"
45049
45110
  },
45050
45111
  {
@@ -45397,7 +45458,7 @@
45397
45458
  "text": "string"
45398
45459
  },
45399
45460
  "default": "''",
45400
- "description": "Name of the icon in the Helix set.",
45461
+ "description": "Name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index of the\nwhole set that no bundler can shake: 15 kB for a consumer who renders one\nmark. An attribute is the only thing an HTML author can write, and that is\nworth the index; a consumer who would rather not pay it hands over the\nvalue instead.",
45401
45462
  "fieldName": "name"
45402
45463
  }
45403
45464
  ],
@@ -50555,6 +50616,9 @@
50555
50616
  "Multi-line Chart"
50556
50617
  ],
50557
50618
  "tier": "headless",
50619
+ "renders": [
50620
+ "tooltip"
50621
+ ],
50558
50622
  "group": "BaseLineChart",
50559
50623
  "part": "Root",
50560
50624
  "examples": [
@@ -59219,6 +59283,9 @@
59219
59283
  "Inbox item"
59220
59284
  ],
59221
59285
  "tier": "headless",
59286
+ "renders": [
59287
+ "format-date"
59288
+ ],
59222
59289
  "group": "BaseNotifications",
59223
59290
  "part": "Notification"
59224
59291
  },
@@ -62572,6 +62639,9 @@
62572
62639
  "Data explorer"
62573
62640
  ],
62574
62641
  "tier": "headless",
62642
+ "renders": [
62643
+ "copy-button"
62644
+ ],
62575
62645
  "group": "BaseObjectInspector",
62576
62646
  "part": "Root",
62577
62647
  "examples": [
@@ -66138,6 +66208,10 @@
66138
66208
  "Rows per page"
66139
66209
  ],
66140
66210
  "tier": "headless",
66211
+ "renders": [
66212
+ "option",
66213
+ "select"
66214
+ ],
66141
66215
  "group": "BasePagination",
66142
66216
  "part": "Size"
66143
66217
  },
@@ -74558,6 +74632,9 @@
74558
74632
  "Dot Plot"
74559
74633
  ],
74560
74634
  "tier": "headless",
74635
+ "renders": [
74636
+ "tooltip"
74637
+ ],
74561
74638
  "group": "BaseScatterChart",
74562
74639
  "part": "Root",
74563
74640
  "examples": [
@@ -76686,6 +76763,9 @@
76686
76763
  "Picker"
76687
76764
  ],
76688
76765
  "tier": "headless",
76766
+ "renders": [
76767
+ "listbox"
76768
+ ],
76689
76769
  "group": "BaseSelect",
76690
76770
  "part": "Root",
76691
76771
  "examples": [
@@ -84155,6 +84235,9 @@
84155
84235
  "Stage"
84156
84236
  ],
84157
84237
  "tier": "headless",
84238
+ "renders": [
84239
+ "button"
84240
+ ],
84158
84241
  "group": "BaseSteps",
84159
84242
  "part": "Step"
84160
84243
  },
@@ -93833,6 +93916,10 @@
93833
93916
  "InputTime"
93834
93917
  ],
93835
93918
  "tier": "headless",
93919
+ "renders": [
93920
+ "tag",
93921
+ "time-picker"
93922
+ ],
93836
93923
  "group": "BaseTimeInput",
93837
93924
  "part": "Root",
93838
93925
  "examples": [
@@ -95266,6 +95353,10 @@
95266
95353
  "TimeList"
95267
95354
  ],
95268
95355
  "tier": "headless",
95356
+ "renders": [
95357
+ "listbox",
95358
+ "option"
95359
+ ],
95269
95360
  "group": "BaseTimePicker",
95270
95361
  "part": "Root",
95271
95362
  "examples": [
@@ -102333,6 +102424,9 @@
102333
102424
  "status": "stable",
102334
102425
  "documentation": "https://fusion.dev/helix/components/tour",
102335
102426
  "tier": "headless",
102427
+ "renders": [
102428
+ "button"
102429
+ ],
102336
102430
  "group": "BaseTour",
102337
102431
  "part": "Stop"
102338
102432
  },
@@ -105686,6 +105780,10 @@
105686
105780
  "Up Next"
105687
105781
  ],
105688
105782
  "tier": "headless",
105783
+ "renders": [
105784
+ "menu",
105785
+ "menu-item"
105786
+ ],
105689
105787
  "group": "BaseVideoPlaylist",
105690
105788
  "part": "Menu"
105691
105789
  },
@@ -108303,6 +108401,10 @@
108303
108401
  "Movie"
108304
108402
  ],
108305
108403
  "tier": "headless",
108404
+ "renders": [
108405
+ "menu",
108406
+ "menu-item"
108407
+ ],
108306
108408
  "group": "BaseVideo",
108307
108409
  "part": "Root",
108308
108410
  "examples": [
@@ -1,4 +1,5 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
+ import { type HelixIcon } from '@fusion.dev/helix-icons';
2
3
  import { nothing, type TemplateResult } from 'lit';
3
4
  /**
4
5
  * @summary Renders a named icon from the Helix set.
@@ -36,6 +37,21 @@ import { nothing, type TemplateResult } from 'lit';
36
37
  * @csspart svg - The rendered SVG.
37
38
  */
38
39
  export declare class HelixHeadlessIcon extends HelixElement {
40
+ /**
41
+ * The icon itself, for a consumer who imported one.
42
+ *
43
+ * **The scalable door, and the one this library uses internally.** An icon is
44
+ * data, `{ content, name, viewBox }`, so a value imported by name ships one
45
+ * glyph rather than the set, a weight is a subpath rather than an index of
46
+ * every weight, and the supply stops being ours: anything exporting that
47
+ * shape works, whether it is Phosphor at another weight, Lucide, or a
48
+ * consumer's own drawings.
49
+ *
50
+ * **A property and not an attribute**, because an object is not a string. The
51
+ * frameworks set properties and plain markup cannot, which is what `name` is
52
+ * for. Set both and this wins, the value being the more specific statement.
53
+ */
54
+ icon?: HelixIcon;
39
55
  /**
40
56
  * Accessible name, for an icon that is not decorative.
41
57
  */
@@ -50,6 +66,13 @@ export declare class HelixHeadlessIcon extends HelixElement {
50
66
  mirror: boolean;
51
67
  /**
52
68
  * Name of the icon in the Helix set.
69
+ *
70
+ * **A lookup, and the reason both this and `icon` exist.** A name is a string,
71
+ * so it is what markup can carry, and resolving one means an index of the
72
+ * whole set that no bundler can shake: 15 kB for a consumer who renders one
73
+ * mark. An attribute is the only thing an HTML author can write, and that is
74
+ * worth the index; a consumer who would rather not pay it hands over the
75
+ * value instead.
53
76
  */
54
77
  name: string;
55
78
  protected render(): TemplateResult | typeof nothing;
@@ -17,7 +17,8 @@ let HelixHeadlessIcon = class HelixHeadlessIcon extends HelixElement {
17
17
  this.name = '';
18
18
  }
19
19
  render() {
20
- const icon = Object.hasOwn(icons, this.name) ? icons[this.name] : undefined;
20
+ const named = Object.hasOwn(icons, this.name) ? icons[this.name] : undefined;
21
+ const icon = this.icon ?? named;
21
22
  if (!icon) {
22
23
  return nothing;
23
24
  }
@@ -35,6 +36,9 @@ let HelixHeadlessIcon = class HelixHeadlessIcon extends HelixElement {
35
36
  </svg>`;
36
37
  }
37
38
  };
39
+ __decorate([
40
+ property({ attribute: false })
41
+ ], HelixHeadlessIcon.prototype, "icon", void 0);
38
42
  __decorate([
39
43
  property()
40
44
  ], HelixHeadlessIcon.prototype, "label", void 0);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-headless",
3
3
  "description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
4
- "version": "0.97.0",
4
+ "version": "0.99.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,13 +46,13 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.97.0",
50
- "@fusion.dev/helix-icons": "0.97.0",
49
+ "@fusion.dev/helix-core": "0.99.0",
50
+ "@fusion.dev/helix-icons": "0.99.0",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
- "@fusion.dev/helix-cem": "0.97.0",
55
- "@fusion.dev/helix-testing": "0.97.0",
54
+ "@fusion.dev/helix-cem": "0.99.0",
55
+ "@fusion.dev/helix-testing": "0.99.0",
56
56
  "@fusion.dev/scripts": "0.0.0-dev",
57
57
  "@happy-dom/global-registrator": "^20.0.0",
58
58
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -7862,8 +7862,28 @@ Asked for rather than inferred from the name. The names are physical, and
7862
7862
  `arrow-left` drawn pointing right on an Arabic page would be the icon
7863
7863
  disagreeing with its own name for every reader who meant the left. */
7864
7864
  mirror?: (HelixHeadlessIcon["mirror"]) | undefined;
7865
- /** Name of the icon in the Helix set. */
7865
+ /** Name of the icon in the Helix set.
7866
+
7867
+ **A lookup, and the reason both this and `icon` exist.** A name is a string,
7868
+ so it is what markup can carry, and resolving one means an index of the
7869
+ whole set that no bundler can shake: 15 kB for a consumer who renders one
7870
+ mark. An attribute is the only thing an HTML author can write, and that is
7871
+ worth the index; a consumer who would rather not pay it hands over the
7872
+ value instead. */
7866
7873
  name?: (HelixHeadlessIcon["name"]) | undefined;
7874
+ /** The icon itself, for a consumer who imported one.
7875
+
7876
+ **The scalable door, and the one this library uses internally.** An icon is
7877
+ data, `{ content, name, viewBox }`, so a value imported by name ships one
7878
+ glyph rather than the set, a weight is a subpath rather than an index of
7879
+ every weight, and the supply stops being ours: anything exporting that
7880
+ shape works, whether it is Phosphor at another weight, Lucide, or a
7881
+ consumer's own drawings.
7882
+
7883
+ **A property and not an attribute**, because an object is not a string. The
7884
+ frameworks set properties and plain markup cannot, which is what `name` is
7885
+ for. Set both and this wins, the value being the more specific statement. */
7886
+ icon?: (HelixHeadlessIcon["icon"]) | undefined;
7867
7887
  };
7868
7888
 
7869
7889
  export type HelixHeadlessIconSolidJsProps = {
@@ -7875,8 +7895,28 @@ Asked for rather than inferred from the name. The names are physical, and
7875
7895
  `arrow-left` drawn pointing right on an Arabic page would be the icon
7876
7896
  disagreeing with its own name for every reader who meant the left. */
7877
7897
  "prop:mirror"?: (HelixHeadlessIcon["mirror"]) | undefined;
7878
- /** Name of the icon in the Helix set. */
7898
+ /** Name of the icon in the Helix set.
7899
+
7900
+ **A lookup, and the reason both this and `icon` exist.** A name is a string,
7901
+ so it is what markup can carry, and resolving one means an index of the
7902
+ whole set that no bundler can shake: 15 kB for a consumer who renders one
7903
+ mark. An attribute is the only thing an HTML author can write, and that is
7904
+ worth the index; a consumer who would rather not pay it hands over the
7905
+ value instead. */
7879
7906
  "prop:name"?: (HelixHeadlessIcon["name"]) | undefined;
7907
+ /** The icon itself, for a consumer who imported one.
7908
+
7909
+ **The scalable door, and the one this library uses internally.** An icon is
7910
+ data, `{ content, name, viewBox }`, so a value imported by name ships one
7911
+ glyph rather than the set, a weight is a subpath rather than an index of
7912
+ every weight, and the supply stops being ours: anything exporting that
7913
+ shape works, whether it is Phosphor at another weight, Lucide, or a
7914
+ consumer's own drawings.
7915
+
7916
+ **A property and not an attribute**, because an object is not a string. The
7917
+ frameworks set properties and plain markup cannot, which is what `name` is
7918
+ for. Set both and this wins, the value being the more specific statement. */
7919
+ "prop:icon"?: (HelixHeadlessIcon["icon"]) | undefined;
7880
7920
 
7881
7921
  /** Set the innerHTML of the element */
7882
7922
  innerHTML?: (string) | undefined;
@@ -25535,6 +25575,25 @@ export type CustomElements = {
25535
25575
  * `arrow-left` drawn pointing right on an Arabic page would be the icon
25536
25576
  * disagreeing with its own name for every reader who meant the left.
25537
25577
  * - `name`: Name of the icon in the Helix set.
25578
+ *
25579
+ * **A lookup, and the reason both this and `icon` exist.** A name is a string,
25580
+ * so it is what markup can carry, and resolving one means an index of the
25581
+ * whole set that no bundler can shake: 15 kB for a consumer who renders one
25582
+ * mark. An attribute is the only thing an HTML author can write, and that is
25583
+ * worth the index; a consumer who would rather not pay it hands over the
25584
+ * value instead.
25585
+ * - `icon`: The icon itself, for a consumer who imported one.
25586
+ *
25587
+ * **The scalable door, and the one this library uses internally.** An icon is
25588
+ * data, `{ content, name, viewBox }`, so a value imported by name ships one
25589
+ * glyph rather than the set, a weight is a subpath rather than an index of
25590
+ * every weight, and the supply stops being ours: anything exporting that
25591
+ * shape works, whether it is Phosphor at another weight, Lucide, or a
25592
+ * consumer's own drawings.
25593
+ *
25594
+ * **A property and not an attribute**, because an object is not a string. The
25595
+ * frameworks set properties and plain markup cannot, which is what `name` is
25596
+ * for. Set both and this wins, the value being the more specific statement. (property only)
25538
25597
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
25539
25598
  *
25540
25599
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -43608,6 +43667,25 @@ export type CustomElementsSolidJs = {
43608
43667
  * `arrow-left` drawn pointing right on an Arabic page would be the icon
43609
43668
  * disagreeing with its own name for every reader who meant the left.
43610
43669
  * - `name`: Name of the icon in the Helix set.
43670
+ *
43671
+ * **A lookup, and the reason both this and `icon` exist.** A name is a string,
43672
+ * so it is what markup can carry, and resolving one means an index of the
43673
+ * whole set that no bundler can shake: 15 kB for a consumer who renders one
43674
+ * mark. An attribute is the only thing an HTML author can write, and that is
43675
+ * worth the index; a consumer who would rather not pay it hands over the
43676
+ * value instead.
43677
+ * - `icon`: The icon itself, for a consumer who imported one.
43678
+ *
43679
+ * **The scalable door, and the one this library uses internally.** An icon is
43680
+ * data, `{ content, name, viewBox }`, so a value imported by name ships one
43681
+ * glyph rather than the set, a weight is a subpath rather than an index of
43682
+ * every weight, and the supply stops being ours: anything exporting that
43683
+ * shape works, whether it is Phosphor at another weight, Lucide, or a
43684
+ * consumer's own drawings.
43685
+ *
43686
+ * **A property and not an attribute**, because an object is not a string. The
43687
+ * frameworks set properties and plain markup cannot, which is what `name` is
43688
+ * for. Set both and this wins, the value being the more specific statement. (property only)
43611
43689
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
43612
43690
  *
43613
43691
  * **Named `whenSettled` because `settled` is taken four times over**, by
package/types/vue.d.ts CHANGED
@@ -4025,8 +4025,28 @@ Asked for rather than inferred from the name. The names are physical, and
4025
4025
  `arrow-left` drawn pointing right on an Arabic page would be the icon
4026
4026
  disagreeing with its own name for every reader who meant the left. */
4027
4027
  mirror?: (HelixHeadlessIcon["mirror"]) | undefined;
4028
- /** Name of the icon in the Helix set. */
4028
+ /** Name of the icon in the Helix set.
4029
+
4030
+ **A lookup, and the reason both this and `icon` exist.** A name is a string,
4031
+ so it is what markup can carry, and resolving one means an index of the
4032
+ whole set that no bundler can shake: 15 kB for a consumer who renders one
4033
+ mark. An attribute is the only thing an HTML author can write, and that is
4034
+ worth the index; a consumer who would rather not pay it hands over the
4035
+ value instead. */
4029
4036
  name?: (HelixHeadlessIcon["name"]) | undefined;
4037
+ /** The icon itself, for a consumer who imported one.
4038
+
4039
+ **The scalable door, and the one this library uses internally.** An icon is
4040
+ data, `{ content, name, viewBox }`, so a value imported by name ships one
4041
+ glyph rather than the set, a weight is a subpath rather than an index of
4042
+ every weight, and the supply stops being ours: anything exporting that
4043
+ shape works, whether it is Phosphor at another weight, Lucide, or a
4044
+ consumer's own drawings.
4045
+
4046
+ **A property and not an attribute**, because an object is not a string. The
4047
+ frameworks set properties and plain markup cannot, which is what `name` is
4048
+ for. Set both and this wins, the value being the more specific statement. */
4049
+ icon?: (HelixHeadlessIcon["icon"]) | undefined;
4030
4050
  };
4031
4051
 
4032
4052
  export type HelixHeadlessIconVueEvents = {};