@fluentui/web-components 3.0.0-beta.24 → 3.0.0-beta.26
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 +23 -2
- package/dist/dts/checkbox/checkbox.d.ts +258 -32
- package/dist/dts/checkbox/checkbox.options.d.ts +13 -10
- package/dist/dts/checkbox/checkbox.template.d.ts +3 -2
- package/dist/dts/checkbox/index.d.ts +2 -2
- package/dist/dts/field/define.d.ts +1 -0
- package/dist/dts/field/field.bench.d.ts +3 -0
- package/dist/dts/field/field.d.ts +99 -0
- package/dist/dts/field/field.definition.d.ts +9 -0
- package/dist/dts/field/field.options.d.ts +41 -0
- package/dist/dts/field/field.styles.d.ts +6 -0
- package/dist/dts/field/field.template.d.ts +6 -0
- package/dist/dts/field/index.d.ts +6 -0
- package/dist/dts/index-rollup.d.ts +1 -0
- package/dist/dts/index.d.ts +2 -0
- package/dist/dts/switch/switch.d.ts +2 -39
- package/dist/dts/text-input/text-input.d.ts +50 -8
- package/dist/dts/utils/element-internals.d.ts +20 -0
- package/dist/esm/checkbox/checkbox.definition.js +1 -1
- package/dist/esm/checkbox/checkbox.definition.js.map +1 -1
- package/dist/esm/checkbox/checkbox.js +346 -41
- package/dist/esm/checkbox/checkbox.js.map +1 -1
- package/dist/esm/checkbox/checkbox.options.js +0 -8
- package/dist/esm/checkbox/checkbox.options.js.map +1 -1
- package/dist/esm/checkbox/checkbox.styles.js +145 -123
- package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
- package/dist/esm/checkbox/checkbox.template.js +23 -34
- package/dist/esm/checkbox/checkbox.template.js.map +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/checkbox/index.js.map +1 -1
- package/dist/esm/dialog/dialog.styles.js +9 -2
- package/dist/esm/dialog/dialog.styles.js.map +1 -1
- package/dist/esm/field/define.js +4 -0
- package/dist/esm/field/define.js.map +1 -0
- package/dist/esm/field/field.bench.js +10 -0
- package/dist/esm/field/field.bench.js.map +1 -0
- package/dist/esm/field/field.definition.js +20 -0
- package/dist/esm/field/field.definition.js.map +1 -0
- package/dist/esm/field/field.js +139 -0
- package/dist/esm/field/field.js.map +1 -0
- package/dist/esm/field/field.options.js +27 -0
- package/dist/esm/field/field.options.js.map +1 -0
- package/dist/esm/field/field.styles.js +186 -0
- package/dist/esm/field/field.styles.js.map +1 -0
- package/dist/esm/field/field.template.js +26 -0
- package/dist/esm/field/field.template.js.map +1 -0
- package/dist/esm/field/index.js +6 -0
- package/dist/esm/field/index.js.map +1 -0
- package/dist/esm/index-rollup.js +1 -0
- package/dist/esm/index-rollup.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/label.styles.js +12 -5
- package/dist/esm/label/label.styles.js.map +1 -1
- package/dist/esm/switch/switch.js +2 -52
- package/dist/esm/switch/switch.js.map +1 -1
- package/dist/esm/switch/switch.styles.js +34 -55
- package/dist/esm/switch/switch.styles.js.map +1 -1
- package/dist/esm/switch/switch.template.js +6 -16
- package/dist/esm/switch/switch.template.js.map +1 -1
- package/dist/esm/text/text.styles.js +48 -24
- package/dist/esm/text/text.styles.js.map +1 -1
- package/dist/esm/text-input/text-input.definition.js +3 -0
- package/dist/esm/text-input/text-input.definition.js.map +1 -1
- package/dist/esm/text-input/text-input.js +78 -20
- package/dist/esm/text-input/text-input.js.map +1 -1
- package/dist/esm/text-input/text-input.styles.js +14 -9
- package/dist/esm/text-input/text-input.styles.js.map +1 -1
- package/dist/esm/text-input/text-input.template.js +39 -33
- package/dist/esm/text-input/text-input.template.js.map +1 -1
- package/dist/esm/theme/set-theme.js +10 -5
- package/dist/esm/theme/set-theme.js.map +1 -1
- package/dist/esm/utils/element-internals.js +32 -0
- package/dist/esm/utils/element-internals.js.map +1 -0
- package/dist/web-components.d.ts +506 -138
- package/dist/web-components.js +2264 -1692
- package/dist/web-components.min.js +243 -238
- package/package.json +1 -1
- package/dist/dts/checkbox/checkbox.form-associated.d.ts +0 -14
- package/dist/esm/checkbox/checkbox.form-associated.js +0 -14
- package/dist/esm/checkbox/checkbox.form-associated.js.map +0 -1
|
@@ -1,164 +1,186 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { borderRadiusCircular, borderRadiusMedium, borderRadiusSmall, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorCompoundBrandStroke, colorCompoundBrandStrokeHover, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackgroundDisabled, colorNeutralForegroundInverted, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeDisabled, colorStrokeFocus2, colorTransparentStroke, strokeWidthThick, strokeWidthThin, } from '../theme/design-tokens.js';
|
|
3
|
+
import { forcedColorsStylesheetBehavior } from '../utils/behaviors/match-media-stylesheet-behavior.js';
|
|
4
|
+
import { display } from '../utils/display.js';
|
|
5
|
+
/**
|
|
6
|
+
* Selector for the `checked` state.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
const checkedState = css.partial `:is([state--checked], :state(checked))`;
|
|
10
|
+
/**
|
|
11
|
+
* Selector for the `indeterminate` state.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
const indeterminateState = css.partial `:is([state--indeterminate], :state(indeterminate))`;
|
|
4
15
|
/** Checkbox styles
|
|
5
16
|
*
|
|
6
17
|
* @public
|
|
7
18
|
*/
|
|
8
19
|
export const styles = css `
|
|
9
20
|
${display('inline-flex')}
|
|
21
|
+
|
|
10
22
|
:host {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
23
|
+
--size: 16px;
|
|
24
|
+
background-color: ${colorNeutralBackground1};
|
|
25
|
+
border-radius: ${borderRadiusSmall};
|
|
26
|
+
border: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};
|
|
27
|
+
box-sizing: border-box;
|
|
15
28
|
cursor: pointer;
|
|
16
|
-
font-family: ${fontFamilyBase};
|
|
17
|
-
font-size: ${fontSizeBase300};
|
|
18
|
-
line-height: ${lineHeightBase300};
|
|
19
|
-
color: ${colorNeutralForeground3};
|
|
20
29
|
position: relative;
|
|
30
|
+
width: var(--size);
|
|
21
31
|
}
|
|
22
32
|
|
|
23
|
-
:host
|
|
24
|
-
|
|
25
|
-
position: absolute;
|
|
26
|
-
inset: 0px;
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
border-radius: ${borderRadiusMedium};
|
|
29
|
-
outline: none;
|
|
30
|
-
border: 2px solid ${colorStrokeFocus1};
|
|
31
|
-
box-shadow: inset 0 0 0 1px ${colorStrokeFocus2};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.control {
|
|
35
|
-
position: relative;
|
|
36
|
-
box-sizing: border-box;
|
|
37
|
-
display: flex;
|
|
38
|
-
flex-shrink: 0;
|
|
39
|
-
align-items: center;
|
|
40
|
-
justify-content: center;
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
margin: ${spacingVerticalS} ${spacingHorizontalS};
|
|
43
|
-
fill: currentcolor;
|
|
44
|
-
height: 16px;
|
|
45
|
-
width: 16px;
|
|
46
|
-
border: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};
|
|
47
|
-
border-radius: ${borderRadiusSmall};
|
|
48
|
-
outline: none;
|
|
49
|
-
}
|
|
50
|
-
.label {
|
|
51
|
-
align-self: center;
|
|
52
|
-
cursor: inherit;
|
|
53
|
-
padding-inline: ${spacingHorizontalS};
|
|
54
|
-
padding-bottom: ${spacingVerticalS};
|
|
55
|
-
padding-top: ${spacingVerticalS};
|
|
56
|
-
}
|
|
57
|
-
.label__hidden {
|
|
58
|
-
display: none;
|
|
59
|
-
visibility: hidden;
|
|
60
|
-
}
|
|
33
|
+
:host,
|
|
34
|
+
.indeterminate-indicator,
|
|
61
35
|
.checked-indicator {
|
|
62
|
-
|
|
63
|
-
align-items: center;
|
|
64
|
-
justify-content: center;
|
|
65
|
-
color: ${colorNeutralForegroundInverted};
|
|
66
|
-
font-size: 12px;
|
|
67
|
-
margin: auto;
|
|
68
|
-
opacity: 0;
|
|
69
|
-
}
|
|
70
|
-
.indeterminate-indicator {
|
|
71
|
-
position: absolute;
|
|
72
|
-
width: 8px;
|
|
73
|
-
height: 8px;
|
|
74
|
-
border-radius: ${borderRadiusSmall};
|
|
75
|
-
background-color: ${colorCompoundBrandForeground1};
|
|
76
|
-
opacity: 0;
|
|
36
|
+
aspect-ratio: 1;
|
|
77
37
|
}
|
|
38
|
+
|
|
78
39
|
:host(:hover) {
|
|
79
|
-
color: ${colorNeutralForeground2};
|
|
80
|
-
}
|
|
81
|
-
:host(:hover) .control {
|
|
82
40
|
border-color: ${colorNeutralStrokeAccessibleHover};
|
|
83
41
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
:host(:active) .control {
|
|
42
|
+
|
|
43
|
+
:host(:active) {
|
|
88
44
|
border-color: ${colorNeutralStrokeAccessiblePressed};
|
|
89
45
|
}
|
|
90
|
-
|
|
91
|
-
|
|
46
|
+
|
|
47
|
+
:host(${checkedState}:hover) {
|
|
48
|
+
background-color: ${colorCompoundBrandBackgroundHover};
|
|
49
|
+
border-color: ${colorCompoundBrandStrokeHover};
|
|
92
50
|
}
|
|
93
|
-
|
|
94
|
-
:host(
|
|
95
|
-
|
|
96
|
-
color: ${
|
|
51
|
+
|
|
52
|
+
:host(${checkedState}:active) {
|
|
53
|
+
background-color: ${colorCompoundBrandBackgroundPressed};
|
|
54
|
+
border-color: ${colorCompoundBrandStrokePressed};
|
|
97
55
|
}
|
|
98
|
-
|
|
99
|
-
|
|
56
|
+
|
|
57
|
+
:host(:focus-visible) {
|
|
58
|
+
outline: none;
|
|
100
59
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
60
|
+
|
|
61
|
+
:host(:not([slot='input']))::after {
|
|
62
|
+
content: '';
|
|
63
|
+
position: absolute;
|
|
64
|
+
inset: -8px;
|
|
65
|
+
box-sizing: border-box;
|
|
66
|
+
outline: none;
|
|
67
|
+
border: ${strokeWidthThick} solid ${colorTransparentStroke};
|
|
68
|
+
border-radius: ${borderRadiusMedium};
|
|
104
69
|
}
|
|
105
|
-
|
|
106
|
-
|
|
70
|
+
|
|
71
|
+
:host(:not([slot='input']):focus-visible)::after {
|
|
72
|
+
border-color: ${colorStrokeFocus2};
|
|
107
73
|
}
|
|
108
|
-
|
|
109
|
-
|
|
74
|
+
|
|
75
|
+
.indeterminate-indicator,
|
|
76
|
+
.checked-indicator {
|
|
77
|
+
color: ${colorNeutralForegroundInverted};
|
|
78
|
+
inset: 0;
|
|
79
|
+
margin: auto;
|
|
80
|
+
position: absolute;
|
|
110
81
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
82
|
+
|
|
83
|
+
::slotted([slot='checked-indicator']),
|
|
84
|
+
.checked-indicator {
|
|
85
|
+
fill: currentColor;
|
|
86
|
+
display: inline-flex;
|
|
87
|
+
flex: 1 0 auto;
|
|
88
|
+
width: 12px;
|
|
114
89
|
}
|
|
115
|
-
|
|
116
|
-
:host([
|
|
117
|
-
|
|
90
|
+
|
|
91
|
+
:host(:not(${checkedState})) *:is(::slotted([slot='checked-indicator']), .checked-indicator) {
|
|
92
|
+
display: none;
|
|
118
93
|
}
|
|
119
|
-
|
|
120
|
-
:host(
|
|
121
|
-
|
|
94
|
+
|
|
95
|
+
:host(${checkedState}),
|
|
96
|
+
:host(${indeterminateState}) {
|
|
97
|
+
border-color: ${colorCompoundBrandStroke};
|
|
122
98
|
}
|
|
123
|
-
|
|
124
|
-
|
|
99
|
+
|
|
100
|
+
:host(${checkedState}),
|
|
101
|
+
:host(${indeterminateState}) .indeterminate-indicator {
|
|
102
|
+
background-color: ${colorCompoundBrandBackground};
|
|
125
103
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
104
|
+
|
|
105
|
+
:host(${indeterminateState}) .indeterminate-indicator {
|
|
106
|
+
border-radius: ${borderRadiusSmall};
|
|
107
|
+
position: absolute;
|
|
108
|
+
width: calc(var(--size) / 2);
|
|
109
|
+
inset: 0;
|
|
130
110
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
111
|
+
|
|
112
|
+
:host([size='large']) {
|
|
113
|
+
--size: 20px;
|
|
134
114
|
}
|
|
115
|
+
|
|
116
|
+
:host([size='large']) ::slotted([slot='checked-indicator']),
|
|
135
117
|
:host([size='large']) .checked-indicator {
|
|
136
|
-
|
|
137
|
-
height: 20px;
|
|
138
|
-
}
|
|
139
|
-
:host([aria-checked='mixed'][size='large']) .indeterminate-indicator {
|
|
140
|
-
height: 10px;
|
|
141
|
-
width: 10px;
|
|
118
|
+
width: 16px;
|
|
142
119
|
}
|
|
143
|
-
|
|
120
|
+
|
|
121
|
+
:host([shape='circular']),
|
|
144
122
|
:host([shape='circular']) .indeterminate-indicator {
|
|
145
123
|
border-radius: ${borderRadiusCircular};
|
|
146
124
|
}
|
|
147
|
-
|
|
148
|
-
:host([
|
|
149
|
-
:host([
|
|
150
|
-
background-color: ${
|
|
125
|
+
|
|
126
|
+
:host([disabled]),
|
|
127
|
+
:host([disabled]${checkedState}) {
|
|
128
|
+
background-color: ${colorNeutralBackgroundDisabled};
|
|
151
129
|
border-color: ${colorNeutralStrokeDisabled};
|
|
152
130
|
}
|
|
153
|
-
|
|
154
|
-
:host([disabled])
|
|
155
|
-
|
|
156
|
-
:host([aria-checked='mixed'][disabled]) .label,
|
|
157
|
-
:host([aria-checked='true'][disabled]) .label {
|
|
158
|
-
color: ${colorNeutralForegroundDisabled};
|
|
131
|
+
|
|
132
|
+
:host([disabled]) {
|
|
133
|
+
cursor: unset;
|
|
159
134
|
}
|
|
160
|
-
|
|
161
|
-
|
|
135
|
+
|
|
136
|
+
:host([disabled]${indeterminateState}) .indeterminate-indicator {
|
|
137
|
+
background-color: ${colorNeutralStrokeDisabled};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:host([disabled]${checkedState}) .checked-indicator {
|
|
141
|
+
color: ${colorNeutralStrokeDisabled};
|
|
162
142
|
}
|
|
163
|
-
|
|
143
|
+
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
144
|
+
:host {
|
|
145
|
+
border-color: FieldText;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
:host(:not([slot='input']:focus-visible))::after {
|
|
149
|
+
border-color: Canvas;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:host(:not([disabled]):hover),
|
|
153
|
+
:host(${checkedState}:not([disabled]):hover),
|
|
154
|
+
:host(:not([slot='input']):focus-visible)::after {
|
|
155
|
+
border-color: Highlight;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.indeterminate-indicator,
|
|
159
|
+
.checked-indicator {
|
|
160
|
+
color: HighlightText;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:host(${checkedState}),
|
|
164
|
+
:host(${indeterminateState}) .indeterminate-indicator {
|
|
165
|
+
background-color: FieldText;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
:host(${checkedState}:not([disabled]):hover),
|
|
169
|
+
:host(${indeterminateState}:not([disabled]):hover) .indeterminate-indicator {
|
|
170
|
+
background-color: Highlight;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
:host([disabled]) {
|
|
174
|
+
border-color: GrayText;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
:host([disabled]${indeterminateState}) .indeterminate-indicator {
|
|
178
|
+
background-color: GrayText;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:host([disabled]),
|
|
182
|
+
:host([disabled]${checkedState}) .checked-indicator {
|
|
183
|
+
color: GrayText;
|
|
184
|
+
}
|
|
185
|
+
`));
|
|
164
186
|
//# sourceMappingURL=checkbox.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.styles.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"checkbox.styles.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAA,wCAAwC,CAAC;AAEzE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAA,oDAAoD,CAAC;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,aAAa,CAAC;;;;wBAIF,uBAAuB;qBAC1B,iBAAiB;cACxB,eAAe,UAAU,4BAA4B;;;;;;;;;;;;;;oBAc/C,iCAAiC;;;;oBAIjC,mCAAmC;;;UAG7C,YAAY;wBACE,iCAAiC;oBACrC,6BAA6B;;;UAGvC,YAAY;wBACE,mCAAmC;oBACvC,+BAA+B;;;;;;;;;;;;;cAarC,gBAAgB,UAAU,sBAAsB;qBACzC,kBAAkB;;;;oBAInB,iBAAiB;;;;;aAKxB,8BAA8B;;;;;;;;;;;;;;eAc5B,YAAY;;;;UAIjB,YAAY;UACZ,kBAAkB;oBACR,wBAAwB;;;UAGlC,YAAY;UACZ,kBAAkB;wBACJ,4BAA4B;;;UAG1C,kBAAkB;qBACP,iBAAiB;;;;;;;;;;;;;;;;;qBAiBjB,oBAAoB;;;;oBAIrB,YAAY;wBACR,8BAA8B;oBAClC,0BAA0B;;;;;;;oBAO1B,kBAAkB;wBACd,0BAA0B;;;oBAG9B,YAAY;aACnB,0BAA0B;;CAEtC,CAAC,aAAa,CACb,8BAA8B,CAAC,GAAG,CAAA;;;;;;;;;;YAUxB,YAAY;;;;;;;;;;YAUZ,YAAY;YACZ,kBAAkB;;;;YAIlB,YAAY;YACZ,kBAAkB;;;;;;;;sBAQR,kBAAkB;;;;;sBAKlB,YAAY;;;GAG/B,CAAC,CACH,CAAC"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import { html
|
|
2
|
-
import { staticallyCompose } from '../utils/
|
|
3
|
-
const checkedIndicator = html.partial(`
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
</div>
|
|
1
|
+
import { html } from '@microsoft/fast-element';
|
|
2
|
+
import { staticallyCompose } from '../utils/template-helpers.js';
|
|
3
|
+
const checkedIndicator = html.partial(/* html */ `
|
|
4
|
+
<svg
|
|
5
|
+
fill="currentColor"
|
|
6
|
+
aria-hidden="true"
|
|
7
|
+
class="checked-indicator"
|
|
8
|
+
width="1em"
|
|
9
|
+
height="1em"
|
|
10
|
+
viewBox="0 0 12 12"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
12
|
+
<path d="M9.76 3.2c.3.29.32.76.04 1.06l-4.25 4.5a.75.75 0 0 1-1.08.02L2.22 6.53a.75.75 0 0 1 1.06-1.06l1.7 1.7L8.7 3.24a.75.75 0 0 1 1.06-.04Z" fill="currentColor"></path>
|
|
13
|
+
</svg>
|
|
15
14
|
`);
|
|
16
|
-
const indeterminateIndicator = html.partial(`
|
|
17
|
-
<
|
|
15
|
+
const indeterminateIndicator = html.partial(/* html */ `
|
|
16
|
+
<span class="indeterminate-indicator"></span>
|
|
18
17
|
`);
|
|
19
18
|
/**
|
|
20
19
|
* Template for the Checkbox component
|
|
@@ -23,24 +22,14 @@ const indeterminateIndicator = html.partial(`
|
|
|
23
22
|
export function checkboxTemplate(options = {}) {
|
|
24
23
|
return html `
|
|
25
24
|
<template
|
|
26
|
-
|
|
27
|
-
aria-checked="${x => (x.indeterminate ? 'mixed' : x.checked)}"
|
|
28
|
-
aria-required="${x => x.required}"
|
|
29
|
-
aria-disabled="${x => x.disabled}"
|
|
30
|
-
tabindex="${x => (x.disabled ? null : 0)}"
|
|
31
|
-
@keypress="${(x, c) => x.keypressHandler(c.event)}"
|
|
25
|
+
tabindex="${x => (!x.disabled ? 0 : void 0)}"
|
|
32
26
|
@click="${(x, c) => x.clickHandler(c.event)}"
|
|
27
|
+
@input="${(x, c) => x.inputHandler(c.event)}"
|
|
28
|
+
@keydown="${(x, c) => x.keydownHandler(c.event)}"
|
|
29
|
+
@keyup="${(x, c) => x.keyupHandler(c.event)}"
|
|
33
30
|
>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
<slot name="indeterminate-indicator"> ${staticallyCompose(options.indeterminateIndicator)} </slot>
|
|
37
|
-
</div>
|
|
38
|
-
<label
|
|
39
|
-
part="label"
|
|
40
|
-
class="${x => (x.defaultSlottedNodes && x.defaultSlottedNodes.length ? 'label' : 'label label__hidden')}"
|
|
41
|
-
>
|
|
42
|
-
<slot ${slotted('defaultSlottedNodes')}></slot>
|
|
43
|
-
</label>
|
|
31
|
+
<slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot>
|
|
32
|
+
<slot name="indeterminate-indicator">${staticallyCompose(options.indeterminateIndicator)}</slot>
|
|
44
33
|
</template>
|
|
45
34
|
`;
|
|
46
35
|
}
|
|
@@ -49,7 +38,7 @@ export function checkboxTemplate(options = {}) {
|
|
|
49
38
|
* @public
|
|
50
39
|
*/
|
|
51
40
|
export const template = checkboxTemplate({
|
|
52
|
-
checkedIndicator
|
|
53
|
-
indeterminateIndicator
|
|
41
|
+
checkedIndicator,
|
|
42
|
+
indeterminateIndicator,
|
|
54
43
|
});
|
|
55
44
|
//# sourceMappingURL=checkbox.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;CAWhD,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;CAEtD,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAqB,UAA2B,EAAE;IAChF,OAAO,IAAI,CAAG;;kBAEE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;gBAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAc,CAAC;kBACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;gBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAsB,CAAC;;uCAE3B,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC;6CACrC,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC;;GAE3F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAkC,gBAAgB,CAAC;IACtE,gBAAgB;IAChB,sBAAsB;CACvB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { definition as CheckboxDefinition } from './checkbox.definition.js';
|
|
2
2
|
export { Checkbox } from './checkbox.js';
|
|
3
|
-
export {
|
|
3
|
+
export { CheckboxShape, CheckboxSize } from './checkbox.options.js';
|
|
4
4
|
export { styles as CheckboxStyles } from './checkbox.styles.js';
|
|
5
5
|
export { template as CheckboxTemplate } from './checkbox.template.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { borderRadiusXLarge, colorBackgroundOverlay, colorNeutralBackground1, colorNeutralForeground1, colorTransparentStroke, curveAccelerateMid, curveDecelerateMid, curveLinear, durationGentle, shadow64, strokeWidthThin, } from '../theme/design-tokens.js';
|
|
3
|
+
import { forcedColorsStylesheetBehavior } from '../utils/behaviors/match-media-stylesheet-behavior.js';
|
|
3
4
|
/** Dialog styles
|
|
4
5
|
* @public
|
|
5
6
|
*/
|
|
@@ -17,7 +18,7 @@ export const styles = css `
|
|
|
17
18
|
dialog {
|
|
18
19
|
background: ${colorNeutralBackground1};
|
|
19
20
|
border-radius: ${borderRadiusXLarge};
|
|
20
|
-
border:
|
|
21
|
+
border: none;
|
|
21
22
|
box-shadow: ${shadow64};
|
|
22
23
|
color: ${colorNeutralForeground1};
|
|
23
24
|
max-height: calc(-48px + 100vh);
|
|
@@ -75,5 +76,11 @@ export const styles = css `
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
80
|
+
@layer base {
|
|
81
|
+
dialog {
|
|
82
|
+
border: ${strokeWidthThin} solid ${colorTransparentStroke};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
`));
|
|
79
86
|
//# sourceMappingURL=dialog.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.styles.js","sourceRoot":"","sources":["../../../src/dialog/dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"dialog.styles.js","sourceRoot":"","sources":["../../../src/dialog/dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;2BAGE,sBAAsB;;;;;;;;;oBAS7B,uBAAuB;uBACpB,kBAAkB;;oBAErB,QAAQ;eACb,uBAAuB;;;;;;;;;;;;;;;;;;;;;+BAqBP,cAAc;sCACP,kBAAkB;;;;;sCAKlB,WAAW;;;;;;;;;;;;;;sCAcX,kBAAkB;;;;;;;;;;;;;;;CAevD,CAAC,aAAa,CACb,8BAA8B,CAAC,GAAG,CAAA;;;kBAGlB,eAAe,UAAU,sBAAsB;;;GAG9D,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/field/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { definition } from './field.definition.js';
|
|
3
|
+
definition.define(FluentDesignSystem.registry);
|
|
4
|
+
const itemRenderer = () => {
|
|
5
|
+
const field = document.createElement('fluent-field');
|
|
6
|
+
return field;
|
|
7
|
+
};
|
|
8
|
+
export default itemRenderer;
|
|
9
|
+
export { tests } from '../utils/benchmark-wrapper.js';
|
|
10
|
+
//# sourceMappingURL=field.bench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.bench.js","sourceRoot":"","sources":["../../../src/field/field.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { Field } from './field.js';
|
|
3
|
+
import { styles } from './field.styles.js';
|
|
4
|
+
import { template } from './field.template.js';
|
|
5
|
+
/**
|
|
6
|
+
* The Fluent Field Element
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
* @remarks
|
|
10
|
+
* HTML Element: `<fluent-field>`
|
|
11
|
+
*/
|
|
12
|
+
export const definition = Field.compose({
|
|
13
|
+
name: `${FluentDesignSystem.prefix}-field`,
|
|
14
|
+
template,
|
|
15
|
+
styles,
|
|
16
|
+
shadowOptions: {
|
|
17
|
+
delegatesFocus: true,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=field.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.definition.js","sourceRoot":"","sources":["../../../src/field/field.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;IACtC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,QAAQ;IAC1C,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr, FASTElement, observable } from '@microsoft/fast-element';
|
|
3
|
+
import { toggleState } from '../utils/element-internals.js';
|
|
4
|
+
import { LabelPosition, ValidationFlags } from './field.options.js';
|
|
5
|
+
/**
|
|
6
|
+
* A Field Custom HTML Element.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export class Field extends FASTElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/**
|
|
14
|
+
* The position of the label relative to the input.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @remarks
|
|
18
|
+
* HTML Attribute: `label-position`
|
|
19
|
+
*/
|
|
20
|
+
this.labelPosition = LabelPosition.above;
|
|
21
|
+
/**
|
|
22
|
+
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
this.elementInternals = this.attachInternals();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Adds or removes the `invalid` event listener based on the presence of slotted message elements.
|
|
30
|
+
*
|
|
31
|
+
* @param prev - the previous list of slotted message elements
|
|
32
|
+
* @param next - the current list of slotted message elements
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
messageSlotChanged(prev, next) {
|
|
36
|
+
if (!next.length) {
|
|
37
|
+
this.removeEventListener('invalid', this.invalidHandler, { capture: true });
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.addEventListener('invalid', this.invalidHandler, { capture: true });
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Sets the `input` property to the first slotted input.
|
|
44
|
+
*
|
|
45
|
+
* @param prev - The previous collection of inputs.
|
|
46
|
+
* @param next - The current collection of inputs.
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
slottedInputsChanged(prev, next) {
|
|
50
|
+
this.input = next === null || next === void 0 ? void 0 : next[0];
|
|
51
|
+
if (this.input) {
|
|
52
|
+
this.setStates();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Calls the `setStates` method when a `change` event is emitted from the slotted input.
|
|
57
|
+
*
|
|
58
|
+
* @param e - the event object
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
changeHandler(e) {
|
|
62
|
+
this.setStates();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Redirects `click` events to the slotted input.
|
|
66
|
+
*
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
clickHandler(e) {
|
|
70
|
+
if (this.isSameNode(e.target)) {
|
|
71
|
+
this.input.focus();
|
|
72
|
+
this.input.click();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Applies the `focus-visible` state to the element when the slotted input receives visible focus.
|
|
79
|
+
*
|
|
80
|
+
* @param e - the focus event
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
focusinHandler(e) {
|
|
84
|
+
if (e.target.matches(':focus-visible')) {
|
|
85
|
+
toggleState(this.elementInternals, 'focus-visible', true);
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Removes the `focus-visible` state from the field when a slotted input loses focus.
|
|
91
|
+
*
|
|
92
|
+
* @param e - the focus event
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
focusoutHandler(e) {
|
|
96
|
+
toggleState(this.elementInternals, 'focus-visible', false);
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Toggles validity state flags on the element when the slotted input emits an `invalid` event (if slotted validation messages are present).
|
|
101
|
+
*
|
|
102
|
+
* @param e - the event object
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
invalidHandler(e) {
|
|
106
|
+
if (this.messageSlot.length) {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
}
|
|
109
|
+
this.setStates();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Toggles the field's states based on the slotted input.
|
|
113
|
+
*
|
|
114
|
+
* @internal
|
|
115
|
+
*/
|
|
116
|
+
setStates() {
|
|
117
|
+
if (this.$fastController.isConnected) {
|
|
118
|
+
toggleState(this.elementInternals, 'disabled', !!this.input.disabled);
|
|
119
|
+
toggleState(this.elementInternals, 'readonly', !!this.input.readOnly);
|
|
120
|
+
toggleState(this.elementInternals, 'required', !!this.input.required);
|
|
121
|
+
if (!this.input.validity) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
for (const [flag, value] of Object.entries(ValidationFlags)) {
|
|
125
|
+
toggleState(this.elementInternals, value, !!this.input.validity[flag]);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
__decorate([
|
|
131
|
+
attr({ attribute: 'label-position' })
|
|
132
|
+
], Field.prototype, "labelPosition", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
observable
|
|
135
|
+
], Field.prototype, "messageSlot", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
observable
|
|
138
|
+
], Field.prototype, "slottedInputs", void 0);
|
|
139
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/field/field.ts"],"names":[],"mappings":"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"}
|