@fusion.dev/helix-headless 0.53.2 → 0.53.4
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 +69 -58
- package/dist/carousel/root/carousel-root.d.ts +5 -6
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +4 -4
- package/dist/data-table/root/data-table-root.d.ts +4 -3
- package/dist/donut-chart/root/donut-chart-root.d.ts +1 -1
- package/dist/filter-input/root/filter-input-root.d.ts +7 -8
- package/dist/object-inspector/root/object-inspector-root.d.ts +10 -0
- package/dist/object-inspector/root/object-inspector-root.js +6 -3
- package/dist/option/root/option-root.d.ts +4 -5
- package/dist/pagination/root/pagination-root.d.ts +3 -3
- package/dist/pagination/size/pagination-size.d.ts +2 -1
- package/dist/tour/root/tour-root.d.ts +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +204 -210
- package/types/vue.d.ts +59 -61
package/types/vue.d.ts
CHANGED
|
@@ -270,9 +270,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
270
270
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
271
271
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
272
272
|
open?: (HelixHeadlessAccordionItem["open"]) | undefined;
|
|
273
|
-
/**
|
|
273
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
274
274
|
"default-open"?: (HelixHeadlessAccordionItem["defaultOpen"]) | undefined;
|
|
275
|
-
/**
|
|
275
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
276
276
|
defaultOpen?: (HelixHeadlessAccordionItem["defaultOpen"]) | undefined;
|
|
277
277
|
};
|
|
278
278
|
|
|
@@ -922,12 +922,11 @@ export type HelixHeadlessCarouselVueProps = {
|
|
|
922
922
|
autoplay?: (HelixHeadlessCarousel["autoplay"]) | undefined;
|
|
923
923
|
/** The slide in view, counted from zero.
|
|
924
924
|
|
|
925
|
-
Reading gives the real slide
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
`index`
|
|
929
|
-
|
|
930
|
-
and `default-index` says where it starts.
|
|
925
|
+
Reading gives the real slide. Writing always applies, the way a script
|
|
926
|
+
assigning to a native control does, and is a seed and a correction rather
|
|
927
|
+
than a claim of ownership: a consumer who wants the decision refuses the
|
|
928
|
+
`helix-select`. `default-index` is where the carousel starts until
|
|
929
|
+
something moves it.
|
|
931
930
|
|
|
932
931
|
The same contract the four mixins carry, written out here rather than
|
|
933
932
|
extracted, because a slide is addressed by position and every one of those
|
|
@@ -1383,9 +1382,9 @@ Not reflected: the attribute is the consumer's input and stays as they
|
|
|
1383
1382
|
wrote it, and `:state(checked)` carries the resolved state for
|
|
1384
1383
|
stylesheets. */
|
|
1385
1384
|
checked?: (HelixHeadlessCheckbox["checked"]) | undefined;
|
|
1386
|
-
/**
|
|
1385
|
+
/** Whether the markup declared it checked, which is where a reset returns to. */
|
|
1387
1386
|
"default-checked"?: (HelixHeadlessCheckbox["defaultChecked"]) | undefined;
|
|
1388
|
-
/**
|
|
1387
|
+
/** Whether the markup declared it checked, which is where a reset returns to. */
|
|
1389
1388
|
defaultChecked?: (HelixHeadlessCheckbox["defaultChecked"]) | undefined;
|
|
1390
1389
|
/** What is wrong, in the reader's words rather than the browser's. */
|
|
1391
1390
|
feedback?: (HelixHeadlessCheckbox["feedback"]) | undefined;
|
|
@@ -1573,9 +1572,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
1573
1572
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
1574
1573
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
1575
1574
|
open?: (HelixHeadlessColorInput["open"]) | undefined;
|
|
1576
|
-
/**
|
|
1575
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
1577
1576
|
"default-open"?: (HelixHeadlessColorInput["defaultOpen"]) | undefined;
|
|
1578
|
-
/**
|
|
1577
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
1579
1578
|
defaultOpen?: (HelixHeadlessColorInput["defaultOpen"]) | undefined;
|
|
1580
1579
|
/** The value the markup declared, which is where a reset returns to. */
|
|
1581
1580
|
"default-value"?: (HelixHeadlessColorInput["defaultValue"]) | undefined;
|
|
@@ -1947,9 +1946,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
1947
1946
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
1948
1947
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
1949
1948
|
open?: (HelixHeadlessCombobox["open"]) | undefined;
|
|
1950
|
-
/**
|
|
1949
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
1951
1950
|
"default-open"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
|
|
1952
|
-
/**
|
|
1951
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
1953
1952
|
defaultOpen?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
|
|
1954
1953
|
/** What the control is called once everything is showing. */
|
|
1955
1954
|
"collapse-label"?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
|
|
@@ -2081,9 +2080,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
2081
2080
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
2082
2081
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
2083
2082
|
open?: (HelixHeadlessCommand["open"]) | undefined;
|
|
2084
|
-
/**
|
|
2083
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
2085
2084
|
"default-open"?: (HelixHeadlessCommand["defaultOpen"]) | undefined;
|
|
2086
|
-
/**
|
|
2085
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
2087
2086
|
defaultOpen?: (HelixHeadlessCommand["defaultOpen"]) | undefined;
|
|
2088
2087
|
};
|
|
2089
2088
|
|
|
@@ -2649,9 +2648,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
2649
2648
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
2650
2649
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
2651
2650
|
open?: (HelixHeadlessDateInput["open"]) | undefined;
|
|
2652
|
-
/**
|
|
2651
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
2653
2652
|
"default-open"?: (HelixHeadlessDateInput["defaultOpen"]) | undefined;
|
|
2654
|
-
/**
|
|
2653
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
2655
2654
|
defaultOpen?: (HelixHeadlessDateInput["defaultOpen"]) | undefined;
|
|
2656
2655
|
/** What the control is called once everything is showing. */
|
|
2657
2656
|
"collapse-label"?: (HelixHeadlessDateInput["collapseLabel"]) | undefined;
|
|
@@ -3004,9 +3003,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
3004
3003
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
3005
3004
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
3006
3005
|
open?: (HelixHeadlessDialog["open"]) | undefined;
|
|
3007
|
-
/**
|
|
3006
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3008
3007
|
"default-open"?: (HelixHeadlessDialog["defaultOpen"]) | undefined;
|
|
3009
|
-
/**
|
|
3008
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3010
3009
|
defaultOpen?: (HelixHeadlessDialog["defaultOpen"]) | undefined;
|
|
3011
3010
|
/** What the dialog closed with, the way `<dialog>` reports it.
|
|
3012
3011
|
|
|
@@ -3077,7 +3076,7 @@ thickness decides is arithmetic done here and published as
|
|
|
3077
3076
|
`--donut-chart-stroke`, which is a number a rule can do sums with where the
|
|
3078
3077
|
word is not. Reflected, it wrote a value onto every host a script had set
|
|
3079
3078
|
it on for nothing to read. `sweep` beside it is the converse and reflects,
|
|
3080
|
-
because
|
|
3079
|
+
because the styled sheet selects on it. */
|
|
3081
3080
|
hole?: (HelixHeadlessDonutChart["hole"]) | undefined;
|
|
3082
3081
|
/** How much of the circle the whole occupies.
|
|
3083
3082
|
|
|
@@ -3188,9 +3187,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
3188
3187
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
3189
3188
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
3190
3189
|
open?: (HelixHeadlessDrawer["open"]) | undefined;
|
|
3191
|
-
/**
|
|
3190
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3192
3191
|
"default-open"?: (HelixHeadlessDrawer["defaultOpen"]) | undefined;
|
|
3193
|
-
/**
|
|
3192
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3194
3193
|
defaultOpen?: (HelixHeadlessDrawer["defaultOpen"]) | undefined;
|
|
3195
3194
|
/** What the dialog closed with, the way `<dialog>` reports it.
|
|
3196
3195
|
|
|
@@ -3606,9 +3605,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
3606
3605
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
3607
3606
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
3608
3607
|
open?: (HelixHeadlessFilterInput["open"]) | undefined;
|
|
3609
|
-
/**
|
|
3608
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3610
3609
|
"default-open"?: (HelixHeadlessFilterInput["defaultOpen"]) | undefined;
|
|
3611
|
-
/**
|
|
3610
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
3612
3611
|
defaultOpen?: (HelixHeadlessFilterInput["defaultOpen"]) | undefined;
|
|
3613
3612
|
/** What the control is called once everything is showing. */
|
|
3614
3613
|
"collapse-label"?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
|
|
@@ -4763,9 +4762,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
4763
4762
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
4764
4763
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
4765
4764
|
open?: (HelixHeadlessMegamenu["open"]) | undefined;
|
|
4766
|
-
/**
|
|
4765
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
4767
4766
|
"default-open"?: (HelixHeadlessMegamenu["defaultOpen"]) | undefined;
|
|
4768
|
-
/**
|
|
4767
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
4769
4768
|
defaultOpen?: (HelixHeadlessMegamenu["defaultOpen"]) | undefined;
|
|
4770
4769
|
};
|
|
4771
4770
|
|
|
@@ -4921,9 +4920,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
4921
4920
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
4922
4921
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
4923
4922
|
open?: (HelixHeadlessMenu["open"]) | undefined;
|
|
4924
|
-
/**
|
|
4923
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
4925
4924
|
"default-open"?: (HelixHeadlessMenu["defaultOpen"]) | undefined;
|
|
4926
|
-
/**
|
|
4925
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
4927
4926
|
defaultOpen?: (HelixHeadlessMenu["defaultOpen"]) | undefined;
|
|
4928
4927
|
};
|
|
4929
4928
|
|
|
@@ -5084,9 +5083,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
5084
5083
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
5085
5084
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
5086
5085
|
open?: (HelixHeadlessNotificationGroup["open"]) | undefined;
|
|
5087
|
-
/**
|
|
5086
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5088
5087
|
"default-open"?: (HelixHeadlessNotificationGroup["defaultOpen"]) | undefined;
|
|
5089
|
-
/**
|
|
5088
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5090
5089
|
defaultOpen?: (HelixHeadlessNotificationGroup["defaultOpen"]) | undefined;
|
|
5091
5090
|
};
|
|
5092
5091
|
|
|
@@ -5437,11 +5436,10 @@ Written by the listbox. */
|
|
|
5437
5436
|
/** A second destination for this row, taken with the modifier held.
|
|
5438
5437
|
|
|
5439
5438
|
**An attribute rather than a second row, which is the whole point.** A
|
|
5440
|
-
palette
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
second belongs beside it.
|
|
5439
|
+
palette that offered every component a reference page and a sandbox as
|
|
5440
|
+
separate entries would be twice as long, and one earns its keep by getting
|
|
5441
|
+
a reader to one thing in three keystrokes. The row already carries the
|
|
5442
|
+
first destination, so the second belongs beside it.
|
|
5445
5443
|
|
|
5446
5444
|
Declared here and acted on by whatever owns the list, the same division
|
|
5447
5445
|
selection already uses: an option says what it is and the listbox decides
|
|
@@ -5956,9 +5954,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
5956
5954
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
5957
5955
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
5958
5956
|
open?: (HelixHeadlessPopover["open"]) | undefined;
|
|
5959
|
-
/**
|
|
5957
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5960
5958
|
"default-open"?: (HelixHeadlessPopover["defaultOpen"]) | undefined;
|
|
5961
|
-
/**
|
|
5959
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
5962
5960
|
defaultOpen?: (HelixHeadlessPopover["defaultOpen"]) | undefined;
|
|
5963
5961
|
};
|
|
5964
5962
|
|
|
@@ -6495,9 +6493,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
6495
6493
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
6496
6494
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
6497
6495
|
open?: (HelixHeadlessSelect["open"]) | undefined;
|
|
6498
|
-
/**
|
|
6496
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
6499
6497
|
"default-open"?: (HelixHeadlessSelect["defaultOpen"]) | undefined;
|
|
6500
|
-
/**
|
|
6498
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
6501
6499
|
defaultOpen?: (HelixHeadlessSelect["defaultOpen"]) | undefined;
|
|
6502
6500
|
/** The value the markup declared, which is where a reset returns to. */
|
|
6503
6501
|
"default-value"?: (HelixHeadlessSelect["defaultValue"]) | undefined;
|
|
@@ -6842,9 +6840,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
6842
6840
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
6843
6841
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
6844
6842
|
open?: (HelixHeadlessSpeedDial["open"]) | undefined;
|
|
6845
|
-
/**
|
|
6843
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
6846
6844
|
"default-open"?: (HelixHeadlessSpeedDial["defaultOpen"]) | undefined;
|
|
6847
|
-
/**
|
|
6845
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
6848
6846
|
defaultOpen?: (HelixHeadlessSpeedDial["defaultOpen"]) | undefined;
|
|
6849
6847
|
};
|
|
6850
6848
|
|
|
@@ -7061,11 +7059,11 @@ Writing always applies, so `<helix-tabs active="one">` starts on that
|
|
|
7061
7059
|
tab, and `default-active` is how markup says where to start without
|
|
7062
7060
|
naming the current one. */
|
|
7063
7061
|
active?: (HelixHeadlessSteps["active"]) | undefined;
|
|
7064
|
-
/**
|
|
7062
|
+
/** Which item the markup declared current.
|
|
7065
7063
|
|
|
7066
7064
|
Ignored once `active` is written. */
|
|
7067
7065
|
"default-active"?: (HelixHeadlessSteps["defaultActive"]) | undefined;
|
|
7068
|
-
/**
|
|
7066
|
+
/** Which item the markup declared current.
|
|
7069
7067
|
|
|
7070
7068
|
Ignored once `active` is written. */
|
|
7071
7069
|
defaultActive?: (HelixHeadlessSteps["defaultActive"]) | undefined;
|
|
@@ -7126,9 +7124,9 @@ Not reflected: the attribute is the consumer's input and stays as they
|
|
|
7126
7124
|
wrote it, and `:state(checked)` carries the resolved state for
|
|
7127
7125
|
stylesheets. */
|
|
7128
7126
|
checked?: (HelixHeadlessSwitch["checked"]) | undefined;
|
|
7129
|
-
/**
|
|
7127
|
+
/** Whether the markup declared it checked, which is where a reset returns to. */
|
|
7130
7128
|
"default-checked"?: (HelixHeadlessSwitch["defaultChecked"]) | undefined;
|
|
7131
|
-
/**
|
|
7129
|
+
/** Whether the markup declared it checked, which is where a reset returns to. */
|
|
7132
7130
|
defaultChecked?: (HelixHeadlessSwitch["defaultChecked"]) | undefined;
|
|
7133
7131
|
/** What is wrong, in the reader's words rather than the browser's. */
|
|
7134
7132
|
feedback?: (HelixHeadlessSwitch["feedback"]) | undefined;
|
|
@@ -7416,11 +7414,11 @@ Writing always applies, so `<helix-tabs active="one">` starts on that
|
|
|
7416
7414
|
tab, and `default-active` is how markup says where to start without
|
|
7417
7415
|
naming the current one. */
|
|
7418
7416
|
active?: (HelixHeadlessTabs["active"]) | undefined;
|
|
7419
|
-
/**
|
|
7417
|
+
/** Which item the markup declared current.
|
|
7420
7418
|
|
|
7421
7419
|
Ignored once `active` is written. */
|
|
7422
7420
|
"default-active"?: (HelixHeadlessTabs["defaultActive"]) | undefined;
|
|
7423
|
-
/**
|
|
7421
|
+
/** Which item the markup declared current.
|
|
7424
7422
|
|
|
7425
7423
|
Ignored once `active` is written. */
|
|
7426
7424
|
defaultActive?: (HelixHeadlessTabs["defaultActive"]) | undefined;
|
|
@@ -7752,9 +7750,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
7752
7750
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
7753
7751
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
7754
7752
|
open?: (HelixHeadlessTimeInput["open"]) | undefined;
|
|
7755
|
-
/**
|
|
7753
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
7756
7754
|
"default-open"?: (HelixHeadlessTimeInput["defaultOpen"]) | undefined;
|
|
7757
|
-
/**
|
|
7755
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
7758
7756
|
defaultOpen?: (HelixHeadlessTimeInput["defaultOpen"]) | undefined;
|
|
7759
7757
|
/** What the control is called once everything is showing. */
|
|
7760
7758
|
"collapse-label"?: (HelixHeadlessTimeInput["collapseLabel"]) | undefined;
|
|
@@ -8405,9 +8403,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8405
8403
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8406
8404
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8407
8405
|
open?: (HelixHeadlessTooltip["open"]) | undefined;
|
|
8408
|
-
/**
|
|
8406
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
8409
8407
|
"default-open"?: (HelixHeadlessTooltip["defaultOpen"]) | undefined;
|
|
8410
|
-
/**
|
|
8408
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
8411
8409
|
defaultOpen?: (HelixHeadlessTooltip["defaultOpen"]) | undefined;
|
|
8412
8410
|
};
|
|
8413
8411
|
|
|
@@ -8596,9 +8594,9 @@ hydration, or diffed by a framework, it comes back holding whatever the
|
|
|
8596
8594
|
last reader did rather than what the author wrote. `:state(open)` carries
|
|
8597
8595
|
the resolved state for stylesheets, which is what the mirror is for. */
|
|
8598
8596
|
open?: (HelixHeadlessTreeItem["open"]) | undefined;
|
|
8599
|
-
/**
|
|
8597
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
8600
8598
|
"default-open"?: (HelixHeadlessTreeItem["defaultOpen"]) | undefined;
|
|
8601
|
-
/**
|
|
8599
|
+
/** Whether the markup declared it open. Ignored once `open` is written. */
|
|
8602
8600
|
defaultOpen?: (HelixHeadlessTreeItem["defaultOpen"]) | undefined;
|
|
8603
8601
|
/** Depth from the root, counted by the tree so indentation needs no CSS nesting.
|
|
8604
8602
|
|
|
@@ -8708,11 +8706,11 @@ Writing always applies, so `<helix-tabs active="one">` starts on that
|
|
|
8708
8706
|
tab, and `default-active` is how markup says where to start without
|
|
8709
8707
|
naming the current one. */
|
|
8710
8708
|
active?: (HelixHeadlessTree["active"]) | undefined;
|
|
8711
|
-
/**
|
|
8709
|
+
/** Which item the markup declared current.
|
|
8712
8710
|
|
|
8713
8711
|
Ignored once `active` is written. */
|
|
8714
8712
|
"default-active"?: (HelixHeadlessTree["defaultActive"]) | undefined;
|
|
8715
|
-
/**
|
|
8713
|
+
/** Which item the markup declared current.
|
|
8716
8714
|
|
|
8717
8715
|
Ignored once `active` is written. */
|
|
8718
8716
|
defaultActive?: (HelixHeadlessTree["defaultActive"]) | undefined;
|
|
@@ -8836,11 +8834,11 @@ Writing always applies, so `<helix-tabs active="one">` starts on that
|
|
|
8836
8834
|
tab, and `default-active` is how markup says where to start without
|
|
8837
8835
|
naming the current one. */
|
|
8838
8836
|
active?: (HelixHeadlessVideoPlaylist["active"]) | undefined;
|
|
8839
|
-
/**
|
|
8837
|
+
/** Which item the markup declared current.
|
|
8840
8838
|
|
|
8841
8839
|
Ignored once `active` is written. */
|
|
8842
8840
|
"default-active"?: (HelixHeadlessVideoPlaylist["defaultActive"]) | undefined;
|
|
8843
|
-
/**
|
|
8841
|
+
/** Which item the markup declared current.
|
|
8844
8842
|
|
|
8845
8843
|
Ignored once `active` is written. */
|
|
8846
8844
|
defaultActive?: (HelixHeadlessVideoPlaylist["defaultActive"]) | undefined;
|
|
@@ -9437,7 +9435,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
9437
9435
|
HelixHeadlessCopyButtonVueProps,
|
|
9438
9436
|
HelixHeadlessCopyButtonVueEvents
|
|
9439
9437
|
>;
|
|
9440
|
-
/** **The schema is markup and the data is a property.** Columns are declared as 'TableColumn' children, because a schema is small and something a reader should see in the HTML; rows are handed over as an array, because a table that draws ten thousand elements cannot window them. '''html <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20"> <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column> <helix-headless-table-column field="size" align="end" sortable .cell=${bytes}>Size</helix-headless-table-column> </helix-headless-data-table> ''' 'Table' takes rows as markup and is the right component for a table of twelve things a person wrote out. **Sort and filter apply to the whole set, never the page.** Sorting the drawn window is correct on the first screen and wrong on every other one. **The cell values do not server-render.** The headings do, and the row elements do, but reading a cell needs the columns, and the columns are markup children Lit SSR does not hand this element. So a crawler sees a table of the right shape with nothing in it. That is the cost of the first paragraph: use 'Table' where the served HTML has to carry the values. **'selectable' adds a column of checkboxes, keyed on 'row-key'.** A row is selected by its identity rather than its position, so a selection survives a sort, a filter and a page. 'selected' is the chosen keys, comma separated, the shape Listbox uses for a multiple choice, and like 'sort' it
|
|
9438
|
+
/** **The schema is markup and the data is a property.** Columns are declared as 'TableColumn' children, because a schema is small and something a reader should see in the HTML; rows are handed over as an array, because a table that draws ten thousand elements cannot window them. '''html <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20"> <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column> <helix-headless-table-column field="size" align="end" sortable .cell=${bytes}>Size</helix-headless-table-column> </helix-headless-data-table> ''' 'Table' takes rows as markup and is the right component for a table of twelve things a person wrote out. **Sort and filter apply to the whole set, never the page.** Sorting the drawn window is correct on the first screen and wrong on every other one. **The cell values do not server-render.** The headings do, and the row elements do, but reading a cell needs the columns, and the columns are markup children Lit SSR does not hand this element. So a crawler sees a table of the right shape with nothing in it. That is the cost of the first paragraph: use 'Table' where the served HTML has to carry the values. **'selectable' adds a column of checkboxes, keyed on 'row-key'.** A row is selected by its identity rather than its position, so a selection survives a sort, a filter and a page. 'selected' is the chosen keys, comma separated, the shape Listbox uses for a multiple choice, and like 'sort' writing it applies while 'default-selected' is what the markup declared. The box in the heading selects every row in the result, across pages, and shows a dash while only some are chosen. Choosing one of many, rather than several, is opening a row, and that is a link or a button in a cell rather than a selection. **A reader can size and order the columns.** 'resizable' on a column puts a separator on its edge; 'reorderable' on the table puts a grip on each heading that has a 'field', moved by dragging or with the arrow keys. The order lands in 'order' as fields, and the consumer's own markup is never rewritten: the table assigns the headings to its header in that order instead. **'csv()' hands back the result as text**: every row the filter lets through, in the order on screen, in the columns on screen. Saving it is the page's business, the same as any other file. **There is no 'columns' attribute here, and Table has one.** The difference is what a column is in each: here it is the schema, so a table without one has nothing to read a row with, and every column is a place to write a 'width'. A Table holds cells a consumer wrote and can be written with no column at all, so its 'columns' is where such a table is sized from. Written on this element the attribute is inert, which is the trap worth knowing when moving between the two. */
|
|
9441
9439
|
"helix-headless-data-table": DefineCustomElement<
|
|
9442
9440
|
HelixHeadlessDataTable,
|
|
9443
9441
|
HelixHeadlessDataTableVueProps,
|
|
@@ -9539,7 +9537,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
9539
9537
|
HelixHeadlessFilterOperatorVueProps,
|
|
9540
9538
|
HelixHeadlessFilterOperatorVueEvents
|
|
9541
9539
|
>;
|
|
9542
|
-
/** **The tokens are the consumer's own elements, slotted.** What a filter narrows by belongs to the consumer's model rather than to this element: a facet with a prefix, a saved query, a range. So they are slotted rather than rendered from a list of strings, and removing one is a request this element makes rather than a change it applies. Combobox is the other way round, and that is the difference between the two: its tokens are a view of a selection it owns, drawn from options it was handed. **'value' is the text being typed, not the tokens**, which is what makes this a field a consumer can listen to. Every keystroke announces 'input' with the text on the element, so a table narrows as the reader types. The tokens need no reporting back, being markup the consumer already holds. Backspace on an empty field asks the last token to go, through the same 'helix-dismiss' its own remove control fires, so a consumer who handled the pointer has already handled the keyboard. **It reads what was declared, and nothing that was not.** Write 'FilterField's (usually inside the 'FilterMenu' slotted into 'start', so the picker and the text work off one set), and Enter reads the box against them: 'disposition:refunded,settled' and '-disposition:refunded' announce 'helix-facet', exactly as ticking those values in the picker would, and the text they were read from goes. Everything else stays where it was typed, so 'refund tuesday disposition:settled' is a filter and a search at once. 'grammar.ts' carries the whole rule and is worth reading before relying on it; the short version is that Helix owns the punctuation and the consumer owns every word in it. A field with no 'FilterField' in it parses nothing, which is the behavior this had before it could. **A field whose values cannot be listed belongs here rather than in the picker.** 'assignee:ada' is a filter and nobody wants to enumerate every name in the company, but a menu page for it would have nothing on it to press. Written directly inside this element it is read by the grammar and never offered as a page: unslotted, so nothing draws it, which is the same trick 'FilterField' already plays on its own children. **It can suggest what to type next, and deciding what to suggest is still the consumer's.** Slot options into 'suggestions' and the field shows them, moves through them with the arrows, and lets Enter press one; the option fires its own 'helix-select' and the consumer decides what choosing meant. Keys before a colon and values after it are the same panel with different contents, and 'readFilterText' is exported for a consumer narrowing that panel against what a reader has half typed. **The panel opens when there is something in it and closes when there is not**, rather than on a choice. A reader who picks a key wants its values next, and closing on the choice would shut the panel between two renders. Use 'selectionStart' and 'setSelectionRange' to write a completion back and put the caret after it, or the next parse reads the wrong term. **Three things here have three different owners
|
|
9540
|
+
/** **The tokens are the consumer's own elements, slotted.** What a filter narrows by belongs to the consumer's model rather than to this element: a facet with a prefix, a saved query, a range. So they are slotted rather than rendered from a list of strings, and removing one is a request this element makes rather than a change it applies. Combobox is the other way round, and that is the difference between the two: its tokens are a view of a selection it owns, drawn from options it was handed. **'value' is the text being typed, not the tokens**, which is what makes this a field a consumer can listen to. Every keystroke announces 'input' with the text on the element, so a table narrows as the reader types. The tokens need no reporting back, being markup the consumer already holds. Backspace on an empty field asks the last token to go, through the same 'helix-dismiss' its own remove control fires, so a consumer who handled the pointer has already handled the keyboard. **It reads what was declared, and nothing that was not.** Write 'FilterField's (usually inside the 'FilterMenu' slotted into 'start', so the picker and the text work off one set), and Enter reads the box against them: 'disposition:refunded,settled' and '-disposition:refunded' announce 'helix-facet', exactly as ticking those values in the picker would, and the text they were read from goes. Everything else stays where it was typed, so 'refund tuesday disposition:settled' is a filter and a search at once. 'grammar.ts' carries the whole rule and is worth reading before relying on it; the short version is that Helix owns the punctuation and the consumer owns every word in it. A field with no 'FilterField' in it parses nothing, which is the behavior this had before it could. **A field whose values cannot be listed belongs here rather than in the picker.** 'assignee:ada' is a filter and nobody wants to enumerate every name in the company, but a menu page for it would have nothing on it to press. Written directly inside this element it is read by the grammar and never offered as a page: unslotted, so nothing draws it, which is the same trick 'FilterField' already plays on its own children. **It can suggest what to type next, and deciding what to suggest is still the consumer's.** Slot options into 'suggestions' and the field shows them, moves through them with the arrows, and lets Enter press one; the option fires its own 'helix-select' and the consumer decides what choosing meant. Keys before a colon and values after it are the same panel with different contents, and 'readFilterText' is exported for a consumer narrowing that panel against what a reader has half typed. **The panel opens when there is something in it and closes when there is not**, rather than on a choice. A reader who picks a key wants its values next, and closing on the choice would shut the panel between two renders. Use 'selectionStart' and 'setSelectionRange' to write a completion back and put the caret after it, or the next parse reads the wrong term. **Three things here have three different owners.** 'value' is the text: the reader types, the element applies it, and 'input' says so. **Writing 'value' does not take that over.** It is a seed and a correction, so a consumer who sets it and then expects the field to hold still will watch the next keystroke overwrite them. Ownership is taken by refusing 'helix-before-change' and writing the value you want, which is the same shape every field in this library uses and is worth saying out loud here because the property looks like React's. 'default-value' seeds the field without claiming anything. 'open' is the suggestions panel, and it is the ordinary pair: refuse 'helix-before-open' or 'helix-before-close' to take the decision, and 'default-open' to seed it. The tokens are neither, because they are not state. They are the consumer's own elements in a slot, so there is nothing for this to own and nothing to report back: a token goes when the consumer removes it from their markup, having been asked by 'helix-dismiss'. **A 'FilterChip' naming a declared field is asked differently**, and it has to be: the picker holds what is ticked, so a chip that removed itself without telling it left the value ticked in a list nobody could see was wrong. That dismissal is answered as the field being filtered by nothing, so it arrives as 'helix-facet' like every other change and the chip goes because the filter went. */
|
|
9543
9541
|
"helix-headless-filter-input": DefineCustomElement<
|
|
9544
9542
|
HelixHeadlessFilterInput,
|
|
9545
9543
|
HelixHeadlessFilterInputVueProps,
|
|
@@ -9707,7 +9705,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
9707
9705
|
HelixHeadlessPaginationVueProps,
|
|
9708
9706
|
HelixHeadlessPaginationVueEvents
|
|
9709
9707
|
>;
|
|
9710
|
-
/** Its own element beside 'Pagination' rather than a slot inside it, for the reason 'Pagination.Summary' is: a footer's direction and order are the consumer's, and a control that can only sit at one end of one row has taken that decision for them. **'Select', not a native '<select>'.** Two dropdowns identical closed and different open meet each other in the same footer as a table's filters. The caret is 'Select''s rather than a color literal baked into a data URI, because a background image cannot read 'currentColor', and the label is a real '<label for>' against the trigger's own id. **The label sits on the row, not above it.** 'Select''s host is a column, and an outer-tree rule beats a ':host' rule, so turning it into a row needs no property on 'Select' and nothing written into the consumer's markup. **An empty 'sizes' renders nothing**, rather than falling back to the built-in list, which would be a component overruling a consumer who said "none". Same rule as 'Pagination' over a single page, and reported the same way, through 'ElementInternals.states' rather than an attribute the server never wrote. 'value' is the
|
|
9708
|
+
/** Its own element beside 'Pagination' rather than a slot inside it, for the reason 'Pagination.Summary' is: a footer's direction and order are the consumer's, and a control that can only sit at one end of one row has taken that decision for them. **'Select', not a native '<select>'.** Two dropdowns identical closed and different open meet each other in the same footer as a table's filters. The caret is 'Select''s rather than a color literal baked into a data URI, because a background image cannot read 'currentColor', and the label is a real '<label for>' against the trigger's own id. **The label sits on the row, not above it.** 'Select''s host is a column, and an outer-tree rule beats a ':host' rule, so turning it into a row needs no property on 'Select' and nothing written into the consumer's markup. **An empty 'sizes' renders nothing**, rather than falling back to the built-in list, which would be a component overruling a consumer who said "none". Same rule as 'Pagination' over a single page, and reported the same way, through 'ElementInternals.states' rather than an attribute the server never wrote. 'value' is the size the control holds and 'default-value' is what the markup declared. Changing it announces 'helix-before-change'; re-querying and moving back to page one is the consumer's, because only they know whether the reader's position should survive it. */
|
|
9711
9709
|
"helix-headless-pagination-size": DefineCustomElement<
|
|
9712
9710
|
HelixHeadlessPaginationSize,
|
|
9713
9711
|
HelixHeadlessPaginationSizeVueProps,
|