@fusion.dev/helix 0.158.0 → 0.160.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.
@@ -2935,6 +2935,126 @@
2935
2935
  "attribute": "sticky",
2936
2936
  "reflects": true
2937
2937
  },
2938
+ {
2939
+ "kind": "field",
2940
+ "name": "defaultOpen",
2941
+ "type": {
2942
+ "text": "boolean"
2943
+ },
2944
+ "default": "false",
2945
+ "description": "Whether the element starts open. Ignored once `open` is written.",
2946
+ "attribute": "default-open",
2947
+ "inheritedFrom": {
2948
+ "name": "MixinControllerOpen",
2949
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
2950
+ }
2951
+ },
2952
+ {
2953
+ "kind": "field",
2954
+ "name": "open",
2955
+ "type": {
2956
+ "text": "boolean"
2957
+ },
2958
+ "description": "Whether the element is open.\n\nOne property, not two, so `dialog.open` answers the question anyone\nasking it meant. Writing always applies; `<helix-dialog open>` is the\nsame statement in markup.\n\n**Not reflected, and that is required rather than tidy.** Reflection\nwrites the resolved state back as an attribute, so an element that opened\nitself would put `open` on its own host: cloned, serialized for\nhydration, or diffed by a framework, it comes back holding whatever the\nlast reader did rather than what the author wrote. `:state(open)` carries\nthe resolved state for stylesheets, which is what the mirror is for.",
2959
+ "attribute": "open",
2960
+ "inheritedFrom": {
2961
+ "name": "MixinControllerOpen",
2962
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
2963
+ }
2964
+ },
2965
+ {
2966
+ "kind": "field",
2967
+ "name": "openState",
2968
+ "type": {
2969
+ "text": "boolean | undefined"
2970
+ },
2971
+ "privacy": "private",
2972
+ "default": "undefined",
2973
+ "description": "The state, whoever set it, and `undefined` until somebody has.\n\nPrefixed, and it has to be. These mixins compose onto one prototype\nchain, `Select` takes this one and `MixinControllerValue` together, and\nTypeScript's `private` is a compile-time fiction: two mixins with a field\ncalled `state` share one property on the instance, and the second one\nsilently overwrites the first. Measured, as a select whose `value` came\nback holding its `open` boolean.\n\nOne field and not two. Writing always applies, the way a native control\ndoes when a script assigns to it.",
2974
+ "inheritedFrom": {
2975
+ "name": "MixinControllerOpen",
2976
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
2977
+ }
2978
+ },
2979
+ {
2980
+ "kind": "field",
2981
+ "name": "announcedOpen",
2982
+ "type": {
2983
+ "text": "boolean | undefined"
2984
+ },
2985
+ "privacy": "private",
2986
+ "default": "undefined",
2987
+ "description": "The state `toggle` last reported, and `undefined` before the first update.\n\n`requestOpen` announces at once. An assignment to `open` announces here,\nonce it has rendered, so a consumer binding `toggle` hears every change\nthat a `close` listener on a dialog hears. The first update sets it and\nannounces nothing, because a seed is where the element starts.",
2988
+ "inheritedFrom": {
2989
+ "name": "MixinControllerOpen",
2990
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
2991
+ }
2992
+ },
2993
+ {
2994
+ "kind": "method",
2995
+ "name": "requestOpen",
2996
+ "return": {
2997
+ "type": {
2998
+ "text": "boolean"
2999
+ }
3000
+ },
3001
+ "parameters": [
3002
+ {
3003
+ "name": "next",
3004
+ "type": {
3005
+ "text": "boolean"
3006
+ }
3007
+ }
3008
+ ],
3009
+ "description": "Requests that the element open or close, and returns whether the change\nwas applied.\n\nAnnounces before it acts, so `preventDefault()` on the `helix-before-open` or\n`helix-before-close` is a refusal and nothing moves. Nobody refusing means the\nelement opens or closes itself, whether or not a consumer declared\n`open`: a declared property is a seed and a correction, and a consumer\nwho wants the decision for themselves refuses it and assigns their own.",
3010
+ "inheritedFrom": {
3011
+ "name": "MixinControllerOpen",
3012
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
3013
+ },
3014
+ "type": {
3015
+ "text": "requestOpen(next: boolean) => boolean"
3016
+ }
3017
+ },
3018
+ {
3019
+ "kind": "method",
3020
+ "name": "announceToggle",
3021
+ "privacy": "private",
3022
+ "return": {
3023
+ "type": {
3024
+ "text": "void"
3025
+ }
3026
+ },
3027
+ "parameters": [
3028
+ {
3029
+ "name": "open",
3030
+ "type": {
3031
+ "text": "boolean"
3032
+ }
3033
+ }
3034
+ ],
3035
+ "description": "Says the state moved, under the platform's own name and in its shape.\n\n**A native `toggle` from inside a shadow root reaches nobody**, because\nit neither bubbles nor composes, so the ten families showing a\n`popover=\"manual\"` panel and the two rendering a real `<dialog>` announce\nnothing to a consumer. The disclosures have no native element to fire\nanything at all: `AccordionItem` and `TreeItem` are `aria-expanded` and\n`hidden` written by hand, which is `<details>`'s job done manually.\n\n**From here rather than from `PopoverController`.** The controller covers\neleven families and the mixin covers sixteen, so announcing from both\nwould announce twice on the ten they share. What `toggle` reports is the\n*state*, and the state is this mixin's; the controller is a way of\nputting a panel on the screen.\n\n**`newState` and `oldState`, because that is the platform's shape**, so a\nconsumer arriving from `<details>` reads the same two words. Not\ncancelable: the before events are the request, and a second cancelable\nevent for one transition is two answers to one question.",
3036
+ "inheritedFrom": {
3037
+ "name": "MixinControllerOpen",
3038
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
3039
+ }
3040
+ },
3041
+ {
3042
+ "kind": "method",
3043
+ "name": "toggleOpen",
3044
+ "return": {
3045
+ "type": {
3046
+ "text": "boolean"
3047
+ }
3048
+ },
3049
+ "description": "Requests the opposite of the current state.",
3050
+ "inheritedFrom": {
3051
+ "name": "MixinControllerOpen",
3052
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
3053
+ },
3054
+ "type": {
3055
+ "text": "toggleOpen() => boolean"
3056
+ }
3057
+ },
2938
3058
  {
2939
3059
  "kind": "field",
2940
3060
  "name": "words",
@@ -2990,6 +3110,23 @@
2990
3110
  "module": "src/app-header/root/app-header-root.ts"
2991
3111
  }
2992
3112
  },
3113
+ {
3114
+ "kind": "field",
3115
+ "name": "menuLabel",
3116
+ "type": {
3117
+ "text": "string"
3118
+ },
3119
+ "default": "'Menu'",
3120
+ "description": "The name of the toggle that opens a folded middle region.",
3121
+ "attribute": "menu-label",
3122
+ "helix": {
3123
+ "words": true
3124
+ },
3125
+ "inheritedFrom": {
3126
+ "name": "HelixHeadlessAppHeader",
3127
+ "module": "src/app-header/root/app-header-root.ts"
3128
+ }
3129
+ },
2993
3130
  {
2994
3131
  "kind": "field",
2995
3132
  "name": "folded",
@@ -3011,8 +3148,8 @@
3011
3148
  "text": "boolean"
3012
3149
  },
3013
3150
  "privacy": "private",
3014
- "default": "false",
3015
- "description": "Whether the folded middle region is open.",
3151
+ "description": "Whether the folded middle region is open and showing.",
3152
+ "readonly": true,
3016
3153
  "inheritedFrom": {
3017
3154
  "name": "HelixHeadlessAppHeader",
3018
3155
  "module": "src/app-header/root/app-header-root.ts"
@@ -3063,7 +3200,7 @@
3063
3200
  }
3064
3201
  }
3065
3202
  ],
3066
- "description": "Folds the middle region where the bar is narrower than `fold-below`.",
3203
+ "description": "Folds the middle region where the bar is narrower than `fold-below`. A bar\nthat widens closes its region, so it starts closed when it folds again;\none that narrows keeps an `open` you set.",
3067
3204
  "inheritedFrom": {
3068
3205
  "name": "HelixHeadlessAppHeader",
3069
3206
  "module": "src/app-header/root/app-header-root.ts"
@@ -3091,6 +3228,57 @@
3091
3228
  "module": "src/app-header/root/app-header-root.ts"
3092
3229
  }
3093
3230
  },
3231
+ {
3232
+ "kind": "field",
3233
+ "name": "handleFocusOut",
3234
+ "privacy": "private",
3235
+ "readonly": true,
3236
+ "description": "Closes the open region when focus moves to something outside the header.\nFocus leaving the window has no `relatedTarget`, and closes nothing.",
3237
+ "inheritedFrom": {
3238
+ "name": "HelixHeadlessAppHeader",
3239
+ "module": "src/app-header/root/app-header-root.ts"
3240
+ }
3241
+ },
3242
+ {
3243
+ "kind": "field",
3244
+ "name": "handleOutsidePress",
3245
+ "privacy": "private",
3246
+ "readonly": true,
3247
+ "description": "Closes the open region on a press outside the header.",
3248
+ "inheritedFrom": {
3249
+ "name": "HelixHeadlessAppHeader",
3250
+ "module": "src/app-header/root/app-header-root.ts"
3251
+ }
3252
+ },
3253
+ {
3254
+ "kind": "field",
3255
+ "name": "pressing",
3256
+ "type": {
3257
+ "text": "boolean"
3258
+ },
3259
+ "privacy": "private",
3260
+ "default": "false",
3261
+ "description": "Whether the outside press is listened for, which is while the region is open.",
3262
+ "inheritedFrom": {
3263
+ "name": "HelixHeadlessAppHeader",
3264
+ "module": "src/app-header/root/app-header-root.ts"
3265
+ }
3266
+ },
3267
+ {
3268
+ "kind": "method",
3269
+ "name": "watchPresses",
3270
+ "privacy": "private",
3271
+ "return": {
3272
+ "type": {
3273
+ "text": "void"
3274
+ }
3275
+ },
3276
+ "description": "Listens for a press outside while the folded region is open, and only then.",
3277
+ "inheritedFrom": {
3278
+ "name": "HelixHeadlessAppHeader",
3279
+ "module": "src/app-header/root/app-header-root.ts"
3280
+ }
3281
+ },
3094
3282
  {
3095
3283
  "kind": "field",
3096
3284
  "name": "away",
@@ -3178,16 +3366,12 @@
3178
3366
  },
3179
3367
  {
3180
3368
  "kind": "field",
3181
- "name": "menuLabel",
3369
+ "name": "scroller",
3182
3370
  "type": {
3183
- "text": "string"
3184
- },
3185
- "default": "'Menu'",
3186
- "description": "The name of the toggle that opens a folded middle region.",
3187
- "attribute": "menu-label",
3188
- "helix": {
3189
- "words": true
3371
+ "text": "string | undefined"
3190
3372
  },
3373
+ "description": "The id of the element whose scrolling lifts the bar, for an app shell that\nscrolls a container instead of the window. Unset is the window.",
3374
+ "attribute": "scroller",
3191
3375
  "inheritedFrom": {
3192
3376
  "name": "HelixHeadlessAppHeader",
3193
3377
  "module": "src/app-header/root/app-header-root.ts"
@@ -3195,12 +3379,13 @@
3195
3379
  },
3196
3380
  {
3197
3381
  "kind": "field",
3198
- "name": "scroller",
3382
+ "name": "togglePlacement",
3199
3383
  "type": {
3200
- "text": "string | undefined"
3384
+ "text": "'start' | undefined"
3201
3385
  },
3202
- "description": "The id of the element whose scrolling lifts the bar, for an app shell that\nscrolls a container instead of the window. Unset is the window.",
3203
- "attribute": "scroller",
3386
+ "description": "Where the toggle that opens a folded middle region sits: at the end of the\nbar, after the trailing content, or with `start`, before the leading\ncontent.\n\nOptional, so the resting bar writes no attribute onto the host.",
3387
+ "attribute": "toggle-placement",
3388
+ "reflects": true,
3204
3389
  "inheritedFrom": {
3205
3390
  "name": "HelixHeadlessAppHeader",
3206
3391
  "module": "src/app-header/root/app-header-root.ts"
@@ -3687,6 +3872,31 @@
3687
3872
  "description": "Whether the banner sticks to the top of the viewport.\n\nOpt in, because following the reader is a decision about the page rather\nthan about the bar, and because a reflected `true` writes an attribute the\nserver's markup does not have. Every default here is the absent attribute.\n\nIt pairs with `material`: a bar that does not stick is only ever over the\ntop of the page, so `glass` and `transparent` have nothing to be\ntranslucent against and the `scrolled` state never lands.",
3688
3873
  "fieldName": "sticky"
3689
3874
  },
3875
+ {
3876
+ "name": "default-open",
3877
+ "type": {
3878
+ "text": "boolean"
3879
+ },
3880
+ "default": "false",
3881
+ "description": "Whether the element starts open. Ignored once `open` is written.",
3882
+ "fieldName": "defaultOpen",
3883
+ "inheritedFrom": {
3884
+ "name": "MixinControllerOpen",
3885
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
3886
+ }
3887
+ },
3888
+ {
3889
+ "name": "open",
3890
+ "type": {
3891
+ "text": "boolean"
3892
+ },
3893
+ "description": "Whether the element is open.\n\nOne property, not two, so `dialog.open` answers the question anyone\nasking it meant. Writing always applies; `<helix-dialog open>` is the\nsame statement in markup.\n\n**Not reflected, and that is required rather than tidy.** Reflection\nwrites the resolved state back as an attribute, so an element that opened\nitself would put `open` on its own host: cloned, serialized for\nhydration, or diffed by a framework, it comes back holding whatever the\nlast reader did rather than what the author wrote. `:state(open)` carries\nthe resolved state for stylesheets, which is what the mirror is for.",
3894
+ "fieldName": "open",
3895
+ "inheritedFrom": {
3896
+ "name": "MixinControllerOpen",
3897
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
3898
+ }
3899
+ },
3690
3900
  {
3691
3901
  "name": "content-align",
3692
3902
  "type": {
@@ -3748,6 +3958,18 @@
3748
3958
  "name": "HelixHeadlessAppHeader",
3749
3959
  "module": "src/app-header/root/app-header-root.ts"
3750
3960
  }
3961
+ },
3962
+ {
3963
+ "name": "toggle-placement",
3964
+ "type": {
3965
+ "text": "'start' | undefined"
3966
+ },
3967
+ "description": "Where the toggle that opens a folded middle region sits: at the end of the\nbar, after the trailing content, or with `start`, before the leading\ncontent.\n\nOptional, so the resting bar writes no attribute onto the host.",
3968
+ "fieldName": "togglePlacement",
3969
+ "inheritedFrom": {
3970
+ "name": "HelixHeadlessAppHeader",
3971
+ "module": "src/app-header/root/app-header-root.ts"
3972
+ }
3751
3973
  }
3752
3974
  ],
3753
3975
  "superclass": {
@@ -3798,6 +4020,56 @@
3798
4020
  },
3799
4021
  "tagName": "helix-app-header",
3800
4022
  "customElement": true,
4023
+ "events": [
4024
+ {
4025
+ "name": "toggle",
4026
+ "type": {
4027
+ "text": "ToggleEvent"
4028
+ },
4029
+ "description": "The folded region opened or closed. The event carries `newState` and `oldState`.",
4030
+ "inheritedFrom": {
4031
+ "name": "MixinControllerOpen",
4032
+ "module": "src/mixins/mixin-controller-open/mixin-controller-open.ts"
4033
+ },
4034
+ "reactProp": "ontoggle"
4035
+ },
4036
+ {
4037
+ "type": {
4038
+ "text": "HelixBeforeCloseEvent"
4039
+ },
4040
+ "description": "The folded region is about to close. Cancelable: cancel it to keep it open.",
4041
+ "name": "helix-before-close",
4042
+ "reactProp": "onhelix-before-close",
4043
+ "inheritedFrom": {
4044
+ "name": "HelixHeadlessAppHeader",
4045
+ "module": "src/app-header/root/app-header-root.ts"
4046
+ }
4047
+ },
4048
+ {
4049
+ "type": {
4050
+ "text": "HelixBeforeOpenEvent"
4051
+ },
4052
+ "description": "The folded region is about to open. Cancelable: cancel it to keep it closed.",
4053
+ "name": "helix-before-open",
4054
+ "reactProp": "onhelix-before-open",
4055
+ "inheritedFrom": {
4056
+ "name": "HelixHeadlessAppHeader",
4057
+ "module": "src/app-header/root/app-header-root.ts"
4058
+ }
4059
+ },
4060
+ {
4061
+ "type": {
4062
+ "text": "HelixScrolledEvent"
4063
+ },
4064
+ "description": "Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener.",
4065
+ "name": "helix-scrolled",
4066
+ "reactProp": "onhelix-scrolled",
4067
+ "inheritedFrom": {
4068
+ "name": "HelixHeadlessAppHeader",
4069
+ "module": "src/app-header/root/app-header-root.ts"
4070
+ }
4071
+ }
4072
+ ],
3801
4073
  "cssParts": [
3802
4074
  {
3803
4075
  "description": "The middle region.",
@@ -3848,20 +4120,6 @@
3848
4120
  }
3849
4121
  }
3850
4122
  ],
3851
- "events": [
3852
- {
3853
- "type": {
3854
- "text": "HelixScrolledEvent"
3855
- },
3856
- "description": "Fired when the page crosses the scroll threshold, with the new state. A custom state cannot be observed the way an attribute can, so listen for this event to follow it. The event uses the header's own threshold and hysteresis, so you do not need a second scroll listener.",
3857
- "name": "helix-scrolled",
3858
- "reactProp": "onhelix-scrolled",
3859
- "inheritedFrom": {
3860
- "name": "HelixHeadlessAppHeader",
3861
- "module": "src/app-header/root/app-header-root.ts"
3862
- }
3863
- }
3864
- ],
3865
4123
  "cssStates": [
3866
4124
  {
3867
4125
  "description": "While the bar is narrower than `fold-below`, and the middle region is behind the toggle.",
@@ -14249,6 +14507,20 @@
14249
14507
  "module": "src/button-group/root/button-group-root.ts"
14250
14508
  }
14251
14509
  },
14510
+ {
14511
+ "kind": "field",
14512
+ "name": "disallowEmptySelection",
14513
+ "type": {
14514
+ "text": "boolean"
14515
+ },
14516
+ "default": "false",
14517
+ "description": "Keeps at least one button pressed once one is, as React Aria's\n`disallowEmptySelection`: a press that would leave none pressed is\nrefused.",
14518
+ "attribute": "disallow-empty-selection",
14519
+ "inheritedFrom": {
14520
+ "name": "HelixHeadlessButtonGroup",
14521
+ "module": "src/button-group/root/button-group-root.ts"
14522
+ }
14523
+ },
14252
14524
  {
14253
14525
  "kind": "field",
14254
14526
  "name": "label",
@@ -14859,6 +15131,19 @@
14859
15131
  "description": "Whether the buttons are one bar or a spaced row.\n\nJoined by default: one control made of parts, sharing borders, reading as a\nsegmented bar.\n\n`spaced` is the same set with air between them, for a row of related but\nseparate actions. The semantics and the joining are separate questions:\n`role=\"group\"` and a shared name are what make a set of buttons a set, and\n`helix-flex` gives the spacing without the group.",
14860
15132
  "fieldName": "variant"
14861
15133
  },
15134
+ {
15135
+ "name": "disallow-empty-selection",
15136
+ "type": {
15137
+ "text": "boolean"
15138
+ },
15139
+ "default": "false",
15140
+ "description": "Keeps at least one button pressed once one is, as React Aria's\n`disallowEmptySelection`: a press that would leave none pressed is\nrefused.",
15141
+ "fieldName": "disallowEmptySelection",
15142
+ "inheritedFrom": {
15143
+ "name": "HelixHeadlessButtonGroup",
15144
+ "module": "src/button-group/root/button-group-root.ts"
15145
+ }
15146
+ },
14862
15147
  {
14863
15148
  "name": "label",
14864
15149
  "type": {
@@ -16761,6 +17046,14 @@
16761
17046
  "module": "src/button/root/button-root.ts"
16762
17047
  }
16763
17048
  },
