@fluentui/web-components 3.0.0-beta.15 → 3.0.0-beta.17
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 +185 -103
- package/dist/dts/index.d.ts +1 -1
- package/dist/dts/menu-item/menu-item.options.d.ts +1 -1
- package/dist/dts/spinner/index.d.ts +1 -1
- package/dist/dts/spinner/spinner.d.ts +9 -10
- package/dist/dts/spinner/spinner.template.d.ts +2 -4
- package/dist/dts/theme/design-tokens.d.ts +53 -1
- package/dist/esm/anchor-button/anchor-button.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.styles.js +13 -12
- package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/button/button.styles.js +12 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/menu-list/menu-list.js.map +1 -1
- package/dist/esm/spinner/index.js.map +1 -1
- package/dist/esm/spinner/spinner.js +12 -3
- package/dist/esm/spinner/spinner.js.map +1 -1
- package/dist/esm/spinner/spinner.styles.js +2 -16
- package/dist/esm/spinner/spinner.styles.js.map +1 -1
- package/dist/esm/spinner/spinner.template.js +8 -47
- package/dist/esm/spinner/spinner.template.js.map +1 -1
- package/dist/esm/theme/design-tokens.js +53 -1
- package/dist/esm/theme/design-tokens.js.map +1 -1
- package/dist/esm/utils/get-initials.js.map +1 -1
- package/dist/fluent-web-components.api.json +1567 -239
- package/dist/web-components.d.ts +115 -11
- package/dist/web-components.js +1145 -173
- package/dist/web-components.min.js +337 -283
- package/docs/api-report.md +163 -8
- package/package.json +5 -10
- package/project.json +6 -0
- 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.6c75b8cb.iframe.bundle.js +0 -2
- package/dist/storybook/main.6c75b8cb.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();
|
|
@@ -4701,7 +4866,8 @@ const template$q = anchorTemplate();
|
|
|
4701
4866
|
const styles$p = css`
|
|
4702
4867
|
${display("inline-flex")}
|
|
4703
4868
|
|
|
4704
|
-
:host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit;text-align:center}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick}) solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is
|
|
4869
|
+
:host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle}:host .control{display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer}.content{display:inherit;text-align:center}:host(:hover) .control{background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active) .control{background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host .control:focus-visible{border-color:${colorTransparentStroke};outline:${strokeWidthThick}) solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]) .control{min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS}}:host([size='small']) .control{min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]) .control{min-width:24px;max-width:24px}:host([size='large']) .control{min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]) .control{min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']) .control,:host([shape='circular']) .control:focus-visible{border-radius:${borderRadiusCircular}}:host([shape='square']) .control,:host([shape='square']) .control:focus-visible{border-radius:${borderRadiusNone}}:host([appearance='primary']) .control{background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover) .control{background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover) .control,:host([appearance='primary']:hover:active) .control{border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active) .control{background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']) .control:focus-visible{border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary'])) .control,:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover) .control,:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover:active) .control{border-color:transparent}:host([appearance='outline']) .control{background-color:${colorTransparentBackground}}:host([appearance='outline']:hover) .control{background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active) .control{background-color:${colorTransparentBackgroundPressed}}:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline'])) .control,:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover) .control,:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover:active) .control{background-color:${colorTransparentBackground}}:host([appearance='subtle']) .control{background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover) .control{background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active) .control{background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle'])) .control,:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover) .control,:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover:active) .control{background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control{background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover) .control{background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active) .control{background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']) .control,:host([appearance='transparent']:hover) .control,:host([appearance='transparent']:hover:active) .control{border-color:transparent}:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent'])) .control,:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover) .control,:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover:active)
|
|
4870
|
+
.control{border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover) .control,:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active)
|
|
4705
4871
|
.control{background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
4706
4872
|
:host([appearance='transparent']:hover) .control{border-color:Highlight}`));
|
|
4707
4873
|
|
|
@@ -4749,10 +4915,10 @@ function getInitials(displayName, isRtl, options) {
|
|
|
4749
4915
|
return "";
|
|
4750
4916
|
}
|
|
4751
4917
|
displayName = cleanupDisplayName(displayName);
|
|
4752
|
-
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !
|
|
4918
|
+
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !options?.allowPhoneInitials && PHONENUMBER_REGEX.test(displayName)) {
|
|
4753
4919
|
return "";
|
|
4754
4920
|
}
|
|
4755
|
-
return getInitialsLatin(displayName, isRtl, options
|
|
4921
|
+
return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
|
|
4756
4922
|
}
|
|
4757
4923
|
|
|
4758
4924
|
const AvatarActive = {
|
|
@@ -4831,43 +4997,52 @@ var __decorateClass$n = (decorators, target, key, kind) => {
|
|
|
4831
4997
|
if (kind && result) __defProp$n(target, key, result);
|
|
4832
4998
|
return result;
|
|
4833
4999
|
};
|
|
4834
|
-
const _Avatar = class extends FASTElement {
|
|
5000
|
+
const _Avatar = class _Avatar extends FASTElement {
|
|
4835
5001
|
constructor() {
|
|
4836
5002
|
super(...arguments);
|
|
4837
5003
|
this.color = "neutral";
|
|
4838
5004
|
}
|
|
5005
|
+
/**
|
|
5006
|
+
* Sets the data-color attribute used for the visual presentation
|
|
5007
|
+
* @internal
|
|
5008
|
+
*/
|
|
4839
5009
|
generateColor() {
|
|
4840
|
-
var _a, _b;
|
|
4841
5010
|
if (!this.color) {
|
|
4842
5011
|
return;
|
|
4843
5012
|
}
|
|
4844
|
-
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(
|
|
5013
|
+
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(this.colorId ?? this.name ?? "") % _Avatar.colors.length] : this.color;
|
|
4845
5014
|
}
|
|
5015
|
+
/**
|
|
5016
|
+
* Generates and sets the initials for the template
|
|
5017
|
+
* @internal
|
|
5018
|
+
*/
|
|
4846
5019
|
generateInitials() {
|
|
4847
|
-
var _a, _b;
|
|
4848
5020
|
if (!this.name && !this.initials) {
|
|
4849
5021
|
return;
|
|
4850
5022
|
}
|
|
4851
|
-
const size =
|
|
4852
|
-
return
|
|
5023
|
+
const size = this.size ?? 32;
|
|
5024
|
+
return this.initials ?? getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
|
|
4853
5025
|
firstInitialOnly: size <= 16
|
|
4854
5026
|
});
|
|
4855
5027
|
}
|
|
4856
5028
|
};
|
|
4857
|
-
|
|
4858
|
-
Avatar
|
|
4859
|
-
|
|
4860
|
-
|
|
5029
|
+
/**
|
|
5030
|
+
* An array of the available Avatar named colors
|
|
5031
|
+
*/
|
|
5032
|
+
_Avatar.colors = Object.values(AvatarNamedColor);
|
|
5033
|
+
__decorateClass$n([attr], _Avatar.prototype, "name", 2);
|
|
5034
|
+
__decorateClass$n([attr], _Avatar.prototype, "initials", 2);
|
|
4861
5035
|
__decorateClass$n([attr({
|
|
4862
5036
|
converter: nullableNumberConverter
|
|
4863
|
-
})],
|
|
4864
|
-
__decorateClass$n([attr],
|
|
4865
|
-
__decorateClass$n([attr],
|
|
4866
|
-
__decorateClass$n([attr],
|
|
4867
|
-
__decorateClass$n([attr],
|
|
5037
|
+
})], _Avatar.prototype, "size", 2);
|
|
5038
|
+
__decorateClass$n([attr], _Avatar.prototype, "shape", 2);
|
|
5039
|
+
__decorateClass$n([attr], _Avatar.prototype, "active", 2);
|
|
5040
|
+
__decorateClass$n([attr], _Avatar.prototype, "appearance", 2);
|
|
5041
|
+
__decorateClass$n([attr], _Avatar.prototype, "color", 2);
|
|
4868
5042
|
__decorateClass$n([attr({
|
|
4869
5043
|
attribute: "color-id"
|
|
4870
|
-
})],
|
|
5044
|
+
})], _Avatar.prototype, "colorId", 2);
|
|
5045
|
+
let Avatar = _Avatar;
|
|
4871
5046
|
const getHashCode = str => {
|
|
4872
5047
|
let hashCode = 0;
|
|
4873
5048
|
for (let len = str.length - 1; len >= 0; len--) {
|
|
@@ -5339,28 +5514,62 @@ class Button extends FASTElement {
|
|
|
5339
5514
|
constructor() {
|
|
5340
5515
|
super();
|
|
5341
5516
|
this.disabledFocusable = false;
|
|
5517
|
+
/**
|
|
5518
|
+
* The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
5519
|
+
*
|
|
5520
|
+
* @internal
|
|
5521
|
+
*/
|
|
5342
5522
|
this.elementInternals = this.attachInternals();
|
|
5343
5523
|
this.iconOnly = false;
|
|
5344
5524
|
this.elementInternals.role = "button";
|
|
5345
5525
|
}
|
|
5526
|
+
/**
|
|
5527
|
+
* Sets the element's internal disabled state when the element is focusable while disabled.
|
|
5528
|
+
*
|
|
5529
|
+
* @param previous - the previous disabledFocusable value
|
|
5530
|
+
* @param next - the current disabledFocusable value
|
|
5531
|
+
* @internal
|
|
5532
|
+
*/
|
|
5346
5533
|
disabledFocusableChanged(previous, next) {
|
|
5347
5534
|
if (this.$fastController.isConnected) {
|
|
5348
5535
|
this.elementInternals.ariaDisabled = `${!!next}`;
|
|
5349
5536
|
}
|
|
5350
5537
|
}
|
|
5538
|
+
/**
|
|
5539
|
+
* The associated form element.
|
|
5540
|
+
*
|
|
5541
|
+
* @public
|
|
5542
|
+
*/
|
|
5351
5543
|
get form() {
|
|
5352
5544
|
return this.elementInternals.form;
|
|
5353
5545
|
}
|
|
5546
|
+
/**
|
|
5547
|
+
* A reference to all associated label elements.
|
|
5548
|
+
*
|
|
5549
|
+
* @public
|
|
5550
|
+
*/
|
|
5354
5551
|
get labels() {
|
|
5355
5552
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
5356
5553
|
}
|
|
5554
|
+
/**
|
|
5555
|
+
* Removes the form submission fallback control when the type changes.
|
|
5556
|
+
*
|
|
5557
|
+
* @param previous - the previous type value
|
|
5558
|
+
* @param next - the new type value
|
|
5559
|
+
* @internal
|
|
5560
|
+
*/
|
|
5357
5561
|
typeChanged(previous, next) {
|
|
5358
|
-
var _a, _b, _c;
|
|
5359
5562
|
if (next !== ButtonType.submit) {
|
|
5360
|
-
|
|
5361
|
-
|
|
5563
|
+
this.formSubmissionFallbackControl?.remove();
|
|
5564
|
+
this.shadowRoot?.querySelector('slot[name="internal"]')?.remove();
|
|
5362
5565
|
}
|
|
5363
5566
|
}
|
|
5567
|
+
/**
|
|
5568
|
+
* Handles the button click event.
|
|
5569
|
+
*
|
|
5570
|
+
* @param e - The event object
|
|
5571
|
+
* @internal
|
|
5572
|
+
*/
|
|
5364
5573
|
clickHandler(e) {
|
|
5365
5574
|
if (e && this.disabledFocusable) {
|
|
5366
5575
|
e.stopImmediatePropagation();
|
|
@@ -5373,20 +5582,27 @@ class Button extends FASTElement {
|
|
|
5373
5582
|
super.connectedCallback();
|
|
5374
5583
|
this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
|
|
5375
5584
|
}
|
|
5585
|
+
/**
|
|
5586
|
+
* This fallback creates a new slot, then creates a submit button to mirror the custom element's
|
|
5587
|
+
* properties. The submit button is then appended to the slot and the form is submitted.
|
|
5588
|
+
*
|
|
5589
|
+
* @internal
|
|
5590
|
+
* @privateRemarks
|
|
5591
|
+
* This is a workaround until {@link https://github.com/WICG/webcomponents/issues/814 | WICG/webcomponents/issues/814} is resolved.
|
|
5592
|
+
*/
|
|
5376
5593
|
createAndInsertFormSubmissionFallbackControl() {
|
|
5377
|
-
|
|
5378
|
-
const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
|
|
5594
|
+
const internalSlot = this.formSubmissionFallbackControlSlot ?? document.createElement("slot");
|
|
5379
5595
|
internalSlot.setAttribute("name", "internal");
|
|
5380
|
-
|
|
5596
|
+
this.shadowRoot?.appendChild(internalSlot);
|
|
5381
5597
|
this.formSubmissionFallbackControlSlot = internalSlot;
|
|
5382
|
-
const fallbackControl =
|
|
5598
|
+
const fallbackControl = this.formSubmissionFallbackControl ?? document.createElement("button");
|
|
5383
5599
|
fallbackControl.style.display = "none";
|
|
5384
5600
|
fallbackControl.setAttribute("type", "submit");
|
|
5385
5601
|
fallbackControl.setAttribute("slot", "internal");
|
|
5386
5602
|
if (this.formNoValidate) {
|
|
5387
5603
|
fallbackControl.toggleAttribute("formnovalidate", true);
|
|
5388
5604
|
}
|
|
5389
|
-
if (
|
|
5605
|
+
if (this.elementInternals.form?.id) {
|
|
5390
5606
|
fallbackControl.setAttribute("form", this.elementInternals.form.id);
|
|
5391
5607
|
}
|
|
5392
5608
|
if (this.name) {
|
|
@@ -5396,23 +5612,37 @@ class Button extends FASTElement {
|
|
|
5396
5612
|
fallbackControl.setAttribute("value", this.value);
|
|
5397
5613
|
}
|
|
5398
5614
|
if (this.formAction) {
|
|
5399
|
-
fallbackControl.setAttribute("formaction",
|
|
5615
|
+
fallbackControl.setAttribute("formaction", this.formAction ?? "");
|
|
5400
5616
|
}
|
|
5401
5617
|
if (this.formEnctype) {
|
|
5402
|
-
fallbackControl.setAttribute("formenctype",
|
|
5618
|
+
fallbackControl.setAttribute("formenctype", this.formEnctype ?? "");
|
|
5403
5619
|
}
|
|
5404
5620
|
if (this.formMethod) {
|
|
5405
|
-
fallbackControl.setAttribute("formmethod",
|
|
5621
|
+
fallbackControl.setAttribute("formmethod", this.formMethod ?? "");
|
|
5406
5622
|
}
|
|
5407
5623
|
if (this.formTarget) {
|
|
5408
|
-
fallbackControl.setAttribute("formtarget",
|
|
5624
|
+
fallbackControl.setAttribute("formtarget", this.formTarget ?? "");
|
|
5409
5625
|
}
|
|
5410
5626
|
this.append(fallbackControl);
|
|
5411
5627
|
this.formSubmissionFallbackControl = fallbackControl;
|
|
5412
5628
|
}
|
|
5629
|
+
/**
|
|
5630
|
+
* Invoked when a connected component's form or fieldset has its disabled state changed.
|
|
5631
|
+
*
|
|
5632
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
5633
|
+
*
|
|
5634
|
+
* @internal
|
|
5635
|
+
*/
|
|
5413
5636
|
formDisabledCallback(disabled) {
|
|
5414
5637
|
this.disabled = disabled;
|
|
5415
5638
|
}
|
|
5639
|
+
/**
|
|
5640
|
+
* Handles keypress events for the button.
|
|
5641
|
+
*
|
|
5642
|
+
* @param e - the keyboard event
|
|
5643
|
+
* @returns - the return value of the click handler
|
|
5644
|
+
* @public
|
|
5645
|
+
*/
|
|
5416
5646
|
keypressHandler(e) {
|
|
5417
5647
|
if (e && this.disabledFocusable) {
|
|
5418
5648
|
e.stopImmediatePropagation();
|
|
@@ -5424,6 +5654,11 @@ class Button extends FASTElement {
|
|
|
5424
5654
|
}
|
|
5425
5655
|
return true;
|
|
5426
5656
|
}
|
|
5657
|
+
/**
|
|
5658
|
+
* Presses the button.
|
|
5659
|
+
*
|
|
5660
|
+
* @public
|
|
5661
|
+
*/
|
|
5427
5662
|
press() {
|
|
5428
5663
|
switch (this.type) {
|
|
5429
5664
|
case ButtonType.reset:
|
|
@@ -5438,12 +5673,20 @@ class Button extends FASTElement {
|
|
|
5438
5673
|
}
|
|
5439
5674
|
}
|
|
5440
5675
|
}
|
|
5676
|
+
/**
|
|
5677
|
+
* Resets the associated form.
|
|
5678
|
+
*
|
|
5679
|
+
* @public
|
|
5680
|
+
*/
|
|
5441
5681
|
resetForm() {
|
|
5442
|
-
|
|
5443
|
-
(_a = this.elementInternals.form) == null ? void 0 : _a.reset();
|
|
5682
|
+
this.elementInternals.form?.reset();
|
|
5444
5683
|
}
|
|
5684
|
+
/**
|
|
5685
|
+
* Submits the associated form.
|
|
5686
|
+
*
|
|
5687
|
+
* @internal
|
|
5688
|
+
*/
|
|
5445
5689
|
submitForm() {
|
|
5446
|
-
var _a;
|
|
5447
5690
|
if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
|
|
5448
5691
|
return;
|
|
5449
5692
|
}
|
|
@@ -5452,7 +5695,7 @@ class Button extends FASTElement {
|
|
|
5452
5695
|
return;
|
|
5453
5696
|
}
|
|
5454
5697
|
try {
|
|
5455
|
-
this.elementInternals.setFormValue(
|
|
5698
|
+
this.elementInternals.setFormValue(this.value ?? "");
|
|
5456
5699
|
this.elementInternals.form.requestSubmit(this);
|
|
5457
5700
|
} catch (e) {
|
|
5458
5701
|
this.createAndInsertFormSubmissionFallbackControl();
|
|
@@ -5461,6 +5704,12 @@ class Button extends FASTElement {
|
|
|
5461
5704
|
}
|
|
5462
5705
|
}
|
|
5463
5706
|
}
|
|
5707
|
+
/**
|
|
5708
|
+
* The form-associated flag.
|
|
5709
|
+
* @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
|
|
5710
|
+
*
|
|
5711
|
+
* @public
|
|
5712
|
+
*/
|
|
5464
5713
|
Button.formAssociated = true;
|
|
5465
5714
|
__decorateClass$l([attr], Button.prototype, "appearance", 2);
|
|
5466
5715
|
__decorateClass$l([attr({
|
|
@@ -5512,7 +5761,7 @@ const template$n = buttonTemplate$1();
|
|
|
5512
5761
|
const styles$m = css`
|
|
5513
5762
|
${display("inline-flex")}
|
|
5514
5763
|
|
|
5515
|
-
:host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle;align-items:center;box-sizing:border-box;justify-content:center;text-align:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(:focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick}) solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']),:host([shape='circular']:focus-visible){border-radius:${borderRadiusCircular}}:host([shape='square']),:host([shape='square']:focus-visible){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover),:host([appearance='primary']:hover:active){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(is
|
|
5764
|
+
:host{--icon-spacing:${spacingHorizontalSNudge};contain:layout style;vertical-align:middle;align-items:center;box-sizing:border-box;justify-content:center;text-align:center;text-decoration-line:none;margin:0;min-height:32px;outline-style:none;background-color:${colorNeutralBackground1};color:${colorNeutralForeground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};padding:0 ${spacingHorizontalM};min-width:96px;border-radius:${borderRadiusMedium};font-size:${fontSizeBase300};font-family:${fontFamilyBase};font-weight:${fontWeightSemibold};line-height:${lineHeightBase300};transition-duration:${durationFaster};transition-property:background,border,color;transition-timing-function:${curveEasyEase};cursor:pointer;user-select:none}.content{display:inherit}:host(:hover){background-color:${colorNeutralBackground1Hover};color:${colorNeutralForeground1Hover};border-color:${colorNeutralStroke1Hover}}:host(:hover:active){background-color:${colorNeutralBackground1Pressed};border-color:${colorNeutralStroke1Pressed};color:${colorNeutralForeground1Pressed};outline-style:none}:host(:focus-visible){border-color:${colorTransparentStroke};outline:${strokeWidthThick}) solid ${colorTransparentStroke};box-shadow:${shadow4},0 0 0 2px ${colorStrokeFocus2}}@media screen and (prefers-reduced-motion:reduce){transition-duration:0.01ms}::slotted(svg){font-size:20px;height:20px;width:20px;fill:currentColor}[slot='start'],::slotted([slot='start']){margin-inline-end:var(--icon-spacing)}[slot='end'],::slotted([slot='end']){margin-inline-start:var(--icon-spacing)}:host([icon-only]){min-width:32px;max-width:32px}:host([size='small']){--icon-spacing:${spacingHorizontalXS};min-height:24px;min-width:64px;padding:0 ${spacingHorizontalS};border-radius:${borderRadiusSmall};font-size:${fontSizeBase200};line-height:${lineHeightBase200};font-weight:${fontWeightRegular}}:host([size='small'][icon-only]){min-width:24px;max-width:24px}:host([size='large']){min-height:40px;border-radius:${borderRadiusLarge};padding:0 ${spacingHorizontalL};font-size:${fontSizeBase400};line-height:${lineHeightBase400}}:host([size='large'][icon-only]){min-width:40px;max-width:40px}:host([size='large']) ::slotted(svg){font-size:24px;height:24px;width:24px}:host([shape='circular']),:host([shape='circular']:focus-visible){border-radius:${borderRadiusCircular}}:host([shape='square']),:host([shape='square']:focus-visible){border-radius:${borderRadiusNone}}:host([appearance='primary']){background-color:${colorBrandBackground};color:${colorNeutralForegroundOnBrand};border-color:transparent}:host([appearance='primary']:hover){background-color:${colorBrandBackgroundHover}}:host([appearance='primary']:hover),:host([appearance='primary']:hover:active){border-color:transparent;color:${colorNeutralForegroundOnBrand}}:host([appearance='primary']:hover:active){background-color:${colorBrandBackgroundPressed}}:host([appearance='primary']:focus-visible){border-color:${colorNeutralForegroundOnBrand};box-shadow:${shadow2},0 0 0 2px ${colorStrokeFocus2}}:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary'])),:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover),:host(:is([disabled][appearance='primary'],[disabled-focusabale][appearance='primary']):hover:active){border-color:transparent}:host([appearance='outline']){background-color:${colorTransparentBackground}}:host([appearance='outline']:hover){background-color:${colorTransparentBackgroundHover}}:host([appearance='outline']:hover:active){background-color:${colorTransparentBackgroundPressed}}:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline'])),:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover),:host(:is([disabled][appearance='outline'],[disabled-focusabale][appearance='outline']):hover:active){background-color:${colorTransparentBackground}}:host([appearance='subtle']){background-color:${colorSubtleBackground};color:${colorNeutralForeground2};border-color:transparent}:host([appearance='subtle']:hover){background-color:${colorSubtleBackgroundHover};color:${colorNeutralForeground2Hover};border-color:transparent}:host([appearance='subtle']:hover:active){background-color:${colorSubtleBackgroundPressed};color:${colorNeutralForeground2Pressed};border-color:transparent}:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle'])),:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover),:host(:is([disabled][appearance='subtle'],[disabled-focusabale][appearance='subtle']):hover:active){background-color:${colorTransparentBackground};border-color:transparent}:host([appearance='subtle']:hover) ::slotted(svg){fill:${colorNeutralForeground2BrandHover}}:host([appearance='subtle']:hover:active) ::slotted(svg){fill:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']){background-color:${colorTransparentBackground};color:${colorNeutralForeground2}}:host([appearance='transparent']:hover){background-color:${colorTransparentBackgroundHover};color:${colorNeutralForeground2BrandHover}}:host([appearance='transparent']:hover:active){background-color:${colorTransparentBackgroundPressed};color:${colorNeutralForeground2BrandPressed}}:host([appearance='transparent']),:host([appearance='transparent']:hover),:host([appearance='transparent']:hover:active){border-color:transparent}:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent'])),:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover),:host(:is([disabled][appearance='transparent'],[disabled-focusabale][appearance='transparent']):hover:active){border-color:transparent;background-color:${colorTransparentBackground}}:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable])),:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover),:host(:is([disabled],[disabled-focusable],[appearance][disabled],[appearance][disabled-focusable]):hover:active){background-color:${colorNeutralBackgroundDisabled};border-color:${colorNeutralStrokeDisabled};color:${colorNeutralForegroundDisabled};cursor:not-allowed}`.withBehaviors(forcedColorsStylesheetBehavior(css`
|
|
5516
5765
|
:host([appearance='transparent']:hover){border-color:Highlight}`));
|
|
5517
5766
|
|
|
5518
5767
|
const definition$n = Button.compose({
|
|
@@ -5529,9 +5778,32 @@ function FormAssociated(BaseCtor) {
|
|
|
5529
5778
|
const C = class extends BaseCtor {
|
|
5530
5779
|
constructor(...args) {
|
|
5531
5780
|
super(...args);
|
|
5781
|
+
/**
|
|
5782
|
+
* Track whether the value has been changed from the initial value
|
|
5783
|
+
*/
|
|
5532
5784
|
this.dirtyValue = false;
|
|
5785
|
+
/**
|
|
5786
|
+
* The initial value of the form. This value sets the `value` property
|
|
5787
|
+
* only when the `value` property has not been explicitly set.
|
|
5788
|
+
*
|
|
5789
|
+
* @remarks
|
|
5790
|
+
* HTML Attribute: value
|
|
5791
|
+
*/
|
|
5533
5792
|
this.initialValue = "";
|
|
5793
|
+
/**
|
|
5794
|
+
* Sets the element's disabled state. A disabled element will not be included during form submission.
|
|
5795
|
+
*
|
|
5796
|
+
* @remarks
|
|
5797
|
+
* HTML Attribute: disabled
|
|
5798
|
+
*/
|
|
5534
5799
|
this.disabled = false;
|
|
5800
|
+
/**
|
|
5801
|
+
* These are events that are still fired by the proxy
|
|
5802
|
+
* element based on user / programmatic interaction.
|
|
5803
|
+
*
|
|
5804
|
+
* The proxy implementation should be transparent to
|
|
5805
|
+
* the app author, so block these events from emitting.
|
|
5806
|
+
*/
|
|
5535
5807
|
this.proxyEventsToBlock = ["change", "click"];
|
|
5536
5808
|
this.proxyInitialized = false;
|
|
5537
5809
|
this.required = false;
|
|
@@ -5540,21 +5812,51 @@ function FormAssociated(BaseCtor) {
|
|
|
5540
5812
|
this.formResetCallback = this.formResetCallback.bind(this);
|
|
5541
5813
|
}
|
|
5542
5814
|
}
|
|
5815
|
+
/**
|
|
5816
|
+
* Must evaluate to true to enable elementInternals.
|
|
5817
|
+
* Feature detects API support and resolve respectively
|
|
5818
|
+
*
|
|
5819
|
+
* @internal
|
|
5820
|
+
*/
|
|
5543
5821
|
static get formAssociated() {
|
|
5544
5822
|
return supportsElementInternals;
|
|
5545
5823
|
}
|
|
5824
|
+
/**
|
|
5825
|
+
* Returns the validity state of the element
|
|
5826
|
+
*
|
|
5827
|
+
* @beta
|
|
5828
|
+
*/
|
|
5546
5829
|
get validity() {
|
|
5547
5830
|
return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
|
|
5548
5831
|
}
|
|
5832
|
+
/**
|
|
5833
|
+
* Retrieve a reference to the associated form.
|
|
5834
|
+
* Returns null if not associated to any form.
|
|
5835
|
+
*
|
|
5836
|
+
* @beta
|
|
5837
|
+
*/
|
|
5549
5838
|
get form() {
|
|
5550
5839
|
return this.elementInternals ? this.elementInternals.form : this.proxy.form;
|
|
5551
5840
|
}
|
|
5841
|
+
/**
|
|
5842
|
+
* Retrieve the localized validation message,
|
|
5843
|
+
* or custom validation message if set.
|
|
5844
|
+
*
|
|
5845
|
+
* @beta
|
|
5846
|
+
*/
|
|
5552
5847
|
get validationMessage() {
|
|
5553
5848
|
return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
|
|
5554
5849
|
}
|
|
5850
|
+
/**
|
|
5851
|
+
* Whether the element will be validated when the
|
|
5852
|
+
* form is submitted
|
|
5853
|
+
*/
|
|
5555
5854
|
get willValidate() {
|
|
5556
5855
|
return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
|
|
5557
5856
|
}
|
|
5857
|
+
/**
|
|
5858
|
+
* A reference to all associated label elements
|
|
5859
|
+
*/
|
|
5558
5860
|
get labels() {
|
|
5559
5861
|
if (this.elementInternals) {
|
|
5560
5862
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
@@ -5567,6 +5869,16 @@ function FormAssociated(BaseCtor) {
|
|
|
5567
5869
|
return emptyArray;
|
|
5568
5870
|
}
|
|
5569
5871
|
}
|
|
5872
|
+
/**
|
|
5873
|
+
* Invoked when the `value` property changes
|
|
5874
|
+
* @param previous - the previous value
|
|
5875
|
+
* @param next - the new value
|
|
5876
|
+
*
|
|
5877
|
+
* @remarks
|
|
5878
|
+
* If elements extending `FormAssociated` implement a `valueChanged` method
|
|
5879
|
+
* They must be sure to invoke `super.valueChanged(previous, next)` to ensure
|
|
5880
|
+
* proper functioning of `FormAssociated`
|
|
5881
|
+
*/
|
|
5570
5882
|
valueChanged(previous, next) {
|
|
5571
5883
|
this.dirtyValue = true;
|
|
5572
5884
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -5579,23 +5891,67 @@ function FormAssociated(BaseCtor) {
|
|
|
5579
5891
|
currentValueChanged() {
|
|
5580
5892
|
this.value = this.currentValue;
|
|
5581
5893
|
}
|
|
5894
|
+
/**
|
|
5895
|
+
* Invoked when the `initialValue` property changes
|
|
5896
|
+
*
|
|
5897
|
+
* @param previous - the previous value
|
|
5898
|
+
* @param next - the new value
|
|
5899
|
+
*
|
|
5900
|
+
* @remarks
|
|
5901
|
+
* If elements extending `FormAssociated` implement a `initialValueChanged` method
|
|
5902
|
+
* They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
|
|
5903
|
+
* proper functioning of `FormAssociated`
|
|
5904
|
+
*/
|
|
5582
5905
|
initialValueChanged(previous, next) {
|
|
5583
5906
|
if (!this.dirtyValue) {
|
|
5584
5907
|
this.value = this.initialValue;
|
|
5585
5908
|
this.dirtyValue = false;
|
|
5586
5909
|
}
|
|
5587
5910
|
}
|
|
5911
|
+
/**
|
|
5912
|
+
* Invoked when the `disabled` property changes
|
|
5913
|
+
*
|
|
5914
|
+
* @param previous - the previous value
|
|
5915
|
+
* @param next - the new value
|
|
5916
|
+
*
|
|
5917
|
+
* @remarks
|
|
5918
|
+
* If elements extending `FormAssociated` implement a `disabledChanged` method
|
|
5919
|
+
* They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
|
|
5920
|
+
* proper functioning of `FormAssociated`
|
|
5921
|
+
*/
|
|
5588
5922
|
disabledChanged(previous, next) {
|
|
5589
5923
|
if (this.proxy instanceof HTMLElement) {
|
|
5590
5924
|
this.proxy.disabled = this.disabled;
|
|
5591
5925
|
}
|
|
5592
5926
|
Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
|
|
5593
5927
|
}
|
|
5928
|
+
/**
|
|
5929
|
+
* Invoked when the `name` property changes
|
|
5930
|
+
*
|
|
5931
|
+
* @param previous - the previous value
|
|
5932
|
+
* @param next - the new value
|
|
5933
|
+
*
|
|
5934
|
+
* @remarks
|
|
5935
|
+
* If elements extending `FormAssociated` implement a `nameChanged` method
|
|
5936
|
+
* They must be sure to invoke `super.nameChanged(previous, next)` to ensure
|
|
5937
|
+
* proper functioning of `FormAssociated`
|
|
5938
|
+
*/
|
|
5594
5939
|
nameChanged(previous, next) {
|
|
5595
5940
|
if (this.proxy instanceof HTMLElement) {
|
|
5596
5941
|
this.proxy.name = this.name;
|
|
5597
5942
|
}
|
|
5598
5943
|
}
|
|
5944
|
+
/**
|
|
5945
|
+
* Invoked when the `required` property changes
|
|
5946
|
+
*
|
|
5947
|
+
* @param previous - the previous value
|
|
5948
|
+
* @param next - the new value
|
|
5949
|
+
*
|
|
5950
|
+
* @remarks
|
|
5951
|
+
* If elements extending `FormAssociated` implement a `requiredChanged` method
|
|
5952
|
+
* They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
|
|
5953
|
+
* proper functioning of `FormAssociated`
|
|
5954
|
+
*/
|
|
5599
5955
|
requiredChanged(prev, next) {
|
|
5600
5956
|
if (this.proxy instanceof HTMLElement) {
|
|
5601
5957
|
this.proxy.required = this.required;
|
|
@@ -5603,6 +5959,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5603
5959
|
Updates.enqueue(() => this.classList.toggle("required", this.required));
|
|
5604
5960
|
this.validate();
|
|
5605
5961
|
}
|
|
5962
|
+
/**
|
|
5963
|
+
* The element internals object. Will only exist
|
|
5964
|
+
* in browsers supporting the attachInternals API
|
|
5965
|
+
*/
|
|
5606
5966
|
get elementInternals() {
|
|
5607
5967
|
if (!supportsElementInternals) {
|
|
5608
5968
|
return null;
|
|
@@ -5614,6 +5974,9 @@ function FormAssociated(BaseCtor) {
|
|
|
5614
5974
|
}
|
|
5615
5975
|
return internals;
|
|
5616
5976
|
}
|
|
5977
|
+
/**
|
|
5978
|
+
* @internal
|
|
5979
|
+
*/
|
|
5617
5980
|
connectedCallback() {
|
|
5618
5981
|
super.connectedCallback();
|
|
5619
5982
|
this.addEventListener("keypress", this._keypressHandler);
|
|
@@ -5628,18 +5991,37 @@ function FormAssociated(BaseCtor) {
|
|
|
5628
5991
|
}
|
|
5629
5992
|
}
|
|
5630
5993
|
}
|
|
5994
|
+
/**
|
|
5995
|
+
* @internal
|
|
5996
|
+
*/
|
|
5631
5997
|
disconnectedCallback() {
|
|
5632
5998
|
this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
|
|
5633
5999
|
if (!this.elementInternals && this.form) {
|
|
5634
6000
|
this.form.removeEventListener("reset", this.formResetCallback);
|
|
5635
6001
|
}
|
|
5636
6002
|
}
|
|
6003
|
+
/**
|
|
6004
|
+
* Return the current validity of the element.
|
|
6005
|
+
*/
|
|
5637
6006
|
checkValidity() {
|
|
5638
6007
|
return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
|
|
5639
6008
|
}
|
|
6009
|
+
/**
|
|
6010
|
+
* Return the current validity of the element.
|
|
6011
|
+
* If false, fires an invalid event at the element.
|
|
6012
|
+
*/
|
|
5640
6013
|
reportValidity() {
|
|
5641
6014
|
return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
|
|
5642
6015
|
}
|
|
6016
|
+
/**
|
|
6017
|
+
* Set the validity of the control. In cases when the elementInternals object is not
|
|
6018
|
+
* available (and the proxy element is used to report validity), this function will
|
|
6019
|
+
* do nothing unless a message is provided, at which point the setCustomValidity method
|
|
6020
|
+
* of the proxy element will be invoked with the provided message.
|
|
6021
|
+
* @param flags - Validity flags
|
|
6022
|
+
* @param message - Optional message to supply
|
|
6023
|
+
* @param anchor - Optional element used by UA to display an interactive validation UI
|
|
6024
|
+
*/
|
|
5643
6025
|
setValidity(flags, message, anchor) {
|
|
5644
6026
|
if (this.elementInternals) {
|
|
5645
6027
|
this.elementInternals.setValidity(flags, message, anchor);
|
|
@@ -5647,6 +6029,11 @@ function FormAssociated(BaseCtor) {
|
|
|
5647
6029
|
this.proxy.setCustomValidity(message);
|
|
5648
6030
|
}
|
|
5649
6031
|
}
|
|
6032
|
+
/**
|
|
6033
|
+
* Invoked when a connected component's form or fieldset has its disabled
|
|
6034
|
+
* state changed.
|
|
6035
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
6036
|
+
*/
|
|
5650
6037
|
formDisabledCallback(disabled) {
|
|
5651
6038
|
this.disabled = disabled;
|
|
5652
6039
|
}
|
|
@@ -5654,8 +6041,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5654
6041
|
this.value = this.initialValue;
|
|
5655
6042
|
this.dirtyValue = false;
|
|
5656
6043
|
}
|
|
6044
|
+
/**
|
|
6045
|
+
* Attach the proxy element to the DOM
|
|
6046
|
+
*/
|
|
5657
6047
|
attachProxy() {
|
|
5658
|
-
var _a;
|
|
5659
6048
|
if (!this.proxyInitialized) {
|
|
5660
6049
|
this.proxyInitialized = true;
|
|
5661
6050
|
this.proxy.style.display = "none";
|
|
@@ -5672,19 +6061,27 @@ function FormAssociated(BaseCtor) {
|
|
|
5672
6061
|
this.proxySlot = document.createElement("slot");
|
|
5673
6062
|
this.proxySlot.setAttribute("name", proxySlotName);
|
|
5674
6063
|
}
|
|
5675
|
-
|
|
6064
|
+
this.shadowRoot?.appendChild(this.proxySlot);
|
|
5676
6065
|
this.appendChild(this.proxy);
|
|
5677
6066
|
}
|
|
6067
|
+
/**
|
|
6068
|
+
* Detach the proxy element from the DOM
|
|
6069
|
+
*/
|
|
5678
6070
|
detachProxy() {
|
|
5679
|
-
var _a;
|
|
5680
6071
|
this.removeChild(this.proxy);
|
|
5681
|
-
|
|
6072
|
+
this.shadowRoot?.removeChild(this.proxySlot);
|
|
5682
6073
|
}
|
|
6074
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
5683
6075
|
validate(anchor) {
|
|
5684
6076
|
if (this.proxy instanceof HTMLElement) {
|
|
5685
6077
|
this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
|
|
5686
6078
|
}
|
|
5687
6079
|
}
|
|
6080
|
+
/**
|
|
6081
|
+
* Associates the provided value (and optional state) with the parent form.
|
|
6082
|
+
* @param value - The value to set
|
|
6083
|
+
* @param state - The state object provided to during session restores and when autofilling.
|
|
6084
|
+
*/
|
|
5688
6085
|
setFormValue(value, state) {
|
|
5689
6086
|
if (this.elementInternals) {
|
|
5690
6087
|
this.elementInternals.setFormValue(value, state || value);
|
|
@@ -5695,11 +6092,15 @@ function FormAssociated(BaseCtor) {
|
|
|
5695
6092
|
case keyEnter:
|
|
5696
6093
|
if (this.form instanceof HTMLFormElement) {
|
|
5697
6094
|
const defaultButton = this.form.querySelector("[type=submit]");
|
|
5698
|
-
defaultButton
|
|
6095
|
+
defaultButton?.click();
|
|
5699
6096
|
}
|
|
5700
6097
|
break;
|
|
5701
6098
|
}
|
|
5702
6099
|
}
|
|
6100
|
+
/**
|
|
6101
|
+
* Used to stop propagation of proxy element events
|
|
6102
|
+
* @param e - Event object
|
|
6103
|
+
*/
|
|
5703
6104
|
stopPropagation(e) {
|
|
5704
6105
|
e.stopPropagation();
|
|
5705
6106
|
}
|
|
@@ -5726,14 +6127,35 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
5726
6127
|
class D extends C {
|
|
5727
6128
|
constructor(...args) {
|
|
5728
6129
|
super(args);
|
|
6130
|
+
/**
|
|
6131
|
+
* Tracks whether the "checked" property has been changed.
|
|
6132
|
+
* This is necessary to provide consistent behavior with
|
|
6133
|
+
* normal input checkboxes
|
|
6134
|
+
*/
|
|
5729
6135
|
this.dirtyChecked = false;
|
|
6136
|
+
/**
|
|
6137
|
+
* Provides the default checkedness of the input element
|
|
6138
|
+
* Passed down to proxy
|
|
6139
|
+
*
|
|
6140
|
+
* @public
|
|
6141
|
+
* @remarks
|
|
6142
|
+
* HTML Attribute: checked
|
|
6143
|
+
*/
|
|
5730
6144
|
this.checkedAttribute = false;
|
|
6145
|
+
/**
|
|
6146
|
+
* The checked state of the control.
|
|
6147
|
+
*
|
|
6148
|
+
* @public
|
|
6149
|
+
*/
|
|
5731
6150
|
this.checked = false;
|
|
5732
6151
|
this.dirtyChecked = false;
|
|
5733
6152
|
}
|
|
5734
6153
|
checkedAttributeChanged() {
|
|
5735
6154
|
this.defaultChecked = this.checkedAttribute;
|
|
5736
6155
|
}
|
|
6156
|
+
/**
|
|
6157
|
+
* @internal
|
|
6158
|
+
*/
|
|
5737
6159
|
defaultCheckedChanged() {
|
|
5738
6160
|
if (!this.dirtyChecked) {
|
|
5739
6161
|
this.checked = this.defaultChecked;
|
|
@@ -5803,8 +6225,17 @@ var __decorateClass$k = (decorators, target, key, kind) => {
|
|
|
5803
6225
|
class Checkbox extends FormAssociatedCheckbox {
|
|
5804
6226
|
constructor() {
|
|
5805
6227
|
super();
|
|
6228
|
+
/**
|
|
6229
|
+
* The element's value to be included in form submission when checked.
|
|
6230
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
6231
|
+
*
|
|
6232
|
+
* @internal
|
|
6233
|
+
*/
|
|
5806
6234
|
this.initialValue = "on";
|
|
5807
6235
|
this.indeterminate = false;
|
|
6236
|
+
/**
|
|
6237
|
+
* @internal
|
|
6238
|
+
*/
|
|
5808
6239
|
this.keypressHandler = e => {
|
|
5809
6240
|
if (this.disabled) {
|
|
5810
6241
|
return;
|
|
@@ -5815,6 +6246,9 @@ class Checkbox extends FormAssociatedCheckbox {
|
|
|
5815
6246
|
break;
|
|
5816
6247
|
}
|
|
5817
6248
|
};
|
|
6249
|
+
/**
|
|
6250
|
+
* @internal
|
|
6251
|
+
*/
|
|
5818
6252
|
this.clickHandler = e => {
|
|
5819
6253
|
if (!this.disabled) {
|
|
5820
6254
|
this.toggleChecked();
|
|
@@ -5931,9 +6365,14 @@ class CounterBadge extends FASTElement {
|
|
|
5931
6365
|
overflowCountChanged() {
|
|
5932
6366
|
this.setCount();
|
|
5933
6367
|
}
|
|
6368
|
+
/**
|
|
6369
|
+
* @internal
|
|
6370
|
+
* Function to set the count
|
|
6371
|
+
* This is the default slotted content for the counter badge
|
|
6372
|
+
* If children are slotted, that will override the value returned
|
|
6373
|
+
*/
|
|
5934
6374
|
setCount() {
|
|
5935
|
-
|
|
5936
|
-
const count = (_a = this.count) != null ? _a : 0;
|
|
6375
|
+
const count = this.count ?? 0;
|
|
5937
6376
|
if ((count !== 0 || this.showZero) && !this.dot) {
|
|
5938
6377
|
return count > this.overflowCount ? `${this.overflowCount}+` : `${count}`;
|
|
5939
6378
|
}
|
|
@@ -6374,21 +6813,40 @@ var __decorateClass$i = (decorators, target, key, kind) => {
|
|
|
6374
6813
|
if (kind && result) __defProp$i(target, key, result);
|
|
6375
6814
|
return result;
|
|
6376
6815
|
};
|
|
6377
|
-
const _Dialog = class extends FASTElement {
|
|
6816
|
+
const _Dialog = class _Dialog extends FASTElement {
|
|
6378
6817
|
constructor() {
|
|
6379
6818
|
super(...arguments);
|
|
6819
|
+
/**
|
|
6820
|
+
* @private
|
|
6821
|
+
* Indicates whether focus is being trapped within the dialog
|
|
6822
|
+
*/
|
|
6380
6823
|
this.isTrappingFocus = false;
|
|
6381
6824
|
this.titleAction = [];
|
|
6382
6825
|
this.modalType = DialogModalType.modal;
|
|
6383
6826
|
this.open = false;
|
|
6384
6827
|
this.noTitleAction = false;
|
|
6828
|
+
/**
|
|
6829
|
+
* @private
|
|
6830
|
+
* Indicates whether focus should be trapped within the dialog
|
|
6831
|
+
*/
|
|
6385
6832
|
this.trapFocus = false;
|
|
6833
|
+
/**
|
|
6834
|
+
* @public
|
|
6835
|
+
* Method to emit an event when the dialog's open state changes
|
|
6836
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
6837
|
+
*/
|
|
6386
6838
|
this.onOpenChangeEvent = (dismissed = false) => {
|
|
6387
6839
|
this.$emit("onOpenChange", {
|
|
6388
6840
|
open: this.dialog.open,
|
|
6389
6841
|
dismissed
|
|
6390
6842
|
});
|
|
6391
6843
|
};
|
|
6844
|
+
/**
|
|
6845
|
+
* @public
|
|
6846
|
+
* Handles keydown events on the dialog
|
|
6847
|
+
* @param e - The keydown event
|
|
6848
|
+
* @returns boolean | void
|
|
6849
|
+
*/
|
|
6392
6850
|
this.handleKeydown = e => {
|
|
6393
6851
|
if (e.defaultPrevented) {
|
|
6394
6852
|
return;
|
|
@@ -6404,6 +6862,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6404
6862
|
return true;
|
|
6405
6863
|
}
|
|
6406
6864
|
};
|
|
6865
|
+
/**
|
|
6866
|
+
* @private
|
|
6867
|
+
* Handles keydown events on the document
|
|
6868
|
+
* @param e - The keydown event
|
|
6869
|
+
*/
|
|
6407
6870
|
this.handleDocumentKeydown = e => {
|
|
6408
6871
|
if (!e.defaultPrevented && this.dialog.open) {
|
|
6409
6872
|
switch (e.key) {
|
|
@@ -6413,6 +6876,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6413
6876
|
}
|
|
6414
6877
|
}
|
|
6415
6878
|
};
|
|
6879
|
+
/**
|
|
6880
|
+
* @private
|
|
6881
|
+
* Handles tab keydown events
|
|
6882
|
+
* @param e - The keydown event
|
|
6883
|
+
*/
|
|
6416
6884
|
this.handleTabKeyDown = e => {
|
|
6417
6885
|
if (!this.trapFocus || !this.dialog.open) {
|
|
6418
6886
|
return;
|
|
@@ -6432,10 +6900,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6432
6900
|
}
|
|
6433
6901
|
return;
|
|
6434
6902
|
};
|
|
6903
|
+
/**
|
|
6904
|
+
* @private
|
|
6905
|
+
* Gets the bounds of the tab queue
|
|
6906
|
+
* @returns (HTMLElement | SVGElement)[]
|
|
6907
|
+
*/
|
|
6435
6908
|
this.getTabQueueBounds = () => {
|
|
6436
6909
|
const bounds = [];
|
|
6437
6910
|
return _Dialog.reduceTabbableItems(bounds, this);
|
|
6438
6911
|
};
|
|
6912
|
+
/**
|
|
6913
|
+
* @private
|
|
6914
|
+
* Focuses the first element in the tab queue
|
|
6915
|
+
*/
|
|
6439
6916
|
this.focusFirstElement = () => {
|
|
6440
6917
|
const bounds = this.getTabQueueBounds();
|
|
6441
6918
|
if (bounds.length > 0) {
|
|
@@ -6446,18 +6923,39 @@ const _Dialog = class extends FASTElement {
|
|
|
6446
6923
|
}
|
|
6447
6924
|
}
|
|
6448
6925
|
};
|
|
6926
|
+
/**
|
|
6927
|
+
* @private
|
|
6928
|
+
* Determines if focus should be forced
|
|
6929
|
+
* @param currentFocusElement - The currently focused element
|
|
6930
|
+
* @returns boolean
|
|
6931
|
+
*/
|
|
6449
6932
|
this.shouldForceFocus = currentFocusElement => {
|
|
6450
6933
|
return this.isTrappingFocus && !this.contains(currentFocusElement);
|
|
6451
6934
|
};
|
|
6935
|
+
/**
|
|
6936
|
+
* @private
|
|
6937
|
+
* Determines if focus should be trapped
|
|
6938
|
+
* @returns boolean
|
|
6939
|
+
*/
|
|
6452
6940
|
this.shouldTrapFocus = () => {
|
|
6453
6941
|
return this.trapFocus && this.dialog.open;
|
|
6454
6942
|
};
|
|
6943
|
+
/**
|
|
6944
|
+
* @private
|
|
6945
|
+
* Handles focus events on the document
|
|
6946
|
+
* @param e - The focus event
|
|
6947
|
+
*/
|
|
6455
6948
|
this.handleDocumentFocus = e => {
|
|
6456
6949
|
if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
|
|
6457
6950
|
this.focusFirstElement();
|
|
6458
6951
|
e.preventDefault();
|
|
6459
6952
|
}
|
|
6460
6953
|
};
|
|
6954
|
+
/**
|
|
6955
|
+
* @private
|
|
6956
|
+
* Updates the state of focus trapping
|
|
6957
|
+
* @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
|
|
6958
|
+
*/
|
|
6461
6959
|
this.updateTrapFocus = shouldTrapFocusOverride => {
|
|
6462
6960
|
const shouldTrapFocus = shouldTrapFocusOverride === void 0 ? this.shouldTrapFocus() : shouldTrapFocusOverride;
|
|
6463
6961
|
if (shouldTrapFocus && !this.isTrappingFocus) {
|
|
@@ -6474,6 +6972,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6474
6972
|
}
|
|
6475
6973
|
};
|
|
6476
6974
|
}
|
|
6975
|
+
/**
|
|
6976
|
+
* @public
|
|
6977
|
+
* Lifecycle method called when the element is connected to the DOM
|
|
6978
|
+
*/
|
|
6477
6979
|
connectedCallback() {
|
|
6478
6980
|
super.connectedCallback();
|
|
6479
6981
|
document.addEventListener("keydown", this.handleDocumentKeydown);
|
|
@@ -6482,11 +6984,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6482
6984
|
this.setComponent();
|
|
6483
6985
|
});
|
|
6484
6986
|
}
|
|
6987
|
+
/**
|
|
6988
|
+
* @public
|
|
6989
|
+
* Lifecycle method called when the element is disconnected from the DOM
|
|
6990
|
+
*/
|
|
6485
6991
|
disconnectedCallback() {
|
|
6486
6992
|
super.disconnectedCallback();
|
|
6487
6993
|
document.removeEventListener("keydown", this.handleDocumentKeydown);
|
|
6488
6994
|
this.updateTrapFocus(false);
|
|
6489
6995
|
}
|
|
6996
|
+
/**
|
|
6997
|
+
* @public
|
|
6998
|
+
* Method called when the 'open' attribute changes
|
|
6999
|
+
*/
|
|
6490
7000
|
openChanged(oldValue, newValue) {
|
|
6491
7001
|
if (newValue !== oldValue) {
|
|
6492
7002
|
if (newValue && !oldValue) {
|
|
@@ -6496,6 +7006,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6496
7006
|
}
|
|
6497
7007
|
}
|
|
6498
7008
|
}
|
|
7009
|
+
/**
|
|
7010
|
+
* @public
|
|
7011
|
+
* Method called when the 'modalType' attribute changes
|
|
7012
|
+
*/
|
|
6499
7013
|
modalTypeChanged(oldValue, newValue) {
|
|
6500
7014
|
if (newValue !== oldValue) {
|
|
6501
7015
|
if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
|
|
@@ -6505,6 +7019,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6505
7019
|
}
|
|
6506
7020
|
}
|
|
6507
7021
|
}
|
|
7022
|
+
/**
|
|
7023
|
+
* @public
|
|
7024
|
+
* Method to set the component's state based on its attributes
|
|
7025
|
+
*/
|
|
6508
7026
|
setComponent() {
|
|
6509
7027
|
if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
|
|
6510
7028
|
this.trapFocus = true;
|
|
@@ -6512,6 +7030,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6512
7030
|
this.trapFocus = false;
|
|
6513
7031
|
}
|
|
6514
7032
|
}
|
|
7033
|
+
/**
|
|
7034
|
+
* @public
|
|
7035
|
+
* Method to show the dialog
|
|
7036
|
+
*/
|
|
6515
7037
|
show() {
|
|
6516
7038
|
Updates.enqueue(() => {
|
|
6517
7039
|
if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
|
|
@@ -6525,17 +7047,32 @@ const _Dialog = class extends FASTElement {
|
|
|
6525
7047
|
this.onOpenChangeEvent();
|
|
6526
7048
|
});
|
|
6527
7049
|
}
|
|
7050
|
+
/**
|
|
7051
|
+
* @public
|
|
7052
|
+
* Method to hide the dialog
|
|
7053
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
7054
|
+
*/
|
|
6528
7055
|
hide(dismissed = false) {
|
|
6529
7056
|
this.dialog.close();
|
|
6530
7057
|
this.open = false;
|
|
6531
7058
|
this.onOpenChangeEvent(dismissed);
|
|
6532
7059
|
}
|
|
7060
|
+
/**
|
|
7061
|
+
* @public
|
|
7062
|
+
* Method to dismiss the dialog
|
|
7063
|
+
*/
|
|
6533
7064
|
dismiss() {
|
|
6534
7065
|
if (this.modalType === DialogModalType.alert) {
|
|
6535
7066
|
return;
|
|
6536
7067
|
}
|
|
6537
7068
|
this.hide(true);
|
|
6538
7069
|
}
|
|
7070
|
+
/**
|
|
7071
|
+
* @public
|
|
7072
|
+
* Handles click events on the dialog
|
|
7073
|
+
* @param event - The click event
|
|
7074
|
+
* @returns boolean
|
|
7075
|
+
*/
|
|
6539
7076
|
handleClick(event) {
|
|
6540
7077
|
event.preventDefault();
|
|
6541
7078
|
if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
|
|
@@ -6543,6 +7080,13 @@ const _Dialog = class extends FASTElement {
|
|
|
6543
7080
|
}
|
|
6544
7081
|
return true;
|
|
6545
7082
|
}
|
|
7083
|
+
/**
|
|
7084
|
+
* @private
|
|
7085
|
+
* Reduces the list of tabbable items
|
|
7086
|
+
* @param elements - The current list of elements
|
|
7087
|
+
* @param element - The element to consider adding to the list
|
|
7088
|
+
* @returns HTMLElement[]
|
|
7089
|
+
*/
|
|
6546
7090
|
static reduceTabbableItems(elements, element) {
|
|
6547
7091
|
if (element.getAttribute("tabindex") === "-1") {
|
|
6548
7092
|
return elements;
|
|
@@ -6553,37 +7097,47 @@ const _Dialog = class extends FASTElement {
|
|
|
6553
7097
|
}
|
|
6554
7098
|
return Array.from(element.children).reduce((elements2, currentElement) => _Dialog.reduceTabbableItems(elements2, currentElement), elements);
|
|
6555
7099
|
}
|
|
7100
|
+
/**
|
|
7101
|
+
* @private
|
|
7102
|
+
* Determines if an element is a focusable FASTElement
|
|
7103
|
+
* @param element - The element to check
|
|
7104
|
+
* @returns boolean
|
|
7105
|
+
*/
|
|
6556
7106
|
static isFocusableFastElement(element) {
|
|
6557
|
-
|
|
6558
|
-
return !!((_b = (_a = element.$fastController) == null ? void 0 : _a.definition.shadowOptions) == null ? void 0 : _b.delegatesFocus);
|
|
7107
|
+
return !!element.$fastController?.definition.shadowOptions?.delegatesFocus;
|
|
6559
7108
|
}
|
|
7109
|
+
/**
|
|
7110
|
+
* @private
|
|
7111
|
+
* Determines if an element has a tabbable shadow
|
|
7112
|
+
* @param element - The element to check
|
|
7113
|
+
* @returns boolean
|
|
7114
|
+
*/
|
|
6560
7115
|
static hasTabbableShadow(element) {
|
|
6561
|
-
|
|
6562
|
-
return Array.from((_b = (_a = element.shadowRoot) == null ? void 0 : _a.querySelectorAll("*")) != null ? _b : []).some(x => {
|
|
7116
|
+
return Array.from(element.shadowRoot?.querySelectorAll("*") ?? []).some(x => {
|
|
6563
7117
|
return isTabbable(x);
|
|
6564
7118
|
});
|
|
6565
7119
|
}
|
|
6566
7120
|
};
|
|
6567
|
-
|
|
6568
|
-
__decorateClass$i([observable],
|
|
6569
|
-
__decorateClass$i([observable],
|
|
6570
|
-
__decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
|
|
7121
|
+
__decorateClass$i([observable], _Dialog.prototype, "dialog", 2);
|
|
7122
|
+
__decorateClass$i([observable], _Dialog.prototype, "titleAction", 2);
|
|
7123
|
+
__decorateClass$i([observable], _Dialog.prototype, "defaultTitleAction", 2);
|
|
6571
7124
|
__decorateClass$i([attr({
|
|
6572
7125
|
attribute: "aria-describedby"
|
|
6573
|
-
})],
|
|
7126
|
+
})], _Dialog.prototype, "ariaDescribedby", 2);
|
|
6574
7127
|
__decorateClass$i([attr({
|
|
6575
7128
|
attribute: "aria-labelledby"
|
|
6576
|
-
})],
|
|
7129
|
+
})], _Dialog.prototype, "ariaLabelledby", 2);
|
|
6577
7130
|
__decorateClass$i([attr({
|
|
6578
7131
|
attribute: "modal-type"
|
|
6579
|
-
})],
|
|
7132
|
+
})], _Dialog.prototype, "modalType", 2);
|
|
6580
7133
|
__decorateClass$i([attr({
|
|
6581
7134
|
mode: "boolean"
|
|
6582
|
-
})],
|
|
7135
|
+
})], _Dialog.prototype, "open", 2);
|
|
6583
7136
|
__decorateClass$i([attr({
|
|
6584
7137
|
mode: "boolean",
|
|
6585
7138
|
attribute: "no-title-action"
|
|
6586
|
-
})],
|
|
7139
|
+
})], _Dialog.prototype, "noTitleAction", 2);
|
|
7140
|
+
let Dialog = _Dialog;
|
|
6587
7141
|
|
|
6588
7142
|
const dismissed16Regular = html.partial(`
|
|
6589
7143
|
<svg
|
|
@@ -6616,7 +7170,13 @@ const definition$j = Dialog.compose({
|
|
|
6616
7170
|
});
|
|
6617
7171
|
|
|
6618
7172
|
const DividerRole = {
|
|
7173
|
+
/**
|
|
7174
|
+
* The divider semantically separates content
|
|
7175
|
+
*/
|
|
6619
7176
|
separator: "separator",
|
|
7177
|
+
/**
|
|
7178
|
+
* The divider has no semantic value and is for visual presentation only.
|
|
7179
|
+
*/
|
|
6620
7180
|
presentation: "presentation"
|
|
6621
7181
|
};
|
|
6622
7182
|
const DividerOrientation = Orientation;
|
|
@@ -7702,6 +8262,10 @@ class Menu extends FASTElement {
|
|
|
7702
8262
|
this.open = false;
|
|
7703
8263
|
this.slottedMenuList = [];
|
|
7704
8264
|
this.slottedTriggers = [];
|
|
8265
|
+
/**
|
|
8266
|
+
* Toggles the open state of the menu.
|
|
8267
|
+
* @public
|
|
8268
|
+
*/
|
|
7705
8269
|
this.toggleMenu = () => {
|
|
7706
8270
|
if (this.open) {
|
|
7707
8271
|
this.closeMenu();
|
|
@@ -7709,13 +8273,21 @@ class Menu extends FASTElement {
|
|
|
7709
8273
|
this.openMenu();
|
|
7710
8274
|
}
|
|
7711
8275
|
};
|
|
8276
|
+
/**
|
|
8277
|
+
* Closes the menu.
|
|
8278
|
+
* @public
|
|
8279
|
+
*/
|
|
7712
8280
|
this.closeMenu = () => {
|
|
7713
8281
|
this.open = false;
|
|
7714
8282
|
if (this.closeOnScroll) {
|
|
7715
8283
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7716
8284
|
}
|
|
7717
8285
|
};
|
|
7718
|
-
|
|
8286
|
+
/**
|
|
8287
|
+
* Opens the menu.
|
|
8288
|
+
* @public
|
|
8289
|
+
*/
|
|
8290
|
+
this.openMenu = e => {
|
|
7719
8291
|
this.open = true;
|
|
7720
8292
|
if (e && this.openOnContext) {
|
|
7721
8293
|
e.preventDefault();
|
|
@@ -7724,9 +8296,20 @@ class Menu extends FASTElement {
|
|
|
7724
8296
|
document.addEventListener("scroll", this.closeMenu);
|
|
7725
8297
|
}
|
|
7726
8298
|
};
|
|
8299
|
+
/**
|
|
8300
|
+
* The task to set the positioning of the menu.
|
|
8301
|
+
* @protected
|
|
8302
|
+
*/
|
|
7727
8303
|
this.setPositioningTask = () => {
|
|
7728
8304
|
this.setPositioning();
|
|
7729
8305
|
};
|
|
8306
|
+
/**
|
|
8307
|
+
* Handles keyboard interaction for the trigger.
|
|
8308
|
+
* Toggles the menu when the Space or Enter key is pressed.
|
|
8309
|
+
* If the menu is open, focuses on the menu list.
|
|
8310
|
+
* @public
|
|
8311
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8312
|
+
*/
|
|
7730
8313
|
this.handleTriggerKeydown = e => {
|
|
7731
8314
|
if (e.defaultPrevented) {
|
|
7732
8315
|
return;
|
|
@@ -7745,22 +8328,41 @@ class Menu extends FASTElement {
|
|
|
7745
8328
|
return true;
|
|
7746
8329
|
}
|
|
7747
8330
|
};
|
|
8331
|
+
/**
|
|
8332
|
+
* Handles document click events to close the menu when a click occurs outside of the menu or the trigger.
|
|
8333
|
+
* @private
|
|
8334
|
+
* @param {Event} e - The event triggered on document click.
|
|
8335
|
+
*/
|
|
7748
8336
|
this.handleDocumentClick = e => {
|
|
7749
8337
|
if (e && !e.composedPath().includes(this._menuList) && !e.composedPath().includes(this._trigger)) {
|
|
7750
8338
|
this.closeMenu();
|
|
7751
8339
|
}
|
|
7752
8340
|
};
|
|
7753
8341
|
}
|
|
8342
|
+
/**
|
|
8343
|
+
* Called when the element is connected to the DOM.
|
|
8344
|
+
* Sets up the component.
|
|
8345
|
+
* @public
|
|
8346
|
+
*/
|
|
7754
8347
|
connectedCallback() {
|
|
7755
8348
|
super.connectedCallback();
|
|
7756
8349
|
Updates.enqueue(() => this.setComponent());
|
|
7757
8350
|
}
|
|
8351
|
+
/**
|
|
8352
|
+
* Called when the element is disconnected from the DOM.
|
|
8353
|
+
* Removes event listeners.
|
|
8354
|
+
* @public
|
|
8355
|
+
*/
|
|
7758
8356
|
disconnectedCallback() {
|
|
7759
|
-
var _a;
|
|
7760
8357
|
super.disconnectedCallback();
|
|
7761
|
-
|
|
8358
|
+
this.cleanup?.();
|
|
7762
8359
|
this.removeListeners();
|
|
7763
8360
|
}
|
|
8361
|
+
/**
|
|
8362
|
+
* Sets the component.
|
|
8363
|
+
* Sets the trigger and menu list elements and adds event listeners.
|
|
8364
|
+
* @public
|
|
8365
|
+
*/
|
|
7764
8366
|
setComponent() {
|
|
7765
8367
|
if (this.$fastController.isConnected && this.slottedMenuList.length && this.slottedTriggers.length) {
|
|
7766
8368
|
this._trigger = this.slottedTriggers[0];
|
|
@@ -7770,6 +8372,10 @@ class Menu extends FASTElement {
|
|
|
7770
8372
|
this.addListeners();
|
|
7771
8373
|
}
|
|
7772
8374
|
}
|
|
8375
|
+
/**
|
|
8376
|
+
* Focuses on the menu list.
|
|
8377
|
+
* @public
|
|
8378
|
+
*/
|
|
7773
8379
|
focusMenuList() {
|
|
7774
8380
|
if (this.open && this._menuList) {
|
|
7775
8381
|
Updates.enqueue(() => {
|
|
@@ -7777,6 +8383,10 @@ class Menu extends FASTElement {
|
|
|
7777
8383
|
});
|
|
7778
8384
|
}
|
|
7779
8385
|
}
|
|
8386
|
+
/**
|
|
8387
|
+
* Focuses on the menu trigger.
|
|
8388
|
+
* @public
|
|
8389
|
+
*/
|
|
7780
8390
|
focusTrigger() {
|
|
7781
8391
|
if (!this.open && this._trigger) {
|
|
7782
8392
|
Updates.enqueue(() => {
|
|
@@ -7784,43 +8394,76 @@ class Menu extends FASTElement {
|
|
|
7784
8394
|
});
|
|
7785
8395
|
}
|
|
7786
8396
|
}
|
|
8397
|
+
/**
|
|
8398
|
+
* Called whenever the open state changes.
|
|
8399
|
+
* Updates the 'aria-expanded' attribute and sets the positioning of the menu.
|
|
8400
|
+
* Sets menu list position
|
|
8401
|
+
* emits openChanged event
|
|
8402
|
+
* @public
|
|
8403
|
+
* @param {boolean} oldValue - The previous value of 'open'.
|
|
8404
|
+
* @param {boolean} newValue - The new value of 'open'.
|
|
8405
|
+
*/
|
|
7787
8406
|
openChanged(oldValue, newValue) {
|
|
7788
|
-
var _a;
|
|
7789
8407
|
if (this.$fastController.isConnected && this._trigger instanceof HTMLElement) {
|
|
7790
8408
|
this._trigger.setAttribute("aria-expanded", `${this.open}`);
|
|
7791
8409
|
if (this._menuList && this.open) {
|
|
7792
8410
|
Updates.enqueue(this.setPositioningTask);
|
|
7793
8411
|
}
|
|
7794
8412
|
}
|
|
7795
|
-
|
|
8413
|
+
this.cleanup?.();
|
|
7796
8414
|
this.$emit("onOpenChange", {
|
|
7797
8415
|
open: newValue
|
|
7798
8416
|
});
|
|
7799
8417
|
}
|
|
8418
|
+
/**
|
|
8419
|
+
* Called whenever the 'openOnHover' property changes.
|
|
8420
|
+
* Adds or removes a 'mouseover' event listener to the trigger based on the new value.
|
|
8421
|
+
* @public
|
|
8422
|
+
* @param {boolean} oldValue - The previous value of 'openOnHover'.
|
|
8423
|
+
* @param {boolean} newValue - The new value of 'openOnHover'.
|
|
8424
|
+
*/
|
|
7800
8425
|
openOnHoverChanged(oldValue, newValue) {
|
|
7801
|
-
var _a, _b;
|
|
7802
8426
|
if (newValue) {
|
|
7803
|
-
|
|
8427
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7804
8428
|
} else {
|
|
7805
|
-
|
|
8429
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7806
8430
|
}
|
|
7807
8431
|
}
|
|
8432
|
+
/**
|
|
8433
|
+
* Called whenever the 'persistOnItemClick' property changes.
|
|
8434
|
+
* Adds or removes a 'click' event listener to the menu list based on the new value.
|
|
8435
|
+
* @public
|
|
8436
|
+
* @param {boolean} oldValue - The previous value of 'persistOnItemClick'.
|
|
8437
|
+
* @param {boolean} newValue - The new value of 'persistOnItemClick'.
|
|
8438
|
+
*/
|
|
7808
8439
|
persistOnItemClickChanged(oldValue, newValue) {
|
|
7809
|
-
var _a, _b;
|
|
7810
8440
|
if (!newValue) {
|
|
7811
|
-
|
|
8441
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7812
8442
|
} else {
|
|
7813
|
-
|
|
8443
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7814
8444
|
}
|
|
7815
8445
|
}
|
|
8446
|
+
/**
|
|
8447
|
+
* Called whenever the 'openOnContext' property changes.
|
|
8448
|
+
* Adds or removes a 'contextmenu' event listener to the trigger based on the new value.
|
|
8449
|
+
* @public
|
|
8450
|
+
* @param {boolean} oldValue - The previous value of 'openOnContext'.
|
|
8451
|
+
* @param {boolean} newValue - The new value of 'openOnContext'.
|
|
8452
|
+
*/
|
|
7816
8453
|
openOnContextChanged(oldValue, newValue) {
|
|
7817
|
-
var _a, _b;
|
|
7818
8454
|
if (newValue) {
|
|
7819
|
-
|
|
8455
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7820
8456
|
} else {
|
|
7821
|
-
|
|
8457
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7822
8458
|
}
|
|
7823
8459
|
}
|
|
8460
|
+
/**
|
|
8461
|
+
* Called whenever the 'closeOnScroll' property changes.
|
|
8462
|
+
* Adds or removes a 'closeOnScroll' event listener to the trigger based on the new value.
|
|
8463
|
+
* @public
|
|
8464
|
+
* @param {boolean} oldValue - The previous value of 'closeOnScroll'.
|
|
8465
|
+
* @param {boolean} newValue - The new value of 'closeOnScroll'.
|
|
8466
|
+
*/
|
|
7824
8467
|
closeOnScrollChanged(oldValue, newValue) {
|
|
7825
8468
|
if (newValue) {
|
|
7826
8469
|
document.addEventListener("scroll", this.closeMenu);
|
|
@@ -7828,10 +8471,13 @@ class Menu extends FASTElement {
|
|
|
7828
8471
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7829
8472
|
}
|
|
7830
8473
|
}
|
|
8474
|
+
/**
|
|
8475
|
+
* Sets the positioning of the menu.
|
|
8476
|
+
* @protected
|
|
8477
|
+
*/
|
|
7831
8478
|
setPositioning() {
|
|
7832
8479
|
if (this.$fastController.isConnected && this._menuList && this.open && this._trigger) {
|
|
7833
8480
|
this.cleanup = P(this, this.positioningContainer, async () => {
|
|
7834
|
-
var _a, _b;
|
|
7835
8481
|
const {
|
|
7836
8482
|
middlewareData,
|
|
7837
8483
|
x,
|
|
@@ -7844,19 +8490,18 @@ class Menu extends FASTElement {
|
|
|
7844
8490
|
availableHeight,
|
|
7845
8491
|
rects
|
|
7846
8492
|
}) => {
|
|
7847
|
-
|
|
7848
|
-
((_a2 = this.positioningContainer) == null ? void 0 : _a2.style) && Object.assign(this.positioningContainer.style, {
|
|
8493
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7849
8494
|
maxHeight: `${availableHeight}px`,
|
|
7850
8495
|
width: `${rects.reference.width}px`
|
|
7851
8496
|
});
|
|
7852
8497
|
}
|
|
7853
8498
|
}), P$1()]
|
|
7854
8499
|
});
|
|
7855
|
-
if (
|
|
8500
|
+
if (middlewareData.hide?.referenceHidden) {
|
|
7856
8501
|
this.open = false;
|
|
7857
8502
|
return;
|
|
7858
8503
|
}
|
|
7859
|
-
|
|
8504
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7860
8505
|
position: "fixed",
|
|
7861
8506
|
top: "0",
|
|
7862
8507
|
left: "0",
|
|
@@ -7865,37 +8510,54 @@ class Menu extends FASTElement {
|
|
|
7865
8510
|
});
|
|
7866
8511
|
}
|
|
7867
8512
|
}
|
|
8513
|
+
/**
|
|
8514
|
+
* Adds event listeners.
|
|
8515
|
+
* Adds click and keydown event listeners to the trigger and a click event listener to the document.
|
|
8516
|
+
* If 'openOnHover' is true, adds a 'mouseover' event listener to the trigger.
|
|
8517
|
+
* @public
|
|
8518
|
+
*/
|
|
7868
8519
|
addListeners() {
|
|
7869
|
-
var _a, _b, _c, _d, _e;
|
|
7870
8520
|
document.addEventListener("click", this.handleDocumentClick);
|
|
7871
|
-
|
|
8521
|
+
this._trigger?.addEventListener("keydown", this.handleTriggerKeydown);
|
|
7872
8522
|
if (!this.persistOnItemClick) {
|
|
7873
|
-
|
|
8523
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7874
8524
|
}
|
|
7875
8525
|
if (this.openOnHover) {
|
|
7876
|
-
|
|
8526
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7877
8527
|
} else if (this.openOnContext) {
|
|
7878
|
-
|
|
8528
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7879
8529
|
} else {
|
|
7880
|
-
|
|
8530
|
+
this._trigger?.addEventListener("click", this.toggleMenu);
|
|
7881
8531
|
}
|
|
7882
8532
|
}
|
|
8533
|
+
/**
|
|
8534
|
+
* Removes event listeners.
|
|
8535
|
+
* Removes click and keydown event listeners from the trigger and a click event listener from the document.
|
|
8536
|
+
* Also removes 'mouseover' event listeners from the trigger.
|
|
8537
|
+
* @private
|
|
8538
|
+
*/
|
|
7883
8539
|
removeListeners() {
|
|
7884
|
-
var _a, _b, _c, _d, _e;
|
|
7885
8540
|
document.removeEventListener("click", this.handleDocumentClick);
|
|
7886
|
-
|
|
8541
|
+
this._trigger?.removeEventListener("keydown", this.handleTriggerKeydown);
|
|
7887
8542
|
if (!this.persistOnItemClick) {
|
|
7888
|
-
|
|
8543
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7889
8544
|
}
|
|
7890
8545
|
if (this.openOnHover) {
|
|
7891
|
-
|
|
8546
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7892
8547
|
}
|
|
7893
8548
|
if (this.openOnContext) {
|
|
7894
|
-
|
|
8549
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7895
8550
|
} else {
|
|
7896
|
-
|
|
8551
|
+
this._trigger?.removeEventListener("click", this.toggleMenu);
|
|
7897
8552
|
}
|
|
7898
8553
|
}
|
|
8554
|
+
/**
|
|
8555
|
+
* Handles keyboard interaction for the menu.
|
|
8556
|
+
* Closes the menu and focuses on the trigger when the Escape key is pressed.
|
|
8557
|
+
* Closes the menu when the Tab key is pressed.
|
|
8558
|
+
* @public
|
|
8559
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8560
|
+
*/
|
|
7899
8561
|
handleMenuKeydown(e) {
|
|
7900
8562
|
if (e.defaultPrevented) {
|
|
7901
8563
|
return;
|
|
@@ -7970,7 +8632,8 @@ const MenuButtonShape = ButtonShape;
|
|
|
7970
8632
|
const MenuButtonSize = ButtonSize;
|
|
7971
8633
|
|
|
7972
8634
|
const template$e = buttonTemplate$1({
|
|
7973
|
-
end: html.partial(
|
|
8635
|
+
end: html.partial( /* html */
|
|
8636
|
+
`
|
|
7974
8637
|
<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
7975
8638
|
<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>
|
|
7976
8639
|
</svg>
|
|
@@ -7984,8 +8647,17 @@ const definition$e = MenuButton.compose({
|
|
|
7984
8647
|
});
|
|
7985
8648
|
|
|
7986
8649
|
const MenuItemRole = {
|
|
8650
|
+
/**
|
|
8651
|
+
* The menu item has a "menuitem" role
|
|
8652
|
+
*/
|
|
7987
8653
|
menuitem: "menuitem",
|
|
8654
|
+
/**
|
|
8655
|
+
* The menu item has a "menuitemcheckbox" role
|
|
8656
|
+
*/
|
|
7988
8657
|
menuitemcheckbox: "menuitemcheckbox",
|
|
8658
|
+
/**
|
|
8659
|
+
* The menu item has a "menuitemradio" role
|
|
8660
|
+
*/
|
|
7989
8661
|
menuitemradio: "menuitemradio"
|
|
7990
8662
|
};
|
|
7991
8663
|
const roleForMenuItem = {
|
|
@@ -8008,6 +8680,9 @@ class MenuItem extends FASTElement {
|
|
|
8008
8680
|
this.role = MenuItemRole.menuitem;
|
|
8009
8681
|
this.checked = false;
|
|
8010
8682
|
this.focusSubmenuOnLoad = false;
|
|
8683
|
+
/**
|
|
8684
|
+
* @internal
|
|
8685
|
+
*/
|
|
8011
8686
|
this.handleMenuItemKeyDown = e => {
|
|
8012
8687
|
if (e.defaultPrevented) {
|
|
8013
8688
|
return false;
|
|
@@ -8034,6 +8709,9 @@ class MenuItem extends FASTElement {
|
|
|
8034
8709
|
}
|
|
8035
8710
|
return true;
|
|
8036
8711
|
};
|
|
8712
|
+
/**
|
|
8713
|
+
* @internal
|
|
8714
|
+
*/
|
|
8037
8715
|
this.handleMenuItemClick = e => {
|
|
8038
8716
|
if (e.defaultPrevented || this.disabled) {
|
|
8039
8717
|
return false;
|
|
@@ -8041,6 +8719,9 @@ class MenuItem extends FASTElement {
|
|
|
8041
8719
|
this.invoke();
|
|
8042
8720
|
return false;
|
|
8043
8721
|
};
|
|
8722
|
+
/**
|
|
8723
|
+
* @internal
|
|
8724
|
+
*/
|
|
8044
8725
|
this.submenuLoaded = () => {
|
|
8045
8726
|
if (!this.focusSubmenuOnLoad) {
|
|
8046
8727
|
return;
|
|
@@ -8051,6 +8732,9 @@ class MenuItem extends FASTElement {
|
|
|
8051
8732
|
this.setAttribute("tabindex", "-1");
|
|
8052
8733
|
}
|
|
8053
8734
|
};
|
|
8735
|
+
/**
|
|
8736
|
+
* @internal
|
|
8737
|
+
*/
|
|
8054
8738
|
this.handleMouseOver = e => {
|
|
8055
8739
|
if (this.disabled || !this.hasSubmenu || this.expanded) {
|
|
8056
8740
|
return false;
|
|
@@ -8058,6 +8742,9 @@ class MenuItem extends FASTElement {
|
|
|
8058
8742
|
this.expanded = true;
|
|
8059
8743
|
return false;
|
|
8060
8744
|
};
|
|
8745
|
+
/**
|
|
8746
|
+
* @internal
|
|
8747
|
+
*/
|
|
8061
8748
|
this.handleMouseOut = e => {
|
|
8062
8749
|
if (!this.expanded || this.contains(document.activeElement)) {
|
|
8063
8750
|
return false;
|
|
@@ -8065,10 +8752,16 @@ class MenuItem extends FASTElement {
|
|
|
8065
8752
|
this.expanded = false;
|
|
8066
8753
|
return false;
|
|
8067
8754
|
};
|
|
8755
|
+
/**
|
|
8756
|
+
* @internal
|
|
8757
|
+
*/
|
|
8068
8758
|
this.closeSubMenu = () => {
|
|
8069
8759
|
this.expanded = false;
|
|
8070
8760
|
this.focus();
|
|
8071
8761
|
};
|
|
8762
|
+
/**
|
|
8763
|
+
* @internal
|
|
8764
|
+
*/
|
|
8072
8765
|
this.expandAndFocus = () => {
|
|
8073
8766
|
if (!this.hasSubmenu) {
|
|
8074
8767
|
return;
|
|
@@ -8076,6 +8769,9 @@ class MenuItem extends FASTElement {
|
|
|
8076
8769
|
this.focusSubmenuOnLoad = true;
|
|
8077
8770
|
this.expanded = true;
|
|
8078
8771
|
};
|
|
8772
|
+
/**
|
|
8773
|
+
* @internal
|
|
8774
|
+
*/
|
|
8079
8775
|
this.invoke = () => {
|
|
8080
8776
|
if (this.disabled) {
|
|
8081
8777
|
return;
|
|
@@ -8114,23 +8810,37 @@ class MenuItem extends FASTElement {
|
|
|
8114
8810
|
this.$emit("change");
|
|
8115
8811
|
}
|
|
8116
8812
|
}
|
|
8813
|
+
/**
|
|
8814
|
+
* @internal
|
|
8815
|
+
*/
|
|
8117
8816
|
get hasSubmenu() {
|
|
8118
8817
|
return !!this.submenu;
|
|
8119
8818
|
}
|
|
8819
|
+
/**
|
|
8820
|
+
* Sets the submenu and updates its position.
|
|
8821
|
+
*
|
|
8822
|
+
* @internal
|
|
8823
|
+
*/
|
|
8120
8824
|
slottedSubmenuChanged(prev, next) {
|
|
8121
8825
|
if (next.length) {
|
|
8122
8826
|
this.submenu = next[0];
|
|
8123
8827
|
this.updateSubmenu();
|
|
8124
8828
|
}
|
|
8125
8829
|
}
|
|
8830
|
+
/**
|
|
8831
|
+
* @internal
|
|
8832
|
+
*/
|
|
8126
8833
|
disconnectedCallback() {
|
|
8127
|
-
|
|
8128
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8834
|
+
this.cleanup?.();
|
|
8129
8835
|
super.disconnectedCallback();
|
|
8130
8836
|
}
|
|
8837
|
+
/**
|
|
8838
|
+
* Calculate and apply submenu positioning.
|
|
8839
|
+
*
|
|
8840
|
+
* @public
|
|
8841
|
+
*/
|
|
8131
8842
|
updateSubmenu() {
|
|
8132
|
-
|
|
8133
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8843
|
+
this.cleanup?.();
|
|
8134
8844
|
if (!this.submenu || !this.expanded) {
|
|
8135
8845
|
return;
|
|
8136
8846
|
}
|
|
@@ -8216,14 +8926,25 @@ var __decorateClass$c = (decorators, target, key, kind) => {
|
|
|
8216
8926
|
if (kind && result) __defProp$c(target, key, result);
|
|
8217
8927
|
return result;
|
|
8218
8928
|
};
|
|
8219
|
-
const _MenuList = class extends FASTElement {
|
|
8929
|
+
const _MenuList = class _MenuList extends FASTElement {
|
|
8220
8930
|
constructor() {
|
|
8221
8931
|
super(...arguments);
|
|
8222
8932
|
this.expandedItem = null;
|
|
8933
|
+
/**
|
|
8934
|
+
* The index of the focusable element in the items array
|
|
8935
|
+
* defaults to -1
|
|
8936
|
+
*/
|
|
8223
8937
|
this.focusIndex = -1;
|
|
8938
|
+
/**
|
|
8939
|
+
* @internal
|
|
8940
|
+
*/
|
|
8224
8941
|
this.isNestedMenu = () => {
|
|
8225
8942
|
return this.parentElement !== null && isHTMLElement(this.parentElement) && this.parentElement.getAttribute("role") === "menuitem";
|
|
8226
8943
|
};
|
|
8944
|
+
/**
|
|
8945
|
+
* if focus is moving out of the menu, reset to a stable initial state
|
|
8946
|
+
* @internal
|
|
8947
|
+
*/
|
|
8227
8948
|
this.handleFocusOut = e => {
|
|
8228
8949
|
if (!this.contains(e.relatedTarget) && this.menuItems !== void 0) {
|
|
8229
8950
|
this.collapseExpandedItem();
|
|
@@ -8261,6 +8982,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8261
8982
|
changedItem.setAttribute("tabindex", "0");
|
|
8262
8983
|
}
|
|
8263
8984
|
};
|
|
8985
|
+
/**
|
|
8986
|
+
* handle change from child element
|
|
8987
|
+
*/
|
|
8264
8988
|
this.changeHandler = e => {
|
|
8265
8989
|
if (this.menuItems === void 0) {
|
|
8266
8990
|
return;
|
|
@@ -8294,9 +9018,15 @@ const _MenuList = class extends FASTElement {
|
|
|
8294
9018
|
}
|
|
8295
9019
|
}
|
|
8296
9020
|
};
|
|
9021
|
+
/**
|
|
9022
|
+
* check if the item is a menu item
|
|
9023
|
+
*/
|
|
8297
9024
|
this.isMenuItemElement = el => {
|
|
8298
9025
|
return el instanceof MenuItem || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
|
|
8299
9026
|
};
|
|
9027
|
+
/**
|
|
9028
|
+
* check if the item is focusable
|
|
9029
|
+
*/
|
|
8300
9030
|
this.isFocusableElement = el => {
|
|
8301
9031
|
return this.isMenuItemElement(el);
|
|
8302
9032
|
};
|
|
@@ -8306,6 +9036,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8306
9036
|
this.setItems();
|
|
8307
9037
|
}
|
|
8308
9038
|
}
|
|
9039
|
+
/**
|
|
9040
|
+
* @internal
|
|
9041
|
+
*/
|
|
8309
9042
|
connectedCallback() {
|
|
8310
9043
|
super.connectedCallback();
|
|
8311
9044
|
Updates.enqueue(() => {
|
|
@@ -8313,21 +9046,37 @@ const _MenuList = class extends FASTElement {
|
|
|
8313
9046
|
});
|
|
8314
9047
|
this.addEventListener("change", this.changeHandler);
|
|
8315
9048
|
}
|
|
9049
|
+
/**
|
|
9050
|
+
* @internal
|
|
9051
|
+
*/
|
|
8316
9052
|
disconnectedCallback() {
|
|
8317
9053
|
super.disconnectedCallback();
|
|
8318
9054
|
this.removeItemListeners();
|
|
8319
9055
|
this.menuItems = void 0;
|
|
8320
9056
|
this.removeEventListener("change", this.changeHandler);
|
|
8321
9057
|
}
|
|
9058
|
+
/**
|
|
9059
|
+
* Focuses the first item in the menu.
|
|
9060
|
+
*
|
|
9061
|
+
* @public
|
|
9062
|
+
*/
|
|
8322
9063
|
focus() {
|
|
8323
9064
|
this.setFocus(0, 1);
|
|
8324
9065
|
}
|
|
9066
|
+
/**
|
|
9067
|
+
* Collapses any expanded menu items.
|
|
9068
|
+
*
|
|
9069
|
+
* @public
|
|
9070
|
+
*/
|
|
8325
9071
|
collapseExpandedItem() {
|
|
8326
9072
|
if (this.expandedItem !== null) {
|
|
8327
9073
|
this.expandedItem.expanded = false;
|
|
8328
9074
|
this.expandedItem = null;
|
|
8329
9075
|
}
|
|
8330
9076
|
}
|
|
9077
|
+
/**
|
|
9078
|
+
* @internal
|
|
9079
|
+
*/
|
|
8331
9080
|
handleMenuKeyDown(e) {
|
|
8332
9081
|
if (e.defaultPrevented || this.menuItems === void 0) {
|
|
8333
9082
|
return;
|
|
@@ -8365,7 +9114,6 @@ const _MenuList = class extends FASTElement {
|
|
|
8365
9114
|
return startSlot ? 1 : 0;
|
|
8366
9115
|
}
|
|
8367
9116
|
setItems() {
|
|
8368
|
-
var _a;
|
|
8369
9117
|
const children = Array.from(this.children);
|
|
8370
9118
|
this.removeItemListeners(children);
|
|
8371
9119
|
children.forEach(child => Observable.getNotifier(child).subscribe(this, "hidden"));
|
|
@@ -8380,9 +9128,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8380
9128
|
item.addEventListener("expanded-change", this.handleExpandedChanged);
|
|
8381
9129
|
item.addEventListener("focus", this.handleItemFocus);
|
|
8382
9130
|
});
|
|
8383
|
-
const filteredMenuListItems =
|
|
8384
|
-
filteredMenuListItems
|
|
8385
|
-
const indent = filteredMenuListItems
|
|
9131
|
+
const filteredMenuListItems = this.menuItems?.filter(this.isMenuItemElement);
|
|
9132
|
+
filteredMenuListItems?.forEach((item, index) => {
|
|
9133
|
+
const indent = filteredMenuListItems?.reduce((accum, current) => {
|
|
8386
9134
|
const elementValue = _MenuList.elementIndent(current);
|
|
8387
9135
|
return Math.max(accum, elementValue);
|
|
8388
9136
|
}, 0);
|
|
@@ -8415,9 +9163,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8415
9163
|
}
|
|
8416
9164
|
}
|
|
8417
9165
|
};
|
|
9166
|
+
_MenuList.focusableElementRoles = MenuItemRole;
|
|
9167
|
+
__decorateClass$c([observable], _MenuList.prototype, "items", 2);
|
|
8418
9168
|
let MenuList = _MenuList;
|
|
8419
|
-
MenuList.focusableElementRoles = MenuItemRole;
|
|
8420
|
-
__decorateClass$c([observable], MenuList.prototype, "items", 2);
|
|
8421
9169
|
|
|
8422
9170
|
function menuTemplate() {
|
|
8423
9171
|
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>`;
|
|
@@ -8461,6 +9209,9 @@ class BaseProgress extends FASTElement {
|
|
|
8461
9209
|
this.updatePercentComplete();
|
|
8462
9210
|
}
|
|
8463
9211
|
}
|
|
9212
|
+
/**
|
|
9213
|
+
* @internal
|
|
9214
|
+
*/
|
|
8464
9215
|
connectedCallback() {
|
|
8465
9216
|
super.connectedCallback();
|
|
8466
9217
|
this.updatePercentComplete();
|
|
@@ -8567,26 +9318,36 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
|
|
|
8567
9318
|
class Radio extends FormAssociatedRadio {
|
|
8568
9319
|
constructor() {
|
|
8569
9320
|
super();
|
|
9321
|
+
/**
|
|
9322
|
+
* The element's value to be included in form submission when checked.
|
|
9323
|
+
* Default to "on" to reach parity with input[type="radio"]
|
|
9324
|
+
*
|
|
9325
|
+
* @internal
|
|
9326
|
+
*/
|
|
8570
9327
|
this.initialValue = "on";
|
|
8571
9328
|
this.proxy.setAttribute("type", "radio");
|
|
8572
9329
|
}
|
|
8573
9330
|
get radioGroup() {
|
|
8574
9331
|
return this.closest("[role=radiogroup]");
|
|
8575
9332
|
}
|
|
9333
|
+
/**
|
|
9334
|
+
* @internal
|
|
9335
|
+
*/
|
|
8576
9336
|
defaultCheckedChanged() {
|
|
8577
|
-
var _a;
|
|
8578
9337
|
if (this.$fastController.isConnected && !this.dirtyChecked) {
|
|
8579
9338
|
if (!this.isInsideRadioGroup()) {
|
|
8580
|
-
this.checked =
|
|
9339
|
+
this.checked = this.defaultChecked ?? false;
|
|
8581
9340
|
this.dirtyChecked = false;
|
|
8582
9341
|
}
|
|
8583
9342
|
}
|
|
8584
9343
|
}
|
|
9344
|
+
/**
|
|
9345
|
+
* @internal
|
|
9346
|
+
*/
|
|
8585
9347
|
connectedCallback() {
|
|
8586
|
-
var _a, _b;
|
|
8587
9348
|
super.connectedCallback();
|
|
8588
9349
|
this.validate();
|
|
8589
|
-
if (
|
|
9350
|
+
if (this.parentElement?.getAttribute("role") !== "radiogroup" && this.getAttribute("tabindex") === null) {
|
|
8590
9351
|
if (!this.disabled) {
|
|
8591
9352
|
this.setAttribute("tabindex", "0");
|
|
8592
9353
|
}
|
|
@@ -8594,7 +9355,7 @@ class Radio extends FormAssociatedRadio {
|
|
|
8594
9355
|
if (this.checkedAttribute) {
|
|
8595
9356
|
if (!this.dirtyChecked) {
|
|
8596
9357
|
if (!this.isInsideRadioGroup()) {
|
|
8597
|
-
this.checked =
|
|
9358
|
+
this.checked = this.defaultChecked ?? false;
|
|
8598
9359
|
this.dirtyChecked = false;
|
|
8599
9360
|
}
|
|
8600
9361
|
}
|
|
@@ -8603,11 +9364,14 @@ class Radio extends FormAssociatedRadio {
|
|
|
8603
9364
|
isInsideRadioGroup() {
|
|
8604
9365
|
return this.radioGroup !== null;
|
|
8605
9366
|
}
|
|
9367
|
+
/**
|
|
9368
|
+
* Handles key presses on the radio.
|
|
9369
|
+
* @beta
|
|
9370
|
+
*/
|
|
8606
9371
|
keypressHandler(e) {
|
|
8607
|
-
var _a;
|
|
8608
9372
|
switch (e.key) {
|
|
8609
9373
|
case keySpace:
|
|
8610
|
-
if (!this.checked && !
|
|
9374
|
+
if (!this.checked && !this.radioGroup?.readOnly) {
|
|
8611
9375
|
this.checked = true;
|
|
8612
9376
|
}
|
|
8613
9377
|
return;
|
|
@@ -8625,10 +9389,7 @@ const styles$a = css`
|
|
|
8625
9389
|
: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}`));
|
|
8626
9390
|
|
|
8627
9391
|
function radioTemplate(options = {}) {
|
|
8628
|
-
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 => {
|
|
8629
|
-
var _a;
|
|
8630
|
-
return ["label", !((_a = x.defaultSlottedNodes) == null ? void 0 : _a.length) && "label__hidden"].filter(Boolean).join(" ");
|
|
8631
|
-
}}"><slot ${slotted({
|
|
9392
|
+
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({
|
|
8632
9393
|
property: "defaultSlottedNodes",
|
|
8633
9394
|
filter: whitespaceFilter
|
|
8634
9395
|
})}></slot></label></template>`;
|
|
@@ -8687,13 +9448,14 @@ class RadioGroup extends FASTElement {
|
|
|
8687
9448
|
radio.focus();
|
|
8688
9449
|
};
|
|
8689
9450
|
this.moveRightOffGroup = () => {
|
|
8690
|
-
|
|
8691
|
-
(_a = this.nextElementSibling) == null ? void 0 : _a.focus();
|
|
9451
|
+
this.nextElementSibling?.focus();
|
|
8692
9452
|
};
|
|
8693
9453
|
this.moveLeftOffGroup = () => {
|
|
8694
|
-
|
|
8695
|
-
(_a = this.previousElementSibling) == null ? void 0 : _a.focus();
|
|
9454
|
+
this.previousElementSibling?.focus();
|
|
8696
9455
|
};
|
|
9456
|
+
/**
|
|
9457
|
+
* @internal
|
|
9458
|
+
*/
|
|
8697
9459
|
this.focusOutHandler = e => {
|
|
8698
9460
|
const group = this.slottedRadioButtons;
|
|
8699
9461
|
const radio = e.target;
|
|
@@ -8722,6 +9484,9 @@ class RadioGroup extends FASTElement {
|
|
|
8722
9484
|
}
|
|
8723
9485
|
return true;
|
|
8724
9486
|
};
|
|
9487
|
+
/**
|
|
9488
|
+
* @internal
|
|
9489
|
+
*/
|
|
8725
9490
|
this.handleDisabledClick = e => {
|
|
8726
9491
|
if (this.disabled) {
|
|
8727
9492
|
e.preventDefault();
|
|
@@ -8729,6 +9494,9 @@ class RadioGroup extends FASTElement {
|
|
|
8729
9494
|
}
|
|
8730
9495
|
return true;
|
|
8731
9496
|
};
|
|
9497
|
+
/**
|
|
9498
|
+
* @internal
|
|
9499
|
+
*/
|
|
8732
9500
|
this.clickHandler = e => {
|
|
8733
9501
|
if (this.disabled) {
|
|
8734
9502
|
return;
|
|
@@ -8806,6 +9574,12 @@ class RadioGroup extends FASTElement {
|
|
|
8806
9574
|
}
|
|
8807
9575
|
}
|
|
8808
9576
|
};
|
|
9577
|
+
/**
|
|
9578
|
+
* keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar
|
|
9579
|
+
* navigation is different when there is an ancestor with role='toolbar'
|
|
9580
|
+
*
|
|
9581
|
+
* @internal
|
|
9582
|
+
*/
|
|
8809
9583
|
this.keydownHandler = e => {
|
|
8810
9584
|
const key = e.key;
|
|
8811
9585
|
if (key in ArrowKeys && (this.isInsideFoundationToolbar || this.disabled)) {
|
|
@@ -8873,13 +9647,14 @@ class RadioGroup extends FASTElement {
|
|
|
8873
9647
|
return this.closest('[role="toolbar"]');
|
|
8874
9648
|
}
|
|
8875
9649
|
get isInsideToolbar() {
|
|
8876
|
-
|
|
8877
|
-
return (_a = this.parentToolbar) != null ? _a : false;
|
|
9650
|
+
return this.parentToolbar ?? false;
|
|
8878
9651
|
}
|
|
8879
9652
|
get isInsideFoundationToolbar() {
|
|
8880
|
-
|
|
8881
|
-
return !!((_a = this.parentToolbar) == null ? void 0 : _a.hasOwnProperty("$fastController"));
|
|
9653
|
+
return !!this.parentToolbar?.hasOwnProperty("$fastController");
|
|
8882
9654
|
}
|
|
9655
|
+
/**
|
|
9656
|
+
* @internal
|
|
9657
|
+
*/
|
|
8883
9658
|
connectedCallback() {
|
|
8884
9659
|
super.connectedCallback();
|
|
8885
9660
|
this.direction = getDirection(this);
|
|
@@ -9059,6 +9834,7 @@ class Slider extends FormAssociatedSlider {
|
|
|
9059
9834
|
this.trackWidth = 1;
|
|
9060
9835
|
}
|
|
9061
9836
|
};
|
|
9837
|
+
//Remove
|
|
9062
9838
|
this.setupListeners = (remove = false) => {
|
|
9063
9839
|
this.addEventListener("keydown", this.keypressHandler);
|
|
9064
9840
|
this.addEventListener("mousedown", this.handleMouseDown);
|
|
@@ -9067,7 +9843,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9067
9843
|
this.removeEventListener("mousedown", this.handleMouseDown);
|
|
9068
9844
|
}
|
|
9069
9845
|
};
|
|
9846
|
+
/**
|
|
9847
|
+
* @internal
|
|
9848
|
+
*/
|
|
9070
9849
|
this.initialValue = "";
|
|
9850
|
+
/**
|
|
9851
|
+
* Handle mouse moves during a thumb drag operation
|
|
9852
|
+
* If the event handler is null it removes the events
|
|
9853
|
+
*/
|
|
9071
9854
|
this.handleThumbMouseDown = event => {
|
|
9072
9855
|
const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
|
|
9073
9856
|
windowFn("mouseup", this.handleWindowMouseUp);
|
|
@@ -9080,6 +9863,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9080
9863
|
windowFn("touchend", this.handleWindowMouseUp);
|
|
9081
9864
|
this.isDragging = event !== null;
|
|
9082
9865
|
};
|
|
9866
|
+
/**
|
|
9867
|
+
* Handle mouse moves during a thumb drag operation
|
|
9868
|
+
*/
|
|
9083
9869
|
this.handleMouseMove = e => {
|
|
9084
9870
|
if (this.readOnly || this.disabled || e.defaultPrevented) {
|
|
9085
9871
|
return;
|
|
@@ -9088,6 +9874,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9088
9874
|
const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
|
|
9089
9875
|
this.value = `${this.calculateNewValue(eventValue)}`;
|
|
9090
9876
|
};
|
|
9877
|
+
/**
|
|
9878
|
+
* Handle a window mouse up during a drag operation
|
|
9879
|
+
*/
|
|
9091
9880
|
this.handleWindowMouseUp = event => {
|
|
9092
9881
|
this.stopDragging();
|
|
9093
9882
|
};
|
|
@@ -9096,6 +9885,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9096
9885
|
this.handleMouseDown(null);
|
|
9097
9886
|
this.handleThumbMouseDown(null);
|
|
9098
9887
|
};
|
|
9888
|
+
/**
|
|
9889
|
+
*
|
|
9890
|
+
* @param e - MouseEvent or null. If there is no event handler it will remove the events
|
|
9891
|
+
*/
|
|
9099
9892
|
this.handleMouseDown = e => {
|
|
9100
9893
|
if (e === null || !this.disabled && !this.readOnly) {
|
|
9101
9894
|
const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
|
|
@@ -9120,6 +9913,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9120
9913
|
break;
|
|
9121
9914
|
}
|
|
9122
9915
|
}
|
|
9916
|
+
/**
|
|
9917
|
+
* Handles changes to step styling based on the step value
|
|
9918
|
+
* NOTE: This function is not a changed callback, stepStyles is not observable
|
|
9919
|
+
*/
|
|
9123
9920
|
handleStepStyles() {
|
|
9124
9921
|
if (this.step) {
|
|
9125
9922
|
const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
|
|
@@ -9133,17 +9930,26 @@ class Slider extends FormAssociatedSlider {
|
|
|
9133
9930
|
this.$fastController.removeStyles(this.stepStyles);
|
|
9134
9931
|
}
|
|
9135
9932
|
}
|
|
9933
|
+
// Map to proxy element
|
|
9136
9934
|
readOnlyChanged() {
|
|
9137
9935
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9138
9936
|
this.proxy.readOnly = this.readOnly;
|
|
9139
9937
|
}
|
|
9140
9938
|
}
|
|
9939
|
+
/**
|
|
9940
|
+
* The value property, typed as a number.
|
|
9941
|
+
*
|
|
9942
|
+
* @public
|
|
9943
|
+
*/
|
|
9141
9944
|
get valueAsNumber() {
|
|
9142
9945
|
return parseFloat(super.value);
|
|
9143
9946
|
}
|
|
9144
9947
|
set valueAsNumber(next) {
|
|
9145
9948
|
this.value = next.toString();
|
|
9146
9949
|
}
|
|
9950
|
+
/**
|
|
9951
|
+
* @internal
|
|
9952
|
+
*/
|
|
9147
9953
|
valueChanged(previous, next) {
|
|
9148
9954
|
if (this.$fastController.isConnected) {
|
|
9149
9955
|
const nextAsNumber = parseFloat(next);
|
|
@@ -9157,12 +9963,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9157
9963
|
this.$emit("change");
|
|
9158
9964
|
}
|
|
9159
9965
|
}
|
|
9966
|
+
// Map to proxy element.
|
|
9160
9967
|
minChanged() {
|
|
9161
9968
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9162
9969
|
this.proxy.min = `${this.min}`;
|
|
9163
9970
|
}
|
|
9164
9971
|
this.validate();
|
|
9165
9972
|
}
|
|
9973
|
+
// Map to proxy element.
|
|
9166
9974
|
maxChanged() {
|
|
9167
9975
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9168
9976
|
this.proxy.max = `${this.max}`;
|
|
@@ -9181,6 +9989,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9181
9989
|
this.setThumbPositionForOrientation(this.direction);
|
|
9182
9990
|
}
|
|
9183
9991
|
}
|
|
9992
|
+
/**
|
|
9993
|
+
* @internal
|
|
9994
|
+
*/
|
|
9184
9995
|
connectedCallback() {
|
|
9185
9996
|
super.connectedCallback();
|
|
9186
9997
|
this.proxy.setAttribute("type", "range");
|
|
@@ -9195,6 +10006,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9195
10006
|
Observable.getNotifier(this).subscribe(this, "step");
|
|
9196
10007
|
this.handleStepStyles();
|
|
9197
10008
|
}
|
|
10009
|
+
/**
|
|
10010
|
+
* @internal
|
|
10011
|
+
*/
|
|
9198
10012
|
disconnectedCallback() {
|
|
9199
10013
|
super.disconnectedCallback();
|
|
9200
10014
|
this.setupListeners(true);
|
|
@@ -9202,21 +10016,41 @@ class Slider extends FormAssociatedSlider {
|
|
|
9202
10016
|
Observable.getNotifier(this).unsubscribe(this, "min");
|
|
9203
10017
|
Observable.getNotifier(this).unsubscribe(this, "step");
|
|
9204
10018
|
}
|
|
10019
|
+
/**
|
|
10020
|
+
* Increment the value by the step
|
|
10021
|
+
*
|
|
10022
|
+
* @public
|
|
10023
|
+
*/
|
|
9205
10024
|
increment() {
|
|
9206
10025
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
|
|
9207
10026
|
const incrementedVal = this.convertToConstrainedValue(newVal);
|
|
9208
10027
|
const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
|
|
9209
10028
|
this.value = incrementedValString;
|
|
9210
10029
|
}
|
|
10030
|
+
/**
|
|
10031
|
+
* Decrement the value by the step
|
|
10032
|
+
*
|
|
10033
|
+
* @public
|
|
10034
|
+
*/
|
|
9211
10035
|
decrement() {
|
|
9212
10036
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
|
|
9213
10037
|
const decrementedVal = this.convertToConstrainedValue(newVal);
|
|
9214
10038
|
const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
|
|
9215
10039
|
this.value = decrementedValString;
|
|
9216
10040
|
}
|
|
10041
|
+
/**
|
|
10042
|
+
* Gets the actual step value for the slider
|
|
10043
|
+
*
|
|
10044
|
+
*/
|
|
9217
10045
|
get stepValue() {
|
|
9218
10046
|
return this.step === void 0 ? 1 : this.step;
|
|
9219
10047
|
}
|
|
10048
|
+
/**
|
|
10049
|
+
* Places the thumb based on the current value
|
|
10050
|
+
*
|
|
10051
|
+
* @public
|
|
10052
|
+
* @param direction - writing mode
|
|
10053
|
+
*/
|
|
9220
10054
|
setThumbPositionForOrientation(direction) {
|
|
9221
10055
|
const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
|
|
9222
10056
|
const percentage = (1 - newPct) * 100;
|
|
@@ -9226,6 +10060,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9226
10060
|
this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
|
|
9227
10061
|
}
|
|
9228
10062
|
}
|
|
10063
|
+
/**
|
|
10064
|
+
* Update the step multiplier used to ensure rounding errors from steps that
|
|
10065
|
+
* are not whole numbers
|
|
10066
|
+
*/
|
|
9229
10067
|
updateStepMultiplier() {
|
|
9230
10068
|
const stepString = this.stepValue + "";
|
|
9231
10069
|
const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
|
|
@@ -9246,6 +10084,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9246
10084
|
}
|
|
9247
10085
|
}
|
|
9248
10086
|
}
|
|
10087
|
+
/**
|
|
10088
|
+
* Calculate the new value based on the given raw pixel value.
|
|
10089
|
+
*
|
|
10090
|
+
* @param rawValue - the value to be converted to a constrained value
|
|
10091
|
+
* @returns the constrained value
|
|
10092
|
+
*
|
|
10093
|
+
* @internal
|
|
10094
|
+
*/
|
|
9249
10095
|
calculateNewValue(rawValue) {
|
|
9250
10096
|
this.setupTrackConstraints();
|
|
9251
10097
|
const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
|
|
@@ -9316,7 +10162,18 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
|
|
|
9316
10162
|
if (kind && result) __defProp$6(target, key, result);
|
|
9317
10163
|
return result;
|
|
9318
10164
|
};
|
|
9319
|
-
class Spinner extends
|
|
10165
|
+
class Spinner extends FASTElement {
|
|
10166
|
+
constructor() {
|
|
10167
|
+
super();
|
|
10168
|
+
/**
|
|
10169
|
+
* The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
10170
|
+
*
|
|
10171
|
+
* @internal
|
|
10172
|
+
*/
|
|
10173
|
+
this.elementInternals = this.attachInternals();
|
|
10174
|
+
this.elementInternals.role = "progressbar";
|
|
10175
|
+
}
|
|
10176
|
+
}
|
|
9320
10177
|
__decorateClass$6([attr], Spinner.prototype, "size", 2);
|
|
9321
10178
|
__decorateClass$6([attr], Spinner.prototype, "appearance", 2);
|
|
9322
10179
|
|
|
@@ -9334,35 +10191,12 @@ const SpinnerSize = {
|
|
|
9334
10191
|
huge: "huge"
|
|
9335
10192
|
};
|
|
9336
10193
|
|
|
9337
|
-
const
|
|
9338
|
-
function progressRingTemplate(options = {}) {
|
|
9339
|
-
return html`<template role="progressbar" aria-valuenow="${x => x.value}" aria-valuemin="${x => x.min}" aria-valuemax="${x => x.max}">${when(x => typeof x.value === "number", html`<svg class="progress" part="progress" viewBox="0 0 16 16" slot="determinate"><circle class="background" part="background" cx="8px" cy="8px" r="7px"></circle><circle class="determinate" part="determinate" style="stroke-dasharray: ${x => progressSegments * x.percentComplete / 100}px ${progressSegments}px" cx="8px" cy="8px" r="7px"></circle></svg>`, html`<slot name="indeterminate">${staticallyCompose(options.indeterminateIndicator)}</slot>`)}</template>`;
|
|
9340
|
-
}
|
|
9341
|
-
const template$7 = progressRingTemplate({
|
|
9342
|
-
indeterminateIndicator: `
|
|
9343
|
-
<svg class="progress" part="progress" viewBox="0 0 16 16">
|
|
9344
|
-
<circle
|
|
9345
|
-
class="background"
|
|
9346
|
-
part="background"
|
|
9347
|
-
cx="8px"
|
|
9348
|
-
cy="8px"
|
|
9349
|
-
r="7px"
|
|
9350
|
-
></circle>
|
|
9351
|
-
<circle
|
|
9352
|
-
class="indeterminate-indicator-1"
|
|
9353
|
-
part="indeterminate-indicator-1"
|
|
9354
|
-
cx="8px"
|
|
9355
|
-
cy="8px"
|
|
9356
|
-
r="7px"
|
|
9357
|
-
></circle>
|
|
9358
|
-
</svg>
|
|
9359
|
-
`
|
|
9360
|
-
});
|
|
10194
|
+
const template$7 = html`<slot name="indicator"><svg class="progress" part="progress" viewBox="0 0 16 16"><circle class="background" cx="8px" cy="8px" r="7px"></circle><circle class="indicator" cx="8px" cy="8px" r="7px"></circle></svg></slot>`;
|
|
9361
10195
|
|
|
9362
10196
|
const styles$7 = css`
|
|
9363
10197
|
${display("flex")}
|
|
9364
10198
|
|
|
9365
|
-
:host{display:flex;align-items:center;height:32px;width:32px;contain:content}:host([size='tiny']){height:20px;width:20px}:host([size='extra-small']){height:24px;width:24px}:host([size='small']){height:28px;width:28px}:host([size='large']){height:36px;width:36px}:host([size='extra-large']){height:40px;width:40px}:host([size='huge']){height:44px;width:44px}.progress{height:100%;width:100%}.background{fill:none;stroke:${colorBrandStroke2};stroke-width:1.5px}:host([appearance='inverted']) .background{stroke:rgba(255,255,255,0.2)}.
|
|
10199
|
+
:host{display:flex;align-items:center;height:32px;width:32px;contain:content}:host([size='tiny']){height:20px;width:20px}:host([size='extra-small']){height:24px;width:24px}:host([size='small']){height:28px;width:28px}:host([size='large']){height:36px;width:36px}:host([size='extra-large']){height:40px;width:40px}:host([size='huge']){height:44px;width:44px}.progress{height:100%;width:100%}.background{fill:none;stroke:${colorBrandStroke2};stroke-width:1.5px}:host([appearance='inverted']) .background{stroke:rgba(255,255,255,0.2)}.indicator{stroke:${colorBrandStroke1};fill:none;stroke-width:1.5px;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg);transition:all 0.2s ease-in-out;animation:spin-infinite 3s cubic-bezier(0.53,0.21,0.29,0.67) infinite}:host([appearance='inverted']) .indicator{stroke:${colorNeutralStrokeOnBrand2}}@keyframes spin-infinite{0%{stroke-dasharray:0.01px 43.97px;transform:rotate(0deg)}50%{stroke-dasharray:21.99px 21.99px;transform:rotate(450deg)}100%{stroke-dasharray:0.01px 43.97px;transform:rotate(1080deg)}}`;
|
|
9366
10200
|
|
|
9367
10201
|
const definition$7 = Spinner.compose({
|
|
9368
10202
|
name: `${FluentDesignSystem.prefix}-spinner`,
|
|
@@ -9389,7 +10223,16 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
|
|
|
9389
10223
|
class Switch extends FormAssociatedSwitch {
|
|
9390
10224
|
constructor() {
|
|
9391
10225
|
super();
|
|
10226
|
+
/**
|
|
10227
|
+
* The element's value to be included in form submission when checked.
|
|
10228
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
10229
|
+
*
|
|
10230
|
+
* @internal
|
|
10231
|
+
*/
|
|
9392
10232
|
this.initialValue = "on";
|
|
10233
|
+
/**
|
|
10234
|
+
* @internal
|
|
10235
|
+
*/
|
|
9393
10236
|
this.keypressHandler = e => {
|
|
9394
10237
|
if (this.readOnly) {
|
|
9395
10238
|
return;
|
|
@@ -9401,6 +10244,9 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9401
10244
|
break;
|
|
9402
10245
|
}
|
|
9403
10246
|
};
|
|
10247
|
+
/**
|
|
10248
|
+
* @internal
|
|
10249
|
+
*/
|
|
9404
10250
|
this.clickHandler = e => {
|
|
9405
10251
|
if (!this.disabled && !this.readOnly) {
|
|
9406
10252
|
this.checked = !this.checked;
|
|
@@ -9408,6 +10254,7 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9408
10254
|
};
|
|
9409
10255
|
this.proxy.setAttribute("type", "checkbox");
|
|
9410
10256
|
}
|
|
10257
|
+
// Map to proxy element
|
|
9411
10258
|
readOnlyChanged() {
|
|
9412
10259
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9413
10260
|
this.proxy.readOnly = this.readOnly;
|
|
@@ -9588,17 +10435,26 @@ class BaseTabs extends FASTElement {
|
|
|
9588
10435
|
}
|
|
9589
10436
|
};
|
|
9590
10437
|
}
|
|
10438
|
+
/**
|
|
10439
|
+
* @internal
|
|
10440
|
+
*/
|
|
9591
10441
|
orientationChanged() {
|
|
9592
10442
|
if (this.$fastController.isConnected) {
|
|
9593
10443
|
this.setTabs();
|
|
9594
10444
|
}
|
|
9595
10445
|
}
|
|
10446
|
+
/**
|
|
10447
|
+
* @internal
|
|
10448
|
+
*/
|
|
9596
10449
|
activeidChanged(oldValue, newValue) {
|
|
9597
10450
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9598
10451
|
this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
|
|
9599
10452
|
this.setTabs();
|
|
9600
10453
|
}
|
|
9601
10454
|
}
|
|
10455
|
+
/**
|
|
10456
|
+
* @internal
|
|
10457
|
+
*/
|
|
9602
10458
|
tabsChanged() {
|
|
9603
10459
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9604
10460
|
this.tabIds = this.getTabIds();
|
|
@@ -9606,6 +10462,9 @@ class BaseTabs extends FASTElement {
|
|
|
9606
10462
|
this.setTabs();
|
|
9607
10463
|
}
|
|
9608
10464
|
}
|
|
10465
|
+
/**
|
|
10466
|
+
* @internal
|
|
10467
|
+
*/
|
|
9609
10468
|
tabpanelsChanged() {
|
|
9610
10469
|
if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
|
|
9611
10470
|
this.tabIds = this.getTabIds();
|
|
@@ -9621,6 +10480,11 @@ class BaseTabs extends FASTElement {
|
|
|
9621
10480
|
return 0;
|
|
9622
10481
|
}
|
|
9623
10482
|
}
|
|
10483
|
+
/**
|
|
10484
|
+
* Function that is invoked whenever the selected tab or the tab collection changes.
|
|
10485
|
+
*
|
|
10486
|
+
* @public
|
|
10487
|
+
*/
|
|
9624
10488
|
setTabs() {
|
|
9625
10489
|
const gridHorizontalProperty = "gridColumn";
|
|
9626
10490
|
const gridVerticalProperty = "gridRow";
|
|
@@ -9660,14 +10524,12 @@ class BaseTabs extends FASTElement {
|
|
|
9660
10524
|
}
|
|
9661
10525
|
getTabIds() {
|
|
9662
10526
|
return this.tabs.map(tab => {
|
|
9663
|
-
|
|
9664
|
-
return (_a = tab.getAttribute("id")) != null ? _a : `tab-${uniqueId()}`;
|
|
10527
|
+
return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
|
|
9665
10528
|
});
|
|
9666
10529
|
}
|
|
9667
10530
|
getTabPanelIds() {
|
|
9668
10531
|
return this.tabpanels.map(tabPanel => {
|
|
9669
|
-
|
|
9670
|
-
return (_a = tabPanel.getAttribute("id")) != null ? _a : `panel-${uniqueId()}`;
|
|
10532
|
+
return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
|
|
9671
10533
|
});
|
|
9672
10534
|
}
|
|
9673
10535
|
setComponent() {
|
|
@@ -9680,6 +10542,12 @@ class BaseTabs extends FASTElement {
|
|
|
9680
10542
|
isHorizontal() {
|
|
9681
10543
|
return this.orientation === TabsOrientation.horizontal;
|
|
9682
10544
|
}
|
|
10545
|
+
/**
|
|
10546
|
+
* The adjust method for FASTTabs
|
|
10547
|
+
* @public
|
|
10548
|
+
* @remarks
|
|
10549
|
+
* This method allows the active index to be adjusted by numerical increments
|
|
10550
|
+
*/
|
|
9683
10551
|
adjust(adjustment) {
|
|
9684
10552
|
const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
|
|
9685
10553
|
const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
|
|
@@ -9736,6 +10604,9 @@ class BaseTabs extends FASTElement {
|
|
|
9736
10604
|
focusTab() {
|
|
9737
10605
|
this.tabs[this.activeTabIndex].focus();
|
|
9738
10606
|
}
|
|
10607
|
+
/**
|
|
10608
|
+
* @internal
|
|
10609
|
+
*/
|
|
9739
10610
|
connectedCallback() {
|
|
9740
10611
|
super.connectedCallback();
|
|
9741
10612
|
this.tabIds = this.getTabIds();
|
|
@@ -9750,41 +10621,80 @@ __decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
|
|
|
9750
10621
|
class Tabs extends BaseTabs {
|
|
9751
10622
|
constructor() {
|
|
9752
10623
|
super(...arguments);
|
|
10624
|
+
/**
|
|
10625
|
+
* activeTabData
|
|
10626
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10627
|
+
*/
|
|
9753
10628
|
this.activeTabData = {
|
|
9754
10629
|
x: 0,
|
|
9755
10630
|
y: 0,
|
|
9756
10631
|
height: 0,
|
|
9757
10632
|
width: 0
|
|
9758
10633
|
};
|
|
10634
|
+
/**
|
|
10635
|
+
* previousActiveTabData
|
|
10636
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10637
|
+
*/
|
|
9759
10638
|
this.previousActiveTabData = {
|
|
9760
10639
|
x: 0,
|
|
9761
10640
|
y: 0,
|
|
9762
10641
|
height: 0,
|
|
9763
10642
|
width: 0
|
|
9764
10643
|
};
|
|
10644
|
+
/**
|
|
10645
|
+
* activeTabOffset
|
|
10646
|
+
* Used to position the active indicator for animations of the active indicator on active tab changes.
|
|
10647
|
+
*/
|
|
9765
10648
|
this.activeTabOffset = 0;
|
|
10649
|
+
/**
|
|
10650
|
+
* activeTabScale
|
|
10651
|
+
* Used to scale the tab active indicator up or down as animations of the active indicator occur.
|
|
10652
|
+
*/
|
|
9766
10653
|
this.activeTabScale = 1;
|
|
9767
10654
|
this.appearance = TabsAppearance.transparent;
|
|
9768
10655
|
}
|
|
10656
|
+
/**
|
|
10657
|
+
* calculateAnimationProperties
|
|
10658
|
+
*
|
|
10659
|
+
* Recalculates the active tab offset and scale.
|
|
10660
|
+
* These values will be applied to css variables that control the tab active indicator position animations
|
|
10661
|
+
*/
|
|
9769
10662
|
calculateAnimationProperties(tab) {
|
|
9770
10663
|
this.activeTabOffset = this.getTabPosition(tab);
|
|
9771
10664
|
this.activeTabScale = this.getTabScale(tab);
|
|
9772
10665
|
}
|
|
10666
|
+
/**
|
|
10667
|
+
* getSelectedTabPosition - gets the x or y coordinates of the tab
|
|
10668
|
+
*/
|
|
9773
10669
|
getTabPosition(tab) {
|
|
9774
10670
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9775
10671
|
return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
|
|
9776
10672
|
} else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
|
|
9777
10673
|
}
|
|
10674
|
+
/**
|
|
10675
|
+
* getSelectedTabScale - gets the scale of the tab
|
|
10676
|
+
*/
|
|
9778
10677
|
getTabScale(tab) {
|
|
9779
10678
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9780
10679
|
return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
|
|
9781
10680
|
} else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
|
|
9782
10681
|
}
|
|
10682
|
+
/**
|
|
10683
|
+
* applyUpdatedCSSValues
|
|
10684
|
+
*
|
|
10685
|
+
* calculates and applies updated values to CSS variables
|
|
10686
|
+
* @param tab
|
|
10687
|
+
*/
|
|
9783
10688
|
applyUpdatedCSSValues(tab) {
|
|
9784
10689
|
this.calculateAnimationProperties(tab);
|
|
9785
10690
|
this.setTabScaleCSSVar();
|
|
9786
10691
|
this.setTabOffsetCSSVar();
|
|
9787
10692
|
}
|
|
10693
|
+
/**
|
|
10694
|
+
* animationLoop
|
|
10695
|
+
* 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.
|
|
10696
|
+
* @param tab
|
|
10697
|
+
*/
|
|
9788
10698
|
animationLoop(tab) {
|
|
9789
10699
|
tab.setAttribute("data-animate", "false");
|
|
9790
10700
|
this.applyUpdatedCSSValues(tab);
|
|
@@ -9792,12 +10702,15 @@ class Tabs extends BaseTabs {
|
|
|
9792
10702
|
this.applyUpdatedCSSValues(tab);
|
|
9793
10703
|
tab.setAttribute("data-animate", "true");
|
|
9794
10704
|
}
|
|
10705
|
+
/**
|
|
10706
|
+
* setTabData
|
|
10707
|
+
* sets the data from the active tab onto the class. used for making all the animation calculations for the active tab indicator.
|
|
10708
|
+
*/
|
|
9795
10709
|
setTabData() {
|
|
9796
|
-
var _a, _b, _c, _d;
|
|
9797
10710
|
if (this.tabs && this.tabs.length > 0) {
|
|
9798
10711
|
const tabs = this.tabs;
|
|
9799
10712
|
const activeTab = this.activetab || tabs[0];
|
|
9800
|
-
const activeRect = activeTab
|
|
10713
|
+
const activeRect = activeTab?.getBoundingClientRect();
|
|
9801
10714
|
const parentRect = this.getBoundingClientRect();
|
|
9802
10715
|
this.activeTabData = {
|
|
9803
10716
|
x: activeRect.x - parentRect.x,
|
|
@@ -9805,7 +10718,7 @@ class Tabs extends BaseTabs {
|
|
|
9805
10718
|
height: activeRect.height,
|
|
9806
10719
|
width: activeRect.width
|
|
9807
10720
|
};
|
|
9808
|
-
if (
|
|
10721
|
+
if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
|
|
9809
10722
|
this.previousActiveTabData = this.activeTabData;
|
|
9810
10723
|
}
|
|
9811
10724
|
}
|
|
@@ -9952,10 +10865,25 @@ const TextInputAppearance = {
|
|
|
9952
10865
|
filledDarker: "filled-darker"
|
|
9953
10866
|
};
|
|
9954
10867
|
const TextInputType = {
|
|
10868
|
+
/**
|
|
10869
|
+
* An email TextInput
|
|
10870
|
+
*/
|
|
9955
10871
|
email: "email",
|
|
10872
|
+
/**
|
|
10873
|
+
* A password TextInput
|
|
10874
|
+
*/
|
|
9956
10875
|
password: "password",
|
|
10876
|
+
/**
|
|
10877
|
+
* A telephone TextInput
|
|
10878
|
+
*/
|
|
9957
10879
|
tel: "tel",
|
|
10880
|
+
/**
|
|
10881
|
+
* A text TextInput
|
|
10882
|
+
*/
|
|
9958
10883
|
text: "text",
|
|
10884
|
+
/**
|
|
10885
|
+
* A URL TextInput
|
|
10886
|
+
*/
|
|
9959
10887
|
url: "url"
|
|
9960
10888
|
};
|
|
9961
10889
|
|
|
@@ -10037,6 +10965,9 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10037
10965
|
this.proxy.spellcheck = this.spellcheck;
|
|
10038
10966
|
}
|
|
10039
10967
|
}
|
|
10968
|
+
/**
|
|
10969
|
+
* @internal
|
|
10970
|
+
*/
|
|
10040
10971
|
connectedCallback() {
|
|
10041
10972
|
super.connectedCallback();
|
|
10042
10973
|
this.proxy.setAttribute("type", this.type);
|
|
@@ -10047,16 +10978,35 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10047
10978
|
});
|
|
10048
10979
|
}
|
|
10049
10980
|
}
|
|
10981
|
+
/**
|
|
10982
|
+
* Selects all the text in the text field
|
|
10983
|
+
*
|
|
10984
|
+
* @public
|
|
10985
|
+
*/
|
|
10050
10986
|
select() {
|
|
10051
10987
|
this.control.select();
|
|
10052
10988
|
this.$emit("select");
|
|
10053
10989
|
}
|
|
10990
|
+
/**
|
|
10991
|
+
* Handles the internal control's `input` event
|
|
10992
|
+
* @internal
|
|
10993
|
+
*/
|
|
10054
10994
|
handleTextInput() {
|
|
10055
10995
|
this.value = this.control.value;
|
|
10056
10996
|
}
|
|
10997
|
+
/**
|
|
10998
|
+
* Change event handler for inner control.
|
|
10999
|
+
* @remarks
|
|
11000
|
+
* "Change" events are not `composable` so they will not
|
|
11001
|
+
* permeate the shadow DOM boundary. This fn effectively proxies
|
|
11002
|
+
* the change event, emitting a `change` event whenever the internal
|
|
11003
|
+
* control emits a `change` event
|
|
11004
|
+
* @internal
|
|
11005
|
+
*/
|
|
10057
11006
|
handleChange() {
|
|
10058
11007
|
this.$emit("change");
|
|
10059
11008
|
}
|
|
11009
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
10060
11010
|
validate() {
|
|
10061
11011
|
super.validate(this.control);
|
|
10062
11012
|
}
|
|
@@ -10121,12 +11071,29 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
10121
11071
|
return result;
|
|
10122
11072
|
};
|
|
10123
11073
|
class ToggleButton extends Button {
|
|
11074
|
+
/**
|
|
11075
|
+
* Updates the pressed state when the `pressed` property changes.
|
|
11076
|
+
*
|
|
11077
|
+
* @internal
|
|
11078
|
+
*/
|
|
10124
11079
|
pressedChanged() {
|
|
10125
11080
|
this.setPressedState();
|
|
10126
11081
|
}
|
|
11082
|
+
/**
|
|
11083
|
+
* Updates the pressed state when the `mixed` property changes.
|
|
11084
|
+
*
|
|
11085
|
+
* @param previous - the previous mixed state
|
|
11086
|
+
* @param next - the current mixed state
|
|
11087
|
+
* @internal
|
|
11088
|
+
*/
|
|
10127
11089
|
mixedChanged() {
|
|
10128
11090
|
this.setPressedState();
|
|
10129
11091
|
}
|
|
11092
|
+
/**
|
|
11093
|
+
* Toggles the pressed state of the button.
|
|
11094
|
+
*
|
|
11095
|
+
* @override
|
|
11096
|
+
*/
|
|
10130
11097
|
press() {
|
|
10131
11098
|
this.pressed = !this.pressed;
|
|
10132
11099
|
}
|
|
@@ -10134,6 +11101,11 @@ class ToggleButton extends Button {
|
|
|
10134
11101
|
super.connectedCallback();
|
|
10135
11102
|
this.setPressedState();
|
|
10136
11103
|
}
|
|
11104
|
+
/**
|
|
11105
|
+
* Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
|
|
11106
|
+
*
|
|
11107
|
+
* @internal
|
|
11108
|
+
*/
|
|
10137
11109
|
setPressedState() {
|
|
10138
11110
|
if (this.$fastController.isConnected) {
|
|
10139
11111
|
const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
|
|
@@ -10179,4 +11151,4 @@ const setThemeFor = (element, theme) => {
|
|
|
10179
11151
|
}
|
|
10180
11152
|
};
|
|
10181
11153
|
|
|
10182
|
-
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, 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, 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 };
|
|
11154
|
+
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 };
|