@fusion.dev/helix-headless 0.13.2 → 0.14.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.
@@ -13878,7 +13878,7 @@
13878
13878
  "name": "listbox-search-field"
13879
13879
  },
13880
13880
  {
13881
- "description": "The count of choices held beyond `max-tags`.",
13881
+ "description": "The count of choices held beyond `max-tags`. A `<button>` with `expandable`, a `<span>` without it.",
13882
13882
  "name": "rest"
13883
13883
  },
13884
13884
  {
@@ -14432,6 +14432,48 @@
14432
14432
  "text": "toggleOpen() => boolean"
14433
14433
  }
14434
14434
  },
14435
+ {
14436
+ "kind": "field",
14437
+ "name": "collapseLabel",
14438
+ "type": {
14439
+ "text": "string"
14440
+ },
14441
+ "default": "'Show fewer'",
14442
+ "description": "What the control says once everything is showing.",
14443
+ "attribute": "collapse-label",
14444
+ "inheritedFrom": {
14445
+ "name": "MixinTokens",
14446
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14447
+ }
14448
+ },
14449
+ {
14450
+ "kind": "field",
14451
+ "name": "expandable",
14452
+ "type": {
14453
+ "text": "boolean"
14454
+ },
14455
+ "default": "false",
14456
+ "description": "Whether the count is a control that shows the rest.",
14457
+ "attribute": "expandable",
14458
+ "inheritedFrom": {
14459
+ "name": "MixinTokens",
14460
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14461
+ }
14462
+ },
14463
+ {
14464
+ "kind": "field",
14465
+ "name": "expandLabel",
14466
+ "type": {
14467
+ "text": "string"
14468
+ },
14469
+ "default": "'Show all'",
14470
+ "description": "What the collapsed count is called, since `+3` names nothing.",
14471
+ "attribute": "expand-label",
14472
+ "inheritedFrom": {
14473
+ "name": "MixinTokens",
14474
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14475
+ }
14476
+ },
14435
14477
  {
14436
14478
  "kind": "field",
14437
14479
  "name": "maxTags",
@@ -14446,6 +14488,44 @@
14446
14488
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14447
14489
  }
14448
14490
  },
14491
+ {
14492
+ "kind": "field",
14493
+ "name": "expanded",
14494
+ "type": {
14495
+ "text": "boolean"
14496
+ },
14497
+ "privacy": "private",
14498
+ "default": "false",
14499
+ "description": "Whether the reader has asked for all of them.\n\nState and private, the way `Input`'s `revealed` is: it is a reader's\nmomentary choice about what is on their own screen, it must not survive\nanything, and a consumer who wants the field opened is asking for\n`max-tags=\"0\"` rather than for a second way to say it.",
14500
+ "inheritedFrom": {
14501
+ "name": "MixinTokens",
14502
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14503
+ }
14504
+ },
14505
+ {
14506
+ "kind": "field",
14507
+ "name": "shownLimit",
14508
+ "type": {
14509
+ "text": "number"
14510
+ },
14511
+ "privacy": "protected",
14512
+ "readonly": true,
14513
+ "inheritedFrom": {
14514
+ "name": "MixinTokens",
14515
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14516
+ }
14517
+ },
14518
+ {
14519
+ "kind": "field",
14520
+ "name": "toggleExpanded",
14521
+ "privacy": "private",
14522
+ "readonly": true,
14523
+ "description": "Turns the cap off and on, which is all expanding is.",
14524
+ "inheritedFrom": {
14525
+ "name": "MixinTokens",
14526
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14527
+ }
14528
+ },
14449
14529
  {
14450
14530
  "kind": "method",
14451
14531
  "name": "renderTokenRow",
@@ -14474,6 +14554,29 @@
14474
14554
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14475
14555
  }
14476
14556
  },