17049
+ {
17050
+ "description": "A Button Group in a selection mode has this button pressed.",
17051
+ "name": "pressed",
17052
+ "inheritedFrom": {
17053
+ "name": "HelixHeadlessButton",
17054
+ "module": "src/button/root/button-root.ts"
17055
+ }
17056
+ },
16764
17057
  {
16765
17058
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
16766
17059
  "name": "settled",
@@ -42648,6 +42941,20 @@
42648
42941
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
42649
42942
  }
42650
42943
  },
42944
+ {
42945
+ "kind": "field",
42946
+ "name": "touched",
42947
+ "type": {
42948
+ "text": "boolean"
42949
+ },
42950
+ "privacy": "private",
42951
+ "default": "false",
42952
+ "description": "Whether the reader has committed an answer, or a form has refused the\npicker. A reset forgets it.",
42953
+ "inheritedFrom": {
42954
+ "name": "MixinPickerFeedback",
42955
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
42956
+ }
42957
+ },
42651
42958
  {
42652
42959
  "kind": "field",
42653
42960
  "name": "marked",
@@ -42655,13 +42962,44 @@
42655
42962
  "text": "boolean"
42656
42963
  },
42657
42964
  "privacy": "protected",
42658
- "description": "Whether a reader is told the answer is wrong: `invalid`, or `feedback`.",
42965
+ "description": "Whether a reader is told the answer is wrong: `invalid`, `feedback`, a\nheld answer the picker refuses, or a missing answer once the reader has\ncommitted one or a form has refused the picker.\n\n**A refused answer is marked at once, and a missing one waits**, as\nChromium's tree does for native controls: a time input holding a time\npast its `max` reports invalid on load, and an empty required text field\ndoes not, since the reader already hears that it is required. Measured\nbefore this on Time Picker: `value=\"13:00\" max=\"12:00\"` reported\n`rangeOverflow` while the list said nothing and `:state(invalid)` was off.",
42966
+ "readonly": true,
42967
+ "inheritedFrom": {
42968
+ "name": "MixinPickerFeedback",
42969
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
42970
+ }
42971
+ },
42972
+ {
42973
+ "kind": "field",
42974
+ "name": "failure",
42975
+ "type": {
42976
+ "text": "'missing' | 'refused' | undefined"
42977
+ },
42978
+ "privacy": "protected",
42979
+ "description": "What the picker's own validation finds: `missing`, `refused`, or\nnothing, which is what a picker that does not answer it reports.",
42659
42980
  "readonly": true,
42660
42981
  "inheritedFrom": {
42661
42982
  "name": "MixinPickerFeedback",
42662
42983
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
42663
42984
  }
42664
42985
  },
42986
+ {
42987
+ "kind": "method",
42988
+ "name": "formResetCallback",
42989
+ "return": {
42990
+ "type": {
42991
+ "text": "void"
42992
+ }
42993
+ },
42994
+ "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
42995
+ "inheritedFrom": {
42996
+ "name": "HelixFormElement",
42997
+ "module": "src/helix-form-element/helix-form-element.ts"
42998
+ },
42999
+ "type": {
43000
+ "text": "formResetCallback() => void"
43001
+ }
43002
+ },
42665
43003
  {
42666
43004
  "kind": "method",
42667
43005
  "name": "renderPickerFeedback",
@@ -42787,23 +43125,6 @@
42787
43125
  "module": "src/mixins/mixin-controller-value/mixin-controller-value.ts"
42788
43126
  }
42789
43127
  },
42790
- {
42791
- "kind": "method",
42792
- "name": "formResetCallback",
42793
- "return": {
42794
- "type": {
42795
- "text": "void"
42796
- }
42797
- },
42798
- "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
42799
- "inheritedFrom": {
42800
- "name": "HelixFormElement",
42801
- "module": "src/helix-form-element/helix-form-element.ts"
42802
- },
42803
- "type": {
42804
- "text": "formResetCallback() => void"
42805
- }
42806
- },
42807
43128
  {
42808
43129
  "kind": "method",
42809
43130
  "name": "formStateRestoreCallback",
@@ -53520,6 +53841,14 @@
53520
53841
  "module": "src/button/root/button-root.ts"
53521
53842
  }
53522
53843
  },
53844
+ {
53845
+ "description": "A Button Group in a selection mode has this button pressed.",
53846
+ "name": "pressed",
53847
+ "inheritedFrom": {
53848
+ "name": "HelixHeadlessButton",
53849
+ "module": "src/button/root/button-root.ts"
53850
+ }
53851
+ },
53523
53852
  {
53524
53853
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
53525
53854
  "name": "settled",
@@ -59117,6 +59446,40 @@
59117
59446
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59118
59447
  }
59119
59448
  },
59449
+ {
59450
+ "kind": "field",
59451
+ "name": "rangeEndLabel",
59452
+ "type": {
59453
+ "text": "string"
59454
+ },
59455
+ "default": "'End'",
59456
+ "description": "What a screen reader hears before the segments of a range's second date\nor time, after each segment's own name.",
59457
+ "attribute": "range-end-label",
59458
+ "helix": {
59459
+ "words": true
59460
+ },
59461
+ "inheritedFrom": {
59462
+ "name": "MixinSegmentedField",
59463
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59464
+ }
59465
+ },
59466
+ {
59467
+ "kind": "field",
59468
+ "name": "rangeStartLabel",
59469
+ "type": {
59470
+ "text": "string"
59471
+ },
59472
+ "default": "'Start'",
59473
+ "description": "What a screen reader hears before the segments of a range's first date\nor time, after each segment's own name: \"month, Start, Stay\".",
59474
+ "attribute": "range-start-label",
59475
+ "helix": {
59476
+ "words": true
59477
+ },
59478
+ "inheritedFrom": {
59479
+ "name": "MixinSegmentedField",
59480
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59481
+ }
59482
+ },
59120
59483
  {
59121
59484
  "kind": "field",
59122
59485
  "name": "segmented",
@@ -59135,11 +59498,11 @@
59135
59498
  "kind": "field",
59136
59499
  "name": "parts",
59137
59500
  "type": {
59138
- "text": "Segments"
59501
+ "text": "Segments[]"
59139
59502
  },
59140
59503
  "privacy": "private",
59141
- "default": "{}",
59142
- "description": "The parts set so far, which may be fewer than a whole value.",
59504
+ "default": "[{}]",
59505
+ "description": "The parts set so far in each row, which may be fewer than a whole\nvalue: one row, or two for a range.",
59143
59506
  "inheritedFrom": {
59144
59507
  "name": "MixinSegmentedField",
59145
59508
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
@@ -59198,6 +59561,35 @@
59198
59561
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59199
59562
  }
59200
59563
  },
59564
+ {
59565
+ "kind": "field",
59566
+ "name": "opener",
59567
+ "type": {
59568
+ "text": "HTMLElement | undefined"
59569
+ },
59570
+ "privacy": "private",
59571
+ "default": "undefined",
59572
+ "description": "The segment Alt+Down opened the picker from, which focus goes back to.",
59573
+ "inheritedFrom": {
59574
+ "name": "MixinSegmentedField",
59575
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59576
+ }
59577
+ },
59578
+ {
59579
+ "kind": "method",
59580
+ "name": "returnFocus",
59581
+ "privacy": "protected",
59582
+ "return": {
59583
+ "type": {
59584
+ "text": "void"
59585
+ }
59586
+ },
59587
+ "description": "Puts focus back on the segment the picker was opened from, as the\ntrigger takes it back to the field. Measured before this: Escape after\nAlt+Down on AM/PM put focus on the hour.",
59588
+ "inheritedFrom": {
59589
+ "name": "MixinPickerField",
59590
+ "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
59591
+ }
59592
+ },
59201
59593
  {
59202
59594
  "kind": "field",
59203
59595
  "name": "segmentable",
@@ -59226,6 +59618,66 @@
59226
59618
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59227
59619
  }
59228
59620
  },
59621
+ {
59622
+ "kind": "field",
59623
+ "name": "segmentGroups",
59624
+ "type": {
59625
+ "text": "number"
59626
+ },
59627
+ "privacy": "protected",
59628
+ "description": "How many rows of segments the value takes: two for a range, one otherwise.",
59629
+ "readonly": true,
59630
+ "inheritedFrom": {
59631
+ "name": "MixinSegmentedField",
59632
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59633
+ }
59634
+ },
59635
+ {
59636
+ "kind": "method",
59637
+ "name": "joined",
59638
+ "privacy": "private",
59639
+ "return": {
59640
+ "type": {
59641
+ "text": "string"
59642
+ }
59643
+ },
59644
+ "parameters": [
59645
+ {
59646
+ "name": "rows",
59647
+ "type": {
59648
+ "text": "readonly Segments[]"
59649
+ }
59650
+ }
59651
+ ],
59652
+ "description": "The value the rows add up to: each row's, joined by commas, or empty while any row is not whole.",
59653
+ "inheritedFrom": {
59654
+ "name": "MixinSegmentedField",
59655
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59656
+ }
59657
+ },
59658
+ {
59659
+ "kind": "method",
59660
+ "name": "rowsOf",
59661
+ "privacy": "private",
59662
+ "return": {
59663
+ "type": {
59664
+ "text": "Segments[]"
59665
+ }
59666
+ },
59667
+ "parameters": [
59668
+ {
59669
+ "name": "value",
59670
+ "type": {
59671
+ "text": "string"
59672
+ }
59673
+ }
59674
+ ],
59675
+ "description": "The rows a value names, one per row, empty where it names none.",
59676
+ "inheritedFrom": {
59677
+ "name": "MixinSegmentedField",
59678
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59679
+ }
59680
+ },
59229
59681
  {
59230
59682
  "kind": "field",
59231
59683
  "name": "segmentedKind",
@@ -59268,6 +59720,20 @@
59268
59720
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59269
59721
  }
59270
59722
  },
59723
+ {
59724
+ "kind": "field",
59725
+ "name": "segmentSystem",
59726
+ "type": {
59727
+ "text": "MonthSystem | undefined"
59728
+ },
59729
+ "privacy": "protected",
59730
+ "description": "The calendar a date's parts are counted in, or `undefined` for the Gregorian calendar.",
59731
+ "readonly": true,
59732
+ "inheritedFrom": {
59733
+ "name": "MixinSegmentedField",
59734
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
59735
+ }
59736
+ },
59271
59737
  {
59272
59738
  "kind": "field",
59273
59739
  "name": "layout",
@@ -59333,6 +59799,12 @@
59333
59799
  }
59334
59800
  },
59335
59801
  "parameters": [
59802
+ {
59803
+ "name": "row",
59804
+ "type": {
59805
+ "text": "number"
59806
+ }
59807
+ },
59336
59808
  {
59337
59809
  "name": "next",
59338
59810
  "type": {
@@ -59836,21 +60308,6 @@
59836
60308
  "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
59837
60309
  }
59838
60310
  },
59839
- {
59840
- "kind": "method",
59841
- "name": "returnFocus",
59842
- "privacy": "protected",
59843
- "return": {
59844
- "type": {
59845
- "text": "void"
59846
- }
59847
- },
59848
- "description": "Puts the caret back in the field without the field reopening the panel.\n\nThe anchor rather than the text, which is the trigger where there is no\ntext: Color Input's swatch dropped focus to the body on Escape.",
59849
- "inheritedFrom": {
59850
- "name": "MixinPickerField",
59851
- "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
59852
- }
59853
- },
59854
60311
  {
59855
60312
  "kind": "method",
59856
60313
  "name": "focus",
@@ -60748,7 +61205,7 @@
60748
61205
  "text": "string"
60749
61206
  },
60750
61207
  "default": "''",
60751
- "description": "What the browser may autofill here, as one of the platform's own tokens.\n\nEmpty leaves the attribute off, which is the browser's default and is what\nlets autofill work at all: hardcoding `off` here means a birthday or a\npostal code can never be filled in for a reader.",
61208
+ "description": "What the browser may autofill here, as one of the platform's own tokens,\nsuch as `bday`.\n\nEmpty leaves the attribute off, which is the browser's default and is what\nlets autofill work at all: hardcoding `off` here means a birthday or a\npostal code can never be filled in for a reader. With `segmented`, a\nhidden native date input carries it, since no browser fills the segments.",
60752
61209
  "attribute": "autocomplete",
60753
61210
  "inheritedFrom": {
60754
61211
  "name": "HelixHeadlessDateInput",
@@ -60759,9 +61216,9 @@
60759
61216
  "kind": "field",
60760
61217
  "name": "calendar",
60761
61218
  "type": {
60762
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | undefined"
61219
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
60763
61220
  },
60764
- "description": "The calendar the written date and the calendar's days are in: `gregory`,\n`buddhist`, `japanese`, `roc`, or `iso8601`.\n\nAbsent is the locale's own where it is one of the five, and `gregory` for\nevery other, as Date Picker's `calendar` is. The value is `YYYY-MM-DD` in\nevery calendar, and a focused field is ISO in every calendar. In\n`segmented`, the segments are the Gregorian day, month, and year, in the\norder the locale writes them, or ISO order for `iso8601`.",
61221
+ "description": "The calendar the written date, the segments, and the calendar's days are\nin: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar\nwith months of its own that Date Picker's `calendar` names, such as\n`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.\n\nAbsent is the locale's own where its months are the Gregorian months, and\n`gregory` for every other, as Date Picker's `calendar` is. The value is\n`YYYY-MM-DD` in every calendar, and a focused text field is ISO in every\ncalendar. In `segmented`, the segments are the day, month, and year as\nthe calendar counts them, in the order the locale writes them: Mehr 14,\n1405 is month 7 and day 14 of 1405 under `persian`. Under the five with\nGregorian months they are the Gregorian day, month, and year, or ISO order\nfor `iso8601`.",
60765
61222
  "attribute": "calendar",
60766
61223
  "inheritedFrom": {
60767
61224
  "name": "HelixHeadlessDateInput",
@@ -60785,6 +61242,37 @@
60785
61242
  "module": "src/date-input/root/date-input-root.ts"
60786
61243
  }
60787
61244
  },
61245
+ {
61246
+ "kind": "field",
61247
+ "name": "clearable",
61248
+ "type": {
61249
+ "text": "boolean"
61250
+ },
61251
+ "default": "false",
61252
+ "description": "Whether the field shows a button that empties it, as Input's `clearable`\ndoes. Shown only while the field holds something to clear and is neither\ndisabled nor read-only.",
61253
+ "attribute": "clearable",
61254
+ "inheritedFrom": {
61255
+ "name": "HelixHeadlessDateInput",
61256
+ "module": "src/date-input/root/date-input-root.ts"
61257
+ }
61258
+ },
61259
+ {
61260
+ "kind": "field",
61261
+ "name": "clearLabel",
61262
+ "type": {
61263
+ "text": "string"
61264
+ },
61265
+ "default": "'Clear'",
61266
+ "description": "The accessible name of the clear button, which shows only an icon.",
61267
+ "attribute": "clear-label",
61268
+ "helix": {
61269
+ "words": true
61270
+ },
61271
+ "inheritedFrom": {
61272
+ "name": "HelixHeadlessDateInput",
61273
+ "module": "src/date-input/root/date-input-root.ts"
61274
+ }
61275
+ },
60788
61276
  {
60789
61277
  "kind": "field",
60790
61278
  "name": "dateStyle",
@@ -60792,7 +61280,7 @@
60792
61280
  "text": "'full' | 'iso' | 'long' | 'medium' | 'short'"
60793
61281
  },
60794
61282
  "default": "'long'",
60795
- "description": "How a date is written in the field: `short` through `full`, or ISO.\n\n**The field renders when it is idle and holds the value when it is being\nedited.** A written date is a rendering, and a document being edited must\nnot be a rendering of something else: `Intl.DateTimeFormat` formats and does\nnot parse, so `4 August 2026` cannot be typed back, and writing a parser per\nlocale is how a field ends up rejecting what it just displayed.\n\nThe way out is not to choose between the two but to separate them in time.\nIdle, the field shows `4 August 2026`, which is what a date is for reading.\nFocused, it shows `2026-08-04`, which is what a date is for typing, and it\ngoes back on the way out. Nothing parses a rendering, and nothing is\nread-only, which is what an earlier version of this settled for.\n\nA range is the exception that needs no swap: the dash between its two dates\nis a separator this element understands, so that much reads back either way.\n\n`iso` turns the rendering off, for a field whose reader is entering data\nrather than reading it, or where the ISO form is itself the point.\n\nThe value is always `YYYY-MM-DD` regardless, because that is what a form\nsubmits and what `min` and `max` compare against.",
61283
+ "description": "How a date is written in the field: `short` through `full`, or ISO.\n\n**The field renders when it is idle and holds the value when it is being\nedited.** A written date is a rendering, and a document being edited must\nnot be a rendering of something else: `Intl.DateTimeFormat` formats and does\nnot parse, so a rendering such as `Tuesday, August 4, 2026` is no text to\nedit. The field does read a date typed in the locale's order and digits as\nyou leave it, which covers what a reader types.\n\nThe way out is not to choose between the two but to separate them in time.\nIdle, the field shows `4 August 2026`, which is what a date is for reading.\nFocused, it shows `2026-08-04`, which is what a date is for typing, and it\ngoes back on the way out. Nothing parses a rendering, and nothing is\nread-only, which is what an earlier version of this settled for.\n\nA range is the exception that needs no swap: the dash between its two dates\nis a separator this element understands, so that much reads back either way.\n\n`iso` turns the rendering off, for a field whose reader is entering data\nrather than reading it, or where the ISO form is itself the point.\n\nThe value is always `YYYY-MM-DD` regardless, because that is what a form\nsubmits and what `min` and `max` compare against.",
60796
61284
  "attribute": "date-style",
60797
61285
  "inheritedFrom": {
60798
61286
  "name": "HelixHeadlessDateInput",
@@ -61193,6 +61681,23 @@
61193
61681
  "module": "src/date-input/root/date-input-root.ts"
61194
61682
  }
61195
61683
  },
61684
+ {
61685
+ "kind": "field",
61686
+ "name": "selectionLabel",
61687
+ "type": {
61688
+ "text": "string"
61689
+ },
61690
+ "default": "'{kind, select, date {Selected date: {start}} start {Range starts {start}. Choose the day it ends.} range {Selected range: {start} to {end}} other {{count, plural, one {# date selected} other {# dates selected}}}}'",
61691
+ "description": "What a screen reader hears about the dates chosen in the calendar, with\n`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's\n`selection-label` says.",
61692
+ "attribute": "selection-label",
61693
+ "helix": {
61694
+ "words": true
61695
+ },
61696
+ "inheritedFrom": {
61697
+ "name": "HelixHeadlessDateInput",
61698
+ "module": "src/date-input/root/date-input-root.ts"
61699
+ }
61700
+ },
61196
61701
  {
61197
61702
  "kind": "field",
61198
61703
  "name": "step",
@@ -61224,6 +61729,20 @@
61224
61729
  "module": "src/date-input/root/date-input-root.ts"
61225
61730
  }
61226
61731
  },
61732
+ {
61733
+ "kind": "field",
61734
+ "name": "timeZone",
61735
+ "type": {
61736
+ "text": "string"
61737
+ },
61738
+ "default": "''",
61739
+ "description": "The time zone today is read in, such as `America/New_York`, handed to the\ncalendar: the day marked today, and the month an empty field opens on.\nEmpty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone.",
61740
+ "attribute": "time-zone",
61741
+ "inheritedFrom": {
61742
+ "name": "HelixHeadlessDateInput",
61743
+ "module": "src/date-input/root/date-input-root.ts"
61744
+ }
61745
+ },
61227
61746
  {
61228
61747
  "kind": "field",
61229
61748
  "name": "triggerLabel",
@@ -61303,6 +61822,40 @@
61303
61822
  "module": "src/date-input/root/date-input-root.ts"
61304
61823
  }
61305
61824
  },
