@aurodesignsystem-dev/auro-formkit 0.0.0-pr1474.4 → 0.0.0-pr1475.1
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/bibtemplate/dist/auro-bibtemplate.d.ts +7 -0
- package/components/bibtemplate/dist/index.js +9 -1
- package/components/bibtemplate/dist/registered.js +9 -1
- package/components/checkbox/demo/customize.html +2 -1
- 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.html +2 -1
- package/components/combobox/demo/customize.md +130 -106
- package/components/combobox/demo/customize.min.js +209 -16
- package/components/combobox/demo/getting-started.min.js +209 -16
- package/components/combobox/demo/index.min.js +209 -16
- package/components/combobox/dist/index.js +209 -16
- package/components/combobox/dist/registered.js +209 -16
- package/components/counter/demo/customize.min.js +208 -15
- package/components/counter/demo/index.min.js +208 -15
- package/components/counter/demo/keyboard-behavior.md +1 -0
- package/components/counter/dist/index.js +10 -2
- package/components/counter/dist/registered.js +10 -2
- package/components/datepicker/demo/accessibility.md +51 -3
- package/components/datepicker/demo/api.md +9 -0
- package/components/datepicker/demo/customize.html +2 -0
- package/components/datepicker/demo/customize.js +19 -0
- package/components/datepicker/demo/customize.md +72 -8
- package/components/datepicker/demo/customize.min.js +25690 -0
- package/components/datepicker/demo/design.md +3 -1
- package/components/datepicker/demo/index.js +2 -1
- package/components/datepicker/demo/index.md +81 -1
- package/components/datepicker/demo/index.min.js +1223 -101
- package/components/datepicker/demo/keyboard-behavior.md +201 -2
- package/components/datepicker/demo/voiceover.md +19 -12
- package/components/datepicker/dist/index.js +1155 -104
- package/components/datepicker/dist/registered.js +1155 -104
- package/components/datepicker/dist/src/auro-calendar-cell.d.ts +59 -0
- package/components/datepicker/dist/src/auro-calendar-month.d.ts +28 -0
- package/components/datepicker/dist/src/auro-calendar.d.ts +84 -0
- package/components/datepicker/dist/src/auro-datepicker.d.ts +80 -0
- package/components/datepicker/dist/src/datepickerKeyboardStrategy.d.ts +5 -3
- package/components/dropdown/demo/accessibility.md +11 -0
- package/components/dropdown/demo/api.md +1 -0
- package/components/dropdown/demo/customize.md +3 -0
- package/components/dropdown/demo/customize.min.js +198 -13
- package/components/dropdown/demo/getting-started.min.js +198 -13
- package/components/dropdown/demo/index.min.js +198 -13
- package/components/dropdown/demo/keyboard-behavior.md +1 -0
- package/components/dropdown/dist/auro-dropdown.d.ts +30 -1
- package/components/dropdown/dist/index.js +198 -13
- package/components/dropdown/dist/registered.js +198 -13
- package/components/form/demo/customize.html +6 -6
- package/components/form/demo/customize.js +0 -17
- package/components/form/demo/customize.md +51 -125
- package/components/form/demo/customize.min.js +1776 -327
- package/components/form/demo/getting-started.min.js +1776 -291
- package/components/form/demo/index.min.js +1776 -291
- package/components/form/demo/registerDemoDeps.min.js +1769 -139
- package/components/form/dist/auro-form.d.ts +5 -45
- package/components/form/dist/index.js +7 -152
- package/components/form/dist/registered.js +7 -152
- package/components/input/demo/customize.html +2 -1
- package/components/input/demo/customize.min.js +1 -1
- package/components/input/demo/getting-started.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/radio/demo/customize.min.js +2186 -0
- package/components/radio/demo/demo-support.min.js +55807 -0
- package/components/radio/demo/getting-started.js +1 -1
- package/components/radio/demo/getting-started.md +1 -1
- package/components/radio/demo/getting-started.min.js +2205 -0
- 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.html +2 -2
- package/components/select/demo/customize.min.js +208 -15
- package/components/select/demo/getting-started.min.js +208 -15
- package/components/select/demo/index.min.js +208 -15
- package/components/select/demo/keyboard-behavior.md +1 -0
- package/components/select/dist/index.js +208 -15
- package/components/select/dist/registered.js +208 -15
- package/custom-elements.json +2826 -2214
- package/package.json +2 -2
|
@@ -1521,7 +1521,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
};
|
|
1523
1523
|
|
|
1524
|
-
var formkitVersion$1 = '
|
|
1524
|
+
var formkitVersion$1 = '202605182202';
|
|
1525
1525
|
|
|
1526
1526
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1527
1527
|
// See LICENSE in the project root for license information.
|
|
@@ -5236,7 +5236,7 @@ function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
|
5236
5236
|
});
|
|
5237
5237
|
}
|
|
5238
5238
|
|
|
5239
|
-
var styleCss$2 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
5239
|
+
var styleCss$2 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host dialog{width:auto;max-width:none;height:auto;max-height:none;padding:0;border:none;margin:0;outline:none;transform:translateZ(0)}:host dialog::backdrop{background:transparent}:host(:not([isfullscreen])) dialog{position:relative;inset:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}:host([desktopmodal]:popover-open)::backdrop{background:transparent}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([isfullscreen]) .container::backdrop{background:var(--ds-color-background-primary, #fff)}:host(:popover-open){position:fixed;overflow:visible;padding:0;border:none;margin:0;background:transparent;inset:unset;outline:none}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}.util_displayHiddenVisually{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip-path:inset(50%);white-space:nowrap}`;
|
|
5240
5240
|
|
|
5241
5241
|
var colorCss$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
5242
5242
|
|
|
@@ -5867,7 +5867,7 @@ class AuroHelpText extends i$2 {
|
|
|
5867
5867
|
}
|
|
5868
5868
|
}
|
|
5869
5869
|
|
|
5870
|
-
var formkitVersion = '
|
|
5870
|
+
var formkitVersion = '202605182202';
|
|
5871
5871
|
|
|
5872
5872
|
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5873
5873
|
static get properties() {
|
|
@@ -6047,6 +6047,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6047
6047
|
_intializeDefaults() {
|
|
6048
6048
|
this.appearance = 'default';
|
|
6049
6049
|
this.chevron = false;
|
|
6050
|
+
this.desktopModal = false;
|
|
6050
6051
|
this.disabled = false;
|
|
6051
6052
|
this.disableKeyboardHandling = false;
|
|
6052
6053
|
this.error = false;
|
|
@@ -6227,6 +6228,14 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6227
6228
|
reflect: true
|
|
6228
6229
|
},
|
|
6229
6230
|
|
|
6231
|
+
/**
|
|
6232
|
+
* If declared, the dropdown will behave as a modal dialog when in a desktop viewport size.
|
|
6233
|
+
*/
|
|
6234
|
+
desktopModal: {
|
|
6235
|
+
type: Boolean,
|
|
6236
|
+
reflect: true
|
|
6237
|
+
},
|
|
6238
|
+
|
|
6230
6239
|
/**
|
|
6231
6240
|
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
6232
6241
|
*/
|
|
@@ -6514,6 +6523,15 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6514
6523
|
|
|
6515
6524
|
disconnectedCallback() {
|
|
6516
6525
|
super.disconnectedCallback();
|
|
6526
|
+
this._clearPageInert();
|
|
6527
|
+
if (this._bibTabHandler) {
|
|
6528
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
6529
|
+
this._bibTabHandler = undefined;
|
|
6530
|
+
}
|
|
6531
|
+
if (this.focusTrap) {
|
|
6532
|
+
this.focusTrap.disconnect();
|
|
6533
|
+
this.focusTrap = undefined;
|
|
6534
|
+
}
|
|
6517
6535
|
if (this.floater) {
|
|
6518
6536
|
this.floater.hideBib('disconnect');
|
|
6519
6537
|
this.floater.disconnect();
|
|
@@ -6541,19 +6559,34 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6541
6559
|
if (this.isPopoverVisible) {
|
|
6542
6560
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
6543
6561
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
6544
|
-
|
|
6545
|
-
this.
|
|
6562
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
6563
|
+
this.updateFocusTrap();
|
|
6564
|
+
|
|
6565
|
+
// Desktop modal: make siblings inert so content outside is not interactive
|
|
6566
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
6567
|
+
this._setPageInert();
|
|
6568
|
+
}
|
|
6546
6569
|
} else {
|
|
6547
6570
|
this.bibElement.value.close();
|
|
6571
|
+
this._clearPageInert();
|
|
6548
6572
|
}
|
|
6549
6573
|
}
|
|
6550
6574
|
|
|
6551
6575
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
6552
6576
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
6553
6577
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
6554
|
-
const useModal = this.isBibFullscreen;
|
|
6555
6578
|
this.bibElement.value.close();
|
|
6556
|
-
this.bibElement.value.open(
|
|
6579
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
6580
|
+
|
|
6581
|
+
// Re-initialize focus management for the new strategy
|
|
6582
|
+
this.updateFocusTrap();
|
|
6583
|
+
|
|
6584
|
+
// Toggle inert: desktop modal needs it, fullscreen showModal() handles it natively
|
|
6585
|
+
if (this.desktopModal && !this.isBibFullscreen) {
|
|
6586
|
+
this._setPageInert();
|
|
6587
|
+
} else {
|
|
6588
|
+
this._clearPageInert();
|
|
6589
|
+
}
|
|
6557
6590
|
}
|
|
6558
6591
|
}
|
|
6559
6592
|
|
|
@@ -6563,8 +6596,14 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6563
6596
|
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
6564
6597
|
*/
|
|
6565
6598
|
handleDropdownToggle(event) {
|
|
6566
|
-
this.updateFocusTrap();
|
|
6567
6599
|
this.isPopoverVisible = event.detail.expanded;
|
|
6600
|
+
|
|
6601
|
+
// Tear down FocusTrap when closing. Creation happens in updated()
|
|
6602
|
+
// after the dialog is open so getFocusableElements can find content.
|
|
6603
|
+
if (!this.isPopoverVisible) {
|
|
6604
|
+
this.updateFocusTrap();
|
|
6605
|
+
}
|
|
6606
|
+
|
|
6568
6607
|
const eventType = event.detail.eventType || "unknown";
|
|
6569
6608
|
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
6570
6609
|
this.trigger.focus();
|
|
@@ -6663,19 +6702,164 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6663
6702
|
* @private
|
|
6664
6703
|
*/
|
|
6665
6704
|
updateFocusTrap() {
|
|
6705
|
+
// Always clean up existing handlers/traps before setting up new ones
|
|
6706
|
+
// to prevent duplicate listeners on repeated calls.
|
|
6707
|
+
if (this._bibTabHandler) {
|
|
6708
|
+
this.removeEventListener('keydown', this._bibTabHandler);
|
|
6709
|
+
this._bibTabHandler = undefined;
|
|
6710
|
+
}
|
|
6711
|
+
|
|
6712
|
+
if (this.focusTrap) {
|
|
6713
|
+
this.focusTrap.disconnect();
|
|
6714
|
+
this.focusTrap = undefined;
|
|
6715
|
+
}
|
|
6716
|
+
|
|
6666
6717
|
if (this.isPopoverVisible) {
|
|
6667
6718
|
if (!this.isBibFullscreen) {
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6719
|
+
if (this.desktopModal) {
|
|
6720
|
+
// Desktop modal: trap focus only within the bib content.
|
|
6721
|
+
// Can't use FocusTrap on the bib element because keydown events
|
|
6722
|
+
// from slotted content bubble through the dropdown host (light DOM),
|
|
6723
|
+
// not through the bib (shadow projection target). Using FocusTrap
|
|
6724
|
+
// on the dropdown would include the trigger in the tab cycle.
|
|
6725
|
+
// Instead, listen for Tab on the dropdown and manually wrap focus
|
|
6726
|
+
// within the bib's focusable elements.
|
|
6727
|
+
this._bibTabHandler = (event) => {
|
|
6728
|
+
if (event.key !== 'Tab') {
|
|
6729
|
+
return;
|
|
6730
|
+
}
|
|
6731
|
+
|
|
6732
|
+
// Collect focusable elements from the bib content.
|
|
6733
|
+
const focusables = getFocusableElements(this.bibContent);
|
|
6734
|
+
|
|
6735
|
+
// Fallback: try from slotted content directly
|
|
6736
|
+
if (!focusables.length) {
|
|
6737
|
+
const slot = this.shadowRoot.querySelector('.slotContent slot');
|
|
6738
|
+
const assignedNodes = slot ? slot.assignedNodes({ flatten: true }) : [];
|
|
6739
|
+
|
|
6740
|
+
for (const node of assignedNodes) {
|
|
6741
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
6742
|
+
focusables.push(...getFocusableElements(node));
|
|
6743
|
+
}
|
|
6744
|
+
}
|
|
6745
|
+
}
|
|
6746
|
+
|
|
6747
|
+
if (!focusables.length) {
|
|
6748
|
+
return;
|
|
6749
|
+
}
|
|
6750
|
+
|
|
6751
|
+
event.preventDefault();
|
|
6752
|
+
|
|
6753
|
+
const direction = event.shiftKey ? -1 : 1; // eslint-disable-line no-magic-numbers
|
|
6754
|
+
|
|
6755
|
+
// Walk the active element chain through shadow roots
|
|
6756
|
+
const actives = this._getActiveElements();
|
|
6757
|
+
|
|
6758
|
+
let idx = focusables.findIndex((el) => actives.includes(el));
|
|
6759
|
+
|
|
6760
|
+
if (idx === -1) { // eslint-disable-line no-magic-numbers
|
|
6761
|
+
// Focus is not on a known element — move to first/last
|
|
6762
|
+
idx = direction === 1 ? -1 : focusables.length; // eslint-disable-line no-magic-numbers
|
|
6763
|
+
}
|
|
6764
|
+
|
|
6765
|
+
// Try each element in order, skipping any that can't receive focus
|
|
6766
|
+
// (e.g. hidden elements, elements in collapsed sections)
|
|
6767
|
+
for (let index = 0; index < focusables.length; index++) { // eslint-disable-line no-plusplus
|
|
6768
|
+
let nextIdx = idx + direction;
|
|
6769
|
+
|
|
6770
|
+
// Wrap around
|
|
6771
|
+
if (nextIdx < 0) {
|
|
6772
|
+
nextIdx = focusables.length - 1;
|
|
6773
|
+
} else if (nextIdx >= focusables.length) {
|
|
6774
|
+
nextIdx = 0;
|
|
6775
|
+
}
|
|
6776
|
+
|
|
6777
|
+
focusables[nextIdx].focus();
|
|
6778
|
+
|
|
6779
|
+
// Verify focus actually moved to the target
|
|
6780
|
+
const newActives = this._getActiveElements();
|
|
6781
|
+
|
|
6782
|
+
if (newActives.includes(focusables[nextIdx])) {
|
|
6783
|
+
return;
|
|
6784
|
+
}
|
|
6785
|
+
|
|
6786
|
+
// Focus didn't stick — skip this element and try the next
|
|
6787
|
+
idx = nextIdx;
|
|
6788
|
+
}
|
|
6789
|
+
};
|
|
6790
|
+
this.addEventListener('keydown', this._bibTabHandler);
|
|
6791
|
+
} else {
|
|
6792
|
+
// Normal desktop: use FocusTrap on the bib element
|
|
6793
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
6794
|
+
this.focusTrap.focusFirstElement();
|
|
6795
|
+
}
|
|
6671
6796
|
}
|
|
6672
6797
|
// Fullscreen: showModal() provides native focus trapping
|
|
6798
|
+
}
|
|
6799
|
+
}
|
|
6800
|
+
|
|
6801
|
+
/**
|
|
6802
|
+
* Returns the chain of active (focused) elements through shadow roots.
|
|
6803
|
+
* @private
|
|
6804
|
+
* @returns {Array<HTMLElement>}
|
|
6805
|
+
*/
|
|
6806
|
+
_getActiveElements() {
|
|
6807
|
+
let { activeElement } = document;
|
|
6808
|
+
const actives = [activeElement];
|
|
6809
|
+
|
|
6810
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
6811
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
6812
|
+
actives.push(activeElement);
|
|
6813
|
+
}
|
|
6814
|
+
|
|
6815
|
+
return actives;
|
|
6816
|
+
}
|
|
6817
|
+
|
|
6818
|
+
/**
|
|
6819
|
+
* Sets `inert` on sibling elements of the dropdown's top-level host
|
|
6820
|
+
* so that content outside the dropdown is not interactive while the modal is open.
|
|
6821
|
+
* Walks up through shadow DOM boundaries to find the outermost host element
|
|
6822
|
+
* in the light DOM, then sets `inert` on that element's siblings.
|
|
6823
|
+
* @private
|
|
6824
|
+
*/
|
|
6825
|
+
_setPageInert() {
|
|
6826
|
+
if (this._inertSiblings) {
|
|
6673
6827
|
return;
|
|
6674
6828
|
}
|
|
6675
6829
|
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6830
|
+
this._inertSiblings = [];
|
|
6831
|
+
|
|
6832
|
+
// Walk up through shadow DOM boundaries to find the topmost host
|
|
6833
|
+
// element in the light DOM. For example, if this dropdown is inside
|
|
6834
|
+
// auro-datepicker's shadow DOM, we walk up to the datepicker element
|
|
6835
|
+
// so we set inert on its siblings — not on the datepicker itself.
|
|
6836
|
+
let host = this;
|
|
6837
|
+
while (host.getRootNode() instanceof ShadowRoot) {
|
|
6838
|
+
host = host.getRootNode().host;
|
|
6839
|
+
}
|
|
6840
|
+
|
|
6841
|
+
const parent = host.parentElement;
|
|
6842
|
+
|
|
6843
|
+
if (parent) {
|
|
6844
|
+
for (const sibling of parent.children) {
|
|
6845
|
+
if (sibling !== host && !sibling.inert) {
|
|
6846
|
+
sibling.inert = true;
|
|
6847
|
+
this._inertSiblings.push(sibling);
|
|
6848
|
+
}
|
|
6849
|
+
}
|
|
6850
|
+
}
|
|
6851
|
+
}
|
|
6852
|
+
|
|
6853
|
+
/**
|
|
6854
|
+
* Restores `inert` state on siblings that were made inert by `_setPageInert`.
|
|
6855
|
+
* @private
|
|
6856
|
+
*/
|
|
6857
|
+
_clearPageInert() {
|
|
6858
|
+
if (this._inertSiblings) {
|
|
6859
|
+
for (const sibling of this._inertSiblings) {
|
|
6860
|
+
sibling.inert = false;
|
|
6861
|
+
}
|
|
6862
|
+
this._inertSiblings = undefined;
|
|
6679
6863
|
}
|
|
6680
6864
|
}
|
|
6681
6865
|
|
|
@@ -6914,6 +7098,7 @@ class AuroDropdown extends AuroElement$1 {
|
|
|
6914
7098
|
shape="${this.shape}"
|
|
6915
7099
|
?data-show="${this.isPopoverVisible}"
|
|
6916
7100
|
?isfullscreen="${this.isBibFullscreen}"
|
|
7101
|
+
?desktopmodal="${this.desktopModal}"
|
|
6917
7102
|
.dialogLabel="${this.bibDialogLabel}"
|
|
6918
7103
|
${n$1(this.bibElement)}
|
|
6919
7104
|
>
|
|
@@ -7281,6 +7466,14 @@ class AuroBibtemplate extends i$2 {
|
|
|
7281
7466
|
large: {
|
|
7282
7467
|
type: Boolean,
|
|
7283
7468
|
reflect: true
|
|
7469
|
+
},
|
|
7470
|
+
|
|
7471
|
+
/**
|
|
7472
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
7473
|
+
*/
|
|
7474
|
+
showFooter: {
|
|
7475
|
+
type: Boolean,
|
|
7476
|
+
reflect: true
|
|
7284
7477
|
}
|
|
7285
7478
|
};
|
|
7286
7479
|
}
|
|
@@ -7383,7 +7576,7 @@ class AuroBibtemplate extends i$2 {
|
|
|
7383
7576
|
<slot></slot>
|
|
7384
7577
|
</div>
|
|
7385
7578
|
|
|
7386
|
-
${this.isFullscreen ? u$5`
|
|
7579
|
+
${this.isFullscreen || this.showFooter ? u$5`
|
|
7387
7580
|
<div id="footerContainer">
|
|
7388
7581
|
<slot name="footer"></slot>
|
|
7389
7582
|
</div>` : null}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
<p>The trigger is a focusable element and participates in the standard tab order, responding to <code>Tab</code> and <code>Shift+Tab</code> key events per <auro-hyperlink href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex">native browser behavior</auro-hyperlink>, i.e., these keys step through the browser tabindex sequence.</p>
|
|
13
13
|
<p>When the component is <code>disabled</code> it is removed from the <code>tabindex</code> sequence. VoiceOver's virtual cursor <em>(swipe navigation)</em> can still encounter the component, but standard keyboard <code>Tab</code> navigation skips it.</p>
|
|
14
14
|
<p>When the bib is collapsed, the bib content is excluded from the tab sequence. When <strong>expanded</strong>, focusable elements within the bib content are included in the natural tab order. In fullscreen mode, focus is trapped within the bib, and the tab sequence cycles through the bib content focusable elements until the bib is closed or the viewport no longer meets the fullscreen condition and is rendered as a popover.</p>
|
|
15
|
+
<p>When the <code>desktopModal</code> attribute is set, focus is also trapped within the bib on desktop viewports. All sibling elements on the page are marked <code>inert</code>, preventing interaction with content outside the dropdown until it is closed.</p>
|
|
15
16
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
16
17
|
<auro-header level="2" id="keyEvents">Key Events</auro-header>
|
|
17
18
|
<auro-header level="3" id="keyEventsCounter">Counter</auro-header>
|
|
@@ -1471,7 +1471,7 @@ class AuroHelpText extends LitElement {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
}
|
|
1473
1473
|
|
|
1474
|
-
var formkitVersion = '
|
|
1474
|
+
var formkitVersion = '202605182202';
|
|
1475
1475
|
|
|
1476
1476
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1477
1477
|
// See LICENSE in the project root for license information.
|
|
@@ -2209,6 +2209,14 @@ class AuroBibtemplate extends LitElement {
|
|
|
2209
2209
|
large: {
|
|
2210
2210
|
type: Boolean,
|
|
2211
2211
|
reflect: true
|
|
2212
|
+
},
|
|
2213
|
+
|
|
2214
|
+
/**
|
|
2215
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
2216
|
+
*/
|
|
2217
|
+
showFooter: {
|
|
2218
|
+
type: Boolean,
|
|
2219
|
+
reflect: true
|
|
2212
2220
|
}
|
|
2213
2221
|
};
|
|
2214
2222
|
}
|
|
@@ -2311,7 +2319,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
2311
2319
|
<slot></slot>
|
|
2312
2320
|
</div>
|
|
2313
2321
|
|
|
2314
|
-
${this.isFullscreen ? html`
|
|
2322
|
+
${this.isFullscreen || this.showFooter ? html`
|
|
2315
2323
|
<div id="footerContainer">
|
|
2316
2324
|
<slot name="footer"></slot>
|
|
2317
2325
|
</div>` : null}
|
|
@@ -1471,7 +1471,7 @@ class AuroHelpText extends LitElement {
|
|
|
1471
1471
|
}
|
|
1472
1472
|
}
|
|
1473
1473
|
|
|
1474
|
-
var formkitVersion = '
|
|
1474
|
+
var formkitVersion = '202605182202';
|
|
1475
1475
|
|
|
1476
1476
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1477
1477
|
// See LICENSE in the project root for license information.
|
|
@@ -2209,6 +2209,14 @@ class AuroBibtemplate extends LitElement {
|
|
|
2209
2209
|
large: {
|
|
2210
2210
|
type: Boolean,
|
|
2211
2211
|
reflect: true
|
|
2212
|
+
},
|
|
2213
|
+
|
|
2214
|
+
/**
|
|
2215
|
+
* If declared, the footer slot will be rendered even when not in fullscreen mode.
|
|
2216
|
+
*/
|
|
2217
|
+
showFooter: {
|
|
2218
|
+
type: Boolean,
|
|
2219
|
+
reflect: true
|
|
2212
2220
|
}
|
|
2213
2221
|
};
|
|
2214
2222
|
}
|
|
@@ -2311,7 +2319,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
2311
2319
|
<slot></slot>
|
|
2312
2320
|
</div>
|
|
2313
2321
|
|
|
2314
|
-
${this.isFullscreen ? html`
|
|
2322
|
+
${this.isFullscreen || this.showFooter ? html`
|
|
2315
2323
|
<div id="footerContainer">
|
|
2316
2324
|
<slot name="footer"></slot>
|
|
2317
2325
|
</div>` : null}
|
|
@@ -26,29 +26,77 @@ The clear button (shown when the input has a value) exposes:
|
|
|
26
26
|
- Help text is associated with the component so screen readers can announce contextual guidance.
|
|
27
27
|
- When validation fails, the error message is rendered with `role="alert"` and `aria-live="assertive"` to ensure it is announced immediately.
|
|
28
28
|
|
|
29
|
+
<auro-header level="3" id="calendarGrid">Calendar Grid</auro-header>
|
|
30
|
+
The calendar uses the WAI-ARIA grid pattern for screen reader navigation:
|
|
31
|
+
|
|
32
|
+
| Attribute | Applied to | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `role="grid"` | Calendar table | Identifies the calendar as a grid. `aria-labelledby` points to the month heading. |
|
|
35
|
+
| `role="rowgroup"` | Header / body groups | Groups the day-of-week header row and the week rows. |
|
|
36
|
+
| `role="row"` | Week row | Groups each week of date cells. |
|
|
37
|
+
| `role="columnheader"` | Day-of-week header | Each day-of-week abbreviation. Rendered as an `<abbr>` element with the full day name in the `title` attribute so screen readers can announce the expanded form. |
|
|
38
|
+
| `role="gridcell"` | In-range date cell | Each selectable date cell. Includes `aria-selected`, `aria-current="date"` (for today), and a visually-hidden text label. |
|
|
39
|
+
| `role="presentation"` | Out-of-range date cell | Cells outside the valid min/max range. Also receive `aria-hidden="true"` and `tabindex="-1"` to remove them from both the accessibility tree and the tab order. |
|
|
40
|
+
| `aria-disabled="true"` | Blackout date cell | Cells matching the `blackout` dates list. Unlike out-of-range cells, blackout cells **remain focusable** via arrow-key navigation so screen reader users can discover them. The cell's label includes ", unavailable" to communicate that the date cannot be selected. |
|
|
41
|
+
| `aria-selected` | Date cell button | `"true"` for the selected date(s), `"false"` for all other in-range cells. |
|
|
42
|
+
| `aria-label` | Date cell button | Localized label built from `Intl.DateTimeFormat` (weekday, month, day, year), plus the range position label (e.g., "range start") and availability status (", unavailable" for blackout dates). |
|
|
43
|
+
|
|
29
44
|
<auro-header level="2" id="focusManagement">Focus Management</auro-header>
|
|
30
45
|
The component uses `delegatesFocus: true` on its shadow root, meaning focus is automatically delegated to the first focusable element inside the component (the date input).
|
|
31
46
|
|
|
32
|
-
|
|
47
|
+
<auro-header level="3" id="rovingTabindex">Roving Tabindex</auro-header>
|
|
48
|
+
The calendar grid uses a **roving tabindex** pattern. Only one date cell across the entire calendar has `tabindex="0"` at a time — all other cells have `tabindex="-1"`. Arrow keys move the active cell without wrapping; when a boundary is reached the calendar navigates to the adjacent month.
|
|
49
|
+
|
|
50
|
+
The initial active cell is determined in priority order:
|
|
51
|
+
|
|
52
|
+
1. The currently selected date (if within the valid range).
|
|
53
|
+
2. Today's date (if enabled).
|
|
54
|
+
3. The first future enabled date.
|
|
55
|
+
4. The first past enabled date.
|
|
56
|
+
|
|
57
|
+
<auro-header level="3" id="focusOnOpen">Focus on Open</auro-header>
|
|
58
|
+
When the calendar bib opens, focus moves to the active date cell inside the calendar grid. This applies to both desktop and fullscreen modes.
|
|
33
59
|
|
|
34
60
|
<auro-header level="2" id="screenReaderAnnouncements">Screen Reader Announcements</auro-header>
|
|
61
|
+
- **Date selection** — When a date is selected, the calendar's live region (`aria-live="assertive"`) announces the formatted date (e.g., "Wednesday, January 15, 2025"). For range datepickers, both the start and end date selections are announced.
|
|
62
|
+
- **Date cell labels** — Each date cell contains a visually-hidden `<span class="srOnly">` with the full localized label. VoiceOver reads this content instead of `aria-label`, which iOS VoiceOver does not reliably announce on buttons.
|
|
35
63
|
- **Validation errors** — When a validation error occurs, the error message is rendered with `role="alert"` and `aria-live="assertive"`, causing it to be announced immediately without requiring focus.
|
|
36
64
|
- **Help text** — The help text content is associated with the input so that screen readers announce it as part of the element description when focused.
|
|
37
65
|
|
|
38
66
|
<auro-header level="2" id="accessibleLabels">Accessible Labels</auro-header>
|
|
39
|
-
- The `fromLabel` slot content is used as the accessible name for the first date input.
|
|
67
|
+
- The `fromLabel` slot content is used as the accessible name for the first date input. It is also forwarded to the dropdown bib as the dialog's accessible name (`aria-labelledby`).
|
|
40
68
|
- When `range` is set, the `toLabel` slot content provides the accessible name for the second date input.
|
|
41
69
|
- The `label` slot is used as the main label when `layout="snowflake"`.
|
|
70
|
+
- The `ariaLabel.bib.close` slot customizes the close button label in fullscreen mode (defaults to "Close").
|
|
71
|
+
- The `ariaLabel.input.clear` slot customizes the clear button label (falls back to a localized default).
|
|
42
72
|
- A label is required. Without it, assistive technology users will not have context for what the datepicker controls.
|
|
43
73
|
|
|
74
|
+
<auro-header level="3" id="rangeLabels">Configurable Range Labels</auro-header>
|
|
75
|
+
When `range` is set, each date cell's label includes its position relative to the selected range. These labels are configurable via attributes for localization:
|
|
76
|
+
|
|
77
|
+
| Attribute | Default | Description |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `rangeLabelStart` | "range start" | Announced for the range start date. |
|
|
80
|
+
| `rangeLabelEnd` | "range end" | Announced for the range end date. |
|
|
81
|
+
| `rangeLabelBeforeRange` | "before range" | Announced for dates before the range start. |
|
|
82
|
+
| `rangeLabelInRange` | "in range" | Announced for dates within the selected range. |
|
|
83
|
+
| `rangeLabelAfterRange` | "after range" | Announced for dates after the range (or after start when no end is selected). |
|
|
84
|
+
|
|
44
85
|
<auro-header level="2" id="fullscreenBehavior">Fullscreen (Modal) Behavior</auro-header>
|
|
45
86
|
On smaller viewports, the calendar bib opens as a fullscreen modal dialog:
|
|
46
87
|
|
|
47
88
|
- The dialog is opened with `showModal()`, which provides **native focus trapping** — only elements inside the dialog are reachable via Tab.
|
|
48
89
|
- Content outside the dialog is automatically made **inert** by the browser, preventing interaction with the page behind it.
|
|
49
|
-
-
|
|
90
|
+
- The trigger input is set to `inert` while the fullscreen dialog is open, preventing VoiceOver from reaching it behind the dialog.
|
|
50
91
|
- Touch scrolling on the page behind the dialog is blocked to prevent the background from scrolling into view.
|
|
51
92
|
|
|
93
|
+
<auro-header level="2" id="desktopModalBehavior">Desktop Modal Behavior</auro-header>
|
|
94
|
+
On larger viewports, the datepicker opens as a popover with modal-like focus management:
|
|
95
|
+
|
|
96
|
+
- Sibling elements of the dropdown host are set to `inert`, preventing interaction with the rest of the page while the calendar is open.
|
|
97
|
+
- Tab and Shift+Tab are trapped within the bib content, wrapping focus between the first and last focusable elements.
|
|
98
|
+
- Inertness and focus trapping are cleaned up when the bib closes or the component is disconnected.
|
|
99
|
+
|
|
52
100
|
<auro-header level="2" id="reducedMotion">Reduced Motion</auro-header>
|
|
53
101
|
The component respects the `prefers-reduced-motion` media query. When the user has requested reduced motion, scroll animations use instant scrolling instead of smooth scrolling.
|
|
54
102
|
|
|
@@ -11,6 +11,8 @@ The `auro-datepicker` component provides users with a way to select a date or da
|
|
|
11
11
|
|-----------------------------------|-----------------------------------|-----------|--------------------------------------------------|--------------------------------------------------|--------------------------------------------------|
|
|
12
12
|
| `appearance` | `appearance` | | `string` | "'default'" | Defines whether the component will be on lighter or darker backgrounds. |
|
|
13
13
|
| `autoPlacement` | `autoPlacement` | | `boolean` | "false" | If declared, bib's position will be automatically calculated where to appear. |
|
|
14
|
+
| `blackoutDates` | `blackoutDates` | | `array` | [] | Array of dates that cannot be selected. Dates should be in ISO format (YYYY-MM-DD). |
|
|
15
|
+
| `blackoutLabel` | `blackoutLabel` | | `string` | "unavailable" | Label announced for blackout (disabled but in-range) date cells. |
|
|
14
16
|
| `calendarEndDate` | `calendarEndDate` | | `string` | "undefined" | The last date that may be displayed in the calendar. |
|
|
15
17
|
| `calendarFocusDate` | `calendarFocusDate` | | `string` | "value" | The date that will first be visually rendered to the user in the calendar. |
|
|
16
18
|
| `calendarStartDate` | `calendarStartDate` | | `string` | "undefined" | The first date that may be displayed in the calendar. |
|
|
@@ -27,6 +29,8 @@ The `auro-datepicker` component provides users with a way to select a date or da
|
|
|
27
29
|
| `maxDate` | `maxDate` | | `string` | | Maximum date. All dates after will be disabled. |
|
|
28
30
|
| `minDate` | `minDate` | | `string` | | Minimum date. All dates before will be disabled. |
|
|
29
31
|
| `monthNames` | `monthNames` | | `array` | ["January","February","March","April","May","June","July","August","September","October","November","December"] | Names of all 12 months to render in the calendar, used for localization of date string in mobile layout. |
|
|
32
|
+
| `navLabelNextMonth` | `navLabelNextMonth` | | `string` | "Next month" | Accessible label for the next month navigation button. |
|
|
33
|
+
| `navLabelPrevMonth` | `navLabelPrevMonth` | | `string` | "Previous month" | Accessible label for the previous month navigation button. |
|
|
30
34
|
| `noFlip` | `noFlip` | | `boolean` | false | If declared, the bib will NOT flip to an alternate position<br />when there isn't enough space in the specified `placement`. |
|
|
31
35
|
| `noValidate` | `noValidate` | | `boolean` | false | If set, disables auto-validation on blur. |
|
|
32
36
|
| `offset` | `offset` | | `number` | "0" | Gap between the trigger element and bib. |
|
|
@@ -35,6 +39,11 @@ The `auro-datepicker` component provides users with a way to select a date or da
|
|
|
35
39
|
| `placeholderEndDate` | `placeholderEndDate` | | `string` | | Optional placeholder text to display in the second input when using date range.<br />By default, datepicker will use `placeholder` for both inputs if placeholder is<br />specified, but placeholderEndDate is not. |
|
|
36
40
|
| `placement` | `placement` | | `'top' \| 'right' \| 'bottom' \| 'left' \| 'bottom-start' \| 'top-start' \| 'top-end' \| 'right-start' \| 'right-end' \| 'bottom-end' \| 'left-start' \| 'left-end'` | "'bottom-start'" | Position where the bib should appear relative to the trigger. |
|
|
37
41
|
| `range` | `range` | | `boolean` | false | If set, turns on date range functionality in auro-calendar. |
|
|
42
|
+
| `rangeLabelAfterRange` | `rangeLabelAfterRange` | | `string` | "after range" | Label announced for cells after the range (or after start when no end is selected). |
|
|
43
|
+
| `rangeLabelBeforeRange` | `rangeLabelBeforeRange` | | `string` | "before range" | Label announced for cells before the range start. |
|
|
44
|
+
| `rangeLabelEnd` | `rangeLabelEnd` | | `string` | "range end" | Label announced for the range end date cell. |
|
|
45
|
+
| `rangeLabelInRange` | `rangeLabelInRange` | | `string` | "in range" | Label announced for cells within the selected range. |
|
|
46
|
+
| `rangeLabelStart` | `rangeLabelStart` | | `string` | "range start" | Label announced for the range start date cell. |
|
|
38
47
|
| `referenceDates` | `referenceDates` | | `array` | | Dates that the user should have for reference as part of their decision making when selecting a date.<br />This should be a JSON string array of dates in the format of `MM/DD/YYYY`. |
|
|
39
48
|
| `required` | `required` | | `boolean` | false | Populates the `required` attribute on the input. Used for client-side validation. |
|
|
40
49
|
| `setCustomValidity` | `setCustomValidity` | | `string` | | Sets a custom help text message to display for all validityStates. |
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AuroDatePicker } from '../src/auro-datepicker.js';
|
|
2
|
+
import { localizationExample } from '../apiExamples/localization.js';
|
|
3
|
+
|
|
4
|
+
AuroDatePicker.register();
|
|
5
|
+
|
|
6
|
+
export function initExamples(initCount) {
|
|
7
|
+
initCount = initCount || 0;
|
|
8
|
+
|
|
9
|
+
try {
|
|
10
|
+
localizationExample();
|
|
11
|
+
} catch {
|
|
12
|
+
if (initCount <= 20) {
|
|
13
|
+
// setTimeout handles issue where content is sometimes loaded after the functions get called
|
|
14
|
+
setTimeout(() => {
|
|
15
|
+
initExamples(initCount + 1);
|
|
16
|
+
}, 100);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -695,13 +695,70 @@
|
|
|
695
695
|
</auro-accordion>
|
|
696
696
|
<auro-header level="3" id="localization">Localization</auro-header>
|
|
697
697
|
<p>Use the <code>centralDate</code>, locale, and related attributes to configure the datepicker for different regions and languages.</p>
|
|
698
|
+
<auro-header level="4" id="rangeLabels">Screen Reader Labels</auro-header>
|
|
699
|
+
<p>The following attributes customize the labels announced by screen readers when navigating the calendar. Range labels apply when the <code>range</code> attribute is set; navigation labels apply to all configurations.</p>
|
|
700
|
+
<auro-table>
|
|
701
|
+
<table>
|
|
702
|
+
<thead>
|
|
703
|
+
<tr>
|
|
704
|
+
<th>Attribute</th>
|
|
705
|
+
<th>Default</th>
|
|
706
|
+
<th>Description</th>
|
|
707
|
+
</tr>
|
|
708
|
+
</thead>
|
|
709
|
+
<tbody>
|
|
710
|
+
<tr>
|
|
711
|
+
<td><code>rangeLabelStart</code></td>
|
|
712
|
+
<td>"range start"</td>
|
|
713
|
+
<td>Announced on the departure/start date cell.</td>
|
|
714
|
+
</tr>
|
|
715
|
+
<tr>
|
|
716
|
+
<td><code>rangeLabelEnd</code></td>
|
|
717
|
+
<td>"range end"</td>
|
|
718
|
+
<td>Announced on the return/end date cell.</td>
|
|
719
|
+
</tr>
|
|
720
|
+
<tr>
|
|
721
|
+
<td><code>rangeLabelBeforeRange</code></td>
|
|
722
|
+
<td>"before range"</td>
|
|
723
|
+
<td>Announced on cells before the start date.</td>
|
|
724
|
+
</tr>
|
|
725
|
+
<tr>
|
|
726
|
+
<td><code>rangeLabelInRange</code></td>
|
|
727
|
+
<td>"in range"</td>
|
|
728
|
+
<td>Announced on cells between the start and end dates.</td>
|
|
729
|
+
</tr>
|
|
730
|
+
<tr>
|
|
731
|
+
<td><code>rangeLabelAfterRange</code></td>
|
|
732
|
+
<td>"after range"</td>
|
|
733
|
+
<td>Announced on cells after the end date (or after start when no end is selected).</td>
|
|
734
|
+
</tr>
|
|
735
|
+
<tr>
|
|
736
|
+
<td><code>navLabelPrevMonth</code></td>
|
|
737
|
+
<td>"Previous month"</td>
|
|
738
|
+
<td>Accessible label for the previous month navigation button.</td>
|
|
739
|
+
</tr>
|
|
740
|
+
<tr>
|
|
741
|
+
<td><code>navLabelNextMonth</code></td>
|
|
742
|
+
<td>"Next month"</td>
|
|
743
|
+
<td>Accessible label for the next month navigation button.</td>
|
|
744
|
+
</tr>
|
|
745
|
+
</tbody>
|
|
746
|
+
</table>
|
|
747
|
+
</auro-table>
|
|
698
748
|
<div class="exampleWrapper">
|
|
699
749
|
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/localization.html) -->
|
|
700
750
|
<!-- The below content is automatically added from ./../apiExamples/localization.html -->
|
|
701
|
-
<auro-datepicker
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
751
|
+
<auro-datepicker range
|
|
752
|
+
rangeLabelStart="fecha de salida"
|
|
753
|
+
rangeLabelEnd="fecha de regreso"
|
|
754
|
+
rangeLabelBeforeRange="antes de la salida"
|
|
755
|
+
rangeLabelInRange="entre vuelos"
|
|
756
|
+
rangeLabelAfterRange="después del regreso"
|
|
757
|
+
navLabelPrevMonth="Ir al mes anterior"
|
|
758
|
+
navLabelNextMonth="Ir al mes siguiente"
|
|
759
|
+
id="localizationExample">
|
|
760
|
+
<span slot="fromLabel">Salida</span>
|
|
761
|
+
<span slot="toLabel">Regreso</span>
|
|
705
762
|
</auro-datepicker>
|
|
706
763
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
707
764
|
</div>
|
|
@@ -710,10 +767,17 @@
|
|
|
710
767
|
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/localization.html) -->
|
|
711
768
|
<!-- The below code snippet is automatically added from ./../apiExamples/localization.html -->
|
|
712
769
|
|
|
713
|
-
<pre class="language-html"><code class="language-html"><auro-datepicker
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
770
|
+
<pre class="language-html"><code class="language-html"><auro-datepicker range
|
|
771
|
+
rangeLabelStart="fecha de salida"
|
|
772
|
+
rangeLabelEnd="fecha de regreso"
|
|
773
|
+
rangeLabelBeforeRange="antes de la salida"
|
|
774
|
+
rangeLabelInRange="entre vuelos"
|
|
775
|
+
rangeLabelAfterRange="después del regreso"
|
|
776
|
+
navLabelPrevMonth="Ir al mes anterior"
|
|
777
|
+
navLabelNextMonth="Ir al mes siguiente"
|
|
778
|
+
id="localizationExample">
|
|
779
|
+
<span slot="fromLabel">Salida</span>
|
|
780
|
+
<span slot="toLabel">Regreso</span>
|
|
717
781
|
</auro-datepicker></code></pre>
|
|
718
782
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
719
783
|
</auro-accordion>
|