@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
|
@@ -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
|
|
@@ -51,6 +51,13 @@ export class AuroDatepickerUtilities {
|
|
|
51
51
|
* @returns {Object} Returns the date as a string.
|
|
52
52
|
*/
|
|
53
53
|
private getDateAsString;
|
|
54
|
+
/**
|
|
55
|
+
* Function to format a number to two digits.
|
|
56
|
+
* @private
|
|
57
|
+
* @param {Number} num - Number to format.
|
|
58
|
+
* @returns {String} Returns the number as a string.
|
|
59
|
+
*/
|
|
60
|
+
private formatTwoDigits;
|
|
54
61
|
/**
|
|
55
62
|
* Function to generate checkmark svg.
|
|
56
63
|
* @private
|
|
@@ -107,7 +107,7 @@ The use of any Auro custom element has a dependency on the [Auro Design Tokens](
|
|
|
107
107
|
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.
|
|
108
108
|
|
|
109
109
|
```html
|
|
110
|
-
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.
|
|
110
|
+
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.3/auro-dropdown/+esm"></script>
|
|
111
111
|
```
|
|
112
112
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
113
113
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
| [fullscreenBreakpoint](#fullscreenBreakpoint) | `fullscreenBreakpoint` | ` String ` | | Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint. |
|
|
24
24
|
| [hoverToggle](#hoverToggle) | `hoverToggle` | ` Boolean ` | | If declared, the trigger will toggle the dropdown on mouseover/mouseout. |
|
|
25
25
|
| [inset](#inset) | `inset` | ` Boolean ` | | If declared, will apply padding around trigger slot content. |
|
|
26
|
-
| [isBibFullscreen](#isBibFullscreen) | `isBibFullscreen` | `boolean` | false | If true, the dropdown bib is taking the fullscreen when it's open |
|
|
26
|
+
| [isBibFullscreen](#isBibFullscreen) | `isBibFullscreen` | `boolean` | false | If true, the dropdown bib is taking the fullscreen when it's open. |
|
|
27
27
|
| [isPopoverVisible](#isPopoverVisible) | `isPopoverVisible` | ` Boolean ` | false | If true, the dropdown bib is displayed. |
|
|
28
28
|
| [matchWidth](#matchWidth) | `matchWidth` | ` Boolean ` | false | If declared, the popover and trigger will be set to the same width. |
|
|
29
29
|
| [noHideOnThisFocusLoss](#noHideOnThisFocusLoss) | `noHideOnThisFocusLoss` | ` Boolean ` | false | If declared, the dropdown will not hide when moving focus outside the element. |
|
|
@@ -2731,7 +2731,7 @@ class AuroDropdownBib extends r {
|
|
|
2731
2731
|
|
|
2732
2732
|
var dropdownVersion = '3.0.0';
|
|
2733
2733
|
|
|
2734
|
-
var styleCss$1 = i$3`: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)}`;
|
|
2734
|
+
var styleCss$1 = i$3`: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)}`;
|
|
2735
2735
|
|
|
2736
2736
|
var colorCss$1 = i$3`.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)}`;
|
|
2737
2737
|
|
|
@@ -2995,6 +2995,7 @@ class AuroDropdown extends r {
|
|
|
2995
2995
|
this.rounded = false;
|
|
2996
2996
|
this.tabIndex = 0;
|
|
2997
2997
|
this.noToggle = false;
|
|
2998
|
+
this.labeled = true;
|
|
2998
2999
|
|
|
2999
3000
|
/**
|
|
3000
3001
|
* @private
|
|
@@ -3147,7 +3148,7 @@ class AuroDropdown extends r {
|
|
|
3147
3148
|
},
|
|
3148
3149
|
|
|
3149
3150
|
/**
|
|
3150
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
3151
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
3151
3152
|
*/
|
|
3152
3153
|
isBibFullscreen: {
|
|
3153
3154
|
type: Boolean,
|
|
@@ -3177,6 +3178,15 @@ class AuroDropdown extends r {
|
|
|
3177
3178
|
reflect: true
|
|
3178
3179
|
},
|
|
3179
3180
|
|
|
3181
|
+
/**
|
|
3182
|
+
* Defines if there is a label preset.
|
|
3183
|
+
* @private
|
|
3184
|
+
*/
|
|
3185
|
+
labeled: {
|
|
3186
|
+
type: Boolean,
|
|
3187
|
+
reflect: true
|
|
3188
|
+
},
|
|
3189
|
+
|
|
3180
3190
|
/**
|
|
3181
3191
|
* If declared, the popover and trigger will be set to the same width.
|
|
3182
3192
|
*/
|
|
@@ -3256,6 +3266,7 @@ class AuroDropdown extends r {
|
|
|
3256
3266
|
|
|
3257
3267
|
disconnectedCallback() {
|
|
3258
3268
|
super.disconnectedCallback();
|
|
3269
|
+
this.floater.disconnect();
|
|
3259
3270
|
}
|
|
3260
3271
|
|
|
3261
3272
|
updated(changedProperties) {
|
|
@@ -3385,13 +3396,21 @@ class AuroDropdown extends r {
|
|
|
3385
3396
|
handleTriggerContentSlotChange(event) {
|
|
3386
3397
|
this.floater.handleTriggerTabIndex();
|
|
3387
3398
|
|
|
3388
|
-
const
|
|
3399
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
3389
3400
|
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3401
|
+
if (triggerSlot) {
|
|
3402
|
+
|
|
3403
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
3404
|
+
|
|
3405
|
+
if (triggerContentNodes) {
|
|
3406
|
+
|
|
3407
|
+
triggerContentNodes.forEach((node) => {
|
|
3408
|
+
if (!this.triggerContentFocusable) {
|
|
3409
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
3410
|
+
}
|
|
3411
|
+
});
|
|
3393
3412
|
}
|
|
3394
|
-
}
|
|
3413
|
+
}
|
|
3395
3414
|
|
|
3396
3415
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
3397
3416
|
|
|
@@ -3445,6 +3464,29 @@ class AuroDropdown extends r {
|
|
|
3445
3464
|
}
|
|
3446
3465
|
}
|
|
3447
3466
|
|
|
3467
|
+
/**
|
|
3468
|
+
* @private
|
|
3469
|
+
* @method handleLabelSlotChange
|
|
3470
|
+
* @param {event} event - The event object representing the slot change.
|
|
3471
|
+
* @description Handles the slot change event for the label slot.
|
|
3472
|
+
*/
|
|
3473
|
+
handleLabelSlotChange (event) {
|
|
3474
|
+
|
|
3475
|
+
// Get the nodes from the event
|
|
3476
|
+
const nodes = event.target.assignedNodes();
|
|
3477
|
+
|
|
3478
|
+
// Guard clause for no nodes
|
|
3479
|
+
if (!nodes) {
|
|
3480
|
+
return;
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
3484
|
+
const nodesArr = Array.from(nodes);
|
|
3485
|
+
|
|
3486
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
3487
|
+
this.labeled = nodesArr.length > 0;
|
|
3488
|
+
}
|
|
3489
|
+
|
|
3448
3490
|
// function that renders the HTML and CSS into the scope of the component
|
|
3449
3491
|
render() {
|
|
3450
3492
|
return u$1`
|
|
@@ -3459,7 +3501,7 @@ class AuroDropdown extends r {
|
|
|
3459
3501
|
>
|
|
3460
3502
|
<div class="triggerContentWrapper">
|
|
3461
3503
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3462
|
-
<slot name="label"></slot>
|
|
3504
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
3463
3505
|
</label>
|
|
3464
3506
|
<div class="triggerContent">
|
|
3465
3507
|
<slot
|
|
@@ -2706,7 +2706,7 @@ class AuroDropdownBib extends r {
|
|
|
2706
2706
|
|
|
2707
2707
|
var dropdownVersion = '3.0.0';
|
|
2708
2708
|
|
|
2709
|
-
var styleCss$1 = i$3`: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)}`;
|
|
2709
|
+
var styleCss$1 = i$3`: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)}`;
|
|
2710
2710
|
|
|
2711
2711
|
var colorCss$1 = i$3`.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)}`;
|
|
2712
2712
|
|
|
@@ -2970,6 +2970,7 @@ class AuroDropdown extends r {
|
|
|
2970
2970
|
this.rounded = false;
|
|
2971
2971
|
this.tabIndex = 0;
|
|
2972
2972
|
this.noToggle = false;
|
|
2973
|
+
this.labeled = true;
|
|
2973
2974
|
|
|
2974
2975
|
/**
|
|
2975
2976
|
* @private
|
|
@@ -3122,7 +3123,7 @@ class AuroDropdown extends r {
|
|
|
3122
3123
|
},
|
|
3123
3124
|
|
|
3124
3125
|
/**
|
|
3125
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
3126
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
3126
3127
|
*/
|
|
3127
3128
|
isBibFullscreen: {
|
|
3128
3129
|
type: Boolean,
|
|
@@ -3152,6 +3153,15 @@ class AuroDropdown extends r {
|
|
|
3152
3153
|
reflect: true
|
|
3153
3154
|
},
|
|
3154
3155
|
|
|
3156
|
+
/**
|
|
3157
|
+
* Defines if there is a label preset.
|
|
3158
|
+
* @private
|
|
3159
|
+
*/
|
|
3160
|
+
labeled: {
|
|
3161
|
+
type: Boolean,
|
|
3162
|
+
reflect: true
|
|
3163
|
+
},
|
|
3164
|
+
|
|
3155
3165
|
/**
|
|
3156
3166
|
* If declared, the popover and trigger will be set to the same width.
|
|
3157
3167
|
*/
|
|
@@ -3231,6 +3241,7 @@ class AuroDropdown extends r {
|
|
|
3231
3241
|
|
|
3232
3242
|
disconnectedCallback() {
|
|
3233
3243
|
super.disconnectedCallback();
|
|
3244
|
+
this.floater.disconnect();
|
|
3234
3245
|
}
|
|
3235
3246
|
|
|
3236
3247
|
updated(changedProperties) {
|
|
@@ -3360,13 +3371,21 @@ class AuroDropdown extends r {
|
|
|
3360
3371
|
handleTriggerContentSlotChange(event) {
|
|
3361
3372
|
this.floater.handleTriggerTabIndex();
|
|
3362
3373
|
|
|
3363
|
-
const
|
|
3374
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
3364
3375
|
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3376
|
+
if (triggerSlot) {
|
|
3377
|
+
|
|
3378
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
3379
|
+
|
|
3380
|
+
if (triggerContentNodes) {
|
|
3381
|
+
|
|
3382
|
+
triggerContentNodes.forEach((node) => {
|
|
3383
|
+
if (!this.triggerContentFocusable) {
|
|
3384
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
3385
|
+
}
|
|
3386
|
+
});
|
|
3368
3387
|
}
|
|
3369
|
-
}
|
|
3388
|
+
}
|
|
3370
3389
|
|
|
3371
3390
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
3372
3391
|
|
|
@@ -3420,6 +3439,29 @@ class AuroDropdown extends r {
|
|
|
3420
3439
|
}
|
|
3421
3440
|
}
|
|
3422
3441
|
|
|
3442
|
+
/**
|
|
3443
|
+
* @private
|
|
3444
|
+
* @method handleLabelSlotChange
|
|
3445
|
+
* @param {event} event - The event object representing the slot change.
|
|
3446
|
+
* @description Handles the slot change event for the label slot.
|
|
3447
|
+
*/
|
|
3448
|
+
handleLabelSlotChange (event) {
|
|
3449
|
+
|
|
3450
|
+
// Get the nodes from the event
|
|
3451
|
+
const nodes = event.target.assignedNodes();
|
|
3452
|
+
|
|
3453
|
+
// Guard clause for no nodes
|
|
3454
|
+
if (!nodes) {
|
|
3455
|
+
return;
|
|
3456
|
+
}
|
|
3457
|
+
|
|
3458
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
3459
|
+
const nodesArr = Array.from(nodes);
|
|
3460
|
+
|
|
3461
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
3462
|
+
this.labeled = nodesArr.length > 0;
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3423
3465
|
// function that renders the HTML and CSS into the scope of the component
|
|
3424
3466
|
render() {
|
|
3425
3467
|
return u$1`
|
|
@@ -3434,7 +3476,7 @@ class AuroDropdown extends r {
|
|
|
3434
3476
|
>
|
|
3435
3477
|
<div class="triggerContentWrapper">
|
|
3436
3478
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3437
|
-
<slot name="label"></slot>
|
|
3479
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
3438
3480
|
</label>
|
|
3439
3481
|
<div class="triggerContent">
|
|
3440
3482
|
<slot
|
|
@@ -107,7 +107,7 @@ The use of any Auro custom element has a dependency on the [Auro Design Tokens](
|
|
|
107
107
|
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.
|
|
108
108
|
|
|
109
109
|
```html
|
|
110
|
-
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.
|
|
110
|
+
<script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.3/auro-dropdown/+esm"></script>
|
|
111
111
|
```
|
|
112
112
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
113
113
|
|
|
@@ -82,7 +82,7 @@ export class AuroDropdown extends LitElement {
|
|
|
82
82
|
type: BooleanConstructor;
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
85
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
85
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
86
86
|
*/
|
|
87
87
|
isBibFullscreen: {
|
|
88
88
|
type: BooleanConstructor;
|
|
@@ -108,6 +108,14 @@ export class AuroDropdown extends LitElement {
|
|
|
108
108
|
type: StringConstructor;
|
|
109
109
|
reflect: boolean;
|
|
110
110
|
};
|
|
111
|
+
/**
|
|
112
|
+
* Defines if there is a label preset.
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
labeled: {
|
|
116
|
+
type: BooleanConstructor;
|
|
117
|
+
reflect: boolean;
|
|
118
|
+
};
|
|
111
119
|
/**
|
|
112
120
|
* If declared, the popover and trigger will be set to the same width.
|
|
113
121
|
*/
|
|
@@ -188,6 +196,7 @@ export class AuroDropdown extends LitElement {
|
|
|
188
196
|
placement: string;
|
|
189
197
|
rounded: boolean;
|
|
190
198
|
noToggle: boolean;
|
|
199
|
+
labeled: boolean;
|
|
191
200
|
/**
|
|
192
201
|
* @private
|
|
193
202
|
*/
|
|
@@ -279,6 +288,13 @@ export class AuroDropdown extends LitElement {
|
|
|
279
288
|
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
280
289
|
*/
|
|
281
290
|
private handleDefaultSlot;
|
|
291
|
+
/**
|
|
292
|
+
* @private
|
|
293
|
+
* @method handleLabelSlotChange
|
|
294
|
+
* @param {event} event - The event object representing the slot change.
|
|
295
|
+
* @description Handles the slot change event for the label slot.
|
|
296
|
+
*/
|
|
297
|
+
private handleLabelSlotChange;
|
|
282
298
|
render(): import("lit-html").TemplateResult;
|
|
283
299
|
}
|
|
284
300
|
import { LitElement } from "lit";
|
|
@@ -2659,7 +2659,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
2659
2659
|
|
|
2660
2660
|
var dropdownVersion = '3.0.0';
|
|
2661
2661
|
|
|
2662
|
-
var styleCss$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)}`;
|
|
2662
|
+
var styleCss$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)}`;
|
|
2663
2663
|
|
|
2664
2664
|
var colorCss$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)}`;
|
|
2665
2665
|
|
|
@@ -2923,6 +2923,7 @@ class AuroDropdown extends LitElement {
|
|
|
2923
2923
|
this.rounded = false;
|
|
2924
2924
|
this.tabIndex = 0;
|
|
2925
2925
|
this.noToggle = false;
|
|
2926
|
+
this.labeled = true;
|
|
2926
2927
|
|
|
2927
2928
|
/**
|
|
2928
2929
|
* @private
|
|
@@ -3075,7 +3076,7 @@ class AuroDropdown extends LitElement {
|
|
|
3075
3076
|
},
|
|
3076
3077
|
|
|
3077
3078
|
/**
|
|
3078
|
-
* If true, the dropdown bib is taking the fullscreen when it's open
|
|
3079
|
+
* If true, the dropdown bib is taking the fullscreen when it's open.
|
|
3079
3080
|
*/
|
|
3080
3081
|
isBibFullscreen: {
|
|
3081
3082
|
type: Boolean,
|
|
@@ -3105,6 +3106,15 @@ class AuroDropdown extends LitElement {
|
|
|
3105
3106
|
reflect: true
|
|
3106
3107
|
},
|
|
3107
3108
|
|
|
3109
|
+
/**
|
|
3110
|
+
* Defines if there is a label preset.
|
|
3111
|
+
* @private
|
|
3112
|
+
*/
|
|
3113
|
+
labeled: {
|
|
3114
|
+
type: Boolean,
|
|
3115
|
+
reflect: true
|
|
3116
|
+
},
|
|
3117
|
+
|
|
3108
3118
|
/**
|
|
3109
3119
|
* If declared, the popover and trigger will be set to the same width.
|
|
3110
3120
|
*/
|
|
@@ -3184,6 +3194,7 @@ class AuroDropdown extends LitElement {
|
|
|
3184
3194
|
|
|
3185
3195
|
disconnectedCallback() {
|
|
3186
3196
|
super.disconnectedCallback();
|
|
3197
|
+
this.floater.disconnect();
|
|
3187
3198
|
}
|
|
3188
3199
|
|
|
3189
3200
|
updated(changedProperties) {
|
|
@@ -3313,13 +3324,21 @@ class AuroDropdown extends LitElement {
|
|
|
3313
3324
|
handleTriggerContentSlotChange(event) {
|
|
3314
3325
|
this.floater.handleTriggerTabIndex();
|
|
3315
3326
|
|
|
3316
|
-
const
|
|
3327
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContent slot');
|
|
3317
3328
|
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3329
|
+
if (triggerSlot) {
|
|
3330
|
+
|
|
3331
|
+
const triggerContentNodes = triggerSlot.assignedNodes();
|
|
3332
|
+
|
|
3333
|
+
if (triggerContentNodes) {
|
|
3334
|
+
|
|
3335
|
+
triggerContentNodes.forEach((node) => {
|
|
3336
|
+
if (!this.triggerContentFocusable) {
|
|
3337
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
3338
|
+
}
|
|
3339
|
+
});
|
|
3321
3340
|
}
|
|
3322
|
-
}
|
|
3341
|
+
}
|
|
3323
3342
|
|
|
3324
3343
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
3325
3344
|
|
|
@@ -3373,6 +3392,29 @@ class AuroDropdown extends LitElement {
|
|
|
3373
3392
|
}
|
|
3374
3393
|
}
|
|
3375
3394
|
|
|
3395
|
+
/**
|
|
3396
|
+
* @private
|
|
3397
|
+
* @method handleLabelSlotChange
|
|
3398
|
+
* @param {event} event - The event object representing the slot change.
|
|
3399
|
+
* @description Handles the slot change event for the label slot.
|
|
3400
|
+
*/
|
|
3401
|
+
handleLabelSlotChange (event) {
|
|
3402
|
+
|
|
3403
|
+
// Get the nodes from the event
|
|
3404
|
+
const nodes = event.target.assignedNodes();
|
|
3405
|
+
|
|
3406
|
+
// Guard clause for no nodes
|
|
3407
|
+
if (!nodes) {
|
|
3408
|
+
return;
|
|
3409
|
+
}
|
|
3410
|
+
|
|
3411
|
+
// Convert the nodes to a measurable array so we can get the length
|
|
3412
|
+
const nodesArr = Array.from(nodes);
|
|
3413
|
+
|
|
3414
|
+
// If the nodes array has a length, the dropdown is labeled
|
|
3415
|
+
this.labeled = nodesArr.length > 0;
|
|
3416
|
+
}
|
|
3417
|
+
|
|
3376
3418
|
// function that renders the HTML and CSS into the scope of the component
|
|
3377
3419
|
render() {
|
|
3378
3420
|
return html$1`
|
|
@@ -3387,7 +3429,7 @@ class AuroDropdown extends LitElement {
|
|
|
3387
3429
|
>
|
|
3388
3430
|
<div class="triggerContentWrapper">
|
|
3389
3431
|
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3390
|
-
<slot name="label"></slot>
|
|
3432
|
+
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
3391
3433
|
</label>
|
|
3392
3434
|
<div class="triggerContent">
|
|
3393
3435
|
<slot
|