61825
+ {
61826
+ "kind": "method",
61827
+ "name": "read",
61828
+ "privacy": "private",
61829
+ "return": {
61830
+ "type": {
61831
+ "text": "string"
61832
+ }
61833
+ },
61834
+ "parameters": [
61835
+ {
61836
+ "name": "text",
61837
+ "type": {
61838
+ "text": "string"
61839
+ }
61840
+ }
61841
+ ],
61842
+ "description": "A date as the reader wrote it, as `YYYY-MM-DD`: ISO as it is, and the\norder, the digits, and the month names of the field's locale and calendar\nread back, so `8/4/2026` in `en-US` is August 4, 2026. Empty where it is\nno date.",
61843
+ "inheritedFrom": {
61844
+ "name": "HelixHeadlessDateInput",
61845
+ "module": "src/date-input/root/date-input-root.ts"
61846
+ }
61847
+ },
61848
+ {
61849
+ "kind": "field",
61850
+ "name": "handleTextCommit",
61851
+ "privacy": "private",
61852
+ "readonly": true,
61853
+ "description": "The text the reader leaves, read in the field's locale: a date written as\nthe locale writes one becomes the value, as ISO, when the field commits.\nNot on each key, where `8/4/202` is a date in the year 202 and taking it\nwould move the caret mid-year.",
61854
+ "inheritedFrom": {
61855
+ "name": "HelixHeadlessDateInput",
61856
+ "module": "src/date-input/root/date-input-root.ts"
61857
+ }
61858
+ },
61306
61859
  {
61307
61860
  "kind": "field",
61308
61861
  "name": "handleDraftKey",
@@ -61380,6 +61933,23 @@
61380
61933
  "module": "src/date-input/root/date-input-root.ts"
61381
61934
  }
61382
61935
  },
61936
+ {
61937
+ "kind": "field",
61938
+ "name": "unreadableMessage",
61939
+ "type": {
61940
+ "text": "string"
61941
+ },
61942
+ "default": "'{mode, select, single {Enter a date as YYYY-MM-DD.} other {Enter dates as YYYY-MM-DD, separated by commas.}}'",
61943
+ "description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`.",
61944
+ "attribute": "unreadable-message",
61945
+ "helix": {
61946
+ "words": true
61947
+ },
61948
+ "inheritedFrom": {
61949
+ "name": "HelixHeadlessDateInput",
61950
+ "module": "src/date-input/root/date-input-root.ts"
61951
+ }
61952
+ },
61383
61953
  {
61384
61954
  "kind": "field",
61385
61955
  "name": "yearViewLabel",
@@ -61483,6 +62053,71 @@
61483
62053
  "module": "src/date-input/root/date-input-root.ts"
61484
62054
  }
61485
62055
  },
62056
+ {
62057
+ "kind": "method",
62058
+ "name": "renderAutofill",
62059
+ "privacy": "private",
62060
+ "return": {
62061
+ "type": {
62062
+ "text": "TemplateResult | typeof nothing"
62063
+ }
62064
+ },
62065
+ "description": "A native date input a browser's autofill can fill, where the field shows\nsegments: a row of spans that no browser fills. React Aria's\n`HiddenDateInput` is the same answer for its segmented field.\n\nDrawn and never seen, a pixel and see-through, as Select's hidden select\nis, since Safari skips a field that is `display: none`. `aria-hidden` and\nout of the tab order, and in this shadow root, so the form still takes\nthe value once, from the host. A fill is taken as a pick, with `input`\nand `change` from the host.",
62066
+ "inheritedFrom": {
62067
+ "name": "HelixHeadlessDateInput",
62068
+ "module": "src/date-input/root/date-input-root.ts"
62069
+ }
62070
+ },
62071
+ {
62072
+ "kind": "field",
62073
+ "name": "handleAutofill",
62074
+ "privacy": "private",
62075
+ "readonly": true,
62076
+ "inheritedFrom": {
62077
+ "name": "HelixHeadlessDateInput",
62078
+ "module": "src/date-input/root/date-input-root.ts"
62079
+ }
62080
+ },
62081
+ {
62082
+ "kind": "field",
62083
+ "name": "showsClear",
62084
+ "type": {
62085
+ "text": "boolean"
62086
+ },
62087
+ "privacy": "private",
62088
+ "description": "Whether there is a clear button on screen right now.",
62089
+ "readonly": true,
62090
+ "inheritedFrom": {
62091
+ "name": "HelixHeadlessDateInput",
62092
+ "module": "src/date-input/root/date-input-root.ts"
62093
+ }
62094
+ },
62095
+ {
62096
+ "kind": "field",
62097
+ "name": "handleClear",
62098
+ "privacy": "private",
62099
+ "readonly": true,
62100
+ "description": "Empties the field, through `requestValue` so a consumer who owns the\nvalue decides, then says `change` and `helix-clear` and puts focus back\nin the field, the button having gone.",
62101
+ "inheritedFrom": {
62102
+ "name": "HelixHeadlessDateInput",
62103
+ "module": "src/date-input/root/date-input-root.ts"
62104
+ }
62105
+ },
62106
+ {
62107
+ "kind": "method",
62108
+ "name": "renderClearIcon",
62109
+ "privacy": "protected",
62110
+ "return": {
62111
+ "type": {
62112
+ "text": "TemplateResult"
62113
+ }
62114
+ },
62115
+ "description": "The cross on the clear button, behind a seam a tier can move.",
62116
+ "inheritedFrom": {
62117
+ "name": "HelixHeadlessDateInput",
62118
+ "module": "src/date-input/root/date-input-root.ts"
62119
+ }
62120
+ },
61486
62121
  {
61487
62122
  "kind": "method",
61488
62123
  "name": "renderControl",
@@ -62377,6 +63012,32 @@
62377
63012
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
62378
63013
  }
62379
63014
  },
63015
+ {
63016
+ "name": "range-end-label",
63017
+ "type": {
63018
+ "text": "string"
63019
+ },
63020
+ "default": "'End'",
63021
+ "description": "What a screen reader hears before the segments of a range's second date\nor time, after each segment's own name.",
63022
+ "fieldName": "rangeEndLabel",
63023
+ "inheritedFrom": {
63024
+ "name": "MixinSegmentedField",
63025
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
63026
+ }
63027
+ },
63028
+ {
63029
+ "name": "range-start-label",
63030
+ "type": {
63031
+ "text": "string"
63032
+ },
63033
+ "default": "'Start'",
63034
+ "description": "What a screen reader hears before the segments of a range's first date\nor time, after each segment's own name: \"month, Start, Stay\".",
63035
+ "fieldName": "rangeStartLabel",
63036
+ "inheritedFrom": {
63037
+ "name": "MixinSegmentedField",
63038
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
63039
+ }
63040
+ },
62380
63041
  {
62381
63042
  "name": "segmented",
62382
63043
  "type": {
@@ -62613,7 +63274,7 @@
62613
63274
  "text": "string"
62614
63275
  },
62615
63276
  "default": "''",
62616
- "description": "What the browser may autofill here, as one of the platform's own tokens.\n\nEmpty leaves the attribute off, which is the browser's default and is what\nlets autofill work at all: hardcoding `off` here means a birthday or a\npostal code can never be filled in for a reader.",
63277
+ "description": "What the browser may autofill here, as one of the platform's own tokens,\nsuch as `bday`.\n\nEmpty leaves the attribute off, which is the browser's default and is what\nlets autofill work at all: hardcoding `off` here means a birthday or a\npostal code can never be filled in for a reader. With `segmented`, a\nhidden native date input carries it, since no browser fills the segments.",
62617
63278
  "fieldName": "autocomplete",
62618
63279
  "inheritedFrom": {
62619
63280
  "name": "HelixHeadlessDateInput",
@@ -62623,9 +63284,9 @@
62623
63284
  {
62624
63285
  "name": "calendar",
62625
63286
  "type": {
62626
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | undefined"
63287
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
62627
63288
  },
62628
- "description": "The calendar the written date and the calendar's days are in: `gregory`,\n`buddhist`, `japanese`, `roc`, or `iso8601`.\n\nAbsent is the locale's own where it is one of the five, and `gregory` for\nevery other, as Date Picker's `calendar` is. The value is `YYYY-MM-DD` in\nevery calendar, and a focused field is ISO in every calendar. In\n`segmented`, the segments are the Gregorian day, month, and year, in the\norder the locale writes them, or ISO order for `iso8601`.",
63289
+ "description": "The calendar the written date, the segments, and the calendar's days are\nin: `gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, or a calendar\nwith months of its own that Date Picker's `calendar` names, such as\n`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`.\n\nAbsent is the locale's own where its months are the Gregorian months, and\n`gregory` for every other, as Date Picker's `calendar` is. The value is\n`YYYY-MM-DD` in every calendar, and a focused text field is ISO in every\ncalendar. In `segmented`, the segments are the day, month, and year as\nthe calendar counts them, in the order the locale writes them: Mehr 14,\n1405 is month 7 and day 14 of 1405 under `persian`. Under the five with\nGregorian months they are the Gregorian day, month, and year, or ISO order\nfor `iso8601`.",
62629
63290
  "fieldName": "calendar",
62630
63291
  "inheritedFrom": {
62631
63292
  "name": "HelixHeadlessDateInput",
@@ -62645,13 +63306,39 @@
62645
63306
  "module": "src/date-input/root/date-input-root.ts"
62646
63307
  }
62647
63308
  },
63309
+ {
63310
+ "name": "clearable",
63311
+ "type": {
63312
+ "text": "boolean"
63313
+ },
63314
+ "default": "false",
63315
+ "description": "Whether the field shows a button that empties it, as Input's `clearable`\ndoes. Shown only while the field holds something to clear and is neither\ndisabled nor read-only.",
63316
+ "fieldName": "clearable",
63317
+ "inheritedFrom": {
63318
+ "name": "HelixHeadlessDateInput",
63319
+ "module": "src/date-input/root/date-input-root.ts"
63320
+ }
63321
+ },
63322
+ {
63323
+ "name": "clear-label",
63324
+ "type": {
63325
+ "text": "string"
63326
+ },
63327
+ "default": "'Clear'",
63328
+ "description": "The accessible name of the clear button, which shows only an icon.",
63329
+ "fieldName": "clearLabel",
63330
+ "inheritedFrom": {
63331
+ "name": "HelixHeadlessDateInput",
63332
+ "module": "src/date-input/root/date-input-root.ts"
63333
+ }
63334
+ },
62648
63335
  {
62649
63336
  "name": "date-style",
62650
63337
  "type": {
62651
63338
  "text": "'full' | 'iso' | 'long' | 'medium' | 'short'"
62652
63339
  },
62653
63340
  "default": "'long'",
62654
- "description": "How a date is written in the field: `short` through `full`, or ISO.\n\n**The field renders when it is idle and holds the value when it is being\nedited.** A written date is a rendering, and a document being edited must\nnot be a rendering of something else: `Intl.DateTimeFormat` formats and does\nnot parse, so `4 August 2026` cannot be typed back, and writing a parser per\nlocale is how a field ends up rejecting what it just displayed.\n\nThe way out is not to choose between the two but to separate them in time.\nIdle, the field shows `4 August 2026`, which is what a date is for reading.\nFocused, it shows `2026-08-04`, which is what a date is for typing, and it\ngoes back on the way out. Nothing parses a rendering, and nothing is\nread-only, which is what an earlier version of this settled for.\n\nA range is the exception that needs no swap: the dash between its two dates\nis a separator this element understands, so that much reads back either way.\n\n`iso` turns the rendering off, for a field whose reader is entering data\nrather than reading it, or where the ISO form is itself the point.\n\nThe value is always `YYYY-MM-DD` regardless, because that is what a form\nsubmits and what `min` and `max` compare against.",
63341
+ "description": "How a date is written in the field: `short` through `full`, or ISO.\n\n**The field renders when it is idle and holds the value when it is being\nedited.** A written date is a rendering, and a document being edited must\nnot be a rendering of something else: `Intl.DateTimeFormat` formats and does\nnot parse, so a rendering such as `Tuesday, August 4, 2026` is no text to\nedit. The field does read a date typed in the locale's order and digits as\nyou leave it, which covers what a reader types.\n\nThe way out is not to choose between the two but to separate them in time.\nIdle, the field shows `4 August 2026`, which is what a date is for reading.\nFocused, it shows `2026-08-04`, which is what a date is for typing, and it\ngoes back on the way out. Nothing parses a rendering, and nothing is\nread-only, which is what an earlier version of this settled for.\n\nA range is the exception that needs no swap: the dash between its two dates\nis a separator this element understands, so that much reads back either way.\n\n`iso` turns the rendering off, for a field whose reader is entering data\nrather than reading it, or where the ISO form is itself the point.\n\nThe value is always `YYYY-MM-DD` regardless, because that is what a form\nsubmits and what `min` and `max` compare against.",
62655
63342
  "fieldName": "dateStyle",
62656
63343
  "inheritedFrom": {
62657
63344
  "name": "HelixHeadlessDateInput",
@@ -62928,6 +63615,19 @@
62928
63615
  "module": "src/date-input/root/date-input-root.ts"
62929
63616
  }
62930
63617
  },
63618
+ {
63619
+ "name": "selection-label",
63620
+ "type": {
63621
+ "text": "string"
63622
+ },
63623
+ "default": "'{kind, select, date {Selected date: {start}} start {Range starts {start}. Choose the day it ends.} range {Selected range: {start} to {end}} other {{count, plural, one {# date selected} other {# dates selected}}}}'",
63624
+ "description": "What a screen reader hears about the dates chosen in the calendar, with\n`{kind}`, `{start}`, `{end}` and `{count}` filled in as Date Picker's\n`selection-label` says.",
63625
+ "fieldName": "selectionLabel",
63626
+ "inheritedFrom": {
63627
+ "name": "HelixHeadlessDateInput",
63628
+ "module": "src/date-input/root/date-input-root.ts"
63629
+ }
63630
+ },
62931
63631
  {
62932
63632
  "name": "step",
62933
63633
  "type": {
@@ -62954,6 +63654,19 @@
62954
63654
  "module": "src/date-input/root/date-input-root.ts"
62955
63655
  }
62956
63656
  },
63657
+ {
63658
+ "name": "time-zone",
63659
+ "type": {
63660
+ "text": "string"
63661
+ },
63662
+ "default": "''",
63663
+ "description": "The time zone today is read in, such as `America/New_York`, handed to the\ncalendar: the day marked today, and the month an empty field opens on.\nEmpty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone.",
63664
+ "fieldName": "timeZone",
63665
+ "inheritedFrom": {
63666
+ "name": "HelixHeadlessDateInput",
63667
+ "module": "src/date-input/root/date-input-root.ts"
63668
+ }
63669
+ },
62957
63670
  {
62958
63671
  "name": "trigger-label",
62959
63672
  "type": {
@@ -62980,6 +63693,19 @@
62980
63693
  "module": "src/date-input/root/date-input-root.ts"
62981
63694
  }
62982
63695
  },
63696
+ {
63697
+ "name": "unreadable-message",
63698
+ "type": {
63699
+ "text": "string"
63700
+ },
63701
+ "default": "'{mode, select, single {Enter a date as YYYY-MM-DD.} other {Enter dates as YYYY-MM-DD, separated by commas.}}'",
63702
+ "description": "The message for text that is no date, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`.",
63703
+ "fieldName": "unreadableMessage",
63704
+ "inheritedFrom": {
63705
+ "name": "HelixHeadlessDateInput",
63706
+ "module": "src/date-input/root/date-input-root.ts"
63707
+ }
63708
+ },
62983
63709
  {
62984
63710
  "name": "year-view-label",
62985
63711
  "type": {
@@ -63081,6 +63807,18 @@
63081
63807
  "module": "src/date-input/root/date-input-root.ts"
63082
63808
  }
63083
63809
  },
63810
+ {
63811
+ "type": {
63812
+ "text": "HelixClearEvent"
63813
+ },
63814
+ "description": "Fired after the clear button has emptied the field, after `input` and `change`.",
63815
+ "name": "helix-clear",
63816
+ "reactProp": "onhelix-clear",
63817
+ "inheritedFrom": {
63818
+ "name": "HelixHeadlessDateInput",
63819
+ "module": "src/date-input/root/date-input-root.ts"
63820
+ }
63821
+ },
63084
63822
  {
63085
63823
  "type": {
63086
63824
  "text": "Event"
@@ -63095,6 +63833,14 @@
63095
63833
  }
63096
63834
  ],
63097
63835
  "slots": [
63836
+ {
63837
+ "description": "Replaces the cross on the clear button, under `clearable`.",
63838
+ "name": "clear-icon",
63839
+ "inheritedFrom": {
63840
+ "name": "HelixHeadlessDateInput",
63841
+ "module": "src/date-input/root/date-input-root.ts"
63842
+ }
63843
+ },
63098
63844
  {
63099
63845
  "description": "Content after the date, before the trigger, such as a clear button.",
63100
63846
  "name": "end",
@@ -63177,6 +63923,14 @@
63177
63923
  }
63178
63924
  ],
63179
63925
  "cssParts": [
63926
+ {
63927
+ "description": "The button that empties the field, under `clearable`, while it holds a date.",
63928
+ "name": "clear",
63929
+ "inheritedFrom": {
63930
+ "name": "HelixHeadlessDateInput",
63931
+ "module": "src/date-input/root/date-input-root.ts"
63932
+ }
63933
+ },
63180
63934
  {
63181
63935
  "description": "The text input.",
63182
63936
  "name": "control",
@@ -63505,6 +64259,14 @@
63505
64259
  "module": "src/date-input/root/date-input-root.ts"
63506
64260
  }
63507
64261
  },
64262
+ {
64263
+ "description": "The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.",
64264
+ "name": "picker-selection",
64265
+ "inheritedFrom": {
64266
+ "name": "HelixHeadlessDateInput",
64267
+ "module": "src/date-input/root/date-input-root.ts"
64268
+ }
64269
+ },
63508
64270
  {
63509
64271
  "description": "One row of days.",
63510
64272
  "name": "picker-week",
@@ -63521,6 +64283,14 @@
63521
64283
  "module": "src/date-input/root/date-input-root.ts"
63522
64284
  }
63523
64285
  },
64286
+ {
64287
+ "description": "The dash between a range's two rows of segments, in `segmented`, beside `literal`.",
64288
+ "name": "range-separator",
64289
+ "inheritedFrom": {
64290
+ "name": "HelixHeadlessDateInput",
64291
+ "module": "src/date-input/root/date-input-root.ts"
64292
+ }
64293
+ },
63524
64294
  {
63525
64295
  "description": "The count of dates beyond the ones shown. It is a `<button>` with `expandable` and a `<span>` without it.",
63526
64296
  "name": "rest",
@@ -63587,6 +64357,14 @@
63587
64357
  }
63588
64358
  ],
63589
64359
  "cssStates": [
64360
+ {
64361
+ "description": "The field holds no date.",
64362
+ "name": "blank",
64363
+ "inheritedFrom": {
64364
+ "name": "HelixHeadlessDateInput",
64365
+ "module": "src/date-input/root/date-input-root.ts"
64366
+ }
64367
+ },
63590
64368
  {
63591
64369
  "description": "The field has an error to show, from the browser's validation or from your `feedback`.",
63592
64370
  "name": "invalid",
@@ -63699,6 +64477,10 @@
63699
64477
  "description": "Band behind the days in a range.",
63700
64478
  "name": "--date-picker-range-color"
63701
64479
  },
64480
+ {
64481
+ "description": "Band behind the days a waiting range is drawn to, before its second end is chosen.",
64482
+ "name": "--date-picker-range-preview-color"
64483
+ },
63702
64484
  {
63703
64485
  "description": "Height of a week row.",
63704
64486
  "name": "--date-picker-row-size"
@@ -63750,6 +64532,20 @@
63750
64532
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
63751
64533
  }
63752
64534
  },
64535
+ {
64536
+ "kind": "field",
64537
+ "name": "touched",
64538
+ "type": {
64539
+ "text": "boolean"
64540
+ },
64541
+ "privacy": "private",
64542
+ "default": "false",
64543
+ "description": "Whether the reader has committed an answer, or a form has refused the\npicker. A reset forgets it.",
64544
+ "inheritedFrom": {
64545
+ "name": "MixinPickerFeedback",
64546
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
64547
+ }
64548
+ },
63753
64549
  {
63754
64550
  "kind": "field",
63755
64551
  "name": "marked",
@@ -63757,13 +64553,44 @@
63757
64553
  "text": "boolean"
63758
64554
  },
63759
64555
  "privacy": "protected",
