@fluentui/web-components 3.0.0-alpha.4 → 3.0.0-alpha.6

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 (71) hide show
  1. package/CHANGELOG.json +61 -1
  2. package/CHANGELOG.md +20 -2
  3. package/dist/dts/accordion/accordion.d.ts +7 -0
  4. package/dist/dts/accordion/accordion.definition.d.ts +11 -0
  5. package/dist/dts/accordion/accordion.styles.d.ts +1 -0
  6. package/dist/dts/accordion/accordion.template.d.ts +3 -0
  7. package/dist/dts/accordion/define.d.ts +1 -0
  8. package/dist/dts/accordion/index.d.ts +4 -0
  9. package/dist/dts/accordion-item/accordion-item.d.ts +33 -0
  10. package/dist/dts/accordion-item/accordion-item.definition.d.ts +11 -0
  11. package/dist/dts/accordion-item/accordion-item.options.d.ts +27 -0
  12. package/dist/dts/accordion-item/accordion-item.styles.d.ts +1 -0
  13. package/dist/dts/accordion-item/accordion-item.template.d.ts +7 -0
  14. package/dist/dts/accordion-item/define.d.ts +1 -0
  15. package/dist/dts/accordion-item/index.d.ts +5 -0
  16. package/dist/dts/index.d.ts +3 -0
  17. package/dist/dts/switch/define.d.ts +1 -0
  18. package/dist/dts/switch/index.d.ts +5 -0
  19. package/dist/dts/switch/switch.d.ts +13 -0
  20. package/dist/dts/switch/switch.definition.d.ts +9 -0
  21. package/dist/dts/switch/switch.options.d.ts +15 -0
  22. package/dist/dts/switch/switch.styles.d.ts +1 -0
  23. package/dist/dts/switch/switch.template.d.ts +3 -0
  24. package/dist/esm/accordion/accordion.definition.js +19 -0
  25. package/dist/esm/accordion/accordion.definition.js.map +1 -0
  26. package/dist/esm/accordion/accordion.js +8 -0
  27. package/dist/esm/accordion/accordion.js.map +1 -0
  28. package/dist/esm/accordion/accordion.styles.js +11 -0
  29. package/dist/esm/accordion/accordion.styles.js.map +1 -0
  30. package/dist/esm/accordion/accordion.template.js +3 -0
  31. package/dist/esm/accordion/accordion.template.js.map +1 -0
  32. package/dist/esm/accordion/define.js +4 -0
  33. package/dist/esm/accordion/define.js.map +1 -0
  34. package/dist/esm/accordion/index.js +5 -0
  35. package/dist/esm/accordion/index.js.map +1 -0
  36. package/dist/esm/accordion-item/accordion-item.definition.js +19 -0
  37. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -0
  38. package/dist/esm/accordion-item/accordion-item.js +29 -0
  39. package/dist/esm/accordion-item/accordion-item.js.map +1 -0
  40. package/dist/esm/accordion-item/accordion-item.options.js +17 -0
  41. package/dist/esm/accordion-item/accordion-item.options.js.map +1 -0
  42. package/dist/esm/accordion-item/accordion-item.styles.js +197 -0
  43. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -0
  44. package/dist/esm/accordion-item/accordion-item.template.js +37 -0
  45. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -0
  46. package/dist/esm/accordion-item/define.js +4 -0
  47. package/dist/esm/accordion-item/define.js.map +1 -0
  48. package/dist/esm/accordion-item/index.js +6 -0
  49. package/dist/esm/accordion-item/index.js.map +1 -0
  50. package/dist/esm/index.js +3 -0
  51. package/dist/esm/index.js.map +1 -1
  52. package/dist/esm/switch/define.js +4 -0
  53. package/dist/esm/switch/define.js.map +1 -0
  54. package/dist/esm/switch/index.js +6 -0
  55. package/dist/esm/switch/index.js.map +1 -0
  56. package/dist/esm/switch/switch.definition.js +17 -0
  57. package/dist/esm/switch/switch.definition.js.map +1 -0
  58. package/dist/esm/switch/switch.js +9 -0
  59. package/dist/esm/switch/switch.js.map +1 -0
  60. package/dist/esm/switch/switch.options.js +10 -0
  61. package/dist/esm/switch/switch.options.js.map +1 -0
  62. package/dist/esm/switch/switch.styles.js +114 -0
  63. package/dist/esm/switch/switch.styles.js.map +1 -0
  64. package/dist/esm/switch/switch.template.js +5 -0
  65. package/dist/esm/switch/switch.template.js.map +1 -0
  66. package/dist/fluent-web-components.api.json +585 -0
  67. package/dist/web-components.d.ts +147 -0
  68. package/dist/web-components.js +1795 -601
  69. package/dist/web-components.min.js +122 -113
  70. package/docs/api-report.md +85 -0
  71. package/package.json +13 -1
