@fusion.dev/helix 0.12.3 → 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 +1399 -0
- 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 +537 -0
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +98 -0
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,
|
|
@@ -3554,6 +3555,91 @@ export type HelixFileInputVueEvents = {
|
|
|
3554
3555
|
"helix-before-change": HelixFileInputHelixBeforeChangeElementEvent;
|
|
3555
3556
|
};
|
|
3556
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
|
+
|
|
3557
3643
|
export type HelixFlexVueProps = {
|
|
3558
3644
|
/** Alignment across the direction. */
|
|
3559
3645
|
align?: (HelixFlex["align"]) | undefined;
|
|
@@ -9556,6 +9642,12 @@ export type CustomCssProperties = {
|
|
|
9556
9642
|
"--file-input-background-color"?: (string) | undefined;
|
|
9557
9643
|
/** Padding inside the field. */
|
|
9558
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;
|
|
9559
9651
|
/** An explicit track list, which wins over `min` and `columns`. For a layout of unequal tracks, which neither attribute can say. */
|
|
9560
9652
|
"--grid-columns"?: (string) | undefined;
|
|
9561
9653
|
/** How tall a cell is. A row of a tall thin cell is what a status page draws. */
|
|
@@ -10370,6 +10462,12 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
10370
10462
|
HelixFileInputVueProps,
|
|
10371
10463
|
HelixFileInputVueEvents
|
|
10372
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
|
+
>;
|
|
10373
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. */
|
|
10374
10472
|
"helix-flex": DefineCustomElement<
|
|
10375
10473
|
HelixFlex,
|