63760
- "description": "Whether a reader is told the answer is wrong: `invalid`, or `feedback`.",
64556
+ "description": "Whether a reader is told the answer is wrong: `invalid`, `feedback`, a\nheld answer the picker refuses, or a missing answer once the reader has\ncommitted one or a form has refused the picker.\n\n**A refused answer is marked at once, and a missing one waits**, as\nChromium's tree does for native controls: a time input holding a time\npast its `max` reports invalid on load, and an empty required text field\ndoes not, since the reader already hears that it is required. Measured\nbefore this on Time Picker: `value=\"13:00\" max=\"12:00\"` reported\n`rangeOverflow` while the list said nothing and `:state(invalid)` was off.",
64557
+ "readonly": true,
64558
+ "inheritedFrom": {
64559
+ "name": "MixinPickerFeedback",
64560
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
64561
+ }
64562
+ },
64563
+ {
64564
+ "kind": "field",
64565
+ "name": "failure",
64566
+ "type": {
64567
+ "text": "'missing' | 'refused' | undefined"
64568
+ },
64569
+ "privacy": "protected",
64570
+ "description": "What the picker's own validation finds: `missing`, `refused`, or\nnothing, which is what a picker that does not answer it reports.",
63761
64571
  "readonly": true,
63762
64572
  "inheritedFrom": {
63763
64573
  "name": "MixinPickerFeedback",
63764
64574
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
63765
64575
  }
63766
64576
  },
64577
+ {
64578
+ "kind": "method",
64579
+ "name": "formResetCallback",
64580
+ "return": {
64581
+ "type": {
64582
+ "text": "void"
64583
+ }
64584
+ },
64585
+ "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
64586
+ "inheritedFrom": {
64587
+ "name": "HelixFormElement",
64588
+ "module": "src/helix-form-element/helix-form-element.ts"
64589
+ },
64590
+ "type": {
64591
+ "text": "formResetCallback() => void"
64592
+ }
64593
+ },
63767
64594
  {
63768
64595
  "kind": "method",
63769
64596
  "name": "renderPickerFeedback",
@@ -63889,23 +64716,6 @@
63889
64716
  "module": "src/mixins/mixin-controller-value/mixin-controller-value.ts"
63890
64717
  }
63891
64718
  },
63892
- {
63893
- "kind": "method",
63894
- "name": "formResetCallback",
63895
- "return": {
63896
- "type": {
63897
- "text": "void"
63898
- }
63899
- },
63900
- "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
63901
- "inheritedFrom": {
63902
- "name": "HelixFormElement",
63903
- "module": "src/helix-form-element/helix-form-element.ts"
63904
- },
63905
- "type": {
63906
- "text": "formResetCallback() => void"
63907
- }
63908
- },
63909
64719
  {
63910
64720
  "kind": "method",
63911
64721
  "name": "formStateRestoreCallback",
@@ -63966,9 +64776,9 @@
63966
64776
  "kind": "field",
63967
64777
  "name": "calendar",
63968
64778
  "type": {
63969
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'coptic' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic-civil' | 'islamic-umalqura' | 'persian' | undefined"
64779
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
63970
64780
  },
63971
- "description": "The calendar the heading, the days, and the months are written in.\n\n`gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five\nwhose months are the Gregorian months. Absent is the locale's own where\nit is one of the five, such as `buddhist` for `th-TH` or `japanese` for\n`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`\nfor `fa-IR`.\n\n`persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`, `ethiopic`,\n`coptic`, and `indian` draw a calendar with months of its own, as React\nAria's calendars do: each grid is one of that calendar's months, the\nHebrew leap month and Ethiopia's five-day thirteenth month included, and\nPrevious, Next and the page keys move by those months. `month` and\n`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The\nheading stays text, as the months and years views are drawn in Gregorian\nmonths only. The value is `YYYY-MM-DD` in every calendar.",
64781
+ "description": "The calendar the heading, the days, and the months are written in.\n\n`gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five\nwhose months are the Gregorian months. Absent is the locale's own where\nit is one of the five, such as `buddhist` for `th-TH` or `japanese` for\n`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`\nfor `fa-IR`.\n\n`persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,\n`islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,\n`indian`, `chinese`, and `dangi` draw a calendar with months of its own,\nas React Aria's calendars do: each grid is one of that calendar's months,\nthe Hebrew and Chinese leap months and Ethiopia's five-day thirteenth\nmonth included, and Previous, Next and the page keys move by those\nmonths. With `max-view`, the months view shows that calendar's year, of\ntwelve or thirteen months, and the years view its years. `month` and\n`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The\nvalue is `YYYY-MM-DD` in every calendar.",
63972
64782
  "attribute": "calendar",
63973
64783
  "inheritedFrom": {
63974
64784
  "name": "HelixHeadlessDatePicker",
@@ -64168,6 +64978,20 @@
64168
64978
  "module": "src/date-picker/root/date-picker-root.ts"
64169
64979
  }
64170
64980
  },
64981
+ {
64982
+ "kind": "field",
64983
+ "name": "browsed",
64984
+ "type": {
64985
+ "text": "boolean"
64986
+ },
64987
+ "privacy": "private",
64988
+ "default": "false",
64989
+ "description": "Whether the month on show is one the reader paged to, which `showChosen` forgets.",
64990
+ "inheritedFrom": {
64991
+ "name": "HelixHeadlessDatePicker",
64992
+ "module": "src/date-picker/root/date-picker-root.ts"
64993
+ }
64994
+ },
64171
64995
  {
64172
64996
  "kind": "field",
64173
64997
  "name": "month",
@@ -64415,13 +65239,55 @@
64415
65239
  "module": "src/date-picker/root/date-picker-root.ts"
64416
65240
  }
64417
65241
  },
65242
+ {
65243
+ "kind": "field",
65244
+ "name": "previewed",
65245
+ "type": {
65246
+ "text": "string"
65247
+ },
65248
+ "privacy": "private",
65249
+ "default": "''",
65250
+ "description": "The day a reader points at or moves to while a range holds one end, which\nthe grid draws the range to before it is chosen.",
65251
+ "inheritedFrom": {
65252
+ "name": "HelixHeadlessDatePicker",
65253
+ "module": "src/date-picker/root/date-picker-root.ts"
65254
+ }
65255
+ },
65256
+ {
65257
+ "kind": "field",
65258
+ "name": "pending",
65259
+ "type": {
65260
+ "text": "boolean"
65261
+ },
65262
+ "privacy": "private",
65263
+ "description": "Whether a range holds its first end and waits for the second.",
65264
+ "readonly": true,
65265
+ "inheritedFrom": {
65266
+ "name": "HelixHeadlessDatePicker",
65267
+ "module": "src/date-picker/root/date-picker-root.ts"
65268
+ }
65269
+ },
65270
+ {
65271
+ "kind": "field",
65272
+ "name": "drawnRange",
65273
+ "type": {
65274
+ "text": "{ ends: [string, string]; preview: boolean } | null"
65275
+ },
65276
+ "privacy": "private",
65277
+ "description": "The range the grid draws: the chosen one, or, while one end waits for\nthe other, the run to the day under the pointer or the focus.",
65278
+ "readonly": true,
65279
+ "inheritedFrom": {
65280
+ "name": "HelixHeadlessDatePicker",
65281
+ "module": "src/date-picker/root/date-picker-root.ts"
65282
+ }
65283
+ },
64418
65284
  {
64419
65285
  "kind": "method",
64420
- "name": "isSelected",
65286
+ "name": "preview",
64421
65287
  "privacy": "private",
64422
65288
  "return": {
64423
65289
  "type": {
64424
- "text": "boolean"
65290
+ "text": "void"
64425
65291
  }
64426
65292
  },
64427
65293
  "parameters": [
@@ -64432,6 +65298,7 @@
64432
65298
  }
64433
65299
  }
64434
65300
  ],
65301
+ "description": "Draws a waiting range to the day the pointer is on.",
64435
65302
  "inheritedFrom": {
64436
65303
  "name": "HelixHeadlessDatePicker",
64437
65304
  "module": "src/date-picker/root/date-picker-root.ts"
@@ -64439,26 +65306,44 @@
64439
65306
  },
64440
65307
  {
64441
65308
  "kind": "field",
64442
- "name": "shown",
64443
- "type": {
64444
- "text": "Date"
64445
- },
65309
+ "name": "handleGridLeave",
64446
65310
  "privacy": "private",
64447
- "description": "The month being shown, resolved from `month`, then `value`, then today.",
64448
65311
  "readonly": true,
64449
65312
  "inheritedFrom": {
64450
65313
  "name": "HelixHeadlessDatePicker",
64451
65314
  "module": "src/date-picker/root/date-picker-root.ts"
64452
65315
  }
64453
65316
  },
65317
+ {
65318
+ "kind": "method",
65319
+ "name": "isSelected",
65320
+ "privacy": "private",
65321
+ "return": {
65322
+ "type": {
65323
+ "text": "boolean"
65324
+ }
65325
+ },
65326
+ "parameters": [
65327
+ {
65328
+ "name": "iso",
65329
+ "type": {
65330
+ "text": "string"
65331
+ }
65332
+ }
65333
+ ],
65334
+ "inheritedFrom": {
65335
+ "name": "HelixHeadlessDatePicker",
65336
+ "module": "src/date-picker/root/date-picker-root.ts"
65337
+ }
65338
+ },
64454
65339
  {
64455
65340
  "kind": "field",
64456
- "name": "system",
65341
+ "name": "shown",
64457
65342
  "type": {
64458
- "text": "MonthSystem"
65343
+ "text": "Date"
64459
65344
  },
64460
65345
  "privacy": "private",
64461
- "description": "The months the calendar pages through: its own under a `calendar` with\nmonths of its own, and the Gregorian months otherwise.",
65346
+ "description": "The month being shown, resolved from `month`, then `value`, then today.",
64462
65347
  "readonly": true,
64463
65348
  "inheritedFrom": {
64464
65349
  "name": "HelixHeadlessDatePicker",
@@ -64467,12 +65352,12 @@
64467
65352
  },
64468
65353
  {
64469
65354
  "kind": "field",
64470
- "name": "ownMonths",
65355
+ "name": "system",
64471
65356
  "type": {
64472
- "text": "boolean"
65357
+ "text": "MonthSystem"
64473
65358
  },
64474
65359
  "privacy": "private",
64475
- "description": "Whether `calendar` names a calendar with months of its own.",
65360
+ "description": "The months the calendar pages through: its own under a `calendar` with\nmonths of its own, and the Gregorian months otherwise.",
64476
65361
  "readonly": true,
64477
65362
  "inheritedFrom": {
64478
65363
  "name": "HelixHeadlessDatePicker",
@@ -64913,6 +65798,23 @@
64913
65798
  "text": "focus(options?: FocusOptions) => void"
64914
65799
  }
64915
65800
  },
65801
+ {
65802
+ "kind": "method",
65803
+ "name": "showChosen",
65804
+ "return": {
65805
+ "type": {
65806
+ "text": "void"
65807
+ }
65808
+ },
65809
+ "description": "Shows the days again, on the month of the chosen date, with the tab stop\non that date, forgetting the month and the day the reader browsed to.\n\nDate Input calls it each time its panel opens, which is where the APG\ndate picker dialog puts focus. Measured before this: from August 4, two\npresses of Page Down, Escape, and Down again opened on October 4.\nA `month` you set stays until the reader pages away from it.",
65810
+ "type": {
65811
+ "text": "showChosen() => void"
65812
+ },
65813
+ "inheritedFrom": {
65814
+ "name": "HelixHeadlessDatePicker",
65815
+ "module": "src/date-picker/root/date-picker-root.ts"
65816
+ }
65817
+ },
64916
65818
  {
64917
65819
  "kind": "field",
64918
65820
  "name": "rangeUnderflowMessage",
@@ -64960,6 +65862,37 @@
64960
65862
  "module": "src/date-picker/root/date-picker-root.ts"
64961
65863
  }
64962
65864
  },
65865
+ {
65866
+ "kind": "field",
65867
+ "name": "selectionLabel",
65868
+ "type": {
65869
+ "text": "string"
65870
+ },
65871
+ "default": "'{kind, select, date {Selected date: {start}} start {Range starts {start}. Choose the day it ends.} range {Selected range: {start} to {end}} other {{count, plural, one {# date selected} other {# dates selected}}}}'",
65872
+ "description": "What a screen reader hears about the chosen dates: the grid's\ndescription, said again whenever the dates change. `{kind}` is `date`,\n`start` while a range holds one end, `range`, or `dates` for `multiple`.\n`{start}` and `{end}` are dates written in `locale`, and `{count}` is how\nmany dates are chosen.",
65873
+ "attribute": "selection-label",
65874
+ "helix": {
65875
+ "words": true
65876
+ },
65877
+ "inheritedFrom": {
65878
+ "name": "HelixHeadlessDatePicker",
65879
+ "module": "src/date-picker/root/date-picker-root.ts"
65880
+ }
65881
+ },
65882
+ {
65883
+ "kind": "field",
65884
+ "name": "selectionWords",
65885
+ "type": {
65886
+ "text": "string"
65887
+ },
65888
+ "privacy": "private",
65889
+ "description": "`selectionLabel` for the dates chosen now, or nothing while there are none.\n\nReact Aria's calendars describe the grid by the chosen date or range and\nannounce it when it changes. Measured before this: a range of seven days\nwas seven cells with `aria-selected` in a grid that said nothing of a\nrange, and choosing its end was heard as one more selected cell.",
65890
+ "readonly": true,
65891
+ "inheritedFrom": {
65892
+ "name": "HelixHeadlessDatePicker",
65893
+ "module": "src/date-picker/root/date-picker-root.ts"
65894
+ }
65895
+ },
64963
65896
  {
64964
65897
  "kind": "field",
64965
65898
  "name": "step",
@@ -65131,6 +66064,20 @@
65131
66064
  "module": "src/date-picker/root/date-picker-root.ts"
65132
66065
  }
65133
66066
  },