14557
+ {
14558
+ "kind": "method",
14559
+ "name": "renderRest",
14560
+ "privacy": "private",
14561
+ "return": {
14562
+ "type": {
14563
+ "text": "TemplateResult | typeof nothing"
14564
+ }
14565
+ },
14566
+ "parameters": [
14567
+ {
14568
+ "name": "over",
14569
+ "type": {
14570
+ "text": "number"
14571
+ }
14572
+ }
14573
+ ],
14574
+ "description": "The count, as a control where the host asked for one and a word otherwise.\n\n**`part=\"rest\"` either way**, so a consumer's `::part(rest)` keeps working\nacross the change. The element under it is different, which is the point:\na `<span>` that looks like an affordance and answers nothing is the fault\nthis exists to fix, and the way to fix it is a real button rather than a\nclick handler on text.\n\n**Expanded, it renders on no count.** `shownLimit` is zero while expanded,\nso `over` is zero too, and gating the control on the number would take\naway the only way back.",
14575
+ "inheritedFrom": {
14576
+ "name": "MixinTokens",
14577
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
14578
+ }
14579
+ },
14477
14580
  {
14478
14581
  "kind": "method",
14479
14582
  "name": "hideOverflow",
@@ -15385,6 +15488,45 @@
15385
15488
  "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
15386
15489
  }
15387
15490
  },
15491
+ {
15492
+ "name": "collapse-label",
15493
+ "type": {
15494
+ "text": "string"
15495
+ },
15496
+ "default": "'Show fewer'",
15497
+ "description": "What the control says once everything is showing.",
15498
+ "fieldName": "collapseLabel",
15499
+ "inheritedFrom": {
15500
+ "name": "MixinTokens",
15501
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
15502
+ }
15503
+ },
15504
+ {
15505
+ "name": "expandable",
15506
+ "type": {
15507
+ "text": "boolean"
15508
+ },
15509
+ "default": "false",
15510
+ "description": "Whether the count is a control that shows the rest.",
15511
+ "fieldName": "expandable",
15512
+ "inheritedFrom": {
15513
+ "name": "MixinTokens",
15514
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
15515
+ }
15516
+ },
15517
+ {
15518
+ "name": "expand-label",
15519
+ "type": {
15520
+ "text": "string"
15521
+ },
15522
+ "default": "'Show all'",
15523
+ "description": "What the collapsed count is called, since `+3` names nothing.",
15524
+ "fieldName": "expandLabel",
15525
+ "inheritedFrom": {
15526
+ "name": "MixinTokens",
15527
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
15528
+ }
15529
+ },
15388
15530
  {
15389
15531
  "name": "max-tags",
15390
15532
  "type": {
@@ -26524,7 +26666,7 @@
26524
26666
  "name": "label"
26525
26667
  },
26526
26668
  {
26527
- "description": "How many tokens did not fit.",
26669
+ "description": "How many tokens did not fit. A `<button>` with `expandable`, a `<span>` without it.",
26528
26670
  "name": "rest"
26529
26671
  },
26530
26672
  {
@@ -26727,6 +26869,48 @@
26727
26869
  "text": "focus(options?: FocusOptions) => void"
26728
26870
  }
26729
26871
  },
26872
+ {
26873
+ "kind": "field",
26874
+ "name": "collapseLabel",
26875
+ "type": {
26876
+ "text": "string"
26877
+ },
26878
+ "default": "'Show fewer'",
26879
+ "description": "What the control says once everything is showing.",
26880
+ "attribute": "collapse-label",
26881
+ "inheritedFrom": {
26882
+ "name": "MixinTokens",
26883
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26884
+ }
26885
+ },
26886
+ {
26887
+ "kind": "field",
26888
+ "name": "expandable",
26889
+ "type": {
26890
+ "text": "boolean"
26891
+ },
26892
+ "default": "false",
26893
+ "description": "Whether the count is a control that shows the rest.",
26894
+ "attribute": "expandable",
26895
+ "inheritedFrom": {
26896
+ "name": "MixinTokens",
26897
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26898
+ }
26899
+ },
26900
+ {
26901
+ "kind": "field",
26902
+ "name": "expandLabel",
26903
+ "type": {
26904
+ "text": "string"
26905
+ },
26906
+ "default": "'Show all'",
26907
+ "description": "What the collapsed count is called, since `+3` names nothing.",
26908
+ "attribute": "expand-label",
26909
+ "inheritedFrom": {
26910
+ "name": "MixinTokens",
26911
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26912
+ }
26913
+ },
26730
26914
  {
26731
26915
  "kind": "field",
26732
26916
  "name": "maxTags",
@@ -26741,6 +26925,44 @@
26741
26925
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26742
26926
  }