@@ -0,0 +1,197 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderRadiusMedium, borderRadiusSmall, colorNeutralForeground1, colorNeutralForegroundDisabled, colorStrokeFocus1, colorStrokeFocus2, colorTransparentBackground, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontWeightRegular, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalS, } from '../theme/design-tokens.js';
4
+ export const styles = css `
5
+ ${display('block')}
6
+
7
+ :host {
8
+ max-width: fit-content;
9
+ }
10
+
11
+ .heading {
12
+ height: 44px;
13
+ display: grid;
14
+ position: relative;
15
+ vertical-align: middle;
16
+ padding-inline: ${spacingHorizontalM} ${spacingHorizontalMNudge};
17
+ border-radius: ${borderRadiusMedium};
18
+ font-family: ${fontFamilyBase};
19
+ font-size: ${fontSizeBase300};
20
+ font-weight: ${fontWeightRegular};
21
+ line-height: ${lineHeightBase300};
22
+ grid-template-columns: auto auto 1fr auto;
23
+ }
24
+
25
+ .heading-content {
26
+ height: 100%;
27
+ display: flex;
28
+ align-items: center;
29
+ }
30
+
31
+ .button {
32
+ box-sizing: border-box;
33
+ appearance: none;
34
+ border: none;
35
+ outline: none;
36
+ text-align: start;
37
+ cursor: pointer;
38
+ font-family: inherit;
39
+ height: 44px;
40
+ color: ${colorNeutralForeground1};
41
+ background: ${colorTransparentBackground};
42
+ line-height: ${lineHeightBase300};
43
+ height: auto;
44
+ padding: 0;
45
+ font-size: inherit;
46
+ grid-column: auto / span 2;
47
+ grid-row: 1;
48
+ }
49
+
50
+ .button::before {
51
+ content: '';
52
+ position: absolute;
53
+ inset: 0px;
54
+ cursor: pointer;
55
+ border-radius: ${borderRadiusSmall};
56
+ }
57
+
58
+ .icon {
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ pointer-events: none;
63
+ position: relative;
64
+ height: 100%;
65
+ padding-right: ${spacingHorizontalS};
66
+ grid-column: 1 / span 1;
67
+ grid-row: 1;
68
+ }
69
+
70
+ .region {
71
+ margin: 0 ${spacingHorizontalM};
72
+ }
73
+
74
+ ::slotted([slot='start']),
75
+ ::slotted([slot='end']) {
76
+ justify-content: center;
77
+ align-items: center;
78
+ padding-right: ${spacingHorizontalS};
79
+ grid-column: 2 / span 1;
80
+ grid-row: 1 / span 1;
81
+ }
82
+
83
+ button:focus-visible::after {
84
+ content: '';
85
+ position: absolute;
86
+ inset: 0px;
87
+ cursor: pointer;
88
+ border-radius: ${borderRadiusSmall};
89
+ outline: none;
90
+ border: 2px solid ${colorStrokeFocus1};
91
+ box-shadow: inset 0 0 0 1px ${colorStrokeFocus2};
92
+ }
93
+
94
+ /* --- Disabled attr styles --- */
95
+
96
+ :host([disabled]) .button {
97
+ color: ${colorNeutralForegroundDisabled};
98
+ }
99
+ :host([disabled]) svg {
100
+ filter: invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg) brightness(88%) contrast(87%);
101
+ }
102
+
103
+ /* --- Expanded attr styles --- */
104
+
105
+ :host([expanded]) .region {
106
+ display: block;
107
+ }
108
+
109
+ :host([expanded]) .default-collapsed-icon,
110
+ :host([expanded]) ::slotted([slot='collapsed-icon']),
111
+ :host(:not([expanded])) .default-expanded-icon,
112
+ :host(:not([expanded])) ::slotted([slot='expanded-icon']),
113
+ :host([expanded]) ::slotted([slot='end']),
114
+ ::slotted([slot='start']),
115
+ .region {
116
+ display: none;
117
+ }
118
+
119
+ :host([expanded]) ::slotted([slot='start']),
120
+ :host([expanded]) ::slotted([slot='expanded-icon']),
121
+ :host(:not([expanded])) ::slotted([slot='collapsed-icon']),
122
+ ::slotted([slot='end']) {
123
+ display: flex;
124
+ }
125
+
126
+ /* --- Appearance attr styles --- */
127
+
128
+ .heading {
129
+ font-size: ${fontSizeBase300};
130
+ line-height: ${lineHeightBase300};
131
+ }
132
+
133
+ :host([size='small']) .heading {
134
+ font-size: ${fontSizeBase200};
135
+ line-height: ${lineHeightBase200};
136
+ }
137
+
138
+ :host([size='large']) .heading {
139
+ font-size: ${fontSizeBase400};
140
+ line-height: ${lineHeightBase400};
141
+ }
142
+
143
+ :host([size='extra-large']) .heading {
144
+ font-size: ${fontSizeBase500};
145
+ line-height: ${lineHeightBase500};
146
+ }
147
+
148
+ /* --- expand-icon-position attr styles --- */
149
+
150
+ :host([expand-icon-position='end']) :slotted(span[slot='start']),
151
+ :host([expand-icon-position='end']) ::slotted(span[slot='end']) {
152
+ grid-column: 1 / span 1;
153
+ grid-row: 1;
154
+ }
155
+
156
+ :host([expand-icon-position='end']) ::slotted(span[slot='start']),
157
+ :host([expand-icon-position='end']) ::slotted(span[slot='end']) {
158
+ grid-column: 1 / span 1;
159
+ grid-row: 1;
160
+ }
161
+
162
+ :host([expand-icon-position='end']) .icon {
163
+ grid-column: 4 / span 1;
164
+ grid-row: 1;
165
+ display: flex;
166
+ padding-left: 10px;
167
+ padding-right: 0;
168
+ }
169
+
170
+ :host([expand-icon-position='end']) .button {
171
+ grid-column: 2 / span 3;
172
+ grid-row: 1;
173
+ }
174
+
175
+ /* --- Block attr styles --- */
176
+
177
+ :host([block]) {
178
+ max-width: 100%;
179
+ }
180
+
181
+ :host([expand-icon-position='end']) .heading {
182
+ grid-template-columns: auto auto 28px;
183
+ }
184
+
185
+ :host([expand-icon-position='end']) .icon {
186
+ grid-column: 5 / span 1;
187
+ }
188
+
189
+ :host([block][expand-icon-position='end']) .heading {
190
+ grid-template-columns: auto 1fr;
191
+ }
192
+
193
+ :host([block][expand-icon-position='end']) .icon {
194
+ grid-column: 5 / span 1;
195
+ }
196
+ `;
197
+ //# sourceMappingURL=accordion-item.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion-item.styles.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;sBAWE,kBAAkB,IAAI,uBAAuB;qBAC9C,kBAAkB;mBACpB,cAAc;iBAChB,eAAe;mBACb,iBAAiB;mBACjB,iBAAiB;;;;;;;;;;;;;;;;;;;aAmBvB,uBAAuB;kBAClB,0BAA0B;mBACzB,iBAAiB;;;;;;;;;;;;;qBAaf,iBAAiB;;;;;;;;;;qBAUjB,kBAAkB;;;;;;gBAMvB,kBAAkB;;;;;;;qBAOb,kBAAkB;;;;;;;;;;qBAUlB,iBAAiB;;wBAEd,iBAAiB;kCACP,iBAAiB;;;;;;aAMtC,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC1B,eAAe;mBACb,iBAAiB;;;;iBAInB,eAAe;mBACb,iBAAiB;;;;iBAInB,eAAe;mBACb,iBAAiB;;;;iBAInB,eAAe;mBACb,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { html } from '@microsoft/fast-element';
2
+ import { accordionItemTemplate } from '@microsoft/fast-foundation';
3
+ const chevronRight20Filled = html.partial(`<svg
4
+ width="20"
5
+ height="20"
6
+ viewBox="0 0 20 20"
7
+ fill="none"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ class="default-collapsed-icon"
10
+ >
11
+ <path
12
+ d="M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z"
13
+ fill="#212121"
14
+ />
15
+ </svg>`);
16
+ const chevronDown20Filled = html.partial(`<svg
17
+ width="20"
18
+ height="20"
19
+ viewBox="0 0 20 20"
20
+ fill="none"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ class="default-expanded-icon"
23
+ >
24
+ <path
25
+ d="M15.794 7.73271C16.0797 8.03263 16.0681 8.50737 15.7682 8.79306L10.5178 13.7944C10.2281 14.0703 9.77285 14.0703 9.48318 13.7944L4.23271 8.79306C3.93279 8.50737 3.92125 8.03263 4.20694 7.73271C4.49264 7.43279 4.96737 7.42125 5.26729 7.70694L10.0005 12.2155L14.7336 7.70694C15.0336 7.42125 15.5083 7.43279 15.794 7.73271Z"
26
+ fill="#212121"
27
+ />
28
+ </svg>`);
29
+ /**
30
+ * The template for the fluent-accordion component.
31
+ * @public
32
+ */
33
+ export const template = accordionItemTemplate({
34
+ collapsedIcon: chevronRight20Filled,
35
+ expandedIcon: chevronDown20Filled,
36
+ });
37
+ //# sourceMappingURL=accordion-item.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion-item.template.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;OAYnC,CAAC,CAAC;AAET,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;OAYlC,CAAC,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAuC,qBAAqB,CAAC;IAChF,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,mBAAmB;CAClC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './accordion-item.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/accordion-item/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './accordion-item.js';
2
+ export * from './accordion-item.options.js';
3
+ export { styles as accordionItemStyles } from './accordion-item.styles.js';
4
+ export { definition as accordionItemDefinition } from './accordion-item.definition.js';
5
+ export { template as accordionItemTemplate } from './accordion-item.template.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accordion-item/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,10 @@
1
+ export * from './accordion/index.js';
2
+ export * from './accordion-item/index.js';
1
3
  export * from './badge/index.js';