66067
+ {
66068
+ "kind": "field",
66069
+ "name": "problem",
66070
+ "type": {
66071
+ "text": "[ValidityStateFlags, string] | undefined"
66072
+ },
66073
+ "privacy": "private",
66074
+ "description": "What is wrong with the answer, as validity flags and a message, or nothing.\n`reportRequired` hands it to the form, and `failure` to the mark.",
66075
+ "readonly": true,
66076
+ "inheritedFrom": {
66077
+ "name": "HelixHeadlessDatePicker",
66078
+ "module": "src/date-picker/root/date-picker-root.ts"
66079
+ }
66080
+ },
65134
66081
  {
65135
66082
  "kind": "method",
65136
66083
  "name": "report",
@@ -66237,9 +67184,9 @@
66237
67184
  {
66238
67185
  "name": "calendar",
66239
67186
  "type": {
66240
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'coptic' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic-civil' | 'islamic-umalqura' | 'persian' | undefined"
67187
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
66241
67188
  },
66242
- "description": "The calendar the heading, the days, and the months are written in.\n\n`gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five\nwhose months are the Gregorian months. Absent is the locale's own where\nit is one of the five, such as `buddhist` for `th-TH` or `japanese` for\n`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`\nfor `fa-IR`.\n\n`persian`, `hebrew`, `islamic-umalqura`, `islamic-civil`, `ethiopic`,\n`coptic`, and `indian` draw a calendar with months of its own, as React\nAria's calendars do: each grid is one of that calendar's months, the\nHebrew leap month and Ethiopia's five-day thirteenth month included, and\nPrevious, Next and the page keys move by those months. `month` and\n`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The\nheading stays text, as the months and years views are drawn in Gregorian\nmonths only. The value is `YYYY-MM-DD` in every calendar.",
67189
+ "description": "The calendar the heading, the days, and the months are written in.\n\n`gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five\nwhose months are the Gregorian months. Absent is the locale's own where\nit is one of the five, such as `buddhist` for `th-TH` or `japanese` for\n`ja-JP-u-ca-japanese`, and `gregory` for every other, such as `persian`\nfor `fa-IR`.\n\n`persian`, `hebrew`, `islamic`, `islamic-umalqura`, `islamic-civil`,\n`islamic-tbla`, `islamic-rgsa`, `ethiopic`, `ethioaa`, `coptic`,\n`indian`, `chinese`, and `dangi` draw a calendar with months of its own,\nas React Aria's calendars do: each grid is one of that calendar's months,\nthe Hebrew and Chinese leap months and Ethiopia's five-day thirteenth\nmonth included, and Previous, Next and the page keys move by those\nmonths. With `max-view`, the months view shows that calendar's year, of\ntwelve or thirteen months, and the years view its years. `month` and\n`helix-navigate` then name a month by its first day, `YYYY-MM-DD`. The\nvalue is `YYYY-MM-DD` in every calendar.",
66243
67190
  "fieldName": "calendar",
66244
67191
  "inheritedFrom": {
66245
67192
  "name": "HelixHeadlessDatePicker",
@@ -66541,6 +67488,19 @@
66541
67488
  "module": "src/date-picker/root/date-picker-root.ts"
66542
67489
  }
66543
67490
  },
67491
+ {
67492
+ "name": "selection-label",
67493
+ "type": {
67494
+ "text": "string"
67495
+ },
67496
+ "default": "'{kind, select, date {Selected date: {start}} start {Range starts {start}. Choose the day it ends.} range {Selected range: {start} to {end}} other {{count, plural, one {# date selected} other {# dates selected}}}}'",
67497
+ "description": "What a screen reader hears about the chosen dates: the grid's\ndescription, said again whenever the dates change. `{kind}` is `date`,\n`start` while a range holds one end, `range`, or `dates` for `multiple`.\n`{start}` and `{end}` are dates written in `locale`, and `{count}` is how\nmany dates are chosen.",
67498
+ "fieldName": "selectionLabel",
67499
+ "inheritedFrom": {
67500
+ "name": "HelixHeadlessDatePicker",
67501
+ "module": "src/date-picker/root/date-picker-root.ts"
67502
+ }
67503
+ },
66544
67504
  {
66545
67505
  "name": "step",
66546
67506
  "type": {
@@ -66703,7 +67663,7 @@
66703
67663
  }
66704
67664
  },
66705
67665
  {
66706
- "description": "The cell of a range's last day, beside `cell`.",
67666
+ "description": "The cell of a range's last day, beside `cell`, or of the day a waiting range is drawn to.",
66707
67667
  "name": "cell-range-end",
66708
67668
  "inheritedFrom": {
66709
67669
  "name": "HelixHeadlessDatePicker",
@@ -66910,6 +67870,14 @@
66910
67870
  "module": "src/date-picker/root/date-picker-root.ts"
66911
67871
  }
66912
67872
  },
67873
+ {
67874
+ "description": "The chosen date or range in words, which screen readers hear when it changes. Drawn for screen readers only.",
67875
+ "name": "selection",
67876
+ "inheritedFrom": {
67877
+ "name": "HelixHeadlessDatePicker",
67878
+ "module": "src/date-picker/root/date-picker-root.ts"
67879
+ }
67880
+ },
66913
67881
  {
66914
67882
  "description": "One row of days.",
66915
67883
  "name": "week",
@@ -66979,13 +67947,45 @@
66979
67947
  ],
66980
67948
  "cssStates": [
66981
67949
  {
66982
- "description": "While `invalid` is set or `feedback` says what is wrong.",
67950
+ "description": "While no date is chosen.",
67951
+ "name": "blank",
67952
+ "inheritedFrom": {
67953
+ "name": "HelixHeadlessDatePicker",
67954
+ "module": "src/date-picker/root/date-picker-root.ts"
67955
+ }
67956
+ },
67957
+ {
67958
+ "description": "While `invalid` is set, `feedback` says what is wrong, the picker holds a date outside `min` and `max` or one it bars, or it is `required`, holds no date, and the reader has answered once or a form has refused it.",
66983
67959
  "name": "invalid",
66984
67960
  "inheritedFrom": {
66985
67961
  "name": "HelixHeadlessDatePicker",
66986
67962
  "module": "src/date-picker/root/date-picker-root.ts"
66987
67963
  }
66988
67964
  },
67965
+ {
67966
+ "description": "While the months of a year are shown, where `max-view` is set.",
67967
+ "name": "month-view",
67968
+ "inheritedFrom": {
67969
+ "name": "HelixHeadlessDatePicker",
67970
+ "module": "src/date-picker/root/date-picker-root.ts"
67971
+ }
67972
+ },
67973
+ {
67974
+ "description": "While a `range` holds its first end and waits for the second.",
67975
+ "name": "range-pending",
67976
+ "inheritedFrom": {
67977
+ "name": "HelixHeadlessDatePicker",
67978
+ "module": "src/date-picker/root/date-picker-root.ts"
67979
+ }
67980
+ },
67981
+ {
67982
+ "description": "While a page of years is shown, where `max-view` is `year`.",
67983
+ "name": "year-view",
67984
+ "inheritedFrom": {
67985
+ "name": "HelixHeadlessDatePicker",
67986
+ "module": "src/date-picker/root/date-picker-root.ts"
67987
+ }
67988
+ },
66989
67989
  {
66990
67990
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
66991
67991
  "name": "settled",
@@ -86030,9 +87030,9 @@
86030
87030
  "kind": "field",
86031
87031
  "name": "calendar",
86032
87032
  "type": {
86033
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | undefined"
87033
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
86034
87034
  },
86035
- "description": "The calendar a date is written in: `gregory`, `buddhist`, `japanese`,\n`roc`, or `iso8601`, the calendars Date Picker and Date Input draw.\n\nAbsent is the locale's own where it is one of the five, such as\n`buddhist` for `th-TH`, and `gregory` for every other, such as `persian`\nfor `fa-IR`, so a date written here reads as the same date a Date Picker\nbeside it shows.",
87035
+ "description": "The calendar a date is written in: `gregory`, `buddhist`, `japanese`,\n`roc`, or `iso8601`, or a calendar with months of its own, such as\n`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every\ncalendar Date Picker and Date Input draw.\n\nAbsent is the locale's own where its months are the Gregorian months,\nsuch as `buddhist` for `th-TH`, and `gregory` for every other, such as\n`persian` for `fa-IR`, so a date written here reads as the same date a\nDate Picker beside it shows. Write `calendar=\"persian\"` for Mehr 14, 1405.",
86036
87036
  "attribute": "calendar",
86037
87037
  "inheritedFrom": {
86038
87038
  "name": "HelixHeadlessFormatDate",
@@ -86079,6 +87079,19 @@
86079
87079
  "module": "src/format-date/root/format-date-root.ts"
86080
87080
  }
86081
87081
  },
87082
+ {
87083
+ "kind": "field",
87084
+ "name": "dayPeriod",
87085
+ "type": {
87086
+ "text": "'long' | 'narrow' | 'short' | undefined"
87087
+ },
87088
+ "description": "Writes the part of the day in words, such as \"in the morning\" or \"at\nnight\", in its `long`, `short`, or `narrow` form, where `hour` is on a\ntwelve-hour clock.",
87089
+ "attribute": "day-period",
87090
+ "inheritedFrom": {
87091
+ "name": "HelixHeadlessFormatDate",
87092
+ "module": "src/format-date/root/format-date-root.ts"
87093
+ }
87094
+ },
86082
87095
  {
86083
87096
  "kind": "field",
86084
87097
  "name": "elapsed",
@@ -86120,6 +87133,19 @@
86120
87133
  "module": "src/format-date/root/format-date-root.ts"
86121
87134
  }
86122
87135
  },
87136
+ {
87137
+ "kind": "field",
87138
+ "name": "fractionalSecondDigits",
87139
+ "type": {
87140
+ "text": "1 | 2 | 3 | undefined"
87141
+ },
87142
+ "description": "How many digits of a fraction of a second to write after `second`: 1, 2,\nor 3, as in 09:41:07.250.",
87143
+ "attribute": "fractional-second-digits",
87144
+ "inheritedFrom": {
87145
+ "name": "HelixHeadlessFormatDate",
87146
+ "module": "src/format-date/root/format-date-root.ts"
87147
+ }
87148
+ },
86123
87149
  {
86124
87150
  "kind": "field",
86125
87151
  "name": "frozen",
@@ -86283,9 +87309,9 @@
86283
87309
  "kind": "field",
86284
87310
  "name": "timeZoneName",
86285
87311
  "type": {
86286
- "text": "'long' | 'short' | undefined"
87312
+ "text": "'long' | 'longGeneric' | 'longOffset' | 'short' | 'shortGeneric' | 'shortOffset' | undefined"
86287
87313
  },
86288
- "description": "Shows the name of the time zone, in its `long` or `short` form.",
87314
+ "description": "Shows the name of the time zone: `long` or `short`, as Pacific Daylight\nTime or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or\n`longGeneric` or `shortGeneric`, as Pacific Time or PT.",
86289
87315
  "attribute": "time-zone-name",
86290
87316
  "inheritedFrom": {
86291
87317
  "name": "HelixHeadlessFormatDate",
@@ -86858,6 +87884,14 @@
86858
87884
  "module": "src/format-date/root/format-date-root.ts"
86859
87885
  }
86860
87886
  },
87887
+ {
87888
+ "description": "The fraction of a second, with `fields` and `fractional-second-digits`.",
87889
+ "name": "fractional-second",
87890
+ "inheritedFrom": {
87891
+ "name": "HelixHeadlessFormatDate",
87892
+ "module": "src/format-date/root/format-date-root.ts"
87893
+ }
87894
+ },
86861
87895
  {
86862
87896
  "description": "The hour, with `fields`.",
86863
87897
  "name": "hour",
@@ -86927,9 +87961,9 @@
86927
87961
  {
86928
87962
  "name": "calendar",
86929
87963
  "type": {
86930
- "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | undefined"
87964
+ "text": "'buddhist' | 'gregory' | 'iso8601' | 'japanese' | 'roc' | 'chinese' | 'coptic' | 'dangi' | 'ethioaa' | 'ethiopic' | 'hebrew' | 'indian' | 'islamic' | 'islamic-civil' | 'islamic-rgsa' | 'islamic-tbla' | 'islamic-umalqura' | 'persian' | undefined"
86931
87965
  },
86932
- "description": "The calendar a date is written in: `gregory`, `buddhist`, `japanese`,\n`roc`, or `iso8601`, the calendars Date Picker and Date Input draw.\n\nAbsent is the locale's own where it is one of the five, such as\n`buddhist` for `th-TH`, and `gregory` for every other, such as `persian`\nfor `fa-IR`, so a date written here reads as the same date a Date Picker\nbeside it shows.",
87966
+ "description": "The calendar a date is written in: `gregory`, `buddhist`, `japanese`,\n`roc`, or `iso8601`, or a calendar with months of its own, such as\n`persian`, `hebrew`, `islamic-umalqura`, `ethiopic`, or `chinese`: every\ncalendar Date Picker and Date Input draw.\n\nAbsent is the locale's own where its months are the Gregorian months,\nsuch as `buddhist` for `th-TH`, and `gregory` for every other, such as\n`persian` for `fa-IR`, so a date written here reads as the same date a\nDate Picker beside it shows. Write `calendar=\"persian\"` for Mehr 14, 1405.",
86933
87967
  "fieldName": "calendar",
86934
87968
  "inheritedFrom": {
86935
87969
  "name": "HelixHeadlessFormatDate",
@@ -86973,6 +88007,18 @@
86973
88007
  "module": "src/format-date/root/format-date-root.ts"
86974
88008
  }
86975
88009
  },
88010
+ {
88011
+ "name": "day-period",
88012
+ "type": {
88013
+ "text": "'long' | 'narrow' | 'short' | undefined"
88014
+ },
88015
+ "description": "Writes the part of the day in words, such as \"in the morning\" or \"at\nnight\", in its `long`, `short`, or `narrow` form, where `hour` is on a\ntwelve-hour clock.",
88016
+ "fieldName": "dayPeriod",
88017
+ "inheritedFrom": {
88018
+ "name": "HelixHeadlessFormatDate",
88019
+ "module": "src/format-date/root/format-date-root.ts"
88020
+ }
88021
+ },
86976
88022
  {
86977
88023
  "name": "elapsed",
86978
88024
  "type": {
@@ -87010,6 +88056,18 @@
87010
88056
  "module": "src/format-date/root/format-date-root.ts"
87011
88057
  }
87012
88058
  },
88059
+ {
88060
+ "name": "fractional-second-digits",
88061
+ "type": {
88062
+ "text": "1 | 2 | 3 | undefined"
88063
+ },
88064
+ "description": "How many digits of a fraction of a second to write after `second`: 1, 2,\nor 3, as in 09:41:07.250.",
88065
+ "fieldName": "fractionalSecondDigits",
88066
+ "inheritedFrom": {
88067
+ "name": "HelixHeadlessFormatDate",
88068
+ "module": "src/format-date/root/format-date-root.ts"
88069
+ }
88070
+ },
87013
88071
  {
87014
88072
  "name": "frozen",
87015
88073
  "type": {
@@ -87147,9 +88205,9 @@
87147
88205
  {
87148
88206
  "name": "time-zone-name",
87149
88207
  "type": {
87150
- "text": "'long' | 'short' | undefined"
88208
+ "text": "'long' | 'longGeneric' | 'longOffset' | 'short' | 'shortGeneric' | 'shortOffset' | undefined"
87151
88209
  },
87152
- "description": "Shows the name of the time zone, in its `long` or `short` form.",
88210
+ "description": "Shows the name of the time zone: `long` or `short`, as Pacific Daylight\nTime or PDT, `longOffset` or `shortOffset`, as GMT-07:00 or GMT-7, or\n`longGeneric` or `shortGeneric`, as Pacific Time or PT.",
87153
88211
  "fieldName": "timeZoneName",
87154
88212
  "inheritedFrom": {
87155
88213
  "name": "HelixHeadlessFormatDate",
@@ -95354,6 +96412,14 @@
95354
96412
  "module": "src/button/root/button-root.ts"
95355
96413
  }
95356
96414
  },
96415
+ {
96416
+ "description": "A Button Group in a selection mode has this button pressed.",
96417
+ "name": "pressed",
96418
+ "inheritedFrom": {
96419
+ "name": "HelixHeadlessButton",
96420
+ "module": "src/button/root/button-root.ts"
96421
+ }
96422
+ },
95357
96423
  {
95358
96424
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
95359
96425
  "name": "settled",
@@ -102993,6 +104059,31 @@
102993
104059
  "module": "src/lightbox/item/lightbox-item.ts"
102994
104060
  }
102995
104061
  },
104062
+ {
104063
+ "kind": "field",
104064
+ "name": "described",
104065
+ "type": {
104066
+ "text": "boolean"
104067
+ },
104068
+ "privacy": "private",
104069
+ "default": "false",
104070
+ "description": "Whether anything is slotted into `description`, which then describes the group.",
104071
+ "inheritedFrom": {
104072
+ "name": "HelixHeadlessLightboxItem",
104073
+ "module": "src/lightbox/item/lightbox-item.ts"
104074
+ }
104075
+ },
104076
+ {
104077
+ "kind": "field",
104078
+ "name": "readDescription",
104079
+ "privacy": "private",
104080
+ "readonly": true,
104081
+ "description": "Reads whether the `description` slot holds anything.",
104082
+ "inheritedFrom": {
104083
+ "name": "HelixHeadlessLightboxItem",
104084
+ "module": "src/lightbox/item/lightbox-item.ts"
104085
+ }
104086
+ },
102996
104087
  {
102997
104088
  "kind": "field",
102998
104089
  "name": "tier",
@@ -104150,6 +105241,17 @@
104150
105241
  "module": "src/lightbox/root/lightbox-root.ts"
104151
105242
  }
104152
105243
  },
105244
+ {
105245
+ "kind": "field",
105246
+ "name": "phases",
105247
+ "privacy": "protected",
105248
+ "readonly": true,
105249
+ "default": "new OpenPhaseController(this, { mark: { entering: (on) => this.toggleState('entering', on), exiting: (on) => this.toggleState('exiting', on), }, open: () => this.open, surface: () => this.dialog, })",
105250
+ "inheritedFrom": {
105251
+ "name": "HelixHeadlessLightbox",
105252
+ "module": "src/lightbox/root/lightbox-root.ts"
105253
+ }
105254
+ },
104153
105255
  {
104154
105256
  "kind": "field",
104155
105257
  "name": "zoomer",
@@ -105647,6 +106749,22 @@
105647
106749
  }
105648
106750
  ],
105649
106751
  "cssStates": [
106752
+ {
106753
+ "description": "From the moment the viewer opens until its entrance has finished.",
106754
+ "name": "entering",
106755
+ "inheritedFrom": {
106756
+ "name": "HelixHeadlessLightbox",
106757
+ "module": "src/lightbox/root/lightbox-root.ts"
106758
+ }
106759
+ },
106760
+ {
106761
+ "description": "From the moment the viewer closes until its exit has finished.",
106762
+ "name": "exiting",
106763
+ "inheritedFrom": {
106764
+ "name": "HelixHeadlessLightbox",
106765
+ "module": "src/lightbox/root/lightbox-root.ts"
106766
+ }
106767
+ },
105650
106768
  {
105651
106769
  "description": "While the viewer fills the screen.",
105652
106770
  "name": "fullscreen",
@@ -134985,6 +136103,14 @@
134985
136103
  "module": "src/notifications/notification/notification.ts"
134986
136104
  }
134987
136105
  },
136106
+ {
136107
+ "description": "Format Date's `fractional-second`, forwarded for a time drawn as fields. An elapsed time draws none.",
136108
+ "name": "time-fractional-second",
136109
+ "inheritedFrom": {
136110
+ "name": "HelixHeadlessNotification",
136111
+ "module": "src/notifications/notification/notification.ts"
136112
+ }
136113
+ },
134988
136114
  {
134989
136115
  "description": "Format Date's `hour`, forwarded for a time drawn as fields. An elapsed time draws none.",
134990
136116
  "name": "time-hour",
@@ -175565,6 +176691,19 @@
175565
176691
  "module": "src/slider/root/slider-root.ts"
175566
176692
  }
175567
176693
  },
176694
+ {
176695
+ "kind": "field",
176696
+ "name": "pageStep",
176697
+ "type": {
176698
+ "text": "number | undefined"
176699
+ },
176700
+ "description": "How far Page Up and Page Down move a thumb, in the slider's own units, as\nReact Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys\nto the platform, which moves a tenth of the track.",
176701
+ "attribute": "page-step",
176702
+ "inheritedFrom": {
176703
+ "name": "HelixHeadlessSlider",
176704
+ "module": "src/slider/root/slider-root.ts"
176705
+ }
176706
+ },
175568
176707
  {
175569
176708
  "kind": "field",
175570
176709
  "name": "range",
@@ -175810,6 +176949,143 @@
175810
176949
  "module": "src/slider/root/slider-root.ts"
175811
176950
  }
175812
176951
  },
176952
+ {
176953
+ "kind": "field",
176954
+ "name": "dragging",
176955
+ "type": {
176956
+ "text": "boolean"
176957
+ },
176958
+ "privacy": "private",
176959
+ "default": "false",
176960
+ "description": "Whether a pointer is dragging a thumb, which `:state(dragging)` says.",
176961
+ "inheritedFrom": {
176962
+ "name": "HelixHeadlessSlider",
176963
+ "module": "src/slider/root/slider-root.ts"
176964
+ }
176965
+ },
176966
+ {
176967
+ "kind": "field",
176968
+ "name": "endDrag",
176969
+ "privacy": "private",
176970
+ "readonly": true,
176971
+ "description": "Ends a drag when its pointer lifts, wherever it lifts.",
176972
+ "inheritedFrom": {
176973
+ "name": "HelixHeadlessSlider",
176974
+ "module": "src/slider/root/slider-root.ts"
176975
+ }
176976
+ },
176977
+ {
176978
+ "kind": "method",
176979
+ "name": "startDrag",
176980
+ "privacy": "private",
176981
+ "return": {
176982
+ "type": {
176983
+ "text": "void"
176984
+ }
176985
+ },
176986
+ "inheritedFrom": {
176987
+ "name": "HelixHeadlessSlider",
176988
+ "module": "src/slider/root/slider-root.ts"
176989
+ }
176990
+ },
176991
+ {
176992
+ "kind": "method",
176993
+ "name": "thumbInset",
176994
+ "privacy": "private",
176995
+ "return": {
176996
+ "type": {
176997
+ "text": "number"
176998
+ }
176999
+ },
177000
+ "parameters": [
177001
+ {
177002
+ "name": "field",
177003
+ "type": {
177004
+ "text": "HTMLElement"
177005
+ }
177006
+ }
177007
+ ],
177008
+ "description": "Half a thumb, which is where the thumb's center stops short of each end\nof its input. Measured off the thumb's length as the stylesheet sets it,\nor a platform thumb's 16 pixels where none does.",
177009
+ "inheritedFrom": {
177010
+ "name": "HelixHeadlessSlider",
177011
+ "module": "src/slider/root/slider-root.ts"
177012
+ }
177013
+ },
177014
+ {
177015
+ "kind": "method",
177016
+ "name": "valueAt",
177017
+ "privacy": "private",
177018
+ "return": {
177019
+ "type": {
177020
+ "text": "number"
177021
+ }
177022
+ },
177023
+ "parameters": [
177024
+ {
177025
+ "name": "event",
177026
+ "type": {
177027
+ "text": "PointerEvent"
177028
+ }
177029
+ },
177030
+ {
177031
+ "name": "input",
177032
+ "type": {
177033
+ "text": "HTMLElement"
177034
+ }
177035
+ },
177036
+ {
177037
+ "name": "inset",
177038
+ "type": {
177039
+ "text": "number"
177040
+ }
177041
+ }
177042
+ ],
177043
+ "description": "The value under a pointer, along a thumb's input, less `inset` at each\nend. Upward on a vertical track, and from the right on a right-to-left\npage.",
177044
+ "inheritedFrom": {
177045
+ "name": "HelixHeadlessSlider",
177046
+ "module": "src/slider/root/slider-root.ts"
177047
+ }
177048
+ },
177049
+ {
177050
+ "kind": "method",
177051
+ "name": "moveThumb",
177052
+ "privacy": "private",
177053
+ "return": {
177054
+ "type": {
177055
+ "text": "boolean"
177056
+ }
177057
+ },
177058
+ "parameters": [
177059
+ {
177060
+ "name": "at",
177061
+ "type": {
177062
+ "text": "number"
177063
+ }
177064
+ },
177065
+ {
177066
+ "name": "wanted",
177067
+ "type": {
177068
+ "text": "number"
177069
+ }
177070
+ }
177071
+ ],
177072
+ "description": "Moves one of a range's thumbs, kept between its neighbors, and says whether it moved.",
177073
+ "inheritedFrom": {
177074
+ "name": "HelixHeadlessSlider",
177075
+ "module": "src/slider/root/slider-root.ts"
177076
+ }
177077
+ },
177078
+ {
177079
+ "kind": "field",
177080
+ "name": "handlePress",
177081
+ "privacy": "private",
177082
+ "readonly": true,
177083
+ "description": "A press on the field: on a thumb, the start of the platform's own drag,\nand on a range's track, the nearest thumb taken to the point and dragged\nfrom there.\n\n**A range's inputs take presses on their thumbs only**, being stacked on\none track, so a press beside a thumb reached no input at all and did\nnothing. Measured before this: a press at 90 on a range holding 20 and 60\nleft it at 20 and 60. React Aria's and Web Awesome's sliders move the\nnearest thumb there.",
177084
+ "inheritedFrom": {
177085
+ "name": "HelixHeadlessSlider",
177086
+ "module": "src/slider/root/slider-root.ts"
177087
+ }
177088
+ },
175813
177089
  {
175814
177090
  "kind": "field",
175815
177091
  "name": "handleChange",
@@ -175826,7 +177102,18 @@
175826
177102
  "name": "handleKeydown",
175827
177103
  "privacy": "private",
175828
177104
  "readonly": true,
175829
- "description": "Keeps a read-only thumb still under the keys that move it. Tab and every\nother key pass, so focus moves on.",
177105
+ "description": "Keeps a read-only thumb still under the keys that move it, and moves a\nthumb by `page-step` under Page Up and Page Down. Tab and every other key\npass, so focus moves on.",
177106
+ "inheritedFrom": {
177107
+ "name": "HelixHeadlessSlider",
177108
+ "module": "src/slider/root/slider-root.ts"
177109
+ }
177110
+ },
177111
+ {
177112
+ "kind": "field",
177113
+ "name": "handleFocusChange",
177114
+ "privacy": "private",
177115
+ "readonly": true,
177116
+ "description": "Says whether the keyboard brought focus to a thumb, as\n`:state(focus-visible)` on the host, where a stylesheet outside can reach\nthe whole control: a ring around the track, or the readout in bold.",
175830
177117
  "inheritedFrom": {
175831
177118
  "name": "HelixHeadlessSlider",
175832
177119
  "module": "src/slider/root/slider-root.ts"
@@ -177206,6 +178493,18 @@
177206
178493
  "module": "src/slider/root/slider-root.ts"
177207
178494
  }
177208
178495
  },
