@aurodesignsystem/auro-formkit 2.1.0-beta.2 → 2.1.0-beta.4
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/CHANGELOG.md +14 -0
- package/components/checkbox/README.md +1 -1
- package/components/checkbox/demo/readme.md +1 -1
- package/components/combobox/README.md +1 -1
- package/components/combobox/demo/api.min.js +50 -8
- package/components/combobox/demo/index.min.js +50 -8
- package/components/combobox/demo/readme.md +1 -1
- package/components/combobox/dist/index.js +50 -8
- package/components/combobox/dist/registered.js +50 -8
- package/components/counter/README.md +1 -1
- package/components/counter/demo/api.min.js +50 -8
- package/components/counter/demo/index.min.js +50 -8
- package/components/counter/demo/readme.md +1 -1
- package/components/counter/dist/index.js +50 -8
- package/components/counter/dist/registered.js +50 -8
- package/components/datepicker/README.md +1 -1
- package/components/datepicker/demo/api.md +4 -0
- package/components/datepicker/demo/api.min.js +86 -19
- package/components/datepicker/demo/index.min.js +86 -19
- package/components/datepicker/demo/readme.md +1 -1
- package/components/datepicker/dist/index.js +86 -19
- package/components/datepicker/dist/registered.js +86 -19
- package/components/datepicker/dist/utilities.d.ts +7 -0
- package/components/dropdown/README.md +1 -1
- package/components/dropdown/demo/api.md +1 -1
- package/components/dropdown/demo/api.min.js +50 -8
- package/components/dropdown/demo/index.min.js +50 -8
- package/components/dropdown/demo/readme.md +1 -1
- package/components/dropdown/dist/auro-dropdown.d.ts +17 -1
- package/components/dropdown/dist/index.js +50 -8
- package/components/dropdown/dist/registered.js +50 -8
- package/components/form/README.md +1 -1
- package/components/form/demo/readme.md +1 -1
- package/components/input/README.md +1 -1
- package/components/input/demo/readme.md +1 -1
- package/components/menu/README.md +1 -1
- package/components/menu/demo/readme.md +1 -1
- package/components/radio/README.md +1 -1
- package/components/radio/demo/readme.md +1 -1
- package/components/select/README.md +2 -1
- package/components/select/demo/api.md +22 -0
- package/components/select/demo/api.min.js +50 -8
- package/components/select/demo/index.md +14 -0
- package/components/select/demo/index.min.js +50 -8
- package/components/select/demo/readme.md +2 -1
- package/components/select/dist/index.js +50 -8
- package/components/select/dist/registered.js +50 -8
- package/package.json +3 -3
|
@@ -725,7 +725,7 @@ class AuroDatepickerUtilities {
|
|
|
725
725
|
validDateStr(date, format) {
|
|
726
726
|
const dateStrLength = 10;
|
|
727
727
|
|
|
728
|
-
if (date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
728
|
+
if (format !== undefined && date !== undefined && date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
729
729
|
return true;
|
|
730
730
|
}
|
|
731
731
|
|
|
@@ -866,12 +866,21 @@ class AuroDatepickerUtilities {
|
|
|
866
866
|
*/
|
|
867
867
|
getDateAsString(date) {
|
|
868
868
|
const year = new Date(date).getFullYear();
|
|
869
|
-
const month = new Date(date).getMonth() + 1;
|
|
870
|
-
const day = new Date(date).getDate();
|
|
869
|
+
const month = this.formatTwoDigits(new Date(date).getMonth() + 1);
|
|
870
|
+
const day = this.formatTwoDigits(new Date(date).getDate());
|
|
871
871
|
|
|
872
|
-
|
|
872
|
+
return `${month}/${day}/${year}`;
|
|
873
|
+
}
|
|
873
874
|
|
|
874
|
-
|
|
875
|
+
/**
|
|
876
|
+
* Function to format a number to two digits.
|
|
877
|
+
* @private
|
|
878
|
+
* @param {Number} num - Number to format.
|
|
879
|
+
* @returns {String} Returns the number as a string.
|
|
880
|
+
*/
|
|
881
|
+
formatTwoDigits(num) {
|
|
882
|
+
const singleDigitThreshold = 10;
|
|
883
|
+
return num < singleDigitThreshold ? `0${num}` : num;
|
|
875
884
|
}
|
|
876
885
|
|
|
877
886
|
/**
|
|
@@ -10571,10 +10580,23 @@ class CalendarUtilities {
|
|
|
10571
10580
|
increment = -1; // eslint-disable-line no-magic-numbers
|
|
10572
10581
|
}
|
|
10573
10582
|
|
|
10574
|
-
//
|
|
10575
|
-
const
|
|
10576
|
-
|
|
10577
|
-
|
|
10583
|
+
// Get new central date for calendar view
|
|
10584
|
+
const {firstRenderedMonth, centralDate, datepicker} = elem;
|
|
10585
|
+
const formattedDateStr = this.util.getDateAsString(centralDate, datepicker.format);
|
|
10586
|
+
let newCentralDate = null;
|
|
10587
|
+
|
|
10588
|
+
if (this.util.validDateStr(formattedDateStr, datepicker.format)) {
|
|
10589
|
+
// Use current date as base and adjust month by increment
|
|
10590
|
+
newCentralDate = new Date(formattedDateStr).setMonth(new Date(formattedDateStr).getMonth() + increment);
|
|
10591
|
+
} else {
|
|
10592
|
+
// Fallback to first rendered month if central date invalid
|
|
10593
|
+
newCentralDate = new Date(firstRenderedMonth).setMonth(new Date(firstRenderedMonth).getMonth() + increment);
|
|
10594
|
+
}
|
|
10595
|
+
|
|
10596
|
+
// Update calendar central date
|
|
10597
|
+
if (newCentralDate) {
|
|
10598
|
+
elem.centralDate = this.util.convertDateToFirstOfMonth(newCentralDate);
|
|
10599
|
+
}
|
|
10578
10600
|
}
|
|
10579
10601
|
}
|
|
10580
10602
|
|
|
@@ -12303,9 +12325,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
12303
12325
|
// Determine which month to render first
|
|
12304
12326
|
let dateMatches = undefined;
|
|
12305
12327
|
|
|
12306
|
-
if (!this.isFullscreen
|
|
12328
|
+
if (!this.isFullscreen) {
|
|
12329
|
+
|
|
12330
|
+
const formattedDateStr = this.util.getDateAsString(new Date(this.centralDate), this.datepicker.format);
|
|
12331
|
+
|
|
12307
12332
|
// On Desktop start the calendar at the central date if it exists, then minDate and finally the current date.
|
|
12308
|
-
if (this.
|
|
12333
|
+
if (this.util.validDateStr(formattedDateStr, this.datepicker.format)) {
|
|
12309
12334
|
dateMatches = this.util.datesMatch(this.firstRenderedMonth, this.util.convertDateToFirstOfMonth(this.centralDate));
|
|
12310
12335
|
|
|
12311
12336
|
if (!dateMatches) {
|
|
@@ -15126,7 +15151,7 @@ class AuroDropdownBib extends r$3 {
|
|
|
15126
15151
|
|
|
15127
15152
|
var dropdownVersion$1 = '3.0.0';
|
|
15128
15153
|
|
|
15129
|
-
var styleCss$1$1 = i$6`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
15154
|
+
var styleCss$1$1 = i$6`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([inset][bordered][labeled]) .trigger{padding:var(--ds-size-100, 0.5rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
15130
15155
|
|
|
15131
15156
|
var colorCss$1$1 = i$6`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
|
|
15132
15157
|
|
|
@@ -15390,6 +15415,7 @@ class AuroDropdown extends r$3 {
|
|
|
15390
15415
|
this.rounded = false;
|
|
15391
15416
|
this.tabIndex = 0;
|
|
15392
15417
|
this.noToggle = false;
|
|
15418
|
+
this.labeled = true;
|
|
15393
15419
|
|
|
15394
15420
|
/**
|
|
15395
15421
|
* @private
|
|
@@ -15542,7 +15568,7 @@ class AuroDropdown extends r$3 {
|
|
|
15542
15568
|
},
|
|
15543
15569
|
|
|
15544
15570
|
/**
|
|
15545
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
15571
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
15546
15572
|
*/
|
|
15547
15573
|
isBibFullscreen: {
|
|
15548
15574
|
type: Boolean,
|
|
@@ -15572,6 +15598,15 @@ class AuroDropdown extends r$3 {
|
|
|
15572
15598
|
reflect: true
|
|
15573
15599
|
},
|
|
15574
15600
|
|
|
15601
|
+
/**
|
|
15602
|
+
* Defines if there is a label preset.
|
|
15603
|
+
* @private
|
|
15604
|
+
*/
|
|
15605
|
+
labeled: {
|
|
15606
|
+
type: Boolean,
|
|
15607
|
+
reflect: true
|
|
15608
|
+
},
|
|
15609
|
+
|
|
15575
15610
|
/**
|
|
15576
15611
|
* If declared, the popover and trigger will be set to the same width.
|
|
15577
15612
|
*/
|
|
@@ -15651,6 +15686,7 @@ class AuroDropdown extends r$3 {
|
|
|
15651
15686
|
|
|
15652
15687
|
disconnectedCallback() {
|
|
15653
15688
|
super.disconnectedCallback();
|
|
15689
|
+
this.floater.disconnect();
|
|
15654
15690
|
}
|
|
15655
15691
|
|
|
15656
15692
|
updated(changedProperties) {
|
|
@@ -15780,13 +15816,21 @@ class AuroDropdown extends r$3 {
|
|
|
15780
15816
|
handleTriggerContentSlotChange(event) {
|
|
15781
15817
|
this.floater.handleTriggerTabIndex();
|
|
15782
15818
|
|
|
15783
|
-
const
|
|
15819
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
15820
|
+
|
|
15821
|
+
if (triggerSlot) {
|
|
15784
15822
|
|
|
15785
|
-
|
|
15786
|
-
|
|
15787
|
-
|
|
15823
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
15824
|
+
|
|
15825
|
+
if (triggerContentNodes) {
|
|
15826
|
+
|
|
15827
|
+
triggerContentNodes.forEach((node) => {
|
|
15828
|
+
if (!this.triggerContentFocusable) {
|
|
15829
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
15830
|
+
}
|
|
15831
|
+
});
|
|
15788
15832
|
}
|
|
15789
|
-
}
|
|
15833
|
+
}
|
|
15790
15834
|
|
|
15791
15835
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
15792
15836
|
|
|
@@ -15840,6 +15884,29 @@ class AuroDropdown extends r$3 {
|
|
|
15840
15884
|
}
|
|
15841
15885
|
}
|
|
15842
15886
|
|
|
15887
|
+
/**
|
|
15888
|
+
* @private
|
|
15889
|
+
* @method handleLabelSlotChange
|
|
15890
|
+
* @param {event} event - The event object representing the slot change.
|
|
15891
|
+
* @description Handles the slot change event for the label slot.
|
|
15892
|
+
*/
|
|
15893
|
+
handleLabelSlotChange (event) {
|
|
15894
|
+
|
|
15895
|
+
// Get the nodes from the event
|
|
15896
|
+
const nodes = event.target.assignedNodes();
|
|
15897
|
+
|
|
15898
|
+
// Guard clause for no nodes
|
|
15899
|
+
if (!nodes) {
|
|
15900
|
+
return;
|
|
15901
|
+
}
|
|
15902
|
+
|
|
15903
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
15904
|
+
const nodesArr = Array.from(nodes);
|
|
15905
|
+
|
|
15906
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
15907
|
+
this.labeled = nodesArr.length > 0;
|
|
15908
|
+
}
|
|
15909
|
+
|
|
15843
15910
|
// function that renders the HTML and CSS into the scope of the component
|
|
15844
15911
|
render() {
|
|
15845
15912
|
return u$2`
|
|
@@ -15854,7 +15921,7 @@ class AuroDropdown extends r$3 {
|
|
|
15854
15921
|
>
|
|
15855
15922
|
<div class="triggerContentWrapper">
|
|
15856
15923
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
15857
|
-
<slot name="label"></slot>
|
|
15924
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
15858
15925
|
</label>
|
|
15859
15926
|
<div class="triggerContent">
|
|
15860
15927
|
<slot
|
|
@@ -466,7 +466,7 @@ class AuroDatepickerUtilities {
|
|
|
466
466
|
validDateStr(date, format) {
|
|
467
467
|
const dateStrLength = 10;
|
|
468
468
|
|
|
469
|
-
if (date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
469
|
+
if (format !== undefined && date !== undefined && date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
470
470
|
return true;
|
|
471
471
|
}
|
|
472
472
|
|
|
@@ -607,12 +607,21 @@ class AuroDatepickerUtilities {
|
|
|
607
607
|
*/
|
|
608
608
|
getDateAsString(date) {
|
|
609
609
|
const year = new Date(date).getFullYear();
|
|
610
|
-
const month = new Date(date).getMonth() + 1;
|
|
611
|
-
const day = new Date(date).getDate();
|
|
610
|
+
const month = this.formatTwoDigits(new Date(date).getMonth() + 1);
|
|
611
|
+
const day = this.formatTwoDigits(new Date(date).getDate());
|
|
612
612
|
|
|
613
|
-
|
|
613
|
+
return `${month}/${day}/${year}`;
|
|
614
|
+
}
|
|
614
615
|
|
|
615
|
-
|
|
616
|
+
/**
|
|
617
|
+
* Function to format a number to two digits.
|
|
618
|
+
* @private
|
|
619
|
+
* @param {Number} num - Number to format.
|
|
620
|
+
* @returns {String} Returns the number as a string.
|
|
621
|
+
*/
|
|
622
|
+
formatTwoDigits(num) {
|
|
623
|
+
const singleDigitThreshold = 10;
|
|
624
|
+
return num < singleDigitThreshold ? `0${num}` : num;
|
|
616
625
|
}
|
|
617
626
|
|
|
618
627
|
/**
|
|
@@ -10312,10 +10321,23 @@ class CalendarUtilities {
|
|
|
10312
10321
|
increment = -1; // eslint-disable-line no-magic-numbers
|
|
10313
10322
|
}
|
|
10314
10323
|
|
|
10315
|
-
//
|
|
10316
|
-
const
|
|
10317
|
-
|
|
10318
|
-
|
|
10324
|
+
// Get new central date for calendar view
|
|
10325
|
+
const {firstRenderedMonth, centralDate, datepicker} = elem;
|
|
10326
|
+
const formattedDateStr = this.util.getDateAsString(centralDate, datepicker.format);
|
|
10327
|
+
let newCentralDate = null;
|
|
10328
|
+
|
|
10329
|
+
if (this.util.validDateStr(formattedDateStr, datepicker.format)) {
|
|
10330
|
+
// Use current date as base and adjust month by increment
|
|
10331
|
+
newCentralDate = new Date(formattedDateStr).setMonth(new Date(formattedDateStr).getMonth() + increment);
|
|
10332
|
+
} else {
|
|
10333
|
+
// Fallback to first rendered month if central date invalid
|
|
10334
|
+
newCentralDate = new Date(firstRenderedMonth).setMonth(new Date(firstRenderedMonth).getMonth() + increment);
|
|
10335
|
+
}
|
|
10336
|
+
|
|
10337
|
+
// Update calendar central date
|
|
10338
|
+
if (newCentralDate) {
|
|
10339
|
+
elem.centralDate = this.util.convertDateToFirstOfMonth(newCentralDate);
|
|
10340
|
+
}
|
|
10319
10341
|
}
|
|
10320
10342
|
}
|
|
10321
10343
|
|
|
@@ -12044,9 +12066,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
12044
12066
|
// Determine which month to render first
|
|
12045
12067
|
let dateMatches = undefined;
|
|
12046
12068
|
|
|
12047
|
-
if (!this.isFullscreen
|
|
12069
|
+
if (!this.isFullscreen) {
|
|
12070
|
+
|
|
12071
|
+
const formattedDateStr = this.util.getDateAsString(new Date(this.centralDate), this.datepicker.format);
|
|
12072
|
+
|
|
12048
12073
|
// On Desktop start the calendar at the central date if it exists, then minDate and finally the current date.
|
|
12049
|
-
if (this.
|
|
12074
|
+
if (this.util.validDateStr(formattedDateStr, this.datepicker.format)) {
|
|
12050
12075
|
dateMatches = this.util.datesMatch(this.firstRenderedMonth, this.util.convertDateToFirstOfMonth(this.centralDate));
|
|
12051
12076
|
|
|
12052
12077
|
if (!dateMatches) {
|
|
@@ -14867,7 +14892,7 @@ class AuroDropdownBib extends r$3 {
|
|
|
14867
14892
|
|
|
14868
14893
|
var dropdownVersion$1 = '3.0.0';
|
|
14869
14894
|
|
|
14870
|
-
var styleCss$1$1 = i$6`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
14895
|
+
var styleCss$1$1 = i$6`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([inset][bordered][labeled]) .trigger{padding:var(--ds-size-100, 0.5rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
14871
14896
|
|
|
14872
14897
|
var colorCss$1$1 = i$6`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
|
|
14873
14898
|
|
|
@@ -15131,6 +15156,7 @@ class AuroDropdown extends r$3 {
|
|
|
15131
15156
|
this.rounded = false;
|
|
15132
15157
|
this.tabIndex = 0;
|
|
15133
15158
|
this.noToggle = false;
|
|
15159
|
+
this.labeled = true;
|
|
15134
15160
|
|
|
15135
15161
|
/**
|
|
15136
15162
|
* @private
|
|
@@ -15283,7 +15309,7 @@ class AuroDropdown extends r$3 {
|
|
|
15283
15309
|
},
|
|
15284
15310
|
|
|
15285
15311
|
/**
|
|
15286
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
15312
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
15287
15313
|
*/
|
|
15288
15314
|
isBibFullscreen: {
|
|
15289
15315
|
type: Boolean,
|
|
@@ -15313,6 +15339,15 @@ class AuroDropdown extends r$3 {
|
|
|
15313
15339
|
reflect: true
|
|
15314
15340
|
},
|
|
15315
15341
|
|
|
15342
|
+
/**
|
|
15343
|
+
* Defines if there is a label preset.
|
|
15344
|
+
* @private
|
|
15345
|
+
*/
|
|
15346
|
+
labeled: {
|
|
15347
|
+
type: Boolean,
|
|
15348
|
+
reflect: true
|
|
15349
|
+
},
|
|
15350
|
+
|
|
15316
15351
|
/**
|
|
15317
15352
|
* If declared, the popover and trigger will be set to the same width.
|
|
15318
15353
|
*/
|
|
@@ -15392,6 +15427,7 @@ class AuroDropdown extends r$3 {
|
|
|
15392
15427
|
|
|
15393
15428
|
disconnectedCallback() {
|
|
15394
15429
|
super.disconnectedCallback();
|
|
15430
|
+
this.floater.disconnect();
|
|
15395
15431
|
}
|
|
15396
15432
|
|
|
15397
15433
|
updated(changedProperties) {
|
|
@@ -15521,13 +15557,21 @@ class AuroDropdown extends r$3 {
|
|
|
15521
15557
|
handleTriggerContentSlotChange(event) {
|
|
15522
15558
|
this.floater.handleTriggerTabIndex();
|
|
15523
15559
|
|
|
15524
|
-
const
|
|
15560
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
15561
|
+
|
|
15562
|
+
if (triggerSlot) {
|
|
15525
15563
|
|
|
15526
|
-
|
|
15527
|
-
|
|
15528
|
-
|
|
15564
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
15565
|
+
|
|
15566
|
+
if (triggerContentNodes) {
|
|
15567
|
+
|
|
15568
|
+
triggerContentNodes.forEach((node) => {
|
|
15569
|
+
if (!this.triggerContentFocusable) {
|
|
15570
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
15571
|
+
}
|
|
15572
|
+
});
|
|
15529
15573
|
}
|
|
15530
|
-
}
|
|
15574
|
+
}
|
|
15531
15575
|
|
|
15532
15576
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
15533
15577
|
|
|
@@ -15581,6 +15625,29 @@ class AuroDropdown extends r$3 {
|
|
|
15581
15625
|
}
|
|
15582
15626
|
}
|
|
15583
15627
|
|
|
15628
|
+
/**
|
|
15629
|
+
* @private
|
|
15630
|
+
* @method handleLabelSlotChange
|
|
15631
|
+
* @param {event} event - The event object representing the slot change.
|
|
15632
|
+
* @description Handles the slot change event for the label slot.
|
|
15633
|
+
*/
|
|
15634
|
+
handleLabelSlotChange (event) {
|
|
15635
|
+
|
|
15636
|
+
// Get the nodes from the event
|
|
15637
|
+
const nodes = event.target.assignedNodes();
|
|
15638
|
+
|
|
15639
|
+
// Guard clause for no nodes
|
|
15640
|
+
if (!nodes) {
|
|
15641
|
+
return;
|
|
15642
|
+
}
|
|
15643
|
+
|
|
15644
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
15645
|
+
const nodesArr = Array.from(nodes);
|
|
15646
|
+
|
|
15647
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
15648
|
+
this.labeled = nodesArr.length > 0;
|
|
15649
|
+
}
|
|
15650
|
+
|
|
15584
15651
|
// function that renders the HTML and CSS into the scope of the component
|
|
15585
15652
|
render() {
|
|
15586
15653
|
return u$2`
|
|
@@ -15595,7 +15662,7 @@ class AuroDropdown extends r$3 {
|
|
|
15595
15662
|
>
|
|
15596
15663
|
<div class="triggerContentWrapper">
|
|
15597
15664
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
15598
|
-
<slot name="label"></slot>
|
|
15665
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
15599
15666
|
</label>
|
|
15600
15667
|
<div class="triggerContent">
|
|
15601
15668
|
<slot
|
|
@@ -104,7 +104,7 @@ The use of any Auro custom element has a dependency on the [Auro Design Tokens](
|
|
|
104
104
|
In cases where the project is not able to process JS assets, there are pre-processed assets available for use. Legacy browsers such as IE11 are no longer supported.
|
|
105
105
|
|
|
106
106
|
```html
|
|
107
|
-
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.
|
|
107
|
+
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.3/auro-datepicker/+esm"></script>
|
|
108
108
|
```
|
|
109
109
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
110
110
|
|
|
@@ -440,7 +440,7 @@ class AuroDatepickerUtilities {
|
|
|
440
440
|
validDateStr(date, format) {
|
|
441
441
|
const dateStrLength = 10;
|
|
442
442
|
|
|
443
|
-
if (date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
443
|
+
if (format !== undefined && date !== undefined && date.length === dateStrLength && Date.parse(this.toNorthAmericanFormat(date, format))) {
|
|
444
444
|
return true;
|
|
445
445
|
}
|
|
446
446
|
|
|
@@ -581,12 +581,21 @@ class AuroDatepickerUtilities {
|
|
|
581
581
|
*/
|
|
582
582
|
getDateAsString(date) {
|
|
583
583
|
const year = new Date(date).getFullYear();
|
|
584
|
-
const month = new Date(date).getMonth() + 1;
|
|
585
|
-
const day = new Date(date).getDate();
|
|
584
|
+
const month = this.formatTwoDigits(new Date(date).getMonth() + 1);
|
|
585
|
+
const day = this.formatTwoDigits(new Date(date).getDate());
|
|
586
586
|
|
|
587
|
-
|
|
587
|
+
return `${month}/${day}/${year}`;
|
|
588
|
+
}
|
|
588
589
|
|
|
589
|
-
|
|
590
|
+
/**
|
|
591
|
+
* Function to format a number to two digits.
|
|
592
|
+
* @private
|
|
593
|
+
* @param {Number} num - Number to format.
|
|
594
|
+
* @returns {String} Returns the number as a string.
|
|
595
|
+
*/
|
|
596
|
+
formatTwoDigits(num) {
|
|
597
|
+
const singleDigitThreshold = 10;
|
|
598
|
+
return num < singleDigitThreshold ? `0${num}` : num;
|
|
590
599
|
}
|
|
591
600
|
|
|
592
601
|
/**
|
|
@@ -10261,10 +10270,23 @@ class CalendarUtilities {
|
|
|
10261
10270
|
increment = -1; // eslint-disable-line no-magic-numbers
|
|
10262
10271
|
}
|
|
10263
10272
|
|
|
10264
|
-
//
|
|
10265
|
-
const
|
|
10266
|
-
|
|
10267
|
-
|
|
10273
|
+
// Get new central date for calendar view
|
|
10274
|
+
const {firstRenderedMonth, centralDate, datepicker} = elem;
|
|
10275
|
+
const formattedDateStr = this.util.getDateAsString(centralDate, datepicker.format);
|
|
10276
|
+
let newCentralDate = null;
|
|
10277
|
+
|
|
10278
|
+
if (this.util.validDateStr(formattedDateStr, datepicker.format)) {
|
|
10279
|
+
// Use current date as base and adjust month by increment
|
|
10280
|
+
newCentralDate = new Date(formattedDateStr).setMonth(new Date(formattedDateStr).getMonth() + increment);
|
|
10281
|
+
} else {
|
|
10282
|
+
// Fallback to first rendered month if central date invalid
|
|
10283
|
+
newCentralDate = new Date(firstRenderedMonth).setMonth(new Date(firstRenderedMonth).getMonth() + increment);
|
|
10284
|
+
}
|
|
10285
|
+
|
|
10286
|
+
// Update calendar central date
|
|
10287
|
+
if (newCentralDate) {
|
|
10288
|
+
elem.centralDate = this.util.convertDateToFirstOfMonth(newCentralDate);
|
|
10289
|
+
}
|
|
10268
10290
|
}
|
|
10269
10291
|
}
|
|
10270
10292
|
|
|
@@ -11987,9 +12009,12 @@ class AuroCalendar extends RangeDatepicker {
|
|
|
11987
12009
|
// Determine which month to render first
|
|
11988
12010
|
let dateMatches = undefined;
|
|
11989
12011
|
|
|
11990
|
-
if (!this.isFullscreen
|
|
12012
|
+
if (!this.isFullscreen) {
|
|
12013
|
+
|
|
12014
|
+
const formattedDateStr = this.util.getDateAsString(new Date(this.centralDate), this.datepicker.format);
|
|
12015
|
+
|
|
11991
12016
|
// On Desktop start the calendar at the central date if it exists, then minDate and finally the current date.
|
|
11992
|
-
if (this.
|
|
12017
|
+
if (this.util.validDateStr(formattedDateStr, this.datepicker.format)) {
|
|
11993
12018
|
dateMatches = this.util.datesMatch(this.firstRenderedMonth, this.util.convertDateToFirstOfMonth(this.centralDate));
|
|
11994
12019
|
|
|
11995
12020
|
if (!dateMatches) {
|
|
@@ -14810,7 +14835,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
14810
14835
|
|
|
14811
14836
|
var dropdownVersion$1 = '3.0.0';
|
|
14812
14837
|
|
|
14813
|
-
var styleCss$1$1 = css`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
14838
|
+
var styleCss$1$1 = css`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([inset][bordered][labeled]) .trigger{padding:var(--ds-size-100, 0.5rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
14814
14839
|
|
|
14815
14840
|
var colorCss$1$1 = css`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
|
|
14816
14841
|
|
|
@@ -15074,6 +15099,7 @@ class AuroDropdown extends LitElement {
|
|
|
15074
15099
|
this.rounded = false;
|
|
15075
15100
|
this.tabIndex = 0;
|
|
15076
15101
|
this.noToggle = false;
|
|
15102
|
+
this.labeled = true;
|
|
15077
15103
|
|
|
15078
15104
|
/**
|
|
15079
15105
|
* @private
|
|
@@ -15226,7 +15252,7 @@ class AuroDropdown extends LitElement {
|
|
|
15226
15252
|
},
|
|
15227
15253
|
|
|
15228
15254
|
/**
|
|
15229
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
15255
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
15230
15256
|
*/
|
|
15231
15257
|
isBibFullscreen: {
|
|
15232
15258
|
type: Boolean,
|
|
@@ -15256,6 +15282,15 @@ class AuroDropdown extends LitElement {
|
|
|
15256
15282
|
reflect: true
|
|
15257
15283
|
},
|
|
15258
15284
|
|
|
15285
|
+
/**
|
|
15286
|
+
* Defines if there is a label preset.
|
|
15287
|
+
* @private
|
|
15288
|
+
*/
|
|
15289
|
+
labeled: {
|
|
15290
|
+
type: Boolean,
|
|
15291
|
+
reflect: true
|
|
15292
|
+
},
|
|
15293
|
+
|
|
15259
15294
|
/**
|
|
15260
15295
|
* If declared, the popover and trigger will be set to the same width.
|
|
15261
15296
|
*/
|
|
@@ -15335,6 +15370,7 @@ class AuroDropdown extends LitElement {
|
|
|
15335
15370
|
|
|
15336
15371
|
disconnectedCallback() {
|
|
15337
15372
|
super.disconnectedCallback();
|
|
15373
|
+
this.floater.disconnect();
|
|
15338
15374
|
}
|
|
15339
15375
|
|
|
15340
15376
|
updated(changedProperties) {
|
|
@@ -15464,13 +15500,21 @@ class AuroDropdown extends LitElement {
|
|
|
15464
15500
|
handleTriggerContentSlotChange(event) {
|
|
15465
15501
|
this.floater.handleTriggerTabIndex();
|
|
15466
15502
|
|
|
15467
|
-
const
|
|
15503
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
15504
|
+
|
|
15505
|
+
if (triggerSlot) {
|
|
15468
15506
|
|
|
15469
|
-
|
|
15470
|
-
|
|
15471
|
-
|
|
15507
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
15508
|
+
|
|
15509
|
+
if (triggerContentNodes) {
|
|
15510
|
+
|
|
15511
|
+
triggerContentNodes.forEach((node) => {
|
|
15512
|
+
if (!this.triggerContentFocusable) {
|
|
15513
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
15514
|
+
}
|
|
15515
|
+
});
|
|
15472
15516
|
}
|
|
15473
|
-
}
|
|
15517
|
+
}
|
|
15474
15518
|
|
|
15475
15519
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
15476
15520
|
|
|
@@ -15524,6 +15568,29 @@ class AuroDropdown extends LitElement {
|
|
|
15524
15568
|
}
|
|
15525
15569
|
}
|
|
15526
15570
|
|
|
15571
|
+
/**
|
|
15572
|
+
* @private
|
|
15573
|
+
* @method handleLabelSlotChange
|
|
15574
|
+
* @param {event} event - The event object representing the slot change.
|
|
15575
|
+
* @description Handles the slot change event for the label slot.
|
|
15576
|
+
*/
|
|
15577
|
+
handleLabelSlotChange (event) {
|
|
15578
|
+
|
|
15579
|
+
// Get the nodes from the event
|
|
15580
|
+
const nodes = event.target.assignedNodes();
|
|
15581
|
+
|
|
15582
|
+
// Guard clause for no nodes
|
|
15583
|
+
if (!nodes) {
|
|
15584
|
+
return;
|
|
15585
|
+
}
|
|
15586
|
+
|
|
15587
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
15588
|
+
const nodesArr = Array.from(nodes);
|
|
15589
|
+
|
|
15590
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
15591
|
+
this.labeled = nodesArr.length > 0;
|
|
15592
|
+
}
|
|
15593
|
+
|
|
15527
15594
|
// function that renders the HTML and CSS into the scope of the component
|
|
15528
15595
|
render() {
|
|
15529
15596
|
return html$1`
|
|
@@ -15538,7 +15605,7 @@ class AuroDropdown extends LitElement {
|
|
|
15538
15605
|
>
|
|
15539
15606
|
<div class="triggerContentWrapper">
|
|
15540
15607
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
15541
|
-
<slot name="label"></slot>
|
|
15608
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
15542
15609
|
</label>
|
|
15543
15610
|
<div class="triggerContent">
|
|
15544
15611
|
<slot
|