26743
26927
  },
26928
+ {
26929
+ "kind": "field",
26930
+ "name": "expanded",
26931
+ "type": {
26932
+ "text": "boolean"
26933
+ },
26934
+ "privacy": "private",
26935
+ "default": "false",
26936
+ "description": "Whether the reader has asked for all of them.\n\nState and private, the way `Input`'s `revealed` is: it is a reader's\nmomentary choice about what is on their own screen, it must not survive\nanything, and a consumer who wants the field opened is asking for\n`max-tags=\"0\"` rather than for a second way to say it.",
26937
+ "inheritedFrom": {
26938
+ "name": "MixinTokens",
26939
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26940
+ }
26941
+ },
26942
+ {
26943
+ "kind": "field",
26944
+ "name": "shownLimit",
26945
+ "type": {
26946
+ "text": "number"
26947
+ },
26948
+ "privacy": "protected",
26949
+ "readonly": true,
26950
+ "inheritedFrom": {
26951
+ "name": "MixinTokens",
26952
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26953
+ }
26954
+ },
26955
+ {
26956
+ "kind": "field",
26957
+ "name": "toggleExpanded",
26958
+ "privacy": "private",
26959
+ "readonly": true,
26960
+ "description": "Turns the cap off and on, which is all expanding is.",
26961
+ "inheritedFrom": {
26962
+ "name": "MixinTokens",
26963
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26964
+ }
26965
+ },
26744
26966
  {
26745
26967
  "kind": "method",
26746
26968
  "name": "renderTokenRow",
@@ -26769,6 +26991,29 @@
26769
26991
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
26770
26992
  }
26771
26993
  },
26994
+ {
26995
+ "kind": "method",
26996
+ "name": "renderRest",
26997
+ "privacy": "private",
26998
+ "return": {
26999
+ "type": {
27000
+ "text": "TemplateResult | typeof nothing"
27001
+ }
27002
+ },
27003
+ "parameters": [
27004
+ {
27005
+ "name": "over",
27006
+ "type": {
27007
+ "text": "number"
27008
+ }
27009
+ }
27010
+ ],
27011
+ "description": "The count, as a control where the host asked for one and a word otherwise.\n\n**`part=\"rest\"` either way**, so a consumer's `::part(rest)` keeps working\nacross the change. The element under it is different, which is the point:\na `<span>` that looks like an affordance and answers nothing is the fault\nthis exists to fix, and the way to fix it is a real button rather than a\nclick handler on text.\n\n**Expanded, it renders on no count.** `shownLimit` is zero while expanded,\nso `over` is zero too, and gating the control on the number would take\naway the only way back.",
27012
+ "inheritedFrom": {
27013
+ "name": "MixinTokens",
27014
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
27015
+ }
27016
+ },
26772
27017
  {
26773
27018
  "kind": "method",
26774
27019
  "name": "hideOverflow",
@@ -27528,6 +27773,45 @@
27528
27773
  "description": "Shown while the field is empty.\n\nNot a label: it goes when typing starts.",
27529
27774
  "fieldName": "placeholder"
27530
27775
  },