178496
+ {
178497
+ "name": "page-step",
178498
+ "type": {
178499
+ "text": "number | undefined"
178500
+ },
178501
+ "description": "How far Page Up and Page Down move a thumb, in the slider's own units, as\nReact Aria's `pageSize` and Zag's `largeStep` do. Absent leaves the keys\nto the platform, which moves a tenth of the track.",
178502
+ "fieldName": "pageStep",
178503
+ "inheritedFrom": {
178504
+ "name": "HelixHeadlessSlider",
178505
+ "module": "src/slider/root/slider-root.ts"
178506
+ }
178507
+ },
177209
178508
  {
177210
178509
  "name": "range",
177211
178510
  "type": {
@@ -177524,6 +178823,22 @@
177524
178823
  }
177525
178824
  ],
177526
178825
  "cssStates": [
178826
+ {
178827
+ "description": "A thumb is being dragged, by its thumb or from a press on the track.",
178828
+ "name": "dragging",
178829
+ "inheritedFrom": {
178830
+ "name": "HelixHeadlessSlider",
178831
+ "module": "src/slider/root/slider-root.ts"
178832
+ }
178833
+ },
178834
+ {
178835
+ "description": "A thumb has focus that the keyboard brought, where the browser draws a focus ring.",
178836
+ "name": "focus-visible",
178837
+ "inheritedFrom": {
178838
+ "name": "HelixHeadlessSlider",
178839
+ "module": "src/slider/root/slider-root.ts"
178840
+ }
178841
+ },
177527
178842
  {
177528
178843
  "description": "The slider has an error to show, from the browser's validation or from your `feedback`.",
177529
178844
  "name": "invalid",
@@ -186114,6 +187429,31 @@
186114
187429
  "module": "src/steps/step/step.ts"
186115
187430
  }
186116
187431
  },
187432
+ {
187433
+ "kind": "field",
187434
+ "name": "holding",
187435
+ "type": {
187436
+ "text": "boolean"
187437
+ },
187438
+ "privacy": "private",
187439
+ "default": "false",
187440
+ "description": "Whether anything is slotted into `content`, which makes it a named group.",
187441
+ "inheritedFrom": {
187442
+ "name": "HelixHeadlessStep",
187443
+ "module": "src/steps/step/step.ts"
187444
+ }
187445
+ },
187446
+ {
187447
+ "kind": "field",
187448
+ "name": "readContent",
187449
+ "privacy": "private",
187450
+ "readonly": true,
187451
+ "description": "Reads whether the `content` slot holds anything.",
187452
+ "inheritedFrom": {
187453
+ "name": "HelixHeadlessStep",
187454
+ "module": "src/steps/step/step.ts"
187455
+ }
187456
+ },
186117
187457
  {
186118
187458
  "kind": "field",
186119
187459
  "name": "status",
@@ -193782,6 +195122,49 @@
193782
195122
  "module": "src/tabs/panel/tab-panel.ts"
193783
195123
  }
193784
195124
  },
195125
+ {
195126
+ "kind": "field",
195127
+ "name": "lazy",
195128
+ "type": {
195129
+ "text": "boolean"
195130
+ },
195131
+ "default": "false",
195132
+ "description": "Whether the panel's content waits in a `<template>` until the panel is\nfirst shown.",
195133
+ "attribute": "lazy",
195134
+ "inheritedFrom": {
195135
+ "name": "HelixHeadlessTabPanel",
195136
+ "module": "src/tabs/panel/tab-panel.ts"
195137
+ }
195138
+ },
195139
+ {
195140
+ "kind": "field",
195141
+ "name": "loaded",
195142
+ "type": {
195143
+ "text": "boolean"
195144
+ },
195145
+ "privacy": "private",
195146
+ "default": "false",
195147
+ "description": "Whether a `lazy` panel has put its content in.",
195148
+ "inheritedFrom": {
195149
+ "name": "HelixHeadlessTabPanel",
195150
+ "module": "src/tabs/panel/tab-panel.ts"
195151
+ }
195152
+ },
195153
+ {
195154
+ "kind": "method",
195155
+ "name": "load",
195156
+ "privacy": "private",
195157
+ "return": {
195158
+ "type": {
195159
+ "text": "void"
195160
+ }
195161
+ },
195162
+ "description": "Puts a `lazy` panel's content in the first time the panel is shown: the\ncontent of each `<template>` it holds, in place of the template.",
195163
+ "inheritedFrom": {
195164
+ "name": "HelixHeadlessTabPanel",
195165
+ "module": "src/tabs/panel/tab-panel.ts"
195166
+ }
195167
+ },
193785
195168
  {
193786
195169
  "kind": "field",
193787
195170
  "name": "selected",
@@ -194201,6 +195584,19 @@
194201
195584
  "tagName": "helix-tab-panel",
194202
195585
  "customElement": true,
194203
195586
  "attributes": [
195587
+ {
195588
+ "name": "lazy",
195589
+ "type": {
195590
+ "text": "boolean"
195591
+ },
195592
+ "default": "false",
195593
+ "description": "Whether the panel's content waits in a `<template>` until the panel is\nfirst shown.",
195594
+ "fieldName": "lazy",
195595
+ "inheritedFrom": {
195596
+ "name": "HelixHeadlessTabPanel",
195597
+ "module": "src/tabs/panel/tab-panel.ts"
195598
+ }
195599
+ },
194204
195600
  {
194205
195601
  "name": "selected",
194206
195602
  "type": {
@@ -194228,7 +195624,29 @@
194228
195624
  }
194229
195625
  }
194230
195626
  ],
195627
+ "events": [
195628
+ {
195629
+ "type": {
195630
+ "text": "HelixLoadEvent"
195631
+ },
195632
+ "description": "Fired the first time a `lazy` panel is shown, once its template's content is in.",
195633
+ "name": "helix-load",
195634
+ "reactProp": "onhelix-load",
195635
+ "inheritedFrom": {
195636
+ "name": "HelixHeadlessTabPanel",
195637
+ "module": "src/tabs/panel/tab-panel.ts"
195638
+ }
195639
+ }
195640
+ ],
194231
195641
  "cssStates": [
195642
+ {
195643
+ "description": "Once a `lazy` panel has been shown and its content is in.",
195644
+ "name": "loaded",
195645
+ "inheritedFrom": {
195646
+ "name": "HelixHeadlessTabPanel",
195647
+ "module": "src/tabs/panel/tab-panel.ts"
195648
+ }
195649
+ },
194232
195650
  {
194233
195651
  "description": "While its tab is the one selected.",
194234
195652
  "name": "selected",
@@ -194352,6 +195770,14 @@
194352
195770
  "module": "src/tabs/root/tabs-root.ts"
194353
195771
  }
194354
195772
  },
195773
+ {
195774
+ "description": "The glyph on that button, where none is slotted.",
195775
+ "name": "scroll-end-mark",
195776
+ "inheritedFrom": {
195777
+ "name": "HelixHeadlessTabs",
195778
+ "module": "src/tabs/root/tabs-root.ts"
195779
+ }
195780
+ },
194355
195781
  {
194356
195782
  "description": "The button that scrolls the strip toward its start, shown under `scroll-controls` while there is more that way. It holds to the start of the strip.",
194357
195783
  "name": "scroll-start",
@@ -194360,6 +195786,14 @@
194360
195786
  "module": "src/tabs/root/tabs-root.ts"
194361
195787
  }
194362
195788
  },
195789
+ {
195790
+ "description": "The glyph on that button, where none is slotted.",
195791
+ "name": "scroll-start-mark",
195792
+ "inheritedFrom": {
195793
+ "name": "HelixHeadlessTabs",
195794
+ "module": "src/tabs/root/tabs-root.ts"
195795
+ }
195796
+ },
194363
195797
  {
194364
195798
  "description": "The tab list.",
194365
195799
  "name": "tabs",
@@ -194393,6 +195827,22 @@
194393
195827
  "name": "HelixHeadlessTabs",
194394
195828
  "module": "src/tabs/root/tabs-root.ts"
194395
195829
  }
195830
+ },
195831
+ {
195832
+ "description": "Replaces the glyph on the button that scrolls the strip toward its end.",
195833
+ "name": "scroll-end-icon",
195834
+ "inheritedFrom": {
195835
+ "name": "HelixHeadlessTabs",
195836
+ "module": "src/tabs/root/tabs-root.ts"
195837
+ }
195838
+ },
195839
+ {
195840
+ "description": "Replaces the glyph on the button that scrolls the strip toward its start.",
195841
+ "name": "scroll-start-icon",
195842
+ "inheritedFrom": {
195843
+ "name": "HelixHeadlessTabs",
195844
+ "module": "src/tabs/root/tabs-root.ts"
195845
+ }
194396
195846
  }
194397
195847
  ],
194398
195848
  "members": [
@@ -194762,6 +196212,35 @@
194762
196212
  "module": "src/tabs/root/tabs-root.ts"
194763
196213
  }
194764
196214
  },
196215
+ {
196216
+ "kind": "method",
196217
+ "name": "beside",
196218
+ "privacy": "private",
196219
+ "return": {
196220
+ "type": {
196221
+ "text": "HelixHeadlessTab | undefined"
196222
+ }
196223
+ },
196224
+ "parameters": [
196225
+ {
196226
+ "name": "gone",
196227
+ "type": {
196228
+ "text": "string"
196229
+ }
196230
+ },
196231
+ {
196232
+ "name": "tabs",
196233
+ "type": {
196234
+ "text": "HelixHeadlessTab[]"
196235
+ }
196236
+ }
196237
+ ],
196238
+ "description": "The enabled tab nearest to where a removed one stood: the next ones\nnearest first, then the ones before it nearest first. The same order a\ndismissed tab hands focus in.",
196239
+ "inheritedFrom": {
196240
+ "name": "HelixHeadlessTabs",
196241
+ "module": "src/tabs/root/tabs-root.ts"
196242
+ }
196243
+ },
194765
196244
  {
194766
196245
  "kind": "method",
194767
196246
  "name": "sync",
@@ -194873,7 +196352,30 @@
194873
196352
  }
194874
196353
  }
194875
196354
  ],
194876
- "description": "One of the two scroll buttons, pointing the way it scrolls. A caret along\nthe line is mirrored on a right-to-left page, and one down a column is not.",
196355
+ "description": "One of the two scroll buttons, with the glyph pointing the way it scrolls.",
196356
+ "inheritedFrom": {
196357
+ "name": "HelixHeadlessTabs",
196358
+ "module": "src/tabs/root/tabs-root.ts"
196359
+ }
196360
+ },
196361
+ {
196362
+ "kind": "method",
196363
+ "name": "renderScrollIcon",
196364
+ "privacy": "protected",
196365
+ "return": {
196366
+ "type": {
196367
+ "text": "TemplateResult"
196368
+ }
196369
+ },
196370
+ "parameters": [
196371
+ {
196372
+ "name": "toward",
196373
+ "type": {
196374
+ "text": "1 | -1"
196375
+ }
196376
+ }
196377
+ ],
196378
+ "description": "The glyph on a scroll button, behind a seam: slot fallback, so a consumer\nreplaces it by slotting, and a method, so a tier above replaces it by\noverriding. A caret along the line is mirrored on a right-to-left page, and\none down a column is not.",
194877
196379
  "inheritedFrom": {
194878
196380
  "name": "HelixHeadlessTabs",
194879
196381
  "module": "src/tabs/root/tabs-root.ts"
@@ -195518,6 +197020,14 @@
195518
197020
  "module": "src/tabs/tab/tab.ts"
195519
197021
  }
195520
197022
  },
197023
+ {
197024
+ "description": "The glyph on that mark, where none is slotted.",
197025
+ "name": "dismiss-mark",
197026
+ "inheritedFrom": {
197027
+ "name": "HelixHeadlessTab",
197028
+ "module": "src/tabs/tab/tab.ts"
197029
+ }
197030
+ },
195521
197031
  {
195522
197032
  "description": "The tab itself.",
195523
197033
  "name": "tab",
@@ -195535,6 +197045,14 @@
195535
197045
  "name": "HelixHeadlessTab",
195536
197046
  "module": "src/tabs/tab/tab.ts"
195537
197047
  }
197048
+ },
197049
+ {
197050
+ "description": "Replaces the glyph on the mark that closes a `dismissible` tab.",
197051
+ "name": "dismiss-icon",
197052
+ "inheritedFrom": {
197053
+ "name": "HelixHeadlessTab",
197054
+ "module": "src/tabs/tab/tab.ts"
197055
+ }
195538
197056
  }
195539
197057
  ],
195540
197058
  "members": [
@@ -201778,6 +203296,40 @@
201778
203296
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
201779
203297
  }
201780
203298
  },
203299
+ {
203300
+ "kind": "field",
203301
+ "name": "rangeEndLabel",
203302
+ "type": {
203303
+ "text": "string"
203304
+ },
203305
+ "default": "'End'",
203306
+ "description": "What a screen reader hears before the segments of a range's second date\nor time, after each segment's own name.",
203307
+ "attribute": "range-end-label",
203308
+ "helix": {
203309
+ "words": true
203310
+ },
203311
+ "inheritedFrom": {
203312
+ "name": "MixinSegmentedField",
203313
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203314
+ }
203315
+ },
203316
+ {
203317
+ "kind": "field",
203318
+ "name": "rangeStartLabel",
203319
+ "type": {
203320
+ "text": "string"
203321
+ },
203322
+ "default": "'Start'",
203323
+ "description": "What a screen reader hears before the segments of a range's first date\nor time, after each segment's own name: \"month, Start, Stay\".",
203324
+ "attribute": "range-start-label",
203325
+ "helix": {
203326
+ "words": true
203327
+ },
203328
+ "inheritedFrom": {
203329
+ "name": "MixinSegmentedField",
203330
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203331
+ }
203332
+ },
201781
203333
  {
201782
203334
  "kind": "field",
201783
203335
  "name": "segmented",
@@ -201796,11 +203348,11 @@
201796
203348
  "kind": "field",
201797
203349
  "name": "parts",
201798
203350
  "type": {
201799
- "text": "Segments"
203351
+ "text": "Segments[]"
201800
203352
  },
201801
203353
  "privacy": "private",
201802
- "default": "{}",
201803
- "description": "The parts set so far, which may be fewer than a whole value.",
203354
+ "default": "[{}]",
203355
+ "description": "The parts set so far in each row, which may be fewer than a whole\nvalue: one row, or two for a range.",
201804
203356
  "inheritedFrom": {
201805
203357
  "name": "MixinSegmentedField",
201806
203358
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
@@ -201859,6 +203411,35 @@
201859
203411
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
201860
203412
  }
201861
203413
  },
203414
+ {
203415
+ "kind": "field",
203416
+ "name": "opener",
203417
+ "type": {
203418
+ "text": "HTMLElement | undefined"
203419
+ },
203420
+ "privacy": "private",
203421
+ "default": "undefined",
203422
+ "description": "The segment Alt+Down opened the picker from, which focus goes back to.",
203423
+ "inheritedFrom": {
203424
+ "name": "MixinSegmentedField",
203425
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203426
+ }
203427
+ },
203428
+ {
203429
+ "kind": "method",
203430
+ "name": "returnFocus",
203431
+ "privacy": "protected",
203432
+ "return": {
203433
+ "type": {
203434
+ "text": "void"
203435
+ }
203436
+ },
203437
+ "description": "Puts focus back on the segment the picker was opened from, as the\ntrigger takes it back to the field. Measured before this: Escape after\nAlt+Down on AM/PM put focus on the hour.",
203438
+ "inheritedFrom": {
203439
+ "name": "MixinPickerField",
203440
+ "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
203441
+ }
203442
+ },
201862
203443
  {
201863
203444
  "kind": "field",
201864
203445
  "name": "segmentable",
@@ -201887,6 +203468,66 @@
201887
203468
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
201888
203469
  }
201889
203470
  },
203471
+ {
203472
+ "kind": "field",
203473
+ "name": "segmentGroups",
203474
+ "type": {
203475
+ "text": "number"
203476
+ },
203477
+ "privacy": "protected",
203478
+ "description": "How many rows of segments the value takes: two for a range, one otherwise.",
203479
+ "readonly": true,
203480
+ "inheritedFrom": {
203481
+ "name": "MixinSegmentedField",
203482
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203483
+ }
203484
+ },
203485
+ {
203486
+ "kind": "method",
203487
+ "name": "joined",
203488
+ "privacy": "private",
203489
+ "return": {
203490
+ "type": {
203491
+ "text": "string"
203492
+ }
203493
+ },
203494
+ "parameters": [
203495
+ {
203496
+ "name": "rows",
203497
+ "type": {
203498
+ "text": "readonly Segments[]"
203499
+ }
203500
+ }
203501
+ ],
203502
+ "description": "The value the rows add up to: each row's, joined by commas, or empty while any row is not whole.",
203503
+ "inheritedFrom": {
203504
+ "name": "MixinSegmentedField",
203505
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203506
+ }
203507
+ },
203508
+ {
203509
+ "kind": "method",
203510
+ "name": "rowsOf",
203511
+ "privacy": "private",
203512
+ "return": {
203513
+ "type": {
203514
+ "text": "Segments[]"
203515
+ }
203516
+ },
203517
+ "parameters": [
203518
+ {
203519
+ "name": "value",
203520
+ "type": {
203521
+ "text": "string"
203522
+ }
203523
+ }
203524
+ ],
203525
+ "description": "The rows a value names, one per row, empty where it names none.",
203526
+ "inheritedFrom": {
203527
+ "name": "MixinSegmentedField",
203528
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203529
+ }
203530
+ },
201890
203531
  {
201891
203532
  "kind": "field",
201892
203533
  "name": "segmentedKind",
@@ -201929,6 +203570,20 @@
201929
203570
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
201930
203571
  }
201931
203572
  },
203573
+ {
203574
+ "kind": "field",
203575
+ "name": "segmentSystem",
203576
+ "type": {
203577
+ "text": "MonthSystem | undefined"
203578
+ },
203579
+ "privacy": "protected",
203580
+ "description": "The calendar a date's parts are counted in, or `undefined` for the Gregorian calendar.",
203581
+ "readonly": true,
203582
+ "inheritedFrom": {
203583
+ "name": "MixinSegmentedField",
203584
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
203585
+ }
203586
+ },
201932
203587
  {
201933
203588
  "kind": "field",
201934
203589
  "name": "layout",
@@ -201994,6 +203649,12 @@
201994
203649
  }
201995
203650
  },
201996
203651
  "parameters": [
203652
+ {
203653
+ "name": "row",
203654
+ "type": {
203655
+ "text": "number"
203656
+ }
203657
+ },
201997
203658
  {
201998
203659
  "name": "next",
201999
203660
  "type": {
@@ -202497,21 +204158,6 @@
202497
204158
  "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
202498
204159
  }
202499
204160
  },
202500
- {
202501
- "kind": "method",
202502
- "name": "returnFocus",
202503
- "privacy": "protected",
202504
- "return": {
202505
- "type": {
202506
- "text": "void"
202507
- }
202508
- },
202509
- "description": "Puts the caret back in the field without the field reopening the panel.\n\nThe anchor rather than the text, which is the trigger where there is no\ntext: Color Input's swatch dropped focus to the body on Escape.",
202510
- "inheritedFrom": {
202511
- "name": "MixinPickerField",
202512
- "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
202513
- }
202514
- },
202515
204161
  {
202516
204162
  "kind": "method",
202517
204163
  "name": "focus",
@@ -203416,6 +205062,37 @@
203416
205062
  "module": "src/time-input/root/time-input-root.ts"
203417
205063
  }
203418
205064
  },
