@aurodesignsystem-dev/auro-formkit 0.0.0-pr1398.2 → 0.0.0-pr1398.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/api.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/demo/keyboardBehavior.md +0 -0
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/api.min.js +129 -166
- package/components/combobox/demo/index.min.js +129 -166
- package/components/combobox/demo/keyboardBehavior.html +81 -0
- package/components/combobox/demo/keyboardBehavior.md +308 -0
- package/components/combobox/dist/index.js +87 -134
- package/components/combobox/dist/registered.js +87 -134
- package/components/counter/demo/api.min.js +157 -160
- package/components/counter/demo/index.min.js +157 -160
- package/components/counter/demo/keyboardBehavior.html +81 -0
- package/components/counter/demo/keyboardBehavior.md +127 -0
- package/components/counter/dist/auro-counter.d.ts +0 -7
- package/components/counter/dist/index.js +157 -160
- package/components/counter/dist/keyboardStrategy.d.ts +4 -0
- package/components/counter/dist/registered.js +157 -160
- package/components/datepicker/demo/api.min.js +89 -137
- package/components/datepicker/demo/index.min.js +89 -137
- package/components/datepicker/demo/keyboardBehavior.html +81 -0
- package/components/datepicker/demo/keyboardBehavior.md +24 -0
- package/components/datepicker/dist/index.js +84 -132
- package/components/datepicker/dist/registered.js +84 -132
- package/components/dropdown/demo/api.md +0 -1
- package/components/dropdown/demo/api.min.js +99 -140
- package/components/dropdown/demo/index.md +2 -2
- package/components/dropdown/demo/index.min.js +99 -140
- package/components/dropdown/demo/keyboardBehavior.html +81 -0
- package/components/dropdown/demo/keyboardBehavior.md +77 -0
- package/components/dropdown/dist/auro-dropdown.d.ts +0 -8
- package/components/dropdown/dist/auro-dropdownBib.d.ts +1 -50
- package/components/dropdown/dist/dropdownBibKeyboardStrategy.d.ts +7 -0
- package/components/dropdown/dist/index.js +83 -128
- package/components/dropdown/dist/registered.js +83 -128
- package/components/form/demo/api.min.js +466 -599
- package/components/form/demo/index.min.js +466 -599
- package/components/form/demo/keyboardBehavior.md +0 -0
- package/components/input/demo/api.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/demo/keyboardBehavior.md +0 -0
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/api.min.js +42 -32
- package/components/menu/demo/index.min.js +42 -32
- package/components/menu/dist/auro-menu.d.ts +3 -11
- package/components/menu/dist/index.js +42 -32
- package/components/menu/dist/registered.js +42 -32
- package/components/radio/demo/api.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/api.min.js +132 -167
- package/components/select/demo/index.min.js +132 -167
- package/components/select/demo/keyboardBehavior.html +81 -0
- package/components/select/demo/keyboardBehavior.md +246 -0
- package/components/select/dist/index.js +90 -135
- package/components/select/dist/registered.js +90 -135
- package/custom-elements.json +61 -89
- package/package.json +2 -2
|
@@ -1190,7 +1190,7 @@ function restoreTriggerAfterClose(dropdown, focusTarget) {
|
|
|
1190
1190
|
* @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
|
|
1191
1191
|
* isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
|
|
1192
1192
|
*/
|
|
1193
|
-
function createDisplayContext(component, options = {}) {
|
|
1193
|
+
function createDisplayContext$1(component, options = {}) {
|
|
1194
1194
|
const dd = options.dropdown || component.dropdown;
|
|
1195
1195
|
// isPopoverVisible reflects as the `open` attribute.
|
|
1196
1196
|
// It reports whether the bib is open in any mode (popover or modal).
|
|
@@ -1220,11 +1220,11 @@ function createDisplayContext(component, options = {}) {
|
|
|
1220
1220
|
* @param {Object} strategy - Map of key names to handler functions.
|
|
1221
1221
|
* @param {Object} [options] - Optional config passed to createDisplayContext.
|
|
1222
1222
|
*/
|
|
1223
|
-
function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
1223
|
+
function applyKeyboardStrategy$1(component, strategy, options = {}) {
|
|
1224
1224
|
component.addEventListener('keydown', async (evt) => {
|
|
1225
1225
|
const handler = strategy[evt.key] || strategy.default;
|
|
1226
1226
|
if (typeof handler === 'function') {
|
|
1227
|
-
const ctx = createDisplayContext(component, options);
|
|
1227
|
+
const ctx = createDisplayContext$1(component, options);
|
|
1228
1228
|
await handler(component, evt, ctx);
|
|
1229
1229
|
}
|
|
1230
1230
|
});
|
|
@@ -3388,11 +3388,10 @@ class AuroFloatingUI {
|
|
|
3388
3388
|
return;
|
|
3389
3389
|
}
|
|
3390
3390
|
|
|
3391
|
-
const { activeElement } = document;
|
|
3392
3391
|
// if focus is still inside of trigger or bib, do not close
|
|
3393
3392
|
if (
|
|
3394
|
-
this.element.
|
|
3395
|
-
this.element.
|
|
3393
|
+
this.element.matches(":focus") ||
|
|
3394
|
+
this.element.matches(":focus-within")
|
|
3396
3395
|
) {
|
|
3397
3396
|
return;
|
|
3398
3397
|
}
|
|
@@ -4231,12 +4230,83 @@ let p$2 = class p{registerComponent(t,a){customElements.get(t)||customElements.d
|
|
|
4231
4230
|
|
|
4232
4231
|
var iconVersion$1 = '9.1.2';
|
|
4233
4232
|
|
|
4233
|
+
/**
|
|
4234
|
+
* Computes display state once per keydown event.
|
|
4235
|
+
* Centralizes null-safety checks and makes the shared/modal/popover branching explicit.
|
|
4236
|
+
*
|
|
4237
|
+
* @param {HTMLElement} component - The component with a dropdown reference.
|
|
4238
|
+
* @param {Object} [options] - Optional config.
|
|
4239
|
+
* @param {HTMLElement} [options.dropdown] - Explicit dropdown reference. Falls back to component.dropdown.
|
|
4240
|
+
* @param {Function} [options.inputResolver] - Called with (component, ctx) to resolve the active input element.
|
|
4241
|
+
* @returns {{isExpanded: boolean, isModal: boolean, isPopover: boolean, activeInput: HTMLElement|null}}
|
|
4242
|
+
* isModal and isPopover reflect the display mode (fullscreen vs not) regardless of expanded state.
|
|
4243
|
+
*/
|
|
4244
|
+
function createDisplayContext(component, options = {}) {
|
|
4245
|
+
const dd = options.dropdown || component.dropdown;
|
|
4246
|
+
// isPopoverVisible reflects as the `open` attribute.
|
|
4247
|
+
// It reports whether the bib is open in any mode (popover or modal).
|
|
4248
|
+
const isExpanded = Boolean(dd && dd.isPopoverVisible);
|
|
4249
|
+
const isFullscreen = Boolean(dd && dd.isBibFullscreen);
|
|
4250
|
+
|
|
4251
|
+
const ctx = {
|
|
4252
|
+
isExpanded,
|
|
4253
|
+
isModal: isFullscreen,
|
|
4254
|
+
isPopover: !isFullscreen,
|
|
4255
|
+
activeInput: null,
|
|
4256
|
+
};
|
|
4257
|
+
|
|
4258
|
+
if (options.inputResolver) {
|
|
4259
|
+
const resolvedInput = options.inputResolver(component, ctx);
|
|
4260
|
+
// Guard against resolvers returning undefined or non-HTMLElement values.
|
|
4261
|
+
ctx.activeInput = resolvedInput instanceof HTMLElement ? resolvedInput : null;
|
|
4262
|
+
}
|
|
4263
|
+
|
|
4264
|
+
return ctx;
|
|
4265
|
+
}
|
|
4266
|
+
|
|
4267
|
+
/**
|
|
4268
|
+
* Wires up a keydown listener that dispatches to strategy[evt.key] or strategy.default.
|
|
4269
|
+
* Handles both sync and async handlers.
|
|
4270
|
+
* @param {HTMLElement} component - The component to attach the listener to.
|
|
4271
|
+
* @param {Object} strategy - Map of key names to handler functions.
|
|
4272
|
+
* @param {Object} [options] - Optional config passed to createDisplayContext.
|
|
4273
|
+
*/
|
|
4274
|
+
function applyKeyboardStrategy(component, strategy, options = {}) {
|
|
4275
|
+
component.addEventListener('keydown', async (evt) => {
|
|
4276
|
+
const handler = strategy[evt.key] || strategy.default;
|
|
4277
|
+
if (typeof handler === 'function') {
|
|
4278
|
+
const ctx = createDisplayContext(component, options);
|
|
4279
|
+
await handler(component, evt, ctx);
|
|
4280
|
+
}
|
|
4281
|
+
});
|
|
4282
|
+
}
|
|
4283
|
+
|
|
4234
4284
|
var styleCss$2$1 = css`: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}`;
|
|
4235
4285
|
|
|
4236
4286
|
var colorCss$2 = css`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
4237
4287
|
|
|
4238
4288
|
var tokensCss$1 = css`:host(:not([ondark])),:host(:not([appearance=inverse])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-hover-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-hover-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}`;
|
|
4239
4289
|
|
|
4290
|
+
/**
|
|
4291
|
+
* Creates a keyboard strategy for dialog-specific key handling.
|
|
4292
|
+
* All other keydown behavior is left to the browser's native bubbling path.
|
|
4293
|
+
* @param {HTMLElement} bib - The dropdown bib element.
|
|
4294
|
+
* @returns {Object} Keyboard handlers keyed by `event.key`.
|
|
4295
|
+
*/
|
|
4296
|
+
// eslint-disable-next-line no-unused-vars
|
|
4297
|
+
function createDropdownBibKeyboardStrategy(bib) {
|
|
4298
|
+
return {
|
|
4299
|
+
// eslint-disable-next-line no-unused-vars
|
|
4300
|
+
Enter(_dialog, event) {
|
|
4301
|
+
// Floating UI handles Enter key to open the dropdown
|
|
4302
|
+
},
|
|
4303
|
+
// eslint-disable-next-line no-unused-vars
|
|
4304
|
+
Escape(_dialog, event) {
|
|
4305
|
+
// Floating UI handles Escape key to close the dropdown
|
|
4306
|
+
}
|
|
4307
|
+
};
|
|
4308
|
+
}
|
|
4309
|
+
|
|
4240
4310
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4241
4311
|
// See LICENSE in the project root for license information.
|
|
4242
4312
|
/* eslint-disable max-lines */
|
|
@@ -4361,26 +4431,11 @@ class AuroDropdownBib extends LitElement {
|
|
|
4361
4431
|
},
|
|
4362
4432
|
|
|
4363
4433
|
/**
|
|
4364
|
-
*
|
|
4365
|
-
* aria-activedescendant. The dialog keyboard bridge checks this
|
|
4366
|
-
* flag so that Enter selects the highlighted option instead of
|
|
4367
|
-
* activating the focused interactive element (e.g. the trigger
|
|
4368
|
-
* button, or the bibtemplate close button in fullscreen).
|
|
4434
|
+
* Tracks whether a menu option is currently highlighted.
|
|
4369
4435
|
* @private
|
|
4370
4436
|
*/
|
|
4371
4437
|
hasActiveDescendant: {
|
|
4372
4438
|
type: Boolean
|
|
4373
|
-
},
|
|
4374
|
-
|
|
4375
|
-
/**
|
|
4376
|
-
* When true, the keyboard bridge allows native Tab behavior
|
|
4377
|
-
* instead of intercepting it. Set this for bib consumers
|
|
4378
|
-
* (e.g. counter) whose content contains real focusable elements
|
|
4379
|
-
* that need native Tab navigation.
|
|
4380
|
-
* @private
|
|
4381
|
-
*/
|
|
4382
|
-
nativeFocusableContent: {
|
|
4383
|
-
type: Boolean
|
|
4384
4439
|
}
|
|
4385
4440
|
};
|
|
4386
4441
|
}
|
|
@@ -4450,7 +4505,7 @@ class AuroDropdownBib extends LitElement {
|
|
|
4450
4505
|
|
|
4451
4506
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
4452
4507
|
this._setupCancelHandler(dialog);
|
|
4453
|
-
|
|
4508
|
+
applyKeyboardStrategy(dialog, createDropdownBibKeyboardStrategy());
|
|
4454
4509
|
|
|
4455
4510
|
this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
|
|
4456
4511
|
bubbles: true,
|
|
@@ -4477,98 +4532,6 @@ class AuroDropdownBib extends LitElement {
|
|
|
4477
4532
|
});
|
|
4478
4533
|
}
|
|
4479
4534
|
|
|
4480
|
-
/**
|
|
4481
|
-
* showModal() creates a closed focus scope — keyboard events inside
|
|
4482
|
-
* the dialog's shadow DOM do NOT bubble out to the combobox/select
|
|
4483
|
-
* keydown handlers in the parent shadow DOM. This handler bridges
|
|
4484
|
-
* that gap by re-dispatching navigation keys so they cross the
|
|
4485
|
-
* shadow boundary and reach the menu navigation logic in the parent
|
|
4486
|
-
* component.
|
|
4487
|
-
*
|
|
4488
|
-
* The trade-off: intercepting these keys means native keyboard
|
|
4489
|
-
* behaviors that would normally "just work" must be manually
|
|
4490
|
-
* re-implemented here:
|
|
4491
|
-
*
|
|
4492
|
-
* - Enter on buttons: Custom elements (auro-button) don't get the
|
|
4493
|
-
* native Enter→click that <button> provides, so we call .click()
|
|
4494
|
-
* directly when Enter is pressed on a button-like element.
|
|
4495
|
-
*
|
|
4496
|
-
* - Tab: Intercepted and re-dispatched so parent components
|
|
4497
|
-
* (select/combobox) can select the active option and close the
|
|
4498
|
-
* dialog. The <dialog> provides containment and isolation
|
|
4499
|
-
* (inert background, VoiceOver focus trapping, top layer), while
|
|
4500
|
-
* the content inside is a role="listbox" navigated via
|
|
4501
|
-
* aria-activedescendant (options are not focusable). Tab keyboard
|
|
4502
|
-
* behavior follows listbox conventions (select + close) because
|
|
4503
|
-
* the dialog's native Tab trap only cycles between the close
|
|
4504
|
-
* button and browser chrome.
|
|
4505
|
-
*
|
|
4506
|
-
* - Escape: The native <dialog> fires a `cancel` event on ESC
|
|
4507
|
-
* (handled by _setupCancelHandler), so the re-dispatched Escape
|
|
4508
|
-
* is a secondary path for parent components that also listen for
|
|
4509
|
-
* Escape keydown.
|
|
4510
|
-
*
|
|
4511
|
-
* @param {HTMLDialogElement} dialog - The dialog element to attach the keyboard bridge to.
|
|
4512
|
-
* @private
|
|
4513
|
-
*/
|
|
4514
|
-
_setupKeyboardBridge(dialog) {
|
|
4515
|
-
const navKeys = new Set([
|
|
4516
|
-
'ArrowUp',
|
|
4517
|
-
'ArrowDown',
|
|
4518
|
-
'Enter',
|
|
4519
|
-
'Escape',
|
|
4520
|
-
'Tab'
|
|
4521
|
-
]);
|
|
4522
|
-
|
|
4523
|
-
dialog.addEventListener('keydown', (event) => {
|
|
4524
|
-
if (!navKeys.has(event.key)) {
|
|
4525
|
-
return;
|
|
4526
|
-
}
|
|
4527
|
-
|
|
4528
|
-
// Custom elements (auro-button) don't get the native Enter→click
|
|
4529
|
-
// behavior that <button> has. Find the button in the composed path
|
|
4530
|
-
// and click it directly — but only when no menu option is
|
|
4531
|
-
// highlighted. In fullscreen mode focus stays on the close button
|
|
4532
|
-
// while arrow keys move the active-descendant highlight through
|
|
4533
|
-
// the listbox. If the user presses Enter with an option
|
|
4534
|
-
// highlighted, the intent is to select that option, not to click
|
|
4535
|
-
// the close button. In that case we fall through and bridge the
|
|
4536
|
-
// Enter key to the parent component's keyboard strategy.
|
|
4537
|
-
if (event.key === 'Enter') {
|
|
4538
|
-
if (!this.hasActiveDescendant) {
|
|
4539
|
-
const buttonSelector = 'button, [role="button"], auro-button, [auro-button]';
|
|
4540
|
-
const btn = event.composedPath().find((el) => el.matches && el.matches(buttonSelector));
|
|
4541
|
-
if (btn) {
|
|
4542
|
-
event.preventDefault();
|
|
4543
|
-
event.stopPropagation();
|
|
4544
|
-
btn.click();
|
|
4545
|
-
return;
|
|
4546
|
-
}
|
|
4547
|
-
}
|
|
4548
|
-
}
|
|
4549
|
-
|
|
4550
|
-
// Allow native Tab when the bib contains focusable content
|
|
4551
|
-
// (e.g. counter buttons) that needs normal Tab navigation.
|
|
4552
|
-
if (event.key === 'Tab' && this.nativeFocusableContent) {
|
|
4553
|
-
return;
|
|
4554
|
-
}
|
|
4555
|
-
|
|
4556
|
-
event.preventDefault();
|
|
4557
|
-
event.stopPropagation();
|
|
4558
|
-
const newEvent = new KeyboardEvent('keydown', {
|
|
4559
|
-
key: event.key,
|
|
4560
|
-
code: event.code,
|
|
4561
|
-
shiftKey: event.shiftKey,
|
|
4562
|
-
altKey: event.altKey,
|
|
4563
|
-
ctrlKey: event.ctrlKey,
|
|
4564
|
-
metaKey: event.metaKey,
|
|
4565
|
-
bubbles: true,
|
|
4566
|
-
composed: true,
|
|
4567
|
-
cancelable: true
|
|
4568
|
-
});
|
|
4569
|
-
this.dispatchEvent(newEvent);
|
|
4570
|
-
});
|
|
4571
|
-
}
|
|
4572
4535
|
|
|
4573
4536
|
/**
|
|
4574
4537
|
* Blocks touch-driven page scroll while a fullscreen modal dialog is open.
|
|
@@ -4943,7 +4906,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
4943
4906
|
}
|
|
4944
4907
|
};
|
|
4945
4908
|
|
|
4946
|
-
var formkitVersion$1 = '
|
|
4909
|
+
var formkitVersion$1 = '202604012043';
|
|
4947
4910
|
|
|
4948
4911
|
class AuroElement extends LitElement {
|
|
4949
4912
|
static get properties() {
|
|
@@ -5124,7 +5087,6 @@ class AuroDropdown extends AuroElement {
|
|
|
5124
5087
|
this.appearance = 'default';
|
|
5125
5088
|
this.chevron = false;
|
|
5126
5089
|
this.disabled = false;
|
|
5127
|
-
this.disableFocusTrap = false;
|
|
5128
5090
|
this.error = false;
|
|
5129
5091
|
this.tabIndex = 0;
|
|
5130
5092
|
this.noToggle = false;
|
|
@@ -5222,9 +5184,8 @@ class AuroDropdown extends AuroElement {
|
|
|
5222
5184
|
// showModal() fires asynchronously via Lit's update cycle, which
|
|
5223
5185
|
// falls outside the user activation window and causes iOS to
|
|
5224
5186
|
// dismiss the keyboard.
|
|
5225
|
-
if (this.
|
|
5226
|
-
|
|
5227
|
-
this.bibElement.value.open(useModal);
|
|
5187
|
+
if (this.bibElement && this.bibElement.value) {
|
|
5188
|
+
this.bibElement.value.open(this.isBibFullscreen);
|
|
5228
5189
|
}
|
|
5229
5190
|
}
|
|
5230
5191
|
|
|
@@ -5337,14 +5298,6 @@ class AuroDropdown extends AuroElement {
|
|
|
5337
5298
|
reflect: true
|
|
5338
5299
|
},
|
|
5339
5300
|
|
|
5340
|
-
/**
|
|
5341
|
-
* If declared, the focus trap inside of bib will be turned off.
|
|
5342
|
-
*/
|
|
5343
|
-
disableFocusTrap: {
|
|
5344
|
-
type: Boolean,
|
|
5345
|
-
reflect: true
|
|
5346
|
-
},
|
|
5347
|
-
|
|
5348
5301
|
/**
|
|
5349
5302
|
* @private
|
|
5350
5303
|
*/
|
|
@@ -5618,7 +5571,7 @@ class AuroDropdown extends AuroElement {
|
|
|
5618
5571
|
if (this.isPopoverVisible) {
|
|
5619
5572
|
// Fullscreen: use showModal() for native accessibility (inert outside, focus trap)
|
|
5620
5573
|
// Desktop: use show() for Floating UI positioning + FocusTrap for focus management
|
|
5621
|
-
const useModal = this.isBibFullscreen
|
|
5574
|
+
const useModal = this.isBibFullscreen;
|
|
5622
5575
|
this.bibElement.value.open(useModal);
|
|
5623
5576
|
} else {
|
|
5624
5577
|
this.bibElement.value.close();
|
|
@@ -5628,7 +5581,7 @@ class AuroDropdown extends AuroElement {
|
|
|
5628
5581
|
// When fullscreen strategy changes while open, re-open dialog with correct mode
|
|
5629
5582
|
// (e.g. resizing from desktop → mobile while dropdown is open)
|
|
5630
5583
|
if (changedProperties.has('isBibFullscreen') && this.isPopoverVisible && this.bibElement.value) {
|
|
5631
|
-
const useModal = this.isBibFullscreen
|
|
5584
|
+
const useModal = this.isBibFullscreen;
|
|
5632
5585
|
this.bibElement.value.close();
|
|
5633
5586
|
this.bibElement.value.open(useModal);
|
|
5634
5587
|
}
|
|
@@ -5740,7 +5693,7 @@ class AuroDropdown extends AuroElement {
|
|
|
5740
5693
|
* @private
|
|
5741
5694
|
*/
|
|
5742
5695
|
updateFocusTrap() {
|
|
5743
|
-
if (this.isPopoverVisible
|
|
5696
|
+
if (this.isPopoverVisible) {
|
|
5744
5697
|
if (!this.isBibFullscreen) {
|
|
5745
5698
|
// Desktop: show() doesn't trap focus, so use FocusTrap
|
|
5746
5699
|
this.focusTrap = new FocusTrap(this.bibContent);
|
|
@@ -6696,7 +6649,7 @@ class AuroHelpText extends LitElement {
|
|
|
6696
6649
|
}
|
|
6697
6650
|
}
|
|
6698
6651
|
|
|
6699
|
-
var formkitVersion = '
|
|
6652
|
+
var formkitVersion = '202604012043';
|
|
6700
6653
|
|
|
6701
6654
|
var styleCss = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
6702
6655
|
|
|
@@ -7218,7 +7171,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7218
7171
|
|
|
7219
7172
|
// Prevent dropdown from closing on focus loss since menu content is slotted
|
|
7220
7173
|
// from select's light DOM and won't be detected by dropdown's contains() check.
|
|
7221
|
-
// Select handles Tab key closing explicitly,
|
|
7174
|
+
// Select handles Tab key closing explicitly, `Escape` key via dialog cancel, and
|
|
7222
7175
|
// click outside works correctly via composedPath().
|
|
7223
7176
|
this.dropdown.noHideOnThisFocusLoss = true;
|
|
7224
7177
|
|
|
@@ -7231,7 +7184,9 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7231
7184
|
this.dropdown.setActiveDescendant(null);
|
|
7232
7185
|
this.optionActive = null;
|
|
7233
7186
|
|
|
7234
|
-
|
|
7187
|
+
if (this.dropdown.isBibFullscreen) {
|
|
7188
|
+
restoreTriggerAfterClose(this.dropdown, this.dropdown.trigger);
|
|
7189
|
+
}
|
|
7235
7190
|
}
|
|
7236
7191
|
|
|
7237
7192
|
if (this.dropdown.isPopoverVisible) {
|
|
@@ -7505,7 +7460,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7505
7460
|
configureSelect() {
|
|
7506
7461
|
this.nativeSelect = this.shadowRoot.querySelector('select');
|
|
7507
7462
|
|
|
7508
|
-
applyKeyboardStrategy(this, selectKeyboardStrategy);
|
|
7463
|
+
applyKeyboardStrategy$1(this, selectKeyboardStrategy);
|
|
7509
7464
|
|
|
7510
7465
|
this.addEventListener('focusin', this.handleFocusin);
|
|
7511
7466
|
|
package/custom-elements.json
CHANGED
|
@@ -3707,26 +3707,6 @@
|
|
|
3707
3707
|
],
|
|
3708
3708
|
"description": "Validates value."
|
|
3709
3709
|
},
|
|
3710
|
-
{
|
|
3711
|
-
"kind": "method",
|
|
3712
|
-
"name": "handleKeyDown",
|
|
3713
|
-
"parameters": [
|
|
3714
|
-
{
|
|
3715
|
-
"name": "event",
|
|
3716
|
-
"description": "The keyboard event object.",
|
|
3717
|
-
"type": {
|
|
3718
|
-
"text": "KeyboardEvent"
|
|
3719
|
-
}
|
|
3720
|
-
}
|
|
3721
|
-
],
|
|
3722
|
-
"description": "Handles the keydown event for the counter component.",
|
|
3723
|
-
"return": {
|
|
3724
|
-
"type": {
|
|
3725
|
-
"text": "void"
|
|
3726
|
-
}
|
|
3727
|
-
},
|
|
3728
|
-
"privacy": "private"
|
|
3729
|
-
},
|
|
3730
3710
|
{
|
|
3731
3711
|
"kind": "method",
|
|
3732
3712
|
"name": "setTagAttribute",
|
|
@@ -4076,6 +4056,30 @@
|
|
|
4076
4056
|
}
|
|
4077
4057
|
]
|
|
4078
4058
|
},
|
|
4059
|
+
{
|
|
4060
|
+
"kind": "javascript-module",
|
|
4061
|
+
"path": "components/counter/src/keyboardStrategy.js",
|
|
4062
|
+
"declarations": [
|
|
4063
|
+
{
|
|
4064
|
+
"kind": "variable",
|
|
4065
|
+
"name": "keyboardStrategy",
|
|
4066
|
+
"type": {
|
|
4067
|
+
"text": "object"
|
|
4068
|
+
},
|
|
4069
|
+
"default": "{ ArrowUp(component, _evt) { if (component.disabled) { return; } _evt.preventDefault(); component.increment(); }, ArrowDown(component, _evt) { if (component.disabled) { return; } _evt.preventDefault(); component.decrement(); } }"
|
|
4070
|
+
}
|
|
4071
|
+
],
|
|
4072
|
+
"exports": [
|
|
4073
|
+
{
|
|
4074
|
+
"kind": "js",
|
|
4075
|
+
"name": "keyboardStrategy",
|
|
4076
|
+
"declaration": {
|
|
4077
|
+
"name": "keyboardStrategy",
|
|
4078
|
+
"module": "components/counter/src/keyboardStrategy.js"
|
|
4079
|
+
}
|
|
4080
|
+
}
|
|
4081
|
+
]
|
|
4082
|
+
},
|
|
4079
4083
|
{
|
|
4080
4084
|
"kind": "javascript-module",
|
|
4081
4085
|
"path": "components/counter/src/registered.js",
|
|
@@ -8281,17 +8285,6 @@
|
|
|
8281
8285
|
"attribute": "disabled",
|
|
8282
8286
|
"reflects": true
|
|
8283
8287
|
},
|
|
8284
|
-
{
|
|
8285
|
-
"kind": "field",
|
|
8286
|
-
"name": "disableFocusTrap",
|
|
8287
|
-
"privacy": "public",
|
|
8288
|
-
"type": {
|
|
8289
|
-
"text": "boolean"
|
|
8290
|
-
},
|
|
8291
|
-
"description": "If declared, the focus trap inside of bib will be turned off.",
|
|
8292
|
-
"attribute": "disableFocusTrap",
|
|
8293
|
-
"reflects": true
|
|
8294
|
-
},
|
|
8295
8288
|
{
|
|
8296
8289
|
"kind": "field",
|
|
8297
8290
|
"name": "dropdownWidth",
|
|
@@ -8575,14 +8568,6 @@
|
|
|
8575
8568
|
"description": "If declared, the dropdown is not interactive.",
|
|
8576
8569
|
"fieldName": "disabled"
|
|
8577
8570
|
},
|
|
8578
|
-
{
|
|
8579
|
-
"name": "disableFocusTrap",
|
|
8580
|
-
"type": {
|
|
8581
|
-
"text": "boolean"
|
|
8582
|
-
},
|
|
8583
|
-
"description": "If declared, the focus trap inside of bib will be turned off.",
|
|
8584
|
-
"fieldName": "disableFocusTrap"
|
|
8585
|
-
},
|
|
8586
8571
|
{
|
|
8587
8572
|
"name": "dropdownWidth",
|
|
8588
8573
|
"type": {
|
|
@@ -8849,21 +8834,6 @@
|
|
|
8849
8834
|
"description": "Forwards the dialog's native `cancel` event (fired on ESC) as\nan `auro-bib-cancel` custom event so parent components can close.",
|
|
8850
8835
|
"privacy": "private"
|
|
8851
8836
|
},
|
|
8852
|
-
{
|
|
8853
|
-
"kind": "method",
|
|
8854
|
-
"name": "_setupKeyboardBridge",
|
|
8855
|
-
"parameters": [
|
|
8856
|
-
{
|
|
8857
|
-
"name": "dialog",
|
|
8858
|
-
"description": "The dialog element to attach the keyboard bridge to.",
|
|
8859
|
-
"type": {
|
|
8860
|
-
"text": "HTMLDialogElement"
|
|
8861
|
-
}
|
|
8862
|
-
}
|
|
8863
|
-
],
|
|
8864
|
-
"description": "showModal() creates a closed focus scope — keyboard events inside\nthe dialog's shadow DOM do NOT bubble out to the combobox/select\nkeydown handlers in the parent shadow DOM. This handler bridges\nthat gap by re-dispatching navigation keys so they cross the\nshadow boundary and reach the menu navigation logic in the parent\ncomponent.\n\nThe trade-off: intercepting these keys means native keyboard\nbehaviors that would normally \"just work\" must be manually\nre-implemented here:\n\n- Enter on buttons: Custom elements (auro-button) don't get the\n native Enter→click that <button> provides, so we call .click()\n directly when Enter is pressed on a button-like element.\n\n- Tab: Intercepted and re-dispatched so parent components\n (select/combobox) can select the active option and close the\n dialog. The <dialog> provides containment and isolation\n (inert background, VoiceOver focus trapping, top layer), while\n the content inside is a role=\"listbox\" navigated via\n aria-activedescendant (options are not focusable). Tab keyboard\n behavior follows listbox conventions (select + close) because\n the dialog's native Tab trap only cycles between the close\n button and browser chrome.\n\n- Escape: The native <dialog> fires a `cancel` event on ESC\n (handled by _setupCancelHandler), so the re-dispatched Escape\n is a secondary path for parent components that also listen for\n Escape keydown.",
|
|
8865
|
-
"privacy": "private"
|
|
8866
|
-
},
|
|
8867
8837
|
{
|
|
8868
8838
|
"kind": "method",
|
|
8869
8839
|
"name": "_lockTouchScroll",
|
|
@@ -8927,7 +8897,7 @@
|
|
|
8927
8897
|
"type": {
|
|
8928
8898
|
"text": "boolean"
|
|
8929
8899
|
},
|
|
8930
|
-
"description": "
|
|
8900
|
+
"description": "Tracks whether a menu option is currently highlighted.",
|
|
8931
8901
|
"default": "false",
|
|
8932
8902
|
"attribute": "hasActiveDescendant"
|
|
8933
8903
|
},
|
|
@@ -9012,16 +8982,6 @@
|
|
|
9012
8982
|
},
|
|
9013
8983
|
"description": "Overrides the native role of the dialog element.\nFor example, set to `\"presentation\"` on desktop combobox to prevent\nVoiceOver from announcing \"listbox inside of a dialog\".\nWhen `undefined`, the dialog keeps its native role.",
|
|
9014
8984
|
"attribute": "dialogRole"
|
|
9015
|
-
},
|
|
9016
|
-
{
|
|
9017
|
-
"kind": "field",
|
|
9018
|
-
"name": "nativeFocusableContent",
|
|
9019
|
-
"privacy": "private",
|
|
9020
|
-
"type": {
|
|
9021
|
-
"text": "boolean"
|
|
9022
|
-
},
|
|
9023
|
-
"description": "When true, the keyboard bridge allows native Tab behavior\ninstead of intercepting it. Set this for bib consumers\n(e.g. counter) whose content contains real focusable elements\nthat need native Tab navigation.",
|
|
9024
|
-
"attribute": "nativeFocusableContent"
|
|
9025
8985
|
}
|
|
9026
8986
|
],
|
|
9027
8987
|
"events": [
|
|
@@ -9117,17 +9077,9 @@
|
|
|
9117
9077
|
"type": {
|
|
9118
9078
|
"text": "boolean"
|
|
9119
9079
|
},
|
|
9120
|
-
"description": "
|
|
9080
|
+
"description": "Tracks whether a menu option is currently highlighted.",
|
|
9121
9081
|
"default": "false",
|
|
9122
9082
|
"fieldName": "hasActiveDescendant"
|
|
9123
|
-
},
|
|
9124
|
-
{
|
|
9125
|
-
"name": "nativeFocusableContent",
|
|
9126
|
-
"type": {
|
|
9127
|
-
"text": "boolean"
|
|
9128
|
-
},
|
|
9129
|
-
"description": "When true, the keyboard bridge allows native Tab behavior\ninstead of intercepting it. Set this for bib consumers\n(e.g. counter) whose content contains real focusable elements\nthat need native Tab navigation.",
|
|
9130
|
-
"fieldName": "nativeFocusableContent"
|
|
9131
9083
|
}
|
|
9132
9084
|
],
|
|
9133
9085
|
"superclass": {
|
|
@@ -9148,6 +9100,41 @@
|
|
|
9148
9100
|
}
|
|
9149
9101
|
]
|
|
9150
9102
|
},
|
|
9103
|
+
{
|
|
9104
|
+
"kind": "javascript-module",
|
|
9105
|
+
"path": "components/dropdown/src/dropdownBibKeyboardStrategy.js",
|
|
9106
|
+
"declarations": [
|
|
9107
|
+
{
|
|
9108
|
+
"kind": "function",
|
|
9109
|
+
"name": "createDropdownBibKeyboardStrategy",
|
|
9110
|
+
"parameters": [
|
|
9111
|
+
{
|
|
9112
|
+
"name": "bib",
|
|
9113
|
+
"description": "The dropdown bib element.",
|
|
9114
|
+
"type": {
|
|
9115
|
+
"text": "HTMLElement"
|
|
9116
|
+
}
|
|
9117
|
+
}
|
|
9118
|
+
],
|
|
9119
|
+
"description": "Creates a keyboard strategy for dialog-specific key handling.\nAll other keydown behavior is left to the browser's native bubbling path.",
|
|
9120
|
+
"return": {
|
|
9121
|
+
"type": {
|
|
9122
|
+
"text": "Object"
|
|
9123
|
+
}
|
|
9124
|
+
}
|
|
9125
|
+
}
|
|
9126
|
+
],
|
|
9127
|
+
"exports": [
|
|
9128
|
+
{
|
|
9129
|
+
"kind": "js",
|
|
9130
|
+
"name": "createDropdownBibKeyboardStrategy",
|
|
9131
|
+
"declaration": {
|
|
9132
|
+
"name": "createDropdownBibKeyboardStrategy",
|
|
9133
|
+
"module": "components/dropdown/src/dropdownBibKeyboardStrategy.js"
|
|
9134
|
+
}
|
|
9135
|
+
}
|
|
9136
|
+
]
|
|
9137
|
+
},
|
|
9151
9138
|
{
|
|
9152
9139
|
"kind": "javascript-module",
|
|
9153
9140
|
"path": "components/dropdown/src/iconVersion.js",
|
|
@@ -15132,21 +15119,6 @@
|
|
|
15132
15119
|
"description": "Handles nested menu structure.",
|
|
15133
15120
|
"privacy": "private"
|
|
15134
15121
|
},
|
|
15135
|
-
{
|
|
15136
|
-
"kind": "method",
|
|
15137
|
-
"name": "handleKeyDown",
|
|
15138
|
-
"parameters": [
|
|
15139
|
-
{
|
|
15140
|
-
"name": "event",
|
|
15141
|
-
"description": "Event object from the browser.",
|
|
15142
|
-
"type": {
|
|
15143
|
-
"text": "KeyboardEvent"
|
|
15144
|
-
}
|
|
15145
|
-
}
|
|
15146
|
-
],
|
|
15147
|
-
"description": "Handles keyboard navigation.",
|
|
15148
|
-
"privacy": "private"
|
|
15149
|
-
},
|
|
15150
15122
|
{
|
|
15151
15123
|
"kind": "method",
|
|
15152
15124
|
"name": "navigateOptions",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aurodesignsystem-dev/auro-formkit",
|
|
3
|
-
"version": "0.0.0-pr1398.
|
|
3
|
+
"version": "0.0.0-pr1398.3",
|
|
4
4
|
"description": "A collection of web components used to build forms.",
|
|
5
5
|
"homepage": "https://github.com/AlaskaAirlines/auro-formkit#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@aurodesignsystem/auro-accordion": "^6.1.1",
|
|
84
84
|
"@aurodesignsystem/auro-button": "^12.3.2",
|
|
85
|
-
"@aurodesignsystem/auro-library": "^5.11.
|
|
85
|
+
"@aurodesignsystem/auro-library": "^5.11.3",
|
|
86
86
|
"@aurodesignsystem/build-tools": "*",
|
|
87
87
|
"@aurodesignsystem/config": "*",
|
|
88
88
|
"@aurodesignsystem/design-tokens": "^8.15.1",
|