@fluentui/web-components 3.0.0-alpha.11 → 3.0.0-alpha.13

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.
Files changed (55) hide show
  1. package/CHANGELOG.json +37 -1
  2. package/CHANGELOG.md +21 -2
  3. package/dist/dts/button/button.d.ts +55 -0
  4. package/dist/dts/button/button.definition.d.ts +10 -0
  5. package/dist/dts/button/button.options.d.ts +46 -0
  6. package/dist/dts/button/button.styles.d.ts +1 -0
  7. package/dist/dts/button/button.template.d.ts +7 -0
  8. package/dist/dts/button/define.d.ts +1 -0
  9. package/dist/dts/button/index.d.ts +5 -0
  10. package/dist/dts/index.d.ts +2 -0
  11. package/dist/dts/progress-bar/progress-bar.styles.d.ts +1 -1
  12. package/dist/dts/slider/define.d.ts +1 -0
  13. package/dist/dts/slider/index.d.ts +5 -0
  14. package/dist/dts/slider/slider.d.ts +24 -0
  15. package/dist/dts/slider/slider.definition.d.ts +10 -0
  16. package/dist/dts/slider/slider.options.d.ts +15 -0
  17. package/dist/dts/slider/slider.styles.d.ts +4 -0
  18. package/dist/dts/slider/slider.template.d.ts +3 -0
  19. package/dist/esm/button/button.definition.js +21 -0
  20. package/dist/esm/button/button.definition.js.map +1 -0
  21. package/dist/esm/button/button.js +72 -0
  22. package/dist/esm/button/button.js.map +1 -0
  23. package/dist/esm/button/button.options.js +30 -0
  24. package/dist/esm/button/button.options.js.map +1 -0
  25. package/dist/esm/button/button.styles.js +253 -0
  26. package/dist/esm/button/button.styles.js.map +1 -0
  27. package/dist/esm/button/button.template.js +7 -0
  28. package/dist/esm/button/button.template.js.map +1 -0
  29. package/dist/esm/button/define.js +4 -0
  30. package/dist/esm/button/define.js.map +1 -0
  31. package/dist/esm/button/index.js +6 -0
  32. package/dist/esm/button/index.js.map +1 -0
  33. package/dist/esm/index.js +2 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  36. package/dist/esm/slider/define.js +4 -0
  37. package/dist/esm/slider/define.js.map +1 -0
  38. package/dist/esm/slider/index.js +6 -0
  39. package/dist/esm/slider/index.js.map +1 -0
  40. package/dist/esm/slider/slider.definition.js +18 -0
  41. package/dist/esm/slider/slider.definition.js.map +1 -0
  42. package/dist/esm/slider/slider.js +59 -0
  43. package/dist/esm/slider/slider.js.map +1 -0
  44. package/dist/esm/slider/slider.options.js +10 -0
  45. package/dist/esm/slider/slider.options.js.map +1 -0
  46. package/dist/esm/slider/slider.styles.js +186 -0
  47. package/dist/esm/slider/slider.styles.js.map +1 -0
  48. package/dist/esm/slider/slider.template.js +5 -0
  49. package/dist/esm/slider/slider.template.js.map +1 -0
  50. package/dist/fluent-web-components.api.json +1022 -80
  51. package/dist/web-components.d.ts +186 -1
  52. package/dist/web-components.js +939 -40
  53. package/dist/web-components.min.js +136 -128
  54. package/docs/api-report.md +93 -0
  55. package/package.json +14 -6