2
4
  export * from './counter-badge/index.js';
3
5
  export * from './progress-bar/index.js';
4
6
  export * from './spinner/index.js';
7
+ export * from './switch/index.js';
5
8
  export * from './text/index.js';
6
9
  export * from './theme/index.js';
7
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,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,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './switch.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/switch/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 './switch.js';
2
+ export * from './switch.options.js';
3
+ export { definition } from './switch.definition.js';
4
+ export { styles as switchStyles } from './switch.styles.js';
5
+ export { template as switchTemplate } from './switch.template.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/switch/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { Switch } from './switch.js';
3
+ import { template } from './switch.template.js';
4
+ import { styles } from './switch.styles.js';
5
+ /**
6
+ * The Fluent Switch Element.
7
+ *
8
+ * @public
9
+ * @remarks
10
+ * HTML Element: \<fluent-switch\>
11
+ */
12
+ export const definition = Switch.compose({
13
+ name: `${FluentDesignSystem.prefix}-switch`,
14
+ template,
15
+ styles,
16
+ });
17
+ //# sourceMappingURL=switch.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.definition.js","sourceRoot":"","sources":["../../../src/switch/switch.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;GAMG;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,9 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr } from '@microsoft/fast-element';
3
+ import { FASTSwitch } from '@microsoft/fast-foundation';
4
+ export class Switch extends FASTSwitch {
5
+ }
6
+ __decorate([
7
+ attr({ attribute: 'label-position' })
8
+ ], Switch.prototype, "labelPosition", void 0);
9
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/switch/switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,OAAO,MAAO,SAAQ,UAAU;CAWrC;AADC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;6CACgB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SwitchLabelPosition Constants
3
+ * @public
4
+ */
5
+ export const SwitchLabelPosition = {
6
+ above: 'above',
7
+ after: 'after',
8
+ before: 'before',
9
+ };
10
+ //# sourceMappingURL=switch.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.options.js","sourceRoot":"","sources":["../../../src/switch/switch.options.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderRadiusCircular, colorCompoundBrandBackground, colorCompoundBrandBackgroundHover, colorCompoundBrandBackgroundPressed, colorNeutralBackgroundDisabled, colorNeutralForeground1, colorNeutralForeground3, colorNeutralForeground3Hover, colorNeutralForeground3Pressed, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralForegroundInvertedHover, colorNeutralForegroundInvertedPressed, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeDisabled, colorTransparentBackground, curveEasyEase, durationNormal, fontFamilyBase, fontSizeBase300, fontWeightRegular, lineHeightBase300, spacingHorizontalS, spacingHorizontalXS, spacingHorizontalXXS, spacingVerticalS, spacingVerticalXS, } from '../theme/design-tokens.js';
4
+ export const styles = css `
5
+ ${display('inline-flex')}
6
+
7
+ :host {
8
+ align-items: center;
9
+ flex-direction: row-reverse;
10
+ outline: none;
11
+ user-select: none;
12
+ }
13
+ :host([label-position='before']) {
14
+ flex-direction: row;
15
+ }
16
+ :host([label-position='above']) {
17
+ flex-direction: column;
18
+ align-items: flex-start;
19
+ }
20
+ :host([disabled]) .label,
21
+ :host([readonly]) .label,
22
+ :host([readonly]) .switch,
23
+ :host([disabled]) .switch {
24
+ cursor: not-allowed;
25
+ }
26
+ .label {
27
+ position: relative;
28
+ color: ${colorNeutralForeground1};
29
+ line-height: ${lineHeightBase300};
30
+ font-size: ${fontSizeBase300};
31
+ font-weight: ${fontWeightRegular};
32
+ font-family: ${fontFamilyBase};
33
+ padding: ${spacingVerticalXS} ${spacingHorizontalXS};
34
+ cursor: pointer;
35
+ }
36
+ .label__hidden {
37
+ display: none;
38
+ }
39
+ .switch {
40
+ display: flex;
41
+ align-items: center;
42
+ padding: 0 ${spacingHorizontalXXS};
43
+ box-sizing: border-box;
44
+ width: 40px;
45
+ height: 20px;
46
+ background-color: ${colorTransparentBackground};
47
+ border: 1px solid ${colorNeutralStrokeAccessible};
48
+ border-radius: ${borderRadiusCircular};
49
+ outline: none;
50
+ cursor: pointer;
51
+ margin: ${spacingVerticalS} ${spacingHorizontalS};
52
+ }
53
+ :host(:hover) .switch {
54
+ background: none;
55
+ border-color: ${colorNeutralStrokeAccessibleHover};
56
+ }
57
+ :host(:active) .switch {
58
+ border-color: ${colorNeutralStrokeAccessiblePressed};
59
+ }
60
+ :host([disabled]) .switch,
61
+ :host([readonly]) .switch {
62
+ border: 1px solid ${colorNeutralStrokeDisabled};
63
+ background-color: none;
64
+ pointer: default;
65
+ }
66
+ :host([aria-checked='true']) .switch {
67
+ background: ${colorCompoundBrandBackground};
68
+ }
69
+ :host([aria-checked='true']:hover) .switch {
70
+ background: ${colorCompoundBrandBackgroundHover};
71
+ border-color: ${colorCompoundBrandBackgroundHover};
72
+ }
73
+ :host([aria-checked='true']:active) .switch {
74
+ background: ${colorCompoundBrandBackgroundPressed};
75
+ border-color: ${colorCompoundBrandBackgroundPressed};
76
+ }
77
+ :host([aria-checked='true'][disabled]) .switch {
78
+ background: ${colorNeutralBackgroundDisabled};
79
+ border-color: ${colorNeutralStrokeDisabled};
80
+ }
81
+ .checked-indicator {
82
+ height: 14px;
83
+ width: 14px;
84
+ border-radius: 50%;
85
+ background-color: ${colorNeutralForeground3};
86
+ transition-duration: ${durationNormal};
87
+ transition-timing-function: ${curveEasyEase};
88
+ transition-property: transform;
89
+ }
90
+ :host([aria-checked='true']) .checked-indicator {
91
+ background-color: ${colorNeutralForegroundInverted};
92
+ transform: translateX(20px);
93
+ }
94
+ :host([aria-checked='true']:hover) .checked-indicator {
95
+ background: ${colorNeutralForegroundInvertedHover};
96
+ }
97
+ :host([aria-checked='true']:active) .checked-indicator {
98
+ background: ${colorNeutralForegroundInvertedPressed};
99
+ }
100
+ :host(:hover) .checked-indicator {
101
+ background-color: ${colorNeutralForeground3Hover};
102
+ }
103
+ :host(:active) .checked-indicator {
104
+ background-color: ${colorNeutralForeground3Pressed};
105
+ }
106
+ :host([disabled]) .checked-indicator,
107
+ :host([readonly]) .checked-indicator {
108
+ background: ${colorNeutralForegroundDisabled};
109
+ }
110
+ :host([aria-checked='true'][disabled]) .checked-indicator {
111
+ background: ${colorNeutralForegroundDisabled};
112
+ }
113
+ `;
114
+ //# sourceMappingURL=switch.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.styles.js","sourceRoot":"","sources":["../../../src/switch/switch.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,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,mCAAmC,EACnC,qCAAqC,EACrC,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;aAuBb,uBAAuB;mBACjB,iBAAiB;iBACnB,eAAe;mBACb,iBAAiB;mBACjB,cAAc;eAClB,iBAAiB,IAAI,mBAAmB;;;;;;;;;iBAStC,oBAAoB;;;;wBAIb,0BAA0B;wBAC1B,4BAA4B;qBAC/B,oBAAoB;;;cAG3B,gBAAgB,IAAI,kBAAkB;;;;oBAIhC,iCAAiC;;;oBAGjC,mCAAmC;;;;wBAI/B,0BAA0B;;;;;kBAKhC,4BAA4B;;;kBAG5B,iCAAiC;oBAC/B,iCAAiC;;;kBAGnC,mCAAmC;oBACjC,mCAAmC;;;kBAGrC,8BAA8B;oBAC5B,0BAA0B;;;;;;wBAMtB,uBAAuB;2BACpB,cAAc;kCACP,aAAa;;;;wBAIvB,8BAA8B;;;;kBAIpC,mCAAmC;;;kBAGnC,qCAAqC;;;wBAG/B,4BAA4B;;;wBAG5B,8BAA8B;;;;kBAIpC,8BAA8B;;;kBAG9B,8BAA8B;;CAE/C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { switchTemplate } from '@microsoft/fast-foundation';
2
+ export const template = switchTemplate({
3
+ switch: `<span class="checked-indicator" part="checked-indicator"></span>`,
4
+ });
5
+ //# sourceMappingURL=switch.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.template.js","sourceRoot":"","sources":["../../../src/switch/switch.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,CAAC;IAClE,MAAM,EAAE,kEAAkE;CAC3E,CAAC,CAAC"}