@aurodesignsystem-dev/auro-formkit 0.0.0-pr1581.0 → 0.0.0-pr1582.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +15 -6
- package/components/combobox/demo/getting-started.min.js +15 -6
- package/components/combobox/demo/index.min.js +15 -6
- package/components/combobox/dist/index.js +15 -6
- package/components/combobox/dist/registered.js +15 -6
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/customize.min.js +15 -6
- package/components/datepicker/demo/index.min.js +15 -6
- package/components/datepicker/dist/index.js +15 -6
- package/components/datepicker/dist/registered.js +15 -6
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +14 -5
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +49 -22
- package/components/form/demo/getting-started.min.js +49 -22
- package/components/form/demo/index.min.js +49 -22
- package/components/form/demo/registerDemoDeps.min.js +49 -22
- package/components/input/demo/api.md +1 -1
- package/components/input/demo/customize.md +1 -1
- package/components/input/demo/customize.min.js +13 -4
- package/components/input/demo/getting-started.min.js +13 -4
- package/components/input/demo/index.min.js +13 -4
- package/components/input/dist/base-input.d.ts +2 -0
- package/components/input/dist/index.js +13 -4
- package/components/input/dist/registered.js +13 -4
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +2 -2
- package/components/select/demo/getting-started.min.js +2 -2
- package/components/select/demo/index.min.js +2 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +4 -4
- package/package.json +3 -6
- package/ai/README.md +0 -142
- package/ai/_a11y-baseline.md +0 -27
- package/ai/_authored/_defaults.overlay.yaml +0 -81
- package/ai/_authored/auro-checkbox.overlay.yaml +0 -22
- package/ai/_authored/auro-combobox.overlay.yaml +0 -37
- package/ai/_authored/auro-counter.overlay.yaml +0 -23
- package/ai/_authored/auro-datepicker.overlay.yaml +0 -44
- package/ai/_authored/auro-dropdown.overlay.yaml +0 -35
- package/ai/_authored/auro-form.overlay.yaml +0 -12
- package/ai/_authored/auro-input.overlay.yaml +0 -33
- package/ai/_authored/auro-menu.overlay.yaml +0 -21
- package/ai/_authored/auro-radio.overlay.yaml +0 -19
- package/ai/_authored/auro-select.overlay.yaml +0 -37
- package/ai/_prompt-template.md +0 -33
- package/ai/llms.txt +0 -26
- package/ai/specs/auro-checkbox.spec.yaml +0 -181
- package/ai/specs/auro-combobox.spec.yaml +0 -349
- package/ai/specs/auro-counter.spec.yaml +0 -215
- package/ai/specs/auro-datepicker.spec.yaml +0 -395
- package/ai/specs/auro-dropdown.spec.yaml +0 -295
- package/ai/specs/auro-form.spec.yaml +0 -148
- package/ai/specs/auro-input.spec.yaml +0 -392
- package/ai/specs/auro-menu.spec.yaml +0 -213
- package/ai/specs/auro-radio.spec.yaml +0 -184
- package/ai/specs/auro-select.spec.yaml +0 -324
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
# GENERATED by packages/build-tools/src/aiSpecGenerator.mjs — do not edit by hand.
|
|
2
|
-
# Authored inputs live in ai/_authored/auro-counter.overlay.yaml
|
|
3
|
-
component: auro-counter
|
|
4
|
-
version: 0.0.0
|
|
5
|
-
summary: Numeric stepper with increment/decrement buttons; composes into a counter-group. Native closest is <input type="number"> or a role="spinbutton" with real +/- buttons.
|
|
6
|
-
generatedFrom:
|
|
7
|
-
cem: custom-elements.json#auro-counter
|
|
8
|
-
cssRecipe: components/counter/demo/css-only.md
|
|
9
|
-
overlay: ai/_authored/auro-counter.overlay.yaml
|
|
10
|
-
sourceOfTruth:
|
|
11
|
-
component: components/counter/src/auro-counter.js
|
|
12
|
-
visual:
|
|
13
|
-
tokensImport: ./node_modules/@aurodesignsystem/design-tokens/dist/tokens/CSSCustomProperties.css
|
|
14
|
-
rule: NEVER hardcode a hex, px, rem, or font-family value. Every visual value MUST be an Auro --ds-* token via var(--ds-token, fallback). Literal values are allowed only as the second argument (fallback) of var().
|
|
15
|
-
css: |-
|
|
16
|
-
@import "./node_modules/@aurodesignsystem/design-tokens/dist/tokens/CSSCustomProperties.css";
|
|
17
|
-
|
|
18
|
-
.counter {
|
|
19
|
-
display: inline-flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
gap: var(--ds-size-200, 1rem);
|
|
22
|
-
font-family: var(--ds-font-family-default, sans-serif);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.counter__button {
|
|
26
|
-
appearance: none;
|
|
27
|
-
-webkit-appearance: none;
|
|
28
|
-
width: var(--ds-size-400, 2rem);
|
|
29
|
-
height: var(--ds-size-400, 2rem);
|
|
30
|
-
border: 1px solid var(--ds-color-border-ui-default, #6e767f);
|
|
31
|
-
border-radius: 50%;
|
|
32
|
-
background-color: var(--ds-color-container-primary-default, #ffffff);
|
|
33
|
-
color: var(--ds-color-text-primary-default, #00467f);
|
|
34
|
-
font-size: var(--ds-size-300, 1.5rem);
|
|
35
|
-
line-height: 1;
|
|
36
|
-
cursor: pointer;
|
|
37
|
-
display: inline-flex;
|
|
38
|
-
align-items: center;
|
|
39
|
-
justify-content: center;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.counter__button:focus-visible {
|
|
43
|
-
outline: 2px solid var(--ds-color-border-active-default, #01426a);
|
|
44
|
-
outline-offset: 2px;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.counter__button:disabled {
|
|
48
|
-
cursor: not-allowed;
|
|
49
|
-
opacity: 0.5;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.counter__value {
|
|
53
|
-
appearance: textfield;
|
|
54
|
-
-moz-appearance: textfield;
|
|
55
|
-
width: var(--ds-size-500, 2.5rem);
|
|
56
|
-
border: none;
|
|
57
|
-
background: transparent;
|
|
58
|
-
text-align: center;
|
|
59
|
-
font-size: var(--ds-size-300, 1.5rem);
|
|
60
|
-
color: var(--ds-color-text-primary-default, #2a2a2a);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.counter__value::-webkit-outer-spin-button,
|
|
64
|
-
.counter__value::-webkit-inner-spin-button {
|
|
65
|
-
-webkit-appearance: none;
|
|
66
|
-
margin: 0;
|
|
67
|
-
}
|
|
68
|
-
api:
|
|
69
|
-
attributes:
|
|
70
|
-
- name: appearance
|
|
71
|
-
tier: wc-only
|
|
72
|
-
default: '''default'''
|
|
73
|
-
description: Defines whether the component will be on lighter or darker backgrounds.
|
|
74
|
-
- name: defaultSlot
|
|
75
|
-
tier: wc-only
|
|
76
|
-
description: The default slot content.
|
|
77
|
-
- name: disabled
|
|
78
|
-
tier: core
|
|
79
|
-
native: disabled
|
|
80
|
-
description: Indicates if the counter is disabled.
|
|
81
|
-
- name: disableMax
|
|
82
|
-
tier: enhanced
|
|
83
|
-
description: Group will attach to counter to disable the increment button.
|
|
84
|
-
- name: disableMin
|
|
85
|
-
tier: enhanced
|
|
86
|
-
description: Group will attach to counter to disable the decrement button.
|
|
87
|
-
- name: error
|
|
88
|
-
tier: wc-only
|
|
89
|
-
description: Error state and message.
|
|
90
|
-
- name: max
|
|
91
|
-
tier: core
|
|
92
|
-
native: max
|
|
93
|
-
description: The maximum value for the counter.
|
|
94
|
-
- name: min
|
|
95
|
-
tier: core
|
|
96
|
-
native: min
|
|
97
|
-
description: The minimum value for the counter.
|
|
98
|
-
- name: onDark
|
|
99
|
-
tier: wc-only
|
|
100
|
-
description: DEPRECATED - use `appearance="inverse"` instead.
|
|
101
|
-
- name: validity
|
|
102
|
-
tier: wc-only
|
|
103
|
-
description: The validity state of the counter.
|
|
104
|
-
- name: value
|
|
105
|
-
tier: core
|
|
106
|
-
native: value
|
|
107
|
-
description: Sets the value of the counter.
|
|
108
|
-
slots:
|
|
109
|
-
- name: default
|
|
110
|
-
tier: core
|
|
111
|
-
description: Main label content for the counter.
|
|
112
|
-
- name: ariaLabel.minus
|
|
113
|
-
tier: core
|
|
114
|
-
description: Accessible label for the decrement button.
|
|
115
|
-
- name: ariaLabel.plus
|
|
116
|
-
tier: core
|
|
117
|
-
description: Accessible label for the increment button.
|
|
118
|
-
- name: helpText
|
|
119
|
-
tier: core
|
|
120
|
-
description: Help text content for the counter.
|
|
121
|
-
- name: description
|
|
122
|
-
tier: core
|
|
123
|
-
description: Descriptive content for the counter.
|
|
124
|
-
events:
|
|
125
|
-
- name: input
|
|
126
|
-
tier: core
|
|
127
|
-
methods:
|
|
128
|
-
- name: _initializeDefaults
|
|
129
|
-
tier: wc-only
|
|
130
|
-
- name: register
|
|
131
|
-
tier: wc-only
|
|
132
|
-
- name: increment
|
|
133
|
-
tier: wc-only
|
|
134
|
-
- name: decrement
|
|
135
|
-
tier: wc-only
|
|
136
|
-
- name: validate
|
|
137
|
-
tier: wc-only
|
|
138
|
-
behavior:
|
|
139
|
-
a11y:
|
|
140
|
-
- Every control MUST have a programmatically associated <label> (for/id or wrapping).
|
|
141
|
-
- Link help text via aria-describedby so it is announced after the label.
|
|
142
|
-
- Reflect invalid state with aria-invalid="true|false" on the control.
|
|
143
|
-
- Render validation errors with role="alert" aria-live="assertive" so they announce immediately.
|
|
144
|
-
- Use <input type="number"> with an associated <label>, or role="spinbutton" with aria-valuenow/valuemin/valuemax.
|
|
145
|
-
- The minus/plus controls are real <button>s with accessible names (see the ariaLabel.minus / ariaLabel.plus slots).
|
|
146
|
-
keyboard:
|
|
147
|
-
- All interactive affordances are real, focusable elements in DOM order.
|
|
148
|
-
- Arrow Up/Down increment and decrement the value (native on number input).
|
|
149
|
-
validation:
|
|
150
|
-
- Clamp to min/max and disable the relevant button at the bounds; expose range errors with role="alert".
|
|
151
|
-
gaps:
|
|
152
|
-
- id: increment-and-decrement-button-wiring
|
|
153
|
-
feature: Increment and decrement button wiring
|
|
154
|
-
guidance: auro-counter exposes increment() and decrement() methods and handles all click wiring between its buttons and the displayed value.
|
|
155
|
-
- id: automatic-min-max-button-disabling
|
|
156
|
-
feature: Automatic min/max button disabling
|
|
157
|
-
guidance: auro-counter automatically disables the decrement button when the value is at min and the increment button when the value is at max, providing a clear visual signal that further changes are not allowed.
|
|
158
|
-
- id: group-level-min-max-coordination
|
|
159
|
-
feature: Group-level min/max coordination
|
|
160
|
-
guidance: auro-counter-group supports min and max properties that apply to the total of all child counters.
|
|
161
|
-
- id: coordinated-value-object-and-total
|
|
162
|
-
feature: Coordinated value object and total
|
|
163
|
-
guidance: auro-counter-group exposes a single value property as an object keyed by each counter's name, along with a separate total property for the aggregate sum.
|
|
164
|
-
- id: spinbutton-aria-semantics
|
|
165
|
-
feature: Spinbutton ARIA semantics
|
|
166
|
-
guidance: auro-counter renders a role="spinbutton" element with aria-valuemin, aria-valuemax, aria-valuenow, aria-valuetext, and aria-labelledby so assistive technology announces the value as a spinbutton — the role most screen readers expect for stepper controls.
|
|
167
|
-
- id: validation-and-error-messaging
|
|
168
|
-
feature: Validation and error messaging
|
|
169
|
-
guidance: auro-counter integrates with @aurodesignsystem/form-validation to expose a validity property, an error attribute, and a help text region that switches to an alert with role="alert" and aria-live="assertive" when invalid.
|
|
170
|
-
- id: keyboard-strategy
|
|
171
|
-
feature: Keyboard strategy
|
|
172
|
-
guidance: auro-counter and auro-counter-group install dedicated keyboard strategies that handle Arrow keys, Home/End, and tab order across the +/− buttons and the spinbutton, including ordered traversal of every counter inside a group.
|
|
173
|
-
- id: disabled-state-and-propagation
|
|
174
|
-
feature: Disabled state and propagation
|
|
175
|
-
guidance: auro-counter exposes a single disabled attribute that disables both buttons and removes the spinbutton from the tab order, and auro-counter-group propagates appearance and theming to all child counters.
|
|
176
|
-
- id: dropdown-layout
|
|
177
|
-
feature: Dropdown layout
|
|
178
|
-
guidance: auro-counter-group supports an isDropdown mode that renders the group inside an Auro dropdown with a trigger, value text, fullscreen breakpoint behavior, and configurable placement.
|
|
179
|
-
- id: form-integration-events
|
|
180
|
-
feature: Form integration events
|
|
181
|
-
guidance: auro-counter dispatches input events with a structured detail.value, and auro-counter-group dispatches input events carrying both detail.total and detail.value plus auroFormElement-validated events so a parent auro-form can coordinate validation.
|
|
182
|
-
- id: multi-brand-theming
|
|
183
|
-
feature: Multi-brand theming
|
|
184
|
-
guidance: auro-counter consumes Auro design tokens through its component logic, so it automatically picks up brand-specific theming when token packages are swapped.
|
|
185
|
-
examples:
|
|
186
|
-
- id: basic-counter
|
|
187
|
-
html: |-
|
|
188
|
-
<div class="counter">
|
|
189
|
-
<label for="passengers">Passengers</label>
|
|
190
|
-
<button type="button" class="counter__button" aria-label="Decrease passengers">−</button>
|
|
191
|
-
<input id="passengers" class="counter__value" type="number" min="0" max="9" step="1" value="0" />
|
|
192
|
-
<button type="button" class="counter__button" aria-label="Increase passengers">+</button>
|
|
193
|
-
</div>
|
|
194
|
-
- id: group-of-counters
|
|
195
|
-
html: |-
|
|
196
|
-
<fieldset>
|
|
197
|
-
<legend>Travelers</legend>
|
|
198
|
-
<div class="counter">
|
|
199
|
-
<label for="adults">Adults</label>
|
|
200
|
-
<button type="button" class="counter__button" aria-label="Decrease adults">−</button>
|
|
201
|
-
<input id="adults" class="counter__value" type="number" min="1" max="9" step="1" value="1" />
|
|
202
|
-
<button type="button" class="counter__button" aria-label="Increase adults">+</button>
|
|
203
|
-
</div>
|
|
204
|
-
<div class="counter">
|
|
205
|
-
<label for="children">Children</label>
|
|
206
|
-
<button type="button" class="counter__button" aria-label="Decrease children">−</button>
|
|
207
|
-
<input id="children" class="counter__value" type="number" min="0" max="8" step="1" value="0" />
|
|
208
|
-
<button type="button" class="counter__button" aria-label="Increase children">+</button>
|
|
209
|
-
</div>
|
|
210
|
-
</fieldset>
|
|
211
|
-
verify:
|
|
212
|
-
- every color, size, spacing, radius, and font value uses var(--ds-*)
|
|
213
|
-
- each control has an associated <label>
|
|
214
|
-
- controls with aria-invalid="true" have a role="alert" message referenced by aria-describedby
|
|
215
|
-
- 'axe: label, aria-valid-attr-value, color-contrast pass'
|
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
# GENERATED by packages/build-tools/src/aiSpecGenerator.mjs — do not edit by hand.
|
|
2
|
-
# Authored inputs live in ai/_authored/auro-datepicker.overlay.yaml
|
|
3
|
-
component: auro-datepicker
|
|
4
|
-
version: 0.0.0
|
|
5
|
-
summary: Date / date-range picker — a text input plus a calendar popup. Native closest is <input type="date"> (single date only; no range or blackout dates, and the browser's picker cannot be styled with Auro tokens).
|
|
6
|
-
generatedFrom:
|
|
7
|
-
cem: custom-elements.json#auro-datepicker
|
|
8
|
-
cssRecipe: components/datepicker/demo/css-only.md
|
|
9
|
-
overlay: ai/_authored/auro-datepicker.overlay.yaml
|
|
10
|
-
sourceOfTruth:
|
|
11
|
-
component: components/datepicker/src/auro-datepicker.js
|
|
12
|
-
visual:
|
|
13
|
-
tokensImport: ./node_modules/@aurodesignsystem/design-tokens/dist/tokens/CSSCustomProperties.css
|
|
14
|
-
rule: NEVER hardcode a hex, px, rem, or font-family value. Every visual value MUST be an Auro --ds-* token via var(--ds-token, fallback). Literal values are allowed only as the second argument (fallback) of var().
|
|
15
|
-
css: |-
|
|
16
|
-
@import "./node_modules/@aurodesignsystem/design-tokens/dist/tokens/CSSCustomProperties.css";
|
|
17
|
-
|
|
18
|
-
.datepicker {
|
|
19
|
-
appearance: none;
|
|
20
|
-
-webkit-appearance: none;
|
|
21
|
-
width: 100%;
|
|
22
|
-
height: var(--ds-size-600, 3rem);
|
|
23
|
-
padding: 0 var(--ds-size-200, 1rem);
|
|
24
|
-
border: 1px solid var(--ds-color-border-ui-default, #6e767f);
|
|
25
|
-
border-radius: var(--ds-border-radius, 4px);
|
|
26
|
-
background-color: var(--ds-color-container-primary-default, #ffffff);
|
|
27
|
-
color: var(--ds-color-text-primary-default, #1d252c);
|
|
28
|
-
font-family: var(--ds-font-family-default, sans-serif);
|
|
29
|
-
font-size: var(--ds-text-body-default-size, 1rem);
|
|
30
|
-
line-height: var(--ds-text-body-default-height, 1.5);
|
|
31
|
-
cursor: pointer;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.datepicker:focus-visible {
|
|
35
|
-
outline: 2px solid var(--ds-color-border-active-default, #01426a);
|
|
36
|
-
outline-offset: 2px;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.datepicker:disabled {
|
|
40
|
-
cursor: not-allowed;
|
|
41
|
-
opacity: 0.5;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.datepicker:invalid {
|
|
45
|
-
border-color: var(--ds-color-border-error-default, #d50000);
|
|
46
|
-
}
|
|
47
|
-
api:
|
|
48
|
-
attributes:
|
|
49
|
-
- name: appearance
|
|
50
|
-
tier: wc-only
|
|
51
|
-
default: '"default"'
|
|
52
|
-
description: Defines whether the component will be on lighter or darker backgrounds.
|
|
53
|
-
- name: autoPlacement
|
|
54
|
-
tier: wc-only
|
|
55
|
-
default: 'false'
|
|
56
|
-
description: If declared, bib's position will be automatically calculated where to appear.
|
|
57
|
-
- name: blackoutDates
|
|
58
|
-
tier: wc-only
|
|
59
|
-
default: '[]'
|
|
60
|
-
description: Array of dates that cannot be selected.
|
|
61
|
-
- name: blackoutLabel
|
|
62
|
-
tier: wc-only
|
|
63
|
-
default: '''unavailable'''
|
|
64
|
-
description: Label announced for blackout (disabled but in-range) date cells.
|
|
65
|
-
- name: calendarEndDate
|
|
66
|
-
tier: wc-only
|
|
67
|
-
default: undefined
|
|
68
|
-
description: The last date that may be displayed in the calendar.
|
|
69
|
-
- name: calendarGridLabel
|
|
70
|
-
tier: wc-only
|
|
71
|
-
default: '''Calendar days of the month'''
|
|
72
|
-
description: Accessible label for the calendar grid containing the days of the month.
|
|
73
|
-
- name: calendarFocusDate
|
|
74
|
-
tier: wc-only
|
|
75
|
-
description: The date that will first be visually rendered to the user in the calendar.
|
|
76
|
-
- name: calendarStartDate
|
|
77
|
-
tier: wc-only
|
|
78
|
-
default: undefined
|
|
79
|
-
description: The first date that may be displayed in the calendar.
|
|
80
|
-
- name: centralDate
|
|
81
|
-
tier: wc-only
|
|
82
|
-
description: The date that determines the currently visible month.
|
|
83
|
-
- name: disabled
|
|
84
|
-
tier: core
|
|
85
|
-
native: disabled
|
|
86
|
-
default: 'false'
|
|
87
|
-
description: If set, disables the datepicker.
|
|
88
|
-
- name: dvInputOnly
|
|
89
|
-
tier: wc-only
|
|
90
|
-
default: 'false'
|
|
91
|
-
description: If defined, the display value slot content will only mask the HTML5 input element.
|
|
92
|
-
- name: error
|
|
93
|
-
tier: wc-only
|
|
94
|
-
description: When defined, sets persistent validity to `customError` and sets the validation message to the attribute value.
|
|
95
|
-
- name: format
|
|
96
|
-
tier: wc-only
|
|
97
|
-
description: Specifies the date format.
|
|
98
|
-
- name: locale
|
|
99
|
-
tier: enhanced
|
|
100
|
-
description: Defines the locale of the element.
|
|
101
|
-
- name: fullscreenBreakpoint
|
|
102
|
-
tier: wc-only
|
|
103
|
-
default: '''sm'''
|
|
104
|
-
description: Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile.
|
|
105
|
-
- name: hasAllValues
|
|
106
|
-
tier: enhanced
|
|
107
|
-
default: 'false'
|
|
108
|
-
- name: hasFocus
|
|
109
|
-
tier: enhanced
|
|
110
|
-
default: 'false'
|
|
111
|
-
- name: hasValue
|
|
112
|
-
tier: enhanced
|
|
113
|
-
default: 'false'
|
|
114
|
-
- name: inputmode
|
|
115
|
-
tier: core
|
|
116
|
-
native: inputmode
|
|
117
|
-
description: Exposes inputmode attribute for input.
|
|
118
|
-
- name: largeFullscreenHeadline
|
|
119
|
-
tier: wc-only
|
|
120
|
-
default: 'false'
|
|
121
|
-
description: If declared, make bib.fullscreen.headline in HeadingDisplay.
|
|
122
|
-
- name: layout
|
|
123
|
-
tier: wc-only
|
|
124
|
-
default: '''classic'''
|
|
125
|
-
description: Sets the layout of the datepicker.
|
|
126
|
-
- name: maxDate
|
|
127
|
-
tier: core
|
|
128
|
-
native: max
|
|
129
|
-
description: Maximum date.
|
|
130
|
-
- name: minDate
|
|
131
|
-
tier: core
|
|
132
|
-
native: min
|
|
133
|
-
description: Minimum date.
|
|
134
|
-
- name: monthFirst
|
|
135
|
-
tier: wc-only
|
|
136
|
-
- name: monthNames
|
|
137
|
-
tier: wc-only
|
|
138
|
-
description: Names of all 12 months to render in the calendar.
|
|
139
|
-
- name: navLabelNextMonth
|
|
140
|
-
tier: wc-only
|
|
141
|
-
default: '''Next month'''
|
|
142
|
-
description: Accessible label for the next month navigation button.
|
|
143
|
-
- name: navLabelPrevMonth
|
|
144
|
-
tier: wc-only
|
|
145
|
-
default: '''Previous month'''
|
|
146
|
-
description: Accessible label for the previous month navigation button.
|
|
147
|
-
- name: noFlip
|
|
148
|
-
tier: wc-only
|
|
149
|
-
default: 'false'
|
|
150
|
-
description: If declared, the bib will NOT flip to an alternate position when there isn't enough space in the specified `placement`.
|
|
151
|
-
- name: noValidate
|
|
152
|
-
tier: wc-only
|
|
153
|
-
default: 'false'
|
|
154
|
-
description: If set, disables auto-validation on blur.
|
|
155
|
-
- name: offset
|
|
156
|
-
tier: wc-only
|
|
157
|
-
default: '0'
|
|
158
|
-
description: Gap between the trigger element and bib.
|
|
159
|
-
- name: onDark
|
|
160
|
-
tier: wc-only
|
|
161
|
-
default: 'false'
|
|
162
|
-
description: DEPRECATED - use `appearance="inverse"` instead.
|
|
163
|
-
- name: placeholder
|
|
164
|
-
tier: core
|
|
165
|
-
native: placeholder
|
|
166
|
-
description: Placeholder text to display in the input(s) when no value is set.
|
|
167
|
-
- name: placeholderEndDate
|
|
168
|
-
tier: enhanced
|
|
169
|
-
description: Optional placeholder text to display in the second input when using date range.
|
|
170
|
-
- name: placement
|
|
171
|
-
tier: wc-only
|
|
172
|
-
default: '''bottom-start'''
|
|
173
|
-
description: Position where the bib should appear relative to the trigger.
|
|
174
|
-
- name: range
|
|
175
|
-
tier: wc-only
|
|
176
|
-
default: 'false'
|
|
177
|
-
description: If set, turns on date range functionality in auro-calendar.
|
|
178
|
-
- name: rangeLabelAfterRange
|
|
179
|
-
tier: enhanced
|
|
180
|
-
default: '''after range'''
|
|
181
|
-
description: Label announced for cells after a fully selected range (both `dateFrom` and `dateTo` are set).
|
|
182
|
-
- name: rangeLabelBeforeRange
|
|
183
|
-
tier: enhanced
|
|
184
|
-
default: '''before range'''
|
|
185
|
-
description: Label announced for cells before the range start.
|
|
186
|
-
- name: rangeLabelEnd
|
|
187
|
-
tier: enhanced
|
|
188
|
-
default: '''range end'''
|
|
189
|
-
description: Label announced for the range end date cell.
|
|
190
|
-
- name: rangeLabelEndPreview
|
|
191
|
-
tier: enhanced
|
|
192
|
-
default: '''previewing range end'''
|
|
193
|
-
description: Label announced for the focused cell while previewing a range end (dateFrom set, dateTo not yet selected).
|
|
194
|
-
- name: rangeLabelInRange
|
|
195
|
-
tier: enhanced
|
|
196
|
-
default: '''in range'''
|
|
197
|
-
description: Label announced for cells within the selected range.
|
|
198
|
-
- name: rangeLabelStart
|
|
199
|
-
tier: enhanced
|
|
200
|
-
default: '''range start'''
|
|
201
|
-
description: Label announced for the range start date cell.
|
|
202
|
-
- name: referenceDates
|
|
203
|
-
tier: wc-only
|
|
204
|
-
description: Dates that the user should have for reference as part of their decision-making when selecting a date.
|
|
205
|
-
- name: required
|
|
206
|
-
tier: core
|
|
207
|
-
native: required
|
|
208
|
-
default: 'false'
|
|
209
|
-
description: Populates the `required` attribute on the input.
|
|
210
|
-
- name: setCustomValidity
|
|
211
|
-
tier: wc-only
|
|
212
|
-
description: Sets a custom help text message to display for all validityStates.
|
|
213
|
-
- name: setCustomValidityCustomError
|
|
214
|
-
tier: enhanced
|
|
215
|
-
description: Custom help text message to display when validity = `customError`.
|
|
216
|
-
- name: setCustomValidityRangeOverflow
|
|
217
|
-
tier: enhanced
|
|
218
|
-
description: Custom help text message to display when validity = `rangeOverflow`.
|
|
219
|
-
- name: setCustomValidityRangeUnderflow
|
|
220
|
-
tier: enhanced
|
|
221
|
-
description: Custom help text message to display when validity = `rangeUnderflow`.
|
|
222
|
-
- name: setCustomValidityValueMissing
|
|
223
|
-
tier: enhanced
|
|
224
|
-
description: Custom help text message to display when validity = `valueMissing`.
|
|
225
|
-
- name: shift
|
|
226
|
-
tier: wc-only
|
|
227
|
-
default: 'false'
|
|
228
|
-
description: If declared, the dropdown will shift its position to avoid being cut off by the viewport.
|
|
229
|
-
- name: stacked
|
|
230
|
-
tier: wc-only
|
|
231
|
-
default: 'false'
|
|
232
|
-
description: Set true to make datepicker stacked style.
|
|
233
|
-
- name: validity
|
|
234
|
-
tier: wc-only
|
|
235
|
-
default: undefined
|
|
236
|
-
description: Specifies the `validityState` this element is in.
|
|
237
|
-
- name: value
|
|
238
|
-
tier: core
|
|
239
|
-
native: value (on a native <input type="date">)
|
|
240
|
-
default: undefined
|
|
241
|
-
description: Value selected for the datepicker.
|
|
242
|
-
- name: valueEnd
|
|
243
|
-
tier: wc-only
|
|
244
|
-
default: undefined
|
|
245
|
-
description: Value selected for the second datepicker when using date range.
|
|
246
|
-
- name: shape
|
|
247
|
-
tier: wc-only
|
|
248
|
-
- name: size
|
|
249
|
-
tier: enhanced
|
|
250
|
-
- name: ondark
|
|
251
|
-
tier: wc-only
|
|
252
|
-
slots:
|
|
253
|
-
- name: helpText
|
|
254
|
-
tier: core
|
|
255
|
-
description: Defines the content of the helpText.
|
|
256
|
-
- name: ariaLabel.bib.close
|
|
257
|
-
tier: core
|
|
258
|
-
description: Sets aria-label on close button in fullscreen bib
|
|
259
|
-
- name: ariaLabel.input.clear
|
|
260
|
-
tier: core
|
|
261
|
-
description: Sets aria-label on clear button
|
|
262
|
-
- name: bib.fullscreen.headline
|
|
263
|
-
tier: core
|
|
264
|
-
description: Defines the headline to display above bib.fullscreen.dateLabels in the mobile layout.
|
|
265
|
-
- name: bib.fullscreen.dateLabel
|
|
266
|
-
tier: core
|
|
267
|
-
description: '**DEPRECATED** - Use `bib.fullscreen.fromLabel` instead.'
|
|
268
|
-
- name: bib.fullscreen.fromLabel
|
|
269
|
-
tier: core
|
|
270
|
-
description: Defines the content to display above the first input in the mobile layout.
|
|
271
|
-
- name: bib.fullscreen.toLabel
|
|
272
|
-
tier: core
|
|
273
|
-
description: Defines the content to display above the second input in the mobile layout when `range` is true.
|
|
274
|
-
- name: label
|
|
275
|
-
tier: core
|
|
276
|
-
description: Defines the label content for the entire datepicker when `layout="snowflake"`.
|
|
277
|
-
- name: toLabel
|
|
278
|
-
tier: core
|
|
279
|
-
description: Defines the label content for the second input when the `range` attribute is used.
|
|
280
|
-
- name: fromLabel
|
|
281
|
-
tier: core
|
|
282
|
-
description: Defines the label content for the first input.
|
|
283
|
-
- name: optionalFromLabel
|
|
284
|
-
tier: core
|
|
285
|
-
description: Overrides the "(optional)" text rendered next to the first input's label when the datepicker is not `required`.
|
|
286
|
-
- name: optionalToLabel
|
|
287
|
-
tier: core
|
|
288
|
-
description: Overrides the "(optional)" text rendered next to the second input's label when `range` is set and the datepicker is not `required`.
|
|
289
|
-
- name: date_YYYY_MM_DD
|
|
290
|
-
tier: core
|
|
291
|
-
description: Defines the content to display in the auro-calendar-cell for the specified date.
|
|
292
|
-
- name: popover_YYYY_MM_DD
|
|
293
|
-
tier: core
|
|
294
|
-
description: Defines the content to display in the auro-calendar-cell popover for the specified date.
|
|
295
|
-
events:
|
|
296
|
-
- name: input
|
|
297
|
-
tier: core
|
|
298
|
-
- name: auroDatePicker-toggled
|
|
299
|
-
tier: wc-only
|
|
300
|
-
description: Notifies that the calendar dropdown has been opened/closed.
|
|
301
|
-
- name: auroDatePicker-monthChanged
|
|
302
|
-
tier: wc-only
|
|
303
|
-
description: Notifies that the visible calendar month(s) have changed.
|
|
304
|
-
- name: auroDatePicker-newSlotContent
|
|
305
|
-
tier: wc-only
|
|
306
|
-
description: Notifies that new slot content has been added to the datepicker.
|
|
307
|
-
- name: auroFormElement-validated
|
|
308
|
-
tier: wc-only
|
|
309
|
-
description: Notifies that the component value(s) have been validated.
|
|
310
|
-
methods:
|
|
311
|
-
- name: register
|
|
312
|
-
tier: wc-only
|
|
313
|
-
- name: focus
|
|
314
|
-
tier: wc-only
|
|
315
|
-
- name: hideBib
|
|
316
|
-
tier: wc-only
|
|
317
|
-
- name: showBib
|
|
318
|
-
tier: wc-only
|
|
319
|
-
- name: resetInputs
|
|
320
|
-
tier: wc-only
|
|
321
|
-
- name: reset
|
|
322
|
-
tier: wc-only
|
|
323
|
-
- name: clear
|
|
324
|
-
tier: wc-only
|
|
325
|
-
- name: validate
|
|
326
|
-
tier: wc-only
|
|
327
|
-
- name: resetShapeClasses
|
|
328
|
-
tier: wc-only
|
|
329
|
-
- name: resetLayoutClasses
|
|
330
|
-
tier: wc-only
|
|
331
|
-
- name: updateComponentArchitecture
|
|
332
|
-
tier: wc-only
|
|
333
|
-
behavior:
|
|
334
|
-
a11y:
|
|
335
|
-
- Every control MUST have a programmatically associated <label> (for/id or wrapping).
|
|
336
|
-
- Link help text via aria-describedby so it is announced after the label.
|
|
337
|
-
- Reflect invalid state with aria-invalid="true|false" on the control.
|
|
338
|
-
- Render validation errors with role="alert" aria-live="assertive" so they announce immediately.
|
|
339
|
-
- Label the date input; the calendar popup is a dialog containing a grid (role="grid") of day cells.
|
|
340
|
-
- Provide accessible names for the previous/next month navigation and announce the selected date(s).
|
|
341
|
-
keyboard:
|
|
342
|
-
- All interactive affordances are real, focusable elements in DOM order.
|
|
343
|
-
- Arrow keys move between days, PageUp/PageDown change month, Enter selects, Esc closes.
|
|
344
|
-
validation:
|
|
345
|
-
- Range selection, blackout dates, and min/max beyond a single value are scripted; native <input type="date"> only supports min/max on one date.
|
|
346
|
-
gaps:
|
|
347
|
-
- id: accessibility
|
|
348
|
-
feature: Accessibility
|
|
349
|
-
guidance: Native date inputs vary widely across browsers and platforms, with inconsistent screen reader announcements, keyboard behavior, and focus management.
|
|
350
|
-
- id: date-range-selection
|
|
351
|
-
feature: Date range selection
|
|
352
|
-
guidance: HTML has no native concept of a date range picker.
|
|
353
|
-
- id: blackout-dates
|
|
354
|
-
feature: Blackout dates
|
|
355
|
-
guidance: Native date inputs have no mechanism to mark specific dates as unavailable.
|
|
356
|
-
- id: custom-validation
|
|
357
|
-
feature: Custom validation
|
|
358
|
-
guidance: Native date validation is limited to required, min, and max, and error messages are browser-controlled.
|
|
359
|
-
- id: responsive-layout
|
|
360
|
-
feature: Responsive layout
|
|
361
|
-
guidance: Native date inputs render a small, browser-controlled popup that cannot be styled or repositioned.
|
|
362
|
-
- id: localization
|
|
363
|
-
feature: Localization
|
|
364
|
-
guidance: Native <input type="date"> follows the browser's locale for display format but offers no control over month names, navigation labels, or ARIA text.
|
|
365
|
-
- id: custom-cell-content
|
|
366
|
-
feature: Custom cell content
|
|
367
|
-
guidance: Native date inputs render a fixed grid of numbers, with no way to add prices, icons, or supplementary information to individual dates.
|
|
368
|
-
- id: design-system-integration
|
|
369
|
-
feature: Design system integration
|
|
370
|
-
guidance: A native <input type="date"> cannot be styled to match a design system — shadow DOM browser controls resist CSS customization and the calendar popup is entirely outside author control.
|
|
371
|
-
examples:
|
|
372
|
-
- id: basic-date-input
|
|
373
|
-
html: |-
|
|
374
|
-
<label>
|
|
375
|
-
Departure date
|
|
376
|
-
<input type="date" class="datepicker" name="departure" />
|
|
377
|
-
</label>
|
|
378
|
-
- id: date-range-using-two-inputs
|
|
379
|
-
html: |-
|
|
380
|
-
<fieldset>
|
|
381
|
-
<legend>Travel dates</legend>
|
|
382
|
-
<label>
|
|
383
|
-
Departure
|
|
384
|
-
<input type="date" class="datepicker" name="departure" id="departure" />
|
|
385
|
-
</label>
|
|
386
|
-
<label>
|
|
387
|
-
Return
|
|
388
|
-
<input type="date" class="datepicker" name="return" id="return" />
|
|
389
|
-
</label>
|
|
390
|
-
</fieldset>
|
|
391
|
-
verify:
|
|
392
|
-
- every color, size, spacing, radius, and font value uses var(--ds-*)
|
|
393
|
-
- each control has an associated <label>
|
|
394
|
-
- controls with aria-invalid="true" have a role="alert" message referenced by aria-describedby
|
|
395
|
-
- 'axe: label, aria-valid-attr-value, color-contrast pass'
|