@@ -0,0 +1,253 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, colorBrandBackground, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackgroundDisabled, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorNeutralForeground2BrandPressed, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForegroundDisabled, colorNeutralForegroundOnBrand, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStrokeDisabled, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentStroke, curveEasyEase, durationFaster, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, lineHeightBase400, shadow2, shadow4, spacingHorizontalL, spacingHorizontalM, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, strokeWidthThick, strokeWidthThin, } from '../theme/design-tokens.js';
4
+ // Need to support icon hover styles
5
+ export const styles = css `
6
+ ${display('inline-flex')}
7
+
8
+ :host {
9
+ --icon-spacing: ${spacingHorizontalSNudge};
10
+ contain: layout style;
11
+ }
12
+
13
+ :host .control {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ box-sizing: border-box;
17
+ justify-content: center;
18
+ text-decoration-line: none;
19
+ margin: 0;
20
+ min-height: 32px;
21
+ outline-style: none;
22
+ background-color: ${colorNeutralBackground1};
23
+ color: ${colorNeutralForeground1};
24
+ border: ${strokeWidthThin} solid ${colorNeutralStroke1};
25
+ padding: 0 ${spacingHorizontalM};
26
+ min-width: 96px;
27
+ border-radius: ${borderRadiusMedium};
28
+ font-size: ${fontSizeBase300};
29
+ font-family: ${fontFamilyBase};
30
+ font-weight: ${fontWeightSemibold};
31
+ line-height: ${lineHeightBase300};
32
+ transition-duration: ${durationFaster};
33
+ transition-property: background, border, color;
34
+ transition-timing-function: ${curveEasyEase};
35
+ cursor: pointer;
36
+ }
37
+
38
+ .content {
39
+ display: inherit;
40
+ }
41
+
42
+ :host(:hover) .control {
43
+ background-color: ${colorNeutralBackground1Hover};
44
+ color: ${colorNeutralForeground1Hover};
45
+ border-color: ${colorNeutralStroke1Hover};
46
+ }
47
+
48
+ :host(:hover:active) .control {
49
+ background-color: ${colorNeutralBackground1Pressed};
50
+ border-color: ${colorNeutralStroke1Pressed};
51
+ color: ${colorNeutralForeground1Pressed};
52
+ outline-style: none;
53
+ }
54
+
55
+ :host .control:focus-visible {
56
+ border-color: ${colorTransparentStroke};
57
+ outline: ${strokeWidthThick} solid ${colorTransparentStroke};
58
+ box-shadow: ${shadow4}, 0 0 0 2px ${colorStrokeFocus2};
59
+ }
60
+
61
+ @media screen and (prefers-reduced-motion: reduce) {
62
+ transition-duration: 0.01ms;
63
+ }
64
+
65
+ ::slotted(svg) {
66
+ font-size: 20px;
67
+ height: 20px;
68
+ width: 20px;
69
+ fill: currentColor;
70
+ }
71
+
72
+ ::slotted([slot='start']) {
73
+ margin-inline-end: var(--icon-spacing);
74
+ }
75
+
76
+ ::slotted([slot='end']) {
77
+ margin-inline-start: var(--icon-spacing);
78
+ }
79
+
80
+ :host([icon-only]) .control {
81
+ min-width: 32px;
82
+ max-width: 32px;
83
+ }
84
+
85
+ :host([size='small']) {
86
+ --icon-spacing: ${spacingHorizontalXS};
87
+ }
88
+
89
+ :host([size='small']) .control {
90
+ min-height: 24px;
91
+ min-width: 64px;
92
+ padding: 0 ${spacingHorizontalS};
93
+ border-radius: ${borderRadiusSmall};
94
+ font-size: ${fontSizeBase200};
95
+ line-height: ${lineHeightBase200};
96
+ font-weight: ${fontWeightRegular};
97
+ }
98
+
99
+ :host([size='small'][icon-only]) .control {
100
+ min-width: 24px;
101
+ max-width: 24px;
102
+ }
103
+
104
+ :host([size='large']) .control {
105
+ min-height: 40px;
106
+ border-radius: ${borderRadiusLarge};
107
+ padding: 0 ${spacingHorizontalL};
108
+ font-size: ${fontSizeBase400};
109
+ line-height: ${lineHeightBase400};
110
+ }
111
+
112
+ :host([size='large'][icon-only]) .control {
113
+ min-width: 40px;
114
+ max-width: 40px;
115
+ }
116
+
117
+ :host([size='large']) ::slotted(svg) {
118
+ font-size: 24px;
119
+ height: 24px;
120
+ width: 24px;
121
+ }
122
+
123
+ :host([shape='circular']) .control,
124
+ :host([shape='circular']) .control:focus-visible {
125
+ border-radius: ${borderRadiusCircular};
126
+ }
127
+
128
+ :host([shape='square']) .control,
129
+ :host([shape='square']) .control:focus-visible {
130
+ border-radius: ${borderRadiusNone};
131
+ }
132
+
133
+ :host([appearance='primary']) .control {
134
+ background-color: ${colorBrandBackground};
135
+ color: ${colorNeutralForegroundOnBrand};
136
+ border-color: transparent;
137
+ }
138
+
139
+ :host([appearance='primary']:hover) .control {
140
+ background-color: ${colorBrandBackgroundHover};
141
+ }
142
+
143
+ :host([appearance='primary']:hover) .control,
144
+ :host([appearance='primary']:hover:active) .control {
145
+ border-color: transparent;
146
+ color: ${colorNeutralForegroundOnBrand};
147
+ }
148
+
149
+ :host([appearance='primary']:hover:active) .control {
150
+ background-color: ${colorBrandBackgroundPressed};
151
+ }
152
+
153
+ :host([appearance='primary']) .control:focus-visible {
154
+ border-color: ${colorNeutralForegroundOnBrand};
155
+ box-shadow: ${shadow2}, 0 0 0 2px ${colorStrokeFocus2};
156
+ }
157
+
158
+ :host(is:([disabled][appearance='primary'], [disabled-focusabale][appearance="primary"])) .control,
159
+ :host(is:([disabled][appearance='primary'], [disabled-focusabale][appearance="primary"]):hover) .control,
160
+ :host(is:([disabled][appearance='primary'], [disabled-focusabale][appearance="primary"]):hover:active) .control {
161
+ border-color: transparent;
162
+ }
163
+
164
+ :host([appearance='outline']) .control {
165
+ background-color: ${colorTransparentBackground};
166
+ }
167
+
168
+ :host([appearance='outline']:hover) .control {
169
+ background-color: ${colorTransparentBackgroundHover};
170
+ }
171
+
172
+ :host([appearance='outline']:hover:active) .control {
173
+ background-color: ${colorTransparentBackgroundPressed};
174
+ }
175
+
176
+ :host(is:([disabled][appearance='outline'], [disabled-focusabale][appearance="outline"])) .control,
177
+ :host(is:([disabled][appearance='outline'], [disabled-focusabale][appearance="outline"]):hover) .control,
178
+ :host(is:([disabled][appearance='outline'], [disabled-focusabale][appearance="outline"]):hover:active) .control {
179
+ background-color: ${colorTransparentBackground};
180
+ }
181
+
182
+ :host([appearance='subtle']) .control {
183
+ background-color: ${colorSubtleBackground};
184
+ color: ${colorNeutralForeground2};
185
+ border-color: transparent;
186
+ }
187
+
188
+ :host([appearance='subtle']:hover) .control {
189
+ background-color: ${colorSubtleBackgroundHover};
190
+ color: ${colorNeutralForeground2Hover};
191
+ border-color: transparent;
192
+ }
193
+
194
+ :host([appearance='subtle']:hover:active) .control {
195
+ background-color: ${colorSubtleBackgroundPressed};
196
+ color: ${colorNeutralForeground2Pressed};
197
+ border-color: transparent;
198
+ }
199
+
200
+ :host(is:([disabled][appearance='subtle'], [disabled-focusabale][appearance="subtle"])) .control,
201
+ :host(is:([disabled][appearance='subtle'], [disabled-focusabale][appearance="subtle"]):hover) .control,
202
+ :host(is:([disabled][appearance='subtle'], [disabled-focusabale][appearance="subtle"]):hover:active) .control {
203
+ background-color: ${colorTransparentBackground};
204
+ border-color: transparent;
205
+ }
206
+
207
+ :host([appearance='subtle']:hover) ::slotted(svg) {
208
+ fill: ${colorNeutralForeground2BrandHover};
209
+ }
210
+
211
+ :host([appearance='subtle']:hover:active) ::slotted(svg) {
212
+ fill: ${colorNeutralForeground2BrandPressed};
213
+ }
214
+
215
+ :host([appearance='transparent']) .control {
216
+ background-color: ${colorTransparentBackground};
217
+ color: ${colorNeutralForeground2};
218
+ }
219
+
220
+ :host([appearance='transparent']:hover) .control {
221
+ background-color: ${colorTransparentBackgroundHover};
222
+ color: ${colorNeutralForeground2BrandHover};
223
+ }
224
+
225
+ :host([appearance='transparent']:hover:active) .control {
226
+ background-color: ${colorTransparentBackgroundPressed};
227
+ color: ${colorNeutralForeground2BrandPressed};
228
+ }
229
+
230
+ :host([appearance='transparent']) .control,
231
+ :host([appearance='transparent']:hover) .control,
232
+ :host([appearance='transparent']:hover:active) .control {
233
+ border-color: transparent;
234
+ }
235
+
236
+ :host(is:([disabled][appearance='transparent'], [disabled-focusabale][appearance="transparent"])) .control,
237
+ :host(is:([disabled][appearance='transparent'], [disabled-focusabale][appearance="transparent"]):hover) .control,
238
+ :host(is:([disabled][appearance='transparent'], [disabled-focusabale][appearance="transparent"]):hover:active) .control {
239
+ border-color: transparent;
240
+ background-color: ${colorTransparentBackground};
241
+ }
242
+
243
+ :host(:is([disabled], [disabled-focusable], [appearance][disabled], [appearance][disabled-focusable])) .control,
244
+ :host(:is([disabled], [disabled-focusable], [appearance][disabled], [appearance][disabled-focusable]):hover) .control,
245
+ :host(:is([disabled], [disabled-focusable], [appearance][disabled], [appearance][disabled-focusable]):hover:active)
246
+ .control {
247
+ background-color: ${colorNeutralBackgroundDisabled};
248
+ border-color: ${colorNeutralStrokeDisabled};
249
+ color: ${colorNeutralForegroundDisabled};
250
+ cursor: not-allowed;
251
+ }
252
+ `;
253
+ //# sourceMappingURL=button.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../../src/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,iCAAiC,EACjC,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,+BAA+B,EAC/B,iCAAiC,EACjC,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,oCAAoC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,aAAa,CAAC;;;sBAGJ,uBAAuB;;;;;;;;;;;;;wBAarB,uBAAuB;aAClC,uBAAuB;cACtB,eAAe,UAAU,mBAAmB;iBACzC,kBAAkB;;qBAEd,kBAAkB;iBACtB,eAAe;mBACb,cAAc;mBACd,kBAAkB;mBAClB,iBAAiB;2BACT,cAAc;;kCAEP,aAAa;;;;;;;;;wBASvB,4BAA4B;aACvC,4BAA4B;oBACrB,wBAAwB;;;;wBAIpB,8BAA8B;oBAClC,0BAA0B;aACjC,8BAA8B;;;;;oBAKvB,sBAAsB;eAC3B,gBAAgB,UAAU,sBAAsB;kBAC7C,OAAO,eAAe,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4BnC,mBAAmB;;;;;;iBAMxB,kBAAkB;qBACd,iBAAiB;iBACrB,eAAe;mBACb,iBAAiB;mBACjB,iBAAiB;;;;;;;;;;qBAUf,iBAAiB;iBACrB,kBAAkB;iBAClB,eAAe;mBACb,iBAAiB;;;;;;;;;;;;;;;;qBAgBf,oBAAoB;;;;;qBAKpB,gBAAgB;;;;wBAIb,oBAAoB;aAC/B,6BAA6B;;;;;wBAKlB,yBAAyB;;;;;;aAMpC,6BAA6B;;;;wBAIlB,2BAA2B;;;;oBAI/B,6BAA6B;kBAC/B,OAAO,eAAe,iBAAiB;;;;;;;;;;wBAUjC,0BAA0B;;;;wBAI1B,+BAA+B;;;;wBAI/B,iCAAiC;;;;;;wBAMjC,0BAA0B;;;;wBAI1B,qBAAqB;aAChC,uBAAuB;;;;;wBAKZ,0BAA0B;aACrC,4BAA4B;;;;;wBAKjB,4BAA4B;aACvC,8BAA8B;;;;;;;wBAOnB,0BAA0B;;;;;YAKtC,iCAAiC;;;;YAIjC,mCAAmC;;;;wBAIvB,0BAA0B;aACrC,uBAAuB;;;;wBAIZ,+BAA+B;aAC1C,iCAAiC;;;;wBAItB,iCAAiC;aAC5C,mCAAmC;;;;;;;;;;;;;wBAaxB,0BAA0B;;;;;;;wBAO1B,8BAA8B;oBAClC,0BAA0B;aACjC,8BAA8B;;;CAG1C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { buttonTemplate } from '@microsoft/fast-foundation';
2
+ /**
3
+ * The template for the Button component.
4
+ * @public
5
+ */
6
+ export const template = buttonTemplate();
7
+ //# sourceMappingURL=button.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.template.js","sourceRoot":"","sources":["../../../src/button/button.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './button.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/button/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './button.js';
2
+ export * from './button.options.js';
3
+ export { template as ButtonTemplate } from './button.template.js';
4
+ export { styles as ButtonStyles } from './button.styles.js';
5
+ export { definition as ButtonDefinition } from './button.definition.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -2,10 +2,12 @@ export * from './accordion/index.js';
2
2
  export * from './accordion-item/index.js';
