@fusion.dev/helix 0.12.2 → 0.13.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 +1620 -128
- package/dist/element-events.generated.js +1 -0
- package/dist/filter-input/index.d.ts +1 -0
- package/dist/filter-input/index.js +1 -0
- package/dist/filter-input/root/filter-input-root.css.d.ts +1 -0
- package/dist/filter-input/root/filter-input-root.css.js +119 -0
- package/dist/filter-input/root/filter-input-root.d.ts +37 -0
- package/dist/filter-input/root/filter-input-root.js +20 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +6 -6
- package/types/jsx.d.ts +547 -76
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +102 -26
package/types/svelte.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ declare module 'svelte/elements' {
|
|
|
47
47
|
'helix-drilldown': CustomElements['helix-drilldown']
|
|
48
48
|
'helix-empty': CustomElements['helix-empty']
|
|
49
49
|
'helix-file-input': CustomElements['helix-file-input']
|
|
50
|
+
'helix-filter-input': CustomElements['helix-filter-input']
|
|
50
51
|
'helix-flex': CustomElements['helix-flex']
|
|
51
52
|
'helix-format-date': CustomElements['helix-format-date']
|
|
52
53
|
'helix-grid': CustomElements['helix-grid']
|
package/types/vue.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ import type {
|
|
|
39
39
|
HelixDrilldown,
|
|
40
40
|
HelixEmpty,
|
|
41
41
|
HelixFileInput,
|
|
42
|
+
HelixFilterInput,
|
|
42
43
|
HelixFlex,
|
|
43
44
|
HelixFormatDate,
|
|
44
45
|
HelixGrid,
|
|
@@ -2091,6 +2092,10 @@ the resolved state for stylesheets, which is what the mirror is for. */
|
|
|
2091
2092
|
"default-open"?: (HelixCombobox["defaultOpen"]) | undefined;
|
|
2092
2093
|
/** Initial open state for uncontrolled use, where nothing declared one. */
|
|
2093
2094
|
defaultOpen?: (HelixCombobox["defaultOpen"]) | undefined;
|
|
2095
|
+
/** How many tokens to show before the rest become a count. */
|
|
2096
|
+
"max-tags"?: (HelixCombobox["maxTags"]) | undefined;
|
|
2097
|
+
/** How many tokens to show before the rest become a count. */
|
|
2098
|
+
maxTags?: (HelixCombobox["maxTags"]) | undefined;
|
|
2094
2099
|
/** The value the markup declared, which is where a reset returns to. */
|
|
2095
2100
|
"default-value"?: (HelixCombobox["defaultValue"]) | undefined;
|
|
2096
2101
|
/** The value the markup declared, which is where a reset returns to. */
|
|
@@ -2145,32 +2150,6 @@ message belongs. */
|
|
|
2145
2150
|
"loading-text"?: (HelixCombobox["loadingText"]) | undefined;
|
|
2146
2151
|
/** What the list says while they are on their way. */
|
|
2147
2152
|
loadingText?: (HelixCombobox["loadingText"]) | undefined;
|
|
2148
|
-
/** How many tags to draw before the rest become a count. `multiple` only.
|
|
2149
|
-
|
|
2150
|
-
`0` is all of them, and is the default: a cap that guesses is worse than no
|
|
2151
|
-
cap, because the number that fits depends on the width of the field and the
|
|
2152
|
-
length of what is in it, neither of which this element knows. What a cap is
|
|
2153
|
-
genuinely for is a field in a row or a table cell, where a set of twelve
|
|
2154
|
-
choices would push everything below it down a line at a time.
|
|
2155
|
-
|
|
2156
|
-
The remainder is counted rather than hidden. `+3` is a fact a reader can act
|
|
2157
|
-
on, where a row that silently stops is a field that appears to have lost
|
|
2158
|
-
what was put in it. Date Input and Time Input carry the same property and
|
|
2159
|
-
the same reasoning. */
|
|
2160
|
-
"max-tags"?: (HelixCombobox["maxTags"]) | undefined;
|
|
2161
|
-
/** How many tags to draw before the rest become a count. `multiple` only.
|
|
2162
|
-
|
|
2163
|
-
`0` is all of them, and is the default: a cap that guesses is worse than no
|
|
2164
|
-
cap, because the number that fits depends on the width of the field and the
|
|
2165
|
-
length of what is in it, neither of which this element knows. What a cap is
|
|
2166
|
-
genuinely for is a field in a row or a table cell, where a set of twelve
|
|
2167
|
-
choices would push everything below it down a line at a time.
|
|
2168
|
-
|
|
2169
|
-
The remainder is counted rather than hidden. `+3` is a fact a reader can act
|
|
2170
|
-
on, where a row that silently stops is a field that appears to have lost
|
|
2171
|
-
what was put in it. Date Input and Time Input carry the same property and
|
|
2172
|
-
the same reasoning. */
|
|
2173
|
-
maxTags?: (HelixCombobox["maxTags"]) | undefined;
|
|
2174
2153
|
/** Whether more than one option can be chosen.
|
|
2175
2154
|
|
|
2176
2155
|
The list already does the work: `value` comes apart on commas, a press
|
|
@@ -3576,6 +3555,91 @@ export type HelixFileInputVueEvents = {
|
|
|
3576
3555
|
"helix-before-change": HelixFileInputHelixBeforeChangeElementEvent;
|
|
3577
3556
|
};
|
|
3578
3557
|
|
|
3558
|
+
/** `HelixFilterInput` component event */
|
|
3559
|
+
export type HelixFilterInputElementEvent<E = Event> = TypedEvent<
|
|
3560
|
+
HelixFilterInput,
|
|
3561
|
+
E
|
|
3562
|
+
>;
|
|
3563
|
+
/** `helix-before-change` event type */
|
|
3564
|
+
export type HelixFilterInputHelixBeforeChangeElementEvent =
|
|
3565
|
+
HelixFilterInputElementEvent<HelixBeforeChangeEvent>;
|
|
3566
|
+
|
|
3567
|
+
export type HelixFilterInputVueProps = {
|
|
3568
|
+
/** How many tokens to show before the rest become a count. */
|
|
3569
|
+
"max-tags"?: (HelixFilterInput["maxTags"]) | undefined;
|
|
3570
|
+
/** How many tokens to show before the rest become a count. */
|
|
3571
|
+
maxTags?: (HelixFilterInput["maxTags"]) | undefined;
|
|
3572
|
+
/** The value the markup declared, which is where a reset returns to. */
|
|
3573
|
+
"default-value"?: (HelixFilterInput["defaultValue"]) | undefined;
|
|
3574
|
+
/** The value the markup declared, which is where a reset returns to. */
|
|
3575
|
+
defaultValue?: (HelixFilterInput["defaultValue"]) | undefined;
|
|
3576
|
+
/** What the control holds now, and what its form submits.
|
|
3577
|
+
|
|
3578
|
+
One property, not two, so `input.value` answers the question anyone
|
|
3579
|
+
asking it meant. Writing always applies; `<helix-input value="x">` is the
|
|
3580
|
+
same statement in markup, and `default-value` is how markup seeds a value
|
|
3581
|
+
a reset should return to. */
|
|
3582
|
+
value?: (HelixFilterInput["value"]) | undefined;
|
|
3583
|
+
/** What is wrong, in the reader's words rather than the browser's. */
|
|
3584
|
+
feedback?: (HelixFilterInput["feedback"]) | undefined;
|
|
3585
|
+
/** Help under the control, shown while there is nothing wrong. */
|
|
3586
|
+
hint?: (HelixFilterInput["hint"]) | undefined;
|
|
3587
|
+
/** The accessible name, and the fallback for the `label` slot. */
|
|
3588
|
+
label?: (HelixFilterInput["label"]) | undefined;
|
|
3589
|
+
/** Whether the form refuses to submit without it. */
|
|
3590
|
+
required?: (HelixFilterInput["required"]) | undefined;
|
|
3591
|
+
/** Whether the field offers a button that empties it.
|
|
3592
|
+
|
|
3593
|
+
The text only. The tokens are the consumer's markup and this element is not
|
|
3594
|
+
entitled to take them out of the document, which is the same reason
|
|
3595
|
+
`hideOverflow` marks the ones over the cap `hidden` rather than removing
|
|
3596
|
+
them. */
|
|
3597
|
+
clearable?: (HelixFilterInput["clearable"]) | undefined;
|
|
3598
|
+
/** What the clear button is called, since an icon has no name of its own. */
|
|
3599
|
+
"clear-label"?: (HelixFilterInput["clearLabel"]) | undefined;
|
|
3600
|
+
/** What the clear button is called, since an icon has no name of its own. */
|
|
3601
|
+
clearLabel?: (HelixFilterInput["clearLabel"]) | undefined;
|
|
3602
|
+
/** Shown while the field is empty.
|
|
3603
|
+
|
|
3604
|
+
Not a label: it goes when typing starts. */
|
|
3605
|
+
placeholder?: (HelixFilterInput["placeholder"]) | undefined;
|
|
3606
|
+
/** Whether the control is non-interactive.
|
|
3607
|
+
|
|
3608
|
+
Reflected, because the styled tier selects on it, and mirrored to
|
|
3609
|
+
`aria-disabled` rather than removing the element from the accessibility
|
|
3610
|
+
tree, so a screen reader can still announce that the control exists.
|
|
3611
|
+
|
|
3612
|
+
The mirror itself is in `willUpdate` below, here rather than in each
|
|
3613
|
+
control, because here is where `disabled` is. */
|
|
3614
|
+
disabled?: (HelixFilterInput["disabled"]) | undefined;
|
|
3615
|
+
/** Name submitted with the form.
|
|
3616
|
+
|
|
3617
|
+
**Reflected, and it is the exception to "reflect only what CSS selects
|
|
3618
|
+
on".** The platform builds a form's entry list from the `name` *content
|
|
3619
|
+
attribute*, not from the property, so a control named through the property
|
|
3620
|
+
submitted under no name at all and was silently dropped. Measured: two
|
|
3621
|
+
inputs in one form, one named by attribute and one by property, and the
|
|
3622
|
+
form carried a single entry.
|
|
3623
|
+
|
|
3624
|
+
Safe for a React consumer, which is what the rule is protecting: React
|
|
3625
|
+
renders a custom element's props as attributes on the server, so the name
|
|
3626
|
+
is already in the markup being hydrated and reflecting it writes what is
|
|
3627
|
+
there. It is only a change to the markup when a consumer assigns it
|
|
3628
|
+
imperatively later, and nothing is hydrating by then.
|
|
3629
|
+
|
|
3630
|
+
Here rather than on each control. */
|
|
3631
|
+
name?: (HelixFilterInput["name"]) | undefined;
|
|
3632
|
+
};
|
|
3633
|
+
|
|
3634
|
+
export type HelixFilterInputVueEvents = {
|
|
3635
|
+
/** Announced once the text has moved. */
|
|
3636
|
+
input: HelixFilterInputElementEvent;
|
|
3637
|
+
/** Relayed from the input once the reader has finished. */
|
|
3638
|
+
change: HelixFilterInputElementEvent;
|
|
3639
|
+
/** Fired as the text changes, and cancelable. */
|
|
3640
|
+
"helix-before-change": HelixFilterInputHelixBeforeChangeElementEvent;
|
|
3641
|
+
};
|
|
3642
|
+
|
|
3579
3643
|
export type HelixFlexVueProps = {
|
|
3580
3644
|
/** Alignment across the direction. */
|
|
3581
3645
|
align?: (HelixFlex["align"]) | undefined;
|
|
@@ -9578,6 +9642,12 @@ export type CustomCssProperties = {
|
|
|
9578
9642
|
"--file-input-background-color"?: (string) | undefined;
|
|
9579
9643
|
/** Padding inside the field. */
|
|
9580
9644
|
"--file-input-padding"?: (string) | undefined;
|
|
9645
|
+
/** Fill behind the field. */
|
|
9646
|
+
"--filter-input-background-color"?: (string) | undefined;
|
|
9647
|
+
/** Smallest the text keeps as tokens fill the line, before it wraps to its own. */
|
|
9648
|
+
"--filter-input-control-size"?: (string) | undefined;
|
|
9649
|
+
/** Height of the field with nothing in it, which it grows from. */
|
|
9650
|
+
"--filter-input-size"?: (string) | undefined;
|
|
9581
9651
|
/** An explicit track list, which wins over `min` and `columns`. For a layout of unequal tracks, which neither attribute can say. */
|
|
9582
9652
|
"--grid-columns"?: (string) | undefined;
|
|
9583
9653
|
/** How tall a cell is. A row of a tall thin cell is what a status page draws. */
|
|
@@ -10392,6 +10462,12 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
10392
10462
|
HelixFileInputVueProps,
|
|
10393
10463
|
HelixFileInputVueEvents
|
|
10394
10464
|
>;
|
|
10465
|
+
/** The frame is the field rather than the input, so the tokens sit inside the same box as the text and the focus ring is drawn once around the whole control. It grows down a line at a time as tokens are added, which is the arrangement Combobox takes when it is holding a selection. **The tokens are the consumer's own elements**, so the only thing said about them here is to keep their size and not run past the field. A 'Tag' slotted into 'tags' already looks like one; anything else looks like whatever it is. Height comes from the region, like every other control: 'data-density' on whatever holds it, not a 'size' here. */
|
|
10466
|
+
"helix-filter-input": DefineCustomElement<
|
|
10467
|
+
HelixFilterInput,
|
|
10468
|
+
HelixFilterInputVueProps,
|
|
10469
|
+
HelixFilterInputVueEvents
|
|
10470
|
+
>;
|
|
10395
10471
|
/** The host is the flex container itself and the only child is a slot, so the element adds no box of its own: '<helix-flex>' costs exactly the '<div>' it replaces. There is no separate Stack. A stack is this with 'direction="column"', and a second element whose whole definition is one default of the first is a name to learn rather than a capability to gain. Gap takes a space token name rather than a length, so spacing stays on the scale. A layout that can say 'gap="13px"' is one that will. Presentation only, so there is no headless tier: the split exists to keep behavior separate from styling, and this is entirely styling. */
|
|
10396
10472
|
"helix-flex": DefineCustomElement<
|
|
10397
10473
|
HelixFlex,
|