@fluentui/web-components 3.0.0-rc.25 → 3.0.0-rc.27
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 +21 -2
- package/README.md +26 -0
- package/custom-elements.json +723 -356
- package/dist/esm/accordion/accordion.d.ts +1 -1
- package/dist/esm/accordion/accordion.js +1 -1
- package/dist/esm/accordion/accordion.styles.css +11 -7
- package/dist/esm/accordion/accordion.template.html +4 -3
- package/dist/esm/accordion-item/accordion-item.d.ts +2 -2
- package/dist/esm/accordion-item/accordion-item.js +2 -0
- package/dist/esm/accordion-item/accordion-item.js.map +1 -1
- package/dist/esm/accordion-item/accordion-item.styles.css +174 -170
- package/dist/esm/accordion-item/accordion-item.template.html +38 -31
- package/dist/esm/anchor-button/anchor-button.d.ts +2 -2
- package/dist/esm/anchor-button/anchor-button.js +2 -0
- package/dist/esm/anchor-button/anchor-button.js.map +1 -1
- package/dist/esm/anchor-button/anchor-button.styles.css +224 -223
- package/dist/esm/anchor-button/anchor-button.template.html +8 -11
- package/dist/esm/avatar/avatar.d.ts +2 -0
- package/dist/esm/avatar/avatar.js +3 -1
- package/dist/esm/avatar/avatar.js.map +1 -1
- package/dist/esm/avatar/avatar.styles.css +475 -470
- package/dist/esm/avatar/avatar.template.html +10 -14
- package/dist/esm/badge/badge.d.ts +6 -1
- package/dist/esm/badge/badge.js +6 -1
- package/dist/esm/badge/badge.js.map +1 -1
- package/dist/esm/badge/badge.styles.css +264 -266
- package/dist/esm/badge/badge.template.html +5 -2
- package/dist/esm/button/button.base.d.ts +0 -9
- package/dist/esm/button/button.base.js +2 -3
- package/dist/esm/button/button.base.js.map +1 -1
- package/dist/esm/button/button.styles.css +260 -259
- package/dist/esm/button/button.template.html +8 -10
- package/dist/esm/checkbox/checkbox.base.d.ts +3 -9
- package/dist/esm/checkbox/checkbox.base.js +5 -3
- package/dist/esm/checkbox/checkbox.base.js.map +1 -1
- package/dist/esm/checkbox/checkbox.d.ts +2 -2
- package/dist/esm/checkbox/checkbox.js +2 -2
- package/dist/esm/checkbox/checkbox.styles.css +146 -142
- package/dist/esm/checkbox/checkbox.template.html +21 -16
- package/dist/esm/compound-button/compound-button.d.ts +3 -0
- package/dist/esm/compound-button/compound-button.js +3 -0
- package/dist/esm/compound-button/compound-button.js.map +1 -1
- package/dist/esm/compound-button/compound-button.styles.css +363 -365
- package/dist/esm/compound-button/compound-button.template.html +9 -11
- package/dist/esm/counter-badge/counter-badge.d.ts +3 -0
- package/dist/esm/counter-badge/counter-badge.js +3 -0
- package/dist/esm/counter-badge/counter-badge.js.map +1 -1
- package/dist/esm/counter-badge/counter-badge.styles.css +177 -177
- package/dist/esm/counter-badge/counter-badge.template.html +5 -2
- package/dist/esm/dialog/dialog.d.ts +4 -0
- package/dist/esm/dialog/dialog.js +4 -0
- package/dist/esm/dialog/dialog.js.map +1 -1
- package/dist/esm/dialog/dialog.styles.css +65 -66
- package/dist/esm/dialog/dialog.template.html +18 -15
- package/dist/esm/dialog-body/dialog-body.d.ts +9 -0
- package/dist/esm/dialog-body/dialog-body.js +9 -0
- package/dist/esm/dialog-body/dialog-body.js.map +1 -1
- package/dist/esm/dialog-body/dialog-body.styles.css +81 -76
- package/dist/esm/dialog-body/dialog-body.styles.js +1 -0
- package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -1
- package/dist/esm/dialog-body/dialog-body.template.html +2 -1
- package/dist/esm/divider/divider.styles.css +105 -101
- package/dist/esm/divider/divider.template.html +6 -1
- package/dist/esm/drawer/drawer.d.ts +3 -4
- package/dist/esm/drawer/drawer.js +3 -4
- package/dist/esm/drawer/drawer.js.map +1 -1
- package/dist/esm/drawer/drawer.styles.css +124 -120
- package/dist/esm/drawer/drawer.styles.js +16 -17
- package/dist/esm/drawer/drawer.styles.js.map +1 -1
- package/dist/esm/drawer/drawer.template.html +5 -2
- package/dist/esm/drawer-body/drawer-body.styles.css +29 -26
- package/dist/esm/drawer-body/drawer-body.template.html +5 -2
- package/dist/esm/dropdown/dropdown.base.d.ts +3 -1
- package/dist/esm/dropdown/dropdown.base.js +5 -1
- package/dist/esm/dropdown/dropdown.base.js.map +1 -1
- package/dist/esm/dropdown/dropdown.styles.css +192 -190
- package/dist/esm/dropdown/dropdown.styles.js +1 -0
- package/dist/esm/dropdown/dropdown.styles.js.map +1 -1
- package/dist/esm/dropdown/dropdown.template.html +26 -19
- package/dist/esm/field/field.d.ts +7 -0
- package/dist/esm/field/field.js +7 -0
- package/dist/esm/field/field.js.map +1 -1
- package/dist/esm/field/field.styles.css +125 -121
- package/dist/esm/field/field.template.html +3 -2
- package/dist/esm/image/image.d.ts +2 -0
- package/dist/esm/image/image.js +2 -0
- package/dist/esm/image/image.js.map +1 -1
- package/dist/esm/image/image.styles.css +49 -50
- package/dist/esm/image/image.template.html +6 -1
- package/dist/esm/label/label.d.ts +3 -0
- package/dist/esm/label/label.js +3 -0
- package/dist/esm/label/label.js.map +1 -1
- package/dist/esm/label/label.styles.css +34 -30
- package/dist/esm/label/label.template.html +5 -2
- package/dist/esm/link/link.styles.css +58 -54
- package/dist/esm/link/link.template.html +4 -7
- package/dist/esm/listbox/listbox.styles.css +40 -36
- package/dist/esm/listbox/listbox.template.html +4 -6
- package/dist/esm/menu/menu.styles.css +56 -52
- package/dist/esm/menu/menu.template.html +6 -5
- package/dist/esm/menu-button/menu-button.styles.css +260 -259
- package/dist/esm/menu-button/menu-button.template.html +23 -14
- package/dist/esm/menu-item/menu-item.d.ts +1 -1
- package/dist/esm/menu-item/menu-item.js +3 -1
- package/dist/esm/menu-item/menu-item.js.map +1 -1
- package/dist/esm/menu-item/menu-item.styles.css +141 -137
- package/dist/esm/menu-item/menu-item.template.html +48 -17
- package/dist/esm/menu-list/menu-list.styles.css +19 -15
- package/dist/esm/menu-list/menu-list.template.html +4 -3
- package/dist/esm/message-bar/message-bar.d.ts +2 -0
- package/dist/esm/message-bar/message-bar.js +2 -0
- package/dist/esm/message-bar/message-bar.js.map +1 -1
- package/dist/esm/message-bar/message-bar.styles.css +83 -84
- package/dist/esm/message-bar/message-bar.template.html +7 -2
- package/dist/esm/option/option.d.ts +3 -0
- package/dist/esm/option/option.js +3 -0
- package/dist/esm/option/option.js.map +1 -1
- package/dist/esm/option/option.styles.css +117 -114
- package/dist/esm/option/option.template.html +17 -14
- package/dist/esm/progress-bar/progress-bar.base.d.ts +3 -3
- package/dist/esm/progress-bar/progress-bar.d.ts +1 -0
- package/dist/esm/progress-bar/progress-bar.js +1 -0
- package/dist/esm/progress-bar/progress-bar.js.map +1 -1
- package/dist/esm/progress-bar/progress-bar.styles.css +83 -79
- package/dist/esm/progress-bar/progress-bar.template.html +4 -1
- package/dist/esm/radio/radio.d.ts +3 -2
- package/dist/esm/radio/radio.js +3 -2
- package/dist/esm/radio/radio.js.map +1 -1
- package/dist/esm/radio/radio.styles.css +100 -96
- package/dist/esm/radio/radio.template.html +6 -9
- package/dist/esm/radio-group/radio-group.base.d.ts +2 -0
- package/dist/esm/radio-group/radio-group.base.js +2 -0
- package/dist/esm/radio-group/radio-group.base.js.map +1 -1
- package/dist/esm/radio-group/radio-group.d.ts +1 -0
- package/dist/esm/radio-group/radio-group.js +1 -0
- package/dist/esm/radio-group/radio-group.js.map +1 -1
- package/dist/esm/radio-group/radio-group.styles.css +45 -41
- package/dist/esm/radio-group/radio-group.template.html +11 -10
- package/dist/esm/rating-display/rating-display.styles.css +136 -134
- package/dist/esm/rating-display/rating-display.template.html +5 -2
- package/dist/esm/slider/slider.d.ts +1 -1
- package/dist/esm/slider/slider.js +3 -1
- package/dist/esm/slider/slider.js.map +1 -1
- package/dist/esm/slider/slider.styles.css +186 -182
- package/dist/esm/slider/slider.template.html +13 -15
- package/dist/esm/spinner/spinner.styles.css +155 -151
- package/dist/esm/spinner/spinner.template.html +16 -11
- package/dist/esm/switch/switch.d.ts +1 -0
- package/dist/esm/switch/switch.js +1 -0
- package/dist/esm/switch/switch.js.map +1 -1
- package/dist/esm/switch/switch.styles.css +112 -108
- package/dist/esm/switch/switch.template.html +9 -8
- package/dist/esm/tab/tab.js +2 -0
- package/dist/esm/tab/tab.js.map +1 -1
- package/dist/esm/tab/tab.styles.css +112 -108
- package/dist/esm/tab/tab.template.html +6 -5
- package/dist/esm/tablist/tablist.d.ts +1 -0
- package/dist/esm/tablist/tablist.js +1 -0
- package/dist/esm/tablist/tablist.js.map +1 -1
- package/dist/esm/tablist/tablist.styles.css +194 -190
- package/dist/esm/tablist/tablist.template.html +2 -5
- package/dist/esm/text/text.d.ts +2 -0
- package/dist/esm/text/text.js +2 -0
- package/dist/esm/text/text.js.map +1 -1
- package/dist/esm/text/text.styles.css +105 -101
- package/dist/esm/text/text.template.html +6 -1
- package/dist/esm/text-input/text-input.base.d.ts +4 -16
- package/dist/esm/text-input/text-input.base.js +7 -17
- package/dist/esm/text-input/text-input.base.js.map +1 -1
- package/dist/esm/text-input/text-input.d.ts +2 -0
- package/dist/esm/text-input/text-input.js +2 -0
- package/dist/esm/text-input/text-input.js.map +1 -1
- package/dist/esm/text-input/text-input.styles.css +199 -195
- package/dist/esm/text-input/text-input.template.html +34 -36
- package/dist/esm/text-input/text-input.template.js +1 -5
- package/dist/esm/text-input/text-input.template.js.map +1 -1
- package/dist/esm/textarea/textarea.base.d.ts +2 -2
- package/dist/esm/textarea/textarea.base.js +4 -2
- package/dist/esm/textarea/textarea.base.js.map +1 -1
- package/dist/esm/textarea/textarea.styles.css +254 -250
- package/dist/esm/textarea/textarea.template.html +28 -27
- package/dist/esm/toggle-button/toggle-button.styles.css +360 -357
- package/dist/esm/toggle-button/toggle-button.template.html +8 -10
- package/dist/esm/tooltip/tooltip.d.ts +2 -0
- package/dist/esm/tooltip/tooltip.js +2 -0
- package/dist/esm/tooltip/tooltip.js.map +1 -1
- package/dist/esm/tooltip/tooltip.styles.css +81 -77
- package/dist/esm/tooltip/tooltip.template.html +6 -1
- package/dist/esm/tree/tree.styles.css +9 -5
- package/dist/esm/tree/tree.template.html +3 -2
- package/dist/esm/tree-item/tree-item.base.d.ts +9 -0
- package/dist/esm/tree-item/tree-item.base.js +11 -0
- package/dist/esm/tree-item/tree-item.base.js.map +1 -1
- package/dist/esm/tree-item/tree-item.d.ts +15 -0
- package/dist/esm/tree-item/tree-item.js +15 -0
- package/dist/esm/tree-item/tree-item.js.map +1 -1
- package/dist/esm/tree-item/tree-item.styles.css +157 -153
- package/dist/esm/tree-item/tree-item.template.html +8 -7
- package/dist/esm/utils/autofocus.d.ts +12 -0
- package/dist/esm/utils/autofocus.js +25 -0
- package/dist/esm/utils/autofocus.js.map +1 -0
- package/dist/web-components-all.js +24 -27
- package/dist/web-components-all.min.js +15 -15
- package/dist/web-components.d.ts +110 -54
- package/dist/web-components.js +24 -27
- package/dist/web-components.min.js +15 -15
- package/package.json +6 -6
package/dist/web-components.js
CHANGED
|
@@ -5980,6 +5980,16 @@ const definition$B = Badge.compose({
|
|
|
5980
5980
|
|
|
5981
5981
|
definition$B.define(FluentDesignSystem.registry);
|
|
5982
5982
|
|
|
5983
|
+
function maybeSetAutoFocus(element) {
|
|
5984
|
+
const doc = element.ownerDocument;
|
|
5985
|
+
if (element?.isConnected && element?.hasAttribute("autofocus") && // Note: opacity=0 is considered visible based on the native `autofocus` implementation
|
|
5986
|
+
element?.checkVisibility?.({ contentVisibilityAuto: true, visibilityProperty: true }) && [null, element, doc.body, doc.documentElement].includes(doc.activeElement)) {
|
|
5987
|
+
Updates.enqueue(() => {
|
|
5988
|
+
element.focus();
|
|
5989
|
+
});
|
|
5990
|
+
}
|
|
5991
|
+
}
|
|
5992
|
+
|
|
5983
5993
|
var __defProp$H = Object.defineProperty;
|
|
5984
5994
|
var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
|
|
5985
5995
|
var __decorateClass$H = (decorators, target, key, kind) => {
|
|
@@ -6072,6 +6082,7 @@ class BaseButton extends FASTElement {
|
|
|
6072
6082
|
super.connectedCallback();
|
|
6073
6083
|
this.elementInternals.ariaDisabled = `${!!this.disabledFocusable}`;
|
|
6074
6084
|
this.setTabIndex();
|
|
6085
|
+
maybeSetAutoFocus(this);
|
|
6075
6086
|
}
|
|
6076
6087
|
/**
|
|
6077
6088
|
* This fallback creates a new slot, then creates a submit button to mirror the custom element's
|
|
@@ -6212,9 +6223,6 @@ class BaseButton extends FASTElement {
|
|
|
6212
6223
|
* @public
|
|
6213
6224
|
*/
|
|
6214
6225
|
BaseButton.formAssociated = true;
|
|
6215
|
-
__decorateClass$H([
|
|
6216
|
-
attr({ mode: "boolean" })
|
|
6217
|
-
], BaseButton.prototype, "autofocus", 2);
|
|
6218
6226
|
__decorateClass$H([
|
|
6219
6227
|
observable
|
|
6220
6228
|
], BaseButton.prototype, "defaultSlottedContent", 2);
|
|
@@ -6530,6 +6538,7 @@ class BaseCheckbox extends FASTElement {
|
|
|
6530
6538
|
this.disabled = !!this.disabledAttribute;
|
|
6531
6539
|
this.setAriaChecked();
|
|
6532
6540
|
this.setValidity();
|
|
6541
|
+
maybeSetAutoFocus(this);
|
|
6533
6542
|
}
|
|
6534
6543
|
/**
|
|
6535
6544
|
* Updates the form value when a user changes the `checked` state.
|
|
@@ -6656,9 +6665,6 @@ class BaseCheckbox extends FASTElement {
|
|
|
6656
6665
|
* @public
|
|
6657
6666
|
*/
|
|
6658
6667
|
BaseCheckbox.formAssociated = true;
|
|
6659
|
-
__decorateClass$F([
|
|
6660
|
-
attr({ mode: "boolean" })
|
|
6661
|
-
], BaseCheckbox.prototype, "autofocus", 2);
|
|
6662
6668
|
__decorateClass$F([
|
|
6663
6669
|
observable
|
|
6664
6670
|
], BaseCheckbox.prototype, "disabled", 2);
|
|
@@ -7097,7 +7103,7 @@ class DialogBody extends FASTElement {
|
|
|
7097
7103
|
|
|
7098
7104
|
const template$v = html`<template><div class=title part=title><slot name=title></slot><slot name=title-action></slot><slot name=close @click=${(x, c) => x.clickHandler(c.event)}></slot></div><div class=content part=content><slot></slot></div><div class=actions part=actions><slot name=action></slot></div></template>`;
|
|
7099
7105
|
|
|
7100
|
-
const styles$v = css`${display("grid")} :host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body/inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL}}.content{box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};min-height:32px}.actions{box-sizing:border-box;background:${colorNeutralBackground1};display:flex;flex-direction:column;gap:${spacingVerticalS};inset-block-end:0;margin-block-end:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalXXL};padding-block-start:${spacingVerticalL}}::slotted([slot='title-action']){margin-inline-start:auto}::slotted([slot='title']){font:inherit;padding:0;margin:0}:not(:has(:is([slot='title'],[slot='title-action']))) .title{justify-content:end}@container (min-width:480px){.actions{align-items:center;flex-direction:row;justify-content:flex-end;margin-block-start:calc(${spacingVerticalS} * -1);padding-block-start:${spacingVerticalS}}}@media (min-height:480px){.title{position:sticky;z-index:1}.actions{position:sticky;z-index:2}`;
|
|
7106
|
+
const styles$v = css`${display("grid")} :host{background:${colorNeutralBackground1};box-sizing:border-box;gap:${spacingVerticalS};padding:${spacingVerticalXXL} ${spacingHorizontalXXL};container:dialog-body/inline-size}.title{box-sizing:border-box;align-items:flex-start;background:${colorNeutralBackground1};color:${colorNeutralForeground1};column-gap:8px;display:flex;font-family:${fontFamilyBase};font-size:${fontSizeBase500};font-weight:${fontWeightSemibold};inset-block-start:0;justify-content:space-between;line-height:${lineHeightBase500};margin-block-end:calc(${spacingVerticalS} * -1);margin-block-start:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalS};padding-block-start:${spacingVerticalXXL}}.content{box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};min-height:32px}.actions{box-sizing:border-box;background:${colorNeutralBackground1};display:flex;flex-direction:column;gap:${spacingVerticalS};inset-block-end:0;margin-block-end:calc(${spacingVerticalXXL} * -1);padding-block-end:${spacingVerticalXXL};padding-block-start:${spacingVerticalL}}::slotted([slot='title-action']){margin-inline-start:auto}::slotted([slot='title']){font:inherit;padding:0;margin:0}:not(:has(:is([slot='title'],[slot='title-action']))) .title{justify-content:end}@container (min-width:480px){.actions{align-items:center;flex-direction:row;justify-content:flex-end;margin-block-start:calc(${spacingVerticalS} * -1);padding-block-start:${spacingVerticalS}}}@media (min-height:480px){.title{position:sticky;z-index:1}.actions{position:sticky;z-index:2}}`;
|
|
7101
7107
|
|
|
7102
7108
|
const definition$v = DialogBody.compose({
|
|
7103
7109
|
name: tagName$v,
|
|
@@ -7396,7 +7402,7 @@ __decorateClass$y([
|
|
|
7396
7402
|
volatile
|
|
7397
7403
|
], Drawer.prototype, "dialogRole", 1);
|
|
7398
7404
|
|
|
7399
|
-
const styles$t = css`${display("block")} :host{--dialog-backdrop:${colorBackgroundOverlay}}:host([type='non-modal']) dialog[open]::backdrop{display:none}:host([type='non-modal']) dialog{position:fixed;top:0;bottom:0}:host([type='inline']){height:100%;width:fit-content}:host([type='inline']) dialog[open]{box-shadow:none;position:relative}:host([size='small']) dialog{width:320px;max-width:320px}:host([size='large']) dialog{width:940px;max-width:940px}:host([size='full']) dialog{width:100%;max-width:100%}:host([position='end']) dialog{margin-inline-start:auto;margin-inline-end:0}dialog{
|
|
7405
|
+
const styles$t = css`${display("block")} :host{--dialog-backdrop:${colorBackgroundOverlay}}:host([type='non-modal']) dialog[open]::backdrop{display:none}:host([type='non-modal']) dialog{position:fixed;top:0;bottom:0}:host([type='inline']){height:100%;width:fit-content}:host([type='inline']) dialog[open]{box-shadow:none;position:relative}:host([size='small']) dialog{width:320px;max-width:320px}:host([size='large']) dialog{width:940px;max-width:940px}:host([size='full']) dialog{width:100%;max-width:100%}:host([position='end']) dialog{margin-inline-start:auto;margin-inline-end:0}dialog{background:${colorNeutralBackground1};border-radius:0;border:${strokeWidthThin} solid ${colorTransparentStroke};border-inline-end-color:${colorTransparentStroke};border-inline-start-color:var(--drawer-separator,${colorTransparentStroke});box-shadow:${shadow64};box-sizing:border-box;color:${colorNeutralForeground1};font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};height:100%;line-height:${lineHeightBase300};margin-inline-end:auto;margin-inline-start:0;max-height:100vh;max-width:calc(100vw - ${spacingHorizontalXXL});outline:none;padding:0;bottom:0;top:0;width:var(--drawer-width,592px);z-index:var(--drawer-elevation,1000)}dialog::backdrop{background:var(--dialog-backdrop)}@layer animations{@media (prefers-reduced-motion:no-preference){dialog{transition:display allow-discrete,opacity,overlay allow-discrete,transform;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid}}:host dialog:not([open]){transform:translateX(-100%);transition-timing-function:${curveAccelerateMid}}:host([position='end']) dialog:not([open]){transform:translateX(100%);transition-timing-function:${curveAccelerateMid}}dialog[open]{transform:translateX(0)}dialog::backdrop{transition:display allow-discrete,opacity,overlay allow-discrete,scale;transition-duration:${durationGentle};transition-timing-function:${curveDecelerateMid};background:var(--dialog-backdrop,${colorBackgroundOverlay});opacity:0}dialog[open]::backdrop{opacity:1}dialog::backdrop{transition-timing-function:${curveLinear}}}@starting-style{dialog[open]{transform:translateX(-100%)}:host([position='end']) dialog[open]{transform:translateX(100%)}dialog[open]::backdrop{opacity:0}}}`;
|
|
7400
7406
|
|
|
7401
7407
|
function drawerTemplate() {
|
|
7402
7408
|
return html`<dialog class=dialog part=dialog aria-describedby=${(x) => x.dialogDescribedby} aria-labelledby=${(x) => x.dialogLabelledby} aria-label=${(x) => x.dialogLabel} aria-modal=${(x) => x.dialogModal} role=${(x) => x.dialogRole} size=${(x) => x.size} position=${(x) => x.position} @click=${(x, c) => x.clickHandler(c.event)} @cancel=${(x) => x.cancelHandler()} ${ref("dialog")}><slot></slot></dialog>`;
|
|
@@ -8039,7 +8045,7 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
8039
8045
|
this._insertingControl = false;
|
|
8040
8046
|
}
|
|
8041
8047
|
/**
|
|
8042
|
-
* Handles printable character input by moving {@link activeIndex} to the next option whose label matches the
|
|
8048
|
+
* Handles printable character input by moving {@link Dropdown#activeIndex} to the next option whose label matches the
|
|
8043
8049
|
* accumulated search string. When the string is a single character (or the same character repeated), matching
|
|
8044
8050
|
* options are cycled through; otherwise the string is treated as a prefix match.
|
|
8045
8051
|
*
|
|
@@ -8242,6 +8248,7 @@ const _BaseDropdown = class _BaseDropdown extends FASTElement {
|
|
|
8242
8248
|
Updates.enqueue(() => {
|
|
8243
8249
|
this.insertControl();
|
|
8244
8250
|
});
|
|
8251
|
+
maybeSetAutoFocus(this);
|
|
8245
8252
|
}
|
|
8246
8253
|
disconnectedCallback() {
|
|
8247
8254
|
_BaseDropdown.AnchorPositionFallbackObserver?.disconnect();
|
|
@@ -8387,7 +8394,7 @@ __decorateClass$w([
|
|
|
8387
8394
|
attr
|
|
8388
8395
|
], Dropdown.prototype, "size", 2);
|
|
8389
8396
|
|
|
8390
|
-
const styles$r = css`${display("inline-flex")} :host{box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer}:host(${placeholderShownState}){color:${colorNeutralForeground4}}.control{appearance:none;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:inset 0 0 0 ${strokeWidthThin} var(--control-border-color);box-sizing:border-box;color:inherit;column-gap:${spacingHorizontalXXS};display:inline-flex;justify-content:space-between;min-width:160px;overflow:hidden;padding:${spacingVerticalSNudge} ${spacingHorizontalMNudge};white-space:normal;position:relative;text-align:start;width:100%;z-index:1;${typographyBody1Styles}}:host([size='small']) .control{column-gap:${spacingHorizontalXXS};padding:${spacingVerticalXS} ${spacingHorizontalSNudge};${typographyCaption1Styles}}:host([size='large']) .control{column-gap:${spacingHorizontalS};padding:${spacingVerticalS} ${spacingHorizontalM};${typographyBody2Styles}}::slotted(:is(input,button)){all:unset;flex:1 1 auto}::slotted(button){cursor:pointer}::slotted(input){cursor:text}:where(slot[name='indicator']>*,::slotted([slot='indicator'])){all:unset;align-items:center;appearance:none;aspect-ratio:1;color:${colorNeutralForeground3};display:inline-flex;justify-content:center;width:20px}:host([size='small']) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){width:16px}:host([size='large']) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){width:24px}.control::after,.control::before{content:''/'';inset:auto 0 0;pointer-events:none;position:absolute}.control::before{height:${strokeWidthThin}}.control::after{background-color:${colorCompoundBrandStroke};height:${strokeWidthThick};scale:0 1;transition:scale ${durationUltraFast} ${curveDecelerateMid}}:host(:where(:focus-within)) .control{border-radius:${borderRadiusMedium};box-shadow:inset 0 0 0 1px ${colorStrokeFocus1};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}:host(:where(${openState},:focus-within)) .control::after{scale:1 1;transition-duration:${durationNormal};transition-timing-function:${curveAccelerateMid}}:host(:where([appearance='outline'],[appearance='transparent'])) .control::before{background-color:${colorNeutralStrokeAccessible}}:host([appearance='transparent']) .control{--control-border-color:${colorTransparentStrokeInteractive};background-color:${colorTransparentBackground};border-radius:${borderRadiusNone}}:host([appearance='outline']) .control{--control-border-color:${colorNeutralStroke1}}:host([appearance='outline']) .control:hover{--control-border-color:${colorNeutralStroke1Hover}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:hover::before{background-color:${colorNeutralStrokeAccessibleHover}}:host([appearance='outline']) .control:hover::after{background-color:${colorCompoundBrandBackgroundHover}}:host([appearance='outline']) .control:active{--control-border-color:${colorNeutralStroke1Pressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::before{background-color:${colorNeutralStrokeAccessiblePressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::after{background-color:${colorCompoundBrandBackgroundPressed}}:host([appearance='filled-darker']) .control{background-color:${colorNeutralBackground3}}:host(:where([appearance='filled-lighter'],[appearance='filled-darker'])) .control{--control-border-color:${colorTransparentStroke}}:host(:disabled),:host(:disabled) ::slotted(:where(button,input)){cursor:not-allowed}:host(:disabled) .control::before,:host(:disabled) .control::after{content:none}:host(:disabled) .control:is(*,:active,:hover),:host(:disabled) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){--control-border-color:${colorNeutralStrokeDisabled};background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}::slotted(:not([slot]):not([popover])),::slotted([popover]:not(:popover-open)){display:none}@supports not (anchor-name:--anchor){:host{--listbox-max-height:50vh;--margin-offset:calc(${lineHeightBase300} + (${spacingVerticalSNudge} * 2) + ${strokeWidthThin})}:host([size='small']){--margin-offset:calc(${lineHeightBase200} + (${spacingVerticalXS} * 2) + ${strokeWidthThin})}:host([size='large']){--margin-offset:calc(${lineHeightBase400} + (${spacingVerticalS} * 2) + ${strokeWidthThin})}}@media (forced-colors:active){:host(:disabled) .control{border-color:GrayText}:host(:disabled) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){color:GrayText}`;
|
|
8397
|
+
const styles$r = css`${display("inline-flex")} :host{box-sizing:border-box;color:${colorNeutralForeground1};cursor:pointer}:host(${placeholderShownState}){color:${colorNeutralForeground4}}.control{appearance:none;background-color:${colorNeutralBackground1};border-radius:${borderRadiusMedium};border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:inset 0 0 0 ${strokeWidthThin} var(--control-border-color);box-sizing:border-box;color:inherit;column-gap:${spacingHorizontalXXS};display:inline-flex;justify-content:space-between;min-width:160px;overflow:hidden;padding:${spacingVerticalSNudge} ${spacingHorizontalMNudge};white-space:normal;position:relative;text-align:start;width:100%;z-index:1;${typographyBody1Styles}}:host([size='small']) .control{column-gap:${spacingHorizontalXXS};padding:${spacingVerticalXS} ${spacingHorizontalSNudge};${typographyCaption1Styles}}:host([size='large']) .control{column-gap:${spacingHorizontalS};padding:${spacingVerticalS} ${spacingHorizontalM};${typographyBody2Styles}}::slotted(:is(input,button)){all:unset;flex:1 1 auto}::slotted(button){cursor:pointer}::slotted(input){cursor:text}:where(slot[name='indicator']>*,::slotted([slot='indicator'])){all:unset;align-items:center;appearance:none;aspect-ratio:1;color:${colorNeutralForeground3};display:inline-flex;justify-content:center;width:20px}:host([size='small']) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){width:16px}:host([size='large']) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){width:24px}.control::after,.control::before{content:''/'';inset:auto 0 0;pointer-events:none;position:absolute}.control::before{height:${strokeWidthThin}}.control::after{background-color:${colorCompoundBrandStroke};height:${strokeWidthThick};scale:0 1;transition:scale ${durationUltraFast} ${curveDecelerateMid}}:host(:where(:focus-within)) .control{border-radius:${borderRadiusMedium};box-shadow:inset 0 0 0 1px ${colorStrokeFocus1};outline:${strokeWidthThick} solid ${colorStrokeFocus2}}:host(:where(${openState},:focus-within)) .control::after{scale:1 1;transition-duration:${durationNormal};transition-timing-function:${curveAccelerateMid}}:host(:where([appearance='outline'],[appearance='transparent'])) .control::before{background-color:${colorNeutralStrokeAccessible}}:host([appearance='transparent']) .control{--control-border-color:${colorTransparentStrokeInteractive};background-color:${colorTransparentBackground};border-radius:${borderRadiusNone}}:host([appearance='outline']) .control{--control-border-color:${colorNeutralStroke1}}:host([appearance='outline']) .control:hover{--control-border-color:${colorNeutralStroke1Hover}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:hover::before{background-color:${colorNeutralStrokeAccessibleHover}}:host([appearance='outline']) .control:hover::after{background-color:${colorCompoundBrandBackgroundHover}}:host([appearance='outline']) .control:active{--control-border-color:${colorNeutralStroke1Pressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::before{background-color:${colorNeutralStrokeAccessiblePressed}}:host(:where([appearance='outline'],[appearance='transparent'])) .control:active::after{background-color:${colorCompoundBrandBackgroundPressed}}:host([appearance='filled-darker']) .control{background-color:${colorNeutralBackground3}}:host(:where([appearance='filled-lighter'],[appearance='filled-darker'])) .control{--control-border-color:${colorTransparentStroke}}:host(:disabled),:host(:disabled) ::slotted(:where(button,input)){cursor:not-allowed}:host(:disabled) .control::before,:host(:disabled) .control::after{content:none}:host(:disabled) .control:is(*,:active,:hover),:host(:disabled) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){--control-border-color:${colorNeutralStrokeDisabled};background-color:${colorNeutralBackgroundDisabled};color:${colorNeutralForegroundDisabled}}::slotted(:not([slot]):not([popover])),::slotted([popover]:not(:popover-open)){display:none}@supports not (anchor-name:--anchor){:host{--listbox-max-height:50vh;--margin-offset:calc(${lineHeightBase300} + (${spacingVerticalSNudge} * 2) + ${strokeWidthThin})}:host([size='small']){--margin-offset:calc(${lineHeightBase200} + (${spacingVerticalXS} * 2) + ${strokeWidthThin})}:host([size='large']){--margin-offset:calc(${lineHeightBase400} + (${spacingVerticalS} * 2) + ${strokeWidthThin})}}@media (forced-colors:active){:host(:disabled) .control{border-color:GrayText}:host(:disabled) :where(slot[name='indicator']>*,::slotted([slot='indicator'])){color:GrayText}}`;
|
|
8391
8398
|
|
|
8392
8399
|
const definition$r = Dropdown.compose({
|
|
8393
8400
|
name: tagName$r,
|
|
@@ -9234,6 +9241,7 @@ class MenuItem extends FASTElement {
|
|
|
9234
9241
|
super.connectedCallback();
|
|
9235
9242
|
this.elementInternals.role = this.role ?? MenuItemRole.menuitem;
|
|
9236
9243
|
this.elementInternals.ariaChecked = this.role !== MenuItemRole.menuitem ? `${!!this.checked}` : null;
|
|
9244
|
+
maybeSetAutoFocus(this);
|
|
9237
9245
|
}
|
|
9238
9246
|
}
|
|
9239
9247
|
__decorateClass$p([
|
|
@@ -11932,6 +11940,7 @@ class Slider extends FASTElement {
|
|
|
11932
11940
|
notifier.subscribe(this, "min");
|
|
11933
11941
|
notifier.subscribe(this, "step");
|
|
11934
11942
|
});
|
|
11943
|
+
maybeSetAutoFocus(this);
|
|
11935
11944
|
}
|
|
11936
11945
|
/**
|
|
11937
11946
|
* @internal
|
|
@@ -12257,6 +12266,7 @@ class Tab extends FASTElement {
|
|
|
12257
12266
|
}
|
|
12258
12267
|
this.styles = css`:host{--textContent:'${this.textContent}'}`;
|
|
12259
12268
|
this.$fastController.addStyles(this.styles);
|
|
12269
|
+
maybeSetAutoFocus(this);
|
|
12260
12270
|
}
|
|
12261
12271
|
setDisabledSideEffect(disabled) {
|
|
12262
12272
|
if (disabled) {
|
|
@@ -12740,6 +12750,7 @@ class BaseTextArea extends FASTElement {
|
|
|
12740
12750
|
this.setValidity();
|
|
12741
12751
|
this.preConnectControlEl = null;
|
|
12742
12752
|
this.maybeCreateAutoSizerEl();
|
|
12753
|
+
maybeSetAutoFocus(this);
|
|
12743
12754
|
});
|
|
12744
12755
|
}
|
|
12745
12756
|
/**
|
|
@@ -13273,21 +13284,9 @@ class BaseTextInput extends FASTElement {
|
|
|
13273
13284
|
}
|
|
13274
13285
|
connectedCallback() {
|
|
13275
13286
|
super.connectedCallback();
|
|
13276
|
-
this.tabIndex = Number(this.getAttribute("tabindex") ?? 0) < 0 ? -1 : 0;
|
|
13277
13287
|
this.setFormValue(this.value);
|
|
13278
13288
|
this.setValidity();
|
|
13279
|
-
|
|
13280
|
-
/**
|
|
13281
|
-
* Focuses the inner control when the component is focused.
|
|
13282
|
-
*
|
|
13283
|
-
* @param e - the event object
|
|
13284
|
-
* @public
|
|
13285
|
-
*/
|
|
13286
|
-
focusinHandler(e) {
|
|
13287
|
-
if (e.target === this) {
|
|
13288
|
-
this.control?.focus();
|
|
13289
|
-
}
|
|
13290
|
-
return true;
|
|
13289
|
+
maybeSetAutoFocus(this);
|
|
13291
13290
|
}
|
|
13292
13291
|
/**
|
|
13293
13292
|
* Resets the value to its initial value when the form is reset.
|
|
@@ -13421,9 +13420,6 @@ BaseTextInput.formAssociated = true;
|
|
|
13421
13420
|
__decorateClass$8([
|
|
13422
13421
|
attr
|
|
13423
13422
|
], BaseTextInput.prototype, "autocomplete", 2);
|
|
13424
|
-
__decorateClass$8([
|
|
13425
|
-
attr({ mode: "boolean" })
|
|
13426
|
-
], BaseTextInput.prototype, "autofocus", 2);
|
|
13427
13423
|
__decorateClass$8([
|
|
13428
13424
|
attr({ attribute: "current-value" })
|
|
13429
13425
|
], BaseTextInput.prototype, "currentValue", 2);
|
|
@@ -13513,7 +13509,7 @@ applyMixins(TextInput, StartEnd);
|
|
|
13513
13509
|
const styles$5 = css`${display("block")} :host{font-family:${fontFamilyBase};font-size:${fontSizeBase300};font-weight:${fontWeightRegular};line-height:${lineHeightBase300};max-width:400px}.label{display:flex;color:${colorNeutralForeground1};padding-bottom:${spacingVerticalXS};flex-shrink:0;padding-inline-end:${spacingHorizontalXS}}.label[hidden],:host(:empty) .label{display:none}.root{align-items:center;background-color:${colorNeutralBackground1};border:${strokeWidthThin} solid ${colorNeutralStroke1};border-bottom-color:${colorNeutralStrokeAccessible};border-radius:${borderRadiusMedium};box-sizing:border-box;height:32px;display:inline-flex;flex-direction:row;gap:${spacingHorizontalXXS};padding:0 ${spacingHorizontalMNudge};position:relative;width:100%}:has(.control:user-invalid){border-color:${colorPaletteRedBorder2}}.root::after{box-sizing:border-box;content:'';position:absolute;left:-1px;bottom:0px;right:-1px;height:max(2px,${borderRadiusMedium});border-radius:0 0 ${borderRadiusMedium} ${borderRadiusMedium};border-bottom:2px solid ${colorCompoundBrandStroke};clip-path:inset(calc(100% - 2px) 1px 0px);transform:scaleX(0);transition-property:transform;transition-duration:${durationUltraFast};transition-delay:${curveAccelerateMid}}.control{width:100%;height:100%;box-sizing:border-box;color:${colorNeutralForeground1};border-radius:${borderRadiusMedium};background:${colorTransparentBackground};font-family:${fontFamilyBase};font-weight:${fontWeightRegular};font-size:${fontSizeBase300};border:none;vertical-align:center}.control:focus-visible{outline:0;border:0}.control::placeholder{color:${colorNeutralForeground4}}:host ::slotted([slot='start']),:host ::slotted([slot='end']){display:flex;align-items:center;justify-content:center;color:${colorNeutralForeground3};font-size:${fontSizeBase500}}:host ::slotted([slot='start']){padding-right:${spacingHorizontalXXS}}:host ::slotted([slot='end']){padding-left:${spacingHorizontalXXS};gap:${spacingHorizontalXS}}:host(:hover) .root{border-color:${colorNeutralStroke1Hover};border-bottom-color:${colorNeutralStrokeAccessibleHover}}:host(:active) .root{border-color:${colorNeutralStroke1Pressed}}:host(:focus-within) .root{outline:transparent solid 2px;border-bottom:0}:host(:focus-within) .root::after{transform:scaleX(1);transition-property:transform;transition-duration:${durationNormal};transition-delay:${curveDecelerateMid}}:host(:focus-within:active) .root:after{border-bottom-color:${colorCompoundBrandStrokePressed}}:host([appearance='outline']:focus-within) .root{border:${strokeWidthThin} solid ${colorNeutralStroke1}}:host(:focus-within) .control{color:${colorNeutralForeground1}}:host([disabled]) .root{background:${colorTransparentBackground};border:${strokeWidthThin} solid ${colorNeutralStrokeDisabled}}:host([disabled]) .control::placeholder,:host([disabled]) ::slotted([slot='start']),:host([disabled]) ::slotted([slot='end']){color:${colorNeutralForegroundDisabled}}::selection{color:${colorNeutralForegroundInverted};background-color:${colorNeutralBackgroundInverted}}:host([control-size='small']) .control{font-size:${fontSizeBase200};font-weight:${fontWeightRegular};line-height:${lineHeightBase200}}:host([control-size='small']) .root{height:24px;gap:${spacingHorizontalXXS};padding:0 ${spacingHorizontalSNudge}}:host([control-size='small']) ::slotted([slot='start']),:host([control-size='small']) ::slotted([slot='end']){font-size:${fontSizeBase400}}:host([control-size='large']) .control{font-size:${fontSizeBase400};font-weight:${fontWeightRegular};line-height:${lineHeightBase400}}:host([control-size='large']) .root{height:40px;gap:${spacingHorizontalS};padding:0 ${spacingHorizontalM}}:host([control-size='large']) ::slotted([slot='start']),:host([control-size='large']) ::slotted([slot='end']){font-size:${fontSizeBase600}}:host([appearance='underline']) .root{background:${colorTransparentBackground};border:0;border-radius:0;border-bottom:${strokeWidthThin} solid ${colorNeutralStrokeAccessible}}:host([appearance='underline']:hover) .root{border-bottom-color:${colorNeutralStrokeAccessibleHover}}:host([appearance='underline']:active) .root{border-bottom-color:${colorNeutralStrokeAccessiblePressed}}:host([appearance='underline']:focus-within) .root{border:0;border-bottom-color:${colorNeutralStrokeAccessiblePressed}}:host([appearance='underline'][disabled]) .root{border-bottom-color:${colorNeutralStrokeDisabled}}:host([appearance='filled-lighter']) .root,:host([appearance='filled-darker']) .root{border:${strokeWidthThin} solid ${colorTransparentStroke};box-shadow:${shadow2}}:host([appearance='filled-lighter']) .root{background:${colorNeutralBackground1}}:host([appearance='filled-darker']) .root{background:${colorNeutralBackground3}}:host([appearance='filled-lighter']:hover) .root,:host([appearance='filled-darker']:hover) .root{border-color:${colorTransparentStrokeInteractive}}:host([appearance='filled-lighter']:active) .root,:host([appearance='filled-darker']:active) .root{border-color:${colorTransparentStrokeInteractive};background:${colorNeutralBackground3}}`;
|
|
13514
13510
|
|
|
13515
13511
|
function textInputTemplate(options = {}) {
|
|
13516
|
-
return html`<template @
|
|
13512
|
+
return html`<template @keydown=${(x, c) => x.keydownHandler(c.event)}><label part=label for=control class=label ${ref("controlLabel")}><slot ${slotted("defaultSlottedNodes")}></slot></label><div class=root part=root>${startSlotTemplate(options)} <input class=control part=control id=control @change=${(x, c) => x.changeHandler(c.event)} @input=${(x, c) => x.inputHandler(c.event)} autocomplete=${(x) => x.autocomplete} ?disabled=${(x) => x.disabled} list=${(x) => x.list} maxlength=${(x) => x.maxlength} minlength=${(x) => x.minlength} ?multiple=${(x) => x.multiple} name=${(x) => x.name} pattern=${(x) => x.pattern} placeholder=${(x) => x.placeholder} ?readonly=${(x) => x.readOnly} ?required=${(x) => x.required} size=${(x) => x.size} spellcheck=${(x) => x.spellcheck} type=${(x) => x.type} value=${(x) => x.value} ${ref("control")}> ${endSlotTemplate(options)}</div></template>`;
|
|
13517
13513
|
}
|
|
13518
13514
|
const template$5 = textInputTemplate();
|
|
13519
13515
|
|
|
@@ -14215,6 +14211,7 @@ class BaseTreeItem extends FASTElement {
|
|
|
14215
14211
|
if (isTreeItem(this.parentElement)) {
|
|
14216
14212
|
this.slot || (this.slot = "item");
|
|
14217
14213
|
}
|
|
14214
|
+
maybeSetAutoFocus(this);
|
|
14218
14215
|
}
|
|
14219
14216
|
/**
|
|
14220
14217
|
* Handles changes to the expanded attribute
|