@fluentui/web-components 3.0.0-beta.15 → 3.0.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +175 -103
- package/dist/dts/menu-item/menu-item.options.d.ts +1 -1
- package/dist/dts/theme/design-tokens.d.ts +53 -1
- package/dist/esm/anchor-button/anchor-button.js.map +1 -1
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/menu-list/menu-list.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 +1575 -223
- package/dist/web-components.d.ts +105 -1
- package/dist/web-components.js +1128 -145
- package/dist/web-components.min.js +353 -283
- package/docs/api-report.md +157 -1
- 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();
|
|
@@ -4749,10 +4914,10 @@ function getInitials(displayName, isRtl, options) {
|
|
|
4749
4914
|
return "";
|
|
4750
4915
|
}
|
|
4751
4916
|
displayName = cleanupDisplayName(displayName);
|
|
4752
|
-
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !
|
|
4917
|
+
if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !options?.allowPhoneInitials && PHONENUMBER_REGEX.test(displayName)) {
|
|
4753
4918
|
return "";
|
|
4754
4919
|
}
|
|
4755
|
-
return getInitialsLatin(displayName, isRtl, options
|
|
4920
|
+
return getInitialsLatin(displayName, isRtl, options?.firstInitialOnly);
|
|
4756
4921
|
}
|
|
4757
4922
|
|
|
4758
4923
|
const AvatarActive = {
|
|
@@ -4831,43 +4996,52 @@ var __decorateClass$n = (decorators, target, key, kind) => {
|
|
|
4831
4996
|
if (kind && result) __defProp$n(target, key, result);
|
|
4832
4997
|
return result;
|
|
4833
4998
|
};
|
|
4834
|
-
const _Avatar = class extends FASTElement {
|
|
4999
|
+
const _Avatar = class _Avatar extends FASTElement {
|
|
4835
5000
|
constructor() {
|
|
4836
5001
|
super(...arguments);
|
|
4837
5002
|
this.color = "neutral";
|
|
4838
5003
|
}
|
|
5004
|
+
/**
|
|
5005
|
+
* Sets the data-color attribute used for the visual presentation
|
|
5006
|
+
* @internal
|
|
5007
|
+
*/
|
|
4839
5008
|
generateColor() {
|
|
4840
|
-
var _a, _b;
|
|
4841
5009
|
if (!this.color) {
|
|
4842
5010
|
return;
|
|
4843
5011
|
}
|
|
4844
|
-
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(
|
|
5012
|
+
return this.color === AvatarColor.colorful ? _Avatar.colors[getHashCode(this.colorId ?? this.name ?? "") % _Avatar.colors.length] : this.color;
|
|
4845
5013
|
}
|
|
5014
|
+
/**
|
|
5015
|
+
* Generates and sets the initials for the template
|
|
5016
|
+
* @internal
|
|
5017
|
+
*/
|
|
4846
5018
|
generateInitials() {
|
|
4847
|
-
var _a, _b;
|
|
4848
5019
|
if (!this.name && !this.initials) {
|
|
4849
5020
|
return;
|
|
4850
5021
|
}
|
|
4851
|
-
const size =
|
|
4852
|
-
return
|
|
5022
|
+
const size = this.size ?? 32;
|
|
5023
|
+
return this.initials ?? getInitials(this.name, window.getComputedStyle(this).direction === "rtl", {
|
|
4853
5024
|
firstInitialOnly: size <= 16
|
|
4854
5025
|
});
|
|
4855
5026
|
}
|
|
4856
5027
|
};
|
|
4857
|
-
|
|
4858
|
-
Avatar
|
|
4859
|
-
|
|
4860
|
-
|
|
5028
|
+
/**
|
|
5029
|
+
* An array of the available Avatar named colors
|
|
5030
|
+
*/
|
|
5031
|
+
_Avatar.colors = Object.values(AvatarNamedColor);
|
|
5032
|
+
__decorateClass$n([attr], _Avatar.prototype, "name", 2);
|
|
5033
|
+
__decorateClass$n([attr], _Avatar.prototype, "initials", 2);
|
|
4861
5034
|
__decorateClass$n([attr({
|
|
4862
5035
|
converter: nullableNumberConverter
|
|
4863
|
-
})],
|
|
4864
|
-
__decorateClass$n([attr],
|
|
4865
|
-
__decorateClass$n([attr],
|
|
4866
|
-
__decorateClass$n([attr],
|
|
4867
|
-
__decorateClass$n([attr],
|
|
5036
|
+
})], _Avatar.prototype, "size", 2);
|
|
5037
|
+
__decorateClass$n([attr], _Avatar.prototype, "shape", 2);
|
|
5038
|
+
__decorateClass$n([attr], _Avatar.prototype, "active", 2);
|
|
5039
|
+
__decorateClass$n([attr], _Avatar.prototype, "appearance", 2);
|
|
5040
|
+
__decorateClass$n([attr], _Avatar.prototype, "color", 2);
|
|
4868
5041
|
__decorateClass$n([attr({
|
|
4869
5042
|
attribute: "color-id"
|
|
4870
|
-
})],
|
|
5043
|
+
})], _Avatar.prototype, "colorId", 2);
|
|
5044
|
+
let Avatar = _Avatar;
|
|
4871
5045
|
const getHashCode = str => {
|
|
4872
5046
|
let hashCode = 0;
|
|
4873
5047
|
for (let len = str.length - 1; len >= 0; len--) {
|
|
@@ -5339,28 +5513,62 @@ class Button extends FASTElement {
|
|
|
5339
5513
|
constructor() {
|
|
5340
5514
|
super();
|
|
5341
5515
|
this.disabledFocusable = false;
|
|
5516
|
+
/**
|
|
5517
|
+
* The internal {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
5518
|
+
*
|
|
5519
|
+
* @internal
|
|
5520
|
+
*/
|
|
5342
5521
|
this.elementInternals = this.attachInternals();
|
|
5343
5522
|
this.iconOnly = false;
|
|
5344
5523
|
this.elementInternals.role = "button";
|
|
5345
5524
|
}
|
|
5525
|
+
/**
|
|
5526
|
+
* Sets the element's internal disabled state when the element is focusable while disabled.
|
|
5527
|
+
*
|
|
5528
|
+
* @param previous - the previous disabledFocusable value
|
|
5529
|
+
* @param next - the current disabledFocusable value
|
|
5530
|
+
* @internal
|
|
5531
|
+
*/
|
|
5346
5532
|
disabledFocusableChanged(previous, next) {
|
|
5347
5533
|
if (this.$fastController.isConnected) {
|
|
5348
5534
|
this.elementInternals.ariaDisabled = `${!!next}`;
|
|
5349
5535
|
}
|
|
5350
5536
|
}
|
|
5537
|
+
/**
|
|
5538
|
+
* The associated form element.
|
|
5539
|
+
*
|
|
5540
|
+
* @public
|
|
5541
|
+
*/
|
|
5351
5542
|
get form() {
|
|
5352
5543
|
return this.elementInternals.form;
|
|
5353
5544
|
}
|
|
5545
|
+
/**
|
|
5546
|
+
* A reference to all associated label elements.
|
|
5547
|
+
*
|
|
5548
|
+
* @public
|
|
5549
|
+
*/
|
|
5354
5550
|
get labels() {
|
|
5355
5551
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
5356
5552
|
}
|
|
5553
|
+
/**
|
|
5554
|
+
* Removes the form submission fallback control when the type changes.
|
|
5555
|
+
*
|
|
5556
|
+
* @param previous - the previous type value
|
|
5557
|
+
* @param next - the new type value
|
|
5558
|
+
* @internal
|
|
5559
|
+
*/
|
|
5357
5560
|
typeChanged(previous, next) {
|
|
5358
|
-
var _a, _b, _c;
|
|
5359
5561
|
if (next !== ButtonType.submit) {
|
|
5360
|
-
|
|
5361
|
-
|
|
5562
|
+
this.formSubmissionFallbackControl?.remove();
|
|
5563
|
+
this.shadowRoot?.querySelector('slot[name="internal"]')?.remove();
|
|
5362
5564
|
}
|
|
5363
5565
|
}
|
|
5566
|
+
/**
|
|
5567
|
+
* Handles the button click event.
|
|
5568
|
+
*
|
|
5569
|
+
* @param e - The event object
|
|
5570
|
+
* @internal
|
|
5571
|
+
*/
|
|
5364
5572
|
clickHandler(e) {
|
|
5365
5573
|
if (e && this.disabledFocusable) {
|
|
5366
5574
|
e.stopImmediatePropagation();
|
|
@@ -5373,20 +5581,27 @@ class Button extends FASTElement {
|
|
|
5373
5581
|
super.connectedCallback();
|
|
5374
5582
|
this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
|
|
5375
5583
|
}
|
|
5584
|
+
/**
|
|
5585
|
+
* This fallback creates a new slot, then creates a submit button to mirror the custom element's
|
|
5586
|
+
* properties. The submit button is then appended to the slot and the form is submitted.
|
|
5587
|
+
*
|
|
5588
|
+
* @internal
|
|
5589
|
+
* @privateRemarks
|
|
5590
|
+
* This is a workaround until {@link https://github.com/WICG/webcomponents/issues/814 | WICG/webcomponents/issues/814} is resolved.
|
|
5591
|
+
*/
|
|
5376
5592
|
createAndInsertFormSubmissionFallbackControl() {
|
|
5377
|
-
|
|
5378
|
-
const internalSlot = (_a = this.formSubmissionFallbackControlSlot) != null ? _a : document.createElement("slot");
|
|
5593
|
+
const internalSlot = this.formSubmissionFallbackControlSlot ?? document.createElement("slot");
|
|
5379
5594
|
internalSlot.setAttribute("name", "internal");
|
|
5380
|
-
|
|
5595
|
+
this.shadowRoot?.appendChild(internalSlot);
|
|
5381
5596
|
this.formSubmissionFallbackControlSlot = internalSlot;
|
|
5382
|
-
const fallbackControl =
|
|
5597
|
+
const fallbackControl = this.formSubmissionFallbackControl ?? document.createElement("button");
|
|
5383
5598
|
fallbackControl.style.display = "none";
|
|
5384
5599
|
fallbackControl.setAttribute("type", "submit");
|
|
5385
5600
|
fallbackControl.setAttribute("slot", "internal");
|
|
5386
5601
|
if (this.formNoValidate) {
|
|
5387
5602
|
fallbackControl.toggleAttribute("formnovalidate", true);
|
|
5388
5603
|
}
|
|
5389
|
-
if (
|
|
5604
|
+
if (this.elementInternals.form?.id) {
|
|
5390
5605
|
fallbackControl.setAttribute("form", this.elementInternals.form.id);
|
|
5391
5606
|
}
|
|
5392
5607
|
if (this.name) {
|
|
@@ -5396,23 +5611,37 @@ class Button extends FASTElement {
|
|
|
5396
5611
|
fallbackControl.setAttribute("value", this.value);
|
|
5397
5612
|
}
|
|
5398
5613
|
if (this.formAction) {
|
|
5399
|
-
fallbackControl.setAttribute("formaction",
|
|
5614
|
+
fallbackControl.setAttribute("formaction", this.formAction ?? "");
|
|
5400
5615
|
}
|
|
5401
5616
|
if (this.formEnctype) {
|
|
5402
|
-
fallbackControl.setAttribute("formenctype",
|
|
5617
|
+
fallbackControl.setAttribute("formenctype", this.formEnctype ?? "");
|
|
5403
5618
|
}
|
|
5404
5619
|
if (this.formMethod) {
|
|
5405
|
-
fallbackControl.setAttribute("formmethod",
|
|
5620
|
+
fallbackControl.setAttribute("formmethod", this.formMethod ?? "");
|
|
5406
5621
|
}
|
|
5407
5622
|
if (this.formTarget) {
|
|
5408
|
-
fallbackControl.setAttribute("formtarget",
|
|
5623
|
+
fallbackControl.setAttribute("formtarget", this.formTarget ?? "");
|
|
5409
5624
|
}
|
|
5410
5625
|
this.append(fallbackControl);
|
|
5411
5626
|
this.formSubmissionFallbackControl = fallbackControl;
|
|
5412
5627
|
}
|
|
5628
|
+
/**
|
|
5629
|
+
* Invoked when a connected component's form or fieldset has its disabled state changed.
|
|
5630
|
+
*
|
|
5631
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
5632
|
+
*
|
|
5633
|
+
* @internal
|
|
5634
|
+
*/
|
|
5413
5635
|
formDisabledCallback(disabled) {
|
|
5414
5636
|
this.disabled = disabled;
|
|
5415
5637
|
}
|
|
5638
|
+
/**
|
|
5639
|
+
* Handles keypress events for the button.
|
|
5640
|
+
*
|
|
5641
|
+
* @param e - the keyboard event
|
|
5642
|
+
* @returns - the return value of the click handler
|
|
5643
|
+
* @public
|
|
5644
|
+
*/
|
|
5416
5645
|
keypressHandler(e) {
|
|
5417
5646
|
if (e && this.disabledFocusable) {
|
|
5418
5647
|
e.stopImmediatePropagation();
|
|
@@ -5424,6 +5653,11 @@ class Button extends FASTElement {
|
|
|
5424
5653
|
}
|
|
5425
5654
|
return true;
|
|
5426
5655
|
}
|
|
5656
|
+
/**
|
|
5657
|
+
* Presses the button.
|
|
5658
|
+
*
|
|
5659
|
+
* @public
|
|
5660
|
+
*/
|
|
5427
5661
|
press() {
|
|
5428
5662
|
switch (this.type) {
|
|
5429
5663
|
case ButtonType.reset:
|
|
@@ -5438,12 +5672,20 @@ class Button extends FASTElement {
|
|
|
5438
5672
|
}
|
|
5439
5673
|
}
|
|
5440
5674
|
}
|
|
5675
|
+
/**
|
|
5676
|
+
* Resets the associated form.
|
|
5677
|
+
*
|
|
5678
|
+
* @public
|
|
5679
|
+
*/
|
|
5441
5680
|
resetForm() {
|
|
5442
|
-
|
|
5443
|
-
(_a = this.elementInternals.form) == null ? void 0 : _a.reset();
|
|
5681
|
+
this.elementInternals.form?.reset();
|
|
5444
5682
|
}
|
|
5683
|
+
/**
|
|
5684
|
+
* Submits the associated form.
|
|
5685
|
+
*
|
|
5686
|
+
* @internal
|
|
5687
|
+
*/
|
|
5445
5688
|
submitForm() {
|
|
5446
|
-
var _a;
|
|
5447
5689
|
if (!this.elementInternals.form || this.disabled || this.type !== ButtonType.submit) {
|
|
5448
5690
|
return;
|
|
5449
5691
|
}
|
|
@@ -5452,7 +5694,7 @@ class Button extends FASTElement {
|
|
|
5452
5694
|
return;
|
|
5453
5695
|
}
|
|
5454
5696
|
try {
|
|
5455
|
-
this.elementInternals.setFormValue(
|
|
5697
|
+
this.elementInternals.setFormValue(this.value ?? "");
|
|
5456
5698
|
this.elementInternals.form.requestSubmit(this);
|
|
5457
5699
|
} catch (e) {
|
|
5458
5700
|
this.createAndInsertFormSubmissionFallbackControl();
|
|
@@ -5461,6 +5703,12 @@ class Button extends FASTElement {
|
|
|
5461
5703
|
}
|
|
5462
5704
|
}
|
|
5463
5705
|
}
|
|
5706
|
+
/**
|
|
5707
|
+
* The form-associated flag.
|
|
5708
|
+
* @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
|
|
5709
|
+
*
|
|
5710
|
+
* @public
|
|
5711
|
+
*/
|
|
5464
5712
|
Button.formAssociated = true;
|
|
5465
5713
|
__decorateClass$l([attr], Button.prototype, "appearance", 2);
|
|
5466
5714
|
__decorateClass$l([attr({
|
|
@@ -5529,9 +5777,32 @@ function FormAssociated(BaseCtor) {
|
|
|
5529
5777
|
const C = class extends BaseCtor {
|
|
5530
5778
|
constructor(...args) {
|
|
5531
5779
|
super(...args);
|
|
5780
|
+
/**
|
|
5781
|
+
* Track whether the value has been changed from the initial value
|
|
5782
|
+
*/
|
|
5532
5783
|
this.dirtyValue = false;
|
|
5784
|
+
/**
|
|
5785
|
+
* The initial value of the form. This value sets the `value` property
|
|
5786
|
+
* only when the `value` property has not been explicitly set.
|
|
5787
|
+
*
|
|
5788
|
+
* @remarks
|
|
5789
|
+
* HTML Attribute: value
|
|
5790
|
+
*/
|
|
5533
5791
|
this.initialValue = "";
|
|
5792
|
+
/**
|
|
5793
|
+
* Sets the element's disabled state. A disabled element will not be included during form submission.
|
|
5794
|
+
*
|
|
5795
|
+
* @remarks
|
|
5796
|
+
* HTML Attribute: disabled
|
|
5797
|
+
*/
|
|
5534
5798
|
this.disabled = false;
|
|
5799
|
+
/**
|
|
5800
|
+
* These are events that are still fired by the proxy
|
|
5801
|
+
* element based on user / programmatic interaction.
|
|
5802
|
+
*
|
|
5803
|
+
* The proxy implementation should be transparent to
|
|
5804
|
+
* the app author, so block these events from emitting.
|
|
5805
|
+
*/
|
|
5535
5806
|
this.proxyEventsToBlock = ["change", "click"];
|
|
5536
5807
|
this.proxyInitialized = false;
|
|
5537
5808
|
this.required = false;
|
|
@@ -5540,21 +5811,51 @@ function FormAssociated(BaseCtor) {
|
|
|
5540
5811
|
this.formResetCallback = this.formResetCallback.bind(this);
|
|
5541
5812
|
}
|
|
5542
5813
|
}
|
|
5814
|
+
/**
|
|
5815
|
+
* Must evaluate to true to enable elementInternals.
|
|
5816
|
+
* Feature detects API support and resolve respectively
|
|
5817
|
+
*
|
|
5818
|
+
* @internal
|
|
5819
|
+
*/
|
|
5543
5820
|
static get formAssociated() {
|
|
5544
5821
|
return supportsElementInternals;
|
|
5545
5822
|
}
|
|
5823
|
+
/**
|
|
5824
|
+
* Returns the validity state of the element
|
|
5825
|
+
*
|
|
5826
|
+
* @beta
|
|
5827
|
+
*/
|
|
5546
5828
|
get validity() {
|
|
5547
5829
|
return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
|
|
5548
5830
|
}
|
|
5831
|
+
/**
|
|
5832
|
+
* Retrieve a reference to the associated form.
|
|
5833
|
+
* Returns null if not associated to any form.
|
|
5834
|
+
*
|
|
5835
|
+
* @beta
|
|
5836
|
+
*/
|
|
5549
5837
|
get form() {
|
|
5550
5838
|
return this.elementInternals ? this.elementInternals.form : this.proxy.form;
|
|
5551
5839
|
}
|
|
5840
|
+
/**
|
|
5841
|
+
* Retrieve the localized validation message,
|
|
5842
|
+
* or custom validation message if set.
|
|
5843
|
+
*
|
|
5844
|
+
* @beta
|
|
5845
|
+
*/
|
|
5552
5846
|
get validationMessage() {
|
|
5553
5847
|
return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
|
|
5554
5848
|
}
|
|
5849
|
+
/**
|
|
5850
|
+
* Whether the element will be validated when the
|
|
5851
|
+
* form is submitted
|
|
5852
|
+
*/
|
|
5555
5853
|
get willValidate() {
|
|
5556
5854
|
return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
|
|
5557
5855
|
}
|
|
5856
|
+
/**
|
|
5857
|
+
* A reference to all associated label elements
|
|
5858
|
+
*/
|
|
5558
5859
|
get labels() {
|
|
5559
5860
|
if (this.elementInternals) {
|
|
5560
5861
|
return Object.freeze(Array.from(this.elementInternals.labels));
|
|
@@ -5567,6 +5868,16 @@ function FormAssociated(BaseCtor) {
|
|
|
5567
5868
|
return emptyArray;
|
|
5568
5869
|
}
|
|
5569
5870
|
}
|
|
5871
|
+
/**
|
|
5872
|
+
* Invoked when the `value` property changes
|
|
5873
|
+
* @param previous - the previous value
|
|
5874
|
+
* @param next - the new value
|
|
5875
|
+
*
|
|
5876
|
+
* @remarks
|
|
5877
|
+
* If elements extending `FormAssociated` implement a `valueChanged` method
|
|
5878
|
+
* They must be sure to invoke `super.valueChanged(previous, next)` to ensure
|
|
5879
|
+
* proper functioning of `FormAssociated`
|
|
5880
|
+
*/
|
|
5570
5881
|
valueChanged(previous, next) {
|
|
5571
5882
|
this.dirtyValue = true;
|
|
5572
5883
|
if (this.proxy instanceof HTMLElement) {
|
|
@@ -5579,23 +5890,67 @@ function FormAssociated(BaseCtor) {
|
|
|
5579
5890
|
currentValueChanged() {
|
|
5580
5891
|
this.value = this.currentValue;
|
|
5581
5892
|
}
|
|
5893
|
+
/**
|
|
5894
|
+
* Invoked when the `initialValue` property changes
|
|
5895
|
+
*
|
|
5896
|
+
* @param previous - the previous value
|
|
5897
|
+
* @param next - the new value
|
|
5898
|
+
*
|
|
5899
|
+
* @remarks
|
|
5900
|
+
* If elements extending `FormAssociated` implement a `initialValueChanged` method
|
|
5901
|
+
* They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
|
|
5902
|
+
* proper functioning of `FormAssociated`
|
|
5903
|
+
*/
|
|
5582
5904
|
initialValueChanged(previous, next) {
|
|
5583
5905
|
if (!this.dirtyValue) {
|
|
5584
5906
|
this.value = this.initialValue;
|
|
5585
5907
|
this.dirtyValue = false;
|
|
5586
5908
|
}
|
|
5587
5909
|
}
|
|
5910
|
+
/**
|
|
5911
|
+
* Invoked when the `disabled` property changes
|
|
5912
|
+
*
|
|
5913
|
+
* @param previous - the previous value
|
|
5914
|
+
* @param next - the new value
|
|
5915
|
+
*
|
|
5916
|
+
* @remarks
|
|
5917
|
+
* If elements extending `FormAssociated` implement a `disabledChanged` method
|
|
5918
|
+
* They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
|
|
5919
|
+
* proper functioning of `FormAssociated`
|
|
5920
|
+
*/
|
|
5588
5921
|
disabledChanged(previous, next) {
|
|
5589
5922
|
if (this.proxy instanceof HTMLElement) {
|
|
5590
5923
|
this.proxy.disabled = this.disabled;
|
|
5591
5924
|
}
|
|
5592
5925
|
Updates.enqueue(() => this.classList.toggle("disabled", this.disabled));
|
|
5593
5926
|
}
|
|
5927
|
+
/**
|
|
5928
|
+
* Invoked when the `name` property changes
|
|
5929
|
+
*
|
|
5930
|
+
* @param previous - the previous value
|
|
5931
|
+
* @param next - the new value
|
|
5932
|
+
*
|
|
5933
|
+
* @remarks
|
|
5934
|
+
* If elements extending `FormAssociated` implement a `nameChanged` method
|
|
5935
|
+
* They must be sure to invoke `super.nameChanged(previous, next)` to ensure
|
|
5936
|
+
* proper functioning of `FormAssociated`
|
|
5937
|
+
*/
|
|
5594
5938
|
nameChanged(previous, next) {
|
|
5595
5939
|
if (this.proxy instanceof HTMLElement) {
|
|
5596
5940
|
this.proxy.name = this.name;
|
|
5597
5941
|
}
|
|
5598
5942
|
}
|
|
5943
|
+
/**
|
|
5944
|
+
* Invoked when the `required` property changes
|
|
5945
|
+
*
|
|
5946
|
+
* @param previous - the previous value
|
|
5947
|
+
* @param next - the new value
|
|
5948
|
+
*
|
|
5949
|
+
* @remarks
|
|
5950
|
+
* If elements extending `FormAssociated` implement a `requiredChanged` method
|
|
5951
|
+
* They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
|
|
5952
|
+
* proper functioning of `FormAssociated`
|
|
5953
|
+
*/
|
|
5599
5954
|
requiredChanged(prev, next) {
|
|
5600
5955
|
if (this.proxy instanceof HTMLElement) {
|
|
5601
5956
|
this.proxy.required = this.required;
|
|
@@ -5603,6 +5958,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5603
5958
|
Updates.enqueue(() => this.classList.toggle("required", this.required));
|
|
5604
5959
|
this.validate();
|
|
5605
5960
|
}
|
|
5961
|
+
/**
|
|
5962
|
+
* The element internals object. Will only exist
|
|
5963
|
+
* in browsers supporting the attachInternals API
|
|
5964
|
+
*/
|
|
5606
5965
|
get elementInternals() {
|
|
5607
5966
|
if (!supportsElementInternals) {
|
|
5608
5967
|
return null;
|
|
@@ -5614,6 +5973,9 @@ function FormAssociated(BaseCtor) {
|
|
|
5614
5973
|
}
|
|
5615
5974
|
return internals;
|
|
5616
5975
|
}
|
|
5976
|
+
/**
|
|
5977
|
+
* @internal
|
|
5978
|
+
*/
|
|
5617
5979
|
connectedCallback() {
|
|
5618
5980
|
super.connectedCallback();
|
|
5619
5981
|
this.addEventListener("keypress", this._keypressHandler);
|
|
@@ -5628,18 +5990,37 @@ function FormAssociated(BaseCtor) {
|
|
|
5628
5990
|
}
|
|
5629
5991
|
}
|
|
5630
5992
|
}
|
|
5993
|
+
/**
|
|
5994
|
+
* @internal
|
|
5995
|
+
*/
|
|
5631
5996
|
disconnectedCallback() {
|
|
5632
5997
|
this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
|
|
5633
5998
|
if (!this.elementInternals && this.form) {
|
|
5634
5999
|
this.form.removeEventListener("reset", this.formResetCallback);
|
|
5635
6000
|
}
|
|
5636
6001
|
}
|
|
6002
|
+
/**
|
|
6003
|
+
* Return the current validity of the element.
|
|
6004
|
+
*/
|
|
5637
6005
|
checkValidity() {
|
|
5638
6006
|
return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
|
|
5639
6007
|
}
|
|
6008
|
+
/**
|
|
6009
|
+
* Return the current validity of the element.
|
|
6010
|
+
* If false, fires an invalid event at the element.
|
|
6011
|
+
*/
|
|
5640
6012
|
reportValidity() {
|
|
5641
6013
|
return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
|
|
5642
6014
|
}
|
|
6015
|
+
/**
|
|
6016
|
+
* Set the validity of the control. In cases when the elementInternals object is not
|
|
6017
|
+
* available (and the proxy element is used to report validity), this function will
|
|
6018
|
+
* do nothing unless a message is provided, at which point the setCustomValidity method
|
|
6019
|
+
* of the proxy element will be invoked with the provided message.
|
|
6020
|
+
* @param flags - Validity flags
|
|
6021
|
+
* @param message - Optional message to supply
|
|
6022
|
+
* @param anchor - Optional element used by UA to display an interactive validation UI
|
|
6023
|
+
*/
|
|
5643
6024
|
setValidity(flags, message, anchor) {
|
|
5644
6025
|
if (this.elementInternals) {
|
|
5645
6026
|
this.elementInternals.setValidity(flags, message, anchor);
|
|
@@ -5647,6 +6028,11 @@ function FormAssociated(BaseCtor) {
|
|
|
5647
6028
|
this.proxy.setCustomValidity(message);
|
|
5648
6029
|
}
|
|
5649
6030
|
}
|
|
6031
|
+
/**
|
|
6032
|
+
* Invoked when a connected component's form or fieldset has its disabled
|
|
6033
|
+
* state changed.
|
|
6034
|
+
* @param disabled - the disabled value of the form / fieldset
|
|
6035
|
+
*/
|
|
5650
6036
|
formDisabledCallback(disabled) {
|
|
5651
6037
|
this.disabled = disabled;
|
|
5652
6038
|
}
|
|
@@ -5654,8 +6040,10 @@ function FormAssociated(BaseCtor) {
|
|
|
5654
6040
|
this.value = this.initialValue;
|
|
5655
6041
|
this.dirtyValue = false;
|
|
5656
6042
|
}
|
|
6043
|
+
/**
|
|
6044
|
+
* Attach the proxy element to the DOM
|
|
6045
|
+
*/
|
|
5657
6046
|
attachProxy() {
|
|
5658
|
-
var _a;
|
|
5659
6047
|
if (!this.proxyInitialized) {
|
|
5660
6048
|
this.proxyInitialized = true;
|
|
5661
6049
|
this.proxy.style.display = "none";
|
|
@@ -5672,19 +6060,27 @@ function FormAssociated(BaseCtor) {
|
|
|
5672
6060
|
this.proxySlot = document.createElement("slot");
|
|
5673
6061
|
this.proxySlot.setAttribute("name", proxySlotName);
|
|
5674
6062
|
}
|
|
5675
|
-
|
|
6063
|
+
this.shadowRoot?.appendChild(this.proxySlot);
|
|
5676
6064
|
this.appendChild(this.proxy);
|
|
5677
6065
|
}
|
|
6066
|
+
/**
|
|
6067
|
+
* Detach the proxy element from the DOM
|
|
6068
|
+
*/
|
|
5678
6069
|
detachProxy() {
|
|
5679
|
-
var _a;
|
|
5680
6070
|
this.removeChild(this.proxy);
|
|
5681
|
-
|
|
6071
|
+
this.shadowRoot?.removeChild(this.proxySlot);
|
|
5682
6072
|
}
|
|
6073
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
5683
6074
|
validate(anchor) {
|
|
5684
6075
|
if (this.proxy instanceof HTMLElement) {
|
|
5685
6076
|
this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
|
|
5686
6077
|
}
|
|
5687
6078
|
}
|
|
6079
|
+
/**
|
|
6080
|
+
* Associates the provided value (and optional state) with the parent form.
|
|
6081
|
+
* @param value - The value to set
|
|
6082
|
+
* @param state - The state object provided to during session restores and when autofilling.
|
|
6083
|
+
*/
|
|
5688
6084
|
setFormValue(value, state) {
|
|
5689
6085
|
if (this.elementInternals) {
|
|
5690
6086
|
this.elementInternals.setFormValue(value, state || value);
|
|
@@ -5695,11 +6091,15 @@ function FormAssociated(BaseCtor) {
|
|
|
5695
6091
|
case keyEnter:
|
|
5696
6092
|
if (this.form instanceof HTMLFormElement) {
|
|
5697
6093
|
const defaultButton = this.form.querySelector("[type=submit]");
|
|
5698
|
-
defaultButton
|
|
6094
|
+
defaultButton?.click();
|
|
5699
6095
|
}
|
|
5700
6096
|
break;
|
|
5701
6097
|
}
|
|
5702
6098
|
}
|
|
6099
|
+
/**
|
|
6100
|
+
* Used to stop propagation of proxy element events
|
|
6101
|
+
* @param e - Event object
|
|
6102
|
+
*/
|
|
5703
6103
|
stopPropagation(e) {
|
|
5704
6104
|
e.stopPropagation();
|
|
5705
6105
|
}
|
|
@@ -5726,14 +6126,35 @@ function CheckableFormAssociated(BaseCtor) {
|
|
|
5726
6126
|
class D extends C {
|
|
5727
6127
|
constructor(...args) {
|
|
5728
6128
|
super(args);
|
|
6129
|
+
/**
|
|
6130
|
+
* Tracks whether the "checked" property has been changed.
|
|
6131
|
+
* This is necessary to provide consistent behavior with
|
|
6132
|
+
* normal input checkboxes
|
|
6133
|
+
*/
|
|
5729
6134
|
this.dirtyChecked = false;
|
|
6135
|
+
/**
|
|
6136
|
+
* Provides the default checkedness of the input element
|
|
6137
|
+
* Passed down to proxy
|
|
6138
|
+
*
|
|
6139
|
+
* @public
|
|
6140
|
+
* @remarks
|
|
6141
|
+
* HTML Attribute: checked
|
|
6142
|
+
*/
|
|
5730
6143
|
this.checkedAttribute = false;
|
|
6144
|
+
/**
|
|
6145
|
+
* The checked state of the control.
|
|
6146
|
+
*
|
|
6147
|
+
* @public
|
|
6148
|
+
*/
|
|
5731
6149
|
this.checked = false;
|
|
5732
6150
|
this.dirtyChecked = false;
|
|
5733
6151
|
}
|
|
5734
6152
|
checkedAttributeChanged() {
|
|
5735
6153
|
this.defaultChecked = this.checkedAttribute;
|
|
5736
6154
|
}
|
|
6155
|
+
/**
|
|
6156
|
+
* @internal
|
|
6157
|
+
*/
|
|
5737
6158
|
defaultCheckedChanged() {
|
|
5738
6159
|
if (!this.dirtyChecked) {
|
|
5739
6160
|
this.checked = this.defaultChecked;
|
|
@@ -5803,8 +6224,17 @@ var __decorateClass$k = (decorators, target, key, kind) => {
|
|
|
5803
6224
|
class Checkbox extends FormAssociatedCheckbox {
|
|
5804
6225
|
constructor() {
|
|
5805
6226
|
super();
|
|
6227
|
+
/**
|
|
6228
|
+
* The element's value to be included in form submission when checked.
|
|
6229
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
6230
|
+
*
|
|
6231
|
+
* @internal
|
|
6232
|
+
*/
|
|
5806
6233
|
this.initialValue = "on";
|
|
5807
6234
|
this.indeterminate = false;
|
|
6235
|
+
/**
|
|
6236
|
+
* @internal
|
|
6237
|
+
*/
|
|
5808
6238
|
this.keypressHandler = e => {
|
|
5809
6239
|
if (this.disabled) {
|
|
5810
6240
|
return;
|
|
@@ -5815,6 +6245,9 @@ class Checkbox extends FormAssociatedCheckbox {
|
|
|
5815
6245
|
break;
|
|
5816
6246
|
}
|
|
5817
6247
|
};
|
|
6248
|
+
/**
|
|
6249
|
+
* @internal
|
|
6250
|
+
*/
|
|
5818
6251
|
this.clickHandler = e => {
|
|
5819
6252
|
if (!this.disabled) {
|
|
5820
6253
|
this.toggleChecked();
|
|
@@ -5931,9 +6364,14 @@ class CounterBadge extends FASTElement {
|
|
|
5931
6364
|
overflowCountChanged() {
|
|
5932
6365
|
this.setCount();
|
|
5933
6366
|
}
|
|
6367
|
+
/**
|
|
6368
|
+
* @internal
|
|
6369
|
+
* Function to set the count
|
|
6370
|
+
* This is the default slotted content for the counter badge
|
|
6371
|
+
* If children are slotted, that will override the value returned
|
|
6372
|
+
*/
|
|
5934
6373
|
setCount() {
|
|
5935
|
-
|
|
5936
|
-
const count = (_a = this.count) != null ? _a : 0;
|
|
6374
|
+
const count = this.count ?? 0;
|
|
5937
6375
|
if ((count !== 0 || this.showZero) && !this.dot) {
|
|
5938
6376
|
return count > this.overflowCount ? `${this.overflowCount}+` : `${count}`;
|
|
5939
6377
|
}
|
|
@@ -6374,21 +6812,40 @@ var __decorateClass$i = (decorators, target, key, kind) => {
|
|
|
6374
6812
|
if (kind && result) __defProp$i(target, key, result);
|
|
6375
6813
|
return result;
|
|
6376
6814
|
};
|
|
6377
|
-
const _Dialog = class extends FASTElement {
|
|
6815
|
+
const _Dialog = class _Dialog extends FASTElement {
|
|
6378
6816
|
constructor() {
|
|
6379
6817
|
super(...arguments);
|
|
6818
|
+
/**
|
|
6819
|
+
* @private
|
|
6820
|
+
* Indicates whether focus is being trapped within the dialog
|
|
6821
|
+
*/
|
|
6380
6822
|
this.isTrappingFocus = false;
|
|
6381
6823
|
this.titleAction = [];
|
|
6382
6824
|
this.modalType = DialogModalType.modal;
|
|
6383
6825
|
this.open = false;
|
|
6384
6826
|
this.noTitleAction = false;
|
|
6827
|
+
/**
|
|
6828
|
+
* @private
|
|
6829
|
+
* Indicates whether focus should be trapped within the dialog
|
|
6830
|
+
*/
|
|
6385
6831
|
this.trapFocus = false;
|
|
6832
|
+
/**
|
|
6833
|
+
* @public
|
|
6834
|
+
* Method to emit an event when the dialog's open state changes
|
|
6835
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
6836
|
+
*/
|
|
6386
6837
|
this.onOpenChangeEvent = (dismissed = false) => {
|
|
6387
6838
|
this.$emit("onOpenChange", {
|
|
6388
6839
|
open: this.dialog.open,
|
|
6389
6840
|
dismissed
|
|
6390
6841
|
});
|
|
6391
6842
|
};
|
|
6843
|
+
/**
|
|
6844
|
+
* @public
|
|
6845
|
+
* Handles keydown events on the dialog
|
|
6846
|
+
* @param e - The keydown event
|
|
6847
|
+
* @returns boolean | void
|
|
6848
|
+
*/
|
|
6392
6849
|
this.handleKeydown = e => {
|
|
6393
6850
|
if (e.defaultPrevented) {
|
|
6394
6851
|
return;
|
|
@@ -6404,6 +6861,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6404
6861
|
return true;
|
|
6405
6862
|
}
|
|
6406
6863
|
};
|
|
6864
|
+
/**
|
|
6865
|
+
* @private
|
|
6866
|
+
* Handles keydown events on the document
|
|
6867
|
+
* @param e - The keydown event
|
|
6868
|
+
*/
|
|
6407
6869
|
this.handleDocumentKeydown = e => {
|
|
6408
6870
|
if (!e.defaultPrevented && this.dialog.open) {
|
|
6409
6871
|
switch (e.key) {
|
|
@@ -6413,6 +6875,11 @@ const _Dialog = class extends FASTElement {
|
|
|
6413
6875
|
}
|
|
6414
6876
|
}
|
|
6415
6877
|
};
|
|
6878
|
+
/**
|
|
6879
|
+
* @private
|
|
6880
|
+
* Handles tab keydown events
|
|
6881
|
+
* @param e - The keydown event
|
|
6882
|
+
*/
|
|
6416
6883
|
this.handleTabKeyDown = e => {
|
|
6417
6884
|
if (!this.trapFocus || !this.dialog.open) {
|
|
6418
6885
|
return;
|
|
@@ -6432,10 +6899,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6432
6899
|
}
|
|
6433
6900
|
return;
|
|
6434
6901
|
};
|
|
6902
|
+
/**
|
|
6903
|
+
* @private
|
|
6904
|
+
* Gets the bounds of the tab queue
|
|
6905
|
+
* @returns (HTMLElement | SVGElement)[]
|
|
6906
|
+
*/
|
|
6435
6907
|
this.getTabQueueBounds = () => {
|
|
6436
6908
|
const bounds = [];
|
|
6437
6909
|
return _Dialog.reduceTabbableItems(bounds, this);
|
|
6438
6910
|
};
|
|
6911
|
+
/**
|
|
6912
|
+
* @private
|
|
6913
|
+
* Focuses the first element in the tab queue
|
|
6914
|
+
*/
|
|
6439
6915
|
this.focusFirstElement = () => {
|
|
6440
6916
|
const bounds = this.getTabQueueBounds();
|
|
6441
6917
|
if (bounds.length > 0) {
|
|
@@ -6446,18 +6922,39 @@ const _Dialog = class extends FASTElement {
|
|
|
6446
6922
|
}
|
|
6447
6923
|
}
|
|
6448
6924
|
};
|
|
6925
|
+
/**
|
|
6926
|
+
* @private
|
|
6927
|
+
* Determines if focus should be forced
|
|
6928
|
+
* @param currentFocusElement - The currently focused element
|
|
6929
|
+
* @returns boolean
|
|
6930
|
+
*/
|
|
6449
6931
|
this.shouldForceFocus = currentFocusElement => {
|
|
6450
6932
|
return this.isTrappingFocus && !this.contains(currentFocusElement);
|
|
6451
6933
|
};
|
|
6934
|
+
/**
|
|
6935
|
+
* @private
|
|
6936
|
+
* Determines if focus should be trapped
|
|
6937
|
+
* @returns boolean
|
|
6938
|
+
*/
|
|
6452
6939
|
this.shouldTrapFocus = () => {
|
|
6453
6940
|
return this.trapFocus && this.dialog.open;
|
|
6454
6941
|
};
|
|
6942
|
+
/**
|
|
6943
|
+
* @private
|
|
6944
|
+
* Handles focus events on the document
|
|
6945
|
+
* @param e - The focus event
|
|
6946
|
+
*/
|
|
6455
6947
|
this.handleDocumentFocus = e => {
|
|
6456
6948
|
if (!e.defaultPrevented && this.shouldForceFocus(e.target)) {
|
|
6457
6949
|
this.focusFirstElement();
|
|
6458
6950
|
e.preventDefault();
|
|
6459
6951
|
}
|
|
6460
6952
|
};
|
|
6953
|
+
/**
|
|
6954
|
+
* @private
|
|
6955
|
+
* Updates the state of focus trapping
|
|
6956
|
+
* @param shouldTrapFocusOverride - Optional override for whether focus should be trapped
|
|
6957
|
+
*/
|
|
6461
6958
|
this.updateTrapFocus = shouldTrapFocusOverride => {
|
|
6462
6959
|
const shouldTrapFocus = shouldTrapFocusOverride === void 0 ? this.shouldTrapFocus() : shouldTrapFocusOverride;
|
|
6463
6960
|
if (shouldTrapFocus && !this.isTrappingFocus) {
|
|
@@ -6474,6 +6971,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6474
6971
|
}
|
|
6475
6972
|
};
|
|
6476
6973
|
}
|
|
6974
|
+
/**
|
|
6975
|
+
* @public
|
|
6976
|
+
* Lifecycle method called when the element is connected to the DOM
|
|
6977
|
+
*/
|
|
6477
6978
|
connectedCallback() {
|
|
6478
6979
|
super.connectedCallback();
|
|
6479
6980
|
document.addEventListener("keydown", this.handleDocumentKeydown);
|
|
@@ -6482,11 +6983,19 @@ const _Dialog = class extends FASTElement {
|
|
|
6482
6983
|
this.setComponent();
|
|
6483
6984
|
});
|
|
6484
6985
|
}
|
|
6986
|
+
/**
|
|
6987
|
+
* @public
|
|
6988
|
+
* Lifecycle method called when the element is disconnected from the DOM
|
|
6989
|
+
*/
|
|
6485
6990
|
disconnectedCallback() {
|
|
6486
6991
|
super.disconnectedCallback();
|
|
6487
6992
|
document.removeEventListener("keydown", this.handleDocumentKeydown);
|
|
6488
6993
|
this.updateTrapFocus(false);
|
|
6489
6994
|
}
|
|
6995
|
+
/**
|
|
6996
|
+
* @public
|
|
6997
|
+
* Method called when the 'open' attribute changes
|
|
6998
|
+
*/
|
|
6490
6999
|
openChanged(oldValue, newValue) {
|
|
6491
7000
|
if (newValue !== oldValue) {
|
|
6492
7001
|
if (newValue && !oldValue) {
|
|
@@ -6496,6 +7005,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6496
7005
|
}
|
|
6497
7006
|
}
|
|
6498
7007
|
}
|
|
7008
|
+
/**
|
|
7009
|
+
* @public
|
|
7010
|
+
* Method called when the 'modalType' attribute changes
|
|
7011
|
+
*/
|
|
6499
7012
|
modalTypeChanged(oldValue, newValue) {
|
|
6500
7013
|
if (newValue !== oldValue) {
|
|
6501
7014
|
if (newValue == DialogModalType.alert || newValue == DialogModalType.modal) {
|
|
@@ -6505,6 +7018,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6505
7018
|
}
|
|
6506
7019
|
}
|
|
6507
7020
|
}
|
|
7021
|
+
/**
|
|
7022
|
+
* @public
|
|
7023
|
+
* Method to set the component's state based on its attributes
|
|
7024
|
+
*/
|
|
6508
7025
|
setComponent() {
|
|
6509
7026
|
if (this.modalType == DialogModalType.modal || this.modalType == DialogModalType.alert) {
|
|
6510
7027
|
this.trapFocus = true;
|
|
@@ -6512,6 +7029,10 @@ const _Dialog = class extends FASTElement {
|
|
|
6512
7029
|
this.trapFocus = false;
|
|
6513
7030
|
}
|
|
6514
7031
|
}
|
|
7032
|
+
/**
|
|
7033
|
+
* @public
|
|
7034
|
+
* Method to show the dialog
|
|
7035
|
+
*/
|
|
6515
7036
|
show() {
|
|
6516
7037
|
Updates.enqueue(() => {
|
|
6517
7038
|
if (this.modalType === DialogModalType.alert || this.modalType === DialogModalType.modal) {
|
|
@@ -6525,17 +7046,32 @@ const _Dialog = class extends FASTElement {
|
|
|
6525
7046
|
this.onOpenChangeEvent();
|
|
6526
7047
|
});
|
|
6527
7048
|
}
|
|
7049
|
+
/**
|
|
7050
|
+
* @public
|
|
7051
|
+
* Method to hide the dialog
|
|
7052
|
+
* @param dismissed - Indicates whether the dialog was dismissed
|
|
7053
|
+
*/
|
|
6528
7054
|
hide(dismissed = false) {
|
|
6529
7055
|
this.dialog.close();
|
|
6530
7056
|
this.open = false;
|
|
6531
7057
|
this.onOpenChangeEvent(dismissed);
|
|
6532
7058
|
}
|
|
7059
|
+
/**
|
|
7060
|
+
* @public
|
|
7061
|
+
* Method to dismiss the dialog
|
|
7062
|
+
*/
|
|
6533
7063
|
dismiss() {
|
|
6534
7064
|
if (this.modalType === DialogModalType.alert) {
|
|
6535
7065
|
return;
|
|
6536
7066
|
}
|
|
6537
7067
|
this.hide(true);
|
|
6538
7068
|
}
|
|
7069
|
+
/**
|
|
7070
|
+
* @public
|
|
7071
|
+
* Handles click events on the dialog
|
|
7072
|
+
* @param event - The click event
|
|
7073
|
+
* @returns boolean
|
|
7074
|
+
*/
|
|
6539
7075
|
handleClick(event) {
|
|
6540
7076
|
event.preventDefault();
|
|
6541
7077
|
if (this.dialog.open && this.modalType !== DialogModalType.alert && event.target === this.dialog) {
|
|
@@ -6543,6 +7079,13 @@ const _Dialog = class extends FASTElement {
|
|
|
6543
7079
|
}
|
|
6544
7080
|
return true;
|
|
6545
7081
|
}
|
|
7082
|
+
/**
|
|
7083
|
+
* @private
|
|
7084
|
+
* Reduces the list of tabbable items
|
|
7085
|
+
* @param elements - The current list of elements
|
|
7086
|
+
* @param element - The element to consider adding to the list
|
|
7087
|
+
* @returns HTMLElement[]
|
|
7088
|
+
*/
|
|
6546
7089
|
static reduceTabbableItems(elements, element) {
|
|
6547
7090
|
if (element.getAttribute("tabindex") === "-1") {
|
|
6548
7091
|
return elements;
|
|
@@ -6553,37 +7096,47 @@ const _Dialog = class extends FASTElement {
|
|
|
6553
7096
|
}
|
|
6554
7097
|
return Array.from(element.children).reduce((elements2, currentElement) => _Dialog.reduceTabbableItems(elements2, currentElement), elements);
|
|
6555
7098
|
}
|
|
7099
|
+
/**
|
|
7100
|
+
* @private
|
|
7101
|
+
* Determines if an element is a focusable FASTElement
|
|
7102
|
+
* @param element - The element to check
|
|
7103
|
+
* @returns boolean
|
|
7104
|
+
*/
|
|
6556
7105
|
static isFocusableFastElement(element) {
|
|
6557
|
-
|
|
6558
|
-
return !!((_b = (_a = element.$fastController) == null ? void 0 : _a.definition.shadowOptions) == null ? void 0 : _b.delegatesFocus);
|
|
7106
|
+
return !!element.$fastController?.definition.shadowOptions?.delegatesFocus;
|
|
6559
7107
|
}
|
|
7108
|
+
/**
|
|
7109
|
+
* @private
|
|
7110
|
+
* Determines if an element has a tabbable shadow
|
|
7111
|
+
* @param element - The element to check
|
|
7112
|
+
* @returns boolean
|
|
7113
|
+
*/
|
|
6560
7114
|
static hasTabbableShadow(element) {
|
|
6561
|
-
|
|
6562
|
-
return Array.from((_b = (_a = element.shadowRoot) == null ? void 0 : _a.querySelectorAll("*")) != null ? _b : []).some(x => {
|
|
7115
|
+
return Array.from(element.shadowRoot?.querySelectorAll("*") ?? []).some(x => {
|
|
6563
7116
|
return isTabbable(x);
|
|
6564
7117
|
});
|
|
6565
7118
|
}
|
|
6566
7119
|
};
|
|
6567
|
-
|
|
6568
|
-
__decorateClass$i([observable],
|
|
6569
|
-
__decorateClass$i([observable],
|
|
6570
|
-
__decorateClass$i([observable], Dialog.prototype, "defaultTitleAction", 2);
|
|
7120
|
+
__decorateClass$i([observable], _Dialog.prototype, "dialog", 2);
|
|
7121
|
+
__decorateClass$i([observable], _Dialog.prototype, "titleAction", 2);
|
|
7122
|
+
__decorateClass$i([observable], _Dialog.prototype, "defaultTitleAction", 2);
|
|
6571
7123
|
__decorateClass$i([attr({
|
|
6572
7124
|
attribute: "aria-describedby"
|
|
6573
|
-
})],
|
|
7125
|
+
})], _Dialog.prototype, "ariaDescribedby", 2);
|
|
6574
7126
|
__decorateClass$i([attr({
|
|
6575
7127
|
attribute: "aria-labelledby"
|
|
6576
|
-
})],
|
|
7128
|
+
})], _Dialog.prototype, "ariaLabelledby", 2);
|
|
6577
7129
|
__decorateClass$i([attr({
|
|
6578
7130
|
attribute: "modal-type"
|
|
6579
|
-
})],
|
|
7131
|
+
})], _Dialog.prototype, "modalType", 2);
|
|
6580
7132
|
__decorateClass$i([attr({
|
|
6581
7133
|
mode: "boolean"
|
|
6582
|
-
})],
|
|
7134
|
+
})], _Dialog.prototype, "open", 2);
|
|
6583
7135
|
__decorateClass$i([attr({
|
|
6584
7136
|
mode: "boolean",
|
|
6585
7137
|
attribute: "no-title-action"
|
|
6586
|
-
})],
|
|
7138
|
+
})], _Dialog.prototype, "noTitleAction", 2);
|
|
7139
|
+
let Dialog = _Dialog;
|
|
6587
7140
|
|
|
6588
7141
|
const dismissed16Regular = html.partial(`
|
|
6589
7142
|
<svg
|
|
@@ -6616,7 +7169,13 @@ const definition$j = Dialog.compose({
|
|
|
6616
7169
|
});
|
|
6617
7170
|
|
|
6618
7171
|
const DividerRole = {
|
|
7172
|
+
/**
|
|
7173
|
+
* The divider semantically separates content
|
|
7174
|
+
*/
|
|
6619
7175
|
separator: "separator",
|
|
7176
|
+
/**
|
|
7177
|
+
* The divider has no semantic value and is for visual presentation only.
|
|
7178
|
+
*/
|
|
6620
7179
|
presentation: "presentation"
|
|
6621
7180
|
};
|
|
6622
7181
|
const DividerOrientation = Orientation;
|
|
@@ -7702,6 +8261,10 @@ class Menu extends FASTElement {
|
|
|
7702
8261
|
this.open = false;
|
|
7703
8262
|
this.slottedMenuList = [];
|
|
7704
8263
|
this.slottedTriggers = [];
|
|
8264
|
+
/**
|
|
8265
|
+
* Toggles the open state of the menu.
|
|
8266
|
+
* @public
|
|
8267
|
+
*/
|
|
7705
8268
|
this.toggleMenu = () => {
|
|
7706
8269
|
if (this.open) {
|
|
7707
8270
|
this.closeMenu();
|
|
@@ -7709,13 +8272,21 @@ class Menu extends FASTElement {
|
|
|
7709
8272
|
this.openMenu();
|
|
7710
8273
|
}
|
|
7711
8274
|
};
|
|
8275
|
+
/**
|
|
8276
|
+
* Closes the menu.
|
|
8277
|
+
* @public
|
|
8278
|
+
*/
|
|
7712
8279
|
this.closeMenu = () => {
|
|
7713
8280
|
this.open = false;
|
|
7714
8281
|
if (this.closeOnScroll) {
|
|
7715
8282
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7716
8283
|
}
|
|
7717
8284
|
};
|
|
7718
|
-
|
|
8285
|
+
/**
|
|
8286
|
+
* Opens the menu.
|
|
8287
|
+
* @public
|
|
8288
|
+
*/
|
|
8289
|
+
this.openMenu = e => {
|
|
7719
8290
|
this.open = true;
|
|
7720
8291
|
if (e && this.openOnContext) {
|
|
7721
8292
|
e.preventDefault();
|
|
@@ -7724,9 +8295,20 @@ class Menu extends FASTElement {
|
|
|
7724
8295
|
document.addEventListener("scroll", this.closeMenu);
|
|
7725
8296
|
}
|
|
7726
8297
|
};
|
|
8298
|
+
/**
|
|
8299
|
+
* The task to set the positioning of the menu.
|
|
8300
|
+
* @protected
|
|
8301
|
+
*/
|
|
7727
8302
|
this.setPositioningTask = () => {
|
|
7728
8303
|
this.setPositioning();
|
|
7729
8304
|
};
|
|
8305
|
+
/**
|
|
8306
|
+
* Handles keyboard interaction for the trigger.
|
|
8307
|
+
* Toggles the menu when the Space or Enter key is pressed.
|
|
8308
|
+
* If the menu is open, focuses on the menu list.
|
|
8309
|
+
* @public
|
|
8310
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8311
|
+
*/
|
|
7730
8312
|
this.handleTriggerKeydown = e => {
|
|
7731
8313
|
if (e.defaultPrevented) {
|
|
7732
8314
|
return;
|
|
@@ -7745,22 +8327,41 @@ class Menu extends FASTElement {
|
|
|
7745
8327
|
return true;
|
|
7746
8328
|
}
|
|
7747
8329
|
};
|
|
8330
|
+
/**
|
|
8331
|
+
* Handles document click events to close the menu when a click occurs outside of the menu or the trigger.
|
|
8332
|
+
* @private
|
|
8333
|
+
* @param {Event} e - The event triggered on document click.
|
|
8334
|
+
*/
|
|
7748
8335
|
this.handleDocumentClick = e => {
|
|
7749
8336
|
if (e && !e.composedPath().includes(this._menuList) && !e.composedPath().includes(this._trigger)) {
|
|
7750
8337
|
this.closeMenu();
|
|
7751
8338
|
}
|
|
7752
8339
|
};
|
|
7753
8340
|
}
|
|
8341
|
+
/**
|
|
8342
|
+
* Called when the element is connected to the DOM.
|
|
8343
|
+
* Sets up the component.
|
|
8344
|
+
* @public
|
|
8345
|
+
*/
|
|
7754
8346
|
connectedCallback() {
|
|
7755
8347
|
super.connectedCallback();
|
|
7756
8348
|
Updates.enqueue(() => this.setComponent());
|
|
7757
8349
|
}
|
|
8350
|
+
/**
|
|
8351
|
+
* Called when the element is disconnected from the DOM.
|
|
8352
|
+
* Removes event listeners.
|
|
8353
|
+
* @public
|
|
8354
|
+
*/
|
|
7758
8355
|
disconnectedCallback() {
|
|
7759
|
-
var _a;
|
|
7760
8356
|
super.disconnectedCallback();
|
|
7761
|
-
|
|
8357
|
+
this.cleanup?.();
|
|
7762
8358
|
this.removeListeners();
|
|
7763
8359
|
}
|
|
8360
|
+
/**
|
|
8361
|
+
* Sets the component.
|
|
8362
|
+
* Sets the trigger and menu list elements and adds event listeners.
|
|
8363
|
+
* @public
|
|
8364
|
+
*/
|
|
7764
8365
|
setComponent() {
|
|
7765
8366
|
if (this.$fastController.isConnected && this.slottedMenuList.length && this.slottedTriggers.length) {
|
|
7766
8367
|
this._trigger = this.slottedTriggers[0];
|
|
@@ -7770,6 +8371,10 @@ class Menu extends FASTElement {
|
|
|
7770
8371
|
this.addListeners();
|
|
7771
8372
|
}
|
|
7772
8373
|
}
|
|
8374
|
+
/**
|
|
8375
|
+
* Focuses on the menu list.
|
|
8376
|
+
* @public
|
|
8377
|
+
*/
|
|
7773
8378
|
focusMenuList() {
|
|
7774
8379
|
if (this.open && this._menuList) {
|
|
7775
8380
|
Updates.enqueue(() => {
|
|
@@ -7777,6 +8382,10 @@ class Menu extends FASTElement {
|
|
|
7777
8382
|
});
|
|
7778
8383
|
}
|
|
7779
8384
|
}
|
|
8385
|
+
/**
|
|
8386
|
+
* Focuses on the menu trigger.
|
|
8387
|
+
* @public
|
|
8388
|
+
*/
|
|
7780
8389
|
focusTrigger() {
|
|
7781
8390
|
if (!this.open && this._trigger) {
|
|
7782
8391
|
Updates.enqueue(() => {
|
|
@@ -7784,43 +8393,76 @@ class Menu extends FASTElement {
|
|
|
7784
8393
|
});
|
|
7785
8394
|
}
|
|
7786
8395
|
}
|
|
8396
|
+
/**
|
|
8397
|
+
* Called whenever the open state changes.
|
|
8398
|
+
* Updates the 'aria-expanded' attribute and sets the positioning of the menu.
|
|
8399
|
+
* Sets menu list position
|
|
8400
|
+
* emits openChanged event
|
|
8401
|
+
* @public
|
|
8402
|
+
* @param {boolean} oldValue - The previous value of 'open'.
|
|
8403
|
+
* @param {boolean} newValue - The new value of 'open'.
|
|
8404
|
+
*/
|
|
7787
8405
|
openChanged(oldValue, newValue) {
|
|
7788
|
-
var _a;
|
|
7789
8406
|
if (this.$fastController.isConnected && this._trigger instanceof HTMLElement) {
|
|
7790
8407
|
this._trigger.setAttribute("aria-expanded", `${this.open}`);
|
|
7791
8408
|
if (this._menuList && this.open) {
|
|
7792
8409
|
Updates.enqueue(this.setPositioningTask);
|
|
7793
8410
|
}
|
|
7794
8411
|
}
|
|
7795
|
-
|
|
8412
|
+
this.cleanup?.();
|
|
7796
8413
|
this.$emit("onOpenChange", {
|
|
7797
8414
|
open: newValue
|
|
7798
8415
|
});
|
|
7799
8416
|
}
|
|
8417
|
+
/**
|
|
8418
|
+
* Called whenever the 'openOnHover' property changes.
|
|
8419
|
+
* Adds or removes a 'mouseover' event listener to the trigger based on the new value.
|
|
8420
|
+
* @public
|
|
8421
|
+
* @param {boolean} oldValue - The previous value of 'openOnHover'.
|
|
8422
|
+
* @param {boolean} newValue - The new value of 'openOnHover'.
|
|
8423
|
+
*/
|
|
7800
8424
|
openOnHoverChanged(oldValue, newValue) {
|
|
7801
|
-
var _a, _b;
|
|
7802
8425
|
if (newValue) {
|
|
7803
|
-
|
|
8426
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7804
8427
|
} else {
|
|
7805
|
-
|
|
8428
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7806
8429
|
}
|
|
7807
8430
|
}
|
|
8431
|
+
/**
|
|
8432
|
+
* Called whenever the 'persistOnItemClick' property changes.
|
|
8433
|
+
* Adds or removes a 'click' event listener to the menu list based on the new value.
|
|
8434
|
+
* @public
|
|
8435
|
+
* @param {boolean} oldValue - The previous value of 'persistOnItemClick'.
|
|
8436
|
+
* @param {boolean} newValue - The new value of 'persistOnItemClick'.
|
|
8437
|
+
*/
|
|
7808
8438
|
persistOnItemClickChanged(oldValue, newValue) {
|
|
7809
|
-
var _a, _b;
|
|
7810
8439
|
if (!newValue) {
|
|
7811
|
-
|
|
8440
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7812
8441
|
} else {
|
|
7813
|
-
|
|
8442
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7814
8443
|
}
|
|
7815
8444
|
}
|
|
8445
|
+
/**
|
|
8446
|
+
* Called whenever the 'openOnContext' property changes.
|
|
8447
|
+
* Adds or removes a 'contextmenu' event listener to the trigger based on the new value.
|
|
8448
|
+
* @public
|
|
8449
|
+
* @param {boolean} oldValue - The previous value of 'openOnContext'.
|
|
8450
|
+
* @param {boolean} newValue - The new value of 'openOnContext'.
|
|
8451
|
+
*/
|
|
7816
8452
|
openOnContextChanged(oldValue, newValue) {
|
|
7817
|
-
var _a, _b;
|
|
7818
8453
|
if (newValue) {
|
|
7819
|
-
|
|
8454
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7820
8455
|
} else {
|
|
7821
|
-
|
|
8456
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7822
8457
|
}
|
|
7823
8458
|
}
|
|
8459
|
+
/**
|
|
8460
|
+
* Called whenever the 'closeOnScroll' property changes.
|
|
8461
|
+
* Adds or removes a 'closeOnScroll' event listener to the trigger based on the new value.
|
|
8462
|
+
* @public
|
|
8463
|
+
* @param {boolean} oldValue - The previous value of 'closeOnScroll'.
|
|
8464
|
+
* @param {boolean} newValue - The new value of 'closeOnScroll'.
|
|
8465
|
+
*/
|
|
7824
8466
|
closeOnScrollChanged(oldValue, newValue) {
|
|
7825
8467
|
if (newValue) {
|
|
7826
8468
|
document.addEventListener("scroll", this.closeMenu);
|
|
@@ -7828,10 +8470,13 @@ class Menu extends FASTElement {
|
|
|
7828
8470
|
document.removeEventListener("scroll", this.closeMenu);
|
|
7829
8471
|
}
|
|
7830
8472
|
}
|
|
8473
|
+
/**
|
|
8474
|
+
* Sets the positioning of the menu.
|
|
8475
|
+
* @protected
|
|
8476
|
+
*/
|
|
7831
8477
|
setPositioning() {
|
|
7832
8478
|
if (this.$fastController.isConnected && this._menuList && this.open && this._trigger) {
|
|
7833
8479
|
this.cleanup = P(this, this.positioningContainer, async () => {
|
|
7834
|
-
var _a, _b;
|
|
7835
8480
|
const {
|
|
7836
8481
|
middlewareData,
|
|
7837
8482
|
x,
|
|
@@ -7844,19 +8489,18 @@ class Menu extends FASTElement {
|
|
|
7844
8489
|
availableHeight,
|
|
7845
8490
|
rects
|
|
7846
8491
|
}) => {
|
|
7847
|
-
|
|
7848
|
-
((_a2 = this.positioningContainer) == null ? void 0 : _a2.style) && Object.assign(this.positioningContainer.style, {
|
|
8492
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7849
8493
|
maxHeight: `${availableHeight}px`,
|
|
7850
8494
|
width: `${rects.reference.width}px`
|
|
7851
8495
|
});
|
|
7852
8496
|
}
|
|
7853
8497
|
}), P$1()]
|
|
7854
8498
|
});
|
|
7855
|
-
if (
|
|
8499
|
+
if (middlewareData.hide?.referenceHidden) {
|
|
7856
8500
|
this.open = false;
|
|
7857
8501
|
return;
|
|
7858
8502
|
}
|
|
7859
|
-
|
|
8503
|
+
this.positioningContainer?.style && Object.assign(this.positioningContainer.style, {
|
|
7860
8504
|
position: "fixed",
|
|
7861
8505
|
top: "0",
|
|
7862
8506
|
left: "0",
|
|
@@ -7865,37 +8509,54 @@ class Menu extends FASTElement {
|
|
|
7865
8509
|
});
|
|
7866
8510
|
}
|
|
7867
8511
|
}
|
|
8512
|
+
/**
|
|
8513
|
+
* Adds event listeners.
|
|
8514
|
+
* Adds click and keydown event listeners to the trigger and a click event listener to the document.
|
|
8515
|
+
* If 'openOnHover' is true, adds a 'mouseover' event listener to the trigger.
|
|
8516
|
+
* @public
|
|
8517
|
+
*/
|
|
7868
8518
|
addListeners() {
|
|
7869
|
-
var _a, _b, _c, _d, _e;
|
|
7870
8519
|
document.addEventListener("click", this.handleDocumentClick);
|
|
7871
|
-
|
|
8520
|
+
this._trigger?.addEventListener("keydown", this.handleTriggerKeydown);
|
|
7872
8521
|
if (!this.persistOnItemClick) {
|
|
7873
|
-
|
|
8522
|
+
this._menuList?.addEventListener("click", this.closeMenu);
|
|
7874
8523
|
}
|
|
7875
8524
|
if (this.openOnHover) {
|
|
7876
|
-
|
|
8525
|
+
this._trigger?.addEventListener("mouseover", this.openMenu);
|
|
7877
8526
|
} else if (this.openOnContext) {
|
|
7878
|
-
|
|
8527
|
+
this._trigger?.addEventListener("contextmenu", this.openMenu);
|
|
7879
8528
|
} else {
|
|
7880
|
-
|
|
8529
|
+
this._trigger?.addEventListener("click", this.toggleMenu);
|
|
7881
8530
|
}
|
|
7882
8531
|
}
|
|
8532
|
+
/**
|
|
8533
|
+
* Removes event listeners.
|
|
8534
|
+
* Removes click and keydown event listeners from the trigger and a click event listener from the document.
|
|
8535
|
+
* Also removes 'mouseover' event listeners from the trigger.
|
|
8536
|
+
* @private
|
|
8537
|
+
*/
|
|
7883
8538
|
removeListeners() {
|
|
7884
|
-
var _a, _b, _c, _d, _e;
|
|
7885
8539
|
document.removeEventListener("click", this.handleDocumentClick);
|
|
7886
|
-
|
|
8540
|
+
this._trigger?.removeEventListener("keydown", this.handleTriggerKeydown);
|
|
7887
8541
|
if (!this.persistOnItemClick) {
|
|
7888
|
-
|
|
8542
|
+
this._menuList?.removeEventListener("click", this.closeMenu);
|
|
7889
8543
|
}
|
|
7890
8544
|
if (this.openOnHover) {
|
|
7891
|
-
|
|
8545
|
+
this._trigger?.removeEventListener("mouseover", this.openMenu);
|
|
7892
8546
|
}
|
|
7893
8547
|
if (this.openOnContext) {
|
|
7894
|
-
|
|
8548
|
+
this._trigger?.removeEventListener("contextmenu", this.openMenu);
|
|
7895
8549
|
} else {
|
|
7896
|
-
|
|
8550
|
+
this._trigger?.removeEventListener("click", this.toggleMenu);
|
|
7897
8551
|
}
|
|
7898
8552
|
}
|
|
8553
|
+
/**
|
|
8554
|
+
* Handles keyboard interaction for the menu.
|
|
8555
|
+
* Closes the menu and focuses on the trigger when the Escape key is pressed.
|
|
8556
|
+
* Closes the menu when the Tab key is pressed.
|
|
8557
|
+
* @public
|
|
8558
|
+
* @param {KeyboardEvent} e - the keyboard event
|
|
8559
|
+
*/
|
|
7899
8560
|
handleMenuKeydown(e) {
|
|
7900
8561
|
if (e.defaultPrevented) {
|
|
7901
8562
|
return;
|
|
@@ -7970,7 +8631,8 @@ const MenuButtonShape = ButtonShape;
|
|
|
7970
8631
|
const MenuButtonSize = ButtonSize;
|
|
7971
8632
|
|
|
7972
8633
|
const template$e = buttonTemplate$1({
|
|
7973
|
-
end: html.partial(
|
|
8634
|
+
end: html.partial( /* html */
|
|
8635
|
+
`
|
|
7974
8636
|
<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
7975
8637
|
<path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path>
|
|
7976
8638
|
</svg>
|
|
@@ -7984,8 +8646,17 @@ const definition$e = MenuButton.compose({
|
|
|
7984
8646
|
});
|
|
7985
8647
|
|
|
7986
8648
|
const MenuItemRole = {
|
|
8649
|
+
/**
|
|
8650
|
+
* The menu item has a "menuitem" role
|
|
8651
|
+
*/
|
|
7987
8652
|
menuitem: "menuitem",
|
|
8653
|
+
/**
|
|
8654
|
+
* The menu item has a "menuitemcheckbox" role
|
|
8655
|
+
*/
|
|
7988
8656
|
menuitemcheckbox: "menuitemcheckbox",
|
|
8657
|
+
/**
|
|
8658
|
+
* The menu item has a "menuitemradio" role
|
|
8659
|
+
*/
|
|
7989
8660
|
menuitemradio: "menuitemradio"
|
|
7990
8661
|
};
|
|
7991
8662
|
const roleForMenuItem = {
|
|
@@ -8008,6 +8679,9 @@ class MenuItem extends FASTElement {
|
|
|
8008
8679
|
this.role = MenuItemRole.menuitem;
|
|
8009
8680
|
this.checked = false;
|
|
8010
8681
|
this.focusSubmenuOnLoad = false;
|
|
8682
|
+
/**
|
|
8683
|
+
* @internal
|
|
8684
|
+
*/
|
|
8011
8685
|
this.handleMenuItemKeyDown = e => {
|
|
8012
8686
|
if (e.defaultPrevented) {
|
|
8013
8687
|
return false;
|
|
@@ -8034,6 +8708,9 @@ class MenuItem extends FASTElement {
|
|
|
8034
8708
|
}
|
|
8035
8709
|
return true;
|
|
8036
8710
|
};
|
|
8711
|
+
/**
|
|
8712
|
+
* @internal
|
|
8713
|
+
*/
|
|
8037
8714
|
this.handleMenuItemClick = e => {
|
|
8038
8715
|
if (e.defaultPrevented || this.disabled) {
|
|
8039
8716
|
return false;
|
|
@@ -8041,6 +8718,9 @@ class MenuItem extends FASTElement {
|
|
|
8041
8718
|
this.invoke();
|
|
8042
8719
|
return false;
|
|
8043
8720
|
};
|
|
8721
|
+
/**
|
|
8722
|
+
* @internal
|
|
8723
|
+
*/
|
|
8044
8724
|
this.submenuLoaded = () => {
|
|
8045
8725
|
if (!this.focusSubmenuOnLoad) {
|
|
8046
8726
|
return;
|
|
@@ -8051,6 +8731,9 @@ class MenuItem extends FASTElement {
|
|
|
8051
8731
|
this.setAttribute("tabindex", "-1");
|
|
8052
8732
|
}
|
|
8053
8733
|
};
|
|
8734
|
+
/**
|
|
8735
|
+
* @internal
|
|
8736
|
+
*/
|
|
8054
8737
|
this.handleMouseOver = e => {
|
|
8055
8738
|
if (this.disabled || !this.hasSubmenu || this.expanded) {
|
|
8056
8739
|
return false;
|
|
@@ -8058,6 +8741,9 @@ class MenuItem extends FASTElement {
|
|
|
8058
8741
|
this.expanded = true;
|
|
8059
8742
|
return false;
|
|
8060
8743
|
};
|
|
8744
|
+
/**
|
|
8745
|
+
* @internal
|
|
8746
|
+
*/
|
|
8061
8747
|
this.handleMouseOut = e => {
|
|
8062
8748
|
if (!this.expanded || this.contains(document.activeElement)) {
|
|
8063
8749
|
return false;
|
|
@@ -8065,10 +8751,16 @@ class MenuItem extends FASTElement {
|
|
|
8065
8751
|
this.expanded = false;
|
|
8066
8752
|
return false;
|
|
8067
8753
|
};
|
|
8754
|
+
/**
|
|
8755
|
+
* @internal
|
|
8756
|
+
*/
|
|
8068
8757
|
this.closeSubMenu = () => {
|
|
8069
8758
|
this.expanded = false;
|
|
8070
8759
|
this.focus();
|
|
8071
8760
|
};
|
|
8761
|
+
/**
|
|
8762
|
+
* @internal
|
|
8763
|
+
*/
|
|
8072
8764
|
this.expandAndFocus = () => {
|
|
8073
8765
|
if (!this.hasSubmenu) {
|
|
8074
8766
|
return;
|
|
@@ -8076,6 +8768,9 @@ class MenuItem extends FASTElement {
|
|
|
8076
8768
|
this.focusSubmenuOnLoad = true;
|
|
8077
8769
|
this.expanded = true;
|
|
8078
8770
|
};
|
|
8771
|
+
/**
|
|
8772
|
+
* @internal
|
|
8773
|
+
*/
|
|
8079
8774
|
this.invoke = () => {
|
|
8080
8775
|
if (this.disabled) {
|
|
8081
8776
|
return;
|
|
@@ -8114,23 +8809,37 @@ class MenuItem extends FASTElement {
|
|
|
8114
8809
|
this.$emit("change");
|
|
8115
8810
|
}
|
|
8116
8811
|
}
|
|
8812
|
+
/**
|
|
8813
|
+
* @internal
|
|
8814
|
+
*/
|
|
8117
8815
|
get hasSubmenu() {
|
|
8118
8816
|
return !!this.submenu;
|
|
8119
8817
|
}
|
|
8818
|
+
/**
|
|
8819
|
+
* Sets the submenu and updates its position.
|
|
8820
|
+
*
|
|
8821
|
+
* @internal
|
|
8822
|
+
*/
|
|
8120
8823
|
slottedSubmenuChanged(prev, next) {
|
|
8121
8824
|
if (next.length) {
|
|
8122
8825
|
this.submenu = next[0];
|
|
8123
8826
|
this.updateSubmenu();
|
|
8124
8827
|
}
|
|
8125
8828
|
}
|
|
8829
|
+
/**
|
|
8830
|
+
* @internal
|
|
8831
|
+
*/
|
|
8126
8832
|
disconnectedCallback() {
|
|
8127
|
-
|
|
8128
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8833
|
+
this.cleanup?.();
|
|
8129
8834
|
super.disconnectedCallback();
|
|
8130
8835
|
}
|
|
8836
|
+
/**
|
|
8837
|
+
* Calculate and apply submenu positioning.
|
|
8838
|
+
*
|
|
8839
|
+
* @public
|
|
8840
|
+
*/
|
|
8131
8841
|
updateSubmenu() {
|
|
8132
|
-
|
|
8133
|
-
(_a = this.cleanup) == null ? void 0 : _a.call(this);
|
|
8842
|
+
this.cleanup?.();
|
|
8134
8843
|
if (!this.submenu || !this.expanded) {
|
|
8135
8844
|
return;
|
|
8136
8845
|
}
|
|
@@ -8216,14 +8925,25 @@ var __decorateClass$c = (decorators, target, key, kind) => {
|
|
|
8216
8925
|
if (kind && result) __defProp$c(target, key, result);
|
|
8217
8926
|
return result;
|
|
8218
8927
|
};
|
|
8219
|
-
const _MenuList = class extends FASTElement {
|
|
8928
|
+
const _MenuList = class _MenuList extends FASTElement {
|
|
8220
8929
|
constructor() {
|
|
8221
8930
|
super(...arguments);
|
|
8222
8931
|
this.expandedItem = null;
|
|
8932
|
+
/**
|
|
8933
|
+
* The index of the focusable element in the items array
|
|
8934
|
+
* defaults to -1
|
|
8935
|
+
*/
|
|
8223
8936
|
this.focusIndex = -1;
|
|
8937
|
+
/**
|
|
8938
|
+
* @internal
|
|
8939
|
+
*/
|
|
8224
8940
|
this.isNestedMenu = () => {
|
|
8225
8941
|
return this.parentElement !== null && isHTMLElement(this.parentElement) && this.parentElement.getAttribute("role") === "menuitem";
|
|
8226
8942
|
};
|
|
8943
|
+
/**
|
|
8944
|
+
* if focus is moving out of the menu, reset to a stable initial state
|
|
8945
|
+
* @internal
|
|
8946
|
+
*/
|
|
8227
8947
|
this.handleFocusOut = e => {
|
|
8228
8948
|
if (!this.contains(e.relatedTarget) && this.menuItems !== void 0) {
|
|
8229
8949
|
this.collapseExpandedItem();
|
|
@@ -8261,6 +8981,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8261
8981
|
changedItem.setAttribute("tabindex", "0");
|
|
8262
8982
|
}
|
|
8263
8983
|
};
|
|
8984
|
+
/**
|
|
8985
|
+
* handle change from child element
|
|
8986
|
+
*/
|
|
8264
8987
|
this.changeHandler = e => {
|
|
8265
8988
|
if (this.menuItems === void 0) {
|
|
8266
8989
|
return;
|
|
@@ -8294,9 +9017,15 @@ const _MenuList = class extends FASTElement {
|
|
|
8294
9017
|
}
|
|
8295
9018
|
}
|
|
8296
9019
|
};
|
|
9020
|
+
/**
|
|
9021
|
+
* check if the item is a menu item
|
|
9022
|
+
*/
|
|
8297
9023
|
this.isMenuItemElement = el => {
|
|
8298
9024
|
return el instanceof MenuItem || isHTMLElement(el) && el.getAttribute("role") in _MenuList.focusableElementRoles;
|
|
8299
9025
|
};
|
|
9026
|
+
/**
|
|
9027
|
+
* check if the item is focusable
|
|
9028
|
+
*/
|
|
8300
9029
|
this.isFocusableElement = el => {
|
|
8301
9030
|
return this.isMenuItemElement(el);
|
|
8302
9031
|
};
|
|
@@ -8306,6 +9035,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8306
9035
|
this.setItems();
|
|
8307
9036
|
}
|
|
8308
9037
|
}
|
|
9038
|
+
/**
|
|
9039
|
+
* @internal
|
|
9040
|
+
*/
|
|
8309
9041
|
connectedCallback() {
|
|
8310
9042
|
super.connectedCallback();
|
|
8311
9043
|
Updates.enqueue(() => {
|
|
@@ -8313,21 +9045,37 @@ const _MenuList = class extends FASTElement {
|
|
|
8313
9045
|
});
|
|
8314
9046
|
this.addEventListener("change", this.changeHandler);
|
|
8315
9047
|
}
|
|
9048
|
+
/**
|
|
9049
|
+
* @internal
|
|
9050
|
+
*/
|
|
8316
9051
|
disconnectedCallback() {
|
|
8317
9052
|
super.disconnectedCallback();
|
|
8318
9053
|
this.removeItemListeners();
|
|
8319
9054
|
this.menuItems = void 0;
|
|
8320
9055
|
this.removeEventListener("change", this.changeHandler);
|
|
8321
9056
|
}
|
|
9057
|
+
/**
|
|
9058
|
+
* Focuses the first item in the menu.
|
|
9059
|
+
*
|
|
9060
|
+
* @public
|
|
9061
|
+
*/
|
|
8322
9062
|
focus() {
|
|
8323
9063
|
this.setFocus(0, 1);
|
|
8324
9064
|
}
|
|
9065
|
+
/**
|
|
9066
|
+
* Collapses any expanded menu items.
|
|
9067
|
+
*
|
|
9068
|
+
* @public
|
|
9069
|
+
*/
|
|
8325
9070
|
collapseExpandedItem() {
|
|
8326
9071
|
if (this.expandedItem !== null) {
|
|
8327
9072
|
this.expandedItem.expanded = false;
|
|
8328
9073
|
this.expandedItem = null;
|
|
8329
9074
|
}
|
|
8330
9075
|
}
|
|
9076
|
+
/**
|
|
9077
|
+
* @internal
|
|
9078
|
+
*/
|
|
8331
9079
|
handleMenuKeyDown(e) {
|
|
8332
9080
|
if (e.defaultPrevented || this.menuItems === void 0) {
|
|
8333
9081
|
return;
|
|
@@ -8365,7 +9113,6 @@ const _MenuList = class extends FASTElement {
|
|
|
8365
9113
|
return startSlot ? 1 : 0;
|
|
8366
9114
|
}
|
|
8367
9115
|
setItems() {
|
|
8368
|
-
var _a;
|
|
8369
9116
|
const children = Array.from(this.children);
|
|
8370
9117
|
this.removeItemListeners(children);
|
|
8371
9118
|
children.forEach(child => Observable.getNotifier(child).subscribe(this, "hidden"));
|
|
@@ -8380,9 +9127,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8380
9127
|
item.addEventListener("expanded-change", this.handleExpandedChanged);
|
|
8381
9128
|
item.addEventListener("focus", this.handleItemFocus);
|
|
8382
9129
|
});
|
|
8383
|
-
const filteredMenuListItems =
|
|
8384
|
-
filteredMenuListItems
|
|
8385
|
-
const indent = filteredMenuListItems
|
|
9130
|
+
const filteredMenuListItems = this.menuItems?.filter(this.isMenuItemElement);
|
|
9131
|
+
filteredMenuListItems?.forEach((item, index) => {
|
|
9132
|
+
const indent = filteredMenuListItems?.reduce((accum, current) => {
|
|
8386
9133
|
const elementValue = _MenuList.elementIndent(current);
|
|
8387
9134
|
return Math.max(accum, elementValue);
|
|
8388
9135
|
}, 0);
|
|
@@ -8415,9 +9162,9 @@ const _MenuList = class extends FASTElement {
|
|
|
8415
9162
|
}
|
|
8416
9163
|
}
|
|
8417
9164
|
};
|
|
9165
|
+
_MenuList.focusableElementRoles = MenuItemRole;
|
|
9166
|
+
__decorateClass$c([observable], _MenuList.prototype, "items", 2);
|
|
8418
9167
|
let MenuList = _MenuList;
|
|
8419
|
-
MenuList.focusableElementRoles = MenuItemRole;
|
|
8420
|
-
__decorateClass$c([observable], MenuList.prototype, "items", 2);
|
|
8421
9168
|
|
|
8422
9169
|
function menuTemplate() {
|
|
8423
9170
|
return html`<template slot="${x => x.slot ? x.slot : x.isNestedMenu() ? "submenu" : void 0}" role="menu" @keydown="${(x, c) => x.handleMenuKeyDown(c.event)}" @focusout="${(x, c) => x.handleFocusOut(c.event)}"><slot ${slotted("items")}></slot></template>`;
|
|
@@ -8461,6 +9208,9 @@ class BaseProgress extends FASTElement {
|
|
|
8461
9208
|
this.updatePercentComplete();
|
|
8462
9209
|
}
|
|
8463
9210
|
}
|
|
9211
|
+
/**
|
|
9212
|
+
* @internal
|
|
9213
|
+
*/
|
|
8464
9214
|
connectedCallback() {
|
|
8465
9215
|
super.connectedCallback();
|
|
8466
9216
|
this.updatePercentComplete();
|
|
@@ -8567,26 +9317,36 @@ var __decorateClass$9 = (decorators, target, key, kind) => {
|
|
|
8567
9317
|
class Radio extends FormAssociatedRadio {
|
|
8568
9318
|
constructor() {
|
|
8569
9319
|
super();
|
|
9320
|
+
/**
|
|
9321
|
+
* The element's value to be included in form submission when checked.
|
|
9322
|
+
* Default to "on" to reach parity with input[type="radio"]
|
|
9323
|
+
*
|
|
9324
|
+
* @internal
|
|
9325
|
+
*/
|
|
8570
9326
|
this.initialValue = "on";
|
|
8571
9327
|
this.proxy.setAttribute("type", "radio");
|
|
8572
9328
|
}
|
|
8573
9329
|
get radioGroup() {
|
|
8574
9330
|
return this.closest("[role=radiogroup]");
|
|
8575
9331
|
}
|
|
9332
|
+
/**
|
|
9333
|
+
* @internal
|
|
9334
|
+
*/
|
|
8576
9335
|
defaultCheckedChanged() {
|
|
8577
|
-
var _a;
|
|
8578
9336
|
if (this.$fastController.isConnected && !this.dirtyChecked) {
|
|
8579
9337
|
if (!this.isInsideRadioGroup()) {
|
|
8580
|
-
this.checked =
|
|
9338
|
+
this.checked = this.defaultChecked ?? false;
|
|
8581
9339
|
this.dirtyChecked = false;
|
|
8582
9340
|
}
|
|
8583
9341
|
}
|
|
8584
9342
|
}
|
|
9343
|
+
/**
|
|
9344
|
+
* @internal
|
|
9345
|
+
*/
|
|
8585
9346
|
connectedCallback() {
|
|
8586
|
-
var _a, _b;
|
|
8587
9347
|
super.connectedCallback();
|
|
8588
9348
|
this.validate();
|
|
8589
|
-
if (
|
|
9349
|
+
if (this.parentElement?.getAttribute("role") !== "radiogroup" && this.getAttribute("tabindex") === null) {
|
|
8590
9350
|
if (!this.disabled) {
|
|
8591
9351
|
this.setAttribute("tabindex", "0");
|
|
8592
9352
|
}
|
|
@@ -8594,7 +9354,7 @@ class Radio extends FormAssociatedRadio {
|
|
|
8594
9354
|
if (this.checkedAttribute) {
|
|
8595
9355
|
if (!this.dirtyChecked) {
|
|
8596
9356
|
if (!this.isInsideRadioGroup()) {
|
|
8597
|
-
this.checked =
|
|
9357
|
+
this.checked = this.defaultChecked ?? false;
|
|
8598
9358
|
this.dirtyChecked = false;
|
|
8599
9359
|
}
|
|
8600
9360
|
}
|
|
@@ -8603,11 +9363,14 @@ class Radio extends FormAssociatedRadio {
|
|
|
8603
9363
|
isInsideRadioGroup() {
|
|
8604
9364
|
return this.radioGroup !== null;
|
|
8605
9365
|
}
|
|
9366
|
+
/**
|
|
9367
|
+
* Handles key presses on the radio.
|
|
9368
|
+
* @beta
|
|
9369
|
+
*/
|
|
8606
9370
|
keypressHandler(e) {
|
|
8607
|
-
var _a;
|
|
8608
9371
|
switch (e.key) {
|
|
8609
9372
|
case keySpace:
|
|
8610
|
-
if (!this.checked && !
|
|
9373
|
+
if (!this.checked && !this.radioGroup?.readOnly) {
|
|
8611
9374
|
this.checked = true;
|
|
8612
9375
|
}
|
|
8613
9376
|
return;
|
|
@@ -8625,10 +9388,7 @@ const styles$a = css`
|
|
|
8625
9388
|
:host .control{border-color:InactiveBorder}:host([aria-checked='true']) .checked-indicator,:host([aria-checked='true']:active) .checked-indicator,:host([aria-checked='true']:hover) .checked-indicator{background-color:Highlight;border-color:ActiveBorder}`));
|
|
8626
9389
|
|
|
8627
9390
|
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({
|
|
9391
|
+
return html`<template role="radio" aria-checked="${x => x.checked}" aria-required="${x => x.required}" aria-disabled="${x => x.disabled}" @keypress="${(x, c) => x.keypressHandler(c.event)}"><div part="control" class="control"><slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot></div><label part="label" class="${x => ["label", !x.defaultSlottedNodes?.length && "label__hidden"].filter(Boolean).join(" ")}"><slot ${slotted({
|
|
8632
9392
|
property: "defaultSlottedNodes",
|
|
8633
9393
|
filter: whitespaceFilter
|
|
8634
9394
|
})}></slot></label></template>`;
|
|
@@ -8687,13 +9447,14 @@ class RadioGroup extends FASTElement {
|
|
|
8687
9447
|
radio.focus();
|
|
8688
9448
|
};
|
|
8689
9449
|
this.moveRightOffGroup = () => {
|
|
8690
|
-
|
|
8691
|
-
(_a = this.nextElementSibling) == null ? void 0 : _a.focus();
|
|
9450
|
+
this.nextElementSibling?.focus();
|
|
8692
9451
|
};
|
|
8693
9452
|
this.moveLeftOffGroup = () => {
|
|
8694
|
-
|
|
8695
|
-
(_a = this.previousElementSibling) == null ? void 0 : _a.focus();
|
|
9453
|
+
this.previousElementSibling?.focus();
|
|
8696
9454
|
};
|
|
9455
|
+
/**
|
|
9456
|
+
* @internal
|
|
9457
|
+
*/
|
|
8697
9458
|
this.focusOutHandler = e => {
|
|
8698
9459
|
const group = this.slottedRadioButtons;
|
|
8699
9460
|
const radio = e.target;
|
|
@@ -8722,6 +9483,9 @@ class RadioGroup extends FASTElement {
|
|
|
8722
9483
|
}
|
|
8723
9484
|
return true;
|
|
8724
9485
|
};
|
|
9486
|
+
/**
|
|
9487
|
+
* @internal
|
|
9488
|
+
*/
|
|
8725
9489
|
this.handleDisabledClick = e => {
|
|
8726
9490
|
if (this.disabled) {
|
|
8727
9491
|
e.preventDefault();
|
|
@@ -8729,6 +9493,9 @@ class RadioGroup extends FASTElement {
|
|
|
8729
9493
|
}
|
|
8730
9494
|
return true;
|
|
8731
9495
|
};
|
|
9496
|
+
/**
|
|
9497
|
+
* @internal
|
|
9498
|
+
*/
|
|
8732
9499
|
this.clickHandler = e => {
|
|
8733
9500
|
if (this.disabled) {
|
|
8734
9501
|
return;
|
|
@@ -8806,6 +9573,12 @@ class RadioGroup extends FASTElement {
|
|
|
8806
9573
|
}
|
|
8807
9574
|
}
|
|
8808
9575
|
};
|
|
9576
|
+
/**
|
|
9577
|
+
* keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar
|
|
9578
|
+
* navigation is different when there is an ancestor with role='toolbar'
|
|
9579
|
+
*
|
|
9580
|
+
* @internal
|
|
9581
|
+
*/
|
|
8809
9582
|
this.keydownHandler = e => {
|
|
8810
9583
|
const key = e.key;
|
|
8811
9584
|
if (key in ArrowKeys && (this.isInsideFoundationToolbar || this.disabled)) {
|
|
@@ -8873,13 +9646,14 @@ class RadioGroup extends FASTElement {
|
|
|
8873
9646
|
return this.closest('[role="toolbar"]');
|
|
8874
9647
|
}
|
|
8875
9648
|
get isInsideToolbar() {
|
|
8876
|
-
|
|
8877
|
-
return (_a = this.parentToolbar) != null ? _a : false;
|
|
9649
|
+
return this.parentToolbar ?? false;
|
|
8878
9650
|
}
|
|
8879
9651
|
get isInsideFoundationToolbar() {
|
|
8880
|
-
|
|
8881
|
-
return !!((_a = this.parentToolbar) == null ? void 0 : _a.hasOwnProperty("$fastController"));
|
|
9652
|
+
return !!this.parentToolbar?.hasOwnProperty("$fastController");
|
|
8882
9653
|
}
|
|
9654
|
+
/**
|
|
9655
|
+
* @internal
|
|
9656
|
+
*/
|
|
8883
9657
|
connectedCallback() {
|
|
8884
9658
|
super.connectedCallback();
|
|
8885
9659
|
this.direction = getDirection(this);
|
|
@@ -9059,6 +9833,7 @@ class Slider extends FormAssociatedSlider {
|
|
|
9059
9833
|
this.trackWidth = 1;
|
|
9060
9834
|
}
|
|
9061
9835
|
};
|
|
9836
|
+
//Remove
|
|
9062
9837
|
this.setupListeners = (remove = false) => {
|
|
9063
9838
|
this.addEventListener("keydown", this.keypressHandler);
|
|
9064
9839
|
this.addEventListener("mousedown", this.handleMouseDown);
|
|
@@ -9067,7 +9842,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9067
9842
|
this.removeEventListener("mousedown", this.handleMouseDown);
|
|
9068
9843
|
}
|
|
9069
9844
|
};
|
|
9845
|
+
/**
|
|
9846
|
+
* @internal
|
|
9847
|
+
*/
|
|
9070
9848
|
this.initialValue = "";
|
|
9849
|
+
/**
|
|
9850
|
+
* Handle mouse moves during a thumb drag operation
|
|
9851
|
+
* If the event handler is null it removes the events
|
|
9852
|
+
*/
|
|
9071
9853
|
this.handleThumbMouseDown = event => {
|
|
9072
9854
|
const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
|
|
9073
9855
|
windowFn("mouseup", this.handleWindowMouseUp);
|
|
@@ -9080,6 +9862,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9080
9862
|
windowFn("touchend", this.handleWindowMouseUp);
|
|
9081
9863
|
this.isDragging = event !== null;
|
|
9082
9864
|
};
|
|
9865
|
+
/**
|
|
9866
|
+
* Handle mouse moves during a thumb drag operation
|
|
9867
|
+
*/
|
|
9083
9868
|
this.handleMouseMove = e => {
|
|
9084
9869
|
if (this.readOnly || this.disabled || e.defaultPrevented) {
|
|
9085
9870
|
return;
|
|
@@ -9088,6 +9873,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9088
9873
|
const eventValue = this.orientation === Orientation.horizontal ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft : sourceEvent.pageY - document.documentElement.scrollTop;
|
|
9089
9874
|
this.value = `${this.calculateNewValue(eventValue)}`;
|
|
9090
9875
|
};
|
|
9876
|
+
/**
|
|
9877
|
+
* Handle a window mouse up during a drag operation
|
|
9878
|
+
*/
|
|
9091
9879
|
this.handleWindowMouseUp = event => {
|
|
9092
9880
|
this.stopDragging();
|
|
9093
9881
|
};
|
|
@@ -9096,6 +9884,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9096
9884
|
this.handleMouseDown(null);
|
|
9097
9885
|
this.handleThumbMouseDown(null);
|
|
9098
9886
|
};
|
|
9887
|
+
/**
|
|
9888
|
+
*
|
|
9889
|
+
* @param e - MouseEvent or null. If there is no event handler it will remove the events
|
|
9890
|
+
*/
|
|
9099
9891
|
this.handleMouseDown = e => {
|
|
9100
9892
|
if (e === null || !this.disabled && !this.readOnly) {
|
|
9101
9893
|
const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
|
|
@@ -9120,6 +9912,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9120
9912
|
break;
|
|
9121
9913
|
}
|
|
9122
9914
|
}
|
|
9915
|
+
/**
|
|
9916
|
+
* Handles changes to step styling based on the step value
|
|
9917
|
+
* NOTE: This function is not a changed callback, stepStyles is not observable
|
|
9918
|
+
*/
|
|
9123
9919
|
handleStepStyles() {
|
|
9124
9920
|
if (this.step) {
|
|
9125
9921
|
const totalSteps = 100 / Math.floor((this.max - this.min) / this.step);
|
|
@@ -9133,17 +9929,26 @@ class Slider extends FormAssociatedSlider {
|
|
|
9133
9929
|
this.$fastController.removeStyles(this.stepStyles);
|
|
9134
9930
|
}
|
|
9135
9931
|
}
|
|
9932
|
+
// Map to proxy element
|
|
9136
9933
|
readOnlyChanged() {
|
|
9137
9934
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9138
9935
|
this.proxy.readOnly = this.readOnly;
|
|
9139
9936
|
}
|
|
9140
9937
|
}
|
|
9938
|
+
/**
|
|
9939
|
+
* The value property, typed as a number.
|
|
9940
|
+
*
|
|
9941
|
+
* @public
|
|
9942
|
+
*/
|
|
9141
9943
|
get valueAsNumber() {
|
|
9142
9944
|
return parseFloat(super.value);
|
|
9143
9945
|
}
|
|
9144
9946
|
set valueAsNumber(next) {
|
|
9145
9947
|
this.value = next.toString();
|
|
9146
9948
|
}
|
|
9949
|
+
/**
|
|
9950
|
+
* @internal
|
|
9951
|
+
*/
|
|
9147
9952
|
valueChanged(previous, next) {
|
|
9148
9953
|
if (this.$fastController.isConnected) {
|
|
9149
9954
|
const nextAsNumber = parseFloat(next);
|
|
@@ -9157,12 +9962,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9157
9962
|
this.$emit("change");
|
|
9158
9963
|
}
|
|
9159
9964
|
}
|
|
9965
|
+
// Map to proxy element.
|
|
9160
9966
|
minChanged() {
|
|
9161
9967
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9162
9968
|
this.proxy.min = `${this.min}`;
|
|
9163
9969
|
}
|
|
9164
9970
|
this.validate();
|
|
9165
9971
|
}
|
|
9972
|
+
// Map to proxy element.
|
|
9166
9973
|
maxChanged() {
|
|
9167
9974
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9168
9975
|
this.proxy.max = `${this.max}`;
|
|
@@ -9181,6 +9988,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9181
9988
|
this.setThumbPositionForOrientation(this.direction);
|
|
9182
9989
|
}
|
|
9183
9990
|
}
|
|
9991
|
+
/**
|
|
9992
|
+
* @internal
|
|
9993
|
+
*/
|
|
9184
9994
|
connectedCallback() {
|
|
9185
9995
|
super.connectedCallback();
|
|
9186
9996
|
this.proxy.setAttribute("type", "range");
|
|
@@ -9195,6 +10005,9 @@ class Slider extends FormAssociatedSlider {
|
|
|
9195
10005
|
Observable.getNotifier(this).subscribe(this, "step");
|
|
9196
10006
|
this.handleStepStyles();
|
|
9197
10007
|
}
|
|
10008
|
+
/**
|
|
10009
|
+
* @internal
|
|
10010
|
+
*/
|
|
9198
10011
|
disconnectedCallback() {
|
|
9199
10012
|
super.disconnectedCallback();
|
|
9200
10013
|
this.setupListeners(true);
|
|
@@ -9202,21 +10015,41 @@ class Slider extends FormAssociatedSlider {
|
|
|
9202
10015
|
Observable.getNotifier(this).unsubscribe(this, "min");
|
|
9203
10016
|
Observable.getNotifier(this).unsubscribe(this, "step");
|
|
9204
10017
|
}
|
|
10018
|
+
/**
|
|
10019
|
+
* Increment the value by the step
|
|
10020
|
+
*
|
|
10021
|
+
* @public
|
|
10022
|
+
*/
|
|
9205
10023
|
increment() {
|
|
9206
10024
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) + Number(this.stepValue) : Number(this.value) + Number(this.stepValue);
|
|
9207
10025
|
const incrementedVal = this.convertToConstrainedValue(newVal);
|
|
9208
10026
|
const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
|
|
9209
10027
|
this.value = incrementedValString;
|
|
9210
10028
|
}
|
|
10029
|
+
/**
|
|
10030
|
+
* Decrement the value by the step
|
|
10031
|
+
*
|
|
10032
|
+
* @public
|
|
10033
|
+
*/
|
|
9211
10034
|
decrement() {
|
|
9212
10035
|
const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical ? Number(this.value) - Number(this.stepValue) : Number(this.value) - Number(this.stepValue);
|
|
9213
10036
|
const decrementedVal = this.convertToConstrainedValue(newVal);
|
|
9214
10037
|
const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
|
|
9215
10038
|
this.value = decrementedValString;
|
|
9216
10039
|
}
|
|
10040
|
+
/**
|
|
10041
|
+
* Gets the actual step value for the slider
|
|
10042
|
+
*
|
|
10043
|
+
*/
|
|
9217
10044
|
get stepValue() {
|
|
9218
10045
|
return this.step === void 0 ? 1 : this.step;
|
|
9219
10046
|
}
|
|
10047
|
+
/**
|
|
10048
|
+
* Places the thumb based on the current value
|
|
10049
|
+
*
|
|
10050
|
+
* @public
|
|
10051
|
+
* @param direction - writing mode
|
|
10052
|
+
*/
|
|
9220
10053
|
setThumbPositionForOrientation(direction) {
|
|
9221
10054
|
const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
|
|
9222
10055
|
const percentage = (1 - newPct) * 100;
|
|
@@ -9226,6 +10059,10 @@ class Slider extends FormAssociatedSlider {
|
|
|
9226
10059
|
this.position = this.isDragging ? `top: ${percentage}%; transition: none;` : `top: ${percentage}%; transition: all 0.2s ease;`;
|
|
9227
10060
|
}
|
|
9228
10061
|
}
|
|
10062
|
+
/**
|
|
10063
|
+
* Update the step multiplier used to ensure rounding errors from steps that
|
|
10064
|
+
* are not whole numbers
|
|
10065
|
+
*/
|
|
9229
10066
|
updateStepMultiplier() {
|
|
9230
10067
|
const stepString = this.stepValue + "";
|
|
9231
10068
|
const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf(".") - 1 : 0;
|
|
@@ -9246,6 +10083,14 @@ class Slider extends FormAssociatedSlider {
|
|
|
9246
10083
|
}
|
|
9247
10084
|
}
|
|
9248
10085
|
}
|
|
10086
|
+
/**
|
|
10087
|
+
* Calculate the new value based on the given raw pixel value.
|
|
10088
|
+
*
|
|
10089
|
+
* @param rawValue - the value to be converted to a constrained value
|
|
10090
|
+
* @returns the constrained value
|
|
10091
|
+
*
|
|
10092
|
+
* @internal
|
|
10093
|
+
*/
|
|
9249
10094
|
calculateNewValue(rawValue) {
|
|
9250
10095
|
this.setupTrackConstraints();
|
|
9251
10096
|
const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
|
|
@@ -9389,7 +10234,16 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
|
|
|
9389
10234
|
class Switch extends FormAssociatedSwitch {
|
|
9390
10235
|
constructor() {
|
|
9391
10236
|
super();
|
|
10237
|
+
/**
|
|
10238
|
+
* The element's value to be included in form submission when checked.
|
|
10239
|
+
* Default to "on" to reach parity with input[type="checkbox"]
|
|
10240
|
+
*
|
|
10241
|
+
* @internal
|
|
10242
|
+
*/
|
|
9392
10243
|
this.initialValue = "on";
|
|
10244
|
+
/**
|
|
10245
|
+
* @internal
|
|
10246
|
+
*/
|
|
9393
10247
|
this.keypressHandler = e => {
|
|
9394
10248
|
if (this.readOnly) {
|
|
9395
10249
|
return;
|
|
@@ -9401,6 +10255,9 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9401
10255
|
break;
|
|
9402
10256
|
}
|
|
9403
10257
|
};
|
|
10258
|
+
/**
|
|
10259
|
+
* @internal
|
|
10260
|
+
*/
|
|
9404
10261
|
this.clickHandler = e => {
|
|
9405
10262
|
if (!this.disabled && !this.readOnly) {
|
|
9406
10263
|
this.checked = !this.checked;
|
|
@@ -9408,6 +10265,7 @@ class Switch extends FormAssociatedSwitch {
|
|
|
9408
10265
|
};
|
|
9409
10266
|
this.proxy.setAttribute("type", "checkbox");
|
|
9410
10267
|
}
|
|
10268
|
+
// Map to proxy element
|
|
9411
10269
|
readOnlyChanged() {
|
|
9412
10270
|
if (this.proxy instanceof HTMLInputElement) {
|
|
9413
10271
|
this.proxy.readOnly = this.readOnly;
|
|
@@ -9588,17 +10446,26 @@ class BaseTabs extends FASTElement {
|
|
|
9588
10446
|
}
|
|
9589
10447
|
};
|
|
9590
10448
|
}
|
|
10449
|
+
/**
|
|
10450
|
+
* @internal
|
|
10451
|
+
*/
|
|
9591
10452
|
orientationChanged() {
|
|
9592
10453
|
if (this.$fastController.isConnected) {
|
|
9593
10454
|
this.setTabs();
|
|
9594
10455
|
}
|
|
9595
10456
|
}
|
|
10457
|
+
/**
|
|
10458
|
+
* @internal
|
|
10459
|
+
*/
|
|
9596
10460
|
activeidChanged(oldValue, newValue) {
|
|
9597
10461
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9598
10462
|
this.prevActiveTabIndex = this.tabs.findIndex(item => item.id === oldValue);
|
|
9599
10463
|
this.setTabs();
|
|
9600
10464
|
}
|
|
9601
10465
|
}
|
|
10466
|
+
/**
|
|
10467
|
+
* @internal
|
|
10468
|
+
*/
|
|
9602
10469
|
tabsChanged() {
|
|
9603
10470
|
if (this.$fastController.isConnected && this.tabs.length <= this.tabpanels.length) {
|
|
9604
10471
|
this.tabIds = this.getTabIds();
|
|
@@ -9606,6 +10473,9 @@ class BaseTabs extends FASTElement {
|
|
|
9606
10473
|
this.setTabs();
|
|
9607
10474
|
}
|
|
9608
10475
|
}
|
|
10476
|
+
/**
|
|
10477
|
+
* @internal
|
|
10478
|
+
*/
|
|
9609
10479
|
tabpanelsChanged() {
|
|
9610
10480
|
if (this.$fastController.isConnected && this.tabpanels.length <= this.tabs.length) {
|
|
9611
10481
|
this.tabIds = this.getTabIds();
|
|
@@ -9621,6 +10491,11 @@ class BaseTabs extends FASTElement {
|
|
|
9621
10491
|
return 0;
|
|
9622
10492
|
}
|
|
9623
10493
|
}
|
|
10494
|
+
/**
|
|
10495
|
+
* Function that is invoked whenever the selected tab or the tab collection changes.
|
|
10496
|
+
*
|
|
10497
|
+
* @public
|
|
10498
|
+
*/
|
|
9624
10499
|
setTabs() {
|
|
9625
10500
|
const gridHorizontalProperty = "gridColumn";
|
|
9626
10501
|
const gridVerticalProperty = "gridRow";
|
|
@@ -9660,14 +10535,12 @@ class BaseTabs extends FASTElement {
|
|
|
9660
10535
|
}
|
|
9661
10536
|
getTabIds() {
|
|
9662
10537
|
return this.tabs.map(tab => {
|
|
9663
|
-
|
|
9664
|
-
return (_a = tab.getAttribute("id")) != null ? _a : `tab-${uniqueId()}`;
|
|
10538
|
+
return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
|
|
9665
10539
|
});
|
|
9666
10540
|
}
|
|
9667
10541
|
getTabPanelIds() {
|
|
9668
10542
|
return this.tabpanels.map(tabPanel => {
|
|
9669
|
-
|
|
9670
|
-
return (_a = tabPanel.getAttribute("id")) != null ? _a : `panel-${uniqueId()}`;
|
|
10543
|
+
return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
|
|
9671
10544
|
});
|
|
9672
10545
|
}
|
|
9673
10546
|
setComponent() {
|
|
@@ -9680,6 +10553,12 @@ class BaseTabs extends FASTElement {
|
|
|
9680
10553
|
isHorizontal() {
|
|
9681
10554
|
return this.orientation === TabsOrientation.horizontal;
|
|
9682
10555
|
}
|
|
10556
|
+
/**
|
|
10557
|
+
* The adjust method for FASTTabs
|
|
10558
|
+
* @public
|
|
10559
|
+
* @remarks
|
|
10560
|
+
* This method allows the active index to be adjusted by numerical increments
|
|
10561
|
+
*/
|
|
9683
10562
|
adjust(adjustment) {
|
|
9684
10563
|
const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));
|
|
9685
10564
|
const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);
|
|
@@ -9736,6 +10615,9 @@ class BaseTabs extends FASTElement {
|
|
|
9736
10615
|
focusTab() {
|
|
9737
10616
|
this.tabs[this.activeTabIndex].focus();
|
|
9738
10617
|
}
|
|
10618
|
+
/**
|
|
10619
|
+
* @internal
|
|
10620
|
+
*/
|
|
9739
10621
|
connectedCallback() {
|
|
9740
10622
|
super.connectedCallback();
|
|
9741
10623
|
this.tabIds = this.getTabIds();
|
|
@@ -9750,41 +10632,80 @@ __decorateClass$3([observable], BaseTabs.prototype, "tabpanels", 2);
|
|
|
9750
10632
|
class Tabs extends BaseTabs {
|
|
9751
10633
|
constructor() {
|
|
9752
10634
|
super(...arguments);
|
|
10635
|
+
/**
|
|
10636
|
+
* activeTabData
|
|
10637
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10638
|
+
*/
|
|
9753
10639
|
this.activeTabData = {
|
|
9754
10640
|
x: 0,
|
|
9755
10641
|
y: 0,
|
|
9756
10642
|
height: 0,
|
|
9757
10643
|
width: 0
|
|
9758
10644
|
};
|
|
10645
|
+
/**
|
|
10646
|
+
* previousActiveTabData
|
|
10647
|
+
* The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
|
|
10648
|
+
*/
|
|
9759
10649
|
this.previousActiveTabData = {
|
|
9760
10650
|
x: 0,
|
|
9761
10651
|
y: 0,
|
|
9762
10652
|
height: 0,
|
|
9763
10653
|
width: 0
|
|
9764
10654
|
};
|
|
10655
|
+
/**
|
|
10656
|
+
* activeTabOffset
|
|
10657
|
+
* Used to position the active indicator for animations of the active indicator on active tab changes.
|
|
10658
|
+
*/
|
|
9765
10659
|
this.activeTabOffset = 0;
|
|
10660
|
+
/**
|
|
10661
|
+
* activeTabScale
|
|
10662
|
+
* Used to scale the tab active indicator up or down as animations of the active indicator occur.
|
|
10663
|
+
*/
|
|
9766
10664
|
this.activeTabScale = 1;
|
|
9767
10665
|
this.appearance = TabsAppearance.transparent;
|
|
9768
10666
|
}
|
|
10667
|
+
/**
|
|
10668
|
+
* calculateAnimationProperties
|
|
10669
|
+
*
|
|
10670
|
+
* Recalculates the active tab offset and scale.
|
|
10671
|
+
* These values will be applied to css variables that control the tab active indicator position animations
|
|
10672
|
+
*/
|
|
9769
10673
|
calculateAnimationProperties(tab) {
|
|
9770
10674
|
this.activeTabOffset = this.getTabPosition(tab);
|
|
9771
10675
|
this.activeTabScale = this.getTabScale(tab);
|
|
9772
10676
|
}
|
|
10677
|
+
/**
|
|
10678
|
+
* getSelectedTabPosition - gets the x or y coordinates of the tab
|
|
10679
|
+
*/
|
|
9773
10680
|
getTabPosition(tab) {
|
|
9774
10681
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9775
10682
|
return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
|
|
9776
10683
|
} else return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
|
|
9777
10684
|
}
|
|
10685
|
+
/**
|
|
10686
|
+
* getSelectedTabScale - gets the scale of the tab
|
|
10687
|
+
*/
|
|
9778
10688
|
getTabScale(tab) {
|
|
9779
10689
|
if (this.orientation === TabsOrientation.horizontal) {
|
|
9780
10690
|
return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
|
|
9781
10691
|
} else return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
|
|
9782
10692
|
}
|
|
10693
|
+
/**
|
|
10694
|
+
* applyUpdatedCSSValues
|
|
10695
|
+
*
|
|
10696
|
+
* calculates and applies updated values to CSS variables
|
|
10697
|
+
* @param tab
|
|
10698
|
+
*/
|
|
9783
10699
|
applyUpdatedCSSValues(tab) {
|
|
9784
10700
|
this.calculateAnimationProperties(tab);
|
|
9785
10701
|
this.setTabScaleCSSVar();
|
|
9786
10702
|
this.setTabOffsetCSSVar();
|
|
9787
10703
|
}
|
|
10704
|
+
/**
|
|
10705
|
+
* animationLoop
|
|
10706
|
+
* runs through all the operations required for setting the tab active indicator to its starting location, ending location, and applying the animated css class to the tab.
|
|
10707
|
+
* @param tab
|
|
10708
|
+
*/
|
|
9788
10709
|
animationLoop(tab) {
|
|
9789
10710
|
tab.setAttribute("data-animate", "false");
|
|
9790
10711
|
this.applyUpdatedCSSValues(tab);
|
|
@@ -9792,12 +10713,15 @@ class Tabs extends BaseTabs {
|
|
|
9792
10713
|
this.applyUpdatedCSSValues(tab);
|
|
9793
10714
|
tab.setAttribute("data-animate", "true");
|
|
9794
10715
|
}
|
|
10716
|
+
/**
|
|
10717
|
+
* setTabData
|
|
10718
|
+
* sets the data from the active tab onto the class. used for making all the animation calculations for the active tab indicator.
|
|
10719
|
+
*/
|
|
9795
10720
|
setTabData() {
|
|
9796
|
-
var _a, _b, _c, _d;
|
|
9797
10721
|
if (this.tabs && this.tabs.length > 0) {
|
|
9798
10722
|
const tabs = this.tabs;
|
|
9799
10723
|
const activeTab = this.activetab || tabs[0];
|
|
9800
|
-
const activeRect = activeTab
|
|
10724
|
+
const activeRect = activeTab?.getBoundingClientRect();
|
|
9801
10725
|
const parentRect = this.getBoundingClientRect();
|
|
9802
10726
|
this.activeTabData = {
|
|
9803
10727
|
x: activeRect.x - parentRect.x,
|
|
@@ -9805,7 +10729,7 @@ class Tabs extends BaseTabs {
|
|
|
9805
10729
|
height: activeRect.height,
|
|
9806
10730
|
width: activeRect.width
|
|
9807
10731
|
};
|
|
9808
|
-
if (
|
|
10732
|
+
if (this.previousActiveTabData?.x !== this.activeTabData?.x && this.previousActiveTabData?.y !== this.activeTabData?.y) {
|
|
9809
10733
|
this.previousActiveTabData = this.activeTabData;
|
|
9810
10734
|
}
|
|
9811
10735
|
}
|
|
@@ -9952,10 +10876,25 @@ const TextInputAppearance = {
|
|
|
9952
10876
|
filledDarker: "filled-darker"
|
|
9953
10877
|
};
|
|
9954
10878
|
const TextInputType = {
|
|
10879
|
+
/**
|
|
10880
|
+
* An email TextInput
|
|
10881
|
+
*/
|
|
9955
10882
|
email: "email",
|
|
10883
|
+
/**
|
|
10884
|
+
* A password TextInput
|
|
10885
|
+
*/
|
|
9956
10886
|
password: "password",
|
|
10887
|
+
/**
|
|
10888
|
+
* A telephone TextInput
|
|
10889
|
+
*/
|
|
9957
10890
|
tel: "tel",
|
|
10891
|
+
/**
|
|
10892
|
+
* A text TextInput
|
|
10893
|
+
*/
|
|
9958
10894
|
text: "text",
|
|
10895
|
+
/**
|
|
10896
|
+
* A URL TextInput
|
|
10897
|
+
*/
|
|
9959
10898
|
url: "url"
|
|
9960
10899
|
};
|
|
9961
10900
|
|
|
@@ -10037,6 +10976,9 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10037
10976
|
this.proxy.spellcheck = this.spellcheck;
|
|
10038
10977
|
}
|
|
10039
10978
|
}
|
|
10979
|
+
/**
|
|
10980
|
+
* @internal
|
|
10981
|
+
*/
|
|
10040
10982
|
connectedCallback() {
|
|
10041
10983
|
super.connectedCallback();
|
|
10042
10984
|
this.proxy.setAttribute("type", this.type);
|
|
@@ -10047,16 +10989,35 @@ class TextInput extends FormAssociatedTextField {
|
|
|
10047
10989
|
});
|
|
10048
10990
|
}
|
|
10049
10991
|
}
|
|
10992
|
+
/**
|
|
10993
|
+
* Selects all the text in the text field
|
|
10994
|
+
*
|
|
10995
|
+
* @public
|
|
10996
|
+
*/
|
|
10050
10997
|
select() {
|
|
10051
10998
|
this.control.select();
|
|
10052
10999
|
this.$emit("select");
|
|
10053
11000
|
}
|
|
11001
|
+
/**
|
|
11002
|
+
* Handles the internal control's `input` event
|
|
11003
|
+
* @internal
|
|
11004
|
+
*/
|
|
10054
11005
|
handleTextInput() {
|
|
10055
11006
|
this.value = this.control.value;
|
|
10056
11007
|
}
|
|
11008
|
+
/**
|
|
11009
|
+
* Change event handler for inner control.
|
|
11010
|
+
* @remarks
|
|
11011
|
+
* "Change" events are not `composable` so they will not
|
|
11012
|
+
* permeate the shadow DOM boundary. This fn effectively proxies
|
|
11013
|
+
* the change event, emitting a `change` event whenever the internal
|
|
11014
|
+
* control emits a `change` event
|
|
11015
|
+
* @internal
|
|
11016
|
+
*/
|
|
10057
11017
|
handleChange() {
|
|
10058
11018
|
this.$emit("change");
|
|
10059
11019
|
}
|
|
11020
|
+
/** {@inheritDoc (FormAssociated:interface).validate} */
|
|
10060
11021
|
validate() {
|
|
10061
11022
|
super.validate(this.control);
|
|
10062
11023
|
}
|
|
@@ -10121,12 +11082,29 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
10121
11082
|
return result;
|
|
10122
11083
|
};
|
|
10123
11084
|
class ToggleButton extends Button {
|
|
11085
|
+
/**
|
|
11086
|
+
* Updates the pressed state when the `pressed` property changes.
|
|
11087
|
+
*
|
|
11088
|
+
* @internal
|
|
11089
|
+
*/
|
|
10124
11090
|
pressedChanged() {
|
|
10125
11091
|
this.setPressedState();
|
|
10126
11092
|
}
|
|
11093
|
+
/**
|
|
11094
|
+
* Updates the pressed state when the `mixed` property changes.
|
|
11095
|
+
*
|
|
11096
|
+
* @param previous - the previous mixed state
|
|
11097
|
+
* @param next - the current mixed state
|
|
11098
|
+
* @internal
|
|
11099
|
+
*/
|
|
10127
11100
|
mixedChanged() {
|
|
10128
11101
|
this.setPressedState();
|
|
10129
11102
|
}
|
|
11103
|
+
/**
|
|
11104
|
+
* Toggles the pressed state of the button.
|
|
11105
|
+
*
|
|
11106
|
+
* @override
|
|
11107
|
+
*/
|
|
10130
11108
|
press() {
|
|
10131
11109
|
this.pressed = !this.pressed;
|
|
10132
11110
|
}
|
|
@@ -10134,6 +11112,11 @@ class ToggleButton extends Button {
|
|
|
10134
11112
|
super.connectedCallback();
|
|
10135
11113
|
this.setPressedState();
|
|
10136
11114
|
}
|
|
11115
|
+
/**
|
|
11116
|
+
* Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
|
|
11117
|
+
*
|
|
11118
|
+
* @internal
|
|
11119
|
+
*/
|
|
10137
11120
|
setPressedState() {
|
|
10138
11121
|
if (this.$fastController.isConnected) {
|
|
10139
11122
|
const ariaPressed = `${this.mixed ? "mixed" : !!this.pressed}`;
|
|
@@ -10179,4 +11162,4 @@ const setThemeFor = (element, theme) => {
|
|
|
10179
11162
|
}
|
|
10180
11163
|
};
|
|
10181
11164
|
|
|
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 };
|
|
11165
|
+
export { Accordion, AccordionExpandMode, AccordionItem, AccordionItemExpandIconPosition, AccordionItemSize, AnchorButton, AnchorButtonAppearance, definition$q as AnchorButtonDefinition, AnchorButtonShape, AnchorButtonSize, template$q as AnchorButtonTemplate, AnchorTarget, Avatar, AvatarActive, AvatarAppearance, AvatarColor, definition$p as AvatarDefinition, AvatarNamedColor, AvatarShape, AvatarSize, styles$o as AvatarStyles, template$p as AvatarTemplate, Badge, BadgeAppearance, BadgeColor, definition$o as BadgeDefinition, BadgeShape, BadgeSize, styles$n as BadgeStyles, template$o as BadgeTemplate, Button, ButtonAppearance, definition$n as ButtonDefinition, ButtonShape, ButtonSize, styles$m as ButtonStyles, template$n as ButtonTemplate, ButtonType, Checkbox, definition$m as CheckboxDefinition, CheckboxLabelPosition, CheckboxShape, CheckboxSize, styles$l as CheckboxStyles, template$m as CheckboxTemplate, CompoundButton, CompoundButtonAppearance, definition$l as CompoundButtonDefinition, CompoundButtonShape, CompoundButtonSize, styles$k as CompoundButtonStyles, template$l as CompoundButtonTemplate, CounterBadge, CounterBadgeAppearance, CounterBadgeColor, definition$k as CounterBadgeDefinition, CounterBadgeShape, CounterBadgeSize, styles$j as CounterBadgeStyles, template$k as CounterBadgeTemplate, Dialog, definition$j as DialogDefinition, DialogModalType, styles$i as DialogStyles, template$j as DialogTemplate, Divider, DividerAlignContent, DividerAppearance, definition$i as DividerDefinition, DividerOrientation, DividerRole, styles$h as DividerStyles, template$i as DividerTemplate, FluentDesignSystem, Image, definition$h as ImageDefinition, ImageFit, ImageShape, styles$g as ImageStyles, template$h as ImageTemplate, Label, definition$g as LabelDefinition, LabelSize, styles$f as LabelStyles, template$g as LabelTemplate, LabelWeight, Menu, MenuButton, MenuButtonAppearance, definition$e as MenuButtonDefinition, MenuButtonShape, MenuButtonSize, styles$m as MenuButtonStyles, template$e as MenuButtonTemplate, definition$f as MenuDefinition, MenuItem, definition$d as MenuItemDefinition, MenuItemRole, styles$d as MenuItemStyles, template$d as MenuItemTemplate, MenuList, definition$c as MenuListDefinition, styles$c as MenuListStyles, template$c as MenuListTemplate, styles$e as MenuStyles, template$f as MenuTemplate, ProgressBar, definition$b as ProgressBarDefinition, ProgressBarShape, styles$b as ProgressBarStyles, template$b as ProgressBarTemplate, ProgressBarThickness, ProgressBarValidationState, Radio, definition$a as RadioDefinition, RadioGroup, definition$9 as RadioGroupDefinition, RadioGroupOrientation, styles$9 as RadioGroupStyles, template$9 as RadioGroupTemplate, styles$a as RadioStyles, template$a as RadioTemplate, Slider, definition$8 as SliderDefinition, SliderMode, SliderOrientation, SliderSize, styles$8 as SliderStyles, template$8 as SliderTemplate, Spinner, SpinnerAppearance, definition$7 as SpinnerDefinition, SpinnerSize, styles$7 as SpinnerStyles, template$7 as SpinnerTemplate, Switch, definition$6 as SwitchDefinition, SwitchLabelPosition, styles$6 as SwitchStyles, template$6 as SwitchTemplate, Tab, definition$5 as TabDefinition, TabPanel, definition$4 as TabPanelDefinition, styles$4 as TabPanelStyles, template$4 as TabPanelTemplate, styles$5 as TabStyles, template$5 as TabTemplate, Tabs, TabsAppearance, definition$3 as TabsDefinition, TabsOrientation, TabsSize, styles$3 as TabsStyles, template$3 as TabsTemplate, Text, TextAlign, definition$2 as TextDefinition, TextFont, TextInput, TextInputAppearance, TextInputControlSize, definition$1 as TextInputDefinition, styles$1 as TextInputStyles, template$1 as TextInputTemplate, TextInputType, TextSize, styles$2 as TextStyles, template$2 as TextTemplate, TextWeight, ToggleButton, ToggleButtonAppearance, definition as ToggleButtonDefinition, ToggleButtonShape, ToggleButtonSize, styles as ToggleButtonStyles, template as ToggleButtonTemplate, definition$s as accordionDefinition, definition$r as accordionItemDefinition, styles$q as accordionItemStyles, template$r as accordionItemTemplate, styles$r as accordionStyles, template$s as accordionTemplate, borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, borderRadiusXLarge, colorBackgroundOverlay, colorBrandBackground, colorBrandBackground2, colorBrandBackground2Hover, colorBrandBackground2Pressed, colorBrandBackground3Static, colorBrandBackground4Static, colorBrandBackgroundHover, colorBrandBackgroundInverted, colorBrandBackgroundInvertedHover, colorBrandBackgroundInvertedPressed, colorBrandBackgroundInvertedSelected, colorBrandBackgroundPressed, colorBrandBackgroundSelected, colorBrandBackgroundStatic, colorBrandForeground1, colorBrandForeground2, colorBrandForeground2Hover, colorBrandForeground2Pressed, colorBrandForegroundInverted, colorBrandForegroundInvertedHover, colorBrandForegroundInvertedPressed, colorBrandForegroundLink, colorBrandForegroundLinkHover, colorBrandForegroundLinkPressed, colorBrandForegroundLinkSelected, colorBrandForegroundOnLight, colorBrandForegroundOnLightHover, colorBrandForegroundOnLightPressed, colorBrandForegroundOnLightSelected, colorBrandShadowAmbient, colorBrandShadowKey, colorBrandStroke1, colorBrandStroke2, colorBrandStroke2Contrast, colorBrandStroke2Hover, colorBrandStroke2Pressed, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandForeground1, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackground3, colorNeutralBackground3Hover, colorNeutralBackground3Pressed, colorNeutralBackground3Selected, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackground4Pressed, colorNeutralBackground4Selected, colorNeutralBackground5, colorNeutralBackground5Hover, colorNeutralBackground5Pressed, colorNeutralBackground5Selected, colorNeutralBackground6, colorNeutralBackgroundAlpha, colorNeutralBackgroundAlpha2, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralBackgroundInvertedDisabled, colorNeutralBackgroundStatic, colorNeutralCardBackground, colorNeutralCardBackgroundDisabled, colorNeutralCardBackgroundHover, colorNeutralCardBackgroundPressed, colorNeutralCardBackgroundSelected, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground1Selected, colorNeutralForeground1Static, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Link, colorNeutralForeground2LinkHover, colorNeutralForeground2LinkPressed, colorNeutralForeground2LinkSelected, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForeground3, colorNeutralForeground3BrandHover, colorNeutralForeground3BrandPressed, colorNeutralForeground3BrandSelected, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForeground3Selected, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInverted2, colorNeutralForegroundInvertedDisabled, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedLink, colorNeutralForegroundInvertedLinkHover, colorNeutralForegroundInvertedLinkPressed, colorNeutralForegroundInvertedLinkSelected, colorNeutralForegroundInvertedPressed, colorNeutralForegroundInvertedSelected, colorNeutralForegroundOnBrand, colorNeutralForegroundStaticInverted, colorNeutralShadowAmbient, colorNeutralShadowAmbientDarker, colorNeutralShadowAmbientLighter, colorNeutralShadowKey, colorNeutralShadowKeyDarker, colorNeutralShadowKeyLighter, colorNeutralStencil1, colorNeutralStencil1Alpha, colorNeutralStencil2, colorNeutralStencil2Alpha, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorNeutralStroke2, colorNeutralStroke3, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeAccessibleSelected, colorNeutralStrokeAlpha, colorNeutralStrokeAlpha2, colorNeutralStrokeDisabled, colorNeutralStrokeInvertedDisabled, colorNeutralStrokeOnBrand, colorNeutralStrokeOnBrand2, colorNeutralStrokeOnBrand2Hover, colorNeutralStrokeOnBrand2Pressed, colorNeutralStrokeOnBrand2Selected, colorNeutralStrokeSubtle, colorPaletteAnchorBackground2, colorPaletteAnchorBorderActive, colorPaletteAnchorForeground2, colorPaletteBeigeBackground2, colorPaletteBeigeBorderActive, colorPaletteBeigeForeground2, colorPaletteBerryBackground1, colorPaletteBerryBackground2, colorPaletteBerryBackground3, colorPaletteBerryBorder1, colorPaletteBerryBorder2, colorPaletteBerryBorderActive, colorPaletteBerryForeground1, colorPaletteBerryForeground2, colorPaletteBerryForeground3, colorPaletteBlueBackground2, colorPaletteBlueBorderActive, colorPaletteBlueForeground2, colorPaletteBrassBackground2, colorPaletteBrassBorderActive, colorPaletteBrassForeground2, colorPaletteBrownBackground2, colorPaletteBrownBorderActive, colorPaletteBrownForeground2, colorPaletteCornflowerBackground2, colorPaletteCornflowerBorderActive, colorPaletteCornflowerForeground2, colorPaletteCranberryBackground2, colorPaletteCranberryBorderActive, colorPaletteCranberryForeground2, colorPaletteDarkGreenBackground2, colorPaletteDarkGreenBorderActive, colorPaletteDarkGreenForeground2, colorPaletteDarkOrangeBackground1, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteDarkOrangeBorder1, colorPaletteDarkOrangeBorder2, colorPaletteDarkOrangeBorderActive, colorPaletteDarkOrangeForeground1, colorPaletteDarkOrangeForeground2, colorPaletteDarkOrangeForeground3, colorPaletteDarkRedBackground2, colorPaletteDarkRedBorderActive, colorPaletteDarkRedForeground2, colorPaletteForestBackground2, colorPaletteForestBorderActive, colorPaletteForestForeground2, colorPaletteGoldBackground2, colorPaletteGoldBorderActive, colorPaletteGoldForeground2, colorPaletteGrapeBackground2, colorPaletteGrapeBorderActive, colorPaletteGrapeForeground2, colorPaletteGreenBackground1, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteGreenBorder1, colorPaletteGreenBorder2, colorPaletteGreenBorderActive, colorPaletteGreenForeground1, colorPaletteGreenForeground2, colorPaletteGreenForeground3, colorPaletteGreenForegroundInverted, colorPaletteLavenderBackground2, colorPaletteLavenderBorderActive, colorPaletteLavenderForeground2, colorPaletteLightGreenBackground1, colorPaletteLightGreenBackground2, colorPaletteLightGreenBackground3, colorPaletteLightGreenBorder1, colorPaletteLightGreenBorder2, colorPaletteLightGreenBorderActive, colorPaletteLightGreenForeground1, colorPaletteLightGreenForeground2, colorPaletteLightGreenForeground3, colorPaletteLightTealBackground2, colorPaletteLightTealBorderActive, colorPaletteLightTealForeground2, colorPaletteLilacBackground2, colorPaletteLilacBorderActive, colorPaletteLilacForeground2, colorPaletteMagentaBackground2, colorPaletteMagentaBorderActive, colorPaletteMagentaForeground2, colorPaletteMarigoldBackground1, colorPaletteMarigoldBackground2, colorPaletteMarigoldBackground3, colorPaletteMarigoldBorder1, colorPaletteMarigoldBorder2, colorPaletteMarigoldBorderActive, colorPaletteMarigoldForeground1, colorPaletteMarigoldForeground2, colorPaletteMarigoldForeground3, colorPaletteMinkBackground2, colorPaletteMinkBorderActive, colorPaletteMinkForeground2, colorPaletteNavyBackground2, colorPaletteNavyBorderActive, colorPaletteNavyForeground2, colorPalettePeachBackground2, colorPalettePeachBorderActive, colorPalettePeachForeground2, colorPalettePinkBackground2, colorPalettePinkBorderActive, colorPalettePinkForeground2, colorPalettePlatinumBackground2, colorPalettePlatinumBorderActive, colorPalettePlatinumForeground2, colorPalettePlumBackground2, colorPalettePlumBorderActive, colorPalettePlumForeground2, colorPalettePumpkinBackground2, colorPalettePumpkinBorderActive, colorPalettePumpkinForeground2, colorPalettePurpleBackground2, colorPalettePurpleBorderActive, colorPalettePurpleForeground2, colorPaletteRedBackground1, colorPaletteRedBackground2, colorPaletteRedBackground3, colorPaletteRedBorder1, colorPaletteRedBorder2, colorPaletteRedBorderActive, colorPaletteRedForeground1, colorPaletteRedForeground2, colorPaletteRedForeground3, colorPaletteRedForegroundInverted, colorPaletteRoyalBlueBackground2, colorPaletteRoyalBlueBorderActive, colorPaletteRoyalBlueForeground2, colorPaletteSeafoamBackground2, colorPaletteSeafoamBorderActive, colorPaletteSeafoamForeground2, colorPaletteSteelBackground2, colorPaletteSteelBorderActive, colorPaletteSteelForeground2, colorPaletteTealBackground2, colorPaletteTealBorderActive, colorPaletteTealForeground2, colorPaletteYellowBackground1, colorPaletteYellowBackground2, colorPaletteYellowBackground3, colorPaletteYellowBorder1, colorPaletteYellowBorder2, colorPaletteYellowBorderActive, colorPaletteYellowForeground1, colorPaletteYellowForeground2, colorPaletteYellowForeground3, colorPaletteYellowForegroundInverted, colorScrollbarOverlay, colorStatusDangerBackground1, colorStatusDangerBackground2, colorStatusDangerBackground3, colorStatusDangerBackground3Hover, colorStatusDangerBackground3Pressed, colorStatusDangerBorder1, colorStatusDangerBorder2, colorStatusDangerBorderActive, colorStatusDangerForeground1, colorStatusDangerForeground2, colorStatusDangerForeground3, colorStatusDangerForegroundInverted, colorStatusSuccessBackground1, colorStatusSuccessBackground2, colorStatusSuccessBackground3, colorStatusSuccessBorder1, colorStatusSuccessBorder2, colorStatusSuccessBorderActive, colorStatusSuccessForeground1, colorStatusSuccessForeground2, colorStatusSuccessForeground3, colorStatusSuccessForegroundInverted, colorStatusWarningBackground1, colorStatusWarningBackground2, colorStatusWarningBackground3, colorStatusWarningBorder1, colorStatusWarningBorder2, colorStatusWarningBorderActive, colorStatusWarningForeground1, colorStatusWarningForeground2, colorStatusWarningForeground3, colorStatusWarningForegroundInverted, colorStrokeFocus1, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundInverted, colorSubtleBackgroundInvertedHover, colorSubtleBackgroundInvertedPressed, colorSubtleBackgroundInvertedSelected, colorSubtleBackgroundLightAlphaHover, colorSubtleBackgroundLightAlphaPressed, colorSubtleBackgroundLightAlphaSelected, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, curveAccelerateMax, curveAccelerateMid, curveAccelerateMin, curveDecelerateMax, curveDecelerateMid, curveDecelerateMin, curveEasyEase, curveEasyEaseMax, curveLinear, darkModeStylesheetBehavior, display, durationFast, durationFaster, durationGentle, durationNormal, durationSlow, durationSlower, durationUltraFast, durationUltraSlow, fontFamilyBase, fontFamilyMonospace, fontFamilyNumeric, fontSizeBase100, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontSizeHero1000, fontSizeHero700, fontSizeHero800, fontSizeHero900, fontWeightBold, fontWeightMedium, fontWeightRegular, fontWeightSemibold, forcedColorsStylesheetBehavior, getDirection, lightModeStylesheetBehavior, lineHeightBase100, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, lineHeightBase600, lineHeightHero1000, lineHeightHero700, lineHeightHero800, lineHeightHero900, roleForMenuItem, setTheme, setThemeFor, shadow16, shadow16Brand, shadow2, shadow28, shadow28Brand, shadow2Brand, shadow4, shadow4Brand, shadow64, shadow64Brand, shadow8, shadow8Brand, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXS, spacingHorizontalXXXL, spacingVerticalL, spacingVerticalM, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXL, spacingVerticalXS, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXXXL, strokeWidthThick, strokeWidthThicker, strokeWidthThickest, strokeWidthThin };
|