205065
+ {
205066
+ "kind": "field",
205067
+ "name": "clearable",
205068
+ "type": {
205069
+ "text": "boolean"
205070
+ },
205071
+ "default": "false",
205072
+ "description": "Whether the field shows a button that empties it, as Input's `clearable`\ndoes. Shown only while the field holds something to clear and is neither\ndisabled nor read-only.",
205073
+ "attribute": "clearable",
205074
+ "inheritedFrom": {
205075
+ "name": "HelixHeadlessTimeInput",
205076
+ "module": "src/time-input/root/time-input-root.ts"
205077
+ }
205078
+ },
205079
+ {
205080
+ "kind": "field",
205081
+ "name": "clearLabel",
205082
+ "type": {
205083
+ "text": "string"
205084
+ },
205085
+ "default": "'Clear'",
205086
+ "description": "The accessible name of the clear button, which shows only an icon.",
205087
+ "attribute": "clear-label",
205088
+ "helix": {
205089
+ "words": true
205090
+ },
205091
+ "inheritedFrom": {
205092
+ "name": "HelixHeadlessTimeInput",
205093
+ "module": "src/time-input/root/time-input-root.ts"
205094
+ }
205095
+ },
203419
205096
  {
203420
205097
  "kind": "field",
203421
205098
  "name": "disableTimes",
@@ -203674,6 +205351,23 @@
203674
205351
  "module": "src/time-input/root/time-input-root.ts"
203675
205352
  }
203676
205353
  },
205354
+ {
205355
+ "kind": "field",
205356
+ "name": "unreadableMessage",
205357
+ "type": {
205358
+ "text": "string"
205359
+ },
205360
+ "default": "'{mode, select, single {Enter a time as {shape}.} other {Enter times as {shape}, separated by commas.}}'",
205361
+ "description": "The message for text that is no time, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`.",
205362
+ "attribute": "unreadable-message",
205363
+ "helix": {
205364
+ "words": true
205365
+ },
205366
+ "inheritedFrom": {
205367
+ "name": "HelixHeadlessTimeInput",
205368
+ "module": "src/time-input/root/time-input-root.ts"
205369
+ }
205370
+ },
203677
205371
  {
203678
205372
  "kind": "field",
203679
205373
  "name": "held",
@@ -203776,6 +205470,40 @@
203776
205470
  "module": "src/time-input/root/time-input-root.ts"
203777
205471
  }
203778
205472
  },
205473
+ {
205474
+ "kind": "method",
205475
+ "name": "read",
205476
+ "privacy": "private",
205477
+ "return": {
205478
+ "type": {
205479
+ "text": "string"
205480
+ }
205481
+ },
205482
+ "parameters": [
205483
+ {
205484
+ "name": "text",
205485
+ "type": {
205486
+ "text": "string"
205487
+ }
205488
+ }
205489
+ ],
205490
+ "description": "A time as the reader wrote it, as the value writes one: `HH:mm` as it\nis, and `2:30 PM`, `2.30pm`, `14h30`, or `1430` read back, with the half\nof the day in the locale's words. Empty where it is no time.",
205491
+ "inheritedFrom": {
205492
+ "name": "HelixHeadlessTimeInput",
205493
+ "module": "src/time-input/root/time-input-root.ts"
205494
+ }
205495
+ },
205496
+ {
205497
+ "kind": "field",
205498
+ "name": "handleTextCommit",
205499
+ "privacy": "private",
205500
+ "readonly": true,
205501
+ "description": "The text the reader leaves, read: a time written as a reader writes one\nbecomes the value as the field commits. Not on each key, where `2:3` is\na time a moment before it is `2:30`.",
205502
+ "inheritedFrom": {
205503
+ "name": "HelixHeadlessTimeInput",
205504
+ "module": "src/time-input/root/time-input-root.ts"
205505
+ }
205506
+ },
203779
205507
  {
203780
205508
  "kind": "field",
203781
205509
  "name": "handleDraftKey",
@@ -203910,6 +205638,46 @@
203910
205638
  "module": "src/time-input/root/time-input-root.ts"
203911
205639
  }
203912
205640
  },
205641
+ {
205642
+ "kind": "field",
205643
+ "name": "showsClear",
205644
+ "type": {
205645
+ "text": "boolean"
205646
+ },
205647
+ "privacy": "private",
205648
+ "description": "Whether there is a clear button on screen right now.",
205649
+ "readonly": true,
205650
+ "inheritedFrom": {
205651
+ "name": "HelixHeadlessTimeInput",
205652
+ "module": "src/time-input/root/time-input-root.ts"
205653
+ }
205654
+ },
205655
+ {
205656
+ "kind": "field",
205657
+ "name": "handleClear",
205658
+ "privacy": "private",
205659
+ "readonly": true,
205660
+ "description": "Empties the field, through `requestValue` so a consumer who owns the\nvalue decides, then says `change` and `helix-clear` and puts focus back\nin the field, the button having gone.",
205661
+ "inheritedFrom": {
205662
+ "name": "HelixHeadlessTimeInput",
205663
+ "module": "src/time-input/root/time-input-root.ts"
205664
+ }
205665
+ },
205666
+ {
205667
+ "kind": "method",
205668
+ "name": "renderClearIcon",
205669
+ "privacy": "protected",
205670
+ "return": {
205671
+ "type": {
205672
+ "text": "TemplateResult"
205673
+ }
205674
+ },
205675
+ "description": "The cross on the clear button, behind a seam a tier can move.",
205676
+ "inheritedFrom": {
205677
+ "name": "HelixHeadlessTimeInput",
205678
+ "module": "src/time-input/root/time-input-root.ts"
205679
+ }
205680
+ },
203913
205681
  {
203914
205682
  "kind": "method",
203915
205683
  "name": "renderControl",
@@ -204799,6 +206567,32 @@
204799
206567
  "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
204800
206568
  }
204801
206569
  },
206570
+ {
206571
+ "name": "range-end-label",
206572
+ "type": {
206573
+ "text": "string"
206574
+ },
206575
+ "default": "'End'",
206576
+ "description": "What a screen reader hears before the segments of a range's second date\nor time, after each segment's own name.",
206577
+ "fieldName": "rangeEndLabel",
206578
+ "inheritedFrom": {
206579
+ "name": "MixinSegmentedField",
206580
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
206581
+ }
206582
+ },
206583
+ {
206584
+ "name": "range-start-label",
206585
+ "type": {
206586
+ "text": "string"
206587
+ },
206588
+ "default": "'Start'",
206589
+ "description": "What a screen reader hears before the segments of a range's first date\nor time, after each segment's own name: \"month, Start, Stay\".",
206590
+ "fieldName": "rangeStartLabel",
206591
+ "inheritedFrom": {
206592
+ "name": "MixinSegmentedField",
206593
+ "module": "src/mixins/mixin-segmented-field/mixin-segmented-field.ts"
206594
+ }
206595
+ },
204802
206596
  {
204803
206597
  "name": "segmented",
204804
206598
  "type": {
@@ -205042,6 +206836,32 @@
205042
206836
  "module": "src/time-input/root/time-input-root.ts"
205043
206837
  }
205044
206838
  },
206839
+ {
206840
+ "name": "clearable",
206841
+ "type": {
206842
+ "text": "boolean"
206843
+ },
206844
+ "default": "false",
206845
+ "description": "Whether the field shows a button that empties it, as Input's `clearable`\ndoes. Shown only while the field holds something to clear and is neither\ndisabled nor read-only.",
206846
+ "fieldName": "clearable",
206847
+ "inheritedFrom": {
206848
+ "name": "HelixHeadlessTimeInput",
206849
+ "module": "src/time-input/root/time-input-root.ts"
206850
+ }
206851
+ },
206852
+ {
206853
+ "name": "clear-label",
206854
+ "type": {
206855
+ "text": "string"
206856
+ },
206857
+ "default": "'Clear'",
206858
+ "description": "The accessible name of the clear button, which shows only an icon.",
206859
+ "fieldName": "clearLabel",
206860
+ "inheritedFrom": {
206861
+ "name": "HelixHeadlessTimeInput",
206862
+ "module": "src/time-input/root/time-input-root.ts"
206863
+ }
206864
+ },
205045
206865
  {
205046
206866
  "name": "disable-times",
205047
206867
  "type": {
@@ -205248,6 +207068,19 @@
205248
207068
  "module": "src/time-input/root/time-input-root.ts"
205249
207069
  }
205250
207070
  },
207071
+ {
207072
+ "name": "unreadable-message",
207073
+ "type": {
207074
+ "text": "string"
207075
+ },
207076
+ "default": "'{mode, select, single {Enter a time as {shape}.} other {Enter times as {shape}, separated by commas.}}'",
207077
+ "description": "The message for text that is no time, where `bad-input-message` is not\nset. `{mode}` is `single`, `range`, or `multiple`, and `{shape}` is `HH:mm`, or `HH:mm:ss` with `seconds`.",
207078
+ "fieldName": "unreadableMessage",
207079
+ "inheritedFrom": {
207080
+ "name": "HelixHeadlessTimeInput",
207081
+ "module": "src/time-input/root/time-input-root.ts"
207082
+ }
207083
+ },
205251
207084
  {
205252
207085
  "name": "variant",
205253
207086
  "type": {
@@ -205348,6 +207181,18 @@
205348
207181
  "module": "src/time-input/root/time-input-root.ts"
205349
207182
  }
205350
207183
  },
207184
+ {
207185
+ "type": {
207186
+ "text": "HelixClearEvent"
207187
+ },
207188
+ "description": "Fired after the clear button has emptied the field, after `input` and `change`.",
207189
+ "name": "helix-clear",
207190
+ "reactProp": "onhelix-clear",
207191
+ "inheritedFrom": {
207192
+ "name": "HelixHeadlessTimeInput",
207193
+ "module": "src/time-input/root/time-input-root.ts"
207194
+ }
207195
+ },
205351
207196
  {
205352
207197
  "type": {
205353
207198
  "text": "Event"
@@ -205362,6 +207207,14 @@
205362
207207
  }
205363
207208
  ],
205364
207209
  "slots": [
207210
+ {
207211
+ "description": "Replaces the cross on the clear button, under `clearable`.",
207212
+ "name": "clear-icon",
207213
+ "inheritedFrom": {
207214
+ "name": "HelixHeadlessTimeInput",
207215
+ "module": "src/time-input/root/time-input-root.ts"
207216
+ }
207217
+ },
205365
207218
  {
205366
207219
  "description": "Content after the time, before the trigger, such as a clear button.",
205367
207220
  "name": "end",
@@ -205428,6 +207281,14 @@
205428
207281
  }
205429
207282
  ],
205430
207283
  "cssParts": [
207284
+ {
207285
+ "description": "The button that empties the field, under `clearable`, while it holds a time.",
207286
+ "name": "clear",
207287
+ "inheritedFrom": {
207288
+ "name": "HelixHeadlessTimeInput",
207289
+ "module": "src/time-input/root/time-input-root.ts"
207290
+ }
207291
+ },
205431
207292
  {
205432
207293
  "description": "The text input.",
205433
207294
  "name": "control",
@@ -205788,6 +207649,14 @@
205788
207649
  "module": "src/time-input/root/time-input-root.ts"
205789
207650
  }
205790
207651
  },
207652
+ {
207653
+ "description": "The dash between a range's two rows of segments, in `segmented`, beside `literal`.",
207654
+ "name": "range-separator",
207655
+ "inheritedFrom": {
207656
+ "name": "HelixHeadlessTimeInput",
207657
+ "module": "src/time-input/root/time-input-root.ts"
207658
+ }
207659
+ },
205791
207660
  {
205792
207661
  "description": "The count of times held beyond the ones shown. A `<button>` with `expandable`, and a `<span>` without it.",
205793
207662
  "name": "rest",
@@ -205910,6 +207779,14 @@
205910
207779
  }
205911
207780
  ],
205912
207781
  "cssStates": [
207782
+ {
207783
+ "description": "The field holds no time.",
207784
+ "name": "blank",
207785
+ "inheritedFrom": {
207786
+ "name": "HelixHeadlessTimeInput",
207787
+ "module": "src/time-input/root/time-input-root.ts"
207788
+ }
207789
+ },
205913
207790
  {
205914
207791
  "description": "The control has an error to show, from the browser's validation or from your `feedback`.",
205915
207792
  "name": "invalid",
@@ -206095,6 +207972,20 @@
206095
207972
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
206096
207973
  }
206097
207974
  },
207975
+ {
207976
+ "kind": "field",
207977
+ "name": "touched",
207978
+ "type": {
207979
+ "text": "boolean"
207980
+ },
207981
+ "privacy": "private",
207982
+ "default": "false",
207983
+ "description": "Whether the reader has committed an answer, or a form has refused the\npicker. A reset forgets it.",
207984
+ "inheritedFrom": {
207985
+ "name": "MixinPickerFeedback",
207986
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
207987
+ }
207988
+ },
206098
207989
  {
206099
207990
  "kind": "field",
206100
207991
  "name": "marked",
@@ -206102,13 +207993,44 @@
206102
207993
  "text": "boolean"
206103
207994
  },
206104
207995
  "privacy": "protected",
206105
- "description": "Whether a reader is told the answer is wrong: `invalid`, or `feedback`.",
207996
+ "description": "Whether a reader is told the answer is wrong: `invalid`, `feedback`, a\nheld answer the picker refuses, or a missing answer once the reader has\ncommitted one or a form has refused the picker.\n\n**A refused answer is marked at once, and a missing one waits**, as\nChromium's tree does for native controls: a time input holding a time\npast its `max` reports invalid on load, and an empty required text field\ndoes not, since the reader already hears that it is required. Measured\nbefore this on Time Picker: `value=\"13:00\" max=\"12:00\"` reported\n`rangeOverflow` while the list said nothing and `:state(invalid)` was off.",
206106
207997
  "readonly": true,
206107
207998
  "inheritedFrom": {
206108
207999
  "name": "MixinPickerFeedback",
206109
208000
  "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
206110
208001
  }
206111
208002
  },
208003
+ {
208004
+ "kind": "field",
208005
+ "name": "failure",
208006
+ "type": {
208007
+ "text": "'missing' | 'refused' | undefined"
208008
+ },
208009
+ "privacy": "protected",
208010
+ "description": "What the picker's own validation finds: `missing`, `refused`, or\nnothing, which is what a picker that does not answer it reports.",
208011
+ "readonly": true,
208012
+ "inheritedFrom": {
208013
+ "name": "MixinPickerFeedback",
208014
+ "module": "src/mixins/mixin-picker-feedback/mixin-picker-feedback.ts"
208015
+ }
208016
+ },
208017
+ {
208018
+ "kind": "method",
208019
+ "name": "formResetCallback",
208020
+ "return": {
208021
+ "type": {
208022
+ "text": "void"
208023
+ }
208024
+ },
208025
+ "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
208026
+ "inheritedFrom": {
208027
+ "name": "HelixFormElement",
208028
+ "module": "src/helix-form-element/helix-form-element.ts"
208029
+ },
208030
+ "type": {
208031
+ "text": "formResetCallback() => void"
208032
+ }
208033
+ },
206112
208034
  {
206113
208035
  "kind": "method",
206114
208036
  "name": "renderPickerFeedback",
@@ -206234,23 +208156,6 @@
206234
208156
  "module": "src/mixins/mixin-controller-value/mixin-controller-value.ts"
206235
208157
  }
206236
208158
  },
206237
- {
206238
- "kind": "method",
206239
- "name": "formResetCallback",
206240
- "return": {
206241
- "type": {
206242
- "text": "void"
206243
- }
206244
- },
206245
- "description": "Returns the control to its `defaultValue`, or to its `value` attribute\nwhere there is no `default-value`.\n\nBoth halves are dropped, the consumer's and the control's, because a\nreset means the form is as it was served. Clearing only the internal one\nwould leave a control that had been written to stuck at that value.",
206246
- "inheritedFrom": {
206247
- "name": "HelixFormElement",
206248
- "module": "src/helix-form-element/helix-form-element.ts"
206249
- },
206250
- "type": {
206251
- "text": "formResetCallback() => void"
206252
- }
206253
- },
206254
208159
  {
206255
208160
  "kind": "method",
206256
208161
  "name": "formStateRestoreCallback",
@@ -206748,6 +208653,40 @@
206748
208653
  "module": "src/time-picker/root/time-picker-root.ts"
206749
208654
  }
206750
208655
  },
208656
+ {
208657
+ "kind": "field",
208658
+ "name": "previewed",
208659
+ "type": {
208660
+ "text": "string"
208661
+ },
208662
+ "privacy": "private",
208663
+ "default": "''",
208664
+ "description": "The time under the pointer while a range holds one end, which the list\nbands the range to before it is chosen, as Date Picker does.",
208665
+ "inheritedFrom": {
208666
+ "name": "HelixHeadlessTimePicker",
208667
+ "module": "src/time-picker/root/time-picker-root.ts"
208668
+ }
208669
+ },
208670
+ {
208671
+ "kind": "field",
208672
+ "name": "handleListHover",
208673
+ "privacy": "private",
208674
+ "readonly": true,
208675
+ "inheritedFrom": {
208676
+ "name": "HelixHeadlessTimePicker",
208677
+ "module": "src/time-picker/root/time-picker-root.ts"
208678
+ }
208679
+ },
208680
+ {
208681
+ "kind": "field",
208682
+ "name": "handleListLeave",
208683
+ "privacy": "private",
208684
+ "readonly": true,
208685
+ "inheritedFrom": {
208686
+ "name": "HelixHeadlessTimePicker",
208687
+ "module": "src/time-picker/root/time-picker-root.ts"
208688
+ }
208689
+ },
206751
208690
  {
206752
208691
  "kind": "method",
206753
208692
  "name": "between",
@@ -206765,7 +208704,7 @@
206765
208704
  }
206766
208705
  }
206767
208706
  ],
206768
- "description": "Whether a time falls inside a range, which is what gets banded.",
208707
+ "description": "Whether a time falls inside a range, which is what gets banded: the\nchosen range, or while one end waits, the run to the time under the\npointer.",
206769
208708
  "inheritedFrom": {
206770
208709
  "name": "HelixHeadlessTimePicker",
206771
208710
  "module": "src/time-picker/root/time-picker-root.ts"
@@ -207029,6 +208968,20 @@
207029
208968
  "module": "src/time-picker/root/time-picker-root.ts"
207030
208969
  }
207031
208970
  },
208971
+ {
208972
+ "kind": "field",
208973
+ "name": "problem",
208974
+ "type": {
208975
+ "text": "[ValidityStateFlags, string] | undefined"
208976
+ },
208977
+ "privacy": "private",
208978
+ "description": "What is wrong with the answer, as validity flags and a message, or nothing.\n`reportRequired` hands it to the form, and `failure` to the mark.",
208979
+ "readonly": true,
208980
+ "inheritedFrom": {
208981
+ "name": "HelixHeadlessTimePicker",
208982
+ "module": "src/time-picker/root/time-picker-root.ts"
208983
+ }
208984
+ },
207032
208985
  {
207033
208986
  "kind": "method",
207034
208987
  "name": "report",
@@ -208811,7 +210764,7 @@
208811
210764
  }
208812
210765
  },
208813
210766
  {
208814
- "description": "One time in the list. It carries `data-between` inside a range.",
210767
+ "description": "One time in the list. It carries `data-between` inside a range, and inside the run to the time under the pointer while a range waits for its second end.",
208815
210768
  "name": "option",
208816
210769
  "inheritedFrom": {
208817
210770
  "name": "HelixHeadlessTimePicker",
@@ -208923,13 +210876,21 @@
208923
210876
  }
208924
210877
  },
208925
210878
  {
208926
- "description": "While `invalid` is set or `feedback` says what is wrong.",
210879
+ "description": "While `invalid` is set, `feedback` says what is wrong, or the list carries `aria-invalid`.",
208927
210880
  "name": "invalid",
208928
210881
  "inheritedFrom": {
208929
210882
  "name": "HelixHeadlessTimePicker",
208930
210883
  "module": "src/time-picker/root/time-picker-root.ts"
208931
210884
  }
208932
210885
  },
210886
+ {
210887
+ "description": "While a `range` holds its first time and waits for the second.",
210888
+ "name": "range-pending",
210889
+ "inheritedFrom": {
210890
+ "name": "HelixHeadlessTimePicker",
210891
+ "module": "src/time-picker/root/time-picker-root.ts"
210892
+ }
210893
+ },
208933
210894
  {
208934
210895
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
208935
210896
  "name": "settled",
@@ -210844,6 +212805,14 @@
210844
212805
  "name": "HelixHeadlessToastItem",
210845
212806
  "module": "src/toast/item/toast-item.ts"
210846
212807
  }
