@fluentui/react-switch 0.0.0-nightly-20220302-0405.1

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 (57) hide show
  1. package/CHANGELOG.json +1477 -0
  2. package/CHANGELOG.md +442 -0
  3. package/LICENSE +15 -0
  4. package/MIGRATION.md +28 -0
  5. package/README.md +32 -0
  6. package/Spec.md +134 -0
  7. package/dist/react-switch.d.ts +106 -0
  8. package/lib/Switch.d.ts +1 -0
  9. package/lib/Switch.js +2 -0
  10. package/lib/Switch.js.map +1 -0
  11. package/lib/components/Switch/Switch.d.ts +6 -0
  12. package/lib/components/Switch/Switch.js +15 -0
  13. package/lib/components/Switch/Switch.js.map +1 -0
  14. package/lib/components/Switch/Switch.types.d.ts +65 -0
  15. package/lib/components/Switch/Switch.types.js +2 -0
  16. package/lib/components/Switch/Switch.types.js.map +1 -0
  17. package/lib/components/Switch/index.d.ts +5 -0
  18. package/lib/components/Switch/index.js +6 -0
  19. package/lib/components/Switch/index.js.map +1 -0
  20. package/lib/components/Switch/renderSwitch.d.ts +5 -0
  21. package/lib/components/Switch/renderSwitch.js +22 -0
  22. package/lib/components/Switch/renderSwitch.js.map +1 -0
  23. package/lib/components/Switch/useSwitch.d.ts +12 -0
  24. package/lib/components/Switch/useSwitch.js +79 -0
  25. package/lib/components/Switch/useSwitch.js.map +1 -0
  26. package/lib/components/Switch/useSwitchStyles.d.ts +9 -0
  27. package/lib/components/Switch/useSwitchStyles.js +194 -0
  28. package/lib/components/Switch/useSwitchStyles.js.map +1 -0
  29. package/lib/index.d.ts +2 -0
  30. package/lib/index.js +2 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/tsdoc-metadata.json +11 -0
  33. package/lib-commonjs/Switch.d.ts +1 -0
  34. package/lib-commonjs/Switch.js +10 -0
  35. package/lib-commonjs/Switch.js.map +1 -0
  36. package/lib-commonjs/components/Switch/Switch.d.ts +6 -0
  37. package/lib-commonjs/components/Switch/Switch.js +26 -0
  38. package/lib-commonjs/components/Switch/Switch.js.map +1 -0
  39. package/lib-commonjs/components/Switch/Switch.types.d.ts +65 -0
  40. package/lib-commonjs/components/Switch/Switch.types.js +6 -0
  41. package/lib-commonjs/components/Switch/Switch.types.js.map +1 -0
  42. package/lib-commonjs/components/Switch/index.d.ts +5 -0
  43. package/lib-commonjs/components/Switch/index.js +18 -0
  44. package/lib-commonjs/components/Switch/index.js.map +1 -0
  45. package/lib-commonjs/components/Switch/renderSwitch.d.ts +5 -0
  46. package/lib-commonjs/components/Switch/renderSwitch.js +33 -0
  47. package/lib-commonjs/components/Switch/renderSwitch.js.map +1 -0
  48. package/lib-commonjs/components/Switch/useSwitch.d.ts +12 -0
  49. package/lib-commonjs/components/Switch/useSwitch.js +92 -0
  50. package/lib-commonjs/components/Switch/useSwitch.js.map +1 -0
  51. package/lib-commonjs/components/Switch/useSwitchStyles.d.ts +9 -0
  52. package/lib-commonjs/components/Switch/useSwitchStyles.js +206 -0
  53. package/lib-commonjs/components/Switch/useSwitchStyles.js.map +1 -0
  54. package/lib-commonjs/index.d.ts +2 -0
  55. package/lib-commonjs/index.js +10 -0
  56. package/lib-commonjs/index.js.map +1 -0
  57. package/package.json +66 -0
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSwitchStyles_unstable = exports.switchClassName = exports.switchClassNames = void 0;
7
+
8
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
9
+
10
+ const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
11
+
12
+ const react_1 = /*#__PURE__*/require("@griffel/react");
13
+
14
+ exports.switchClassNames = {
15
+ root: 'fui-Switch',
16
+ indicator: 'fui-Switch__indicator',
17
+ input: 'fui-Switch__input',
18
+ label: 'fui-Switch__label'
19
+ }; // TODO temporary export to pass conformance test.
20
+
21
+ exports.switchClassName = exports.switchClassNames.root; // TODO replace these spacing constants with theme values once they're on the theme.
22
+
23
+ const spacingXS = 4;
24
+ const spacingS = 8;
25
+ const spacingM = 12; // Thumb and track sizes used by the component.
26
+
27
+ const spaceBetweenThumbAndTrack = 2;
28
+ const thumbSize = 14;
29
+ const trackHeight = 20;
30
+ const trackWidth = 40;
31
+
32
+ const useRootStyles = /*#__PURE__*/react_1.__styles({
33
+ "base": {
34
+ "B7ck84d": "f1ewtqcl",
35
+ "i8kkvl": "f4akndk",
36
+ "mc9l5x": "ftuwxu6",
37
+ "z8tnut": "fp9bwmr",
38
+ "z189sj": ["f19lj068", "f177v4lu"],
39
+ "Byoj8tv": "f150uoa4",
40
+ "uwmqm3": ["f177v4lu", "f19lj068"],
41
+ "qhf8xq": "f10pi13n",
42
+ "B486eqv": "f2hkw1w",
43
+ "c2y4jd": "fsofd9k",
44
+ "B8vm7ur": "f12sql3b",
45
+ "f4hv8x": "f1i4q40k",
46
+ "Gpan81": "fcrbge9",
47
+ "z7afg": "ft464mn",
48
+ "rsjj6t": "fskqmiq",
49
+ "Bqsd8kq": "f2gy8jn",
50
+ "sfhsbh": "f1pke3uf",
51
+ "Bugh3ej": "f18xdlq9",
52
+ "hpanx6": "f1114nks",
53
+ "Bjkpy09": "f1unftzx",
54
+ "Jxg1p8": "f8rjbh6",
55
+ "Bc94xmo": ["fxfgh6q", "f8l10fm"],
56
+ "Bj23z95": ["f8l10fm", "fxfgh6q"]
57
+ },
58
+ "above": {
59
+ "Beiy3e4": "f1vx9l62",
60
+ "z8tnut": "f10ra9hq",
61
+ "Belr9w4": "f1ma2n7n"
62
+ },
63
+ "after": {
64
+ "Bt984gj": "f6jr5hl",
65
+ "i8kkvl": "f4akndk",
66
+ "Beiy3e4": "f1063pyq"
67
+ },
68
+ "before": {
69
+ "Bt984gj": "f6jr5hl",
70
+ "i8kkvl": "f4akndk",
71
+ "Beiy3e4": "f1063pyq"
72
+ }
73
+ }, {
74
+ "d": [".f1ewtqcl{box-sizing:border-box;}", ".f4akndk{-webkit-column-gap:12px;column-gap:12px;}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fp9bwmr{padding-top:8px;}", ".f19lj068{padding-right:8px;}", ".f177v4lu{padding-left:8px;}", ".f150uoa4{padding-bottom:8px;}", ".f10pi13n{position:relative;}", "[data-keyboard-nav] .fsofd9k:focus-within{border-color:transparent;}", "[data-keyboard-nav] .f12sql3b:focus-within:after{content:\"\";}", "[data-keyboard-nav] .f1i4q40k:focus-within:after{position:absolute;}", "[data-keyboard-nav] .fcrbge9:focus-within:after{pointer-events:none;}", "[data-keyboard-nav] .ft464mn:focus-within:after{box-sizing:outline-box;}", "[data-keyboard-nav] .fskqmiq:focus-within:after{z-index:1;}", "[data-keyboard-nav] .f2gy8jn:focus-within:after{border-style:solid;}", "[data-keyboard-nav] .f1pke3uf:focus-within:after{border-width:2px;}", "[data-keyboard-nav] .f18xdlq9:focus-within:after{border-radius:var(--borderRadiusMedium);}", "[data-keyboard-nav] .f1114nks:focus-within:after{border-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .f1unftzx:focus-within:after{top:-2px;}", "[data-keyboard-nav] .f8rjbh6:focus-within:after{bottom:-2px;}", "[data-keyboard-nav] .fxfgh6q:focus-within:after{left:-2px;}", "[data-keyboard-nav] .f8l10fm:focus-within:after{right:-2px;}", ".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".f10ra9hq{padding-top:4px;}", ".f1ma2n7n{row-gap:4px;}", ".f6jr5hl{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}", ".f1063pyq{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}"],
75
+ "i": [".f2hkw1w:focus-visible{outline-style:none;}"]
76
+ });
77
+
78
+ const useIndicatorStyles = /*#__PURE__*/react_1.__styles({
79
+ "base": {
80
+ "Bbmb7ep": ["f8fbkgy", "f1nfllo7"],
81
+ "Beyfa6y": ["f1nfllo7", "f8fbkgy"],
82
+ "B7oj6ja": ["f1djnp8u", "f1s8kh49"],
83
+ "Btl43ni": ["f1s8kh49", "f1djnp8u"],
84
+ "icvyot": "fzkkow9",
85
+ "vrafjx": ["fcdblym", "fjik90z"],
86
+ "oivjwe": "fg706s2",
87
+ "wvpqe5": ["fjik90z", "fcdblym"],
88
+ "B4j52fo": "f5ogflp",
89
+ "Bekrc4i": ["f1hqa2wf", "finvdd3"],
90
+ "Bn0qgzm": "f1f09k3d",
91
+ "ibv6hh": ["finvdd3", "f1hqa2wf"],
92
+ "B7ck84d": "f1ewtqcl",
93
+ "Bkfmm31": "f1w9h62z",
94
+ "Bnnss6s": "fi64zpg",
95
+ "Be2twd7": "f4ybsrx",
96
+ "Bqenvij": "fjamq6b",
97
+ "Bkecrkj": "f1aehjj5",
98
+ "B3o57yi": "f1bnoopa",
99
+ "Bkqvd7p": "f1e1a42z",
100
+ "Bmy1vo4": "fo99fu7",
101
+ "a9b677": "feqmc2u",
102
+ "Hkqiji": "f1wkgtgk",
103
+ "Bgrs90m": "f17f8g0y",
104
+ "B0zx559": "f1uwej41"
105
+ }
106
+ }, {
107
+ "d": [".f8fbkgy{border-bottom-right-radius:var(--borderRadiusCircular);}", ".f1nfllo7{border-bottom-left-radius:var(--borderRadiusCircular);}", ".f1djnp8u{border-top-right-radius:var(--borderRadiusCircular);}", ".f1s8kh49{border-top-left-radius:var(--borderRadiusCircular);}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".f1ewtqcl{box-sizing:border-box;}", ".f1w9h62z{fill:currentColor;}", ".fi64zpg{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".f4ybsrx{font-size:16px;}", ".fjamq6b{height:20px;}", ".f1aehjj5{pointer-events:none;}", ".f1bnoopa{transition-duration:200ms;}", ".f1e1a42z{transition-timing-function:cubic-bezier(0.33, 0, 0.67, 1);}", ".fo99fu7{transition-property:background,border,color;}", ".feqmc2u{width:40px;}", ".f1wkgtgk>*{transition-duration:200ms;}", ".f17f8g0y>*{transition-timing-function:cubic-bezier(0.33, 0, 0.67, 1);}", ".f1uwej41>*{transition-property:transform;}"]
108
+ });
109
+
110
+ const useInputStyles = /*#__PURE__*/react_1.__styles({
111
+ "base": {
112
+ "B7ck84d": "f1ewtqcl",
113
+ "Bceei9c": "f1k6fduh",
114
+ "Bqenvij": "f1l02sjl",
115
+ "oyh7mz": ["f1vgc2s3", "f1e31b4d"],
116
+ "B6of3ja": "f1hu3pq6",
117
+ "t21cq0": ["f11qmguv", "f1tyq0we"],
118
+ "jrapky": "f19f4twv",
119
+ "Frg6f3": ["f1tyq0we", "f11qmguv"],
120
+ "abs64n": "fk73vx1",
121
+ "qhf8xq": "f1euv43f",
122
+ "Bhzewxz": "f15twtuk",
123
+ "a9b677": "fly5x3f",
124
+ "fv8x6k": ["f1owqbgs", "f1a7g3i4"],
125
+ "ezr58z": "fvxnmui",
126
+ "Blezdol": "f1cxq9o1",
127
+ "B8f96ig": "f1ks1zsm",
128
+ "po7uxr": "fiqfi0i",
129
+ "inq7wv": "f9aagkg",
130
+ "Cdugon": ["fgv8l18", "f1p3jmxb"],
131
+ "ptsei1": "f11yi64e",
132
+ "bl04ud": ["f1p3jmxb", "fgv8l18"],
133
+ "Bu7dm46": "fthrly9",
134
+ "Gwwlnz": "fhdp2ht",
135
+ "wb1her": "f1rzj6jj",
136
+ "Bmieemq": ["f1jywl1l", "f13d626x"],
137
+ "Bdgjgzg": "f1ivtmze",
138
+ "B05cvx7": ["f13d626x", "f1jywl1l"],
139
+ "Bx4eqiv": "f1uvnr57",
140
+ "xhnoxe": "frhcydi",
141
+ "Hnmc4c": ["f1pvt3n7", "f14i0clv"],
142
+ "By8gkvz": "fq9gcw4",
143
+ "lekrm4": ["f14i0clv", "f1pvt3n7"],
144
+ "Bei91sp": "fft44l1",
145
+ "Bksztz9": "fwlrvmy",
146
+ "h3gz1v": "f1c4gun2",
147
+ "Cw6427": ["flhgtcm", "fx1zdd8"],
148
+ "Bpbd9g9": "fayrp2e",
149
+ "ssulyh": ["fx1zdd8", "flhgtcm"],
150
+ "vq7rp1": "f1vk2knj",
151
+ "ynrfiu": "firogjh",
152
+ "Bf5tpyt": ["f1crd6p1", "for8100"],
153
+ "Brhic7g": "f1v5j4zb",
154
+ "Cqvc5u": ["for8100", "f1crd6p1"],
155
+ "B4e80u0": "f1rt7qcq",
156
+ "Bwj41i9": "fxvotg6",
157
+ "B2iiaa1": ["fk9ur30", "f3u5smv"],
158
+ "Bejmxmv": "fdtj07x",
159
+ "rqauf5": ["f3u5smv", "fk9ur30"],
160
+ "wo5z87": "fv5mb1o",
161
+ "B50joxe": ["f1i2l8ou", "fxj1kmv"],
162
+ "Bmuizf1": "fku528b",
163
+ "f4urji": ["fxj1kmv", "f1i2l8ou"],
164
+ "Bxiq1ly": "fabcpc0",
165
+ "vbmdq8": "f17xwy6w",
166
+ "u4vbwo": ["fipwscc", "fab39iv"],
167
+ "Bfjga03": "f1th5z1l",
168
+ "F0s3py": ["fab39iv", "fipwscc"]
169
+ }
170
+ }, {
171
+ "d": [".f1ewtqcl{box-sizing:border-box;}", ".f1k6fduh{cursor:pointer;}", ".f1l02sjl{height:100%;}", ".f1vgc2s3{left:0;}", ".f1e31b4d{right:0;}", ".f1hu3pq6{margin-top:0;}", ".f11qmguv{margin-right:0;}", ".f1tyq0we{margin-left:0;}", ".f19f4twv{margin-bottom:0;}", ".fk73vx1{opacity:0;}", ".f1euv43f{position:absolute;}", ".f15twtuk{top:0;}", ".fly5x3f{width:100%;}", ".f1owqbgs:checked~.fui-Switch__indicator>*{-webkit-transform:translateX(22px);-moz-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px);}", ".f1a7g3i4:checked~.fui-Switch__indicator>*{-webkit-transform:translateX(-22px);-moz-transform:translateX(-22px);-ms-transform:translateX(-22px);transform:translateX(-22px);}", ".fvxnmui:disabled{cursor:default;}", ".f1cxq9o1:disabled~.fui-Switch__indicator{color:var(--colorNeutralForegroundDisabled);}", ".f1ks1zsm:disabled~.fui-Switch__label{color:var(--colorNeutralForegroundDisabled);}", ".fiqfi0i:enabled:not(:checked)~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessible);}", ".f9aagkg:enabled:not(:checked)~.fui-Switch__indicator{border-top-color:var(--colorNeutralStrokeAccessible);}", ".fgv8l18:enabled:not(:checked)~.fui-Switch__indicator{border-right-color:var(--colorNeutralStrokeAccessible);}", ".f1p3jmxb:enabled:not(:checked)~.fui-Switch__indicator{border-left-color:var(--colorNeutralStrokeAccessible);}", ".f11yi64e:enabled:not(:checked)~.fui-Switch__indicator{border-bottom-color:var(--colorNeutralStrokeAccessible);}", ".fthrly9:enabled:not(:checked)~.fui-Switch__label{color:var(--colorNeutralForeground1);}", ".fhdp2ht:enabled:not(:checked):hover~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessibleHover);}", ".f1rzj6jj:enabled:not(:checked):hover~.fui-Switch__indicator{border-top-color:var(--colorNeutralStrokeAccessibleHover);}", ".f1jywl1l:enabled:not(:checked):hover~.fui-Switch__indicator{border-right-color:var(--colorNeutralStrokeAccessibleHover);}", ".f13d626x:enabled:not(:checked):hover~.fui-Switch__indicator{border-left-color:var(--colorNeutralStrokeAccessibleHover);}", ".f1ivtmze:enabled:not(:checked):hover~.fui-Switch__indicator{border-bottom-color:var(--colorNeutralStrokeAccessibleHover);}", ".f1uvnr57:enabled:not(:checked):hover:active~.fui-Switch__indicator{color:var(--colorNeutralStrokeAccessiblePressed);}", ".frhcydi:enabled:not(:checked):hover:active~.fui-Switch__indicator{border-top-color:var(--colorNeutralStrokeAccessiblePressed);}", ".f1pvt3n7:enabled:not(:checked):hover:active~.fui-Switch__indicator{border-right-color:var(--colorNeutralStrokeAccessiblePressed);}", ".f14i0clv:enabled:not(:checked):hover:active~.fui-Switch__indicator{border-left-color:var(--colorNeutralStrokeAccessiblePressed);}", ".fq9gcw4:enabled:not(:checked):hover:active~.fui-Switch__indicator{border-bottom-color:var(--colorNeutralStrokeAccessiblePressed);}", ".fft44l1:enabled:checked~.fui-Switch__indicator{background-color:var(--colorBrandBackground);}", ".fwlrvmy:enabled:checked~.fui-Switch__indicator{color:var(--colorNeutralForegroundOnBrand);}", ".f1c4gun2:enabled:checked~.fui-Switch__indicator{border-top-color:var(--colorTransparentStroke);}", ".flhgtcm:enabled:checked~.fui-Switch__indicator{border-right-color:var(--colorTransparentStroke);}", ".fx1zdd8:enabled:checked~.fui-Switch__indicator{border-left-color:var(--colorTransparentStroke);}", ".fayrp2e:enabled:checked~.fui-Switch__indicator{border-bottom-color:var(--colorTransparentStroke);}", ".f1vk2knj:enabled:checked:hover~.fui-Switch__indicator{background-color:var(--colorBrandBackgroundHover);}", ".firogjh:enabled:checked:hover~.fui-Switch__indicator{border-top-color:var(--colorTransparentStrokeInteractive);}", ".f1crd6p1:enabled:checked:hover~.fui-Switch__indicator{border-right-color:var(--colorTransparentStrokeInteractive);}", ".for8100:enabled:checked:hover~.fui-Switch__indicator{border-left-color:var(--colorTransparentStrokeInteractive);}", ".f1v5j4zb:enabled:checked:hover~.fui-Switch__indicator{border-bottom-color:var(--colorTransparentStrokeInteractive);}", ".f1rt7qcq:enabled:checked:hover:active~.fui-Switch__indicator{background-color:var(--colorBrandBackgroundPressed);}", ".fxvotg6:enabled:checked:hover:active~.fui-Switch__indicator{border-top-color:var(--colorTransparentStrokeInteractive);}", ".fk9ur30:enabled:checked:hover:active~.fui-Switch__indicator{border-right-color:var(--colorTransparentStrokeInteractive);}", ".f3u5smv:enabled:checked:hover:active~.fui-Switch__indicator{border-left-color:var(--colorTransparentStrokeInteractive);}", ".fdtj07x:enabled:checked:hover:active~.fui-Switch__indicator{border-bottom-color:var(--colorTransparentStrokeInteractive);}", ".fv5mb1o:disabled:not(:checked)~.fui-Switch__indicator{border-top-color:var(--colorNeutralStrokeDisabled);}", ".f1i2l8ou:disabled:not(:checked)~.fui-Switch__indicator{border-right-color:var(--colorNeutralStrokeDisabled);}", ".fxj1kmv:disabled:not(:checked)~.fui-Switch__indicator{border-left-color:var(--colorNeutralStrokeDisabled);}", ".fku528b:disabled:not(:checked)~.fui-Switch__indicator{border-bottom-color:var(--colorNeutralStrokeDisabled);}", ".fabcpc0:disabled:checked~.fui-Switch__indicator{background-color:var(--colorNeutralBackgroundDisabled);}", ".f17xwy6w:disabled:checked~.fui-Switch__indicator{border-top-color:var(--colorTransparentStrokeDisabled);}", ".fipwscc:disabled:checked~.fui-Switch__indicator{border-right-color:var(--colorTransparentStrokeDisabled);}", ".fab39iv:disabled:checked~.fui-Switch__indicator{border-left-color:var(--colorTransparentStrokeDisabled);}", ".f1th5z1l:disabled:checked~.fui-Switch__indicator{border-bottom-color:var(--colorTransparentStrokeDisabled);}"]
172
+ });
173
+
174
+ const useLabelStyles = /*#__PURE__*/react_1.__styles({
175
+ "base": {
176
+ "famaaq": "f1xqy1su"
177
+ }
178
+ }, {
179
+ "d": [".f1xqy1su{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}"]
180
+ });
181
+ /**
182
+ * Apply styling to the Switch slots based on the state
183
+ */
184
+
185
+
186
+ const useSwitchStyles_unstable = state => {
187
+ const rootStyles = useRootStyles();
188
+ const indicatorStyles = useIndicatorStyles();
189
+ const inputStyles = useInputStyles();
190
+ const labelStyles = useLabelStyles();
191
+ const {
192
+ labelPosition
193
+ } = state;
194
+ state.root.className = react_1.mergeClasses(exports.switchClassNames.root, rootStyles.base, rootStyles[labelPosition], state.root.className);
195
+ state.indicator.className = react_1.mergeClasses(exports.switchClassNames.indicator, indicatorStyles.base, state.indicator.className);
196
+ state.input.className = react_1.mergeClasses(exports.switchClassNames.input, inputStyles.base, state.input.className);
197
+
198
+ if (state.label) {
199
+ state.label.className = react_1.mergeClasses(exports.switchClassNames.label, labelStyles.base, state.label.className);
200
+ }
201
+
202
+ return state;
203
+ };
204
+
205
+ exports.useSwitchStyles_unstable = useSwitchStyles_unstable;
206
+ //# sourceMappingURL=useSwitchStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Switch/useSwitchStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SwitchSlots, SwitchState } from './Switch.types';\n\nexport const switchClassNames: {\n [SlotName in keyof SwitchSlots]-?: string;\n} = {\n root: 'fui-Switch',\n indicator: 'fui-Switch__indicator',\n input: 'fui-Switch__input',\n label: 'fui-Switch__label',\n};\n\n// TODO temporary export to pass conformance test.\nexport const switchClassName = switchClassNames.root;\n\n// TODO replace these spacing constants with theme values once they're on the theme.\nconst spacingXS = 4;\nconst spacingS = 8;\nconst spacingM = 12;\n\n// Thumb and track sizes used by the component.\nconst spaceBetweenThumbAndTrack = 2;\nconst thumbSize = 14;\nconst trackHeight = 20;\nconst trackWidth = 40;\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'border-box',\n columnGap: `${spacingM}px`,\n display: 'inline-flex',\n ...shorthands.padding(`${spacingS}px`),\n position: 'relative',\n\n ...createFocusOutlineStyle({ style: {}, selector: 'focus-within' }),\n },\n\n // Label position variations\n above: {\n flexDirection: 'column',\n paddingTop: `${spacingXS}px`,\n rowGap: `${spacingXS}px`,\n },\n after: {\n alignItems: 'flex-start',\n columnGap: `${spacingM}px`,\n flexDirection: 'row',\n },\n before: {\n alignItems: 'flex-start',\n columnGap: `${spacingM}px`,\n flexDirection: 'row',\n },\n});\n\nconst useIndicatorStyles = makeStyles({\n base: {\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n ...shorthands.borderStyle('solid'),\n ...shorthands.borderWidth('1px'),\n boxSizing: 'border-box',\n fill: 'currentColor',\n flexShrink: 0,\n fontSize: `${thumbSize + spaceBetweenThumbAndTrack}px`,\n height: `${trackHeight}px`,\n pointerEvents: 'none',\n transitionDuration: '200ms',\n transitionTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n transitionProperty: 'background, border, color',\n width: `${trackWidth}px`,\n\n '> *': {\n transitionDuration: '200ms',\n transitionTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n transitionProperty: 'transform',\n },\n },\n});\n\nconst useInputStyles = makeStyles({\n base: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n height: '100%',\n left: 0,\n ...shorthands.margin(0),\n opacity: 0,\n position: 'absolute',\n top: 0,\n width: '100%',\n\n // Checked (both enabled and disabled)\n ':checked': {\n [`& ~ .${switchClassNames.indicator}`]: {\n '> *': {\n transform: `translateX(${trackWidth - thumbSize - spaceBetweenThumbAndTrack * 2}px)`,\n },\n },\n },\n\n // Disabled (both checked and unchecked)\n ':disabled': {\n cursor: 'default',\n\n [`& ~ .${switchClassNames.indicator}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n [`& ~ .${switchClassNames.label}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n // Enabled and unchecked\n ':enabled:not(:checked)': {\n [`& ~ .${switchClassNames.indicator}`]: {\n color: tokens.colorNeutralStrokeAccessible,\n ...shorthands.borderColor(tokens.colorNeutralStrokeAccessible),\n },\n\n [`& ~ .${switchClassNames.label}`]: {\n color: tokens.colorNeutralForeground1,\n },\n\n ':hover': {\n [`& ~ .${switchClassNames.indicator}`]: {\n color: tokens.colorNeutralStrokeAccessibleHover,\n ...shorthands.borderColor(tokens.colorNeutralStrokeAccessibleHover),\n },\n },\n\n ':hover:active': {\n [`& ~ .${switchClassNames.indicator}`]: {\n color: tokens.colorNeutralStrokeAccessiblePressed,\n ...shorthands.borderColor(tokens.colorNeutralStrokeAccessiblePressed),\n },\n },\n },\n\n // Enabled and checked\n ':enabled:checked': {\n [`& ~ .${switchClassNames.indicator}`]: {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand,\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n },\n\n ':hover': {\n [`& ~ .${switchClassNames.indicator}`]: {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n },\n },\n\n ':hover:active': {\n [`& ~ .${switchClassNames.indicator}`]: {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n },\n },\n },\n\n // Disabled and unchecked\n ':disabled:not(:checked)': {\n [`& ~ .${switchClassNames.indicator}`]: {\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n },\n },\n\n // Disabled and checked\n ':disabled:checked': {\n [`& ~ .${switchClassNames.indicator}`]: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorTransparentStrokeDisabled),\n },\n },\n },\n});\n\nconst useLabelStyles = makeStyles({\n base: {\n userSelect: 'none',\n },\n});\n\n/**\n * Apply styling to the Switch slots based on the state\n */\nexport const useSwitchStyles_unstable = (state: SwitchState): SwitchState => {\n const rootStyles = useRootStyles();\n const indicatorStyles = useIndicatorStyles();\n const inputStyles = useInputStyles();\n const labelStyles = useLabelStyles();\n\n const { labelPosition } = state;\n\n state.root.className = mergeClasses(\n switchClassNames.root,\n rootStyles.base,\n rootStyles[labelPosition],\n state.root.className,\n );\n\n state.indicator.className = mergeClasses(switchClassNames.indicator, indicatorStyles.base, state.indicator.className);\n\n state.input.className = mergeClasses(switchClassNames.input, inputStyles.base, state.input.className);\n\n if (state.label) {\n state.label.className = mergeClasses(switchClassNames.label, labelStyles.base, state.label.className);\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ export * from './Switch';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./Switch"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,UAAA,CAAA,EAAA,OAAA","sourcesContent":["export {};\nexport * from './Switch';\n"],"sourceRoot":"../src/"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@fluentui/react-switch",
3
+ "version": "0.0.0-nightly-20220302-0405.1",
4
+ "description": "Fluent UI React Switch component.",
5
+ "main": "lib-commonjs/index.js",
6
+ "module": "lib/index.js",
7
+ "typings": "lib/index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/microsoft/fluentui"
12
+ },
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "build": "just-scripts build",
16
+ "bundle-size": "bundle-size measure",
17
+ "clean": "just-scripts clean",
18
+ "code-style": "just-scripts code-style",
19
+ "just": "just-scripts",
20
+ "lint": "just-scripts lint",
21
+ "start": "yarn storybook",
22
+ "test": "jest --passWithNoTests",
23
+ "docs": "api-extractor run --config=config/api-extractor.local.json --local",
24
+ "build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output ./dist/packages/react-switch/src && yarn docs",
25
+ "storybook": "node ../../scripts/storybook/runner",
26
+ "type-check": "tsc -b tsconfig.json"
27
+ },
28
+ "devDependencies": {
29
+ "@fluentui/eslint-plugin": "*",
30
+ "@fluentui/react-conformance": "*",
31
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20220302-0405.1",
32
+ "@fluentui/scripts": "^1.0.0",
33
+ "@types/enzyme": "3.10.3",
34
+ "@types/enzyme-adapter-react-16": "1.0.3",
35
+ "@types/react": "16.9.42",
36
+ "@types/react-dom": "16.9.10",
37
+ "@types/react-test-renderer": "^16.0.0",
38
+ "enzyme": "~3.10.0",
39
+ "enzyme-adapter-react-16": "^1.15.0",
40
+ "react": "16.8.6",
41
+ "react-dom": "16.8.6",
42
+ "react-test-renderer": "^16.3.0"
43
+ },
44
+ "dependencies": {
45
+ "@fluentui/react-icons": "^2.0.159-beta.10",
46
+ "@fluentui/react-label": "0.0.0-nightly-20220302-0405.1",
47
+ "@fluentui/react-tabster": "0.0.0-nightly-20220302-0405.1",
48
+ "@fluentui/react-theme": "0.0.0-nightly-20220302-0405.1",
49
+ "@fluentui/react-utilities": "0.0.0-nightly-20220302-0405.1",
50
+ "@griffel/react": "1.0.0",
51
+ "tslib": "^2.1.0"
52
+ },
53
+ "peerDependencies": {
54
+ "@types/react": ">=16.8.0 <18.0.0",
55
+ "@types/react-dom": ">=16.8.0 <18.0.0",
56
+ "react": ">=16.8.0 <18.0.0",
57
+ "react-dom": ">=16.8.0 <18.0.0"
58
+ },
59
+ "beachball": {
60
+ "disallowedChangeTypes": [
61
+ "major",
62
+ "minor",
63
+ "patch"
64
+ ]
65
+ }
66
+ }