3
3
  export * from './avatar/index.js';
4
4
  export * from './badge/index.js';
5
+ export * from './button/index.js';
5
6
  export * from './counter-badge/index.js';
6
7
  export * from './divider/index.js';
7
8
  export * from './image/index.js';
8
9
  export * from './progress-bar/index.js';
10
+ export * from './slider/index.js';
9
11
  export * from './spinner/index.js';
10
12
  export * from './switch/index.js';
11
13
  export * from './text/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kBAAkB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
3
  import { borderRadiusMedium, colorBrandBackground2, colorCompoundBrandBackground, colorNeutralBackground6, colorPaletteDarkOrangeBackground2, colorPaletteDarkOrangeBackground3, colorPaletteGreenBackground2, colorPaletteGreenBackground3, colorPaletteRedBackground2, colorPaletteRedBackground3, } from '../theme/design-tokens.js';
4
- /** Text styles
4
+ /** ProgressBar styles
5
5
  * @public
6
6
  */
7
7
  export const styles = css `
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './slider.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/slider/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './slider.js';
2
+ export * from './slider.options.js';
3
+ export { definition as SliderDefinition } from './slider.definition.js';
4
+ export { styles as SliderStyles } from './slider.styles.js';
5
+ export { template as SliderTemplate } from './slider.template.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/slider/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { Slider } from './slider.js';
3
+ import { styles } from './slider.styles.js';
4
+ import { template } from './slider.template.js';
5
+ /**
6
+ * The Fluent Slider Element.
7
+ *
8
+ *
9
+ * @public
10
+ * @remarks
11
+ * HTML Element: \<fluent-slider\>
12
+ */
13
+ export const definition = Slider.compose({
14
+ name: `${FluentDesignSystem.prefix}-slider`,
15
+ template,
16
+ styles,
17
+ });
18
+ //# sourceMappingURL=slider.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.definition.js","sourceRoot":"","sources":["../../../src/slider/slider.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IACvC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,SAAS;IAC3C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, css, Observable } from '@microsoft/fast-element';
3
+ import { FASTSlider } from '@microsoft/fast-foundation';
4
+ /**
5
+ * The base class used for constructing a fluent-slider custom element
6
+ * @public
7
+ */
8
+ export class Slider extends FASTSlider {
9
+ handleChange(source, propertyName) {
10
+ switch (propertyName) {
11
+ case 'min':
12
+ case 'max':
13
+ case 'step':
14
+ this.handleStepStyles();
15
+ break;
16
+ default:
17
+ break;
18
+ }
19
+ }
20
+ connectedCallback() {
21
+ super.connectedCallback();
22
+ Observable.getNotifier(this).subscribe(this, 'max');
23
+ Observable.getNotifier(this).subscribe(this, 'min');
24
+ Observable.getNotifier(this).subscribe(this, 'step');
25
+ this.handleStepStyles();
26
+ }
27
+ disconnectedCallback() {
28
+ super.disconnectedCallback();
29
+ Observable.getNotifier(this).unsubscribe(this, 'max');
30
+ Observable.getNotifier(this).unsubscribe(this, 'min');
31
+ Observable.getNotifier(this).unsubscribe(this, 'step');
32
+ }
33
+ /**
34
+ * Handles changes to step styling based on the step value
35
+ * NOTE: This function is not a changed callback, stepStyles is not observable
36
+ */
37
+ handleStepStyles() {
38
+ if (this.step) {
39
+ const totalSteps = (100 / Math.floor((this.max - this.min) / this.step));
40
+ if (this.stepStyles !== undefined) {
41
+ this.$fastController.removeStyles(this.stepStyles);
42
+ }
43
+ this.stepStyles = css /**css*/ `
44
+ :host {
45
+ --step-rate: ${totalSteps}%;
46
+ color: blue;
47
+ }
48
+ `;
49
+ this.$fastController.addStyles(this.stepStyles);
50
+ }
51
+ else if (this.stepStyles !== undefined) {
52
+ this.$fastController.removeStyles(this.stepStyles);
53
+ }
54
+ }
55
+ }
56
+ __decorate([
57
+ attr
58
+ ], Slider.prototype, "size", void 0);
59
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/slider/slider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IAU7B,YAAY,CAAC,MAAW,EAAE,YAAoB;QACnD,QAAQ,YAAY,EAAE;YACpB,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAEM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,oBAAoB;QACzB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAID;;;OAGG;IACK,gBAAgB;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAQ,CAAC;YAEhF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA,QAAQ,CAAC;;yBAEX,UAAU;;;OAG5B,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjD;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACxC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpD;IACH,CAAC;CACF;AA1DC;IADC,IAAI;oCACoB"}
@@ -0,0 +1,10 @@
1
+ export { SliderOrientation } from '@microsoft/fast-foundation';
2
+ /**
3
+ * SliderSize Constants
4
+ * @public
5
+ */
6
+ export const SliderSize = {
7
+ small: 'small',
8
+ medium: 'medium',
9
+ };
10
+ //# sourceMappingURL=slider.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.options.js","sourceRoot":"","sources":["../../../src/slider/slider.options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -0,0 +1,186 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderRadiusCircular, borderRadiusMedium, borderRadiusSmall, colorBrandBackground, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorNeutralBackground1, colorNeutralBackgroundDisabled, colorNeutralForegroundDisabled, colorNeutralStroke1, colorNeutralStrokeAccessible, colorNeutralStrokeDisabled, colorStrokeFocus1, colorStrokeFocus2, } from '../theme/design-tokens.js';
4
+ /** Text styles
5
+ * @public
6
+ */
7
+ export const styles = css `
8
+ ${display('inline-grid')} :host {
9
+ --thumb-size: 18px;
10
+ --thumb-padding: 3px;
11
+ --thumb-translate: calc(var(--thumb-size) * -0.5 + var(--track-width) / 2);
12
+ --track-overhang: -2px;
13
+ --track-width: 4px;
14
+ --fast-slider-height: calc(var(--thumb-size) * 10);
15
+ --slider-direction: 90deg;
16
+ align-items: center;
17
+ box-sizing: border-box;
18
+ outline: none;
19
+ cursor: pointer;
20
+ user-select: none;
21
+ border-radius: ${borderRadiusSmall};
22
+ touch-action: pan-y;
23
+ min-width: calc(var(--thumb-size) * 1px);
24
+ width: 100%;
25
+ }
26
+
27
+ :host([size='small']) {
28
+ --thumb-size: 14px;
29
+ --track-width: 2px;
30
+ --thumb-padding: 3px;
31
+ }
32
+
33
+ :host([orientation='vertical']) {
34
+ --slider-direction: 0deg;
35
+ height: 160px;
36
+ min-height: var(--thumb-size);
37
+ touch-action: pan-x;
38
+ padding: 8px 0;
39
+ width: auto;
40
+ min-width: auto;
41
+ }
42
+
43
+ :host([disabled]:hover) {
44
+ cursor: initial;
45
+ }
46
+
47
+ :host(:focus-visible) {
48
+ box-shadow: 0 0 0 2pt ${colorStrokeFocus2};
49
+ outline: 1px solid ${colorStrokeFocus1};
50
+ }
51
+
52
+ .thumb-cursor:focus {
53
+ outline: 0;
54
+ }
55
+
56
+ /* Thumb Container and Cursor */
57
+ .thumb-container {
58
+ position: absolute;
59
+ height: var(--thumb-size);
60
+ width: var(--thumb-size);
61
+ transition: all 0.2s ease;
62
+ }
63
+
64
+ .thumb-container {
65
+ transform: translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.5));
66
+ }
67
+
68
+ :host([size='small']) .thumb-container {
69
+ transform: translateX(calc(var(--thumb-size) * 0.5)) translateY(calc(var(--thumb-translate) * -1.35));
70
+ }
71
+
72
+ :host([orientation='vertical']) .thumb-container {
73
+ transform: translateX(calc(var(--thumb-translate) * -1.5)) translateY(calc(var(--thumb-size) * -0.5));
74
+ }
75
+
76
+ :host([orientation='vertical'][size='small']) .thumb-container {
77
+ transform: translateX(calc(var(--thumb-translate) * -1.35)) translateY(calc(var(--thumb-size) * -0.5));
78
+ }
79
+
80
+ .thumb-cursor {
81
+ height: var(--thumb-size);
82
+ width: var(--thumb-size);
83
+ background-color: ${colorBrandBackground};
84
+ border-radius: ${borderRadiusCircular};
85
+ box-shadow: inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1}, 0 0 0 1px ${colorNeutralStroke1};
86
+ }
87
+ .thumb-cursor:hover {
88
+ background-color: ${colorCompoundBrandBackgroundHover};
89
+ }
90
+ .thumb-cursor:active {
91
+ background-color: ${colorCompoundBrandBackgroundPressed};
92
+ }
93
+ :host([disabled]) .thumb-cursor {
94
+ background-color: ${colorNeutralForegroundDisabled};
95
+ box-shadow: inset 0 0 0 var(--thumb-padding) ${colorNeutralBackground1}, 0 0 0 1px ${colorNeutralStrokeDisabled};
96
+ }
97
+
98
+ /* Positioning Region */
99
+ .positioning-region {
100
+ position: relative;
101
+ display: grid;
102
+ }
103
+
104
+ :host([orientation='horizontal']) .positioning-region {
105
+ margin: 0 8px;
106
+ grid-template-rows: var(--thumb-size) var(--thumb-size);
107
+ }
108
+ :host([orientation='vertical']) .positioning-region {
109
+ margin: 8px 0;
110
+ height: 100%;
111
+ grid-template-columns: var(--thumb-size) var(--thumb-size);
112
+ }
113
+
114
+ /* Track */
115
+ .track {
116
+ align-self: start;
117
+ position: absolute;
118
+ background-color: ${colorNeutralStrokeAccessible};
119
+ border-radius: ${borderRadiusMedium};
120
+ overflow: hidden;
121
+ }
122
+
123
+ :host([step]) .track::after {
124
+ content: '';
125
+ position: absolute;
126
+ border-radius: ${borderRadiusMedium};
127
+ width: 100%;
128
+ inset: 0 2px;
129
+ background-image: repeating-linear-gradient(
130
+ var(--slider-direction),
131
+ #0000 0%,
132
+ #0000 calc(var(--step-rate) - 1px),
133
+ ${colorNeutralBackground1} calc(var(--step-rate) - 1px),
134
+ ${colorNeutralBackground1} var(--step-rate)
135
+ );
136
+ }
137
+
138
+ :host([orientation='vertical'][step]) .track::after {
139
+ inset: -2px 0;
140
+ }
141
+
142
+ :host([disabled]) .track {
143
+ background-color: ${colorNeutralBackgroundDisabled};
144
+ }
145
+
146
+ :host([orientation='horizontal']) .track {
147
+ right: var(--track-overhang);
148
+ left: var(--track-overhang);
149
+ align-self: start;
150
+ height: var(--track-width);
151
+ grid-row: 2 / auto;
152
+ }
153
+
154
+ :host([orientation='vertical']) .track {
155
+ top: var(--track-overhang);
156
+ bottom: var(--track-overhang);
157
+ width: var(--track-width);
158
+ height: 100%;
159
+ grid-column: 2 / auto;
160
+ }
161
+ .track-start {
162
+ background-color: ${colorCompoundBrandBackground};
163
+ position: absolute;
164
+ height: 100%;
165
+ left: 0;
166
+ border-radius: ${borderRadiusMedium};
167
+ }
168
+ :host([disabled]) .track-start {
169
+ background-color: ${colorNeutralForegroundDisabled};
170
+ }
171
+ :host(:hover) .track-start {
172
+ background-color: ${colorCompoundBrandBackgroundHover};
173
+ }
174
+ :host([disabled]:hover) .track-start {
175
+ background-color: ${colorNeutralForegroundDisabled};
176
+ }
177
+ .track-start:active {
178
+ background-color: ${colorCompoundBrandBackgroundPressed};
179
+ }
180
+ :host([orientation='vertical']) .track-start {
181
+ height: auto;
182
+ width: 100%;
183
+ bottom: 0;
184
+ }
185
+ `;
186
+ //# sourceMappingURL=slider.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.styles.js","sourceRoot":"","sources":["../../../src/slider/slider.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;qBAaL,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BV,iBAAiB;yBACpB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAkClB,oBAAoB;qBACvB,oBAAoB;mDACU,uBAAuB,eAAe,mBAAmB;;;wBAGpF,iCAAiC;;;wBAGjC,mCAAmC;;;wBAGnC,8BAA8B;mDACH,uBAAuB,eAAe,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;wBAuB3F,4BAA4B;qBAC/B,kBAAkB;;;;;;;qBAOlB,kBAAkB;;;;;;;QAO/B,uBAAuB;QACvB,uBAAuB;;;;;;;;;wBASP,8BAA8B;;;;;;;;;;;;;;;;;;;wBAmB9B,4BAA4B;;;;qBAI/B,kBAAkB;;;wBAGf,8BAA8B;;;wBAG9B,iCAAiC;;;wBAGjC,8BAA8B;;;wBAG9B,mCAAmC;;;;;;;CAO1D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { sliderTemplate } from '@microsoft/fast-foundation';
2
+ export const template = sliderTemplate({
3
+ thumb: `<div class="thumb-cursor" tabindex="0"></div>`,
4
+ });
5
+ //# sourceMappingURL=slider.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.template.js","sourceRoot":"","sources":["../../../src/slider/slider.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAoC,cAAc,CAAC;IACtE,KAAK,EAAE,+CAA+C;CACvD,CAAC,CAAC"}