212808
+ },
212809
+ {
212810
+ "description": "How far a swipe has moved the message down, in pixels, under a `swipe-direction` of `top` or `bottom`.",
212811
+ "name": "--toast-swipe-y",
212812
+ "inheritedFrom": {
212813
+ "name": "HelixHeadlessToastItem",
212814
+ "module": "src/toast/item/toast-item.ts"
212815
+ }
210847
212816
  }
210848
212817
  ],
210849
212818
  "members": [
@@ -211053,12 +213022,55 @@
211053
213022
  "module": "src/toast/item/toast-item.ts"
211054
213023
  }
211055
213024
  },
213025
+ {
213026
+ "kind": "field",
213027
+ "name": "regionHolding",
213028
+ "type": {
213029
+ "text": "boolean"
213030
+ },
213031
+ "privacy": "private",
213032
+ "default": "false",
213033
+ "description": "Whether the timer is held for `regionHeld`, so the hold is let go once.",
213034
+ "inheritedFrom": {
213035
+ "name": "HelixHeadlessToastItem",
213036
+ "module": "src/toast/item/toast-item.ts"
213037
+ }
213038
+ },
213039
+ {
213040
+ "kind": "method",
213041
+ "name": "holdForRegion",
213042
+ "privacy": "private",
213043
+ "return": {
213044
+ "type": {
213045
+ "text": "void"
213046
+ }
213047
+ },
213048
+ "description": "Holds the timer while the region asks, and lets it go once.",
213049
+ "inheritedFrom": {
213050
+ "name": "HelixHeadlessToastItem",
213051
+ "module": "src/toast/item/toast-item.ts"
213052
+ }
213053
+ },
213054
+ {
213055
+ "kind": "field",
213056
+ "name": "swipeTo",
213057
+ "type": {
213058
+ "text": "ReturnType<typeof swipeEdge>"
213059
+ },
213060
+ "privacy": "private",
213061
+ "description": "The physical edge a swipe dismisses toward.",
213062
+ "readonly": true,
213063
+ "inheritedFrom": {
213064
+ "name": "HelixHeadlessToastItem",
213065
+ "module": "src/toast/item/toast-item.ts"
213066
+ }
213067
+ },
211056
213068
  {
211057
213069
  "kind": "field",
211058
213070
  "name": "swipes",
211059
213071
  "privacy": "protected",
211060
213072
  "readonly": true,
211061
- "default": "new SwipeController(this, { axis: () => (this.open ? 'x' : undefined), end: (dx, _dy, vx) => { const edge = swipeEdge('end', isRtl(this)) const width = this.partNamed('item')?.getBoundingClientRect().width ?? 0 const shown = settleSwipe({ points: [1], size: width, travel: Math.max(0, towardEdge(edge, dx, 0)), velocity: towardEdge(edge, vx, 0), }) if (shown === 0 && this.dismiss()) { return } this.slide(0) }, move: (dx) => this.slide(Math.max(0, towardEdge(swipeEdge('end', isRtl(this)), dx, 0))), start: (_target, event) => event.pointerType !== 'mouse', surface: () => this.partNamed('item'), })",
213073
+ "default": "new SwipeController(this, { axis: () => (this.open ? swipeAxis(this.swipeTo) : undefined), end: (dx, dy, vx, vy) => { const edge = this.swipeTo const box = this.partNamed('item')?.getBoundingClientRect() const across = swipeAxis(edge) === 'x' const shown = settleSwipe({ points: [1], size: (across ? box?.width : box?.height) ?? 0, travel: Math.max(0, towardEdge(edge, dx, dy)), velocity: towardEdge(edge, vx, vy), }) if (shown === 0 && this.dismiss()) { return } this.slide(0) }, move: (dx, dy) => this.slide(Math.max(0, towardEdge(this.swipeTo, dx, dy))), start: (_target, event) => event.pointerType !== 'mouse', surface: () => this.partNamed('item'), })",
211062
213074
  "inheritedFrom": {
211063
213075
  "name": "HelixHeadlessToastItem",
211064
213076
  "module": "src/toast/item/toast-item.ts"
@@ -211081,7 +213093,7 @@
211081
213093
  }
211082
213094
  }
211083
213095
  ],
211084
- "description": "Writes how far a swipe has moved the message toward the end of the line.",
213096
+ "description": "Writes how far a swipe has moved the message toward its edge.",
211085
213097
  "inheritedFrom": {
211086
213098
  "name": "HelixHeadlessToastItem",
211087
213099
  "module": "src/toast/item/toast-item.ts"
@@ -211903,7 +213915,7 @@
211903
213915
  }
211904
213916
  },
211905
213917
  {
211906
- "description": "The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.",
213918
+ "description": "The dismiss timer is paused, while a pointer or focus is on the message or in the stack, or while the page is hidden.",
211907
213919
  "name": "paused",
211908
213920
  "inheritedFrom": {
211909
213921
  "name": "HelixHeadlessToastItem",
@@ -212079,6 +214091,19 @@
212079
214091
  "module": "src/toast/root/toast-root.ts"
212080
214092
  }
212081
214093
  },
214094
+ {
214095
+ "kind": "field",
214096
+ "name": "swipeDirection",
214097
+ "type": {
214098
+ "text": "'bottom' | 'end' | 'start' | 'top' | undefined"
214099
+ },
214100
+ "description": "The edge a touch or a pen swipes a message toward to dismiss it: `end`,\nthe end of the line, or `start`, `top` or `bottom`. Unset is `end`.",
214101
+ "attribute": "swipe-direction",
214102
+ "inheritedFrom": {
214103
+ "name": "HelixHeadlessToast",
214104
+ "module": "src/toast/root/toast-root.ts"
214105
+ }
214106
+ },
212082
214107
  {
212083
214108
  "kind": "field",
212084
214109
  "name": "said",
@@ -212314,6 +214339,80 @@
212314
214339
  "module": "src/toast/root/toast-root.ts"
212315
214340
  }
212316
214341
  },
214342
+ {
214343
+ "kind": "field",
214344
+ "name": "pointerIn",
214345
+ "type": {
214346
+ "text": "boolean"
214347
+ },
214348
+ "privacy": "private",
214349
+ "default": "false",
214350
+ "description": "Whether a pointer is over the stack.",
214351
+ "inheritedFrom": {
214352
+ "name": "HelixHeadlessToast",
214353
+ "module": "src/toast/root/toast-root.ts"
214354
+ }
214355
+ },
214356
+ {
214357
+ "kind": "field",
214358
+ "name": "focusIn",
214359
+ "type": {
214360
+ "text": "boolean"
214361
+ },
214362
+ "privacy": "private",
214363
+ "default": "false",
214364
+ "description": "Whether focus is in the stack.",
214365
+ "inheritedFrom": {
214366
+ "name": "HelixHeadlessToast",
214367
+ "module": "src/toast/root/toast-root.ts"
214368
+ }
214369
+ },
214370
+ {
214371
+ "kind": "method",
214372
+ "name": "inform",
214373
+ "privacy": "private",
214374
+ "return": {
214375
+ "type": {
214376
+ "text": "void"
214377
+ }
214378
+ },
214379
+ "description": "Tells every message whether the stack holds its timer and which way it\nswipes, which only the region knows.",
214380
+ "inheritedFrom": {
214381
+ "name": "HelixHeadlessToast",
214382
+ "module": "src/toast/root/toast-root.ts"
214383
+ }
214384
+ },
214385
+ {
214386
+ "kind": "field",
214387
+ "name": "handlePointerEnter",
214388
+ "privacy": "private",
214389
+ "readonly": true,
214390
+ "inheritedFrom": {
214391
+ "name": "HelixHeadlessToast",
214392
+ "module": "src/toast/root/toast-root.ts"
214393
+ }
214394
+ },
214395
+ {
214396
+ "kind": "field",
214397
+ "name": "handlePointerLeave",
214398
+ "privacy": "private",
214399
+ "readonly": true,
214400
+ "inheritedFrom": {
214401
+ "name": "HelixHeadlessToast",
214402
+ "module": "src/toast/root/toast-root.ts"
214403
+ }
214404
+ },
214405
+ {
214406
+ "kind": "field",
214407
+ "name": "handleFocusOut",
214408
+ "privacy": "private",
214409
+ "readonly": true,
214410
+ "description": "Focus leaving the stack, and not moving between its messages.",
214411
+ "inheritedFrom": {
214412
+ "name": "HelixHeadlessToast",
214413
+ "module": "src/toast/root/toast-root.ts"
214414
+ }
214415
+ },
212317
214416
  {
212318
214417
  "kind": "field",
212319
214418
  "name": "held",
@@ -212931,6 +215030,18 @@
212931
215030
  "name": "HelixHeadlessToast",
212932
215031
  "module": "src/toast/root/toast-root.ts"
212933
215032
  }
215033
+ },
215034
+ {
215035
+ "name": "swipe-direction",
215036
+ "type": {
215037
+ "text": "'bottom' | 'end' | 'start' | 'top' | undefined"
215038
+ },
215039
+ "description": "The edge a touch or a pen swipes a message toward to dismiss it: `end`,\nthe end of the line, or `start`, `top` or `bottom`. Unset is `end`.",
215040
+ "fieldName": "swipeDirection",
215041
+ "inheritedFrom": {
215042
+ "name": "HelixHeadlessToast",
215043
+ "module": "src/toast/root/toast-root.ts"
215044
+ }
212934
215045
  }
212935
215046
  ],
212936
215047
  "events": [
@@ -213674,6 +215785,18 @@
213674
215785
  "module": "src/toggle/group/toggle-group.ts"
213675
215786
  }
213676
215787
  },
215788
+ {
215789
+ "kind": "field",
215790
+ "name": "marked",
215791
+ "privacy": "private",
215792
+ "readonly": true,
215793
+ "default": "new WeakSet<HelixHeadlessToggle>()",
215794
+ "description": "The items whose `selected` this group has written, which `adopt` passes\nover: the mark is this group's answer, and the markup declared nothing.\n\nMeasured before this: in a group with no default, choosing List and then\nresetting the form left List chosen and submitted, because `adopt` read\nthe mark `sync` had put on it as a declaration and made it the default.",
215795
+ "inheritedFrom": {
215796
+ "name": "HelixHeadlessToggleGroup",
215797
+ "module": "src/toggle/group/toggle-group.ts"
215798
+ }
215799
+ },
213677
215800
  {
213678
215801
  "kind": "method",
213679
215802
  "name": "sync",
@@ -213756,6 +215879,20 @@
213756
215879
  "module": "src/toggle/group/toggle-group.ts"
213757
215880
  }
213758
215881
  },
215882
+ {
215883
+ "kind": "field",
215884
+ "name": "allowEmptySelection",
215885
+ "type": {
215886
+ "text": "boolean"
215887
+ },
215888
+ "default": "false",
215889
+ "description": "Whether a press on the chosen item, or Space or Enter on it, takes it\nback so nothing is chosen, as React Aria's `ToggleButtonGroup` and\nRadix's `ToggleGroup` do in a single group. Absent, a single group always\nkeeps its choice once it has one, as a radio group does. A multiple group\nreleases a pressed item either way.",
215890
+ "attribute": "allow-empty-selection",
215891
+ "inheritedFrom": {
215892
+ "name": "HelixHeadlessToggleGroup",
215893
+ "module": "src/toggle/group/toggle-group.ts"
215894
+ }
215895
+ },
213759
215896
  {
213760
215897
  "kind": "field",
213761
215898
  "name": "focusable",
@@ -214858,6 +216995,19 @@
214858
216995
  "module": "src/mixins/mixin-field/mixin-field.ts"
214859
216996
  }
214860
216997
  },
216998
+ {
216999
+ "name": "allow-empty-selection",
217000
+ "type": {
217001
+ "text": "boolean"
217002
+ },
217003
+ "default": "false",
217004
+ "description": "Whether a press on the chosen item, or Space or Enter on it, takes it\nback so nothing is chosen, as React Aria's `ToggleButtonGroup` and\nRadix's `ToggleGroup` do in a single group. Absent, a single group always\nkeeps its choice once it has one, as a radio group does. A multiple group\nreleases a pressed item either way.",
217005
+ "fieldName": "allowEmptySelection",
217006
+ "inheritedFrom": {
217007
+ "name": "HelixHeadlessToggleGroup",
217008
+ "module": "src/toggle/group/toggle-group.ts"
217009
+ }
217010
+ },
214861
217011
  {
214862
217012
  "name": "label-placement",
214863
217013
  "type": {
@@ -215761,7 +217911,7 @@
215761
217911
  ],
215762
217912
  "cssStates": [
215763
217913
  {
215764
- "description": "The item is pressed, in a group where several can be.",
217914
+ "description": "The item is pressed, on its own or in a group where several can be.",
215765
217915
  "name": "pressed",
215766
217916
  "inheritedFrom": {
215767
217917
  "name": "HelixHeadlessToggle",
@@ -218675,6 +220825,19 @@
218675
220825
  "module": "src/tour/root/tour-root.ts"
218676
220826
  }
218677
220827
  },
220828
+ {
220829
+ "kind": "field",
220830
+ "name": "outsidePress",
220831
+ "type": {
220832
+ "text": "'block' | 'close' | undefined"
220833
+ },
220834
+ "description": "What a press outside the current stop and its target does while the tour\nruns. Unset, nothing: the page stays usable. `close` ends the tour, as\nSkip does, and `block` refuses the press.",
220835
+ "attribute": "outside-press",
220836
+ "inheritedFrom": {
220837
+ "name": "HelixHeadlessTour",
220838
+ "module": "src/tour/root/tour-root.ts"
220839
+ }
220840
+ },
218678
220841
  {
218679
220842
  "kind": "field",
218680
220843
  "name": "progress",
@@ -218955,6 +221118,66 @@
218955
221118
  "module": "src/tour/root/tour-root.ts"
218956
221119
  }
218957
221120
  },
221121
+ {
221122
+ "kind": "field",
221123
+ "name": "handleOutside",
221124
+ "privacy": "private",
221125
+ "readonly": true,
221126
+ "description": "Answers a press outside the current stop and its target, as\n`outside-press` asks. A press on the tour's own parts, the stop or the\ntarget is the reader using the tour.",
221127
+ "inheritedFrom": {
221128
+ "name": "HelixHeadlessTour",
221129
+ "module": "src/tour/root/tour-root.ts"
221130
+ }
221131
+ },
221132
+ {
221133
+ "kind": "field",
221134
+ "name": "entered",
221135
+ "type": {
221136
+ "text": "{ leave?: () => void; stop: HelixHeadlessTourStop } | undefined"
221137
+ },
221138
+ "privacy": "private",
221139
+ "description": "The stop whose `effect` has run, and the function to run on leaving it.",
221140
+ "inheritedFrom": {
221141
+ "name": "HelixHeadlessTour",
221142
+ "module": "src/tour/root/tour-root.ts"
221143
+ }
221144
+ },
221145
+ {
221146
+ "kind": "field",
221147
+ "name": "preparing",
221148
+ "type": {
221149
+ "text": "HelixHeadlessTourStop | undefined"
221150
+ },
221151
+ "privacy": "private",
221152
+ "description": "The stop held back while its `effect` settles.",
221153
+ "inheritedFrom": {
221154
+ "name": "HelixHeadlessTour",
221155
+ "module": "src/tour/root/tour-root.ts"
221156
+ }
221157
+ },
221158
+ {
221159
+ "kind": "method",
221160
+ "name": "enter",
221161
+ "privacy": "private",
221162
+ "return": {
221163
+ "type": {
221164
+ "text": "void"
221165
+ }
221166
+ },
221167
+ "parameters": [
221168
+ {
221169
+ "name": "stop",
221170
+ "type": {
221171
+ "text": "HelixHeadlessTourStop | undefined"
221172
+ }
221173
+ }
221174
+ ],
221175
+ "description": "Runs the current stop's `effect` as the tour reaches it, and the last\none's leaving function as it leaves, and holds the stop back while a\npromise settles.",
221176
+ "inheritedFrom": {
221177
+ "name": "HelixHeadlessTour",
221178
+ "module": "src/tour/root/tour-root.ts"
221179
+ }
221180
+ },
218958
221181
  {
218959
221182
  "kind": "field",
218960
221183
  "name": "revealed",
@@ -219685,6 +221908,18 @@
219685
221908
  "module": "src/tour/root/tour-root.ts"
219686
221909
  }
219687
221910
  },
221911
+ {
221912
+ "name": "outside-press",
221913
+ "type": {
221914
+ "text": "'block' | 'close' | undefined"
221915
+ },
221916
+ "description": "What a press outside the current stop and its target does while the tour\nruns. Unset, nothing: the page stays usable. `close` ends the tour, as\nSkip does, and `block` refuses the press.",
221917
+ "fieldName": "outsidePress",
221918
+ "inheritedFrom": {
221919
+ "name": "HelixHeadlessTour",
221920
+ "module": "src/tour/root/tour-root.ts"
221921
+ }
221922
+ },
219688
221923
  {
219689
221924
  "name": "progress",
219690
221925
  "type": {
@@ -219873,6 +222108,14 @@
219873
222108
  "module": "src/tour/root/tour-root.ts"
219874
222109
  }
219875
222110
  },
222111
+ {
222112
+ "description": "While the tour waits for the current stop's `effect` before showing the stop.",
222113
+ "name": "preparing",
222114
+ "inheritedFrom": {
222115
+ "name": "HelixHeadlessTour",
222116
+ "module": "src/tour/root/tour-root.ts"
222117
+ }
222118
+ },
219876
222119
  {
219877
222120
  "description": "While the tour waits at a `wait` stop for its target to be on the page.",
219878
222121
  "name": "waiting",
@@ -220045,6 +222288,18 @@
220045
222288
  "module": "src/tour/stop/tour-stop.ts"
220046
222289
  }
220047
222290
  },
222291
+ {
222292
+ "kind": "field",
222293
+ "name": "effect",
222294
+ "type": {
222295
+ "text": "TourStopEffect | undefined"
222296
+ },
222297
+ "description": "Run as the tour reaches the stop, before it is shown: see the description\nabove. A function, so it is set from script and has no attribute.",
222298
+ "inheritedFrom": {
222299
+ "name": "HelixHeadlessTourStop",
222300
+ "module": "src/tour/stop/tour-stop.ts"
222301
+ }
222302
+ },
220048
222303
  {
220049
222304
  "kind": "field",
220050
222305
  "name": "first",
@@ -220178,6 +222433,17 @@
220178
222433
  "module": "src/tour/stop/tour-stop.ts"
220179
222434
  }
220180
222435
  },
222436
+ {
222437
+ "kind": "field",
222438
+ "name": "phases",
222439
+ "privacy": "protected",
222440
+ "readonly": true,
222441
+ "default": "new OpenPhaseController(this, { mark: { entering: (on) => this.toggleState('entering', on), exiting: (on) => this.toggleState('exiting', on), }, open: () => this.current && this.type !== 'wait', surface: () => this.partNamed('bubble'), })",
222442
+ "inheritedFrom": {
222443
+ "name": "HelixHeadlessTourStop",
222444
+ "module": "src/tour/stop/tour-stop.ts"
222445
+ }
222446
+ },
220181
222447
  {
220182
222448
  "kind": "field",
220183
222449
  "name": "target",
@@ -221026,6 +223292,22 @@
221026
223292
  }
221027
223293
  ],
221028
223294
  "cssStates": [
223295
+ {
223296
+ "description": "From the moment the stop is shown until its entrance has finished.",
223297
+ "name": "entering",
223298
+ "inheritedFrom": {
223299
+ "name": "HelixHeadlessTourStop",
223300
+ "module": "src/tour/stop/tour-stop.ts"
223301
+ }
223302
+ },
223303
+ {
223304
+ "description": "From the moment the stop is left until its exit has finished.",
223305
+ "name": "exiting",
223306
+ "inheritedFrom": {
223307
+ "name": "HelixHeadlessTourStop",
223308
+ "module": "src/tour/stop/tour-stop.ts"
223309
+ }
223310
+ },
221029
223311
  {
221030
223312
  "description": "The panel sits below its target.",
221031
223313
  "name": "placed-bottom",
@@ -233901,6 +236183,6 @@
233901
236183
  ],
233902
236184
  "helix": {
233903
236185
  "package": "@fusion.dev/helix",
233904
- "version": "0.158.0"
236186
+ "version": "0.160.0"
233905
236187
  }
233906
236188
  }