@aurodesignsystem-dev/auro-formkit 0.0.0-pr1506.0 → 0.0.0-pr1506.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/checkbox/demo/customize.html +1 -2
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.html +1 -2
- package/components/combobox/demo/customize.md +108 -132
- package/components/combobox/demo/customize.min.js +26 -130
- package/components/combobox/demo/getting-started.min.js +26 -130
- package/components/combobox/demo/index.min.js +26 -130
- package/components/combobox/dist/index.js +26 -130
- package/components/combobox/dist/registered.js +26 -130
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/customize.min.js +12 -124
- package/components/datepicker/demo/index.min.js +12 -124
- package/components/datepicker/dist/index.js +12 -124
- package/components/datepicker/dist/registered.js +12 -124
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +1 -1
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.html +6 -6
- package/components/form/demo/customize.js +19 -0
- package/components/form/demo/customize.md +203 -51
- package/components/form/demo/customize.min.js +489 -419
- package/components/form/demo/getting-started.min.js +417 -419
- package/components/form/demo/index.min.js +417 -419
- package/components/form/demo/registerDemoDeps.min.js +54 -382
- package/components/form/dist/auro-form.d.ts +122 -4
- package/components/form/dist/index.js +363 -37
- package/components/form/dist/registered.js +363 -37
- package/components/input/demo/customize.html +1 -2
- package/components/input/demo/customize.min.js +10 -122
- package/components/input/demo/getting-started.min.js +10 -122
- package/components/input/demo/index.min.js +10 -122
- package/components/input/dist/base-input.d.ts +1 -49
- package/components/input/dist/index.js +10 -122
- package/components/input/dist/registered.js +10 -122
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.html +1 -2
- package/components/select/demo/customize.min.js +2 -2
- package/components/select/demo/getting-started.min.js +2 -2
- package/components/select/demo/index.min.js +2 -2
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +123 -266
- package/package.json +1 -1
|
@@ -109,7 +109,7 @@ let AuroLibraryRuntimeUtils$b = class AuroLibraryRuntimeUtils {
|
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
/* eslint-disable no-underscore-dangle, max-lines, object-property-newline */
|
|
112
|
+
/* eslint-disable no-underscore-dangle, max-lines, object-property-newline, dot-location */
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
/**
|
|
@@ -117,7 +117,7 @@ let AuroLibraryRuntimeUtils$b = class AuroLibraryRuntimeUtils {
|
|
|
117
117
|
* @property {string | number | boolean | string[] | null} value - The value of the form element.
|
|
118
118
|
* @property {ValidityState} validity - The validity state of the form element, stored when fired from the form element.
|
|
119
119
|
* @property {boolean} required - Whether the form element is required or not.
|
|
120
|
-
* @property {
|
|
120
|
+
* @property {boolean} disabled - Whether the form element is currently disabled. Cached from the live attribute via the MutationObserver in `connectedCallback` and refreshed from `_handleAttributeMutations`.
|
|
121
121
|
*/
|
|
122
122
|
|
|
123
123
|
/**
|
|
@@ -201,6 +201,31 @@ class AuroForm extends i$3 {
|
|
|
201
201
|
*/
|
|
202
202
|
this.mutationObservers = [];
|
|
203
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Captured initial (default) value per field `name`. Populated on first
|
|
206
|
+
* sight of each name in `_addElementToState` and preserved across
|
|
207
|
+
* subsequent `initializeState` cycles (slot change, rename, reset) so
|
|
208
|
+
* `_setInitialState` can detect user edits as `current !== initial`,
|
|
209
|
+
* matching HTML's `dirtyValueFlag` semantics.
|
|
210
|
+
* @private
|
|
211
|
+
* @type {Record<string, string | number | boolean | string[] | null | undefined>}
|
|
212
|
+
*/
|
|
213
|
+
this._initialValues = {};
|
|
214
|
+
|
|
215
|
+
// Single subtree observer that watches `disabled` and `name` attribute
|
|
216
|
+
// changes across all tracked form elements. The `name` watch is required:
|
|
217
|
+
// without it, renaming a tracked field at runtime leaves a stale key in
|
|
218
|
+
// `formState` that `_isNameDisabled` cannot resolve, so a renamed-but-
|
|
219
|
+
// disabled field would re-appear in `.value`.
|
|
220
|
+
/**
|
|
221
|
+
* @private
|
|
222
|
+
* @type {MutationObserver | null}
|
|
223
|
+
*/
|
|
224
|
+
this._attributeObserver = null;
|
|
225
|
+
|
|
226
|
+
/** @private */
|
|
227
|
+
this._handleAttributeMutations = this._handleAttributeMutations.bind(this);
|
|
228
|
+
|
|
204
229
|
// Bind listeners
|
|
205
230
|
/** @private */
|
|
206
231
|
this.reset = this.reset.bind(this);
|
|
@@ -269,6 +294,45 @@ class AuroForm extends i$3 {
|
|
|
269
294
|
return this._isInElementCollection(AuroForm.formElementTags, element);
|
|
270
295
|
}
|
|
271
296
|
|
|
297
|
+
/**
|
|
298
|
+
* Whether a given element is currently disabled. Disabled controls are excluded
|
|
299
|
+
* from submission, validity, and initial-state checks per the HTML spec
|
|
300
|
+
* (section 4.10.19.2 "Enabling and disabling form controls":
|
|
301
|
+
* https://www.w3.org/TR/2011/WD-html5-20110113/association-of-controls-and-forms.html).
|
|
302
|
+
*
|
|
303
|
+
* Implementation note: we deliberately read only the attribute. Every Auro
|
|
304
|
+
* form element in `formElementTags` declares `disabled` with `reflect: true`,
|
|
305
|
+
* so the attribute and property stay in sync. Reading the attribute also
|
|
306
|
+
* lets the MutationObserver in `connectedCallback` (which is filtered to
|
|
307
|
+
* `['disabled', 'name']`) be the single source of truth for re-renders.
|
|
308
|
+
* If a future form-element type ships without attribute reflection, expand
|
|
309
|
+
* this helper to also read `element.disabled`.
|
|
310
|
+
* @param {HTMLElement | undefined | null} element - The element to check.
|
|
311
|
+
* @returns {boolean}
|
|
312
|
+
* @private
|
|
313
|
+
*/
|
|
314
|
+
_isDisabled(element) {
|
|
315
|
+
return Boolean(element?.hasAttribute('disabled'));
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Whether the tracked form element registered under `name` is currently disabled.
|
|
320
|
+
* See `_isDisabled` for the HTML-spec rationale behind excluding disabled
|
|
321
|
+
* controls from form state.
|
|
322
|
+
*
|
|
323
|
+
* Reads a cached flag on `formState[name]` populated by `_addElementToState`
|
|
324
|
+
* at registration and refreshed by `_handleAttributeMutations` whenever the
|
|
325
|
+
* element's `disabled` attribute toggles. The cache is fed by the same
|
|
326
|
+
* `hasAttribute('disabled')` read as `_isDisabled`, so the "future form-element
|
|
327
|
+
* type without attribute reflection" caveat documented there applies here too.
|
|
328
|
+
* @param {string} name - The `name` attribute used to register the element.
|
|
329
|
+
* @returns {boolean}
|
|
330
|
+
* @private
|
|
331
|
+
*/
|
|
332
|
+
_isNameDisabled(name) {
|
|
333
|
+
return Boolean(this.formState[name]?.disabled);
|
|
334
|
+
}
|
|
335
|
+
|
|
272
336
|
/**
|
|
273
337
|
* Validates if an event is from a valid form element with a name.
|
|
274
338
|
* @param {Event} event - The event to validate.
|
|
@@ -308,6 +372,10 @@ class AuroForm extends i$3 {
|
|
|
308
372
|
*/
|
|
309
373
|
get value() {
|
|
310
374
|
return Object.keys(this.formState).reduce((acc, key) => {
|
|
375
|
+
if (this._isNameDisabled(key)) {
|
|
376
|
+
return acc;
|
|
377
|
+
}
|
|
378
|
+
|
|
311
379
|
acc[key] = this.formState[key].value;
|
|
312
380
|
return acc;
|
|
313
381
|
}, {});
|
|
@@ -331,23 +399,113 @@ class AuroForm extends i$3 {
|
|
|
331
399
|
return this._resetElements;
|
|
332
400
|
}
|
|
333
401
|
|
|
402
|
+
/**
|
|
403
|
+
* Raw constraint-validation check. Returns `true` when no enabled field
|
|
404
|
+
* has a validity error. Unlike the public `validity` getter, this does
|
|
405
|
+
* NOT gate on `isInitialState` — callers that need to make a decision
|
|
406
|
+
* based on the actual constraint state (submit-button enablement, the
|
|
407
|
+
* internal `submit()` gate) read this so a pre-filled valid form is
|
|
408
|
+
* correctly recognized as submittable at first render.
|
|
409
|
+
* @returns {boolean}
|
|
410
|
+
* @private
|
|
411
|
+
*/
|
|
412
|
+
_isFormValid() {
|
|
413
|
+
return !Object.keys(this.formState).some((key) => {
|
|
414
|
+
if (this._isNameDisabled(key)) {
|
|
415
|
+
return false;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
const formKey = this.formState[key];
|
|
419
|
+
// `null` validity means "not yet validated" — auro-input doesn't
|
|
420
|
+
// re-validate on every keystroke, so validity stays `null` between
|
|
421
|
+
// input events until blur. Treating `null` as invalid disables Submit
|
|
422
|
+
// the moment a user types into any field, which is the wrong UX.
|
|
423
|
+
// We treat a field as invalid in two cases:
|
|
424
|
+
// 1. validity is known-bad (non-null, non-'valid')
|
|
425
|
+
// 2. it's `required` and structurally empty — `valueMissing` is
|
|
426
|
+
// certain even without a validation pass.
|
|
427
|
+
// `submit()` calls `validate(true)` on every enabled field before
|
|
428
|
+
// reading `_isFormValid()`, so any not-yet-validated field that turns
|
|
429
|
+
// out to fail another constraint still blocks dispatch.
|
|
430
|
+
const knownInvalid = formKey.validity !== null && formKey.validity !== 'valid';
|
|
431
|
+
const requiredAndEmpty = formKey.required && this._normalizeEmpty(formKey.value) === null;
|
|
432
|
+
return knownInvalid || requiredAndEmpty;
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Whether the reset button should be enabled. True when the form has
|
|
438
|
+
* diverged from its initial state (so the user can always return to
|
|
439
|
+
* defaults — even if the dirty value lives behind a now-disabled field),
|
|
440
|
+
* OR when any non-disabled field has a current value or captured initial
|
|
441
|
+
* value (covers pre-filled forms and user-cleared-back-to-empty cases).
|
|
442
|
+
* @returns {boolean}
|
|
443
|
+
* @private
|
|
444
|
+
*/
|
|
445
|
+
_hasResetableState() {
|
|
446
|
+
// Form is dirty — always allow Reset, even if the dirt is on a field
|
|
447
|
+
// that has since been disabled. Without this branch, the user would
|
|
448
|
+
// have no UI path to return the form to its initial state.
|
|
449
|
+
if (!this._isInitialState) {
|
|
450
|
+
return true;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
return Object.keys(this.formState).some((key) => {
|
|
454
|
+
if (this._isNameDisabled(key)) {
|
|
455
|
+
return false;
|
|
456
|
+
}
|
|
457
|
+
const current = this._normalizeEmpty(this.formState[key].value);
|
|
458
|
+
const initial = this._normalizeEmpty(this._initialValues[key]);
|
|
459
|
+
return current !== null || initial !== null;
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Collapse empty representations to a single canonical `null`.
|
|
465
|
+
*
|
|
466
|
+
* `_addElementToState` captures `null` for a field that mounts without a
|
|
467
|
+
* `value` attribute (`element.value || element.getAttribute('value')` is
|
|
468
|
+
* falsy → resolves to `null`), but `sharedInputListener` later stores the
|
|
469
|
+
* raw `event.target.value` — which is `''` for a user-cleared text input.
|
|
470
|
+
* Without this normalization, backspacing back to empty would taint the
|
|
471
|
+
* form forever (`'' !== null`) and Reset would stay enabled with nothing
|
|
472
|
+
* to actually reset.
|
|
473
|
+
*
|
|
474
|
+
* `''`, `undefined`, and `[]` all collapse to `null`. The empty-array case
|
|
475
|
+
* covers checkbox-group, radio-group, and multiselect, where `[]` means
|
|
476
|
+
* "no selection" — semantically the same as `null`/`''`. Genuine values
|
|
477
|
+
* — including `0`, `false`, non-empty strings, and non-empty arrays —
|
|
478
|
+
* pass through unchanged so number, boolean, and populated multi-value
|
|
479
|
+
* fields still compare correctly.
|
|
480
|
+
* @param {*} value - Value to normalize.
|
|
481
|
+
* @returns {*}
|
|
482
|
+
* @private
|
|
483
|
+
*/
|
|
484
|
+
_normalizeEmpty(value) {
|
|
485
|
+
if (value === '' || value === undefined) {
|
|
486
|
+
return null;
|
|
487
|
+
}
|
|
488
|
+
if (Array.isArray(value) && value.length === 0) {
|
|
489
|
+
return null;
|
|
490
|
+
}
|
|
491
|
+
return value;
|
|
492
|
+
}
|
|
493
|
+
|
|
334
494
|
/**
|
|
335
495
|
* Infer validity status based on current formState.
|
|
496
|
+
*
|
|
497
|
+
* Validity stays `null` while the form is in its initial state — this is
|
|
498
|
+
* the "stay quiet until the user interacts" UX contract that consumers
|
|
499
|
+
* depend on to delay error indicators. Code that needs the raw
|
|
500
|
+
* constraint-validation result regardless of interaction (e.g.,
|
|
501
|
+
* submit-button enablement) should call `_isFormValid()` directly.
|
|
336
502
|
* @private
|
|
337
503
|
*/
|
|
338
504
|
_calculateValidity() {
|
|
339
505
|
if (this.isInitialState) {
|
|
340
506
|
this._validity = null;
|
|
341
507
|
} else {
|
|
342
|
-
|
|
343
|
-
const invalidKey = Object.keys(this.formState).
|
|
344
|
-
find((key) => {
|
|
345
|
-
const formKey = this.formState[key];
|
|
346
|
-
// these are NOT extra parens
|
|
347
|
-
// eslint-disable-next-line no-extra-parens
|
|
348
|
-
return (formKey.validity !== 'valid' && formKey.required) || (formKey.validity !== 'valid' && formKey.value !== null);
|
|
349
|
-
});
|
|
350
|
-
this._validity = invalidKey ? 'invalid' : 'valid';
|
|
508
|
+
this._validity = this._isFormValid() ? 'valid' : 'invalid';
|
|
351
509
|
}
|
|
352
510
|
}
|
|
353
511
|
|
|
@@ -363,20 +521,38 @@ class AuroForm extends i$3 {
|
|
|
363
521
|
}
|
|
364
522
|
|
|
365
523
|
/**
|
|
366
|
-
* Determines whether the form is in its initial (untouched) state
|
|
524
|
+
* Determines whether the form is in its initial (untouched) state.
|
|
525
|
+
*
|
|
526
|
+
* A field is tainted if either:
|
|
527
|
+
* - its value differs from the value captured on first render, OR
|
|
528
|
+
* - its validity is failing (anything other than `null` or `'valid'`).
|
|
529
|
+
*
|
|
530
|
+
* Validity acts as a backup signal: it catches users who interact with a
|
|
531
|
+
* field without changing its value (e.g., focusing and blurring a required
|
|
532
|
+
* field). We skip `null` (not yet validated) and `'valid'` (the default
|
|
533
|
+
* after Auro's auto-validation on mount) because neither proves the user
|
|
534
|
+
* touched anything.
|
|
367
535
|
* @returns {void}
|
|
368
536
|
* @private
|
|
369
537
|
*/
|
|
370
538
|
_setInitialState() {
|
|
371
|
-
const anyTainted = Object.keys(this.formState).some((key) =>
|
|
539
|
+
const anyTainted = Object.keys(this.formState).some((key) => {
|
|
540
|
+
// Normalize empty values so a freshly-captured `null` (no `value`
|
|
541
|
+
// attribute at mount) and a user-cleared `''` (input emptied via
|
|
542
|
+
// backspace) compare equal. Without this, backspacing back to an
|
|
543
|
+
// empty field leaves the form permanently tainted.
|
|
544
|
+
const initialValue = this._normalizeEmpty(this._initialValues[key]);
|
|
545
|
+
const currentValue = this._normalizeEmpty(this.formState[key].value);
|
|
546
|
+
const fieldValidity = this.formState[key].validity;
|
|
547
|
+
// eslint-disable-next-line no-extra-parens
|
|
548
|
+
return currentValue !== initialValue || (fieldValidity !== null && fieldValidity !== 'valid');
|
|
549
|
+
});
|
|
372
550
|
|
|
373
551
|
this._isInitialState = !anyTainted;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
});
|
|
552
|
+
// Button state is owned by setDisabledStateOnButtons (called from updated()
|
|
553
|
+
// and reset()). Touching resetElement.disabled here causes a visible flicker
|
|
554
|
+
// in reset(), where the final setDisabledStateOnButtons is deferred behind
|
|
555
|
+
// an extra updateComplete.
|
|
380
556
|
}
|
|
381
557
|
|
|
382
558
|
/**
|
|
@@ -394,19 +570,19 @@ class AuroForm extends i$3 {
|
|
|
394
570
|
*/
|
|
395
571
|
setDisabledStateOnButtons() {
|
|
396
572
|
this._resetElements.forEach((element) => {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}
|
|
573
|
+
// Reset is meaningful whenever any non-disabled field has a current
|
|
574
|
+
// value OR a captured default value — i.e., whenever the click would
|
|
575
|
+
// either clear something or restore a default.
|
|
576
|
+
element.disabled = !this._hasResetableState();
|
|
402
577
|
});
|
|
403
578
|
|
|
404
579
|
this._submitElements.forEach((element) => {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
580
|
+
// Submit enablement reads raw validity (not the gated public getter)
|
|
581
|
+
// so a pre-filled valid form is submittable at first render — the
|
|
582
|
+
// public `validity` stays `null` during initial state to keep error
|
|
583
|
+
// indicators quiet until the user interacts, but the button decision
|
|
584
|
+
// bypasses that gate.
|
|
585
|
+
element.disabled = !this._isFormValid();
|
|
410
586
|
});
|
|
411
587
|
}
|
|
412
588
|
|
|
@@ -452,9 +628,18 @@ class AuroForm extends i$3 {
|
|
|
452
628
|
value: element.value || element.getAttribute('value'),
|
|
453
629
|
validity: element.validity || null,
|
|
454
630
|
required: element.hasAttribute('required'),
|
|
455
|
-
|
|
631
|
+
disabled: element.hasAttribute('disabled'),
|
|
456
632
|
};
|
|
457
633
|
|
|
634
|
+
// Capture the initial (default) value once per name. Use `in` rather
|
|
635
|
+
// than `??=` so a captured `null` (an empty field at first sight) is
|
|
636
|
+
// preserved across rename/slot/reset cycles — `??=` would treat the
|
|
637
|
+
// stored `null` as nullish and overwrite it with whatever value the
|
|
638
|
+
// field has now, defeating the `current !== initial` taint check.
|
|
639
|
+
if (!(targetName in this._initialValues)) {
|
|
640
|
+
this._initialValues[targetName] = this.formState[targetName].value;
|
|
641
|
+
}
|
|
642
|
+
|
|
458
643
|
this._elements.push(element);
|
|
459
644
|
}
|
|
460
645
|
|
|
@@ -491,6 +676,15 @@ class AuroForm extends i$3 {
|
|
|
491
676
|
}
|
|
492
677
|
});
|
|
493
678
|
|
|
679
|
+
// Drop captured initial values for fields that no longer exist in the form.
|
|
680
|
+
// Rename migration in _handleAttributeMutations has already re-keyed surviving
|
|
681
|
+
// fields, so anything left here is a field that was removed from the DOM.
|
|
682
|
+
for (const key of Object.keys(this._initialValues)) {
|
|
683
|
+
if (!(key in this.formState)) {
|
|
684
|
+
delete this._initialValues[key];
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
|
|
494
688
|
this.dispatchEvent(new Event('change', {
|
|
495
689
|
bubbles: true,
|
|
496
690
|
composed: true,
|
|
@@ -535,16 +729,21 @@ class AuroForm extends i$3 {
|
|
|
535
729
|
* @returns {Promise<void>}
|
|
536
730
|
*/
|
|
537
731
|
async submit() {
|
|
538
|
-
// Force validation on
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
732
|
+
// Force validation on all enabled elements. Disabled fields are skipped
|
|
733
|
+
// because disabled controls are not validated nor submitted per the HTML spec.
|
|
734
|
+
this._elements.
|
|
735
|
+
filter((element) => !this._isDisabled(element)).
|
|
736
|
+
forEach((element) => {
|
|
737
|
+
element.validate(true);
|
|
738
|
+
});
|
|
542
739
|
|
|
543
740
|
// Wait for validation to complete and formState to update
|
|
544
741
|
await this.updateComplete;
|
|
545
742
|
|
|
546
|
-
//
|
|
547
|
-
|
|
743
|
+
// Gate on raw constraint-validation rather than the public `validity`
|
|
744
|
+
// getter (which is `null` while in initial state). A pre-filled valid
|
|
745
|
+
// form should be submittable without a prior user edit.
|
|
746
|
+
if (this._isFormValid()) {
|
|
548
747
|
this.dispatchEvent(new CustomEvent('submit', {
|
|
549
748
|
bubbles: true,
|
|
550
749
|
composed: true,
|
|
@@ -614,7 +813,14 @@ class AuroForm extends i$3 {
|
|
|
614
813
|
this._addElementToState(event.target);
|
|
615
814
|
}
|
|
616
815
|
|
|
617
|
-
|
|
816
|
+
// `auroFormElement-validated` can fire with `detail.validity === undefined`
|
|
817
|
+
// when auro-input's updated() lifecycle invokes `validate()` mid-edit but
|
|
818
|
+
// the validation framework's gating conditions (not focused, touched-or-
|
|
819
|
+
// has-value) aren't met — the dispatch still fires, just with the current
|
|
820
|
+
// (untouched) validity. Normalize to `null` so the rest of the form treats
|
|
821
|
+
// "no known status" identically whether it came from `_addElementToState`
|
|
822
|
+
// at mount or from this passthrough mid-typing.
|
|
823
|
+
this.formState[targetName].validity = event.detail.validity ?? null;
|
|
618
824
|
this._calculateValidity();
|
|
619
825
|
this.requestUpdate('formState');
|
|
620
826
|
}
|
|
@@ -626,6 +832,11 @@ class AuroForm extends i$3 {
|
|
|
626
832
|
*/
|
|
627
833
|
handleKeyDown(event) {
|
|
628
834
|
if (event.key === 'Enter' && this.isFormElement(event.target)) {
|
|
835
|
+
// Disabled controls do not submit a form natively.
|
|
836
|
+
if (this._isDisabled(event.target)) {
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
|
|
629
840
|
// Don't submit if it's a textarea (allow new lines)
|
|
630
841
|
if (event.target.tagName.toLowerCase() === 'textarea' ||
|
|
631
842
|
event.target.hasAttribute('textarea')) {
|
|
@@ -657,6 +868,121 @@ class AuroForm extends i$3 {
|
|
|
657
868
|
});
|
|
658
869
|
}
|
|
659
870
|
|
|
871
|
+
/**
|
|
872
|
+
* Handle batched MutationObserver records for `disabled` and `name`
|
|
873
|
+
* attribute changes on tracked form elements. A `name` change invalidates
|
|
874
|
+
* the formState keying — we resolve it by re-initializing state. A `disabled`
|
|
875
|
+
* change simply needs a re-render (so `value` / `validity` getters re-evaluate)
|
|
876
|
+
* and a refresh of the submit/reset button enablement.
|
|
877
|
+
* @param {MutationRecord[]} mutations - The batched mutation records.
|
|
878
|
+
* @returns {void}
|
|
879
|
+
* @private
|
|
880
|
+
*/
|
|
881
|
+
_handleAttributeMutations(mutations) {
|
|
882
|
+
// Only mutations on tracked FORM elements matter here. The same observer
|
|
883
|
+
// also sees attribute changes on the submit/reset buttons (which this
|
|
884
|
+
// component itself toggles via `setDisabledStateOnButtons`); reacting to
|
|
885
|
+
// those would create an infinite observer/update loop.
|
|
886
|
+
const relevant = mutations.filter((mutation) => this.isFormElement(mutation.target));
|
|
887
|
+
if (relevant.length === 0) {
|
|
888
|
+
return;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
const renameMutations = relevant.filter((mutation) => mutation.attributeName === 'name');
|
|
892
|
+
if (renameMutations.length > 0) {
|
|
893
|
+
// Migrate each renamed field's captured initial value from the old key
|
|
894
|
+
// to the new key before `initializeState()` re-runs `_addElementToState`.
|
|
895
|
+
// Without this, the new-name lookup in `_initialValues` would miss, the
|
|
896
|
+
// field's current (possibly user-edited) value would be captured as the
|
|
897
|
+
// new initial, and the form would incorrectly flip back to its initial
|
|
898
|
+
// state. The old key would also leak in `_initialValues` indefinitely.
|
|
899
|
+
renameMutations.forEach((mutation) => {
|
|
900
|
+
const oldName = mutation.oldValue;
|
|
901
|
+
const newName = mutation.target.getAttribute('name');
|
|
902
|
+
if (!oldName || oldName === newName) {
|
|
903
|
+
return;
|
|
904
|
+
}
|
|
905
|
+
if (newName === null) {
|
|
906
|
+
// `name` attribute removed — field will fall out of formState on re-init.
|
|
907
|
+
// Drop its captured initial so it doesn't leak in _initialValues.
|
|
908
|
+
delete this._initialValues[oldName];
|
|
909
|
+
return;
|
|
910
|
+
}
|
|
911
|
+
if (oldName in this._initialValues) {
|
|
912
|
+
this._initialValues[newName] = this._initialValues[oldName];
|
|
913
|
+
delete this._initialValues[oldName];
|
|
914
|
+
}
|
|
915
|
+
});
|
|
916
|
+
// initializeState() rebuilds formState from scratch (re-keying any
|
|
917
|
+
// renamed element) and also dispatches `change` + refreshes button state.
|
|
918
|
+
// We also re-run _attachEventListeners() because elements that previously
|
|
919
|
+
// had no `name` were skipped by queryAuroElements() (which selects
|
|
920
|
+
// `[name]`) and therefore never received input/validation/keydown
|
|
921
|
+
// listeners. Re-attaching is safe — the listener-removal step inside
|
|
922
|
+
// _attachEventListeners() prevents duplicates on already-wired elements.
|
|
923
|
+
this.initializeState();
|
|
924
|
+
this._attachEventListeners();
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
// Refresh the cached `disabled` flag on each affected formState entry
|
|
929
|
+
// before the re-render, so getters that read `_isNameDisabled` see the
|
|
930
|
+
// current attribute state in the same tick.
|
|
931
|
+
relevant
|
|
932
|
+
.filter((mutation) => mutation.attributeName === 'disabled')
|
|
933
|
+
.forEach((mutation) => {
|
|
934
|
+
const name = mutation.target.getAttribute('name');
|
|
935
|
+
if (name && this.formState[name]) {
|
|
936
|
+
this.formState[name].disabled = mutation.target.hasAttribute('disabled');
|
|
937
|
+
}
|
|
938
|
+
});
|
|
939
|
+
|
|
940
|
+
this.requestUpdate('formState');
|
|
941
|
+
this.setDisabledStateOnButtons();
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* @returns {void}
|
|
946
|
+
*/
|
|
947
|
+
connectedCallback() {
|
|
948
|
+
super.connectedCallback();
|
|
949
|
+
|
|
950
|
+
// One observer rooted at the host catches `disabled` / `name` changes on
|
|
951
|
+
// any tracked form element (light-DOM children, including those nested in
|
|
952
|
+
// wrapper elements). Cheaper than allocating an observer per element and
|
|
953
|
+
// resilient to runtime DOM mutations.
|
|
954
|
+
if (!this._attributeObserver) {
|
|
955
|
+
this._attributeObserver = new MutationObserver(this._handleAttributeMutations);
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
this._attributeObserver.observe(this, {
|
|
959
|
+
attributes: true,
|
|
960
|
+
subtree: true,
|
|
961
|
+
attributeOldValue: true,
|
|
962
|
+
attributeFilter: [
|
|
963
|
+
'disabled',
|
|
964
|
+
'name'
|
|
965
|
+
]
|
|
966
|
+
});
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
/**
|
|
970
|
+
* @returns {void}
|
|
971
|
+
*/
|
|
972
|
+
disconnectedCallback() {
|
|
973
|
+
// Disconnect everything we own to avoid leaking observers (and the strong
|
|
974
|
+
// refs they hold to DOM nodes) past the form's lifetime.
|
|
975
|
+
this._attributeObserver?.disconnect();
|
|
976
|
+
this.mutationObservers.forEach((observer) => observer.disconnect());
|
|
977
|
+
this.mutationObservers = [];
|
|
978
|
+
// Intentionally do NOT clear _initialValues here. Slot-moves trigger a
|
|
979
|
+
// disconnect/reconnect cycle; clearing would cause the next initializeState
|
|
980
|
+
// to capture the user's edited values as the new "initial" and silently
|
|
981
|
+
// flip the form back to its initial state.
|
|
982
|
+
|
|
983
|
+
super.disconnectedCallback();
|
|
984
|
+
}
|
|
985
|
+
|
|
660
986
|
/**
|
|
661
987
|
* @param {import('lit').PropertyValues} _changedProperties - Map of changed properties with their previous values.
|
|
662
988
|
* @returns {void}
|
|
@@ -11327,10 +11653,8 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11327
11653
|
this.layout = 'classic';
|
|
11328
11654
|
this.locale = 'en-US';
|
|
11329
11655
|
this.max = undefined;
|
|
11330
|
-
this._maxObject = undefined;
|
|
11331
11656
|
this.maxLength = undefined;
|
|
11332
11657
|
this.min = undefined;
|
|
11333
|
-
this._minObject = undefined;
|
|
11334
11658
|
this.minLength = undefined;
|
|
11335
11659
|
this.required = false;
|
|
11336
11660
|
this.onDark = false;
|
|
@@ -11338,7 +11662,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11338
11662
|
this.size = 'lg';
|
|
11339
11663
|
this.shape = 'classic';
|
|
11340
11664
|
this.value = undefined;
|
|
11341
|
-
this._valueObject = undefined;
|
|
11342
11665
|
|
|
11343
11666
|
this._initializePrivateDefaults();
|
|
11344
11667
|
}
|
|
@@ -11878,7 +12201,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11878
12201
|
* @returns {Date|undefined}
|
|
11879
12202
|
*/
|
|
11880
12203
|
get valueObject() {
|
|
11881
|
-
return this.
|
|
12204
|
+
return this.value && dateFormatter$3.isValidDate(this.value) ? dateFormatter$3.stringToDateInstance(this.value) : undefined;
|
|
11882
12205
|
}
|
|
11883
12206
|
|
|
11884
12207
|
/**
|
|
@@ -11886,7 +12209,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11886
12209
|
* @returns {Date|undefined}
|
|
11887
12210
|
*/
|
|
11888
12211
|
get minObject() {
|
|
11889
|
-
return this.
|
|
12212
|
+
return this.min && dateFormatter$3.isValidDate(this.min) ? dateFormatter$3.stringToDateInstance(this.min) : undefined;
|
|
11890
12213
|
}
|
|
11891
12214
|
|
|
11892
12215
|
/**
|
|
@@ -11894,50 +12217,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11894
12217
|
* @returns {Date|undefined}
|
|
11895
12218
|
*/
|
|
11896
12219
|
get maxObject() {
|
|
11897
|
-
return this.
|
|
11898
|
-
}
|
|
11899
|
-
|
|
11900
|
-
/**
|
|
11901
|
-
* Parses a date string into a Date object when the corresponding `_*Object`
|
|
11902
|
-
* field hasn't been synced yet by `updated()`. Returns undefined when the
|
|
11903
|
-
* input type/format isn't a full date or the string is not a valid date.
|
|
11904
|
-
*
|
|
11905
|
-
* Why this exists: a parent (datepicker) can call `inputN.validate()` from
|
|
11906
|
-
* inside its own `updated()` before this input's `updated()` has run
|
|
11907
|
-
* `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
|
|
11908
|
-
* and range checks would otherwise silently no-op (flipping the result to
|
|
11909
|
-
* `valid` or `patternMismatch`).
|
|
11910
|
-
* @private
|
|
11911
|
-
* @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
|
|
11912
|
-
* @returns {Date|undefined}
|
|
11913
|
-
*/
|
|
11914
|
-
_computeDateObjectFallback(dateStr) {
|
|
11915
|
-
if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
|
|
11916
|
-
return undefined;
|
|
11917
|
-
}
|
|
11918
|
-
if (!dateFormatter$3.isValidDate(dateStr)) {
|
|
11919
|
-
return undefined;
|
|
11920
|
-
}
|
|
11921
|
-
return dateFormatter$3.stringToDateInstance(dateStr);
|
|
11922
|
-
}
|
|
11923
|
-
|
|
11924
|
-
/**
|
|
11925
|
-
* Internal setter for readonly date object properties.
|
|
11926
|
-
* @private
|
|
11927
|
-
* @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
|
|
11928
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
11929
|
-
* @returns {void}
|
|
11930
|
-
*/
|
|
11931
|
-
setDateObjectProperty(propertyName, propertyValue) {
|
|
11932
|
-
const internalPropertyName = `_${propertyName}`;
|
|
11933
|
-
const previousValue = this[internalPropertyName];
|
|
11934
|
-
|
|
11935
|
-
if (previousValue === propertyValue) {
|
|
11936
|
-
return;
|
|
11937
|
-
}
|
|
11938
|
-
|
|
11939
|
-
this[internalPropertyName] = propertyValue;
|
|
11940
|
-
this.requestUpdate(propertyName, previousValue);
|
|
12220
|
+
return this.max && dateFormatter$3.isValidDate(this.max) ? dateFormatter$3.stringToDateInstance(this.max) : undefined;
|
|
11941
12221
|
}
|
|
11942
12222
|
|
|
11943
12223
|
connectedCallback() {
|
|
@@ -11966,7 +12246,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11966
12246
|
format: this.format
|
|
11967
12247
|
});
|
|
11968
12248
|
this.configureDataForType();
|
|
11969
|
-
this.syncDateValues();
|
|
11970
12249
|
}
|
|
11971
12250
|
|
|
11972
12251
|
disconnectedCallback() {
|
|
@@ -11996,7 +12275,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
11996
12275
|
this.setCustomHelpTextMessage();
|
|
11997
12276
|
this.configureAutoFormatting();
|
|
11998
12277
|
this.configureDataForType();
|
|
11999
|
-
this.syncDateValues();
|
|
12000
12278
|
}
|
|
12001
12279
|
|
|
12002
12280
|
/**
|
|
@@ -12133,8 +12411,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12133
12411
|
this.configureDataForType();
|
|
12134
12412
|
}
|
|
12135
12413
|
|
|
12136
|
-
this.syncDateValues(changedProperties);
|
|
12137
|
-
|
|
12138
12414
|
if (changedProperties.has('value')) {
|
|
12139
12415
|
if (this.value && this.value.length > 0) {
|
|
12140
12416
|
this.hasValue = true;
|
|
@@ -12205,69 +12481,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12205
12481
|
}));
|
|
12206
12482
|
}
|
|
12207
12483
|
|
|
12208
|
-
|
|
12209
|
-
/**
|
|
12210
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
12211
|
-
* This keeps the model and display values aligned when either side changes.
|
|
12212
|
-
*
|
|
12213
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
12214
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
12215
|
-
* represents a full year/month/day date format.
|
|
12216
|
-
*
|
|
12217
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
12218
|
-
* @returns {void}
|
|
12219
|
-
* @private
|
|
12220
|
-
*/
|
|
12221
|
-
syncDateValues(changedProperties = undefined) {
|
|
12222
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
12223
|
-
return;
|
|
12224
|
-
}
|
|
12225
|
-
|
|
12226
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
12227
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
12228
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
12229
|
-
}
|
|
12230
|
-
|
|
12231
|
-
/**
|
|
12232
|
-
* Synchronizes one date object/string property pair.
|
|
12233
|
-
* @private
|
|
12234
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
12235
|
-
* @param {string} objectProperty - Date object property name.
|
|
12236
|
-
* @param {string} valueProperty - ISO string property name.
|
|
12237
|
-
* @returns {void}
|
|
12238
|
-
*/
|
|
12239
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
12240
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
12241
|
-
|
|
12242
|
-
// objectProperty wins over valueProperty when both changed
|
|
12243
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
12244
|
-
this[valueProperty] = dateFormatter$3.toISOFormatString(this[objectProperty]);
|
|
12245
|
-
return;
|
|
12246
|
-
}
|
|
12247
|
-
|
|
12248
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
12249
|
-
if (!valuePropertyChanged) {
|
|
12250
|
-
return;
|
|
12251
|
-
}
|
|
12252
|
-
|
|
12253
|
-
// when value is newly set to the same ISO string that corresponds to the existing Date object, do not clear the Date object (avoid unnecessary updates)
|
|
12254
|
-
if (
|
|
12255
|
-
changedProperties &&
|
|
12256
|
-
valueProperty === 'value' &&
|
|
12257
|
-
changedProperties.get('value') === undefined &&
|
|
12258
|
-
this[objectProperty] instanceof Date &&
|
|
12259
|
-
this[valueProperty] === dateFormatter$3.toISOFormatString(this[objectProperty])
|
|
12260
|
-
) {
|
|
12261
|
-
return;
|
|
12262
|
-
}
|
|
12263
|
-
|
|
12264
|
-
if (dateFormatter$3.isValidDate(this[valueProperty])) {
|
|
12265
|
-
this.setDateObjectProperty(objectProperty, dateFormatter$3.stringToDateInstance(this[valueProperty]));
|
|
12266
|
-
} else {
|
|
12267
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
12268
|
-
}
|
|
12269
|
-
}
|
|
12270
|
-
|
|
12271
12484
|
/**
|
|
12272
12485
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
12273
12486
|
* @private
|
|
@@ -12282,8 +12495,13 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12282
12495
|
this._configuringMask = true;
|
|
12283
12496
|
try {
|
|
12284
12497
|
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
12498
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
12499
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
12500
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
12501
|
+
// route through the destroyed instance.
|
|
12285
12502
|
if (this.maskInstance) {
|
|
12286
12503
|
this.maskInstance.destroy();
|
|
12504
|
+
this.maskInstance = null;
|
|
12287
12505
|
}
|
|
12288
12506
|
|
|
12289
12507
|
this.util.updateFormat(this.format);
|
|
@@ -12304,9 +12522,7 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12304
12522
|
if (
|
|
12305
12523
|
this.util.isFullDateFormat(this.type, this.format) &&
|
|
12306
12524
|
this.value &&
|
|
12307
|
-
|
|
12308
|
-
this.valueObject instanceof Date &&
|
|
12309
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
12525
|
+
this.valueObject &&
|
|
12310
12526
|
typeof maskOptions.format === 'function'
|
|
12311
12527
|
) {
|
|
12312
12528
|
existingValue = maskOptions.format(this.valueObject);
|
|
@@ -12511,7 +12727,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12511
12727
|
*/
|
|
12512
12728
|
reset() {
|
|
12513
12729
|
this.value = undefined;
|
|
12514
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
12515
12730
|
this.validation.reset(this);
|
|
12516
12731
|
}
|
|
12517
12732
|
|
|
@@ -12520,7 +12735,6 @@ let BaseInput$2 = class BaseInput extends AuroElement$6 {
|
|
|
12520
12735
|
*/
|
|
12521
12736
|
clear() {
|
|
12522
12737
|
this.value = undefined;
|
|
12523
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
12524
12738
|
}
|
|
12525
12739
|
|
|
12526
12740
|
/**
|
|
@@ -13049,7 +13263,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13049
13263
|
}
|
|
13050
13264
|
};
|
|
13051
13265
|
|
|
13052
|
-
var formkitVersion$8 = '
|
|
13266
|
+
var formkitVersion$8 = '202606221656';
|
|
13053
13267
|
|
|
13054
13268
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13055
13269
|
// See LICENSE in the project root for license information.
|
|
@@ -27169,7 +27383,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27169
27383
|
}
|
|
27170
27384
|
};
|
|
27171
27385
|
|
|
27172
|
-
var formkitVersion$2$1 = '
|
|
27386
|
+
var formkitVersion$2$1 = '202606221656';
|
|
27173
27387
|
|
|
27174
27388
|
let l$1$2 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$1$2 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$1$3=i$6`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
|
|
27175
27389
|
`,u$4$2=i$6`.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, .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, .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, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .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, .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, .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, .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, .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, .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, .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(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
|
|
@@ -32680,7 +32894,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
32680
32894
|
}
|
|
32681
32895
|
};
|
|
32682
32896
|
|
|
32683
|
-
var formkitVersion$1$3 = '
|
|
32897
|
+
var formkitVersion$1$3 = '202606221656';
|
|
32684
32898
|
|
|
32685
32899
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
32686
32900
|
static get properties() {
|
|
@@ -44546,10 +44760,8 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44546
44760
|
this.layout = 'classic';
|
|
44547
44761
|
this.locale = 'en-US';
|
|
44548
44762
|
this.max = undefined;
|
|
44549
|
-
this._maxObject = undefined;
|
|
44550
44763
|
this.maxLength = undefined;
|
|
44551
44764
|
this.min = undefined;
|
|
44552
|
-
this._minObject = undefined;
|
|
44553
44765
|
this.minLength = undefined;
|
|
44554
44766
|
this.required = false;
|
|
44555
44767
|
this.onDark = false;
|
|
@@ -44557,7 +44769,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
44557
44769
|
this.size = 'lg';
|
|
44558
44770
|
this.shape = 'classic';
|
|
44559
44771
|
this.value = undefined;
|
|
44560
|
-
this._valueObject = undefined;
|
|
44561
44772
|
|
|
44562
44773
|
this._initializePrivateDefaults();
|
|
44563
44774
|
}
|
|
@@ -45097,7 +45308,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45097
45308
|
* @returns {Date|undefined}
|
|
45098
45309
|
*/
|
|
45099
45310
|
get valueObject() {
|
|
45100
|
-
return this.
|
|
45311
|
+
return this.value && dateFormatter$2.isValidDate(this.value) ? dateFormatter$2.stringToDateInstance(this.value) : undefined;
|
|
45101
45312
|
}
|
|
45102
45313
|
|
|
45103
45314
|
/**
|
|
@@ -45105,7 +45316,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45105
45316
|
* @returns {Date|undefined}
|
|
45106
45317
|
*/
|
|
45107
45318
|
get minObject() {
|
|
45108
|
-
return this.
|
|
45319
|
+
return this.min && dateFormatter$2.isValidDate(this.min) ? dateFormatter$2.stringToDateInstance(this.min) : undefined;
|
|
45109
45320
|
}
|
|
45110
45321
|
|
|
45111
45322
|
/**
|
|
@@ -45113,50 +45324,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45113
45324
|
* @returns {Date|undefined}
|
|
45114
45325
|
*/
|
|
45115
45326
|
get maxObject() {
|
|
45116
|
-
return this.
|
|
45117
|
-
}
|
|
45118
|
-
|
|
45119
|
-
/**
|
|
45120
|
-
* Parses a date string into a Date object when the corresponding `_*Object`
|
|
45121
|
-
* field hasn't been synced yet by `updated()`. Returns undefined when the
|
|
45122
|
-
* input type/format isn't a full date or the string is not a valid date.
|
|
45123
|
-
*
|
|
45124
|
-
* Why this exists: a parent (datepicker) can call `inputN.validate()` from
|
|
45125
|
-
* inside its own `updated()` before this input's `updated()` has run
|
|
45126
|
-
* `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
|
|
45127
|
-
* and range checks would otherwise silently no-op (flipping the result to
|
|
45128
|
-
* `valid` or `patternMismatch`).
|
|
45129
|
-
* @private
|
|
45130
|
-
* @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
|
|
45131
|
-
* @returns {Date|undefined}
|
|
45132
|
-
*/
|
|
45133
|
-
_computeDateObjectFallback(dateStr) {
|
|
45134
|
-
if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
|
|
45135
|
-
return undefined;
|
|
45136
|
-
}
|
|
45137
|
-
if (!dateFormatter$2.isValidDate(dateStr)) {
|
|
45138
|
-
return undefined;
|
|
45139
|
-
}
|
|
45140
|
-
return dateFormatter$2.stringToDateInstance(dateStr);
|
|
45141
|
-
}
|
|
45142
|
-
|
|
45143
|
-
/**
|
|
45144
|
-
* Internal setter for readonly date object properties.
|
|
45145
|
-
* @private
|
|
45146
|
-
* @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
|
|
45147
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
45148
|
-
* @returns {void}
|
|
45149
|
-
*/
|
|
45150
|
-
setDateObjectProperty(propertyName, propertyValue) {
|
|
45151
|
-
const internalPropertyName = `_${propertyName}`;
|
|
45152
|
-
const previousValue = this[internalPropertyName];
|
|
45153
|
-
|
|
45154
|
-
if (previousValue === propertyValue) {
|
|
45155
|
-
return;
|
|
45156
|
-
}
|
|
45157
|
-
|
|
45158
|
-
this[internalPropertyName] = propertyValue;
|
|
45159
|
-
this.requestUpdate(propertyName, previousValue);
|
|
45327
|
+
return this.max && dateFormatter$2.isValidDate(this.max) ? dateFormatter$2.stringToDateInstance(this.max) : undefined;
|
|
45160
45328
|
}
|
|
45161
45329
|
|
|
45162
45330
|
connectedCallback() {
|
|
@@ -45185,7 +45353,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45185
45353
|
format: this.format
|
|
45186
45354
|
});
|
|
45187
45355
|
this.configureDataForType();
|
|
45188
|
-
this.syncDateValues();
|
|
45189
45356
|
}
|
|
45190
45357
|
|
|
45191
45358
|
disconnectedCallback() {
|
|
@@ -45215,7 +45382,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45215
45382
|
this.setCustomHelpTextMessage();
|
|
45216
45383
|
this.configureAutoFormatting();
|
|
45217
45384
|
this.configureDataForType();
|
|
45218
|
-
this.syncDateValues();
|
|
45219
45385
|
}
|
|
45220
45386
|
|
|
45221
45387
|
/**
|
|
@@ -45352,8 +45518,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45352
45518
|
this.configureDataForType();
|
|
45353
45519
|
}
|
|
45354
45520
|
|
|
45355
|
-
this.syncDateValues(changedProperties);
|
|
45356
|
-
|
|
45357
45521
|
if (changedProperties.has('value')) {
|
|
45358
45522
|
if (this.value && this.value.length > 0) {
|
|
45359
45523
|
this.hasValue = true;
|
|
@@ -45424,69 +45588,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45424
45588
|
}));
|
|
45425
45589
|
}
|
|
45426
45590
|
|
|
45427
|
-
|
|
45428
|
-
/**
|
|
45429
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
45430
|
-
* This keeps the model and display values aligned when either side changes.
|
|
45431
|
-
*
|
|
45432
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
45433
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
45434
|
-
* represents a full year/month/day date format.
|
|
45435
|
-
*
|
|
45436
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
45437
|
-
* @returns {void}
|
|
45438
|
-
* @private
|
|
45439
|
-
*/
|
|
45440
|
-
syncDateValues(changedProperties = undefined) {
|
|
45441
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
45442
|
-
return;
|
|
45443
|
-
}
|
|
45444
|
-
|
|
45445
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
45446
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
45447
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
45448
|
-
}
|
|
45449
|
-
|
|
45450
|
-
/**
|
|
45451
|
-
* Synchronizes one date object/string property pair.
|
|
45452
|
-
* @private
|
|
45453
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
45454
|
-
* @param {string} objectProperty - Date object property name.
|
|
45455
|
-
* @param {string} valueProperty - ISO string property name.
|
|
45456
|
-
* @returns {void}
|
|
45457
|
-
*/
|
|
45458
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
45459
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
45460
|
-
|
|
45461
|
-
// objectProperty wins over valueProperty when both changed
|
|
45462
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
45463
|
-
this[valueProperty] = dateFormatter$2.toISOFormatString(this[objectProperty]);
|
|
45464
|
-
return;
|
|
45465
|
-
}
|
|
45466
|
-
|
|
45467
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
45468
|
-
if (!valuePropertyChanged) {
|
|
45469
|
-
return;
|
|
45470
|
-
}
|
|
45471
|
-
|
|
45472
|
-
// when value is newly set to the same ISO string that corresponds to the existing Date object, do not clear the Date object (avoid unnecessary updates)
|
|
45473
|
-
if (
|
|
45474
|
-
changedProperties &&
|
|
45475
|
-
valueProperty === 'value' &&
|
|
45476
|
-
changedProperties.get('value') === undefined &&
|
|
45477
|
-
this[objectProperty] instanceof Date &&
|
|
45478
|
-
this[valueProperty] === dateFormatter$2.toISOFormatString(this[objectProperty])
|
|
45479
|
-
) {
|
|
45480
|
-
return;
|
|
45481
|
-
}
|
|
45482
|
-
|
|
45483
|
-
if (dateFormatter$2.isValidDate(this[valueProperty])) {
|
|
45484
|
-
this.setDateObjectProperty(objectProperty, dateFormatter$2.stringToDateInstance(this[valueProperty]));
|
|
45485
|
-
} else {
|
|
45486
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
45487
|
-
}
|
|
45488
|
-
}
|
|
45489
|
-
|
|
45490
45591
|
/**
|
|
45491
45592
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
45492
45593
|
* @private
|
|
@@ -45501,8 +45602,13 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45501
45602
|
this._configuringMask = true;
|
|
45502
45603
|
try {
|
|
45503
45604
|
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
45605
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
45606
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
45607
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
45608
|
+
// route through the destroyed instance.
|
|
45504
45609
|
if (this.maskInstance) {
|
|
45505
45610
|
this.maskInstance.destroy();
|
|
45611
|
+
this.maskInstance = null;
|
|
45506
45612
|
}
|
|
45507
45613
|
|
|
45508
45614
|
this.util.updateFormat(this.format);
|
|
@@ -45523,9 +45629,7 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45523
45629
|
if (
|
|
45524
45630
|
this.util.isFullDateFormat(this.type, this.format) &&
|
|
45525
45631
|
this.value &&
|
|
45526
|
-
|
|
45527
|
-
this.valueObject instanceof Date &&
|
|
45528
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
45632
|
+
this.valueObject &&
|
|
45529
45633
|
typeof maskOptions.format === 'function'
|
|
45530
45634
|
) {
|
|
45531
45635
|
existingValue = maskOptions.format(this.valueObject);
|
|
@@ -45730,7 +45834,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45730
45834
|
*/
|
|
45731
45835
|
reset() {
|
|
45732
45836
|
this.value = undefined;
|
|
45733
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
45734
45837
|
this.validation.reset(this);
|
|
45735
45838
|
}
|
|
45736
45839
|
|
|
@@ -45739,7 +45842,6 @@ let BaseInput$1 = class BaseInput extends AuroElement$1$3 {
|
|
|
45739
45842
|
*/
|
|
45740
45843
|
clear() {
|
|
45741
45844
|
this.value = undefined;
|
|
45742
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
45743
45845
|
}
|
|
45744
45846
|
|
|
45745
45847
|
/**
|
|
@@ -46268,7 +46370,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
46268
46370
|
}
|
|
46269
46371
|
};
|
|
46270
46372
|
|
|
46271
|
-
var formkitVersion$7 = '
|
|
46373
|
+
var formkitVersion$7 = '202606221656';
|
|
46272
46374
|
|
|
46273
46375
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46274
46376
|
// See LICENSE in the project root for license information.
|
|
@@ -50965,7 +51067,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
50965
51067
|
}
|
|
50966
51068
|
};
|
|
50967
51069
|
|
|
50968
|
-
var formkitVersion$1$2 = '
|
|
51070
|
+
var formkitVersion$1$2 = '202606221656';
|
|
50969
51071
|
|
|
50970
51072
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
50971
51073
|
// See LICENSE in the project root for license information.
|
|
@@ -55293,7 +55395,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
55293
55395
|
}
|
|
55294
55396
|
};
|
|
55295
55397
|
|
|
55296
|
-
var formkitVersion$6 = '
|
|
55398
|
+
var formkitVersion$6 = '202606221656';
|
|
55297
55399
|
|
|
55298
55400
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
55299
55401
|
static get properties() {
|
|
@@ -59225,7 +59327,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
59225
59327
|
}
|
|
59226
59328
|
};
|
|
59227
59329
|
|
|
59228
|
-
var formkitVersion$5 = '
|
|
59330
|
+
var formkitVersion$5 = '202606221656';
|
|
59229
59331
|
|
|
59230
59332
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59231
59333
|
// See LICENSE in the project root for license information.
|
|
@@ -60975,7 +61077,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
60975
61077
|
}
|
|
60976
61078
|
};
|
|
60977
61079
|
|
|
60978
|
-
var formkitVersion$4 = '
|
|
61080
|
+
var formkitVersion$4 = '202606221656';
|
|
60979
61081
|
|
|
60980
61082
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
60981
61083
|
// See LICENSE in the project root for license information.
|
|
@@ -66190,7 +66292,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
66190
66292
|
}
|
|
66191
66293
|
};
|
|
66192
66294
|
|
|
66193
|
-
var formkitVersion$2 = '
|
|
66295
|
+
var formkitVersion$2 = '202606221656';
|
|
66194
66296
|
|
|
66195
66297
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
66196
66298
|
static get properties() {
|
|
@@ -78056,10 +78158,8 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78056
78158
|
this.layout = 'classic';
|
|
78057
78159
|
this.locale = 'en-US';
|
|
78058
78160
|
this.max = undefined;
|
|
78059
|
-
this._maxObject = undefined;
|
|
78060
78161
|
this.maxLength = undefined;
|
|
78061
78162
|
this.min = undefined;
|
|
78062
|
-
this._minObject = undefined;
|
|
78063
78163
|
this.minLength = undefined;
|
|
78064
78164
|
this.required = false;
|
|
78065
78165
|
this.onDark = false;
|
|
@@ -78067,7 +78167,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78067
78167
|
this.size = 'lg';
|
|
78068
78168
|
this.shape = 'classic';
|
|
78069
78169
|
this.value = undefined;
|
|
78070
|
-
this._valueObject = undefined;
|
|
78071
78170
|
|
|
78072
78171
|
this._initializePrivateDefaults();
|
|
78073
78172
|
}
|
|
@@ -78607,7 +78706,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78607
78706
|
* @returns {Date|undefined}
|
|
78608
78707
|
*/
|
|
78609
78708
|
get valueObject() {
|
|
78610
|
-
return this.
|
|
78709
|
+
return this.value && dateFormatter.isValidDate(this.value) ? dateFormatter.stringToDateInstance(this.value) : undefined;
|
|
78611
78710
|
}
|
|
78612
78711
|
|
|
78613
78712
|
/**
|
|
@@ -78615,7 +78714,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78615
78714
|
* @returns {Date|undefined}
|
|
78616
78715
|
*/
|
|
78617
78716
|
get minObject() {
|
|
78618
|
-
return this.
|
|
78717
|
+
return this.min && dateFormatter.isValidDate(this.min) ? dateFormatter.stringToDateInstance(this.min) : undefined;
|
|
78619
78718
|
}
|
|
78620
78719
|
|
|
78621
78720
|
/**
|
|
@@ -78623,50 +78722,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78623
78722
|
* @returns {Date|undefined}
|
|
78624
78723
|
*/
|
|
78625
78724
|
get maxObject() {
|
|
78626
|
-
return this.
|
|
78627
|
-
}
|
|
78628
|
-
|
|
78629
|
-
/**
|
|
78630
|
-
* Parses a date string into a Date object when the corresponding `_*Object`
|
|
78631
|
-
* field hasn't been synced yet by `updated()`. Returns undefined when the
|
|
78632
|
-
* input type/format isn't a full date or the string is not a valid date.
|
|
78633
|
-
*
|
|
78634
|
-
* Why this exists: a parent (datepicker) can call `inputN.validate()` from
|
|
78635
|
-
* inside its own `updated()` before this input's `updated()` has run
|
|
78636
|
-
* `syncDateValues()` — so `_valueObject`/`_maxObject` are still `undefined`
|
|
78637
|
-
* and range checks would otherwise silently no-op (flipping the result to
|
|
78638
|
-
* `valid` or `patternMismatch`).
|
|
78639
|
-
* @private
|
|
78640
|
-
* @param {string|undefined} dateStr - ISO date string from `value`/`min`/`max`.
|
|
78641
|
-
* @returns {Date|undefined}
|
|
78642
|
-
*/
|
|
78643
|
-
_computeDateObjectFallback(dateStr) {
|
|
78644
|
-
if (!dateStr || !this.util || !this.util.isFullDateFormat(this.type, this.format)) {
|
|
78645
|
-
return undefined;
|
|
78646
|
-
}
|
|
78647
|
-
if (!dateFormatter.isValidDate(dateStr)) {
|
|
78648
|
-
return undefined;
|
|
78649
|
-
}
|
|
78650
|
-
return dateFormatter.stringToDateInstance(dateStr);
|
|
78651
|
-
}
|
|
78652
|
-
|
|
78653
|
-
/**
|
|
78654
|
-
* Internal setter for readonly date object properties.
|
|
78655
|
-
* @private
|
|
78656
|
-
* @param {'valueObject'|'minObject'|'maxObject'} propertyName - Public object property name.
|
|
78657
|
-
* @param {Date|undefined} propertyValue - Value to assign.
|
|
78658
|
-
* @returns {void}
|
|
78659
|
-
*/
|
|
78660
|
-
setDateObjectProperty(propertyName, propertyValue) {
|
|
78661
|
-
const internalPropertyName = `_${propertyName}`;
|
|
78662
|
-
const previousValue = this[internalPropertyName];
|
|
78663
|
-
|
|
78664
|
-
if (previousValue === propertyValue) {
|
|
78665
|
-
return;
|
|
78666
|
-
}
|
|
78667
|
-
|
|
78668
|
-
this[internalPropertyName] = propertyValue;
|
|
78669
|
-
this.requestUpdate(propertyName, previousValue);
|
|
78725
|
+
return this.max && dateFormatter.isValidDate(this.max) ? dateFormatter.stringToDateInstance(this.max) : undefined;
|
|
78670
78726
|
}
|
|
78671
78727
|
|
|
78672
78728
|
connectedCallback() {
|
|
@@ -78695,7 +78751,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78695
78751
|
format: this.format
|
|
78696
78752
|
});
|
|
78697
78753
|
this.configureDataForType();
|
|
78698
|
-
this.syncDateValues();
|
|
78699
78754
|
}
|
|
78700
78755
|
|
|
78701
78756
|
disconnectedCallback() {
|
|
@@ -78725,7 +78780,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78725
78780
|
this.setCustomHelpTextMessage();
|
|
78726
78781
|
this.configureAutoFormatting();
|
|
78727
78782
|
this.configureDataForType();
|
|
78728
|
-
this.syncDateValues();
|
|
78729
78783
|
}
|
|
78730
78784
|
|
|
78731
78785
|
/**
|
|
@@ -78862,8 +78916,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78862
78916
|
this.configureDataForType();
|
|
78863
78917
|
}
|
|
78864
78918
|
|
|
78865
|
-
this.syncDateValues(changedProperties);
|
|
78866
|
-
|
|
78867
78919
|
if (changedProperties.has('value')) {
|
|
78868
78920
|
if (this.value && this.value.length > 0) {
|
|
78869
78921
|
this.hasValue = true;
|
|
@@ -78934,69 +78986,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
78934
78986
|
}));
|
|
78935
78987
|
}
|
|
78936
78988
|
|
|
78937
|
-
|
|
78938
|
-
/**
|
|
78939
|
-
* Synchronizes the ISO string values and Date object representations for date-related properties.
|
|
78940
|
-
* This keeps the model and display values aligned when either side changes.
|
|
78941
|
-
*
|
|
78942
|
-
* When a full date format is in use, this method updates `value`, `min`, and `max` from their corresponding
|
|
78943
|
-
* Date objects or vice versa, based on which properties have changed. It only runs when the current configuration
|
|
78944
|
-
* represents a full year/month/day date format.
|
|
78945
|
-
*
|
|
78946
|
-
* @param {Map<string, unknown>|undefined} [changedProperties=undefined] - Optional map of changed properties used to limit which values are synchronized.
|
|
78947
|
-
* @returns {void}
|
|
78948
|
-
* @private
|
|
78949
|
-
*/
|
|
78950
|
-
syncDateValues(changedProperties = undefined) {
|
|
78951
|
-
if (!this.util.isFullDateFormat(this.type, this.format)) {
|
|
78952
|
-
return;
|
|
78953
|
-
}
|
|
78954
|
-
|
|
78955
|
-
this.syncSingleDateValue(changedProperties, 'valueObject', 'value');
|
|
78956
|
-
this.syncSingleDateValue(changedProperties, 'minObject', 'min');
|
|
78957
|
-
this.syncSingleDateValue(changedProperties, 'maxObject', 'max');
|
|
78958
|
-
}
|
|
78959
|
-
|
|
78960
|
-
/**
|
|
78961
|
-
* Synchronizes one date object/string property pair.
|
|
78962
|
-
* @private
|
|
78963
|
-
* @param {Map<string, unknown>|undefined} changedProperties - Map of changed properties from Lit.
|
|
78964
|
-
* @param {string} objectProperty - Date object property name.
|
|
78965
|
-
* @param {string} valueProperty - ISO string property name.
|
|
78966
|
-
* @returns {void}
|
|
78967
|
-
*/
|
|
78968
|
-
syncSingleDateValue(changedProperties, objectProperty, valueProperty) {
|
|
78969
|
-
const objectPropertyChanged = !changedProperties || changedProperties.has(objectProperty);
|
|
78970
|
-
|
|
78971
|
-
// objectProperty wins over valueProperty when both changed
|
|
78972
|
-
if (objectPropertyChanged && this[objectProperty]) {
|
|
78973
|
-
this[valueProperty] = dateFormatter.toISOFormatString(this[objectProperty]);
|
|
78974
|
-
return;
|
|
78975
|
-
}
|
|
78976
|
-
|
|
78977
|
-
const valuePropertyChanged = !changedProperties || changedProperties.has(valueProperty);
|
|
78978
|
-
if (!valuePropertyChanged) {
|
|
78979
|
-
return;
|
|
78980
|
-
}
|
|
78981
|
-
|
|
78982
|
-
// when value is newly set to the same ISO string that corresponds to the existing Date object, do not clear the Date object (avoid unnecessary updates)
|
|
78983
|
-
if (
|
|
78984
|
-
changedProperties &&
|
|
78985
|
-
valueProperty === 'value' &&
|
|
78986
|
-
changedProperties.get('value') === undefined &&
|
|
78987
|
-
this[objectProperty] instanceof Date &&
|
|
78988
|
-
this[valueProperty] === dateFormatter.toISOFormatString(this[objectProperty])
|
|
78989
|
-
) {
|
|
78990
|
-
return;
|
|
78991
|
-
}
|
|
78992
|
-
|
|
78993
|
-
if (dateFormatter.isValidDate(this[valueProperty])) {
|
|
78994
|
-
this.setDateObjectProperty(objectProperty, dateFormatter.stringToDateInstance(this[valueProperty]));
|
|
78995
|
-
} else {
|
|
78996
|
-
this.setDateObjectProperty(objectProperty, undefined);
|
|
78997
|
-
}
|
|
78998
|
-
}
|
|
78999
|
-
|
|
79000
78989
|
/**
|
|
79001
78990
|
* Sets up IMasks and logic based on auto-formatting requirements.
|
|
79002
78991
|
* @private
|
|
@@ -79011,8 +79000,13 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79011
79000
|
this._configuringMask = true;
|
|
79012
79001
|
try {
|
|
79013
79002
|
// Destroy any prior mask so IMask can attach fresh under the new format.
|
|
79003
|
+
// Null the reference too — if the new maskOptions.mask is falsy (e.g.
|
|
79004
|
+
// type switched from credit-card to text) the IMask() reassignment
|
|
79005
|
+
// below is skipped, and downstream writes at line ~823 would otherwise
|
|
79006
|
+
// route through the destroyed instance.
|
|
79014
79007
|
if (this.maskInstance) {
|
|
79015
79008
|
this.maskInstance.destroy();
|
|
79009
|
+
this.maskInstance = null;
|
|
79016
79010
|
}
|
|
79017
79011
|
|
|
79018
79012
|
this.util.updateFormat(this.format);
|
|
@@ -79033,9 +79027,7 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79033
79027
|
if (
|
|
79034
79028
|
this.util.isFullDateFormat(this.type, this.format) &&
|
|
79035
79029
|
this.value &&
|
|
79036
|
-
|
|
79037
|
-
this.valueObject instanceof Date &&
|
|
79038
|
-
!Number.isNaN(this.valueObject.getTime()) &&
|
|
79030
|
+
this.valueObject &&
|
|
79039
79031
|
typeof maskOptions.format === 'function'
|
|
79040
79032
|
) {
|
|
79041
79033
|
existingValue = maskOptions.format(this.valueObject);
|
|
@@ -79240,7 +79232,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79240
79232
|
*/
|
|
79241
79233
|
reset() {
|
|
79242
79234
|
this.value = undefined;
|
|
79243
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
79244
79235
|
this.validation.reset(this);
|
|
79245
79236
|
}
|
|
79246
79237
|
|
|
@@ -79249,7 +79240,6 @@ class BaseInput extends AuroElement$1$1 {
|
|
|
79249
79240
|
*/
|
|
79250
79241
|
clear() {
|
|
79251
79242
|
this.value = undefined;
|
|
79252
|
-
this.setDateObjectProperty('valueObject', undefined);
|
|
79253
79243
|
}
|
|
79254
79244
|
|
|
79255
79245
|
/**
|
|
@@ -79778,7 +79768,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
79778
79768
|
}
|
|
79779
79769
|
};
|
|
79780
79770
|
|
|
79781
|
-
var formkitVersion$1$1 = '
|
|
79771
|
+
var formkitVersion$1$1 = '202606221656';
|
|
79782
79772
|
|
|
79783
79773
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
79784
79774
|
// See LICENSE in the project root for license information.
|
|
@@ -80899,7 +80889,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
80899
80889
|
}
|
|
80900
80890
|
};
|
|
80901
80891
|
|
|
80902
|
-
var formkitVersion$3 = '
|
|
80892
|
+
var formkitVersion$3 = '202606221656';
|
|
80903
80893
|
|
|
80904
80894
|
var styleCss$1$3 = i$6`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
|
|
80905
80895
|
|
|
@@ -82416,11 +82406,15 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82416
82406
|
|
|
82417
82407
|
// Announce the selection after the dropdown closes so it isn't
|
|
82418
82408
|
// overridden by VoiceOver's "collapsed" announcement from aria-expanded.
|
|
82409
|
+
// Skip when there's no selected value (e.g. menu.clearSelection() from
|
|
82410
|
+
// the unmatched-value path), otherwise VoiceOver reads "undefined".
|
|
82419
82411
|
const selectedValue = this.menu.value;
|
|
82420
|
-
|
|
82421
|
-
|
|
82422
|
-
|
|
82423
|
-
|
|
82412
|
+
if (selectedValue) {
|
|
82413
|
+
const announcementDelay = 300;
|
|
82414
|
+
setTimeout(() => {
|
|
82415
|
+
announceToScreenReader$1(this._getAnnouncementRoot(), `${selectedValue}, selected`);
|
|
82416
|
+
}, announcementDelay);
|
|
82417
|
+
}
|
|
82424
82418
|
}
|
|
82425
82419
|
|
|
82426
82420
|
// Programmatic value syncs leave availableOptions stale because
|
|
@@ -82841,8 +82835,12 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
82841
82835
|
if (this.menu.options.some((opt) => opt.value === this.value) || this.behavior === 'filter') {
|
|
82842
82836
|
this.setMenuValue(this.value);
|
|
82843
82837
|
} else {
|
|
82844
|
-
|
|
82845
|
-
|
|
82838
|
+
// Clear menu.value AND menu.optionSelected together. Clearing only
|
|
82839
|
+
// menu.value leaves the previously-selected option element pinned
|
|
82840
|
+
// as menu.optionSelected; a later auroMenu-selectedOption event
|
|
82841
|
+
// would then write its stale .value back into combobox.value.
|
|
82842
|
+
if (this.menu.value || this.menu.optionSelected) {
|
|
82843
|
+
this.menu.clearSelection();
|
|
82846
82844
|
}
|
|
82847
82845
|
// Suggestion-mode freeform value: sync the trigger + bib to show it,
|
|
82848
82846
|
// then refresh the filter once the inputs flush (handleInputValueChange
|
|
@@ -89682,7 +89680,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
89682
89680
|
}
|
|
89683
89681
|
};
|
|
89684
89682
|
|
|
89685
|
-
var formkitVersion$1 = '
|
|
89683
|
+
var formkitVersion$1 = '202606221656';
|
|
89686
89684
|
|
|
89687
89685
|
class AuroElement extends i$3 {
|
|
89688
89686
|
static get properties() {
|
|
@@ -91695,7 +91693,7 @@ class AuroHelpText extends i$3 {
|
|
|
91695
91693
|
}
|
|
91696
91694
|
}
|
|
91697
91695
|
|
|
91698
|
-
var formkitVersion = '
|
|
91696
|
+
var formkitVersion = '202606221656';
|
|
91699
91697
|
|
|
91700
91698
|
var styleCss = i$6`.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);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-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, 300);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, 300);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}`;
|
|
91701
91699
|
|
|
@@ -93323,7 +93321,79 @@ AuroMenu.register();
|
|
|
93323
93321
|
AuroMenuOption.register();
|
|
93324
93322
|
AuroSelect.register();
|
|
93325
93323
|
|
|
93324
|
+
async function disabledExample() {
|
|
93325
|
+
await customElements.whenDefined('auro-form');
|
|
93326
|
+
|
|
93327
|
+
const form = document.querySelector('#disabledExampleForm');
|
|
93328
|
+
const output = document.querySelector('#disabledExampleOutput');
|
|
93329
|
+
|
|
93330
|
+
if (!form || !output) {
|
|
93331
|
+
throw new Error('disabledExample: required nodes not yet rendered');
|
|
93332
|
+
}
|
|
93333
|
+
|
|
93334
|
+
await form.updateComplete;
|
|
93335
|
+
|
|
93336
|
+
form.addEventListener('submit', (event) => {
|
|
93337
|
+
output.textContent = JSON.stringify(event.detail.value, null, 2);
|
|
93338
|
+
});
|
|
93339
|
+
}
|
|
93340
|
+
|
|
93341
|
+
async function disableAfterEditExample() {
|
|
93342
|
+
await customElements.whenDefined('auro-form');
|
|
93343
|
+
|
|
93344
|
+
const form = document.querySelector('#disableAfterEditForm');
|
|
93345
|
+
const output = document.querySelector('#disableAfterEditOutput');
|
|
93346
|
+
const field = document.querySelector('#dae-field');
|
|
93347
|
+
const toggle = document.querySelector('#dae-toggle');
|
|
93348
|
+
|
|
93349
|
+
if (!form || !output || !field || !toggle) {
|
|
93350
|
+
throw new Error('disableAfterEditExample: required nodes not yet rendered');
|
|
93351
|
+
}
|
|
93352
|
+
|
|
93353
|
+
await form.updateComplete;
|
|
93354
|
+
|
|
93355
|
+
toggle.addEventListener('click', () => {
|
|
93356
|
+
const willDisable = !field.hasAttribute('disabled');
|
|
93357
|
+
if (willDisable) {
|
|
93358
|
+
field.setAttribute('disabled', '');
|
|
93359
|
+
toggle.textContent = 'Enable field';
|
|
93360
|
+
} else {
|
|
93361
|
+
field.removeAttribute('disabled');
|
|
93362
|
+
toggle.textContent = 'Disable field';
|
|
93363
|
+
}
|
|
93364
|
+
});
|
|
93365
|
+
|
|
93366
|
+
form.addEventListener('submit', (event) => {
|
|
93367
|
+
output.textContent = [
|
|
93368
|
+
'submit payload:',
|
|
93369
|
+
JSON.stringify(event.detail.value, null, 2),
|
|
93370
|
+
'',
|
|
93371
|
+
`form.isInitialState: ${form.isInitialState}`,
|
|
93372
|
+
].join('\n');
|
|
93373
|
+
});
|
|
93374
|
+
}
|
|
93375
|
+
|
|
93376
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
93377
|
+
|
|
93378
|
+
|
|
93326
93379
|
AuroInput$2.register('input-two');
|
|
93327
93380
|
AuroDatePicker.register();
|
|
93328
93381
|
AuroForm.register();
|
|
93329
93382
|
AuroForm.register('custom-form');
|
|
93383
|
+
|
|
93384
|
+
async function initExamples(initCount) {
|
|
93385
|
+
initCount = initCount || 0;
|
|
93386
|
+
|
|
93387
|
+
try {
|
|
93388
|
+
await disabledExample();
|
|
93389
|
+
await disableAfterEditExample();
|
|
93390
|
+
} catch (err) {
|
|
93391
|
+
if (initCount <= 20) {
|
|
93392
|
+
setTimeout(() => {
|
|
93393
|
+
initExamples(initCount + 1);
|
|
93394
|
+
}, 100);
|
|
93395
|
+
}
|
|
93396
|
+
}
|
|
93397
|
+
}
|
|
93398
|
+
|
|
93399
|
+
export { initExamples };
|