@fluentui/web-components 3.0.0-beta.14 → 3.0.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -103
- package/dist/dts/accordion/index.d.ts +2 -1
- package/dist/dts/accordion-item/index.d.ts +2 -2
- package/dist/dts/anchor-button/index.d.ts +2 -2
- package/dist/dts/avatar/index.d.ts +2 -2
- package/dist/dts/badge/index.d.ts +2 -2
- package/dist/dts/button/index.d.ts +2 -2
- package/dist/dts/checkbox/index.d.ts +2 -2
- package/dist/dts/compound-button/index.d.ts +2 -2
- package/dist/dts/counter-badge/index.d.ts +2 -2
- package/dist/dts/dialog/index.d.ts +2 -1
- package/dist/dts/divider/index.d.ts +2 -2
- package/dist/dts/image/index.d.ts +2 -2
- package/dist/dts/index-rollup.d.ts +35 -1
- package/dist/dts/index.d.ts +35 -34
- package/dist/dts/label/index.d.ts +2 -1
- package/dist/dts/menu/index.d.ts +1 -1
- package/dist/dts/menu-button/index.d.ts +2 -2
- package/dist/dts/menu-button/menu-button.options.d.ts +1 -1
- package/dist/dts/menu-item/index.d.ts +2 -1
- package/dist/dts/menu-item/menu-item.options.d.ts +1 -1
- package/dist/dts/menu-list/index.d.ts +1 -1
- package/dist/dts/progress-bar/index.d.ts +2 -2
- package/dist/dts/radio/index.d.ts +1 -1
- package/dist/dts/radio-group/index.d.ts +2 -1
- package/dist/dts/slider/index.d.ts +2 -2
- package/dist/dts/spinner/index.d.ts +2 -2
- package/dist/dts/spinner/spinner.d.ts +10 -2
- package/dist/dts/spinner/spinner.template.d.ts +2 -3
- package/dist/dts/switch/index.d.ts +2 -2
- package/dist/dts/tab/index.d.ts +1 -1
- package/dist/dts/tab-panel/index.d.ts +1 -1
- package/dist/dts/tabs/index.d.ts +2 -2
- package/dist/dts/text/index.d.ts +2 -2
- package/dist/dts/text-input/index.d.ts +2 -2
- package/dist/dts/text-input/text-input.d.ts +4 -4
- package/dist/dts/text-input/text-input.options.d.ts +7 -7
- package/dist/dts/text-input/text-input.template.d.ts +2 -2
- package/dist/dts/theme/design-tokens.d.ts +53 -1
- package/dist/dts/toggle-button/index.d.ts +2 -2
- package/dist/esm/accordion/index.js +2 -1
- package/dist/esm/accordion/index.js.map +1 -1
- package/dist/esm/accordion-item/index.js +2 -2
- package/dist/esm/accordion-item/index.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.js.map +1 -1
- package/dist/esm/anchor-button/index.js +2 -2
- package/dist/esm/anchor-button/index.js.map +1 -1
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/avatar/index.js +2 -2
- package/dist/esm/avatar/index.js.map +1 -1
- package/dist/esm/badge/index.js +2 -2
- package/dist/esm/badge/index.js.map +1 -1
- package/dist/esm/button/index.js +2 -2
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/checkbox/index.js +2 -2
- package/dist/esm/checkbox/index.js.map +1 -1
- package/dist/esm/compound-button/index.js +2 -2
- package/dist/esm/compound-button/index.js.map +1 -1
- package/dist/esm/counter-badge/index.js +2 -2
- package/dist/esm/counter-badge/index.js.map +1 -1
- package/dist/esm/dialog/index.js +2 -1
- package/dist/esm/dialog/index.js.map +1 -1
- package/dist/esm/divider/index.js +2 -2
- package/dist/esm/divider/index.js.map +1 -1
- package/dist/esm/image/index.js +2 -2
- package/dist/esm/image/index.js.map +1 -1
- package/dist/esm/index-rollup.js +35 -1
- package/dist/esm/index-rollup.js.map +1 -1
- package/dist/esm/index.js +35 -34
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/index.js +2 -1
- package/dist/esm/label/index.js.map +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/menu/index.js.map +1 -1
- package/dist/esm/menu-button/index.js +2 -2
- package/dist/esm/menu-button/index.js.map +1 -1
- package/dist/esm/menu-item/index.js +2 -1
- package/dist/esm/menu-item/index.js.map +1 -1
- package/dist/esm/menu-list/index.js +1 -1
- package/dist/esm/menu-list/index.js.map +1 -1
- package/dist/esm/menu-list/menu-list.js.map +1 -1
- package/dist/esm/progress-bar/index.js +2 -2
- package/dist/esm/progress-bar/index.js.map +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/index.js.map +1 -1
- package/dist/esm/radio-group/index.js +2 -1
- package/dist/esm/radio-group/index.js.map +1 -1
- package/dist/esm/slider/index.js +2 -2
- package/dist/esm/slider/index.js.map +1 -1
- package/dist/esm/spinner/index.js +2 -2
- package/dist/esm/spinner/index.js.map +1 -1
- package/dist/esm/spinner/spinner.js +2 -2
- package/dist/esm/spinner/spinner.js.map +1 -1
- package/dist/esm/spinner/spinner.template.js.map +1 -1
- package/dist/esm/switch/index.js +2 -2
- package/dist/esm/switch/index.js.map +1 -1
- package/dist/esm/tab/index.js +1 -1
- package/dist/esm/tab/index.js.map +1 -1
- package/dist/esm/tab-panel/index.js +1 -1
- package/dist/esm/tab-panel/index.js.map +1 -1
- package/dist/esm/tabs/index.js +2 -2
- package/dist/esm/tabs/index.js.map +1 -1
- package/dist/esm/text/index.js +2 -2
- package/dist/esm/text/index.js.map +1 -1
- package/dist/esm/text-input/index.js +2 -2
- package/dist/esm/text-input/index.js.map +1 -1
- package/dist/esm/text-input/text-input.js +3 -3
- package/dist/esm/text-input/text-input.options.js +6 -6
- package/dist/esm/theme/design-tokens.js +53 -1
- package/dist/esm/theme/design-tokens.js.map +1 -1
- package/dist/esm/toggle-button/index.js +2 -2
- package/dist/esm/toggle-button/index.js.map +1 -1
- package/dist/esm/utils/get-initials.js.map +1 -1
- package/dist/fluent-web-components.api.json +2156 -821
- package/dist/web-components.d.ts +172 -97
- package/dist/web-components.js +1235 -250
- package/dist/web-components.min.js +353 -283
- package/docs/api-report.md +242 -95
- package/package.json +5 -10
- package/project.json +6 -0
- package/dist/dts/progress-ring/progress-ring.d.ts +0 -15
- package/dist/dts/progress-ring/progress-ring.options.d.ts +0 -9
- package/dist/esm/progress-ring/progress-ring.js +0 -16
- package/dist/esm/progress-ring/progress-ring.js.map +0 -1
- package/dist/esm/progress-ring/progress-ring.options.js +0 -2
- package/dist/esm/progress-ring/progress-ring.options.js.map +0 -1
- package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
- package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
- package/dist/storybook/289.703b1698.iframe.bundle.js +0 -2
- package/dist/storybook/289.703b1698.iframe.bundle.js.LICENSE.txt +0 -51
- package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
- package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
- package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
- package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
- package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
- package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
- package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
- package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
- package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
- package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
- package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
- package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
- package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
- package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
- package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
- package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
- package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
- package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
- package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
- package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
- package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
- package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
- package/dist/storybook/SegoeUI-VF.ttf +0 -0
- package/dist/storybook/favicon.ico +0 -0
- package/dist/storybook/favicon.png +0 -0
- package/dist/storybook/iframe.html +0 -364
- package/dist/storybook/index.html +0 -165
- package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
- package/dist/storybook/main.79d2477b.iframe.bundle.js +0 -2
- package/dist/storybook/main.79d2477b.iframe.bundle.js.LICENSE.txt +0 -1
- package/dist/storybook/project.json +0 -1
- package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
- package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
- package/dist/storybook/shell.css +0 -83
- package/dist/storybook/theme-switch.ts +0 -13
package/dist/web-components.js
CHANGED
|
@@ -256,7 +256,6 @@ const DOM = Object.freeze({
|
|
|
256
256
|
if (defaultPolicy !== fastPolicy) {
|
|
257
257
|
throw FAST.error(1201 /* Message.onlySetDOMPolicyOnce */);
|
|
258
258
|
}
|
|
259
|
-
|
|
260
259
|
defaultPolicy = value;
|
|
261
260
|
},
|
|
262
261
|
/**
|
|
@@ -530,7 +529,6 @@ const Observable = FAST.getById(KernelServiceId.observable, () => {
|
|
|
530
529
|
let createArrayObserver = array => {
|
|
531
530
|
throw FAST.error(1101 /* Message.needsArrayObservation */);
|
|
532
531
|
};
|
|
533
|
-
|
|
534
532
|
function getNotifier(source) {
|
|
535
533
|
var _a;
|
|
536
534
|
let found = (_a = source.$fastController) !== null && _a !== void 0 ? _a : notifierLookup.get(source);
|
|
@@ -1454,7 +1452,6 @@ class HTMLBindingDirective {
|
|
|
1454
1452
|
if (!sink) {
|
|
1455
1453
|
throw FAST.error(1205 /* Message.unsupportedBindingBehavior */);
|
|
1456
1454
|
}
|
|
1457
|
-
|
|
1458
1455
|
this.data = `${this.id}-d`;
|
|
1459
1456
|
this.updateTarget = policy.protect(this.targetTagName, this.aspectType, this.targetAspect, sink);
|
|
1460
1457
|
}
|
|
@@ -1830,7 +1827,6 @@ class CompilationContext {
|
|
|
1830
1827
|
for (const id of this.nodeIds) {
|
|
1831
1828
|
targets[id]; // trigger locator
|
|
1832
1829
|
}
|
|
1833
|
-
|
|
1834
1830
|
return new HTMLView(fragment, this.factories, targets);
|
|
1835
1831
|
}
|
|
1836
1832
|
}
|
|
@@ -2116,11 +2112,9 @@ class ViewTemplate {
|
|
|
2116
2112
|
if (this.result) {
|
|
2117
2113
|
throw FAST.error(1208 /* Message.cannotSetTemplatePolicyAfterCompilation */);
|
|
2118
2114
|
}
|
|
2119
|
-
|
|
2120
2115
|
if (this.policy) {
|
|
2121
2116
|
throw FAST.error(1207 /* Message.onlySetTemplatePolicyOnce */);
|
|
2122
2117
|
}
|
|
2123
|
-
|
|
2124
2118
|
this.policy = policy;
|
|
2125
2119
|
return this;
|
|
2126
2120
|
}
|
|
@@ -2193,7 +2187,6 @@ const html = (strings, ...values) => {
|
|
|
2193
2187
|
}
|
|
2194
2188
|
throw FAST.error(1206 /* Message.directCallToHTMLTagNotAllowed */);
|
|
2195
2189
|
};
|
|
2196
|
-
|
|
2197
2190
|
html.partial = html => {
|
|
2198
2191
|
return new InlineTemplateDirective(html);
|
|
2199
2192
|
};
|
|
@@ -3052,7 +3045,6 @@ class ElementController extends PropertyChangeNotifier {
|
|
|
3052
3045
|
if (definition === void 0) {
|
|
3053
3046
|
throw FAST.error(1401 /* Message.missingElementDefinition */);
|
|
3054
3047
|
}
|
|
3055
|
-
|
|
3056
3048
|
return element.$fastController = new elementControllerStrategy(element, definition);
|
|
3057
3049
|
}
|
|
3058
3050
|
/**
|
|
@@ -3388,8 +3380,7 @@ __decorateClass$r([attr({
|
|
|
3388
3380
|
})], ARIAGlobalStatesAndProperties.prototype, "ariaRoledescription", 2);
|
|
3389
3381
|
|
|
3390
3382
|
const getDirection = rootNode => {
|
|
3391
|
-
|
|
3392
|
-
return ((_a = rootNode.closest("[dir]")) == null ? void 0 : _a.dir) === "rtl" ? Direction.rtl : Direction.ltr;
|
|
3383
|
+
return rootNode.closest("[dir]")?.dir === "rtl" ? Direction.rtl : Direction.ltr;
|
|
3393
3384
|
};
|
|
3394
3385
|
|
|
3395
3386
|
function staticallyCompose(item) {
|
|
@@ -3405,10 +3396,7 @@ function staticallyCompose(item) {
|
|
|
3405
3396
|
return item;
|
|
3406
3397
|
}
|
|
3407
3398
|
|
|
3408
|
-
const whitespaceFilter = value =>
|
|
3409
|
-
var _a;
|
|
3410
|
-
return value.nodeType !== Node.TEXT_NODE || !!((_a = value.nodeValue) == null ? void 0 : _a.trim().length);
|
|
3411
|
-
};
|
|
3399
|
+
const whitespaceFilter = value => value.nodeType !== Node.TEXT_NODE || !!value.nodeValue?.trim().length;
|
|
3412
3400
|
|
|
3413
3401
|
const hidden = `:host([hidden]){display:none}`;
|
|
3414
3402
|
function display(displayValue) {
|
|
@@ -3416,10 +3404,23 @@ function display(displayValue) {
|
|
|
3416
3404
|
}
|
|
3417
3405
|
|
|
3418
3406
|
class MatchMediaBehavior {
|
|
3407
|
+
/**
|
|
3408
|
+
*
|
|
3409
|
+
* @param query - The media query to operate from.
|
|
3410
|
+
*/
|
|
3419
3411
|
constructor(query) {
|
|
3412
|
+
/**
|
|
3413
|
+
* The behavior needs to operate on element instances but elements might share a behavior instance.
|
|
3414
|
+
* To ensure proper attachment / detachment per instance, we construct a listener for
|
|
3415
|
+
* each bind invocation and cache the listeners by element reference.
|
|
3416
|
+
*/
|
|
3420
3417
|
this.listenerCache = /* @__PURE__ */new WeakMap();
|
|
3421
3418
|
this.query = query;
|
|
3422
3419
|
}
|
|
3420
|
+
/**
|
|
3421
|
+
* Binds the behavior to the element.
|
|
3422
|
+
* @param controller - The host controller orchestrating this behavior.
|
|
3423
|
+
*/
|
|
3423
3424
|
connectedCallback(controller) {
|
|
3424
3425
|
const {
|
|
3425
3426
|
query
|
|
@@ -3432,6 +3433,10 @@ class MatchMediaBehavior {
|
|
|
3432
3433
|
listener.bind(query)();
|
|
3433
3434
|
query.addEventListener("change", listener);
|
|
3434
3435
|
}
|
|
3436
|
+
/**
|
|
3437
|
+
* Unbinds the behavior from the element.
|
|
3438
|
+
* @param controller - The host controller orchestrating this behavior.
|
|
3439
|
+
*/
|
|
3435
3440
|
disconnectedCallback(controller) {
|
|
3436
3441
|
const listener = this.listenerCache.get(controller);
|
|
3437
3442
|
if (listener) {
|
|
@@ -3440,15 +3445,54 @@ class MatchMediaBehavior {
|
|
|
3440
3445
|
}
|
|
3441
3446
|
}
|
|
3442
3447
|
class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
|
|
3448
|
+
/**
|
|
3449
|
+
* Constructs a {@link MatchMediaStyleSheetBehavior} instance.
|
|
3450
|
+
* @param query - The media query to operate from.
|
|
3451
|
+
* @param styles - The styles to coordinate with the query.
|
|
3452
|
+
*/
|
|
3443
3453
|
constructor(query, styles) {
|
|
3444
3454
|
super(query);
|
|
3445
3455
|
this.styles = styles;
|
|
3446
3456
|
}
|
|
3457
|
+
/**
|
|
3458
|
+
* Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for
|
|
3459
|
+
* a provided query.
|
|
3460
|
+
* @param query - The media query to operate from.
|
|
3461
|
+
*
|
|
3462
|
+
* @public
|
|
3463
|
+
* @example
|
|
3464
|
+
*
|
|
3465
|
+
* ```ts
|
|
3466
|
+
* import { css } from "@microsoft/fast-element";
|
|
3467
|
+
* import { MatchMediaStyleSheetBehavior } from "@fluentui/web-components";
|
|
3468
|
+
*
|
|
3469
|
+
* const landscapeBehavior = MatchMediaStyleSheetBehavior.with(
|
|
3470
|
+
* window.matchMedia("(orientation: landscape)")
|
|
3471
|
+
* );
|
|
3472
|
+
*
|
|
3473
|
+
* const styles = css`
|
|
3474
|
+
* :host {
|
|
3475
|
+
* width: 200px;
|
|
3476
|
+
* height: 400px;
|
|
3477
|
+
* }
|
|
3478
|
+
* `
|
|
3479
|
+
* .withBehaviors(landscapeBehavior(css`
|
|
3480
|
+
* :host {
|
|
3481
|
+
* width: 400px;
|
|
3482
|
+
* height: 200px;
|
|
3483
|
+
* }
|
|
3484
|
+
* `))
|
|
3485
|
+
* ```
|
|
3486
|
+
*/
|
|
3447
3487
|
static with(query) {
|
|
3448
3488
|
return styles => {
|
|
3449
3489
|
return new MatchMediaStyleSheetBehavior(query, styles);
|
|
3450
3490
|
};
|
|
3451
3491
|
}
|
|
3492
|
+
/**
|
|
3493
|
+
* Constructs a match-media listener for a provided element.
|
|
3494
|
+
* @param source - the element for which to attach or detach styles.
|
|
3495
|
+
*/
|
|
3452
3496
|
constructListener(controller) {
|
|
3453
3497
|
let attached = false;
|
|
3454
3498
|
const styles = this.styles;
|
|
@@ -3465,6 +3509,11 @@ class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
|
|
|
3465
3509
|
}
|
|
3466
3510
|
};
|
|
3467
3511
|
}
|
|
3512
|
+
/**
|
|
3513
|
+
* Unbinds the behavior from the element.
|
|
3514
|
+
* @param controller - The host controller orchestrating this behavior.
|
|
3515
|
+
* @internal
|
|
3516
|
+
*/
|
|
3468
3517
|
removedCallback(controller) {
|
|
3469
3518
|
controller.removeStyles(this.styles);
|
|
3470
3519
|
}
|
|
@@ -3486,7 +3535,8 @@ function applyMixins(derivedCtor, ...baseCtors) {
|
|
|
3486
3535
|
baseCtors.forEach(baseCtor => {
|
|
3487
3536
|
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
3488
3537
|
if (name !== "constructor") {
|
|
3489
|
-
Object.defineProperty(derivedCtor.prototype, name,
|
|
3538
|
+
Object.defineProperty(derivedCtor.prototype, name, /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
3539
|
+
Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
|
|
3490
3540
|
}
|
|
3491
3541
|
});
|
|
3492
3542
|
const baseAttributes = AttributeConfiguration.locate(baseCtor);
|
|
@@ -3510,6 +3560,9 @@ class AccordionItem extends FASTElement {
|
|
|
3510
3560
|
this.disabled = false;
|
|
3511
3561
|
this.id = uniqueId("accordion-");
|
|
3512
3562
|
this.block = false;
|
|
3563
|
+
/**
|
|
3564
|
+
* @internal
|
|
3565
|
+
*/
|
|
3513
3566
|
this.clickHandler = e => {
|
|
3514
3567
|
if (this.disabled) {
|
|
3515
3568
|
return;
|
|
@@ -3657,16 +3710,22 @@ class Accordion extends FASTElement {
|
|
|
3657
3710
|
return;
|
|
3658
3711
|
}
|
|
3659
3712
|
if (next !== AccordionExpandMode.single) {
|
|
3660
|
-
expandedItem
|
|
3713
|
+
expandedItem?.expandbutton.removeAttribute("aria-disabled");
|
|
3661
3714
|
} else {
|
|
3662
3715
|
this.setSingleExpandMode(expandedItem);
|
|
3663
3716
|
}
|
|
3664
3717
|
}
|
|
3718
|
+
/**
|
|
3719
|
+
* @internal
|
|
3720
|
+
*/
|
|
3665
3721
|
slottedAccordionItemsChanged(oldValue, newValue) {
|
|
3666
3722
|
if (this.$fastController.isConnected) {
|
|
3667
3723
|
this.setItems();
|
|
3668
3724
|
}
|
|
3669
3725
|
}
|
|
3726
|
+
/**
|
|
3727
|
+
* @internal
|
|
3728
|
+
*/
|
|
3670
3729
|
handleChange(source, propertyName) {
|
|
3671
3730
|
if (propertyName === "disabled") {
|
|
3672
3731
|
this.setItems();
|
|
@@ -3677,11 +3736,10 @@ class Accordion extends FASTElement {
|
|
|
3677
3736
|
}
|
|
3678
3737
|
}
|
|
3679
3738
|
findExpandedItem() {
|
|
3680
|
-
var _a;
|
|
3681
3739
|
if (this.accordionItems.length === 0) {
|
|
3682
3740
|
return null;
|
|
3683
3741
|
}
|
|
3684
|
-
return
|
|
3742
|
+
return this.accordionItems.find(item => item instanceof AccordionItem && item.expanded) ?? this.accordionItems[0];
|
|
3685
3743
|
}
|
|
3686
3744
|
setSingleExpandMode(expandedItem) {
|
|
3687
3745
|
if (this.accordionItems.length === 0) {
|
|
@@ -3808,6 +3866,8 @@ const colorNeutralForegroundInvertedLinkSelected = "var(--colorNeutralForeground
|
|
|
3808
3866
|
const colorNeutralForegroundInvertedDisabled = "var(--colorNeutralForegroundInvertedDisabled)";
|
|
3809
3867
|
const colorBrandForeground1 = "var(--colorBrandForeground1)";
|
|
3810
3868
|
const colorBrandForeground2 = "var(--colorBrandForeground2)";
|
|
3869
|
+
const colorBrandForeground2Hover = "var(--colorBrandForeground2Hover)";
|
|
3870
|
+
const colorBrandForeground2Pressed = "var(--colorBrandForeground2Pressed)";
|
|
3811
3871
|
const colorNeutralForeground1Static = "var(--colorNeutralForeground1Static)";
|
|
3812
3872
|
const colorBrandForegroundInverted = "var(--colorBrandForegroundInverted)";
|
|
3813
3873
|
const colorBrandForegroundInvertedHover = "var(--colorBrandForegroundInvertedHover)";
|
|
@@ -3837,8 +3897,10 @@ const colorNeutralBackground5Hover = "var(--colorNeutralBackground5Hover)";
|
|
|
3837
3897
|
const colorNeutralBackground5Pressed = "var(--colorNeutralBackground5Pressed)";
|
|
3838
3898
|
const colorNeutralBackground5Selected = "var(--colorNeutralBackground5Selected)";
|
|
3839
3899
|
const colorNeutralBackground6 = "var(--colorNeutralBackground6)";
|
|
3840
|
-
const colorNeutralBackgroundStatic = "var(--colorNeutralBackgroundStatic)";
|
|
3841
3900
|
const colorNeutralBackgroundInverted = "var(--colorNeutralBackgroundInverted)";
|
|
3901
|
+
const colorNeutralBackgroundStatic = "var(--colorNeutralBackgroundStatic)";
|
|
3902
|
+
const colorNeutralBackgroundAlpha = "var(--colorNeutralBackgroundAlpha)";
|
|
3903
|
+
const colorNeutralBackgroundAlpha2 = "var(--colorNeutralBackgroundAlpha2)";
|
|
3842
3904
|
const colorSubtleBackground = "var(--colorSubtleBackground)";
|
|
3843
3905
|
const colorSubtleBackgroundHover = "var(--colorSubtleBackgroundHover)";
|
|
3844
3906
|
const colorSubtleBackgroundPressed = "var(--colorSubtleBackgroundPressed)";
|
|
@@ -3871,10 +3933,19 @@ const colorCompoundBrandBackgroundHover = "var(--colorCompoundBrandBackgroundHov
|
|
|
3871
3933
|
const colorCompoundBrandBackgroundPressed = "var(--colorCompoundBrandBackgroundPressed)";
|
|
3872
3934
|
const colorBrandBackgroundStatic = "var(--colorBrandBackgroundStatic)";
|
|
3873
3935
|
const colorBrandBackground2 = "var(--colorBrandBackground2)";
|
|
3936
|
+
const colorBrandBackground2Hover = "var(--colorBrandBackground2Hover)";
|
|
3937
|
+
const colorBrandBackground2Pressed = "var(--colorBrandBackground2Pressed)";
|
|
3938
|
+
const colorBrandBackground3Static = "var(--colorBrandBackground3Static)";
|
|
3939
|
+
const colorBrandBackground4Static = "var(--colorBrandBackground4Static)";
|
|
3874
3940
|
const colorBrandBackgroundInverted = "var(--colorBrandBackgroundInverted)";
|
|
3875
3941
|
const colorBrandBackgroundInvertedHover = "var(--colorBrandBackgroundInvertedHover)";
|
|
3876
3942
|
const colorBrandBackgroundInvertedPressed = "var(--colorBrandBackgroundInvertedPressed)";
|
|
3877
3943
|
const colorBrandBackgroundInvertedSelected = "var(--colorBrandBackgroundInvertedSelected)";
|
|
3944
|
+
const colorNeutralCardBackground = "var(--colorNeutralCardBackground)";
|
|
3945
|
+
const colorNeutralCardBackgroundHover = "var(--colorNeutralCardBackgroundHover)";
|
|
3946
|
+
const colorNeutralCardBackgroundPressed = "var(--colorNeutralCardBackgroundPressed)";
|
|
3947
|
+
const colorNeutralCardBackgroundSelected = "var(--colorNeutralCardBackgroundSelected)";
|
|
3948
|
+
const colorNeutralCardBackgroundDisabled = "var(--colorNeutralCardBackgroundDisabled)";
|
|
3878
3949
|
const colorNeutralStrokeAccessible = "var(--colorNeutralStrokeAccessible)";
|
|
3879
3950
|
const colorNeutralStrokeAccessibleHover = "var(--colorNeutralStrokeAccessibleHover)";
|
|
3880
3951
|
const colorNeutralStrokeAccessiblePressed = "var(--colorNeutralStrokeAccessiblePressed)";
|
|
@@ -3885,6 +3956,7 @@ const colorNeutralStroke1Pressed = "var(--colorNeutralStroke1Pressed)";
|
|
|
3885
3956
|
const colorNeutralStroke1Selected = "var(--colorNeutralStroke1Selected)";
|
|
3886
3957
|
const colorNeutralStroke2 = "var(--colorNeutralStroke2)";
|
|
3887
3958
|
const colorNeutralStroke3 = "var(--colorNeutralStroke3)";
|
|
3959
|
+
const colorNeutralStrokeSubtle = "var(--colorNeutralStrokeSubtle)";
|
|
3888
3960
|
const colorNeutralStrokeOnBrand = "var(--colorNeutralStrokeOnBrand)";
|
|
3889
3961
|
const colorNeutralStrokeOnBrand2 = "var(--colorNeutralStrokeOnBrand2)";
|
|
3890
3962
|
const colorNeutralStrokeOnBrand2Hover = "var(--colorNeutralStrokeOnBrand2Hover)";
|
|
@@ -3892,6 +3964,9 @@ const colorNeutralStrokeOnBrand2Pressed = "var(--colorNeutralStrokeOnBrand2Press
|
|
|
3892
3964
|
const colorNeutralStrokeOnBrand2Selected = "var(--colorNeutralStrokeOnBrand2Selected)";
|
|
3893
3965
|
const colorBrandStroke1 = "var(--colorBrandStroke1)";
|
|
3894
3966
|
const colorBrandStroke2 = "var(--colorBrandStroke2)";
|
|
3967
|
+
const colorBrandStroke2Hover = "var(--colorBrandStroke2Hover)";
|
|
3968
|
+
const colorBrandStroke2Pressed = "var(--colorBrandStroke2Pressed)";
|
|
3969
|
+
const colorBrandStroke2Contrast = "var(--colorBrandStroke2Contrast)";
|
|
3895
3970
|
const colorCompoundBrandStroke = "var(--colorCompoundBrandStroke)";
|
|
3896
3971
|
const colorCompoundBrandStrokeHover = "var(--colorCompoundBrandStrokeHover)";
|
|
3897
3972
|
const colorCompoundBrandStrokePressed = "var(--colorCompoundBrandStrokePressed)";
|
|
@@ -3900,6 +3975,8 @@ const colorNeutralStrokeInvertedDisabled = "var(--colorNeutralStrokeInvertedDisa
|
|
|
3900
3975
|
const colorTransparentStroke = "var(--colorTransparentStroke)";
|
|
3901
3976
|
const colorTransparentStrokeInteractive = "var(--colorTransparentStrokeInteractive)";
|
|
3902
3977
|
const colorTransparentStrokeDisabled = "var(--colorTransparentStrokeDisabled)";
|
|
3978
|
+
const colorNeutralStrokeAlpha = "var(--colorNeutralStrokeAlpha)";
|
|
3979
|
+
const colorNeutralStrokeAlpha2 = "var(--colorNeutralStrokeAlpha2)";
|
|
3903
3980
|
const colorStrokeFocus1 = "var(--colorStrokeFocus1)";
|
|
3904
3981
|
const colorStrokeFocus2 = "var(--colorStrokeFocus2)";
|
|
3905
3982
|
const colorNeutralShadowAmbient = "var(--colorNeutralShadowAmbient)";
|
|
@@ -4060,6 +4137,38 @@ const colorPaletteSteelForeground2 = "var(--colorPaletteSteelForeground2)";
|
|
|
4060
4137
|
const colorPaletteTealBackground2 = "var(--colorPaletteTealBackground2)";
|
|
4061
4138
|
const colorPaletteTealBorderActive = "var(--colorPaletteTealBorderActive)";
|
|
4062
4139
|
const colorPaletteTealForeground2 = "var(--colorPaletteTealForeground2)";
|
|
4140
|
+
const colorStatusSuccessBackground1 = "var(--colorStatusSuccessBackground1)";
|
|
4141
|
+
const colorStatusSuccessBackground2 = "var(--colorStatusSuccessBackground2)";
|
|
4142
|
+
const colorStatusSuccessBackground3 = "var(--colorStatusSuccessBackground3)";
|
|
4143
|
+
const colorStatusSuccessForeground1 = "var(--colorStatusSuccessForeground1)";
|
|
4144
|
+
const colorStatusSuccessForeground2 = "var(--colorStatusSuccessForeground2)";
|
|
4145
|
+
const colorStatusSuccessForeground3 = "var(--colorStatusSuccessForeground3)";
|
|
4146
|
+
const colorStatusSuccessForegroundInverted = "var(--colorStatusSuccessForegroundInverted)";
|
|
4147
|
+
const colorStatusSuccessBorderActive = "var(--colorStatusSuccessBorderActive)";
|
|
4148
|
+
const colorStatusSuccessBorder1 = "var(--colorStatusSuccessBorder1)";
|
|
4149
|
+
const colorStatusSuccessBorder2 = "var(--colorStatusSuccessBorder2)";
|
|
4150
|
+
const colorStatusWarningBackground1 = "var(--colorStatusWarningBackground1)";
|
|
4151
|
+
const colorStatusWarningBackground2 = "var(--colorStatusWarningBackground2)";
|
|
4152
|
+
const colorStatusWarningBackground3 = "var(--colorStatusWarningBackground3)";
|
|
4153
|
+
const colorStatusWarningForeground1 = "var(--colorStatusWarningForeground1)";
|
|
4154
|
+
const colorStatusWarningForeground2 = "var(--colorStatusWarningForeground2)";
|
|
4155
|
+
const colorStatusWarningForeground3 = "var(--colorStatusWarningForeground3)";
|
|
4156
|
+
const colorStatusWarningForegroundInverted = "var(--colorStatusWarningForegroundInverted)";
|
|
4157
|
+
const colorStatusWarningBorderActive = "var(--colorStatusWarningBorderActive)";
|
|
4158
|
+
const colorStatusWarningBorder1 = "var(--colorStatusWarningBorder1)";
|
|
4159
|
+
const colorStatusWarningBorder2 = "var(--colorStatusWarningBorder2)";
|
|
4160
|
+
const colorStatusDangerBackground1 = "var(--colorStatusDangerBackground1)";
|
|
4161
|
+
const colorStatusDangerBackground2 = "var(--colorStatusDangerBackground2)";
|
|
4162
|
+
const colorStatusDangerBackground3 = "var(--colorStatusDangerBackground3)";
|
|
4163
|
+
const colorStatusDangerBackground3Hover = "var(--colorStatusDangerBackground3Hover)";
|
|
4164
|
+
const colorStatusDangerBackground3Pressed = "var(--colorStatusDangerBackground3Pressed)";
|
|
4165
|
+
const colorStatusDangerForeground1 = "var(--colorStatusDangerForeground1)";
|
|
4166
|
+
const colorStatusDangerForeground2 = "var(--colorStatusDangerForeground2)";
|
|
4167
|
+
const colorStatusDangerForeground3 = "var(--colorStatusDangerForeground3)";
|
|
4168
|
+
const colorStatusDangerForegroundInverted = "var(--colorStatusDangerForegroundInverted)";
|
|
4169
|
+
const colorStatusDangerBorderActive = "var(--colorStatusDangerBorderActive)";
|
|
4170
|
+
const colorStatusDangerBorder1 = "var(--colorStatusDangerBorder1)";
|
|
4171
|
+
const colorStatusDangerBorder2 = "var(--colorStatusDangerBorder2)";
|
|
4063
4172
|
const borderRadiusNone = "var(--borderRadiusNone)";
|
|
4064
4173
|
const borderRadiusSmall = "var(--borderRadiusSmall)";
|
|
4065
4174
|
const borderRadiusMedium = "var(--borderRadiusMedium)";
|
|
@@ -4135,6 +4244,7 @@ const durationUltraFast = "var(--durationUltraFast)";
|
|
|
4135
4244
|
const durationFaster = "var(--durationFaster)";
|
|
4136
4245
|
const durationFast = "var(--durationFast)";
|
|
4137
4246
|
const durationNormal = "var(--durationNormal)";
|
|
4247
|
+
const durationGentle = "var(--durationGentle)";
|
|
4138
4248
|
const durationSlow = "var(--durationSlow)";
|
|
4139
4249
|
const durationSlower = "var(--durationSlower)";
|
|
4140
4250
|
const durationUltraSlow = "var(--durationUltraSlow)";
|
|
@@ -4195,6 +4305,8 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4195
4305
|
colorNeutralForegroundInvertedDisabled: colorNeutralForegroundInvertedDisabled,
|
|
4196
4306
|
colorBrandForeground1: colorBrandForeground1,
|
|
4197
4307
|
colorBrandForeground2: colorBrandForeground2,
|
|
4308
|
+
colorBrandForeground2Hover: colorBrandForeground2Hover,
|
|
4309
|
+
colorBrandForeground2Pressed: colorBrandForeground2Pressed,
|
|
4198
4310
|
colorNeutralForeground1Static: colorNeutralForeground1Static,
|
|
4199
4311
|
colorBrandForegroundInverted: colorBrandForegroundInverted,
|
|
4200
4312
|
colorBrandForegroundInvertedHover: colorBrandForegroundInvertedHover,
|
|
@@ -4224,8 +4336,10 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4224
4336
|
colorNeutralBackground5Pressed: colorNeutralBackground5Pressed,
|
|
4225
4337
|
colorNeutralBackground5Selected: colorNeutralBackground5Selected,
|
|
4226
4338
|
colorNeutralBackground6: colorNeutralBackground6,
|
|
4227
|
-
colorNeutralBackgroundStatic: colorNeutralBackgroundStatic,
|
|
4228
4339
|
colorNeutralBackgroundInverted: colorNeutralBackgroundInverted,
|
|
4340
|
+
colorNeutralBackgroundStatic: colorNeutralBackgroundStatic,
|
|
4341
|
+
colorNeutralBackgroundAlpha: colorNeutralBackgroundAlpha,
|
|
4342
|
+
colorNeutralBackgroundAlpha2: colorNeutralBackgroundAlpha2,
|
|
4229
4343
|
colorSubtleBackground: colorSubtleBackground,
|
|
4230
4344
|
colorSubtleBackgroundHover: colorSubtleBackgroundHover,
|
|
4231
4345
|
colorSubtleBackgroundPressed: colorSubtleBackgroundPressed,
|
|
@@ -4258,10 +4372,19 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4258
4372
|
colorCompoundBrandBackgroundPressed: colorCompoundBrandBackgroundPressed,
|
|
4259
4373
|
colorBrandBackgroundStatic: colorBrandBackgroundStatic,
|
|
4260
4374
|
colorBrandBackground2: colorBrandBackground2,
|
|
4375
|
+
colorBrandBackground2Hover: colorBrandBackground2Hover,
|
|
4376
|
+
colorBrandBackground2Pressed: colorBrandBackground2Pressed,
|
|
4377
|
+
colorBrandBackground3Static: colorBrandBackground3Static,
|
|
4378
|
+
colorBrandBackground4Static: colorBrandBackground4Static,
|
|
4261
4379
|
colorBrandBackgroundInverted: colorBrandBackgroundInverted,
|
|
4262
4380
|
colorBrandBackgroundInvertedHover: colorBrandBackgroundInvertedHover,
|
|
4263
4381
|
colorBrandBackgroundInvertedPressed: colorBrandBackgroundInvertedPressed,
|
|
4264
4382
|
colorBrandBackgroundInvertedSelected: colorBrandBackgroundInvertedSelected,
|
|
4383
|
+
colorNeutralCardBackground: colorNeutralCardBackground,
|
|
4384
|
+
colorNeutralCardBackgroundHover: colorNeutralCardBackgroundHover,
|
|
4385
|
+
colorNeutralCardBackgroundPressed: colorNeutralCardBackgroundPressed,
|
|
4386
|
+
colorNeutralCardBackgroundSelected: colorNeutralCardBackgroundSelected,
|
|
4387
|
+
colorNeutralCardBackgroundDisabled: colorNeutralCardBackgroundDisabled,
|
|
4265
4388
|
colorNeutralStrokeAccessible: colorNeutralStrokeAccessible,
|
|
4266
4389
|
colorNeutralStrokeAccessibleHover: colorNeutralStrokeAccessibleHover,
|
|
4267
4390
|
colorNeutralStrokeAccessiblePressed: colorNeutralStrokeAccessiblePressed,
|
|
@@ -4272,6 +4395,7 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4272
4395
|
colorNeutralStroke1Selected: colorNeutralStroke1Selected,
|
|
4273
4396
|
colorNeutralStroke2: colorNeutralStroke2,
|
|
4274
4397
|
colorNeutralStroke3: colorNeutralStroke3,
|
|
4398
|
+
colorNeutralStrokeSubtle: colorNeutralStrokeSubtle,
|
|
4275
4399
|
colorNeutralStrokeOnBrand: colorNeutralStrokeOnBrand,
|
|
4276
4400
|
colorNeutralStrokeOnBrand2: colorNeutralStrokeOnBrand2,
|
|
4277
4401
|
colorNeutralStrokeOnBrand2Hover: colorNeutralStrokeOnBrand2Hover,
|
|
@@ -4279,6 +4403,9 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4279
4403
|
colorNeutralStrokeOnBrand2Selected: colorNeutralStrokeOnBrand2Selected,
|
|
4280
4404
|
colorBrandStroke1: colorBrandStroke1,
|
|
4281
4405
|
colorBrandStroke2: colorBrandStroke2,
|
|
4406
|
+
colorBrandStroke2Hover: colorBrandStroke2Hover,
|
|
4407
|
+
colorBrandStroke2Pressed: colorBrandStroke2Pressed,
|
|
4408
|
+
colorBrandStroke2Contrast: colorBrandStroke2Contrast,
|
|
4282
4409
|
colorCompoundBrandStroke: colorCompoundBrandStroke,
|
|
4283
4410
|
colorCompoundBrandStrokeHover: colorCompoundBrandStrokeHover,
|
|
4284
4411
|
colorCompoundBrandStrokePressed: colorCompoundBrandStrokePressed,
|
|
@@ -4287,6 +4414,8 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4287
4414
|
colorTransparentStroke: colorTransparentStroke,
|
|
4288
4415
|
colorTransparentStrokeInteractive: colorTransparentStrokeInteractive,
|
|
4289
4416
|
colorTransparentStrokeDisabled: colorTransparentStrokeDisabled,
|
|
4417
|
+
colorNeutralStrokeAlpha: colorNeutralStrokeAlpha,
|
|
4418
|
+
colorNeutralStrokeAlpha2: colorNeutralStrokeAlpha2,
|
|
4290
4419
|
colorStrokeFocus1: colorStrokeFocus1,
|
|
4291
4420
|
colorStrokeFocus2: colorStrokeFocus2,
|
|
4292
4421
|
colorNeutralShadowAmbient: colorNeutralShadowAmbient,
|
|
@@ -4447,6 +4576,38 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4447
4576
|
colorPaletteTealBackground2: colorPaletteTealBackground2,
|
|
4448
4577
|
colorPaletteTealBorderActive: colorPaletteTealBorderActive,
|
|
4449
4578
|
colorPaletteTealForeground2: colorPaletteTealForeground2,
|
|
4579
|
+
colorStatusSuccessBackground1: colorStatusSuccessBackground1,
|
|
4580
|
+
colorStatusSuccessBackground2: colorStatusSuccessBackground2,
|
|
4581
|
+
colorStatusSuccessBackground3: colorStatusSuccessBackground3,
|
|
4582
|
+
colorStatusSuccessForeground1: colorStatusSuccessForeground1,
|
|
4583
|
+
colorStatusSuccessForeground2: colorStatusSuccessForeground2,
|
|
4584
|
+
colorStatusSuccessForeground3: colorStatusSuccessForeground3,
|
|
4585
|
+
colorStatusSuccessForegroundInverted: colorStatusSuccessForegroundInverted,
|
|
4586
|
+
colorStatusSuccessBorderActive: colorStatusSuccessBorderActive,
|
|
4587
|
+
colorStatusSuccessBorder1: colorStatusSuccessBorder1,
|
|
4588
|
+
colorStatusSuccessBorder2: colorStatusSuccessBorder2,
|
|
4589
|
+
colorStatusWarningBackground1: colorStatusWarningBackground1,
|
|
4590
|
+
colorStatusWarningBackground2: colorStatusWarningBackground2,
|
|
4591
|
+
colorStatusWarningBackground3: colorStatusWarningBackground3,
|
|
4592
|
+
colorStatusWarningForeground1: colorStatusWarningForeground1,
|
|
4593
|
+
colorStatusWarningForeground2: colorStatusWarningForeground2,
|
|
4594
|
+
colorStatusWarningForeground3: colorStatusWarningForeground3,
|
|
4595
|
+
colorStatusWarningForegroundInverted: colorStatusWarningForegroundInverted,
|
|
4596
|
+
colorStatusWarningBorderActive: colorStatusWarningBorderActive,
|
|
4597
|
+
colorStatusWarningBorder1: colorStatusWarningBorder1,
|
|
4598
|
+
colorStatusWarningBorder2: colorStatusWarningBorder2,
|
|
4599
|
+
colorStatusDangerBackground1: colorStatusDangerBackground1,
|
|
4600
|
+
colorStatusDangerBackground2: colorStatusDangerBackground2,
|
|
4601
|
+
colorStatusDangerBackground3: colorStatusDangerBackground3,
|
|
4602
|
+
colorStatusDangerBackground3Hover: colorStatusDangerBackground3Hover,
|
|
4603
|
+
colorStatusDangerBackground3Pressed: colorStatusDangerBackground3Pressed,
|
|
4604
|
+
colorStatusDangerForeground1: colorStatusDangerForeground1,
|
|
4605
|
+
colorStatusDangerForeground2: colorStatusDangerForeground2,
|
|
4606
|
+
colorStatusDangerForeground3: colorStatusDangerForeground3,
|
|
4607
|
+
colorStatusDangerForegroundInverted: colorStatusDangerForegroundInverted,
|
|
4608
|
+
colorStatusDangerBorderActive: colorStatusDangerBorderActive,
|
|
4609
|
+
colorStatusDangerBorder1: colorStatusDangerBorder1,
|
|
4610
|
+
colorStatusDangerBorder2: colorStatusDangerBorder2,
|
|
4450
4611
|
borderRadiusNone: borderRadiusNone,
|
|
4451
4612
|
borderRadiusSmall: borderRadiusSmall,
|
|
4452
4613
|
borderRadiusMedium: borderRadiusMedium,
|
|
@@ -4522,6 +4683,7 @@ var tokens = /*#__PURE__*/Object.freeze({
|
|
|
4522
4683
|
durationFaster: durationFaster,
|
|
4523
4684
|
durationFast: durationFast,
|
|
4524
4685
|
durationNormal: durationNormal,
|
|
4686
|
+
durationGentle: durationGentle,
|
|
4525
4687
|
durationSlow: durationSlow,
|
|
4526
4688
|
durationSlower: durationSlower,
|
|
4527
4689
|
durationUltraSlow: durationUltraSlow,
|
|
@@ -4595,6 +4757,9 @@ class AnchorButton extends FASTElement {
|
|
|
4595
4757
|
this.iconOnly = false;
|
|
4596
4758
|
this.disabled = false;
|
|
4597
4759
|
this.disabledFocusable = false;
|
|
4760
|
+
/**
|
|
4761
|
+
* Prevents disabledFocusable click events
|
|
4762
|
+
*/
|
|
4598
4763
|
this.handleDisabledFocusableClick = e => {
|
|
4599
4764
|
if (e && this.disabled || this.disabledFocusable) {
|
|
4600
4765
|
e.stopImmediatePropagation();
|
|
@@ -4682,12 +4847,6 @@ const ButtonType = {
|
|
|
4682
4847
|
reset: "reset",
|
|
4683
4848
|
button: "button"
|
|
4684
4849
|
};
|
|
4685
|
-
const ButtonFormTarget = {
|
|
4686
|
-
blank: "_blank",
|
|
4687
|
-
self: "_self",
|
|
4688
|
-
parent: "_parent",
|
|
4689
|
-
top: "_top"
|
|
4690
|
-
};
|
|
4691
4850
|
|
|
4692
4851
|
const AnchorButtonAppearance = ButtonAppearance;
|
|
4693
4852
|
const AnchorButtonShape = ButtonShape;
|
|
@@ -4755,10 +4914,10 @@ function getInitials(displayName, isRtl, options) {
|
|
|
4755
4914
|
return "";
|
|
4756
4915
|
}
|
|
4757
4916
|
displayName = cleanupDisplayName(displayName);
|
|
4758
|
-
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !
|
|
4917
|
+
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !options?.allowPhoneInitials && PHONENUMBER_REGEX.test(displayName)) {
|
|
4759
4918
|
return "";
|
|
4760
4919
|
}
|
|
4761
|
-
return getInitialsLatin(displayName, isRtl, options
|
|
4920
|
+
return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
|
|
4762
4921
|
}
|
|
4763
4922
|
|
|
4764
4923
|
const AvatarActive = {
|
|
@@ -4837,43 +4996,52 @@ var __decorateClass$n = (decorators, target, key, kind) => {
|
|
|
4837
4996
|
if (kind && result) __defProp$n(target, key, result);
|
|
4838
4997
|
return result;
|
|
4839
4998
|
};
|
|
4840
|
-
const _Avatar = class extends FASTElement {
|
|
4999
|
+
const _Avatar = class _Avatar extends FASTElement {
|
|
4841
5000
|
constructor() {
|
|
4842
5001
|
super(...arguments);
|
|
4843
5002
|
this.color = "neutral";
|
|
4844
5003
|
}
|
|
5004
|
+
/**
|
|
5005
|
+
* Sets the data-color attribute used for the visual presentation
|
|
5006
|
+
* @internal
|
|
5007
|
+
*/
|
|
4845
5008
|
generateColor() {
|
|
4846
|
-
var _a, _b;
|
|
4847
5009
|
if (!this.color) {
|
|
4848
5010
|
return;
|
|
4849
5011
|
}
|
|
4850
|
-
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(
|
|
5012
|
+
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(this.colorId ?? this.name ?? "") % _Avatar.colors.length] : this.color;
|
|
4851
5013
|
}
|
|
5014
|
+
/**
|
|
5015
|
+
* Generates and sets the initials for the template
|
|
5016
|
+
* @internal
|
|
5017
|
+
*/
|
|
4852
5018
|
generateInitials() {
|
|
4853
|
-
var _a, _b;
|
|
4854
5019
|
if (!this.name && !this.initials) {
|
|
4855
5020
|
return;
|
|
4856
5021
|
}
|
|
4857
|
-
const size =
|
|
4858
|
-
return
|
|
5022
|
+
const size = this.size ?? 32;
|
|
5023
|
+
return this.initials ?? getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
|
|
4859
5024
|
firstInitialOnly: size <= 16
|
|
4860
5025
|
});
|
|
4861
5026
|
}
|
|
4862
5027
|
};
|
|
4863
|
-
|
|
4864
|
-
Avatar
|
|
4865
|
-
|
|
4866
|
-
|
|
5028
|
+
/**
|
|
5029
|
+
* An array of the available Avatar named colors
|
|
5030
|
+
*/
|
|
5031
|
+
_Avatar.colors = Object.values(AvatarNamedColor);
|
|
5032
|
+
__decorateClass$n([attr], _Avatar.prototype, "name", 2);
|
|
5033
|
+
__decorateClass$n([attr], _Avatar.prototype, "initials", 2);
|
|
4867
5034
|
__decorateClass$n([attr({
|
|
4868
5035
|
converter: nullableNumberConverter
|
|
4869
|
-
})],
|
|
4870
|
-
__decorateClass$n([attr],
|
|
4871
|
-
__decorateClass$n([attr],
|
|
4872
|
-
__decorateClass$n([attr],
|
|
4873
|
-
__decorateClass$n([attr],
|
|
5036
|
+
})], _Avatar.prototype, "size", 2);
|
|
5037
|
+
__decorateClass$n([attr], _Avatar.prototype, "shape", 2);
|
|
5038
|
+
__decorateClass$n([attr], _Avatar.prototype, "active", 2);
|
|
5039
|
+
__decorateClass$n([attr], _Avatar.prototype, "appearance", 2);
|
|
5040
|
+
__decorateClass$n([attr], _Avatar.prototype, "color", 2);
|
|
4874
5041
|
__decorateClass$n([attr({
|
|
4875
5042
|
attribute: "color-id"
|
|
4876
|
-
})],
|
|
5043
|
+
})], _Avatar.prototype, "colorId", 2);
|
|
5044
|
+
let Avatar = _Avatar;
|
|
4877
5045
|
const getHashCode = str => {
|
|
4878
5046
|
let hashCode = 0;
|
|
4879
5047
|
for (let len = str.length - 1; len >= 0; len--) {
|
|
@@ -5215,103 +5383,103 @@ const badgeTintStyles = css.partial`
|
|
|
5215
5383
|
}
|
|
5216
5384
|
`;
|
|
5217
5385
|
|
|
5218
|
-
|
|
5386
|
+
css.partial`
|
|
5219
5387
|
font-family: ${fontFamilyBase};
|
|
5220
5388
|
font-size: ${fontSizeBase300};
|
|
5221
5389
|
line-height: ${lineHeightBase300};
|
|
5222
5390
|
font-weight: ${fontWeightRegular};
|
|
5223
5391
|
`;
|
|
5224
|
-
|
|
5392
|
+
css.partial`
|
|
5225
5393
|
font-family: ${fontFamilyBase};
|
|
5226
5394
|
font-size: ${fontSizeBase300};
|
|
5227
5395
|
line-height: ${lineHeightBase300};
|
|
5228
5396
|
font-weight: ${fontWeightSemibold};
|
|
5229
5397
|
`;
|
|
5230
|
-
|
|
5398
|
+
css.partial`
|
|
5231
5399
|
font-family: ${fontFamilyBase};
|
|
5232
5400
|
font-size: ${fontSizeBase300};
|
|
5233
5401
|
line-height: ${lineHeightBase300};
|
|
5234
5402
|
font-weight: ${fontWeightBold};
|
|
5235
5403
|
`;
|
|
5236
|
-
|
|
5404
|
+
css.partial`
|
|
5237
5405
|
font-family: ${fontFamilyBase};
|
|
5238
5406
|
font-size: ${fontSizeBase400};
|
|
5239
5407
|
line-height: ${lineHeightBase400};
|
|
5240
5408
|
font-weight: ${fontWeightRegular};
|
|
5241
5409
|
`;
|
|
5242
|
-
|
|
5410
|
+
css.partial`
|
|
5243
5411
|
font-family: ${fontFamilyBase};
|
|
5244
5412
|
font-size: ${fontSizeBase200};
|
|
5245
5413
|
line-height: ${lineHeightBase200};
|
|
5246
5414
|
font-weight: ${fontWeightRegular};
|
|
5247
5415
|
`;
|
|
5248
|
-
|
|
5416
|
+
css.partial`
|
|
5249
5417
|
font-family: ${fontFamilyBase};
|
|
5250
5418
|
font-size: ${fontSizeBase200};
|
|
5251
5419
|
line-height: ${lineHeightBase200};
|
|
5252
5420
|
font-weight: ${fontWeightSemibold};
|
|
5253
5421
|
`;
|
|
5254
|
-
|
|
5422
|
+
css.partial`
|
|
5255
5423
|
font-family: ${fontFamilyBase};
|
|
5256
5424
|
font-size: ${fontSizeBase200};
|
|
5257
5425
|
line-height: ${lineHeightBase200};
|
|
5258
5426
|
font-weight: ${fontWeightBold};
|
|
5259
5427
|
`;
|
|
5260
|
-
|
|
5428
|
+
css.partial`
|
|
5261
5429
|
font-family: ${fontFamilyBase};
|
|
5262
5430
|
font-size: ${fontSizeBase100};
|
|
5263
5431
|
line-height: ${lineHeightBase100};
|
|
5264
5432
|
font-weight: ${fontWeightRegular};
|
|
5265
5433
|
`;
|
|
5266
|
-
|
|
5434
|
+
css.partial`
|
|
5267
5435
|
font-family: ${fontFamilyBase};
|
|
5268
5436
|
font-size: ${fontSizeBase100};
|
|
5269
5437
|
line-height: ${lineHeightBase100};
|
|
5270
5438
|
font-weight: ${fontWeightSemibold};
|
|
5271
5439
|
`;
|
|
5272
|
-
|
|
5440
|
+
css.partial`
|
|
5273
5441
|
font-family: ${fontFamilyBase};
|
|
5274
5442
|
font-size: ${fontSizeBase500};
|
|
5275
5443
|
line-height: ${lineHeightBase500};
|
|
5276
5444
|
font-weight: ${fontWeightSemibold};
|
|
5277
5445
|
`;
|
|
5278
|
-
|
|
5446
|
+
css.partial`
|
|
5279
5447
|
font-family: ${fontFamilyBase};
|
|
5280
5448
|
font-size: ${fontSizeBase400};
|
|
5281
5449
|
line-height: ${lineHeightBase400};
|
|
5282
5450
|
font-weight: ${fontWeightSemibold};
|
|
5283
5451
|
`;
|
|
5284
|
-
|
|
5452
|
+
css.partial`
|
|
5285
5453
|
font-family: ${fontFamilyBase};
|
|
5286
5454
|
font-size: ${fontSizeBase400};
|
|
5287
5455
|
line-height: ${lineHeightBase400};
|
|
5288
5456
|
font-weight: ${fontWeightBold};
|
|
5289
5457
|
`;
|
|
5290
|
-
|
|
5458
|
+
css.partial`
|
|
5291
5459
|
font-family: ${fontFamilyBase};
|
|
5292
5460
|
font-size: ${fontSizeHero800};
|
|
5293
5461
|
line-height: ${lineHeightHero800};
|
|
5294
5462
|
font-weight: ${fontWeightSemibold};
|
|
5295
5463
|
`;
|
|
5296
|
-
|
|
5464
|
+
css.partial`
|
|
5297
5465
|
font-family: ${fontFamilyBase};
|
|
5298
5466
|
font-size: ${fontSizeHero700};
|
|
5299
5467
|
line-height: ${lineHeightHero700};
|
|
5300
5468
|
font-weight: ${fontWeightSemibold};
|
|
5301
5469
|
`;
|
|
5302
|
-
|
|
5470
|
+
css.partial`
|
|
5303
5471
|
font-family: ${fontFamilyBase};
|
|
5304
5472
|
font-size: ${fontSizeBase600};
|
|
5305
5473
|
line-height: ${lineHeightBase600};
|
|
5306
5474
|
font-weight: ${fontWeightSemibold};
|
|
5307
5475
|
`;
|
|
5308
|
-
|
|
5476
|
+
css.partial`
|
|
5309
5477
|
font-family: ${fontFamilyBase};
|
|
5310
5478
|
font-size: ${fontSizeHero900};
|
|
5311
5479
|
line-height: ${lineHeightHero900};
|
|
5312
5480
|
font-weight: ${fontWeightSemibold};
|
|
5313
5481
|
`;
|
|
5314
|
-
|
|
5482
|
+
css.partial`
|
|
5315
5483
|
font-family: ${fontFamilyBase};
|
|
5316
5484
|
font-size: ${fontSizeHero1000};
|
|
5317
5485
|
line-height: ${lineHeightHero1000};
|
|
@@ -5345,28 +5513,62 @@ class Button extends FASTElement {
|
|
|
5345
5513
|
constructor() {
|
|
5346
5514
|
super();
|
|
5347
5515
|
this.disabledFocusable = false;
|
|
5516
|
+
/**
|
|
5517
|
+
* The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
5518
|
+
*
|
|
5519
|
+
* @internal
|
|
5520
|
+
*/
|
|
5348
5521
|
this.elementInternals = this.attachInternals();
|
|
5349
5522
|
this.iconOnly = false;
|
|
5350
5523
|
this.elementInternals.role = "button";
|
|
5351
5524
|
}
|
|
5525
|
+
/**
|
|
5526
|
+
* Sets the element's internal disabled state when the element is focusable while disabled.
|
|
5527
|
+
*
|
|
5528
|
+
* @param previous - the previous disabledFocusable value
|
|
5529
|
+
* @param next - the current disabledFocusable value
|
|
5530
|
+
* @internal
|
|
5531
|
+
*/
|
|
5352
5532
|
disabledFocusableChanged(previous, next) {
|
|
5353
5533
|
if (this.$fastController.isConnected) {
|
|
5354
5534
|
this.elementInternals.ariaDisabled = `${!!next}`;
|
|
5355
5535
|
}
|
|
5356
5536
|
}
|
|
5537
|
+
/**
|
|
5538
|
+
* The associated form element.
|
|
5539
|
+
*
|
|
5540
|
+
* @public
|
|
5541
|
+
*/
|
|
5357
5542
|
get form() {
|
|
5358
5543
|
return this.elementInternals.form;
|
|
5359
5544
|
}
|
|
5545
|
+
/**
|
|
5546
|
+
* A reference to all associated label elements.
|
|
5547
|
+
*
|
|
5548
|
+
* @public
|
|
5549
|
+
*/
|
|
5360
5550
|
get labels() {
|
|
5361
5551
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
5362
5552
|
}
|
|
5553
|
+
/**
|
|
5554
|
+
* Removes the form submission fallback control when the type changes.
|
|
5555
|
+
*
|
|
5556
|
+
* @param previous - the previous type value
|
|
5557
|
+
* @param next - the new type value
|
|
5558
|
+
* @internal
|
|
5559
|
+
*/
|
|
5363
5560
|
typeChanged(previous, next) {
|
|
5364
|
-
var _a, _b, _c;
|
|
5365
5561
|
if (next !== ButtonType.submit) {
|
|
5366
|
-
|
|
5367
|
-
|
|
5562
|
+
this.formSubmissionFallbackControl?.remove();
|
|
5563
|
+
this.shadowRoot?.querySelector('slot[name="internal"]')?.remove();
|
|
5368
5564
|
}
|
|
5369
5565
|
}
|
|
5566
|
+
/**
|
|
5567
|
+
* Handles the button click event.
|
|
5568
|
+
*
|
|
5569
|
+
* @param e - The event object
|
|
5570
|
+
* @internal
|
|
5571
|
+
*/
|
|
5370
5572
|
clickHandler(e) {
|
|
5371
5573
|
if (e && this.disabledFocusable) {
|
|
5372
5574
|
e.stopImmediatePropagation();
|
|
@@ -5379,20 +5581,27 @@ class Button extends FASTElement {
|
|
|
5379
5581
|
super.connectedCallback();
|
|
5380
5582
|
this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
|
|
5381
5583
|
}
|
|
5584
|
+
/**
|
|
5585
|
+
* This fallback creates a new slot, then creates a submit button to mirror the custom element's
|
|
5586
|
+
* properties. The submit button is then appended to the slot and the form is submitted.
|
|
5587
|
+
*
|
|
5588
|
+
* @internal
|
|
5589
|
+
* @privateRemarks
|
|
5590
|
+
* This is a workaround until {@link https://github.com/WICG/webcomponents/issues/814 | WICG/webcomponents/issues/814} is resolved.
|
|
5591
|
+
*/
|
|
5382
5592
|
createAndInsertFormSubmissionFallbackControl() {
|
|
5383
|
-
|
|
5384
|
-
const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
|
|
5593
|
+
const internalSlot = this.formSubmissionFallbackControlSlot ?? document.createElement("slot");
|
|
5385
5594
|
internalSlot.setAttribute("name", "internal");
|
|
5386
|
-
|
|
5595
|
+
this.shadowRoot?.appendChild(internalSlot);
|
|
5387
5596
|
this.formSubmissionFallbackControlSlot = internalSlot;
|
|
5388
|
-
const fallbackControl =
|
|
5597
|
+
const fallbackControl = this.formSubmissionFallbackControl ?? document.createElement("button");
|
|
5389
5598
|
fallbackControl.style.display = "none";
|
|
5390
5599
|
fallbackControl.setAttribute("type", "submit");
|
|
5391
5600
|
fallbackControl.setAttribute("slot", "internal");
|
|
5392
5601
|
if (this.formNoValidate) {
|
|
5393
5602
|
fallbackControl.toggleAttribute("formnovalidate", true);
|
|
5394
5603
|
}
|
|
5395
|
-
if (
|
|
5604
|
+
if (this.elementInternals.form?.id) {
|
|
5396
5605
|
fallbackControl.setAttribute("form", this.elementInternals.form.id);
|
|
5397
5606
|
}
|
|
5398
5607
|
if (this.name) {
|
|
@@ -5402,23 +5611,37 @@ class Button extends FASTElement {
|
|
|
5402
5611
|
fallbackControl.setAttribute("value", this.value);
|
|
5403
5612
|
}
|
|
5404
5613
|
if (this.formAction) {
|
|
5405
|
-
fallbackControl.setAttribute("formaction",
|
|
5614
|
+
fallbackControl.setAttribute("formaction", this.formAction ?? "");
|
|
5406
5615
|
}
|
|
5407
5616
|
if (this.formEnctype) {
|
|
5408
|
-
fallbackControl.setAttribute("formenctype",
|
|
5617
|
+
fallbackControl.setAttribute("formenctype", this.formEnctype ?? "");
|
|
5409
5618
|
}
|
|
5410
5619
|
if (this.formMethod) {
|
|
5411
|
-
fallbackControl.setAttribute("formmethod",
|
|
5620
|
+
fallbackControl.setAttribute("formmethod", this.formMethod ?? "");
|
|
5412
5621
|
}
|
|
5413
5622
|
if (this.formTarget) {
|
|
5414
|
-
fallbackControl.setAttribute("formtarget",
|
|
5623
|
+
fallbackControl.setAttribute("formtarget", this.formTarget ?? "");
|
|
5415
5624
|
}
|
|
5416
5625
|
this.append(fallbackControl);
|
|
5417
5626
|
this.formSubmissionFallbackControl = fallbackControl;
|
|
5418
5627
|
}
|
|
5628
|
+
/**
|
|
5629
|
+
* Invoked when a connected component's form or fieldset has its disabled state changed.
|
|
5630
|
+
*
|
|
5631
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
5632
|
+
*
|
|
5633
|
+
* @internal
|
|
5634
|
+
*/
|
|
5419
5635
|
formDisabledCallback(disabled) {
|
|
5420
5636
|
this.disabled = disabled;
|
|
5421
5637
|
}
|
|
5638
|
+
/**
|
|
5639
|
+
* Handles keypress events for the button.
|
|
5640
|
+
*
|
|
5641
|
+
* @param e - the keyboard event
|
|
5642
|
+
* @returns - the return value of the click handler
|
|
5643
|
+
* @public
|
|
5644
|
+
*/
|
|
5422
5645
|
keypressHandler(e) {
|
|
5423
5646
|
if (e && this.disabledFocusable) {
|
|
5424
5647
|
e.stopImmediatePropagation();
|
|
@@ -5430,6 +5653,11 @@ class Button extends FASTElement {
|
|
|
5430
5653
|
}
|
|
5431
5654
|
return true;
|
|
5432
5655
|
}
|
|
5656
|
+
/**
|
|
5657
|
+
* Presses the button.
|
|
5658
|
+
*
|
|
5659
|
+
* @public
|
|
5660
|
+
*/
|
|
5433
5661
|
press() {
|
|
5434
5662
|
switch (this.type) {
|
|
5435
5663
|
case ButtonType.reset:
|
|
@@ -5444,12 +5672,20 @@ class Button extends FASTElement {
|
|
|
5444
5672
|
}
|
|
5445
5673
|
}
|
|
5446
5674
|
}
|
|
5675
|
+
/**
|
|
5676
|
+
* Resets the associated form.
|
|
5677
|
+
*
|
|
5678
|
+
* @public
|
|
5679
|
+
*/
|
|
5447
5680
|
resetForm() {
|
|
5448
|
-
|
|
5449
|
-
(_a = this.elementInternals.form) == null ? void 0 : _a.reset();
|
|
5681
|
+
this.elementInternals.form?.reset();
|
|
5450
5682
|
}
|
|
5683
|
+
/**
|
|
5684
|
+
* Submits the associated form.
|
|
5685
|
+
*
|
|
5686
|
+
* @internal
|
|
5687
|
+
*/
|
|
5451
5688
|
submitForm() {
|
|
5452
|
-
var _a;
|
|
5453
5689
|
if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
|
|
5454
5690
|
return;
|
|
5455
5691
|
}
|
|
@@ -5458,7 +5694,7 @@ class Button extends FASTElement {
|
|
|
5458
5694
|
return;
|
|
5459
5695
|
}
|
|
5460
5696
|
try {
|
|
5461
|
-
this.elementInternals.setFormValue(
|
|
5697
|
+
this.elementInternals.setFormValue(this.value ?? "");
|
|
5462
5698
|
this.elementInternals.form.requestSubmit(this);
|
|
5463
5699
|
} catch (e) {
|
|
5464
5700
|
this.createAndInsertFormSubmissionFallbackControl();
|
|
@@ -5467,6 +5703,12 @@ class Button extends FASTElement {
|
|
|
5467
5703
|
}
|
|
5468
5704
|
}
|
|
5469
5705
|
}
|
|
5706
|
+
/**
|
|
5707
|
+
* The form-associated flag.
|
|
5708
|
+
* @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
|
|
5709
|
+
*
|
|
5710
|
+
* @public
|
|
5711
|
+
*/
|
|
5470
5712
|
Button.formAssociated = true;
|
|
5471
5713
|
__decorateClass$l([attr], Button.prototype, "appearance", 2);
|
|
5472
5714
|
__decorateClass$l([attr({
|
|
@@ -5535,9 +5777,32 @@ function FormAssociated(BaseCtor) {
|
|
|
5535
5777
|
const C = class extends BaseCtor {
|
|
5536
5778
|
constructor(...args) {
|
|
5537
5779
|
super(...args);
|
|
5780
|
+
/**
|
|
5781
|
+
* Track whether the value has been changed from the initial value
|
|
5782
|
+
*/
|
|
5538
5783
|
this.dirtyValue = false;
|
|
5784
|
+
/**
|
|
5785
|
+
* The initial value of the form. This value sets the `value` property
|
|
5786
|
+
* only when the `value` property has not been explicitly set.
|
|
5787
|
+
*
|
|
5788
|
+
* @remarks
|
|
5789
|
+
* HTML Attribute: value
|
|
5790
|
+
*/
|
|
5539
5791
|
this.initialValue = "";
|
|
5792
|
+
/**
|
|
5793
|
+
* Sets the element's disabled state. A disabled element will not be included during form submission.
|
|
5794
|
+
*
|
|
5795
|
+
* @remarks
|
|
5796
|
+
* HTML Attribute: disabled
|
|
5797
|
+
*/
|
|
5540
5798
|
this.disabled = false;
|
|
5799
|
+
/**
|
|
5800
|
+
* These are events that are still fired by the proxy
|
|
5801
|
+
* element based on user / programmatic interaction.
|
|
5802
|
+
*
|
|
5803
|
+
* The proxy implementation should be transparent to
|
|
5804
|
+
* the app author, so block these events from emitting.
|
|
5805
|
+
*/
|
|
5541
5806
|
this.proxyEventsToBlock = ["change", "click"];
|
|
5542
5807
|
this.proxyInitialized = false;
|
|
5543
5808
|
this.required = false;
|
|
@@ -5546,21 +5811,51 @@ function FormAssociated(BaseCtor) {
|
|
|
5546
5811
|
this.formResetCallback = this.formResetCallback.bind(this);
|
|
5547
5812
|
}
|
|
5548
5813
|
}
|
|
5814
|
+
/**
|
|
5815
|
+
* Must evaluate to true to enable elementInternals.
|
|
5816
|
+
* Feature detects API support and resolve respectively
|
|
5817
|
+
*
|
|
5818
|
+
* @internal
|
|
5819
|
+
*/
|
|
5549
5820
|
static get formAssociated() {
|
|
5550
5821
|
return supportsElementInternals;
|
|
5551
5822
|
}
|
|
5823
|
+
/**
|
|
5824
|
+
* Returns the validity state of the element
|
|
5825
|
+
*
|
|
5826
|
+
* @beta
|
|
5827
|
+
*/
|
|
5552
5828
|
get validity() {
|
|
5553
5829
|
return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
|
|
5554
5830
|
}
|
|
5831
|
+
/**
|
|
5832
|
+
* Retrieve a reference to the associated form.
|
|
5833
|
+
* Returns null if not associated to any form.
|
|
5834
|
+
*
|
|
5835
|
+
* @beta
|
|
5836
|
+
*/
|
|
5555
5837
|
get form() {
|
|
5556
5838
|
return this.elementInternals ? this.elementInternals.form : this.proxy.form;
|
|
5557
5839
|
}
|
|
5840
|
+
/**
|
|
5841
|
+
* Retrieve the localized validation message,
|
|
5842
|
+
* or custom validation message if set.
|
|
5843
|
+
*
|
|
5844
|
+
* @beta
|
|
5845
|
+
*/
|
|
5558
5846
|
get validationMessage() {
|
|
5559
5847
|
return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
|
|
5560
5848
|
}
|
|
5849
|
+
/**
|
|
5850
|
+
* Whether the element will be validated when the
|
|
5851
|
+
* form is submitted
|
|
5852
|
+
*/
|
|
5561
5853
|
get willValidate() {
|
|
5562
5854
|
return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
|
|
5563
5855
|
}
|
|
5856
|
+
/**
|
|
5857
|
+
* A reference to all associated label elements
|
|
5858
|
+
*/
|
|
5564
5859
|
get labels() {
|
|
5565
5860
|
if (this.elementInternals) {
|
|
5566
5861
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
@@ -5573,6 +5868,16 @@ function FormAssociated(BaseCtor) {
|
|
|
5573
5868
|
return emptyArray;
|
|
5574
5869
|
}
|
|
5575
5870
|
}
|
|
5871
|
+
/**
|
|
5872
|
+
* Invoked when the `value` property changes
|
|
5873
|
+
* @param previous - the previous value
|
|
5874
|
+
* @param next - the new value
|
|
5875
|
+
*
|
|
5876
|
+
* @remarks
|
|
5877
|
+
* If elements extending `FormAssociated` implement a `valueChanged` method
|
|
5878
|
+
* They must be sure to invoke `super.valueChanged(previous, next)` to ensure
|
|
5879
|
+
* proper functioning of `FormAssociated`
|
|
5880
|
+
*/
|
|
5576
5881
|
valueChanged(previous, next) {
|
|
5577
5882
|
this.dirtyValue = true;
|
|
5578
5883
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -5585,23 +5890,67 @@ function FormAssociated(BaseCtor) {
|
|
|
5585
5890
|
currentValueChanged() {
|
|
5586
5891
|
this.value = this.currentValue;
|
|
5587
5892
|
}
|
|
5893
|
+
/**
|
|
5894
|
+
* Invoked when the `initialValue` property changes
|
|
5895
|
+
*
|
|
5896
|
+
* @param previous - the previous value
|
|
5897
|
+
* @param next - the new value
|
|
5898
|
+
*
|
|
5899
|
+
* @remarks
|
|
5900
|
+
* If elements extending `FormAssociated` implement a `initialValueChanged` method
|
|
5901
|
+
* They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
|
|
5902
|
+
* proper functioning of `FormAssociated`
|
|
5903
|
+
*/
|
|
5588
5904
|
initialValueChanged(previous, next) {
|
|
5589
5905
|
if (!this.dirtyValue) {
|
|
5590
5906
|
this.value = this.initialValue;
|
|
5591
5907
|
this.dirtyValue = false;
|
|
5592
5908
|
}
|
|
5593
5909
|
}
|
|
5910
|
+
/**
|
|
5911
|
+
* Invoked when the `disabled` property changes
|
|
5912
|
+
*
|
|
5913
|
+
* @param previous - the previous value
|
|
5914
|
+
* @param next - the new value
|
|
5915
|
+
*
|
|
5916
|
+
* @remarks
|
|
5917
|
+
* If elements extending `FormAssociated` implement a `disabledChanged` method
|
|
5918
|
+
* They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
|
|
5919
|
+
* proper functioning of `FormAssociated`
|
|
5920
|
+
*/
|
|
5594
5921
|
disabledChanged(previous, next) {
|
|
5595
5922
|
if (this.proxy instanceof HTMLElement) {
|
|
5596
5923
|
this.proxy.disabled = this.disabled;
|
|
5597
5924
|
}
|
|
5598
5925
|
Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
|
|
5599
5926
|
}
|
|
5927
|
+
/**
|
|
5928
|
+
* Invoked when the `name` property changes
|
|
5929
|
+
*
|
|
5930
|
+
* @param previous - the previous value
|
|
5931
|
+
* @param next - the new value
|
|
5932
|
+
*
|
|
5933
|
+
* @remarks
|
|
5934
|
+
* If elements extending `FormAssociated` implement a `nameChanged` method
|
|
5935
|
+
* They must be sure to invoke `super.nameChanged(previous, next)` to ensure
|
|
5936
|
+
* proper functioning of `FormAssociated`
|
|
5937
|
+
*/
|
|
5600
5938
|
nameChanged(previous, next) {
|
|
5601
5939
|
if (this.proxy instanceof HTMLElement) {
|
|
5602
5940
|
this.proxy.name = this.name;
|
|
5603
5941
|
}
|
|
5604
5942
|
}
|
|
5943
|
+
/**
|
|
5944
|
+
* Invoked when the `required` property changes
|
|
5945
|
+
*
|
|
5946
|
+
* @param previous - the previous value
|
|
5947
|
+
* @param next - the new value
|
|
5948
|
+
*
|
|
5949
|
+
* @remarks
|
|
5950
|
+
* If elements extending `FormAssociated` implement a `requiredChanged` method
|
|
5951
|
+
* They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
|
|
5952
|
+
* proper functioning of `FormAssociated`
|
|
5953
|
+
*/
|
|
5605
5954
|
requiredChanged(prev, next) {
|
|
5606
5955
|
if (this.proxy instanceof HTMLElement) {
|
|
5607
5956
|
this.proxy.required = this.required;
|
|
@@ -5609,6 +5958,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5609
5958
|
Updates.enqueue(() => this.classList.toggle("required", this.required));
|
|
5610
5959
|
this.validate();
|
|
5611
5960
|
}
|
|
5961
|
+
/**
|
|
5962
|
+
* The element internals object. Will only exist
|
|
5963
|
+
* in browsers supporting the attachInternals API
|
|
5964
|
+
*/
|
|
5612
5965
|
get elementInternals() {
|
|
5613
5966
|
if (!supportsElementInternals) {
|
|
5614
5967
|
return null;
|
|
@@ -5620,6 +5973,9 @@ function FormAssociated(BaseCtor) {
|
|
|
5620
5973
|
}
|
|
5621
5974
|
return internals;
|
|
5622
5975
|
}
|
|
5976
|
+
/**
|
|
5977
|
+
* @internal
|
|
5978
|
+
*/
|
|
5623
5979
|
connectedCallback() {
|
|
5624
5980
|
super.connectedCallback();
|
|
5625
5981
|
this.addEventListener("keypress", this._keypressHandler);
|
|
@@ -5634,18 +5990,37 @@ function FormAssociated(BaseCtor) {
|
|
|
5634
5990
|
}
|
|
5635
5991
|
}
|
|
5636
5992
|
}
|
|
5993
|
+
/**
|
|
5994
|
+
* @internal
|
|
5995
|
+
*/
|
|
5637
5996
|
disconnectedCallback() {
|
|
5638
5997
|
this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
|
|
5639
5998
|
if (!this.elementInternals && this.form) {
|
|
5640
5999
|
this.form.removeEventListener("reset", this.formResetCallback);
|
|
5641
6000
|
}
|
|
5642
6001
|
}
|
|
6002
|
+
/**
|
|
6003
|
+
* Return the current validity of the element.
|
|
6004
|
+
*/
|
|
5643
6005
|
checkValidity() {
|
|
5644
6006
|
return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
|
|
5645
6007
|
}
|
|
6008
|
+
/**
|
|
6009
|
+
* Return the current validity of the element.
|
|
6010
|
+
* If false, fires an invalid event at the element.
|
|
6011
|
+
*/
|
|
5646
6012
|
reportValidity() {
|
|
5647
6013
|
return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
|
|
5648
6014
|
}
|
|
6015
|
+
/**
|
|
6016
|
+
* Set the validity of the control. In cases when the elementInternals object is not
|
|
6017
|
+
* available (and the proxy element is used to report validity), this function will
|
|
6018
|
+
* do nothing unless a message is provided, at which point the setCustomValidity method
|
|
6019
|
+
* of the proxy element will be invoked with the provided message.
|
|
6020
|
+
* @param flags - Validity flags
|
|
6021
|
+
* @param message - Optional message to supply
|
|
6022
|
+
* @param anchor - Optional element used by UA to display an interactive validation UI
|
|
6023
|
+
*/
|
|
5649
6024
|
setValidity(flags, message, anchor) {
|
|
5650
6025
|
if (this.elementInternals) {
|
|
5651
6026
|
this.elementInternals.setValidity(flags, message, anchor);
|
|
@@ -5653,6 +6028,11 @@ function FormAssociated(BaseCtor) {
|
|
|
5653
6028
|
this.proxy.setCustomValidity(message);
|
|
5654
6029
|
}
|
|
5655
6030
|
}
|
|
6031
|
+
/**
|
|
6032
|
+
* Invoked when a connected component's form or fieldset has its disabled
|
|
6033
|
+
* state changed.
|
|
6034
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
6035
|
+
*/
|
|
5656
6036
|
formDisabledCallback(disabled) {
|
|
5657
6037
|
this.disabled = disabled;
|
|
5658
6038
|
}
|
|
@@ -5660,8 +6040,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5660
6040
|
this.value = this.initialValue;
|
|
5661
6041
|
this.dirtyValue = false;
|
|
5662
6042
|
}
|
|
6043
|
+
/**
|
|
6044
|
+
* Attach the proxy element to the DOM
|
|
6045
|
+
*/
|
|
5663
6046
|
attachProxy() {
|
|
5664
|
-
var _a;
|
|
5665
6047
|
if (!this.proxyInitialized) {
|
|
5666
6048
|
this.proxyInitialized = true;
|
|
5667
6049
|
this.proxy.style.display = "none";
|
|
@@ -5678,19 +6060,27 @@ function FormAssociated(BaseCtor) {
|
|
|
5678
6060
|
this.proxySlot = document.createElement("slot");
|
|
5679
6061
|
this.proxySlot.setAttribute("name", proxySlotName);
|
|
5680
6062
|
}
|
|
5681
|
-
|
|
6063
|
+
this.shadowRoot?.appendChild(this.proxySlot);
|
|
5682
6064
|
this.appendChild(this.proxy);
|
|
5683
6065
|
}
|
|
6066
|
+
/**
|
|
6067
|
+
* Detach the proxy element from the DOM
|
|
6068
|
+
*/
|
|
5684
6069
|
detachProxy() {
|
|
5685
|
-
var _a;
|
|
5686
6070
|
this.removeChild(this.proxy);
|
|
5687
|
-
|
|
6071
|
+
this.shadowRoot?.removeChild(this.proxySlot);
|
|
5688
6072
|
}
|
|
6073
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
5689
6074
|
validate(anchor) {
|
|
5690
6075
|
if (this.proxy instanceof HTMLElement) {
|
|
5691
6076
|
this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
|
|
5692
6077
|
}
|
|
5693
6078
|
}
|
|
6079
|
+
/**
|
|
6080
|
+
* Associates the provided value (and optional state) with the parent form.
|
|
6081
|
+
* @param value - The value to set
|
|
6082
|
+
* @param state - The state object provided to during session restores and when autofilling.
|
|
6083
|
+
*/
|
|
5694
6084
|
setFormValue(value, state) {
|
|
5695
6085
|
if (this.elementInternals) {
|
|
5696
6086
|
this.elementInternals.setFormValue(value, state || value);
|
|
@@ -5701,11 +6091,15 @@ function FormAssociated(BaseCtor) {
|
|
|
5701
6091
|
case keyEnter:
|
|
5702
6092
|
if (this.form instanceof HTMLFormElement) {
|
|
5703
6093
|
const defaultButton = this.form.querySelector("[type=submit]");
|
|
5704
|
-
defaultButton
|
|
6094
|
+
defaultButton?.click();
|
|
5705
6095
|
}
|
|
5706
6096
|
break;
|
|
5707
6097
|
}
|
|
5708
6098
|
}
|
|
6099
|
+
/**
|
|
6100
|
+
* Used to stop propagation of proxy element events
|
|
6101
|
+
* @param e - Event object
|
|
6102
|
+
*/
|
|
5709
6103
|
stopPropagation(e) {
|
|
5710
6104
|
e.stopPropagation();
|
|
5711
6105
|
}
|
|
@@ -5732,14 +6126,35 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
5732
6126
|
class D extends C {
|
|
5733
6127
|
constructor(...args) {
|
|
5734
6128
|
super(args);
|
|
6129
|
+
/**
|
|
6130
|
+
* Tracks whether the "checked" property has been changed.
|
|
6131
|
+
* This is necessary to provide consistent behavior with
|
|
6132
|
+
* normal input checkboxes
|
|
6133
|
+
*/
|
|
5735
6134
|
this.dirtyChecked = false;
|
|
6135
|
+
/**
|
|
6136
|
+
* Provides the default checkedness of the input element
|
|
6137
|
+
* Passed down to proxy
|
|
6138
|
+
*
|
|
6139
|
+
* @public
|
|
6140
|
+
* @remarks
|
|
6141
|
+
* HTML Attribute: checked
|
|
6142
|
+
*/
|
|
5736
6143
|
this.checkedAttribute = false;
|
|
6144
|
+
/**
|
|
6145
|
+
* The checked state of the control.
|
|
6146
|
+
*
|
|
6147
|
+
* @public
|
|
6148
|
+
*/
|
|
5737
6149
|
this.checked = false;
|
|
5738
6150
|
this.dirtyChecked = false;
|
|
5739
6151
|
}
|
|
5740
6152
|
checkedAttributeChanged() {
|
|
5741
6153
|
this.defaultChecked = this.checkedAttribute;
|
|
5742
6154
|
}
|
|
6155
|
+
/**
|
|
6156
|
+
* @internal
|
|
6157
|
+
*/
|
|
5743
6158
|
defaultCheckedChanged() {
|
|
5744
6159
|
if (!this.dirtyChecked) {
|
|
5745
6160
|
this.checked = this.defaultChecked;
|
|
@@ -5809,8 +6224,17 @@ var __decorateClass$k = (decorators, target, key, kind) => {
|
|
|
5809
6224
|
class Checkbox extends FormAssociatedCheckbox {
|
|
5810
6225
|
constructor() {
|
|
5811
6226
|
super();
|
|
6227
|
+
/**
|
|
6228
|
+
* The element's value to be included in form submission when checked.
|
|
6229
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
6230
|
+
*
|
|
6231
|
+
* @internal
|
|
6232
|
+
*/
|
|
5812
6233
|
this.initialValue = "on";
|
|
5813
6234
|
this.indeterminate = false;
|
|
6235
|
+
/**
|
|
6236
|
+
* @internal
|
|
6237
|
+
*/
|
|
5814
6238
|
this.keypressHandler = e => {
|
|
5815
6239
|
if (this.disabled) {
|
|
5816
6240
|
return;
|
|
@@ -5821,6 +6245,9 @@ class Checkbox extends FormAssociatedCheckbox {
|
|
|
5821
6245
|
break;
|
|
5822
6246
|
}
|
|
5823
6247
|
};
|
|
6248
|
+
/**
|
|
6249
|
+
* @internal
|
|
6250
|
+
*/
|
|
5824
6251
|
this.clickHandler = e => {
|
|
5825
6252
|
if (!this.disabled) {
|
|
5826
6253
|
this.toggleChecked();
|
|
@@ -5937,9 +6364,14 @@ class CounterBadge extends FASTElement {
|
|
|
5937
6364
|
overflowCountChanged() {
|
|
5938
6365
|
this.setCount();
|
|
5939
6366
|
}
|
|
6367
|
+
/**
|
|
6368
|
+
* @internal
|
|
6369
|
+
* Function to set the count
|
|
6370
|
+
* This is the default slotted content for the counter badge
|
|
6371
|
+
* If children are slotted, that will override the value returned
|
|
6372
|
+
*/
|
|
5940
6373
|
setCount() {
|
|
5941
|
-
|
|
5942
|
-
const count = (_a = this.count) != null ? _a : 0;
|
|
6374
|
+
const count = this.count ?? 0;
|
|
5943
6375
|
if ((count !== 0 || this.showZero) && !this.dot) {
|
|
5944
6376
|
return count > this.overflowCount ? `${this.overflowCount}+` : `${count}`;
|
|
5945
6377
|
}
|
|
@@ -6380,21 +6812,40 @@ var __decorateClass$i = (decorators, target, key, kind) => {
|
|
|
6380
6812
|
if (kind && result) __defProp$i(target, key, result);
|
|
6381
6813
|
return result;
|
|
6382
6814
|
};
|
|
6383
|
-
const _Dialog = class extends FASTElement {
|
|
6815
|
+
const _Dialog = class _Dialog extends FASTElement {
|
|
6384
6816
|
constructor() {
|
|
6385
6817
|
super(...arguments);
|
|
6818
|
+
/**
|
|
6819
|
+
* @private
|
|
6820
|
+
* Indicates whether focus is being trapped within the dialog
|
|
6821
|
+
*/
|
|
6386
6822
|
this.isTrappingFocus = false;
|
|
6387
6823
|
this.titleAction = [];
|
|
6388
6824
|
this.modalType = DialogModalType.modal;
|
|
6389
6825
|
this.open = false;
|
|
6390
6826
|
this.noTitleAction = false;
|
|
6827
|
+
/**
|
|
6828
|
+
* @private
|
|
6829
|
+
* Indicates whether focus should be trapped within the dialog
|
|
6830
|
+
*/
|
|
6391
6831
|
this.trapFocus = false;
|
|
6832
|
+
/**
|
|
6833
|
+
* @public
|
|
6834
|
+
* Method to emit an event when the dialog's open state changes
|
|
6835
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
6836
|
+
*/
|
|
6392
6837
|
this.onOpenChangeEvent = (dismissed = false) => {
|
|
6393
6838
|
this.$emit("onOpenChange", {
|
|
6394
6839
|
open: this.dialog.open,
|
|
6395
6840
|
dismissed
|
|
6396
6841
|
});
|
|
6397
6842
|
};
|
|
6843
|
+
/**
|
|
6844
|
+
* @public
|
|
6845
|
+
* Handles keydown events on the dialog
|
|
6846
|
+
* @param e - The keydown event
|
|
6847
|
+
* @returns boolean | void
|
|
6848
|
+
*/
|
|
6398
6849
|
this.handleKeydown = e => {
|
|
6399
6850
|
if (e.defaultPrevented) {
|
|
6400
6851
|
return;
|
|
@@ -6410,6 +6861,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6410
6861
|
return true;
|
|
6411
6862
|
}
|
|
6412
6863
|
};
|
|
6864
|
+
/**
|
|
6865
|
+
* @private
|
|
6866
|
+
* Handles keydown events on the document
|
|
6867
|
+
* @param e - The keydown event
|
|
6868
|
+
*/
|
|
6413
6869
|
this.handleDocumentKeydown = e => {
|
|
6414
6870
|
if (!e.defaultPrevented && this.dialog.open) {
|
|
6415
6871
|
switch (e.key) {
|
|
@@ -6419,6 +6875,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6419
6875
|
}
|
|
6420
6876
|
}
|
|
6421
6877
|
};
|
|
6878
|
+
/**
|
|
6879
|
+
* @private
|
|
6880
|
+
* Handles tab keydown events
|
|
6881
|
+
* @param e - The keydown event
|
|
6882
|
+
*/
|
|
6422
6883
|
this.handleTabKeyDown = e => {
|
|
6423
6884
|
if (!this.trapFocus || !this.dialog.open) {
|
|
6424
6885
|
return;
|
|
@@ -6438,10 +6899,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6438
6899
|
}
|
|
6439
6900
|
return;
|
|
6440
6901
|
};
|
|
6902
|
+
/**
|
|
6903
|
+
* @private
|
|
6904
|
+
* Gets the bounds of the tab queue
|
|
6905
|
+
* @returns (HTMLElement | SVGElement)[]
|
|
6906
|
+
*/
|
|
6441
6907
|
this.getTabQueueBounds = () => {
|
|
6442
6908
|
const bounds = [];
|
|
6443
6909
|
return _Dialog.reduceTabbableItems(bounds, this);
|
|
6444
6910
|
};
|
|
6911
|
+
/**
|
|
6912
|
+
* @private
|
|
6913
|
+
* Focuses the first element in the tab queue
|
|
6914
|
+
*/
|
|
6445
6915
|
this.focusFirstElement = () => {
|
|
6446
6916
|
const bounds = this.getTabQueueBounds();
|
|
6447
6917
|
if (bounds.length > 0) {
|
|
@@ -6452,18 +6922,39 @@ const _Dialog = class extends FASTElement {
|
|
|
6452
6922
|
}
|
|
6453
6923
|
}
|
|
6454
6924
|
};
|
|
6925
|
+
/**
|
|
6926
|
+
* @private
|
|
6927
|
+
* Determines if focus should be forced
|
|
6928
|
+
* @param currentFocusElement - The currently focused element
|
|
6929
|
+
* @returns boolean
|
|
6930
|
+
*/
|
|
6455
6931
|
this.shouldForceFocus = currentFocusElement => {
|
|
6456
6932
|
return this.isTrappingFocus && !this.contains(currentFocusElement);
|
|
6457
6933
|
};
|
|
6934
|
+
/**
|
|
6935
|
+
* @private
|
|
6936
|
+
* Determines if focus should be trapped
|
|
6937
|
+
* @returns boolean
|
|
6938
|
+
*/
|
|
6458
6939
|
this.shouldTrapFocus = () => {
|
|
6459
6940
|
return this.trapFocus && this.dialog.open;
|
|
6460
6941
|
};
|
|
6942
|
+
/**
|
|
6943
|
+
* @private
|
|
6944
|
+
* Handles focus events on the document
|
|
6945
|
+
* @param e - The focus event
|
|
6946
|
+
*/
|
|
6461
6947
|
this.handleDocumentFocus = e => {
|
|
6462
6948
|
if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
|
|
6463
6949
|
this.focusFirstElement();
|
|
6464
6950
|
e.preventDefault();
|
|
6465
6951
|
}
|
|
6466
6952
|
};
|
|
6953
|
+
/**
|
|
6954
|
+
* @private
|
|
6955
|
+
* Updates the state of focus trapping
|
|
6956
|
+
* @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
|
|
6957
|
+
*/
|
|
6467
6958
|
this.updateTrapFocus = shouldTrapFocusOverride => {
|
|
6468
6959
|
const shouldTrapFocus = shouldTrapFocusOverride === void 0 ? this.shouldTrapFocus() : shouldTrapFocusOverride;
|
|
6469
6960
|
if (shouldTrapFocus && !this.isTrappingFocus) {
|
|
@@ -6480,6 +6971,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6480
6971
|
}
|
|
6481
6972
|
};
|
|
6482
6973
|
}
|
|
6974
|
+
/**
|
|
6975
|
+
* @public
|
|
6976
|
+
* Lifecycle method called when the element is connected to the DOM
|
|
6977
|
+
*/
|
|
6483
6978
|
connectedCallback() {
|
|
6484
6979
|
super.connectedCallback();
|
|
6485
6980
|
document.addEventListener("keydown", this.handleDocumentKeydown);
|
|
@@ -6488,11 +6983,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6488
6983
|
this.setComponent();
|
|
6489
6984
|
});
|
|
6490
6985
|
}
|
|
6986
|
+
/**
|
|
6987
|
+
* @public
|
|
6988
|
+
* Lifecycle method called when the element is disconnected from the DOM
|
|
6989
|
+
*/
|
|
6491
6990
|
disconnectedCallback() {
|
|
6492
6991
|
super.disconnectedCallback();
|
|
6493
6992
|
document.removeEventListener("keydown", this.handleDocumentKeydown);
|
|
6494
6993
|
this.updateTrapFocus(false);
|
|
6495
6994
|
}
|
|
6995
|
+
/**
|
|
6996
|
+
* @public
|
|
6997
|
+
* Method called when the 'open' attribute changes
|
|
6998
|
+
*/
|
|
6496
6999
|
openChanged(oldValue, newValue) {
|
|
6497
7000
|
if (newValue !== oldValue) {
|
|
6498
7001
|
if (newValue && !oldValue) {
|
|
@@ -6502,6 +7005,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6502
7005
|
}
|
|
6503
7006
|
}
|
|
6504
7007
|
}
|
|
7008
|
+
/**
|
|
7009
|
+
* @public
|
|
7010
|
+
* Method called when the 'modalType' attribute changes
|
|
7011
|
+
*/
|
|
6505
7012
|
modalTypeChanged(oldValue, newValue) {
|
|
6506
7013
|
if (newValue !== oldValue) {
|
|
6507
7014
|
if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
|
|
@@ -6511,6 +7018,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6511
7018
|
}
|
|
6512
7019
|
}
|
|
6513
7020
|
}
|
|
7021
|
+
/**
|
|
7022
|
+
* @public
|
|
7023
|
+
* Method to set the component's state based on its attributes
|
|
7024
|
+
*/
|
|
6514
7025
|
setComponent() {
|
|
6515
7026
|
if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
|
|
6516
7027
|
this.trapFocus = true;
|
|
@@ -6518,6 +7029,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6518
7029
|
this.trapFocus = false;
|
|
6519
7030
|
}
|
|
6520
7031
|
}
|
|
7032
|
+
/**
|
|
7033
|
+
* @public
|
|
7034
|
+
* Method to show the dialog
|
|
7035
|
+
*/
|
|
6521
7036
|
show() {
|
|
6522
7037
|
Updates.enqueue(() => {
|
|
6523
7038
|
if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
|
|
@@ -6531,17 +7046,32 @@ const _Dialog = class extends FASTElement {
|
|
|
6531
7046
|
this.onOpenChangeEvent();
|
|
6532
7047
|
});
|
|
6533
7048
|
}
|
|
7049
|
+
/**
|
|
7050
|
+
* @public
|
|
7051
|
+
* Method to hide the dialog
|
|
7052
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
7053
|
+
*/
|
|
6534
7054
|
hide(dismissed = false) {
|
|
6535
7055
|
this.dialog.close();
|
|
6536
7056
|
this.open = false;
|
|
6537
7057
|
this.onOpenChangeEvent(dismissed);
|
|
6538
7058
|
}
|
|
7059
|
+
/**
|
|
7060
|
+
* @public
|
|
7061
|
+
* Method to dismiss the dialog
|
|
7062
|
+
*/
|
|
6539
7063
|
dismiss() {
|
|
6540
7064
|
if (this.modalType === DialogModalType.alert) {
|
|
6541
7065
|
return;
|
|
6542
7066
|
}
|
|
6543
7067
|
this.hide(true);
|
|
6544
7068
|
}
|
|
7069
|
+
/**
|
|
7070
|
+
* @public
|
|
7071
|
+
* Handles click events on the dialog
|
|
7072
|
+
* @param event - The click event
|
|
7073
|
+
* @returns boolean
|
|
7074
|
+
*/
|
|
6545
7075
|
handleClick(event) {
|
|
6546
7076
|
event.preventDefault();
|
|
6547
7077
|
if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
|
|
@@ -6549,6 +7079,13 @@ const _Dialog = class extends FASTElement {
|
|
|
6549
7079
|
}
|
|
6550
7080
|
return true;
|
|
6551
7081
|
}
|
|
7082
|
+
/**
|
|
7083
|
+
* @private
|
|
7084
|
+
* Reduces the list of tabbable items
|
|
7085
|
+
* @param elements - The current list of elements
|
|
7086
|
+
* @param element - The element to consider adding to the list
|
|
7087
|
+
* @returns HTMLElement[]
|
|
7088
|
+
*/
|
|
6552
7089
|
static reduceTabbableItems(elements, element) {
|
|
6553
7090
|
if (element.getAttribute("tabindex") === "-1") {
|
|
6554
7091
|
return elements;
|
|
@@ -6559,37 +7096,47 @@ const _Dialog = class extends FASTElement {
|
|
|
6559
7096
|
}
|
|
6560
7097
|
return Array.from(element.children).reduce((elements2, currentElement) => _Dialog.reduceTabbableItems(elements2, currentElement), elements);
|
|
6561
7098
|
}
|
|
7099
|
+
/**
|
|
7100
|
+
* @private
|
|
7101
|
+
* Determines if an element is a focusable FASTElement
|
|
7102
|
+
* @param element - The element to check
|
|
7103
|
+
* @returns boolean
|
|
7104
|
+
*/
|
|
6562
7105
|
static isFocusableFastElement(element) {
|
|
6563
|
-
|
|
6564
|
-
return !!((_b = (_a = element.$fastController) == null ? void 0 : _a.definition.shadowOptions) == null ? void 0 : _b.delegatesFocus);
|
|
7106
|
+
return !!element.$fastController?.definition.shadowOptions?.delegatesFocus;
|
|
6565
7107
|
}
|
|
7108
|
+
/**
|
|
7109
|
+
* @private
|
|
7110
|
+
* Determines if an element has a tabbable shadow
|
|
7111
|
+
* @param element - The element to check
|
|
7112
|
+
* @returns boolean
|
|
7113
|
+
*/
|
|
6566
7114
|
static hasTabbableShadow(element) {
|
|
6567
|
-
|
|
6568
|
-
return Array.from((_b = (_a = element.shadowRoot) == null ? void 0 : _a.querySelectorAll("*")) != null ? _b : []).some(x => {
|
|
7115
|
+
return Array.from(element.shadowRoot?.querySelectorAll("*") ?? []).some(x => {
|
|
6569
7116
|
return isTabbable(x);
|
|
6570
7117
|
});
|
|
6571
7118
|
}
|
|
6572
7119
|
};
|
|
6573
|
-
|
|
6574
|
-
__decorateClass$i([observable],
|
|
6575
|
-
__decorateClass$i([observable],
|
|
6576
|
-
__decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
|
|
7120
|
+
__decorateClass$i([observable], _Dialog.prototype, "dialog", 2);
|
|
7121
|
+
__decorateClass$i([observable], _Dialog.prototype, "titleAction", 2);
|
|
7122
|
+
__decorateClass$i([observable], _Dialog.prototype, "defaultTitleAction", 2);
|
|
6577
7123
|
__decorateClass$i([attr({
|
|
6578
7124
|
attribute: "aria-describedby"
|
|
6579
|
-
})],
|
|
7125
|
+
})], _Dialog.prototype, "ariaDescribedby", 2);
|
|
6580
7126
|
__decorateClass$i([attr({
|
|
6581
7127
|
attribute: "aria-labelledby"
|
|
6582
|
-
})],
|
|
7128
|
+
})], _Dialog.prototype, "ariaLabelledby", 2);
|
|
6583
7129
|
__decorateClass$i([attr({
|
|
6584
7130
|
attribute: "modal-type"
|
|
6585
|
-
})],
|
|
7131
|
+
})], _Dialog.prototype, "modalType", 2);
|
|
6586
7132
|
__decorateClass$i([attr({
|
|
6587
7133
|
mode: "boolean"
|
|
6588
|
-
})],
|
|
7134
|
+
})], _Dialog.prototype, "open", 2);
|
|
6589
7135
|
__decorateClass$i([attr({
|
|
6590
7136
|
mode: "boolean",
|
|
6591
7137
|
attribute: "no-title-action"
|
|
6592
|
-
})],
|
|
7138
|
+
})], _Dialog.prototype, "noTitleAction", 2);
|
|
7139
|
+
let Dialog = _Dialog;
|
|
6593
7140
|
|
|
6594
7141
|
const dismissed16Regular = html.partial(`
|
|
6595
7142
|
<svg
|
|
@@ -6622,7 +7169,13 @@ const definition$j = Dialog.compose({
|
|
|
6622
7169
|
});
|
|
6623
7170
|
|
|
6624
7171
|
const DividerRole = {
|
|
7172
|
+
/**
|
|
7173
|
+
* The divider semantically separates content
|
|
7174
|
+
*/
|
|
6625
7175
|
separator: "separator",
|
|
7176
|
+
/**
|
|
7177
|
+
* The divider has no semantic value and is for visual presentation only.
|
|
7178
|
+
*/
|
|
6626
7179
|
presentation: "presentation"
|
|
6627
7180
|
};
|
|
6628
7181
|
const DividerOrientation = Orientation;
|
|
@@ -6749,10 +7302,20 @@ __decorateClass$f([attr({
|
|
|
6749
7302
|
mode: "boolean"
|
|
6750
7303
|
})], Label.prototype, "required", 2);
|
|
6751
7304
|
|
|
6752
|
-
const
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
|
|
7305
|
+
const LabelSize = {
|
|
7306
|
+
small: "small",
|
|
7307
|
+
medium: "medium",
|
|
7308
|
+
large: "large"
|
|
7309
|
+
};
|
|
7310
|
+
const LabelWeight = {
|
|
7311
|
+
regular: "regular",
|
|
7312
|
+
semibold: "semibold"
|
|
7313
|
+
};
|
|
7314
|
+
|
|
7315
|
+
const styles$f = css`
|
|
7316
|
+
${display("flex")}
|
|
7317
|
+
|
|
7318
|
+
:host{font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};font-weight:${fontWeightRegular};color:${colorNeutralForeground1}}.asterisk{color:${colorPaletteRedForeground1};margin-left:${spacingHorizontalXS}}:host([size='small']){font-size:${fontSizeBase200};line-height:${lineHeightBase200}}:host([size='large']){font-size:${fontSizeBase400};line-height:${lineHeightBase400};font-weight:${fontWeightSemibold}}:host([weight='semibold']){font-weight:${fontWeightSemibold}}:host([disabled]),:host([disabled]) .asterisk{color:${colorNeutralForegroundDisabled}}`;
|
|
6756
7319
|
|
|
6757
7320
|
function labelTemplate() {
|
|
6758
7321
|
return html`<slot></slot><span part="asterisk" class="asterisk" ?hidden="${x => !x.required}">*</span>`;
|
|
@@ -7698,6 +8261,10 @@ class Menu extends FASTElement {
|
|
|
7698
8261
|
this.open = false;
|
|
7699
8262
|
this.slottedMenuList = [];
|
|
7700
8263
|
this.slottedTriggers = [];
|
|
8264
|
+
/**
|
|
8265
|
+
* Toggles the open state of the menu.
|
|
8266
|
+
* @public
|
|
8267
|
+
*/
|
|
7701
8268
|
this.toggleMenu = () => {
|
|
7702
8269
|
if (this.open) {
|
|
7703
8270
|
this.closeMenu();
|
|
@@ -7705,12 +8272,20 @@ class Menu extends FASTElement {
|
|
|
7705
8272
|
this.openMenu();
|
|
7706
8273
|
}
|
|
7707
8274
|
};
|
|
8275
|
+
/**
|
|
8276
|
+
* Closes the menu.
|
|
8277
|
+
* @public
|
|
8278
|
+
*/
|
|
7708
8279
|
this.closeMenu = () => {
|
|
7709
8280
|
this.open = false;
|
|
7710
8281
|
if (this.closeOnScroll) {
|
|
7711
8282
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7712
8283
|
}
|
|
7713
8284
|
};
|
|
8285
|
+
/**
|
|
8286
|
+
* Opens the menu.
|
|
8287
|
+
* @public
|
|
8288
|
+
*/
|
|
7714
8289
|
this.openMenu = e => {
|
|
7715
8290
|
this.open = true;
|
|
7716
8291
|
if (e && this.openOnContext) {
|
|
@@ -7720,9 +8295,20 @@ class Menu extends FASTElement {
|
|
|
7720
8295
|
document.addEventListener("scroll", this.closeMenu);
|
|
7721
8296
|
}
|
|
7722
8297
|
};
|
|
8298
|
+
/**
|
|
8299
|
+
* The task to set the positioning of the menu.
|
|
8300
|
+
* @protected
|
|
8301
|
+
*/
|
|
7723
8302
|
this.setPositioningTask = () => {
|
|
7724
8303
|
this.setPositioning();
|
|
7725
8304
|
};
|
|
8305
|
+
/**
|
|
8306
|
+
* Handles keyboard interaction for the trigger.
|
|
8307
|
+
* Toggles the menu when the Space or Enter key is pressed.
|
|
8308
|
+
* If the menu is open, focuses on the menu list.
|
|
8309
|
+
* @public
|
|
8310
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8311
|
+
*/
|
|
7726
8312
|
this.handleTriggerKeydown = e => {
|
|
7727
8313
|
if (e.defaultPrevented) {
|
|
7728
8314
|
return;
|
|
@@ -7741,22 +8327,41 @@ class Menu extends FASTElement {
|
|
|
7741
8327
|
return true;
|
|
7742
8328
|
}
|
|
7743
8329
|
};
|
|
8330
|
+
/**
|
|
8331
|
+
* Handles document click events to close the menu when a click occurs outside of the menu or the trigger.
|
|
8332
|
+
* @private
|
|
8333
|
+
* @param {Event} e - The event triggered on document click.
|
|
8334
|
+
*/
|
|
7744
8335
|
this.handleDocumentClick = e => {
|
|
7745
8336
|
if (e && !e.composedPath().includes(this._menuList) && !e.composedPath().includes(this._trigger)) {
|
|
7746
8337
|
this.closeMenu();
|
|
7747
8338
|
}
|
|
7748
8339
|
};
|
|
7749
8340
|
}
|
|
8341
|
+
/**
|
|
8342
|
+
* Called when the element is connected to the DOM.
|
|
8343
|
+
* Sets up the component.
|
|
8344
|
+
* @public
|
|
8345
|
+
*/
|
|
7750
8346
|
connectedCallback() {
|
|
7751
8347
|
super.connectedCallback();
|
|
7752
8348
|
Updates.enqueue(() => this.setComponent());
|
|
7753
8349
|
}
|
|
8350
|
+
/**
|
|
8351
|
+
* Called when the element is disconnected from the DOM.
|
|
8352
|
+
* Removes event listeners.
|
|
8353
|
+
* @public
|
|
8354
|
+
*/
|
|
7754
8355
|
disconnectedCallback() {
|
|
7755
|
-
var _a;
|
|
7756
8356
|
super.disconnectedCallback();
|
|
7757
|
-
|
|
8357
|
+
this.cleanup?.();
|
|
7758
8358
|
this.removeListeners();
|
|
7759
8359
|
}
|
|
8360
|
+
/**
|
|
8361
|
+
* Sets the component.
|
|
8362
|
+
* Sets the trigger and menu list elements and adds event listeners.
|
|
8363
|
+
* @public
|
|
8364
|
+
*/
|
|
7760
8365
|
setComponent() {
|
|
7761
8366
|
if (this.$fastController.isConnected && this.slottedMenuList.length && this.slottedTriggers.length) {
|
|
7762
8367
|
this._trigger = this.slottedTriggers[0];
|
|
@@ -7766,6 +8371,10 @@ class Menu extends FASTElement {
|
|
|
7766
8371
|
this.addListeners();
|
|
7767
8372
|
}
|
|
7768
8373
|
}
|
|
8374
|
+
/**
|
|
8375
|
+
* Focuses on the menu list.
|
|
8376
|
+
* @public
|
|
8377
|
+
*/
|
|
7769
8378
|
focusMenuList() {
|
|
7770
8379
|
if (this.open && this._menuList) {
|
|
7771
8380
|
Updates.enqueue(() => {
|
|
@@ -7773,6 +8382,10 @@ class Menu extends FASTElement {
|
|
|
7773
8382
|
});
|
|
7774
8383
|
}
|
|
7775
8384
|
}
|
|
8385
|
+
/**
|
|
8386
|
+
* Focuses on the menu trigger.
|
|
8387
|
+
* @public
|
|
8388
|
+
*/
|
|
7776
8389
|
focusTrigger() {
|
|
7777
8390
|
if (!this.open && this._trigger) {
|
|
7778
8391
|
Updates.enqueue(() => {
|
|
@@ -7780,43 +8393,76 @@ class Menu extends FASTElement {
|
|
|
7780
8393
|
});
|
|
7781
8394
|
}
|
|
7782
8395
|
}
|
|
8396
|
+
/**
|
|
8397
|
+
* Called whenever the open state changes.
|
|
8398
|
+
* Updates the 'aria-expanded' attribute and sets the positioning of the menu.
|
|
8399
|
+
* Sets menu list position
|
|
8400
|
+
* emits openChanged event
|
|
8401
|
+
* @public
|
|
8402
|
+
* @param {boolean} oldValue - The previous value of 'open'.
|
|
8403
|
+
* @param {boolean} newValue - The new value of 'open'.
|
|
8404
|
+
*/
|
|
7783
8405
|
openChanged(oldValue, newValue) {
|
|
7784
|
-
var _a;
|
|
7785
8406
|
if (this.$fastController.isConnected && this._trigger instanceof HTMLElement) {
|
|
7786
8407
|
this._trigger.setAttribute("aria-expanded", `${this.open}`);
|
|
7787
8408
|
if (this._menuList && this.open) {
|
|
7788
8409
|
Updates.enqueue(this.setPositioningTask);
|
|
7789
8410
|
}
|
|
7790
8411
|
}
|
|
7791
|
-
|
|
8412
|
+
this.cleanup?.();
|
|
7792
8413
|
this.$emit("onOpenChange", {
|
|
7793
8414
|
open: newValue
|
|
7794
8415
|
});
|
|
7795
8416
|
}
|
|
8417
|
+
/**
|
|
8418
|
+
* Called whenever the 'openOnHover' property changes.
|
|
8419
|
+
* Adds or removes a 'mouseover' event listener to the trigger based on the new value.
|
|
8420
|
+
* @public
|
|
8421
|
+
* @param {boolean} oldValue - The previous value of 'openOnHover'.
|
|
8422
|
+
* @param {boolean} newValue - The new value of 'openOnHover'.
|
|
8423
|
+
*/
|
|
7796
8424
|
openOnHoverChanged(oldValue, newValue) {
|
|
7797
|
-
var _a, _b;
|
|
7798
8425
|
if (newValue) {
|
|
7799
|
-
|
|
8426
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7800
8427
|
} else {
|
|
7801
|
-
|
|
8428
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7802
8429
|
}
|
|
7803
8430
|
}
|
|
8431
|
+
/**
|
|
8432
|
+
* Called whenever the 'persistOnItemClick' property changes.
|
|
8433
|
+
* Adds or removes a 'click' event listener to the menu list based on the new value.
|
|
8434
|
+
* @public
|
|
8435
|
+
* @param {boolean} oldValue - The previous value of 'persistOnItemClick'.
|
|
8436
|
+
* @param {boolean} newValue - The new value of 'persistOnItemClick'.
|
|
8437
|
+
*/
|
|
7804
8438
|
persistOnItemClickChanged(oldValue, newValue) {
|
|
7805
|
-
var _a, _b;
|
|
7806
8439
|
if (!newValue) {
|
|
7807
|
-
|
|
8440
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7808
8441
|
} else {
|
|
7809
|
-
|
|
8442
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7810
8443
|
}
|
|
7811
8444
|
}
|
|
8445
|
+
/**
|
|
8446
|
+
* Called whenever the 'openOnContext' property changes.
|
|
8447
|
+
* Adds or removes a 'contextmenu' event listener to the trigger based on the new value.
|
|
8448
|
+
* @public
|
|
8449
|
+
* @param {boolean} oldValue - The previous value of 'openOnContext'.
|
|
8450
|
+
* @param {boolean} newValue - The new value of 'openOnContext'.
|
|
8451
|
+
*/
|
|
7812
8452
|
openOnContextChanged(oldValue, newValue) {
|
|
7813
|
-
var _a, _b;
|
|
7814
8453
|
if (newValue) {
|
|
7815
|
-
|
|
8454
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7816
8455
|
} else {
|
|
7817
|
-
|
|
8456
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7818
8457
|
}
|
|
7819
8458
|
}
|
|
8459
|
+
/**
|
|
8460
|
+
* Called whenever the 'closeOnScroll' property changes.
|
|
8461
|
+
* Adds or removes a 'closeOnScroll' event listener to the trigger based on the new value.
|
|
8462
|
+
* @public
|
|
8463
|
+
* @param {boolean} oldValue - The previous value of 'closeOnScroll'.
|
|
8464
|
+
* @param {boolean} newValue - The new value of 'closeOnScroll'.
|
|
8465
|
+
*/
|
|
7820
8466
|
closeOnScrollChanged(oldValue, newValue) {
|
|
7821
8467
|
if (newValue) {
|
|
7822
8468
|
document.addEventListener("scroll", this.closeMenu);
|
|
@@ -7824,10 +8470,13 @@ class Menu extends FASTElement {
|
|
|
7824
8470
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7825
8471
|
}
|
|
7826
8472
|
}
|
|
8473
|
+
/**
|
|
8474
|
+
* Sets the positioning of the menu.
|
|
8475
|
+
* @protected
|
|
8476
|
+
*/
|
|
7827
8477
|
setPositioning() {
|
|
7828
8478
|
if (this.$fastController.isConnected && this._menuList && this.open && this._trigger) {
|
|
7829
8479
|
this.cleanup = P(this, this.positioningContainer, async () => {
|
|
7830
|
-
var _a, _b;
|
|
7831
8480
|
const {
|
|
7832
8481
|
middlewareData,
|
|
7833
8482
|
x,
|
|
@@ -7840,19 +8489,18 @@ class Menu extends FASTElement {
|
|
|
7840
8489
|
availableHeight,
|
|
7841
8490
|
rects
|
|
7842
8491
|
}) => {
|
|
7843
|
-
|
|
7844
|
-
((_a2 = this.positioningContainer) == null ? void 0 : _a2.style) && Object.assign(this.positioningContainer.style, {
|
|
8492
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7845
8493
|
maxHeight: `${availableHeight}px`,
|
|
7846
8494
|
width: `${rects.reference.width}px`
|
|
7847
8495
|
});
|
|
7848
8496
|
}
|
|
7849
8497
|
}), P$1()]
|
|
7850
8498
|
});
|
|
7851
|
-
if (
|
|
8499
|
+
if (middlewareData.hide?.referenceHidden) {
|
|
7852
8500
|
this.open = false;
|
|
7853
8501
|
return;
|
|
7854
8502
|
}
|
|
7855
|
-
|
|
8503
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7856
8504
|
position: "fixed",
|
|
7857
8505
|
top: "0",
|
|
7858
8506
|
left: "0",
|
|
@@ -7861,37 +8509,54 @@ class Menu extends FASTElement {
|
|
|
7861
8509
|
});
|
|
7862
8510
|
}
|
|
7863
8511
|
}
|
|
8512
|
+
/**
|
|
8513
|
+
* Adds event listeners.
|
|
8514
|
+
* Adds click and keydown event listeners to the trigger and a click event listener to the document.
|
|
8515
|
+
* If 'openOnHover' is true, adds a 'mouseover' event listener to the trigger.
|
|
8516
|
+
* @public
|
|
8517
|
+
*/
|
|
7864
8518
|
addListeners() {
|
|
7865
|
-
var _a, _b, _c, _d, _e;
|
|
7866
8519
|
document.addEventListener("click", this.handleDocumentClick);
|
|
7867
|
-
|
|
8520
|
+
this._trigger?.addEventListener("keydown", this.handleTriggerKeydown);
|
|
7868
8521
|
if (!this.persistOnItemClick) {
|
|
7869
|
-
|
|
8522
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7870
8523
|
}
|
|
7871
8524
|
if (this.openOnHover) {
|
|
7872
|
-
|
|
8525
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7873
8526
|
} else if (this.openOnContext) {
|
|
7874
|
-
|
|
8527
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7875
8528
|
} else {
|
|
7876
|
-
|
|
8529
|
+
this._trigger?.addEventListener("click", this.toggleMenu);
|
|
7877
8530
|
}
|
|
7878
8531
|
}
|
|
8532
|
+
/**
|
|
8533
|
+
* Removes event listeners.
|
|
8534
|
+
* Removes click and keydown event listeners from the trigger and a click event listener from the document.
|
|
8535
|
+
* Also removes 'mouseover' event listeners from the trigger.
|
|
8536
|
+
* @private
|
|
8537
|
+
*/
|
|
7879
8538
|
removeListeners() {
|
|
7880
|
-
var _a, _b, _c, _d, _e;
|
|
7881
8539
|
document.removeEventListener("click", this.handleDocumentClick);
|
|
7882
|
-
|
|
8540
|
+
this._trigger?.removeEventListener("keydown", this.handleTriggerKeydown);
|
|
7883
8541
|
if (!this.persistOnItemClick) {
|
|
7884
|
-
|
|
8542
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7885
8543
|
}
|
|
7886
8544
|
if (this.openOnHover) {
|
|
7887
|
-
|
|
8545
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7888
8546
|
}
|
|
7889
8547
|
if (this.openOnContext) {
|
|
7890
|
-
|
|
8548
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7891
8549
|
} else {
|
|
7892
|
-
|
|
8550
|
+
this._trigger?.removeEventListener("click", this.toggleMenu);
|
|
7893
8551
|
}
|
|
7894
8552
|
}
|
|
8553
|
+
/**
|
|
8554
|
+
* Handles keyboard interaction for the menu.
|
|
8555
|
+
* Closes the menu and focuses on the trigger when the Escape key is pressed.
|
|
8556
|
+
* Closes the menu when the Tab key is pressed.
|
|
8557
|
+
* @public
|
|
8558
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8559
|
+
*/
|
|
7895
8560
|
handleMenuKeydown(e) {
|
|
7896
8561
|
if (e.defaultPrevented) {
|
|
7897
8562
|
return;
|
|
@@ -7966,7 +8631,8 @@ const MenuButtonShape = ButtonShape;
|
|
|
7966
8631
|
const MenuButtonSize = ButtonSize;
|
|
7967
8632
|
|
|
7968
8633
|
const template$e = buttonTemplate$1({
|
|
7969
|
-
end: html.partial(
|
|
8634
|
+
end: html.partial( /* html */
|
|
8635
|
+
`
|
|
7970
8636
|
<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
7971
8637
|
<path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path>
|
|
7972
8638
|
</svg>
|
|
@@ -7980,8 +8646,17 @@ const definition$e = MenuButton.compose({
|
|
|
7980
8646
|
});
|
|
7981
8647
|
|
|
7982
8648
|
const MenuItemRole = {
|
|
8649
|
+
/**
|
|
8650
|
+
* The menu item has a "menuitem" role
|
|
8651
|
+
*/
|
|
7983
8652
|
menuitem: "menuitem",
|
|
8653
|
+
/**
|
|
8654
|
+
* The menu item has a "menuitemcheckbox" role
|
|
8655
|
+
*/
|
|
7984
8656
|
menuitemcheckbox: "menuitemcheckbox",
|
|
8657
|
+
/**
|
|
8658
|
+
* The menu item has a "menuitemradio" role
|
|
8659
|
+
*/
|
|
7985
8660
|
menuitemradio: "menuitemradio"
|
|
7986
8661
|
};
|
|
7987
8662
|
const roleForMenuItem = {
|
|
@@ -8004,6 +8679,9 @@ class MenuItem extends FASTElement {
|
|
|
8004
8679
|
this.role = MenuItemRole.menuitem;
|
|
8005
8680
|
this.checked = false;
|
|
8006
8681
|
this.focusSubmenuOnLoad = false;
|
|
8682
|
+
/**
|
|
8683
|
+
* @internal
|
|
8684
|
+
*/
|
|
8007
8685
|
this.handleMenuItemKeyDown = e => {
|
|
8008
8686
|
if (e.defaultPrevented) {
|
|
8009
8687
|
return false;
|
|
@@ -8030,6 +8708,9 @@ class MenuItem extends FASTElement {
|
|
|
8030
8708
|
}
|
|
8031
8709
|
return true;
|
|
8032
8710
|
};
|
|
8711
|
+
/**
|
|
8712
|
+
* @internal
|
|
8713
|
+
*/
|
|
8033
8714
|
this.handleMenuItemClick = e => {
|
|
8034
8715
|
if (e.defaultPrevented || this.disabled) {
|
|
8035
8716
|
return false;
|
|
@@ -8037,6 +8718,9 @@ class MenuItem extends FASTElement {
|
|
|
8037
8718
|
this.invoke();
|
|
8038
8719
|
return false;
|
|
8039
8720
|
};
|
|
8721
|
+
/**
|
|
8722
|
+
* @internal
|
|
8723
|
+
*/
|
|
8040
8724
|
this.submenuLoaded = () => {
|
|
8041
8725
|
if (!this.focusSubmenuOnLoad) {
|
|
8042
8726
|
return;
|
|
@@ -8047,6 +8731,9 @@ class MenuItem extends FASTElement {
|
|
|
8047
8731
|
this.setAttribute("tabindex", "-1");
|
|
8048
8732
|
}
|
|
8049
8733
|
};
|
|
8734
|
+
/**
|
|
8735
|
+
* @internal
|
|
8736
|
+
*/
|
|
8050
8737
|
this.handleMouseOver = e => {
|
|
8051
8738
|
if (this.disabled || !this.hasSubmenu || this.expanded) {
|
|
8052
8739
|
return false;
|
|
@@ -8054,6 +8741,9 @@ class MenuItem extends FASTElement {
|
|
|
8054
8741
|
this.expanded = true;
|
|
8055
8742
|
return false;
|
|
8056
8743
|
};
|
|
8744
|
+
/**
|
|
8745
|
+
* @internal
|
|
8746
|
+
*/
|
|
8057
8747
|
this.handleMouseOut = e => {
|
|
8058
8748
|
if (!this.expanded || this.contains(document.activeElement)) {
|
|
8059
8749
|
return false;
|
|
@@ -8061,10 +8751,16 @@ class MenuItem extends FASTElement {
|
|
|
8061
8751
|
this.expanded = false;
|
|
8062
8752
|
return false;
|
|
8063
8753
|
};
|
|
8754
|
+
/**
|
|
8755
|
+
* @internal
|
|
8756
|
+
*/
|
|
8064
8757
|
this.closeSubMenu = () => {
|
|
8065
8758
|
this.expanded = false;
|
|
8066
8759
|
this.focus();
|
|
8067
8760
|
};
|
|
8761
|
+
/**
|
|
8762
|
+
* @internal
|
|
8763
|
+
*/
|
|
8068
8764
|
this.expandAndFocus = () => {
|
|
8069
8765
|
if (!this.hasSubmenu) {
|
|
8070
8766
|
return;
|
|
@@ -8072,6 +8768,9 @@ class MenuItem extends FASTElement {
|
|
|
8072
8768
|
this.focusSubmenuOnLoad = true;
|
|
8073
8769
|
this.expanded = true;
|
|
8074
8770
|
};
|
|
8771
|
+
/**
|
|
8772
|
+
* @internal
|
|
8773
|
+
*/
|
|
8075
8774
|
this.invoke = () => {
|
|
8076
8775
|
if (this.disabled) {
|
|
8077
8776
|
return;
|
|
@@ -8110,23 +8809,37 @@ class MenuItem extends FASTElement {
|
|
|
8110
8809
|
this.$emit("change");
|
|
8111
8810
|
}
|
|
8112
8811
|
}
|
|
8812
|
+
/**
|
|
8813
|
+
* @internal
|
|
8814
|
+
*/
|
|
8113
8815
|
get hasSubmenu() {
|
|
8114
8816
|
return !!this.submenu;
|
|
8115
8817
|
}
|
|
8818
|
+
/**
|
|
8819
|
+
* Sets the submenu and updates its position.
|
|
8820
|
+
*
|
|
8821
|
+
* @internal
|
|
8822
|
+
*/
|
|
8116
8823
|
slottedSubmenuChanged(prev, next) {
|
|
8117
8824
|
if (next.length) {
|
|
8118
8825
|
this.submenu = next[0];
|
|
8119
8826
|
this.updateSubmenu();
|
|
8120
8827
|
}
|
|
8121
8828
|
}
|
|
8829
|
+
/**
|
|
8830
|
+
* @internal
|
|
8831
|
+
*/
|
|
8122
8832
|
disconnectedCallback() {
|
|
8123
|
-
|
|
8124
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8833
|
+
this.cleanup?.();
|
|
8125
8834
|
super.disconnectedCallback();
|
|
8126
8835
|
}
|
|
8836
|
+
/**
|
|
8837
|
+
* Calculate and apply submenu positioning.
|
|
8838
|
+
*
|
|
8839
|
+
* @public
|
|
8840
|
+
*/
|
|
8127
8841
|
updateSubmenu() {
|
|
8128
|
-
|
|
8129
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8842
|
+
this.cleanup?.();
|
|
8130
8843
|
if (!this.submenu || !this.expanded) {
|
|
8131
8844
|
return;
|
|
8132
8845
|
}
|
|
@@ -8212,14 +8925,25 @@ var __decorateClass$c = (decorators, target, key, kind) => {
|
|
|
8212
8925
|
if (kind && result) __defProp$c(target, key, result);
|
|
8213
8926
|
return result;
|
|
8214
8927
|
};
|
|
8215
|
-
const _MenuList = class extends FASTElement {
|
|
8928
|
+
const _MenuList = class _MenuList extends FASTElement {
|
|
8216
8929
|
constructor() {
|
|
8217
8930
|
super(...arguments);
|
|
8218
8931
|
this.expandedItem = null;
|
|
8932
|
+
/**
|
|
8933
|
+
* The index of the focusable element in the items array
|
|
8934
|
+
* defaults to -1
|
|
8935
|
+
*/
|
|
8219
8936
|
this.focusIndex = -1;
|
|
8937
|
+
/**
|
|
8938
|
+
* @internal
|
|
8939
|
+
*/
|
|
8220
8940
|
this.isNestedMenu = () => {
|
|
8221
8941
|
return this.parentElement !== null && isHTMLElement(this.parentElement) && this.parentElement.getAttribute("role") === "menuitem";
|
|
8222
8942
|
};
|
|
8943
|
+
/**
|
|
8944
|
+
* if focus is moving out of the menu, reset to a stable initial state
|
|
8945
|
+
* @internal
|
|
8946
|
+
*/
|
|
8223
8947
|
this.handleFocusOut = e => {
|
|
8224
8948
|
if (!this.contains(e.relatedTarget) && this.menuItems !== void 0) {
|
|
8225
8949
|
this.collapseExpandedItem();
|
|
@@ -8257,6 +8981,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8257
8981
|
changedItem.setAttribute("tabindex", "0");
|
|
8258
8982
|
}
|
|
8259
8983
|
};
|
|
8984
|
+
/**
|
|
8985
|
+
* handle change from child element
|
|
8986
|
+
*/
|
|
8260
8987
|
this.changeHandler = e => {
|
|
8261
8988
|
if (this.menuItems === void 0) {
|
|
8262
8989
|
return;
|
|
@@ -8290,9 +9017,15 @@ const _MenuList = class extends FASTElement {
|
|
|
8290
9017
|
}
|
|
8291
9018
|
}
|
|
8292
9019
|
};
|
|
9020
|
+
/**
|
|
9021
|
+
* check if the item is a menu item
|
|
9022
|
+
*/
|
|
8293
9023
|
this.isMenuItemElement = el => {
|
|
8294
9024
|
return el instanceof MenuItem || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
|
|
8295
9025
|
};
|
|
9026
|
+
/**
|
|
9027
|
+
* check if the item is focusable
|
|
9028
|
+
*/
|
|
8296
9029
|
this.isFocusableElement = el => {
|
|
8297
9030
|
return this.isMenuItemElement(el);
|
|
8298
9031
|
};
|
|
@@ -8302,6 +9035,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8302
9035
|
this.setItems();
|
|
8303
9036
|
}
|
|
8304
9037
|
}
|
|
9038
|
+
/**
|
|
9039
|
+
* @internal
|
|
9040
|
+
*/
|
|
8305
9041
|
connectedCallback() {
|
|
8306
9042
|
super.connectedCallback();
|
|
8307
9043
|
Updates.enqueue(() => {
|
|
@@ -8309,21 +9045,37 @@ const _MenuList = class extends FASTElement {
|
|
|
8309
9045
|
});
|
|
8310
9046
|
this.addEventListener("change", this.changeHandler);
|
|
8311
9047
|
}
|
|
9048
|
+
/**
|
|
9049
|
+
* @internal
|
|
9050
|
+
*/
|
|
8312
9051
|
disconnectedCallback() {
|
|
8313
9052
|
super.disconnectedCallback();
|
|
8314
9053
|
this.removeItemListeners();
|
|
8315
9054
|
this.menuItems = void 0;
|
|
8316
9055
|
this.removeEventListener("change", this.changeHandler);
|
|
8317
9056
|
}
|
|
9057
|
+
/**
|
|
9058
|
+
* Focuses the first item in the menu.
|
|
9059
|
+
*
|
|
9060
|
+
* @public
|
|
9061
|
+
*/
|
|
8318
9062
|
focus() {
|
|
8319
9063
|
this.setFocus(0, 1);
|
|
8320
9064
|
}
|
|
9065
|
+
/**
|
|
9066
|
+
* Collapses any expanded menu items.
|
|
9067
|
+
*
|
|
9068
|
+
* @public
|
|
9069
|
+
*/
|
|
8321
9070
|
collapseExpandedItem() {
|
|
8322
9071
|
if (this.expandedItem !== null) {
|
|
8323
9072
|
this.expandedItem.expanded = false;
|
|
8324
9073
|
this.expandedItem = null;
|
|
8325
9074
|
}
|
|
8326
9075
|
}
|
|
9076
|
+
/**
|
|
9077
|
+
* @internal
|
|
9078
|
+
*/
|
|
8327
9079
|
handleMenuKeyDown(e) {
|
|
8328
9080
|
if (e.defaultPrevented || this.menuItems === void 0) {
|
|
8329
9081
|
return;
|
|
@@ -8361,7 +9113,6 @@ const _MenuList = class extends FASTElement {
|
|
|
8361
9113
|
return startSlot ? 1 : 0;
|
|
8362
9114
|
}
|
|
8363
9115
|
setItems() {
|
|
8364
|
-
var _a;
|
|
8365
9116
|
const children = Array.from(this.children);
|
|
8366
9117
|
this.removeItemListeners(children);
|
|
8367
9118
|
children.forEach(child => Observable.getNotifier(child).subscribe(this, "hidden"));
|
|
@@ -8376,9 +9127,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8376
9127
|
item.addEventListener("expanded-change", this.handleExpandedChanged);
|
|
8377
9128
|
item.addEventListener("focus", this.handleItemFocus);
|
|
8378
9129
|
});
|
|
8379
|
-
const filteredMenuListItems =
|
|
8380
|
-
filteredMenuListItems
|
|
8381
|
-
const indent = filteredMenuListItems
|
|
9130
|
+
const filteredMenuListItems = this.menuItems?.filter(this.isMenuItemElement);
|
|
9131
|
+
filteredMenuListItems?.forEach((item, index) => {
|
|
9132
|
+
const indent = filteredMenuListItems?.reduce((accum, current) => {
|
|
8382
9133
|
const elementValue = _MenuList.elementIndent(current);
|
|
8383
9134
|
return Math.max(accum, elementValue);
|
|
8384
9135
|
}, 0);
|
|
@@ -8411,9 +9162,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8411
9162
|
}
|
|
8412
9163
|
}
|
|
8413
9164
|
};
|
|
9165
|
+
_MenuList.focusableElementRoles = MenuItemRole;
|
|
9166
|
+
__decorateClass$c([observable], _MenuList.prototype, "items", 2);
|
|
8414
9167
|
let MenuList = _MenuList;
|
|
8415
|
-
MenuList.focusableElementRoles = MenuItemRole;
|
|
8416
|
-
__decorateClass$c([observable], MenuList.prototype, "items", 2);
|
|
8417
9168
|
|
|
8418
9169
|
function menuTemplate() {
|
|
8419
9170
|
return html`<template slot="${x => x.slot ? x.slot : x.isNestedMenu() ? "submenu" : void 0}" role="menu" @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}" @focusout="${(x, c) => x.handleFocusOut(c.event)}"><slot ${slotted("items")}></slot></template>`;
|
|
@@ -8457,6 +9208,9 @@ class BaseProgress extends FASTElement {
|
|
|
8457
9208
|
this.updatePercentComplete();
|
|
8458
9209
|
}
|
|
8459
9210
|
}
|
|
9211
|
+
/**
|
|
9212
|
+
* @internal
|
|
9213
|
+
*/
|
|
8460
9214
|
connectedCallback() {
|
|
8461
9215
|
super.connectedCallback();
|
|
8462
9216
|
this.updatePercentComplete();
|
|
@@ -8563,26 +9317,36 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
|
|
|
8563
9317
|
class Radio extends FormAssociatedRadio {
|
|
8564
9318
|
constructor() {
|
|
8565
9319
|
super();
|
|
9320
|
+
/**
|
|
9321
|
+
* The element's value to be included in form submission when checked.
|
|
9322
|
+
* Default to "on" to reach parity with input[type="radio"]
|
|
9323
|
+
*
|
|
9324
|
+
* @internal
|
|
9325
|
+
*/
|
|
8566
9326
|
this.initialValue = "on";
|
|
8567
9327
|
this.proxy.setAttribute("type", "radio");
|
|
8568
9328
|
}
|
|
8569
9329
|
get radioGroup() {
|
|
8570
9330
|
return this.closest("[role=radiogroup]");
|
|
8571
9331
|
}
|
|
9332
|
+
/**
|
|
9333
|
+
* @internal
|
|
9334
|
+
*/
|
|
8572
9335
|
defaultCheckedChanged() {
|
|
8573
|
-
var _a;
|
|
8574
9336
|
if (this.$fastController.isConnected && !this.dirtyChecked) {
|
|
8575
9337
|
if (!this.isInsideRadioGroup()) {
|
|
8576
|
-
this.checked =
|
|
9338
|
+
this.checked = this.defaultChecked ?? false;
|
|
8577
9339
|
this.dirtyChecked = false;
|
|
8578
9340
|
}
|
|
8579
9341
|
}
|
|
8580
9342
|
}
|
|
9343
|
+
/**
|
|
9344
|
+
* @internal
|
|
9345
|
+
*/
|
|
8581
9346
|
connectedCallback() {
|
|
8582
|
-
var _a, _b;
|
|
8583
9347
|
super.connectedCallback();
|
|
8584
9348
|
this.validate();
|
|
8585
|
-
if (
|
|
9349
|
+
if (this.parentElement?.getAttribute("role") !== "radiogroup" && this.getAttribute("tabindex") === null) {
|
|
8586
9350
|
if (!this.disabled) {
|
|
8587
9351
|
this.setAttribute("tabindex", "0");
|
|
8588
9352
|
}
|
|
@@ -8590,7 +9354,7 @@ class Radio extends FormAssociatedRadio {
|
|
|
8590
9354
|
if (this.checkedAttribute) {
|
|
8591
9355
|
if (!this.dirtyChecked) {
|
|
8592
9356
|
if (!this.isInsideRadioGroup()) {
|
|
8593
|
-
this.checked =
|
|
9357
|
+
this.checked = this.defaultChecked ?? false;
|
|
8594
9358
|
this.dirtyChecked = false;
|
|
8595
9359
|
}
|
|
8596
9360
|
}
|
|
@@ -8599,11 +9363,14 @@ class Radio extends FormAssociatedRadio {
|
|
|
8599
9363
|
isInsideRadioGroup() {
|
|
8600
9364
|
return this.radioGroup !== null;
|
|
8601
9365
|
}
|
|
9366
|
+
/**
|
|
9367
|
+
* Handles key presses on the radio.
|
|
9368
|
+
* @beta
|
|
9369
|
+
*/
|
|
8602
9370
|
keypressHandler(e) {
|
|
8603
|
-
var _a;
|
|
8604
9371
|
switch (e.key) {
|
|
8605
9372
|
case keySpace:
|
|
8606
|
-
if (!this.checked && !
|
|
9373
|
+
if (!this.checked && !this.radioGroup?.readOnly) {
|
|
8607
9374
|
this.checked = true;
|
|
8608
9375
|
}
|
|
8609
9376
|
return;
|
|
@@ -8621,10 +9388,7 @@ const styles$a = css`
|
|
|
8621
9388
|
:host .control{border-color:InactiveBorder}:host([aria-checked='true']) .checked-indicator,:host([aria-checked='true']:active) .checked-indicator,:host([aria-checked='true']:hover) .checked-indicator{background-color:Highlight;border-color:ActiveBorder}`));
|
|
8622
9389
|
|
|
8623
9390
|
function radioTemplate(options = {}) {
|
|
8624
|
-
return html`<template role="radio" aria-checked="${x => x.checked}" aria-required="${x => x.required}" aria-disabled="${x => x.disabled}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><div part="control" class="control"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></div><label part="label" class="${x => {
|
|
8625
|
-
var _a;
|
|
8626
|
-
return ["label", !((_a = x.defaultSlottedNodes) == null ? void 0 : _a.length) && "label__hidden"].filter(Boolean).join(" ");
|
|
8627
|
-
}}"><slot ${slotted({
|
|
9391
|
+
return html`<template role="radio" aria-checked="${x => x.checked}" aria-required="${x => x.required}" aria-disabled="${x => x.disabled}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><div part="control" class="control"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></div><label part="label" class="${x => ["label", !x.defaultSlottedNodes?.length && "label__hidden"].filter(Boolean).join(" ")}"><slot ${slotted({
|
|
8628
9392
|
property: "defaultSlottedNodes",
|
|
8629
9393
|
filter: whitespaceFilter
|
|
8630
9394
|
})}></slot></label></template>`;
|
|
@@ -8683,13 +9447,14 @@ class RadioGroup extends FASTElement {
|
|
|
8683
9447
|
radio.focus();
|
|
8684
9448
|
};
|
|
8685
9449
|
this.moveRightOffGroup = () => {
|
|
8686
|
-
|
|
8687
|
-
(_a = this.nextElementSibling) == null ? void 0 : _a.focus();
|
|
9450
|
+
this.nextElementSibling?.focus();
|
|
8688
9451
|
};
|
|
8689
9452
|
this.moveLeftOffGroup = () => {
|
|
8690
|
-
|
|
8691
|
-
(_a = this.previousElementSibling) == null ? void 0 : _a.focus();
|
|
9453
|
+
this.previousElementSibling?.focus();
|
|
8692
9454
|
};
|
|
9455
|
+
/**
|
|
9456
|
+
* @internal
|
|
9457
|
+
*/
|
|
8693
9458
|
this.focusOutHandler = e => {
|
|
8694
9459
|
const group = this.slottedRadioButtons;
|
|
8695
9460
|
const radio = e.target;
|
|
@@ -8718,6 +9483,9 @@ class RadioGroup extends FASTElement {
|
|
|
8718
9483
|
}
|
|
8719
9484
|
return true;
|
|
8720
9485
|
};
|
|
9486
|
+
/**
|
|
9487
|
+
* @internal
|
|
9488
|
+
*/
|
|
8721
9489
|
this.handleDisabledClick = e => {
|
|
8722
9490
|
if (this.disabled) {
|
|
8723
9491
|
e.preventDefault();
|
|
@@ -8725,6 +9493,9 @@ class RadioGroup extends FASTElement {
|
|
|
8725
9493
|
}
|
|
8726
9494
|
return true;
|
|
8727
9495
|
};
|
|
9496
|
+
/**
|
|
9497
|
+
* @internal
|
|
9498
|
+
*/
|
|
8728
9499
|
this.clickHandler = e => {
|
|
8729
9500
|
if (this.disabled) {
|
|
8730
9501
|
return;
|
|
@@ -8802,6 +9573,12 @@ class RadioGroup extends FASTElement {
|
|
|
8802
9573
|
}
|
|
8803
9574
|
}
|
|
8804
9575
|
};
|
|
9576
|
+
/**
|
|
9577
|
+
* keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar
|
|
9578
|
+
* navigation is different when there is an ancestor with role='toolbar'
|
|
9579
|
+
*
|
|
9580
|
+
* @internal
|
|
9581
|
+
*/
|
|
8805
9582
|
this.keydownHandler = e => {
|
|
8806
9583
|
const key = e.key;
|
|
8807
9584
|
if (key in ArrowKeys && (this.isInsideFoundationToolbar || this.disabled)) {
|
|
@@ -8869,13 +9646,14 @@ class RadioGroup extends FASTElement {
|
|
|
8869
9646
|
return this.closest('[role="toolbar"]');
|
|
8870
9647
|
}
|
|
8871
9648
|
get isInsideToolbar() {
|
|
8872
|
-
|
|
8873
|
-
return (_a = this.parentToolbar) != null ? _a : false;
|
|
9649
|
+
return this.parentToolbar ?? false;
|
|
8874
9650
|
}
|
|
8875
9651
|
get isInsideFoundationToolbar() {
|
|
8876
|
-
|
|
8877
|
-
return !!((_a = this.parentToolbar) == null ? void 0 : _a.hasOwnProperty("$fastController"));
|
|
9652
|
+
return !!this.parentToolbar?.hasOwnProperty("$fastController");
|
|
8878
9653
|
}
|
|
9654
|
+
/**
|
|
9655
|
+
* @internal
|
|
9656
|
+
*/
|
|
8879
9657
|
connectedCallback() {
|
|
8880
9658
|
super.connectedCallback();
|
|
8881
9659
|
this.direction = getDirection(this);
|
|
@@ -9055,6 +9833,7 @@ class Slider extends FormAssociatedSlider {
|
|
|
9055
9833
|
this.trackWidth = 1;
|
|
9056
9834
|
}
|
|
9057
9835
|
};
|
|
9836
|
+
//Remove
|
|
9058
9837
|
this.setupListeners = (remove = false) => {
|
|
9059
9838
|
this.addEventListener("keydown", this.keypressHandler);
|
|
9060
9839
|
this.addEventListener("mousedown", this.handleMouseDown);
|
|
@@ -9063,7 +9842,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9063
9842
|
this.removeEventListener("mousedown", this.handleMouseDown);
|
|
9064
9843
|
}
|
|
9065
9844
|
};
|
|
9845
|
+
/**
|
|
9846
|
+
* @internal
|
|
9847
|
+
*/
|
|
9066
9848
|
this.initialValue = "";
|
|
9849
|
+
/**
|
|
9850
|
+
* Handle mouse moves during a thumb drag operation
|
|
9851
|
+
* If the event handler is null it removes the events
|
|
9852
|
+
*/
|
|
9067
9853
|
this.handleThumbMouseDown = event => {
|
|
9068
9854
|
const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
|
|
9069
9855
|
windowFn("mouseup", this.handleWindowMouseUp);
|
|
@@ -9076,6 +9862,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9076
9862
|
windowFn("touchend", this.handleWindowMouseUp);
|
|
9077
9863
|
this.isDragging = event !== null;
|
|
9078
9864
|
};
|
|
9865
|
+
/**
|
|
9866
|
+
* Handle mouse moves during a thumb drag operation
|
|
9867
|
+
*/
|
|
9079
9868
|
this.handleMouseMove = e => {
|
|
9080
9869
|
if (this.readOnly || this.disabled || e.defaultPrevented) {
|
|
9081
9870
|
return;
|
|
@@ -9084,6 +9873,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9084
9873
|
const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
|
|
9085
9874
|
this.value = `${this.calculateNewValue(eventValue)}`;
|
|
9086
9875
|
};
|
|
9876
|
+
/**
|
|
9877
|
+
* Handle a window mouse up during a drag operation
|
|
9878
|
+
*/
|
|
9087
9879
|
this.handleWindowMouseUp = event => {
|
|
9088
9880
|
this.stopDragging();
|
|
9089
9881
|
};
|
|
@@ -9092,6 +9884,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9092
9884
|
this.handleMouseDown(null);
|
|
9093
9885
|
this.handleThumbMouseDown(null);
|
|
9094
9886
|
};
|
|
9887
|
+
/**
|
|
9888
|
+
*
|
|
9889
|
+
* @param e - MouseEvent or null. If there is no event handler it will remove the events
|
|
9890
|
+
*/
|
|
9095
9891
|
this.handleMouseDown = e => {
|
|
9096
9892
|
if (e === null || !this.disabled && !this.readOnly) {
|
|
9097
9893
|
const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
|
|
@@ -9116,6 +9912,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9116
9912
|
break;
|
|
9117
9913
|
}
|
|
9118
9914
|
}
|
|
9915
|
+
/**
|
|
9916
|
+
* Handles changes to step styling based on the step value
|
|
9917
|
+
* NOTE: This function is not a changed callback, stepStyles is not observable
|
|
9918
|
+
*/
|
|
9119
9919
|
handleStepStyles() {
|
|
9120
9920
|
if (this.step) {
|
|
9121
9921
|
const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
|
|
@@ -9129,17 +9929,26 @@ class Slider extends FormAssociatedSlider {
|
|
|
9129
9929
|
this.$fastController.removeStyles(this.stepStyles);
|
|
9130
9930
|
}
|
|
9131
9931
|
}
|
|
9932
|
+
// Map to proxy element
|
|
9132
9933
|
readOnlyChanged() {
|
|
9133
9934
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9134
9935
|
this.proxy.readOnly = this.readOnly;
|
|
9135
9936
|
}
|
|
9136
9937
|
}
|
|
9938
|
+
/**
|
|
9939
|
+
* The value property, typed as a number.
|
|
9940
|
+
*
|
|
9941
|
+
* @public
|
|
9942
|
+
*/
|
|
9137
9943
|
get valueAsNumber() {
|
|
9138
9944
|
return parseFloat(super.value);
|
|
9139
9945
|
}
|
|
9140
9946
|
set valueAsNumber(next) {
|
|
9141
9947
|
this.value = next.toString();
|
|
9142
9948
|
}
|
|
9949
|
+
/**
|
|
9950
|
+
* @internal
|
|
9951
|
+
*/
|
|
9143
9952
|
valueChanged(previous, next) {
|
|
9144
9953
|
if (this.$fastController.isConnected) {
|
|
9145
9954
|
const nextAsNumber = parseFloat(next);
|
|
@@ -9153,12 +9962,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9153
9962
|
this.$emit("change");
|
|
9154
9963
|
}
|
|
9155
9964
|
}
|
|
9965
|
+
// Map to proxy element.
|
|
9156
9966
|
minChanged() {
|
|
9157
9967
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9158
9968
|
this.proxy.min = `${this.min}`;
|
|
9159
9969
|
}
|
|
9160
9970
|
this.validate();
|
|
9161
9971
|
}
|
|
9972
|
+
// Map to proxy element.
|
|
9162
9973
|
maxChanged() {
|
|
9163
9974
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9164
9975
|
this.proxy.max = `${this.max}`;
|
|
@@ -9177,6 +9988,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9177
9988
|
this.setThumbPositionForOrientation(this.direction);
|
|
9178
9989
|
}
|
|
9179
9990
|
}
|
|
9991
|
+
/**
|
|
9992
|
+
* @internal
|
|
9993
|
+
*/
|
|
9180
9994
|
connectedCallback() {
|
|
9181
9995
|
super.connectedCallback();
|
|
9182
9996
|
this.proxy.setAttribute("type", "range");
|
|
@@ -9191,6 +10005,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9191
10005
|
Observable.getNotifier(this).subscribe(this, "step");
|
|
9192
10006
|
this.handleStepStyles();
|
|
9193
10007
|
}
|
|
10008
|
+
/**
|
|
10009
|
+
* @internal
|
|
10010
|
+
*/
|
|
9194
10011
|
disconnectedCallback() {
|
|
9195
10012
|
super.disconnectedCallback();
|
|
9196
10013
|
this.setupListeners(true);
|
|
@@ -9198,21 +10015,41 @@ class Slider extends FormAssociatedSlider {
|
|
|
9198
10015
|
Observable.getNotifier(this).unsubscribe(this, "min");
|
|
9199
10016
|
Observable.getNotifier(this).unsubscribe(this, "step");
|
|
9200
10017
|
}
|
|
10018
|
+
/**
|
|
10019
|
+
* Increment the value by the step
|
|
10020
|
+
*
|
|
10021
|
+
* @public
|
|
10022
|
+
*/
|
|
9201
10023
|
increment() {
|
|
9202
10024
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
|
|
9203
10025
|
const incrementedVal = this.convertToConstrainedValue(newVal);
|
|
9204
10026
|
const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
|
|
9205
10027
|
this.value = incrementedValString;
|
|
9206
10028
|
}
|
|
10029
|
+
/**
|
|
10030
|
+
* Decrement the value by the step
|
|
10031
|
+
*
|
|
10032
|
+
* @public
|
|
10033
|
+
*/
|
|
9207
10034
|
decrement() {
|
|
9208
10035
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
|
|
9209
10036
|
const decrementedVal = this.convertToConstrainedValue(newVal);
|
|
9210
10037
|
const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
|
|
9211
10038
|
this.value = decrementedValString;
|
|
9212
10039
|
}
|
|
10040
|
+
/**
|
|
10041
|
+
* Gets the actual step value for the slider
|
|
10042
|
+
*
|
|
10043
|
+
*/
|
|
9213
10044
|
get stepValue() {
|
|
9214
10045
|
return this.step === void 0 ? 1 : this.step;
|
|
9215
10046
|
}
|
|
10047
|
+
/**
|
|
10048
|
+
* Places the thumb based on the current value
|
|
10049
|
+
*
|
|
10050
|
+
* @public
|
|
10051
|
+
* @param direction - writing mode
|
|
10052
|
+
*/
|
|
9216
10053
|
setThumbPositionForOrientation(direction) {
|
|
9217
10054
|
const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
|
|
9218
10055
|
const percentage = (1 - newPct) * 100;
|
|
@@ -9222,6 +10059,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9222
10059
|
this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
|
|
9223
10060
|
}
|
|
9224
10061
|
}
|
|
10062
|
+
/**
|
|
10063
|
+
* Update the step multiplier used to ensure rounding errors from steps that
|
|
10064
|
+
* are not whole numbers
|
|
10065
|
+
*/
|
|
9225
10066
|
updateStepMultiplier() {
|
|
9226
10067
|
const stepString = this.stepValue + "";
|
|
9227
10068
|
const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
|
|
@@ -9242,6 +10083,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9242
10083
|
}
|
|
9243
10084
|
}
|
|
9244
10085
|
}
|
|
10086
|
+
/**
|
|
10087
|
+
* Calculate the new value based on the given raw pixel value.
|
|
10088
|
+
*
|
|
10089
|
+
* @param rawValue - the value to be converted to a constrained value
|
|
10090
|
+
* @returns the constrained value
|
|
10091
|
+
*
|
|
10092
|
+
* @internal
|
|
10093
|
+
*/
|
|
9245
10094
|
calculateNewValue(rawValue) {
|
|
9246
10095
|
this.setupTrackConstraints();
|
|
9247
10096
|
const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
|
|
@@ -9304,8 +10153,6 @@ const definition$8 = Slider.compose({
|
|
|
9304
10153
|
styles: styles$8
|
|
9305
10154
|
});
|
|
9306
10155
|
|
|
9307
|
-
class ProgressRing extends BaseProgress {}
|
|
9308
|
-
|
|
9309
10156
|
var __defProp$6 = Object.defineProperty;
|
|
9310
10157
|
var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
|
|
9311
10158
|
var __decorateClass$6 = (decorators, target, key, kind) => {
|
|
@@ -9314,7 +10161,7 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
|
|
|
9314
10161
|
if (kind && result) __defProp$6(target, key, result);
|
|
9315
10162
|
return result;
|
|
9316
10163
|
};
|
|
9317
|
-
class Spinner extends
|
|
10164
|
+
class Spinner extends BaseProgress {}
|
|
9318
10165
|
__decorateClass$6([attr], Spinner.prototype, "size", 2);
|
|
9319
10166
|
__decorateClass$6([attr], Spinner.prototype, "appearance", 2);
|
|
9320
10167
|
|
|
@@ -9387,7 +10234,16 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
|
|
|
9387
10234
|
class Switch extends FormAssociatedSwitch {
|
|
9388
10235
|
constructor() {
|
|
9389
10236
|
super();
|
|
10237
|
+
/**
|
|
10238
|
+
* The element's value to be included in form submission when checked.
|
|
10239
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
10240
|
+
*
|
|
10241
|
+
* @internal
|
|
10242
|
+
*/
|
|
9390
10243
|
this.initialValue = "on";
|
|
10244
|
+
/**
|
|
10245
|
+
* @internal
|
|
10246
|
+
*/
|
|
9391
10247
|
this.keypressHandler = e => {
|
|
9392
10248
|
if (this.readOnly) {
|
|
9393
10249
|
return;
|
|
@@ -9399,6 +10255,9 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9399
10255
|
break;
|
|
9400
10256
|
}
|
|
9401
10257
|
};
|
|
10258
|
+
/**
|
|
10259
|
+
* @internal
|
|
10260
|
+
*/
|
|
9402
10261
|
this.clickHandler = e => {
|
|
9403
10262
|
if (!this.disabled && !this.readOnly) {
|
|
9404
10263
|
this.checked = !this.checked;
|
|
@@ -9406,6 +10265,7 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9406
10265
|
};
|
|
9407
10266
|
this.proxy.setAttribute("type", "checkbox");
|
|
9408
10267
|
}
|
|
10268
|
+
// Map to proxy element
|
|
9409
10269
|
readOnlyChanged() {
|
|
9410
10270
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9411
10271
|
this.proxy.readOnly = this.readOnly;
|
|
@@ -9446,6 +10306,65 @@ const definition$6 = Switch.compose({
|
|
|
9446
10306
|
styles: styles$6
|
|
9447
10307
|
});
|
|
9448
10308
|
|
|
10309
|
+
var __defProp$4 = Object.defineProperty;
|
|
10310
|
+
var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
|
|
10311
|
+
var __decorateClass$4 = (decorators, target, key, kind) => {
|
|
10312
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
|
|
10313
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
10314
|
+
if (kind && result) __defProp$4(target, key, result);
|
|
10315
|
+
return result;
|
|
10316
|
+
};
|
|
10317
|
+
class Tab extends FASTElement {
|
|
10318
|
+
connectedCallback() {
|
|
10319
|
+
super.connectedCallback();
|
|
10320
|
+
if (this.styles !== void 0) {
|
|
10321
|
+
this.$fastController.removeStyles(this.styles);
|
|
10322
|
+
}
|
|
10323
|
+
this.styles = css`
|
|
10324
|
+
:host{--textContent:'${this.textContent}'}`;
|
|
10325
|
+
this.$fastController.addStyles(this.styles);
|
|
10326
|
+
}
|
|
10327
|
+
}
|
|
10328
|
+
__decorateClass$4([attr({
|
|
10329
|
+
mode: "boolean"
|
|
10330
|
+
})], Tab.prototype, "disabled", 2);
|
|
10331
|
+
applyMixins(Tab, StartEnd);
|
|
10332
|
+
|
|
10333
|
+
function tabTemplate(options = {}) {
|
|
10334
|
+
return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
|
|
10335
|
+
}
|
|
10336
|
+
const template$5 = tabTemplate({});
|
|
10337
|
+
|
|
10338
|
+
const styles$5 = css`
|
|
10339
|
+
${display("inline-flex")}
|
|
10340
|
+
|
|
10341
|
+
:host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
10342
|
+
:host([aria-selected='true'])::after{background-color:Highlight}`));
|
|
10343
|
+
|
|
10344
|
+
const definition$5 = Tab.compose({
|
|
10345
|
+
name: `${FluentDesignSystem.prefix}-tab`,
|
|
10346
|
+
template: template$5,
|
|
10347
|
+
styles: styles$5
|
|
10348
|
+
});
|
|
10349
|
+
|
|
10350
|
+
class TabPanel extends FASTElement {}
|
|
10351
|
+
|
|
10352
|
+
function tabPanelTemplate() {
|
|
10353
|
+
return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
|
|
10354
|
+
}
|
|
10355
|
+
const template$4 = tabPanelTemplate();
|
|
10356
|
+
|
|
10357
|
+
const styles$4 = css`
|
|
10358
|
+
${display("block")}
|
|
10359
|
+
|
|
10360
|
+
:host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
|
|
10361
|
+
|
|
10362
|
+
const definition$4 = TabPanel.compose({
|
|
10363
|
+
name: `${FluentDesignSystem.prefix}-tab-panel`,
|
|
10364
|
+
template: template$4,
|
|
10365
|
+
styles: styles$4
|
|
10366
|
+
});
|
|
10367
|
+
|
|
9449
10368
|
const TabsAppearance = {
|
|
9450
10369
|
subtle: "subtle",
|
|
9451
10370
|
transparent: "transparent"
|
|
@@ -9457,12 +10376,12 @@ const TabsSize = {
|
|
|
9457
10376
|
};
|
|
9458
10377
|
const TabsOrientation = Orientation;
|
|
9459
10378
|
|
|
9460
|
-
var __defProp$
|
|
9461
|
-
var __getOwnPropDesc$
|
|
9462
|
-
var __decorateClass$
|
|
9463
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
10379
|
+
var __defProp$3 = Object.defineProperty;
|
|
10380
|
+
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
10381
|
+
var __decorateClass$3 = (decorators, target, key, kind) => {
|
|
10382
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
|
9464
10383
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
9465
|
-
if (kind && result) __defProp$
|
|
10384
|
+
if (kind && result) __defProp$3(target, key, result);
|
|
9466
10385
|
return result;
|
|
9467
10386
|
};
|
|
9468
10387
|
class BaseTabs extends FASTElement {
|
|
@@ -9527,17 +10446,26 @@ class BaseTabs extends FASTElement {
|
|
|
9527
10446
|
}
|
|
9528
10447
|
};
|
|
9529
10448
|
}
|
|
10449
|
+
/**
|
|
10450
|
+
* @internal
|
|
10451
|
+
*/
|
|
9530
10452
|
orientationChanged() {
|
|
9531
10453
|
if (this.$fastController.isConnected) {
|
|
9532
10454
|
this.setTabs();
|
|
9533
10455
|
}
|
|
9534
10456
|
}
|
|
10457
|
+
/**
|
|
10458
|
+
* @internal
|
|
10459
|
+
*/
|
|
9535
10460
|
activeidChanged(oldValue, newValue) {
|
|
9536
10461
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9537
10462
|
this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
|
|
9538
10463
|
this.setTabs();
|
|
9539
10464
|
}
|
|
9540
10465
|
}
|
|
10466
|
+
/**
|
|
10467
|
+
* @internal
|
|
10468
|
+
*/
|
|
9541
10469
|
tabsChanged() {
|
|
9542
10470
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9543
10471
|
this.tabIds = this.getTabIds();
|
|
@@ -9545,6 +10473,9 @@ class BaseTabs extends FASTElement {
|
|
|
9545
10473
|
this.setTabs();
|
|
9546
10474
|
}
|
|
9547
10475
|
}
|
|
10476
|
+
/**
|
|
10477
|
+
* @internal
|
|
10478
|
+
*/
|
|
9548
10479
|
tabpanelsChanged() {
|
|
9549
10480
|
if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
|
|
9550
10481
|
this.tabIds = this.getTabIds();
|
|
@@ -9560,6 +10491,11 @@ class BaseTabs extends FASTElement {
|
|
|
9560
10491
|
return 0;
|
|
9561
10492
|
}
|
|
9562
10493
|
}
|
|
10494
|
+
/**
|
|
10495
|
+
* Function that is invoked whenever the selected tab or the tab collection changes.
|
|
10496
|
+
*
|
|
10497
|
+
* @public
|
|
10498
|
+
*/
|
|
9563
10499
|
setTabs() {
|
|
9564
10500
|
const gridHorizontalProperty = "gridColumn";
|
|
9565
10501
|
const gridVerticalProperty = "gridRow";
|
|
@@ -9599,14 +10535,12 @@ class BaseTabs extends FASTElement {
|
|
|
9599
10535
|
}
|
|
9600
10536
|
getTabIds() {
|
|
9601
10537
|
return this.tabs.map(tab => {
|
|
9602
|
-
|
|
9603
|
-
return (_a = tab.getAttribute("id")) != null ? _a : `tab-${uniqueId()}`;
|
|
10538
|
+
return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
|
|
9604
10539
|
});
|
|
9605
10540
|
}
|
|
9606
10541
|
getTabPanelIds() {
|
|
9607
10542
|
return this.tabpanels.map(tabPanel => {
|
|
9608
|
-
|
|
9609
|
-
return (_a = tabPanel.getAttribute("id")) != null ? _a : `panel-${uniqueId()}`;
|
|
10543
|
+
return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
|
|
9610
10544
|
});
|
|
9611
10545
|
}
|
|
9612
10546
|
setComponent() {
|
|
@@ -9619,6 +10553,12 @@ class BaseTabs extends FASTElement {
|
|
|
9619
10553
|
isHorizontal() {
|
|
9620
10554
|
return this.orientation === TabsOrientation.horizontal;
|
|
9621
10555
|
}
|
|
10556
|
+
/**
|
|
10557
|
+
* The adjust method for FASTTabs
|
|
10558
|
+
* @public
|
|
10559
|
+
* @remarks
|
|
10560
|
+
* This method allows the active index to be adjusted by numerical increments
|
|
10561
|
+
*/
|
|
9622
10562
|
adjust(adjustment) {
|
|
9623
10563
|
const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
|
|
9624
10564
|
const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
|
|
@@ -9675,6 +10615,9 @@ class BaseTabs extends FASTElement {
|
|
|
9675
10615
|
focusTab() {
|
|
9676
10616
|
this.tabs[this.activeTabIndex].focus();
|
|
9677
10617
|
}
|
|
10618
|
+
/**
|
|
10619
|
+
* @internal
|
|
10620
|
+
*/
|
|
9678
10621
|
connectedCallback() {
|
|
9679
10622
|
super.connectedCallback();
|
|
9680
10623
|
this.tabIds = this.getTabIds();
|
|
@@ -9682,48 +10625,87 @@ class BaseTabs extends FASTElement {
|
|
|
9682
10625
|
this.activeTabIndex = this.getActiveIndex();
|
|
9683
10626
|
}
|
|
9684
10627
|
}
|
|
9685
|
-
__decorateClass$
|
|
9686
|
-
__decorateClass$
|
|
9687
|
-
__decorateClass$
|
|
9688
|
-
__decorateClass$
|
|
10628
|
+
__decorateClass$3([attr], BaseTabs.prototype, "orientation", 2);
|
|
10629
|
+
__decorateClass$3([attr], BaseTabs.prototype, "activeid", 2);
|
|
10630
|
+
__decorateClass$3([observable], BaseTabs.prototype, "tabs", 2);
|
|
10631
|
+
__decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
|
|
9689
10632
|
class Tabs extends BaseTabs {
|
|
9690
10633
|
constructor() {
|
|
9691
10634
|
super(...arguments);
|
|
10635
|
+
/**
|
|
10636
|
+
* activeTabData
|
|
10637
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10638
|
+
*/
|
|
9692
10639
|
this.activeTabData = {
|
|
9693
10640
|
x: 0,
|
|
9694
10641
|
y: 0,
|
|
9695
10642
|
height: 0,
|
|
9696
10643
|
width: 0
|
|
9697
10644
|
};
|
|
10645
|
+
/**
|
|
10646
|
+
* previousActiveTabData
|
|
10647
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10648
|
+
*/
|
|
9698
10649
|
this.previousActiveTabData = {
|
|
9699
10650
|
x: 0,
|
|
9700
10651
|
y: 0,
|
|
9701
10652
|
height: 0,
|
|
9702
10653
|
width: 0
|
|
9703
10654
|
};
|
|
10655
|
+
/**
|
|
10656
|
+
* activeTabOffset
|
|
10657
|
+
* Used to position the active indicator for animations of the active indicator on active tab changes.
|
|
10658
|
+
*/
|
|
9704
10659
|
this.activeTabOffset = 0;
|
|
10660
|
+
/**
|
|
10661
|
+
* activeTabScale
|
|
10662
|
+
* Used to scale the tab active indicator up or down as animations of the active indicator occur.
|
|
10663
|
+
*/
|
|
9705
10664
|
this.activeTabScale = 1;
|
|
9706
10665
|
this.appearance = TabsAppearance.transparent;
|
|
9707
10666
|
}
|
|
10667
|
+
/**
|
|
10668
|
+
* calculateAnimationProperties
|
|
10669
|
+
*
|
|
10670
|
+
* Recalculates the active tab offset and scale.
|
|
10671
|
+
* These values will be applied to css variables that control the tab active indicator position animations
|
|
10672
|
+
*/
|
|
9708
10673
|
calculateAnimationProperties(tab) {
|
|
9709
10674
|
this.activeTabOffset = this.getTabPosition(tab);
|
|
9710
10675
|
this.activeTabScale = this.getTabScale(tab);
|
|
9711
10676
|
}
|
|
10677
|
+
/**
|
|
10678
|
+
* getSelectedTabPosition - gets the x or y coordinates of the tab
|
|
10679
|
+
*/
|
|
9712
10680
|
getTabPosition(tab) {
|
|
9713
10681
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9714
10682
|
return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
|
|
9715
10683
|
} else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
|
|
9716
10684
|
}
|
|
10685
|
+
/**
|
|
10686
|
+
* getSelectedTabScale - gets the scale of the tab
|
|
10687
|
+
*/
|
|
9717
10688
|
getTabScale(tab) {
|
|
9718
10689
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9719
10690
|
return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
|
|
9720
10691
|
} else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
|
|
9721
10692
|
}
|
|
10693
|
+
/**
|
|
10694
|
+
* applyUpdatedCSSValues
|
|
10695
|
+
*
|
|
10696
|
+
* calculates and applies updated values to CSS variables
|
|
10697
|
+
* @param tab
|
|
10698
|
+
*/
|
|
9722
10699
|
applyUpdatedCSSValues(tab) {
|
|
9723
10700
|
this.calculateAnimationProperties(tab);
|
|
9724
10701
|
this.setTabScaleCSSVar();
|
|
9725
10702
|
this.setTabOffsetCSSVar();
|
|
9726
10703
|
}
|
|
10704
|
+
/**
|
|
10705
|
+
* animationLoop
|
|
10706
|
+
* runs through all the operations required for setting the tab active indicator to its starting location, ending location, and applying the animated css class to the tab.
|
|
10707
|
+
* @param tab
|
|
10708
|
+
*/
|
|
9727
10709
|
animationLoop(tab) {
|
|
9728
10710
|
tab.setAttribute("data-animate", "false");
|
|
9729
10711
|
this.applyUpdatedCSSValues(tab);
|
|
@@ -9731,12 +10713,15 @@ class Tabs extends BaseTabs {
|
|
|
9731
10713
|
this.applyUpdatedCSSValues(tab);
|
|
9732
10714
|
tab.setAttribute("data-animate", "true");
|
|
9733
10715
|
}
|
|
10716
|
+
/**
|
|
10717
|
+
* setTabData
|
|
10718
|
+
* sets the data from the active tab onto the class. used for making all the animation calculations for the active tab indicator.
|
|
10719
|
+
*/
|
|
9734
10720
|
setTabData() {
|
|
9735
|
-
var _a, _b, _c, _d;
|
|
9736
10721
|
if (this.tabs && this.tabs.length > 0) {
|
|
9737
10722
|
const tabs = this.tabs;
|
|
9738
10723
|
const activeTab = this.activetab || tabs[0];
|
|
9739
|
-
const activeRect = activeTab
|
|
10724
|
+
const activeRect = activeTab?.getBoundingClientRect();
|
|
9740
10725
|
const parentRect = this.getBoundingClientRect();
|
|
9741
10726
|
this.activeTabData = {
|
|
9742
10727
|
x: activeRect.x - parentRect.x,
|
|
@@ -9744,7 +10729,7 @@ class Tabs extends BaseTabs {
|
|
|
9744
10729
|
height: activeRect.height,
|
|
9745
10730
|
width: activeRect.width
|
|
9746
10731
|
};
|
|
9747
|
-
if (
|
|
10732
|
+
if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
|
|
9748
10733
|
this.previousActiveTabData = this.activeTabData;
|
|
9749
10734
|
}
|
|
9750
10735
|
}
|
|
@@ -9771,84 +10756,25 @@ class Tabs extends BaseTabs {
|
|
|
9771
10756
|
this.setTabData();
|
|
9772
10757
|
}
|
|
9773
10758
|
}
|
|
9774
|
-
__decorateClass$
|
|
9775
|
-
__decorateClass$
|
|
10759
|
+
__decorateClass$3([attr], Tabs.prototype, "appearance", 2);
|
|
10760
|
+
__decorateClass$3([attr({
|
|
9776
10761
|
mode: "boolean"
|
|
9777
10762
|
})], Tabs.prototype, "disabled", 2);
|
|
9778
|
-
__decorateClass$
|
|
10763
|
+
__decorateClass$3([attr], Tabs.prototype, "size", 2);
|
|
9779
10764
|
applyMixins(Tabs, StartEnd);
|
|
9780
10765
|
|
|
9781
10766
|
function tabsTemplate(options = {}) {
|
|
9782
10767
|
return html` ${startSlotTemplate(options)}<div class="tablist" part="tablist" role="tablist"><slot name="tab" ${slotted("tabs")}></slot></div>${endSlotTemplate(options)}<div class="tabpanel" part="tabpanel"><slot name="tabpanel" ${slotted("tabpanels")}></slot></div>`;
|
|
9783
10768
|
}
|
|
9784
|
-
const template$
|
|
10769
|
+
const template$3 = tabsTemplate({});
|
|
9785
10770
|
|
|
9786
|
-
const styles$
|
|
10771
|
+
const styles$3 = css`
|
|
9787
10772
|
${display("grid")}
|
|
9788
10773
|
|
|
9789
10774
|
:host{box-sizing:border-box;font-family:${fontFamilyBase};font-size:${fontSizeBase300};line-height:${lineHeightBase300};color:${colorNeutralForeground2};grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr}:host([disabled]){cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab){pointer-events:none;cursor:not-allowed;color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:after){background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab[aria-selected='true'])::after{background-color:${colorNeutralForegroundDisabled}}:host([disabled]) ::slotted(fluent-tab:hover):before{content:unset}:host ::slotted(fluent-tab){border-radius:${borderRadiusMedium}}:host ::slotted(fluent-tab[aria-selected='true'])::before{background-color:${colorNeutralForegroundDisabled}}.tablist{display:grid;grid-template-rows:auto auto;grid-template-columns:auto;position:relative;width:max-content;align-self:end;box-sizing:border-box}::slotted([slot='start']),::slotted([slot='end']){display:flex;align-self:center}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}.tabpanel{grid-row:2;grid-column-start:1;grid-column-end:4;position:relative}:host([orientation='vertical']){grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr}:host([orientation='vertical']) .tablist{grid-row-start:2;grid-row-end:2;display:grid;grid-template-rows:auto;grid-template-columns:auto 1fr;position:relative;width:max-content;justify-self:end;align-self:flex-start;width:100%}:host([orientation='vertical']) .tabpanel{grid-column:2;grid-row-start:1;grid-row-end:4}:host([orientation='vertical']) ::slotted([slot='end']){grid-row:3}:host([appearance='subtle']) ::slotted(fluent-tab:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground1Hover};fill:${colorCompoundBrandForeground1Hover}}:host([appearance='subtle']) ::slotted(fluent-tab:active){background-color:${colorSubtleBackgroundPressed};fill:${colorSubtleBackgroundPressed};color:${colorNeutralForeground1}}:host([size='small']) ::slotted(fluent-tab){font-size:${fontSizeBase300};line-height:${lineHeightBase300};padding:${spacingVerticalSNudge} ${spacingHorizontalSNudge}}:host([size='large']) ::slotted(fluent-tab){font-size:${fontSizeBase400};line-height:${lineHeightBase400};padding:${spacingVerticalL} ${spacingHorizontalMNudge}}:host ::slotted(fluent-tab[data-animate='true'])::after{transition-property:transform;transition-duration:${durationSlow};transition-timing-function:${curveDecelerateMax}}:host ::slotted(fluent-tab)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left;transform:translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale))}:host([orientation='vertical']) ::slotted(fluent-tab)::after{width:${strokeWidthThicker};height:unset;margin-top:unset;transform-origin:top;transform:translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale))}:host ::slotted(fluent-tab)::before{height:${strokeWidthThicker};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;margin-top:auto}:host([orientation='vertical']) ::slotted(fluent-tab)::before{height:unset;width:${strokeWidthThicker};margin-inline-end:auto;transform-origin:top}:host ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:${strokeWidthThicker};margin-top:auto;transform-origin:left}:host([orientation='vertical']) ::slotted(fluent-tab[aria-selected='false']:hover)::after{height:unset;margin-inline-end:auto;transform-origin:top;width:${strokeWidthThicker}}:host([orientation='vertical']) ::slotted(fluent-tab){align-items:flex-start;grid-column:2;padding-top:${spacingVerticalSNudge};padding-bottom:${spacingVerticalSNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab){padding-top:${spacingVerticalXXS};padding-bottom:${spacingVerticalXXS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab){padding-top:${spacingVerticalS};padding-bottom:${spacingVerticalS}}:host([size='small']) ::slotted(fluent-tab)::after,:host([size='small']) ::slotted(fluent-tab)::before,:host([size='small']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalSNudge};left:${spacingHorizontalSNudge}}:host ::slotted(fluent-tab)::after,:host ::slotted(fluent-tab)::before,:host ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([size='large']) ::slotted(fluent-tab)::after,:host([size='large']) ::slotted(fluent-tab)::before,:host([size='large']) ::slotted(fluent-tab:hover)::after{right:${spacingHorizontalMNudge};left:${spacingHorizontalMNudge}}:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='small']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalSNudge};bottom:${spacingVerticalSNudge}}:host([orientation='vertical']) ::slotted(fluent-tab)::after,:host([orientation='vertical']) ::slotted(fluent-tab)::before,:host([orientation='vertical']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalS};bottom:${spacingVerticalS}}:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::after,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab)::before,:host([orientation='vertical'][size='large']) ::slotted(fluent-tab:hover)::after{right:0;left:0;top:${spacingVerticalMNudge};bottom:${spacingVerticalMNudge}}`;
|
|
9790
10775
|
|
|
9791
|
-
const definition$
|
|
10776
|
+
const definition$3 = Tabs.compose({
|
|
9792
10777
|
name: `${FluentDesignSystem.prefix}-tabs`,
|
|
9793
|
-
template: template$5,
|
|
9794
|
-
styles: styles$5
|
|
9795
|
-
});
|
|
9796
|
-
|
|
9797
|
-
var __defProp$3 = Object.defineProperty;
|
|
9798
|
-
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
9799
|
-
var __decorateClass$3 = (decorators, target, key, kind) => {
|
|
9800
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
|
9801
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
9802
|
-
if (kind && result) __defProp$3(target, key, result);
|
|
9803
|
-
return result;
|
|
9804
|
-
};
|
|
9805
|
-
class Tab extends FASTElement {
|
|
9806
|
-
connectedCallback() {
|
|
9807
|
-
super.connectedCallback();
|
|
9808
|
-
if (this.styles !== void 0) {
|
|
9809
|
-
this.$fastController.removeStyles(this.styles);
|
|
9810
|
-
}
|
|
9811
|
-
this.styles = css`
|
|
9812
|
-
:host{--textContent:'${this.textContent}'}`;
|
|
9813
|
-
this.$fastController.addStyles(this.styles);
|
|
9814
|
-
}
|
|
9815
|
-
}
|
|
9816
|
-
__decorateClass$3([attr({
|
|
9817
|
-
mode: "boolean"
|
|
9818
|
-
})], Tab.prototype, "disabled", 2);
|
|
9819
|
-
applyMixins(Tab, StartEnd);
|
|
9820
|
-
|
|
9821
|
-
function tabTemplate(options = {}) {
|
|
9822
|
-
return html`<template slot="tab" role="tab" aria-disabled="${x => x.disabled}">${startSlotTemplate(options)}<span class="tab-content"><slot></slot></span>${endSlotTemplate(options)}</template>`;
|
|
9823
|
-
}
|
|
9824
|
-
const template$4 = tabTemplate({});
|
|
9825
|
-
|
|
9826
|
-
const styles$4 = css`
|
|
9827
|
-
${display("inline-flex")}
|
|
9828
|
-
|
|
9829
|
-
:host{position:relative;flex-direction:column;cursor:pointer;box-sizing:border-box;justify-content:center;line-height:${lineHeightBase300};font-family:${fontFamilyBase};font-size:${fontSizeBase300};color:${colorNeutralForeground2};fill:currentcolor;grid-row:1;padding:${spacingHorizontalM} ${spacingHorizontalMNudge};border-radius:${borderRadiusMedium}}:host .tab-content{display:inline-flex;flex-direction:column;padding:0 2px}:host([aria-selected='true']){color:${colorNeutralForeground1};font-weight:${fontWeightSemibold}}:host .tab-content::after{content:var(--textContent);visibility:hidden;height:0;line-height:${lineHeightBase300};font-weight:${fontWeightSemibold}}:host([aria-selected='true'])::after{background-color:${colorCompoundBrandStroke};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:2}:host([aria-selected='false']:hover)::after{background-color:${colorNeutralStroke1Hover};border-radius:${borderRadiusCircular};content:'';inset:0;position:absolute;z-index:1}:host([aria-selected='true'][disabled])::after{background-color:${colorNeutralForegroundDisabled}}::slotted([slot='start']),::slotted([slot='end']){display:flex}::slotted([slot='start']){margin-inline-end:11px}::slotted([slot='end']){margin-inline-start:11px}:host([disabled]){cursor:not-allowed;fill:${colorNeutralForegroundDisabled};color:${colorNeutralForegroundDisabled}}:host([disabled]:hover)::after{background-color:unset}:host(:focus){outline:none}:host(:focus-visible){border-radius:${borderRadiusSmall};box-shadow:0 0 0 3px ${colorStrokeFocus2};outline:1px solid ${colorStrokeFocus1}}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
9830
|
-
:host([aria-selected='true'])::after{background-color:Highlight}`));
|
|
9831
|
-
|
|
9832
|
-
const definition$4 = Tab.compose({
|
|
9833
|
-
name: `${FluentDesignSystem.prefix}-tab`,
|
|
9834
|
-
template: template$4,
|
|
9835
|
-
styles: styles$4
|
|
9836
|
-
});
|
|
9837
|
-
|
|
9838
|
-
class TabPanel extends FASTElement {}
|
|
9839
|
-
|
|
9840
|
-
function tabPanelTemplate() {
|
|
9841
|
-
return html`<template slot="tabpanel" role="tabpanel"><slot></slot></template>`;
|
|
9842
|
-
}
|
|
9843
|
-
const template$3 = tabPanelTemplate();
|
|
9844
|
-
|
|
9845
|
-
const styles$3 = css`
|
|
9846
|
-
${display("block")}
|
|
9847
|
-
|
|
9848
|
-
:host{box-sizing:border-box;padding:${spacingHorizontalM} ${spacingHorizontalMNudge}}`;
|
|
9849
|
-
|
|
9850
|
-
const definition$3 = TabPanel.compose({
|
|
9851
|
-
name: `${FluentDesignSystem.prefix}-tab-panel`,
|
|
9852
10778
|
template: template$3,
|
|
9853
10779
|
styles: styles$3
|
|
9854
10780
|
});
|
|
@@ -9949,11 +10875,26 @@ const TextInputAppearance = {
|
|
|
9949
10875
|
filledLighter: "filled-lighter",
|
|
9950
10876
|
filledDarker: "filled-darker"
|
|
9951
10877
|
};
|
|
9952
|
-
const
|
|
10878
|
+
const TextInputType = {
|
|
10879
|
+
/**
|
|
10880
|
+
* An email TextInput
|
|
10881
|
+
*/
|
|
9953
10882
|
email: "email",
|
|
10883
|
+
/**
|
|
10884
|
+
* A password TextInput
|
|
10885
|
+
*/
|
|
9954
10886
|
password: "password",
|
|
10887
|
+
/**
|
|
10888
|
+
* A telephone TextInput
|
|
10889
|
+
*/
|
|
9955
10890
|
tel: "tel",
|
|
10891
|
+
/**
|
|
10892
|
+
* A text TextInput
|
|
10893
|
+
*/
|
|
9956
10894
|
text: "text",
|
|
10895
|
+
/**
|
|
10896
|
+
* A URL TextInput
|
|
10897
|
+
*/
|
|
9957
10898
|
url: "url"
|
|
9958
10899
|
};
|
|
9959
10900
|
|
|
@@ -9976,7 +10917,7 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
|
9976
10917
|
class TextInput extends FormAssociatedTextField {
|
|
9977
10918
|
constructor() {
|
|
9978
10919
|
super(...arguments);
|
|
9979
|
-
this.type =
|
|
10920
|
+
this.type = TextInputType.text;
|
|
9980
10921
|
}
|
|
9981
10922
|
readOnlyChanged() {
|
|
9982
10923
|
if (this.proxy instanceof HTMLInputElement) {
|
|
@@ -10035,6 +10976,9 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10035
10976
|
this.proxy.spellcheck = this.spellcheck;
|
|
10036
10977
|
}
|
|
10037
10978
|
}
|
|
10979
|
+
/**
|
|
10980
|
+
* @internal
|
|
10981
|
+
*/
|
|
10038
10982
|
connectedCallback() {
|
|
10039
10983
|
super.connectedCallback();
|
|
10040
10984
|
this.proxy.setAttribute("type", this.type);
|
|
@@ -10045,16 +10989,35 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10045
10989
|
});
|
|
10046
10990
|
}
|
|
10047
10991
|
}
|
|
10992
|
+
/**
|
|
10993
|
+
* Selects all the text in the text field
|
|
10994
|
+
*
|
|
10995
|
+
* @public
|
|
10996
|
+
*/
|
|
10048
10997
|
select() {
|
|
10049
10998
|
this.control.select();
|
|
10050
10999
|
this.$emit("select");
|
|
10051
11000
|
}
|
|
11001
|
+
/**
|
|
11002
|
+
* Handles the internal control's `input` event
|
|
11003
|
+
* @internal
|
|
11004
|
+
*/
|
|
10052
11005
|
handleTextInput() {
|
|
10053
11006
|
this.value = this.control.value;
|
|
10054
11007
|
}
|
|
11008
|
+
/**
|
|
11009
|
+
* Change event handler for inner control.
|
|
11010
|
+
* @remarks
|
|
11011
|
+
* "Change" events are not `composable` so they will not
|
|
11012
|
+
* permeate the shadow DOM boundary. This fn effectively proxies
|
|
11013
|
+
* the change event, emitting a `change` event whenever the internal
|
|
11014
|
+
* control emits a `change` event
|
|
11015
|
+
* @internal
|
|
11016
|
+
*/
|
|
10055
11017
|
handleChange() {
|
|
10056
11018
|
this.$emit("change");
|
|
10057
11019
|
}
|
|
11020
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
10058
11021
|
validate() {
|
|
10059
11022
|
super.validate(this.control);
|
|
10060
11023
|
}
|
|
@@ -10119,12 +11082,29 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
10119
11082
|
return result;
|
|
10120
11083
|
};
|
|
10121
11084
|
class ToggleButton extends Button {
|
|
11085
|
+
/**
|
|
11086
|
+
* Updates the pressed state when the `pressed` property changes.
|
|
11087
|
+
*
|
|
11088
|
+
* @internal
|
|
11089
|
+
*/
|
|
10122
11090
|
pressedChanged() {
|
|
10123
11091
|
this.setPressedState();
|
|
10124
11092
|
}
|
|
11093
|
+
/**
|
|
11094
|
+
* Updates the pressed state when the `mixed` property changes.
|
|
11095
|
+
*
|
|
11096
|
+
* @param previous - the previous mixed state
|
|
11097
|
+
* @param next - the current mixed state
|
|
11098
|
+
* @internal
|
|
11099
|
+
*/
|
|
10125
11100
|
mixedChanged() {
|
|
10126
11101
|
this.setPressedState();
|
|
10127
11102
|
}
|
|
11103
|
+
/**
|
|
11104
|
+
* Toggles the pressed state of the button.
|
|
11105
|
+
*
|
|
11106
|
+
* @override
|
|
11107
|
+
*/
|
|
10128
11108
|
press() {
|
|
10129
11109
|
this.pressed = !this.pressed;
|
|
10130
11110
|
}
|
|
@@ -10132,6 +11112,11 @@ class ToggleButton extends Button {
|
|
|
10132
11112
|
super.connectedCallback();
|
|
10133
11113
|
this.setPressedState();
|
|
10134
11114
|
}
|
|
11115
|
+
/**
|
|
11116
|
+
* Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
|
|
11117
|
+
*
|
|
11118
|
+
* @internal
|
|
11119
|
+
*/
|
|
10135
11120
|
setPressedState() {
|
|
10136
11121
|
if (this.$fastController.isConnected) {
|
|
10137
11122
|
const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
|
|
@@ -10177,4 +11162,4 @@ const setThemeFor = (element, theme) => {
|
|
|
10177
11162
|
}
|
|
10178
11163
|
};
|
|
10179
11164
|
|
|
10180
|
-
export { Accordion, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$q as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$q as AnchorButtonTemplate, AnchorTarget, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$p as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$o as AvatarStyles, template$p as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$o as BadgeDefinition, BadgeShape, BadgeSize, styles$n as BadgeStyles, template$o as BadgeTemplate, BaseTabs, Button, ButtonAppearance, definition$n as ButtonDefinition, ButtonFormTarget, ButtonShape, ButtonSize, styles$m as ButtonStyles, template$n as ButtonTemplate, ButtonType, Checkbox, definition$m as CheckboxDefinition, CheckboxLabelPosition, CheckboxShape, CheckboxSize, styles$l as CheckboxStyles, template$m as CheckboxTemplate, CompoundButton, CompoundButtonAppearance, definition$l as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$k as CompoundButtonStyles, template$l as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$k as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$j as CounterBadgeStyles, template$k as CounterBadgeTemplate, DelegatesARIALink, DelegatesARIATextbox, Dialog, definition$j as DialogDefinition, styles$i as DialogStyles, template$j as DialogTemplate, Divider, DividerAlignContent, DividerAppearance, definition$i as DividerDefinition, DividerOrientation, DividerRole, styles$h as DividerStyles, template$i as DividerTemplate, FluentDesignSystem, Image, definition$h as ImageDefinition, ImageFit, ImageShape, styles$g as ImageStyles, template$h as ImageTemplate, Label, definition$g as LabelDefinition, styles$f as LabelStyles, template$g as LabelTemplate, MatchMediaBehavior, MatchMediaStyleSheetBehavior, Menu, MenuButton, MenuButtonAppearance, definition$e as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$m as MenuButtonStyles, template$e as MenuButtonTemplate, definition$f as MenuDefinition, MenuItem, definition$d as MenuItemDefinition, MenuItemRole, styles$d as MenuItemStyles, template$d as MenuItemTemplate, MenuList, definition$c as MenuListDefinition, styles$c as MenuListStyles, template$c as MenuListTemplate, styles$e as MenuStyles, template$f as MenuTemplate, ProgressBar, definition$b as ProgressBarDefinition, ProgressBarShape, styles$b as ProgressBarStyles, template$b as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Radio, definition$a as RadioDefinition, RadioGroup, definition$9 as RadioGroupDefinition, styles$9 as RadioGroupStyles, template$9 as RadioGroupTemplate, styles$a as RadioStyles, template$a as RadioTemplate, Slider, definition$8 as SliderDefinition, SliderMode, SliderOrientation, SliderSize, styles$8 as SliderStyles, template$8 as SliderTemplate, Spinner, SpinnerAppearance, definition$7 as SpinnerDefinition, SpinnerSize, styles$7 as SpinnerStyles, template$7 as SpinnerTemplate, Switch, definition$6 as SwitchDefinition, SwitchLabelPosition, styles$6 as SwitchStyles, template$6 as SwitchTemplate, Tab, definition$4 as TabDefinition, TabPanel, definition$3 as TabPanelDefinition, styles$3 as TabPanelStyles, template$3 as TabPanelTemplate, styles$4 as TabStyles, template$4 as TabTemplate, Tabs, TabsAppearance, definition$5 as TabsDefinition, TabsOrientation, TabsSize, styles$5 as TabsStyles, template$5 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFieldType, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextSize, styles$2 as TextStyles, template$2 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$s as accordionDefinition, definition$r as accordionItemDefinition, styles$q as accordionItemStyles, template$r as accordionItemTemplate, styles$r as accordionStyles, template$s as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteGreenForegroundInverted, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, colorScrollbarOverlay, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, darkModeStylesheetBehavior, display, durationFast, durationFaster, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, forcedColorsStylesheetBehavior, getDirection, hidden, lightModeStylesheetBehavior, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, roleForMenuItem, setTheme, setThemeFor, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin, typographyBody1StrongStyles, typographyBody1StrongerStyles, typographyBody1Styles, typographyBody2Styles, typographyCaption1StrongStyles, typographyCaption1StrongerStyles, typographyCaption1Styles, typographyCaption2StrongStyles, typographyCaption2Styles, typographyDisplayStyles, typographyLargeTitleStyles, typographySubtitle1Styles, typographySubtitle2StrongerStyles, typographySubtitle2Styles, typographyTitle1Styles, typographyTitle2Styles, typographyTitle3Styles };
|
|
11165
|
+
export { Accordion, AccordionExpandMode, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$q as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$q as AnchorButtonTemplate, AnchorTarget, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$p as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$o as AvatarStyles, template$p as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$o as BadgeDefinition, BadgeShape, BadgeSize, styles$n as BadgeStyles, template$o as BadgeTemplate, Button, ButtonAppearance, definition$n as ButtonDefinition, ButtonShape, ButtonSize, styles$m as ButtonStyles, template$n as ButtonTemplate, ButtonType, Checkbox, definition$m as CheckboxDefinition, CheckboxLabelPosition, CheckboxShape, CheckboxSize, styles$l as CheckboxStyles, template$m as CheckboxTemplate, CompoundButton, CompoundButtonAppearance, definition$l as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$k as CompoundButtonStyles, template$l as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$k as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$j as CounterBadgeStyles, template$k as CounterBadgeTemplate, Dialog, definition$j as DialogDefinition, DialogModalType, styles$i as DialogStyles, template$j as DialogTemplate, Divider, DividerAlignContent, DividerAppearance, definition$i as DividerDefinition, DividerOrientation, DividerRole, styles$h as DividerStyles, template$i as DividerTemplate, FluentDesignSystem, Image, definition$h as ImageDefinition, ImageFit, ImageShape, styles$g as ImageStyles, template$h as ImageTemplate, Label, definition$g as LabelDefinition, LabelSize, styles$f as LabelStyles, template$g as LabelTemplate, LabelWeight, Menu, MenuButton, MenuButtonAppearance, definition$e as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$m as MenuButtonStyles, template$e as MenuButtonTemplate, definition$f as MenuDefinition, MenuItem, definition$d as MenuItemDefinition, MenuItemRole, styles$d as MenuItemStyles, template$d as MenuItemTemplate, MenuList, definition$c as MenuListDefinition, styles$c as MenuListStyles, template$c as MenuListTemplate, styles$e as MenuStyles, template$f as MenuTemplate, ProgressBar, definition$b as ProgressBarDefinition, ProgressBarShape, styles$b as ProgressBarStyles, template$b as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Radio, definition$a as RadioDefinition, RadioGroup, definition$9 as RadioGroupDefinition, RadioGroupOrientation, styles$9 as RadioGroupStyles, template$9 as RadioGroupTemplate, styles$a as RadioStyles, template$a as RadioTemplate, Slider, definition$8 as SliderDefinition, SliderMode, SliderOrientation, SliderSize, styles$8 as SliderStyles, template$8 as SliderTemplate, Spinner, SpinnerAppearance, definition$7 as SpinnerDefinition, SpinnerSize, styles$7 as SpinnerStyles, template$7 as SpinnerTemplate, Switch, definition$6 as SwitchDefinition, SwitchLabelPosition, styles$6 as SwitchStyles, template$6 as SwitchTemplate, Tab, definition$5 as TabDefinition, TabPanel, definition$4 as TabPanelDefinition, styles$4 as TabPanelStyles, template$4 as TabPanelTemplate, styles$5 as TabStyles, template$5 as TabTemplate, Tabs, TabsAppearance, definition$3 as TabsDefinition, TabsOrientation, TabsSize, styles$3 as TabsStyles, template$3 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextInputType, TextSize, styles$2 as TextStyles, template$2 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$s as accordionDefinition, definition$r as accordionItemDefinition, styles$q as accordionItemStyles, template$r as accordionItemTemplate, styles$r as accordionStyles, template$s as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackground2Hover, colorBrandBackground2Pressed, colorBrandBackground3Static, colorBrandBackground4Static, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForeground2Hover, colorBrandForeground2Pressed, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorBrandStroke2Contrast, colorBrandStroke2Hover, colorBrandStroke2Pressed, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundAlpha, colorNeutralBackgroundAlpha2, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralCardBackground, colorNeutralCardBackgroundDisabled, colorNeutralCardBackgroundHover, colorNeutralCardBackgroundPressed, colorNeutralCardBackgroundSelected, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeAlpha, colorNeutralStrokeAlpha2, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorNeutralStrokeSubtle, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteGreenForegroundInverted, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, colorScrollbarOverlay, colorStatusDangerBackground1, colorStatusDangerBackground2, colorStatusDangerBackground3, colorStatusDangerBackground3Hover, colorStatusDangerBackground3Pressed, colorStatusDangerBorder1, colorStatusDangerBorder2, colorStatusDangerBorderActive, colorStatusDangerForeground1, colorStatusDangerForeground2, colorStatusDangerForeground3, colorStatusDangerForegroundInverted, colorStatusSuccessBackground1, colorStatusSuccessBackground2, colorStatusSuccessBackground3, colorStatusSuccessBorder1, colorStatusSuccessBorder2, colorStatusSuccessBorderActive, colorStatusSuccessForeground1, colorStatusSuccessForeground2, colorStatusSuccessForeground3, colorStatusSuccessForegroundInverted, colorStatusWarningBackground1, colorStatusWarningBackground2, colorStatusWarningBackground3, colorStatusWarningBorder1, colorStatusWarningBorder2, colorStatusWarningBorderActive, colorStatusWarningForeground1, colorStatusWarningForeground2, colorStatusWarningForeground3, colorStatusWarningForegroundInverted, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, darkModeStylesheetBehavior, display, durationFast, durationFaster, durationGentle, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, forcedColorsStylesheetBehavior, getDirection, lightModeStylesheetBehavior, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, roleForMenuItem, setTheme, setThemeFor, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin };
|