27776
+ {
27777
+ "name": "collapse-label",
27778
+ "type": {
27779
+ "text": "string"
27780
+ },
27781
+ "default": "'Show fewer'",
27782
+ "description": "What the control says once everything is showing.",
27783
+ "fieldName": "collapseLabel",
27784
+ "inheritedFrom": {
27785
+ "name": "MixinTokens",
27786
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
27787
+ }
27788
+ },
27789
+ {
27790
+ "name": "expandable",
27791
+ "type": {
27792
+ "text": "boolean"
27793
+ },
27794
+ "default": "false",
27795
+ "description": "Whether the count is a control that shows the rest.",
27796
+ "fieldName": "expandable",
27797
+ "inheritedFrom": {
27798
+ "name": "MixinTokens",
27799
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
27800
+ }
27801
+ },
27802
+ {
27803
+ "name": "expand-label",
27804
+ "type": {
27805
+ "text": "string"
27806
+ },
27807
+ "default": "'Show all'",
27808
+ "description": "What the collapsed count is called, since `+3` names nothing.",
27809
+ "fieldName": "expandLabel",
27810
+ "inheritedFrom": {
27811
+ "name": "MixinTokens",
27812
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
27813
+ }
27814
+ },
27531
27815
  {
27532
27816
  "name": "max-tags",
27533
27817
  "type": {
@@ -71,7 +71,7 @@ declare const HelixHeadlessCombobox_base: (new (...args: any[]) => import("@fusi
71
71
  * @csspart listbox-loading - Shown while the options are still on their way.
72
72
  * @csspart listbox-search - The region holding the field that narrows the list.
73
73
  * @csspart listbox-search-field - The field itself.
74
- * @csspart rest - The count of choices held beyond `max-tags`.
74
+ * @csspart rest - The count of choices held beyond `max-tags`. A `<button>` with `expandable`, a `<span>` without it.
75
75
  * @csspart surface - The floating panel.
76
76
  * @csspart tag - One chosen option.
77
77
  * @csspart tag-dismiss - The remove button, when `dismissible`.
@@ -177,7 +177,8 @@ let HelixHeadlessCombobox = class HelixHeadlessCombobox extends MixinControllerO
177
177
  }
178
178
  get shown() {
179
179
  const held = this.chosen;
180
- return this.maxTags > 0 ? held.slice(0, this.maxTags) : held;
180
+ const limit = this.shownLimit;
181
+ return limit > 0 ? held.slice(0, limit) : held;
181
182
  }
182
183
  get restCount() {
183
184
  return Math.max(0, this.chosen.length - this.shown.length);
@@ -42,7 +42,7 @@ declare const HelixHeadlessFilterInput_base: (new (...args: any[]) => import("@f
42
42
  * @csspart field - The box holding everything.
43
43
  * @csspart hint - Help under the field, while nothing is wrong.
44
44
  * @csspart label - The question, over the field.
45
- * @csspart rest - How many tokens did not fit.
45
+ * @csspart rest - How many tokens did not fit. A `<button>` with `expandable`, a `<span>` without it.
46
46
  * @csspart tags - The row the tokens sit in.
47
47
  */
48
48
  export declare class HelixHeadlessFilterInput extends HelixHeadlessFilterInput_base {
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.13.2",
4
+ "version": "0.14.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -45,14 +45,14 @@
45
45
  },
46
46
  "bugs": "https://github.com/project-fusion/fusion/issues",
47
47
  "dependencies": {
48
- "@fusion.dev/helix-core": "0.13.2",
49
- "@fusion.dev/helix-icons": "0.13.2",
48
+ "@fusion.dev/helix-core": "0.14.0",
49
+ "@fusion.dev/helix-icons": "0.14.0",
50
50
  "uqr": "^0.1.3"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@custom-elements-manifest/analyzer": "^0.11.0",
54
- "@fusion.dev/helix-cem": "0.13.2",
55
- "@fusion.dev/helix-testing": "0.13.2",
54
+ "@fusion.dev/helix-cem": "0.14.0",
55
+ "@fusion.dev/helix-testing": "0.14.0",
56
56
  "@fusion.dev/scripts": "0.0.0-dev",
57
57
  "@happy-dom/global-registrator": "^20.0.0",
58
58
  "@lit-labs/ssr": "^3.3.0",
package/types/jsx.d.ts CHANGED
@@ -3065,6 +3065,16 @@ the resolved state for stylesheets, which is what the mirror is for. */
3065
3065
  "default-open"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
3066
3066
  /** Initial open state for uncontrolled use, where nothing declared one. */
3067
3067
  defaultOpen?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
3068
+ /** What the control says once everything is showing. */
3069
+ "collapse-label"?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
3070
+ /** What the control says once everything is showing. */
3071
+ collapseLabel?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
3072
+ /** Whether the count is a control that shows the rest. */
3073
+ expandable?: (HelixHeadlessCombobox["expandable"]) | undefined;
3074
+ /** What the collapsed count is called, since `+3` names nothing. */
3075
+ "expand-label"?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
3076
+ /** What the collapsed count is called, since `+3` names nothing. */
3077
+ expandLabel?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
3068
3078
  /** How many tokens to show before the rest become a count. */
3069
3079
  "max-tags"?: (HelixHeadlessCombobox["maxTags"]) | undefined;
3070
3080
  /** How many tokens to show before the rest become a count. */
@@ -3221,6 +3231,16 @@ the resolved state for stylesheets, which is what the mirror is for. */
3221
3231
  "bool:default-open"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
3222
3232
  /** Initial open state for uncontrolled use, where nothing declared one. */
3223
3233
  "prop:defaultOpen"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
3234
+ /** What the control says once everything is showing. */
3235
+ "attr:collapse-label"?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
3236
+ /** What the control says once everything is showing. */
3237
+ "prop:collapseLabel"?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
3238
+ /** Whether the count is a control that shows the rest. */
3239
+ "prop:expandable"?: (HelixHeadlessCombobox["expandable"]) | undefined;
3240
+ /** What the collapsed count is called, since `+3` names nothing. */
3241
+ "attr:expand-label"?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
3242
+ /** What the collapsed count is called, since `+3` names nothing. */
3243
+ "prop:expandLabel"?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
3224
3244
  /** How many tokens to show before the rest become a count. */
3225
3245
  "attr:max-tags"?: (HelixHeadlessCombobox["maxTags"]) | undefined;
3226
3246
  /** How many tokens to show before the rest become a count. */
@@ -5797,6 +5817,16 @@ them. */
5797
5817
 
5798
5818
  Not a label: it goes when typing starts. */
5799
5819
  placeholder?: (HelixHeadlessFilterInput["placeholder"]) | undefined;
5820
+ /** What the control says once everything is showing. */
5821
+ "collapse-label"?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
5822
+ /** What the control says once everything is showing. */
5823
+ collapseLabel?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
5824
+ /** Whether the count is a control that shows the rest. */
5825
+ expandable?: (HelixHeadlessFilterInput["expandable"]) | undefined;
5826
+ /** What the collapsed count is called, since `+3` names nothing. */
5827
+ "expand-label"?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
5828
+ /** What the collapsed count is called, since `+3` names nothing. */
5829
+ expandLabel?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
5800
5830
  /** How many tokens to show before the rest become a count. */
5801
5831
  "max-tags"?: (HelixHeadlessFilterInput["maxTags"]) | undefined;
5802
5832
  /** How many tokens to show before the rest become a count. */
@@ -5873,6 +5903,16 @@ them. */
5873
5903
 
5874
5904
  Not a label: it goes when typing starts. */
5875
5905
  "prop:placeholder"?: (HelixHeadlessFilterInput["placeholder"]) | undefined;
5906
+ /** What the control says once everything is showing. */
5907
+ "attr:collapse-label"?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
5908
+ /** What the control says once everything is showing. */
5909
+ "prop:collapseLabel"?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
5910
+ /** Whether the count is a control that shows the rest. */
5911
+ "prop:expandable"?: (HelixHeadlessFilterInput["expandable"]) | undefined;
5912
+ /** What the collapsed count is called, since `+3` names nothing. */
5913
+ "attr:expand-label"?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
5914
+ /** What the collapsed count is called, since `+3` names nothing. */
5915
+ "prop:expandLabel"?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
5876
5916
  /** How many tokens to show before the rest become a count. */
5877
5917
  "attr:max-tags"?: (HelixHeadlessFilterInput["maxTags"]) | undefined;
5878
5918
  /** How many tokens to show before the rest become a count. */
@@ -18374,6 +18414,9 @@ export type CustomElements = {
18374
18414
  * last reader did rather than what the author wrote. `:state(open)` carries
18375
18415
  * the resolved state for stylesheets, which is what the mirror is for.
18376
18416
  * - `default-open`/`defaultOpen`: Initial open state for uncontrolled use, where nothing declared one.
18417
+ * - `collapse-label`/`collapseLabel`: What the control says once everything is showing.
18418
+ * - `expandable`: Whether the count is a control that shows the rest.
18419
+ * - `expand-label`/`expandLabel`: What the collapsed count is called, since `+3` names nothing.
18377
18420
  * - `max-tags`/`maxTags`: How many tokens to show before the rest become a count.
18378
18421
  * - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
18379
18422
  * - `value`: What the control holds now, and what its form submits.
@@ -18545,7 +18588,7 @@ export type CustomElements = {
18545
18588
  * - `listbox-loading`: Shown while the options are still on their way.
18546
18589
  * - `listbox-search`: The region holding the field that narrows the list.
18547
18590
  * - `listbox-search-field`: The field itself.
18548
- * - `rest`: The count of choices held beyond `max-tags`.
18591
+ * - `rest`: The count of choices held beyond `max-tags`. A `<button>` with `expandable`, a `<span>` without it.
18549
18592
  * - `surface`: The floating panel.
18550
18593
  * - `tag`: One chosen option.
18551
18594
  * - `tag-dismiss`: The remove button, when `dismissible`.
@@ -20538,6 +20581,9 @@ export type CustomElements = {
20538
20581
  * - `placeholder`: Shown while the field is empty.
20539
20582
  *
20540
20583
  * Not a label: it goes when typing starts.
20584
+ * - `collapse-label`/`collapseLabel`: What the control says once everything is showing.
20585
+ * - `expandable`: Whether the count is a control that shows the rest.
20586
+ * - `expand-label`/`expandLabel`: What the collapsed count is called, since `+3` names nothing.
20541
20587
  * - `max-tags`/`maxTags`: How many tokens to show before the rest become a count.
20542
20588
  * - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
20543
20589
  * - `value`: What the control holds now, and what its form submits.
@@ -20677,7 +20723,7 @@ export type CustomElements = {
20677
20723
  * - `field`: The box holding everything.
20678
20724
  * - `hint`: Help under the field, while nothing is wrong.
20679
20725
  * - `label`: The question, over the field.
20680
- * - `rest`: How many tokens did not fit.
20726
+ * - `rest`: How many tokens did not fit. A `<button>` with `expandable`, a `<span>` without it.
20681
20727
  * - `tags`: The row the tokens sit in.
20682
20728
  */
20683
20729
  "helix-headless-filter-input": Partial<
@@ -32774,6 +32820,9 @@ export type CustomElementsSolidJs = {
32774
32820
  * last reader did rather than what the author wrote. `:state(open)` carries
32775
32821
  * the resolved state for stylesheets, which is what the mirror is for.
32776
32822
  * - `default-open`/`defaultOpen`: Initial open state for uncontrolled use, where nothing declared one.
32823
+ * - `collapse-label`/`collapseLabel`: What the control says once everything is showing.
32824
+ * - `expandable`: Whether the count is a control that shows the rest.
32825
+ * - `expand-label`/`expandLabel`: What the collapsed count is called, since `+3` names nothing.
32777
32826
  * - `max-tags`/`maxTags`: How many tokens to show before the rest become a count.
32778
32827
  * - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
32779
32828
  * - `value`: What the control holds now, and what its form submits.
@@ -32945,7 +32994,7 @@ export type CustomElementsSolidJs = {
32945
32994
  * - `listbox-loading`: Shown while the options are still on their way.
32946
32995
  * - `listbox-search`: The region holding the field that narrows the list.
32947
32996
  * - `listbox-search-field`: The field itself.
32948
- * - `rest`: The count of choices held beyond `max-tags`.
32997
+ * - `rest`: The count of choices held beyond `max-tags`. A `<button>` with `expandable`, a `<span>` without it.
32949
32998
  * - `surface`: The floating panel.
32950
32999
  * - `tag`: One chosen option.
32951
33000
  * - `tag-dismiss`: The remove button, when `dismissible`.
@@ -34972,6 +35021,9 @@ export type CustomElementsSolidJs = {
34972
35021
  * - `placeholder`: Shown while the field is empty.
34973
35022
  *
34974
35023
  * Not a label: it goes when typing starts.
35024
+ * - `collapse-label`/`collapseLabel`: What the control says once everything is showing.
35025
+ * - `expandable`: Whether the count is a control that shows the rest.
35026
+ * - `expand-label`/`expandLabel`: What the collapsed count is called, since `+3` names nothing.
34975
35027
  * - `max-tags`/`maxTags`: How many tokens to show before the rest become a count.
34976
35028
  * - `default-value`/`defaultValue`: The value the markup declared, which is where a reset returns to.
34977
35029
  * - `value`: What the control holds now, and what its form submits.
@@ -35111,7 +35163,7 @@ export type CustomElementsSolidJs = {
35111
35163
  * - `field`: The box holding everything.
35112
35164
  * - `hint`: Help under the field, while nothing is wrong.
35113
35165
  * - `label`: The question, over the field.
35114
- * - `rest`: How many tokens did not fit.
35166
+ * - `rest`: How many tokens did not fit. A `<button>` with `expandable`, a `<span>` without it.
35115
35167
  * - `tags`: The row the tokens sit in.
35116
35168
  */
35117
35169
  "helix-headless-filter-input": Partial<
package/types/vue.d.ts CHANGED
@@ -1620,6 +1620,16 @@ the resolved state for stylesheets, which is what the mirror is for. */
1620
1620
  "default-open"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
1621
1621
  /** Initial open state for uncontrolled use, where nothing declared one. */
1622
1622
  defaultOpen?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
1623
+ /** What the control says once everything is showing. */
1624
+ "collapse-label"?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
1625
+ /** What the control says once everything is showing. */
1626
+ collapseLabel?: (HelixHeadlessCombobox["collapseLabel"]) | undefined;
1627
+ /** Whether the count is a control that shows the rest. */
1628
+ expandable?: (HelixHeadlessCombobox["expandable"]) | undefined;
1629
+ /** What the collapsed count is called, since `+3` names nothing. */
1630
+ "expand-label"?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
1631
+ /** What the collapsed count is called, since `+3` names nothing. */
1632
+ expandLabel?: (HelixHeadlessCombobox["expandLabel"]) | undefined;
1623
1633
  /** How many tokens to show before the rest become a count. */
1624
1634
  "max-tags"?: (HelixHeadlessCombobox["maxTags"]) | undefined;
1625
1635
  /** How many tokens to show before the rest become a count. */
@@ -2982,6 +2992,16 @@ them. */
2982
2992
 
2983
2993
  Not a label: it goes when typing starts. */
2984
2994
  placeholder?: (HelixHeadlessFilterInput["placeholder"]) | undefined;
2995
+ /** What the control says once everything is showing. */
2996
+ "collapse-label"?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
2997
+ /** What the control says once everything is showing. */
2998
+ collapseLabel?: (HelixHeadlessFilterInput["collapseLabel"]) | undefined;
2999
+ /** Whether the count is a control that shows the rest. */
3000
+ expandable?: (HelixHeadlessFilterInput["expandable"]) | undefined;
3001
+ /** What the collapsed count is called, since `+3` names nothing. */
3002
+ "expand-label"?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
3003
+ /** What the collapsed count is called, since `+3` names nothing. */
3004
+ expandLabel?: (HelixHeadlessFilterInput["expandLabel"]) | undefined;
2985
3005
  /** How many tokens to show before the rest become a count. */
2986
3006
  "max-tags"?: (HelixHeadlessFilterInput["maxTags"]) | undefined;
2987
3007
  /** How many tokens to show before the rest become a count. */