@fluentui/react-spinner 9.75.0-experimental.css-modules.20261031-810ab07afb.0 → 9.75.1-experimental.positioning-engine.20261103-19efe125d1.0

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 CHANGED
@@ -1,21 +1,21 @@
1
1
  # Change Log - @fluentui/react-spinner
2
2
 
3
- <!-- This log was last generated on Sat, 31 Oct 2026 11:08:56 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Tue, 03 Nov 2026 14:18:10 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [9.75.0-experimental.css-modules.20261031-810ab07afb.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.75.0-experimental.css-modules.20261031-810ab07afb.0)
7
+ ## [9.75.1-experimental.positioning-engine.20261103-19efe125d1.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0)
8
8
 
9
- Sat, 31 Oct 2026 11:08:56 GMT
9
+ Tue, 03 Nov 2026 14:18:10 GMT
10
10
 
11
11
  ### Changes
12
12
 
13
- - Release 9.75.0-experimental.css-modules.20261031-810ab07afb ([commit](https://github.com/microsoft/fluentui/commit/undefined) by 257645319+office-ogx-auth-helper[bot]@users.noreply.github.com)
14
- - Bump @fluentui/react-jsx-runtime to v9.75.0-experimental.css-modules.20261031-810ab07afb.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
15
- - Bump @fluentui/react-label to v9.75.0-experimental.css-modules.20261031-810ab07afb.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
16
- - Bump @fluentui/react-shared-contexts to v9.75.0-experimental.css-modules.20261031-810ab07afb.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
17
- - Bump @fluentui/react-theme to v9.75.0-experimental.css-modules.20261031-810ab07afb.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
18
- - Bump @fluentui/react-utilities to v9.75.0-experimental.css-modules.20261031-810ab07afb.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
13
+ - Release 9.75.1-experimental.positioning-engine.20261103-19efe125d1 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by 257645319+office-ogx-auth-helper[bot]@users.noreply.github.com)
14
+ - Bump @fluentui/react-jsx-runtime to v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
15
+ - Bump @fluentui/react-label to v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
16
+ - Bump @fluentui/react-shared-contexts to v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
17
+ - Bump @fluentui/react-theme to v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
18
+ - Bump @fluentui/react-utilities to v9.75.1-experimental.positioning-engine.20261103-19efe125d1.0 ([commit](https://github.com/microsoft/fluentui/commit/undefined) by beachball)
19
19
 
20
20
  ## [9.8.7](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinner_v9.8.7)
21
21
 
package/README.md CHANGED
@@ -43,13 +43,3 @@ See [SPEC.md](./SPEC.md).
43
43
  ### Migration Guide
44
44
 
45
45
  If you're upgrading to Fluent UI v9 see [MIGRATION.md](./MIGRATION.md) for guidance on updating to the latest Spinner implementation.
46
-
47
- ## Opt-in CSS Modules styles
48
-
49
- CSS Modules alternatives are available for `Spinner`. The default exports and component imports continue to use Griffel.
50
-
51
- To opt in, configure your bundler to replace each `use<Component>Styles.styles.js` module with its adjacent `use<Component>Styles.styles.css.js` alternative (or `.styles.ts` with `.styles.css.ts` for source builds). Apply the replacement consistently to client and server bundles. The CSS loader must provide a default class-name map and retain the adjacent `.module.css` asset, including CSS from dependencies. All component rules are in `@layer fluentui` and use the theme custom properties supplied by `FluentProvider`.
52
-
53
- The CSS hook retains the shared Fluent context for the spinner tail's RTL styling.
54
-
55
- For composed labels, also select the CSS Modules alternative for `@fluentui/react-label`. Mixing its default unlayered Griffel styles with these layered alternatives can override label typography.
package/package.json CHANGED
@@ -1,27 +1,24 @@
1
1
  {
2
2
  "name": "@fluentui/react-spinner",
3
- "version": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
3
+ "version": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
4
4
  "description": "Spinner component for Fluent UI React",
5
5
  "main": "lib-commonjs/index.cjs",
6
6
  "module": "lib/index.js",
7
7
  "typings": "./dist/index.d.ts",
8
- "sideEffects": [
9
- "**/*.css"
10
- ],
8
+ "sideEffects": false,
11
9
  "repository": {
12
10
  "type": "git",
13
11
  "url": "https://github.com/microsoft/fluentui"
14
12
  },
15
13
  "license": "MIT",
16
14
  "dependencies": {
17
- "@fluentui/react-jsx-runtime": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
18
- "@fluentui/react-label": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
19
- "@fluentui/react-shared-contexts": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
20
- "@fluentui/react-theme": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
21
- "@fluentui/react-utilities": "9.75.0-experimental.css-modules.20261031-810ab07afb.0",
15
+ "@fluentui/react-jsx-runtime": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
16
+ "@fluentui/react-label": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
17
+ "@fluentui/react-shared-contexts": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
18
+ "@fluentui/react-theme": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
19
+ "@fluentui/react-utilities": "9.75.1-experimental.positioning-engine.20261103-19efe125d1.0",
22
20
  "@griffel/react": "^1.5.32",
23
- "@swc/helpers": "^0.5.1",
24
- "clsx": "^2.1.1"
21
+ "@swc/helpers": "^0.5.1"
25
22
  },
26
23
  "peerDependencies": {
27
24
  "@types/react": ">=16.14.0 <20.0.0",
@@ -1,327 +0,0 @@
1
- @layer fluentui {
2
- .root {
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- line-height: 0;
7
- gap: var(--spacingHorizontalS);
8
- overflow: hidden;
9
- min-width: min-content;
10
- }
11
-
12
- .above,
13
- .below {
14
- flex-direction: column;
15
- }
16
-
17
- .spinner {
18
- position: relative;
19
- flex-shrink: 0;
20
- mask-image: radial-gradient(
21
- closest-side,
22
- transparent calc(100% - var(--fui-Spinner--strokeWidth) - var(--strokeWidthThin)),
23
- var(--colorNeutralForegroundStaticInverted) calc(100% - var(--fui-Spinner--strokeWidth))
24
- calc(100% - var(--strokeWidthThin)),
25
- transparent 100%
26
- );
27
- background-color: var(--colorBrandStroke2Contrast);
28
- color: var(--colorBrandStroke1);
29
- animation-duration: 1.5s;
30
- animation-iteration-count: infinite;
31
- animation-timing-function: linear;
32
- animation-name: animation1;
33
- }
34
-
35
- .spinner:where(:dir(rtl)) {
36
- animation-name: animation1RTL;
37
- }
38
-
39
- .spinnerTail::before,
40
- .spinnerTail::after {
41
- content: '';
42
- position: absolute;
43
- display: block;
44
- width: 100%;
45
- height: 100%;
46
- animation: inherit;
47
- background-image: conic-gradient(currentcolor 135deg, transparent 135deg);
48
- }
49
-
50
- .spinnerTail::before {
51
- animation-name: animation3;
52
- }
53
-
54
- .spinnerTail:where(:dir(rtl))::before {
55
- animation-name: animation3RTL;
56
- }
57
-
58
- .spinnerTail::after {
59
- animation-name: animation4;
60
- }
61
-
62
- .spinnerTail:where(:dir(rtl))::after {
63
- animation-name: animation4RTL;
64
- }
65
-
66
- .spinnerTail {
67
- position: absolute;
68
- display: block;
69
- width: 100%;
70
- height: 100%;
71
- mask-image: conic-gradient(transparent 105deg, var(--colorNeutralForegroundStaticInverted) 105deg);
72
- animation-duration: 1.5s;
73
- animation-iteration-count: infinite;
74
- animation-timing-function: var(--curveEasyEase);
75
- animation-name: animation2;
76
- }
77
-
78
- .spinnerTail:where(:dir(rtl)) {
79
- animation-name: animation2RTL;
80
- }
81
-
82
- :where(.inverted) > .spinner {
83
- background-color: var(--colorNeutralStrokeAlpha2);
84
- color: var(--colorNeutralStrokeOnBrand2);
85
- }
86
-
87
- .rtlTail::before,
88
- .rtlTail::after {
89
- background-image: conic-gradient(transparent 225deg, currentcolor 225deg);
90
- }
91
-
92
- .rtlTail {
93
- mask-image: conic-gradient(var(--colorNeutralForegroundStaticInverted) 255deg, transparent 255deg);
94
- }
95
-
96
- :where(.extra-tiny) > .spinner {
97
- height: var(--spacingHorizontalL);
98
- width: var(--spacingHorizontalL);
99
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
100
- }
101
-
102
- :where(.extra-tiny) > .label {
103
- font-family: var(--fontFamilyBase);
104
- font-size: var(--fontSizeBase300);
105
- font-weight: var(--fontWeightRegular);
106
- line-height: var(--lineHeightBase300);
107
- }
108
-
109
- :where(.tiny) > .spinner {
110
- height: var(--spacingHorizontalXL);
111
- width: var(--spacingHorizontalXL);
112
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
113
- }
114
-
115
- :where(.tiny) > .label {
116
- font-family: var(--fontFamilyBase);
117
- font-size: var(--fontSizeBase300);
118
- font-weight: var(--fontWeightRegular);
119
- line-height: var(--lineHeightBase300);
120
- }
121
-
122
- :where(.extra-small) > .spinner {
123
- height: var(--spacingHorizontalXXL);
124
- width: var(--spacingHorizontalXXL);
125
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
126
- }
127
-
128
- :where(.extra-small) > .label {
129
- font-family: var(--fontFamilyBase);
130
- font-size: var(--fontSizeBase300);
131
- font-weight: var(--fontWeightRegular);
132
- line-height: var(--lineHeightBase300);
133
- }
134
-
135
- :where(.small) > .spinner {
136
- height: calc(var(--spacingHorizontalXS) * 7);
137
- width: calc(var(--spacingHorizontalXS) * 7);
138
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
139
- }
140
-
141
- :where(.small) > .label {
142
- font-family: var(--fontFamilyBase);
143
- font-size: var(--fontSizeBase300);
144
- font-weight: var(--fontWeightRegular);
145
- line-height: var(--lineHeightBase300);
146
- }
147
-
148
- :where(.medium) > .spinner {
149
- height: var(--spacingHorizontalXXXL);
150
- width: var(--spacingHorizontalXXXL);
151
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
152
- }
153
-
154
- :where(.medium) > .label {
155
- font-family: var(--fontFamilyBase);
156
- font-size: var(--fontSizeBase400);
157
- font-weight: var(--fontWeightSemibold);
158
- line-height: var(--lineHeightBase400);
159
- }
160
-
161
- :where(.large) > .spinner {
162
- height: calc(var(--spacingHorizontalXS) * 9);
163
- width: calc(var(--spacingHorizontalXS) * 9);
164
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
165
- }
166
-
167
- :where(.large) > .label {
168
- font-family: var(--fontFamilyBase);
169
- font-size: var(--fontSizeBase400);
170
- font-weight: var(--fontWeightSemibold);
171
- line-height: var(--lineHeightBase400);
172
- }
173
-
174
- :where(.extra-large) > .spinner {
175
- height: calc(var(--spacingHorizontalXS) * 10);
176
- width: calc(var(--spacingHorizontalXS) * 10);
177
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
178
- }
179
-
180
- :where(.extra-large) > .label {
181
- font-family: var(--fontFamilyBase);
182
- font-size: var(--fontSizeBase400);
183
- font-weight: var(--fontWeightSemibold);
184
- line-height: var(--lineHeightBase400);
185
- }
186
-
187
- :where(.huge) > .spinner {
188
- height: calc(var(--spacingHorizontalXS) * 11);
189
- width: calc(var(--spacingHorizontalXS) * 11);
190
- --fui-Spinner--strokeWidth: var(--strokeWidthThickest);
191
- }
192
-
193
- :where(.huge) > .label {
194
- font-family: var(--fontFamilyBase);
195
- font-size: var(--fontSizeBase500);
196
- font-weight: var(--fontWeightSemibold);
197
- line-height: var(--lineHeightBase500);
198
- }
199
-
200
- :where(.inverted) > .label {
201
- color: var(--colorNeutralForegroundStaticInverted);
202
- }
203
-
204
- @media screen and (forced-colors: active) {
205
- .spinner {
206
- background-color: HighlightText;
207
- color: Highlight;
208
- forced-color-adjust: none;
209
- }
210
- }
211
-
212
- @media screen and (prefers-reduced-motion: reduce) {
213
- .spinner {
214
- animation-duration: 1.8s;
215
- }
216
- }
217
-
218
- @media screen and (prefers-reduced-motion: reduce) {
219
- .spinnerTail::before,
220
- .spinnerTail::after {
221
- content: none;
222
- }
223
- }
224
-
225
- @media screen and (prefers-reduced-motion: reduce) {
226
- .spinnerTail {
227
- animation-iteration-count: 0;
228
- background-image: conic-gradient(transparent 120deg, currentcolor 360deg);
229
- }
230
- }
231
-
232
- @media screen and (prefers-reduced-motion: reduce) {
233
- .rtlTail {
234
- background-image: conic-gradient(currentcolor 0deg, transparent 240deg);
235
- }
236
- }
237
-
238
- @keyframes animation1 {
239
- 0% {
240
- transform: rotate(0deg);
241
- }
242
- 100% {
243
- transform: rotate(360deg);
244
- }
245
- }
246
-
247
- @keyframes animation1RTL {
248
- 0% {
249
- transform: rotate(0deg);
250
- }
251
- 100% {
252
- transform: rotate(-360deg);
253
- }
254
- }
255
-
256
- @keyframes animation2 {
257
- 0% {
258
- transform: rotate(-135deg);
259
- }
260
- 50% {
261
- transform: rotate(0deg);
262
- }
263
- 100% {
264
- transform: rotate(225deg);
265
- }
266
- }
267
-
268
- @keyframes animation2RTL {
269
- 0% {
270
- transform: rotate(135deg);
271
- }
272
- 50% {
273
- transform: rotate(0deg);
274
- }
275
- 100% {
276
- transform: rotate(-225deg);
277
- }
278
- }
279
-
280
- @keyframes animation3 {
281
- 0% {
282
- transform: rotate(0deg);
283
- }
284
- 50% {
285
- transform: rotate(105deg);
286
- }
287
- 100% {
288
- transform: rotate(0deg);
289
- }
290
- }
291
-
292
- @keyframes animation3RTL {
293
- 0% {
294
- transform: rotate(0deg);
295
- }
296
- 50% {
297
- transform: rotate(-105deg);
298
- }
299
- 100% {
300
- transform: rotate(0deg);
301
- }
302
- }
303
-
304
- @keyframes animation4 {
305
- 0% {
306
- transform: rotate(0deg);
307
- }
308
- 50% {
309
- transform: rotate(225deg);
310
- }
311
- 100% {
312
- transform: rotate(0deg);
313
- }
314
- }
315
-
316
- @keyframes animation4RTL {
317
- 0% {
318
- transform: rotate(0deg);
319
- }
320
- 50% {
321
- transform: rotate(-225deg);
322
- }
323
- 100% {
324
- transform: rotate(0deg);
325
- }
326
- }
327
- }
@@ -1,28 +0,0 @@
1
- 'use client';
2
- import { useFluent_unstable as useFluent } from "@fluentui/react-shared-contexts";
3
- import { clsx } from "clsx";
4
- import styles from "./Spinner.module.css";
5
- export const spinnerClassNames = {
6
- root: 'fui-Spinner',
7
- spinner: 'fui-Spinner__spinner',
8
- spinnerTail: 'fui-Spinner__spinnerTail',
9
- label: 'fui-Spinner__label'
10
- };
11
- export const useSpinnerStyles_unstable = (state)=>{
12
- const { dir } = useFluent();
13
- // eslint-disable-next-line react-hooks/immutability
14
- state.root.className = clsx(spinnerClassNames.root, styles.root, styles[state.labelPosition], styles[state.size], styles[state.appearance], state.root.className);
15
- if (state.spinner) {
16
- // eslint-disable-next-line react-hooks/immutability
17
- state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);
18
- }
19
- if (state.spinnerTail) {
20
- // eslint-disable-next-line react-hooks/immutability
21
- state.spinnerTail.className = clsx(spinnerClassNames.spinnerTail, styles.spinnerTail, dir === 'rtl' && styles.rtlTail, state.spinnerTail.className);
22
- }
23
- if (state.label) {
24
- // eslint-disable-next-line react-hooks/immutability
25
- state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);
26
- }
27
- return state;
28
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/Spinner/useSpinnerStyles.styles.css.ts"],"sourcesContent":["'use client';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SpinnerState, SpinnerSlots } from './Spinner.types';\nimport styles from './Spinner.module.css';\n\nexport const spinnerClassNames: SlotClassNames<SpinnerSlots> = {\n root: 'fui-Spinner',\n spinner: 'fui-Spinner__spinner',\n spinnerTail: 'fui-Spinner__spinnerTail',\n label: 'fui-Spinner__label',\n};\n\nexport const useSpinnerStyles_unstable = (state: SpinnerState): SpinnerState => {\n const { dir } = useFluent();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = clsx(\n spinnerClassNames.root,\n styles.root,\n styles[state.labelPosition],\n styles[state.size],\n styles[state.appearance],\n state.root.className,\n );\n if (state.spinner) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);\n }\n if (state.spinnerTail) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinnerTail.className = clsx(\n spinnerClassNames.spinnerTail,\n styles.spinnerTail,\n dir === 'rtl' && styles.rtlTail,\n state.spinnerTail.className,\n );\n }\n if (state.label) {\n // eslint-disable-next-line react-hooks/immutability\n state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);\n }\n return state;\n};\n"],"names":["useFluent_unstable","useFluent","clsx","styles","spinnerClassNames","root","spinner","spinnerTail","label","useSpinnerStyles_unstable","state","dir","className","labelPosition","size","appearance","rtlTail"],"mappings":"AAAA;AACA,SAASA,sBAAsBC,SAAS,QAAQ,kCAAkC;AAClF,SAASC,IAAI,QAAQ,OAAO;AAG5B,OAAOC,YAAY,uBAAuB;AAE1C,OAAO,MAAMC,oBAAkD;IAC7DC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,OAAO;AACT,EAAE;AAEF,OAAO,MAAMC,4BAA4B,CAACC;IACxC,MAAM,EAAEC,GAAG,EAAE,GAAGV;IAChB,oDAAoD;IACpDS,MAAML,IAAI,CAACO,SAAS,GAAGV,KACrBE,kBAAkBC,IAAI,EACtBF,OAAOE,IAAI,EACXF,MAAM,CAACO,MAAMG,aAAa,CAAC,EAC3BV,MAAM,CAACO,MAAMI,IAAI,CAAC,EAClBX,MAAM,CAACO,MAAMK,UAAU,CAAC,EACxBL,MAAML,IAAI,CAACO,SAAS;IAEtB,IAAIF,MAAMJ,OAAO,EAAE;QACjB,oDAAoD;QACpDI,MAAMJ,OAAO,CAACM,SAAS,GAAGV,KAAKE,kBAAkBE,OAAO,EAAEH,OAAOG,OAAO,EAAEI,MAAMJ,OAAO,CAACM,SAAS;IACnG;IACA,IAAIF,MAAMH,WAAW,EAAE;QACrB,oDAAoD;QACpDG,MAAMH,WAAW,CAACK,SAAS,GAAGV,KAC5BE,kBAAkBG,WAAW,EAC7BJ,OAAOI,WAAW,EAClBI,QAAQ,SAASR,OAAOa,OAAO,EAC/BN,MAAMH,WAAW,CAACK,SAAS;IAE/B;IACA,IAAIF,MAAMF,KAAK,EAAE;QACf,oDAAoD;QACpDE,MAAMF,KAAK,CAACI,SAAS,GAAGV,KAAKE,kBAAkBI,KAAK,EAAEL,OAAOK,KAAK,EAAEE,MAAMF,KAAK,CAACI,SAAS;IAC3F;IACA,OAAOF;AACT,EAAE"}
@@ -1,28 +0,0 @@
1
- 'use client';
2
- import { useFluent_unstable as useFluent } from "@fluentui/react-shared-contexts";
3
- import { clsx } from "clsx";
4
- import styles from "./Spinner.module.css";
5
- export const spinnerClassNames = {
6
- root: 'fui-Spinner',
7
- spinner: 'fui-Spinner__spinner',
8
- spinnerTail: 'fui-Spinner__spinnerTail',
9
- label: 'fui-Spinner__label'
10
- };
11
- export const useSpinnerStyles_unstable = (state)=>{
12
- const { dir } = useFluent();
13
- // eslint-disable-next-line react-hooks/immutability
14
- state.root.className = clsx(spinnerClassNames.root, styles.root, styles[state.labelPosition], styles[state.size], styles[state.appearance], state.root.className);
15
- if (state.spinner) {
16
- // eslint-disable-next-line react-hooks/immutability
17
- state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);
18
- }
19
- if (state.spinnerTail) {
20
- // eslint-disable-next-line react-hooks/immutability
21
- state.spinnerTail.className = clsx(spinnerClassNames.spinnerTail, styles.spinnerTail, dir === 'rtl' && styles.rtlTail, state.spinnerTail.className);
22
- }
23
- if (state.label) {
24
- // eslint-disable-next-line react-hooks/immutability
25
- state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);
26
- }
27
- return state;
28
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/Spinner/useSpinnerStyles.styles.css.ts"],"sourcesContent":["'use client';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SpinnerState, SpinnerSlots } from './Spinner.types';\nimport styles from './Spinner.module.css';\n\nexport const spinnerClassNames: SlotClassNames<SpinnerSlots> = {\n root: 'fui-Spinner',\n spinner: 'fui-Spinner__spinner',\n spinnerTail: 'fui-Spinner__spinnerTail',\n label: 'fui-Spinner__label',\n};\n\nexport const useSpinnerStyles_unstable = (state: SpinnerState): SpinnerState => {\n const { dir } = useFluent();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = clsx(\n spinnerClassNames.root,\n styles.root,\n styles[state.labelPosition],\n styles[state.size],\n styles[state.appearance],\n state.root.className,\n );\n if (state.spinner) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);\n }\n if (state.spinnerTail) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinnerTail.className = clsx(\n spinnerClassNames.spinnerTail,\n styles.spinnerTail,\n dir === 'rtl' && styles.rtlTail,\n state.spinnerTail.className,\n );\n }\n if (state.label) {\n // eslint-disable-next-line react-hooks/immutability\n state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);\n }\n return state;\n};\n"],"names":["useFluent_unstable","useFluent","clsx","styles","spinnerClassNames","root","spinner","spinnerTail","label","useSpinnerStyles_unstable","state","dir","className","labelPosition","size","appearance","rtlTail"],"mappings":"AAAA;AACA,SAASA,sBAAsBC,SAAS,QAAQ,kCAAkC;AAClF,SAASC,IAAI,QAAQ,OAAO;AAG5B,OAAOC,YAAY,uBAAuB;AAE1C,OAAO,MAAMC,oBAAkD;IAC7DC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,OAAO;AACT,EAAE;AAEF,OAAO,MAAMC,4BAA4B,CAACC;IACxC,MAAM,EAAEC,GAAG,EAAE,GAAGV;IAChB,oDAAoD;IACpDS,MAAML,IAAI,CAACO,SAAS,GAAGV,KACrBE,kBAAkBC,IAAI,EACtBF,OAAOE,IAAI,EACXF,MAAM,CAACO,MAAMG,aAAa,CAAC,EAC3BV,MAAM,CAACO,MAAMI,IAAI,CAAC,EAClBX,MAAM,CAACO,MAAMK,UAAU,CAAC,EACxBL,MAAML,IAAI,CAACO,SAAS;IAEtB,IAAIF,MAAMJ,OAAO,EAAE;QACjB,oDAAoD;QACpDI,MAAMJ,OAAO,CAACM,SAAS,GAAGV,KAAKE,kBAAkBE,OAAO,EAAEH,OAAOG,OAAO,EAAEI,MAAMJ,OAAO,CAACM,SAAS;IACnG;IACA,IAAIF,MAAMH,WAAW,EAAE;QACrB,oDAAoD;QACpDG,MAAMH,WAAW,CAACK,SAAS,GAAGV,KAC5BE,kBAAkBG,WAAW,EAC7BJ,OAAOI,WAAW,EAClBI,QAAQ,SAASR,OAAOa,OAAO,EAC/BN,MAAMH,WAAW,CAACK,SAAS;IAE/B;IACA,IAAIF,MAAMF,KAAK,EAAE;QACf,oDAAoD;QACpDE,MAAMF,KAAK,CAACI,SAAS,GAAGV,KAAKE,kBAAkBI,KAAK,EAAEL,OAAOK,KAAK,EAAEE,MAAMF,KAAK,CAACI,SAAS;IAC3F;IACA,OAAOF;AACT,EAAE"}
@@ -1,327 +0,0 @@
1
- @layer fluentui {
2
- .root {
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- line-height: 0;
7
- gap: var(--spacingHorizontalS);
8
- overflow: hidden;
9
- min-width: min-content;
10
- }
11
-
12
- .above,
13
- .below {
14
- flex-direction: column;
15
- }
16
-
17
- .spinner {
18
- position: relative;
19
- flex-shrink: 0;
20
- mask-image: radial-gradient(
21
- closest-side,
22
- transparent calc(100% - var(--fui-Spinner--strokeWidth) - var(--strokeWidthThin)),
23
- var(--colorNeutralForegroundStaticInverted) calc(100% - var(--fui-Spinner--strokeWidth))
24
- calc(100% - var(--strokeWidthThin)),
25
- transparent 100%
26
- );
27
- background-color: var(--colorBrandStroke2Contrast);
28
- color: var(--colorBrandStroke1);
29
- animation-duration: 1.5s;
30
- animation-iteration-count: infinite;
31
- animation-timing-function: linear;
32
- animation-name: animation1;
33
- }
34
-
35
- .spinner:where(:dir(rtl)) {
36
- animation-name: animation1RTL;
37
- }
38
-
39
- .spinnerTail::before,
40
- .spinnerTail::after {
41
- content: '';
42
- position: absolute;
43
- display: block;
44
- width: 100%;
45
- height: 100%;
46
- animation: inherit;
47
- background-image: conic-gradient(currentcolor 135deg, transparent 135deg);
48
- }
49
-
50
- .spinnerTail::before {
51
- animation-name: animation3;
52
- }
53
-
54
- .spinnerTail:where(:dir(rtl))::before {
55
- animation-name: animation3RTL;
56
- }
57
-
58
- .spinnerTail::after {
59
- animation-name: animation4;
60
- }
61
-
62
- .spinnerTail:where(:dir(rtl))::after {
63
- animation-name: animation4RTL;
64
- }
65
-
66
- .spinnerTail {
67
- position: absolute;
68
- display: block;
69
- width: 100%;
70
- height: 100%;
71
- mask-image: conic-gradient(transparent 105deg, var(--colorNeutralForegroundStaticInverted) 105deg);
72
- animation-duration: 1.5s;
73
- animation-iteration-count: infinite;
74
- animation-timing-function: var(--curveEasyEase);
75
- animation-name: animation2;
76
- }
77
-
78
- .spinnerTail:where(:dir(rtl)) {
79
- animation-name: animation2RTL;
80
- }
81
-
82
- :where(.inverted) > .spinner {
83
- background-color: var(--colorNeutralStrokeAlpha2);
84
- color: var(--colorNeutralStrokeOnBrand2);
85
- }
86
-
87
- .rtlTail::before,
88
- .rtlTail::after {
89
- background-image: conic-gradient(transparent 225deg, currentcolor 225deg);
90
- }
91
-
92
- .rtlTail {
93
- mask-image: conic-gradient(var(--colorNeutralForegroundStaticInverted) 255deg, transparent 255deg);
94
- }
95
-
96
- :where(.extra-tiny) > .spinner {
97
- height: var(--spacingHorizontalL);
98
- width: var(--spacingHorizontalL);
99
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
100
- }
101
-
102
- :where(.extra-tiny) > .label {
103
- font-family: var(--fontFamilyBase);
104
- font-size: var(--fontSizeBase300);
105
- font-weight: var(--fontWeightRegular);
106
- line-height: var(--lineHeightBase300);
107
- }
108
-
109
- :where(.tiny) > .spinner {
110
- height: var(--spacingHorizontalXL);
111
- width: var(--spacingHorizontalXL);
112
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
113
- }
114
-
115
- :where(.tiny) > .label {
116
- font-family: var(--fontFamilyBase);
117
- font-size: var(--fontSizeBase300);
118
- font-weight: var(--fontWeightRegular);
119
- line-height: var(--lineHeightBase300);
120
- }
121
-
122
- :where(.extra-small) > .spinner {
123
- height: var(--spacingHorizontalXXL);
124
- width: var(--spacingHorizontalXXL);
125
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
126
- }
127
-
128
- :where(.extra-small) > .label {
129
- font-family: var(--fontFamilyBase);
130
- font-size: var(--fontSizeBase300);
131
- font-weight: var(--fontWeightRegular);
132
- line-height: var(--lineHeightBase300);
133
- }
134
-
135
- :where(.small) > .spinner {
136
- height: calc(var(--spacingHorizontalXS) * 7);
137
- width: calc(var(--spacingHorizontalXS) * 7);
138
- --fui-Spinner--strokeWidth: var(--strokeWidthThick);
139
- }
140
-
141
- :where(.small) > .label {
142
- font-family: var(--fontFamilyBase);
143
- font-size: var(--fontSizeBase300);
144
- font-weight: var(--fontWeightRegular);
145
- line-height: var(--lineHeightBase300);
146
- }
147
-
148
- :where(.medium) > .spinner {
149
- height: var(--spacingHorizontalXXXL);
150
- width: var(--spacingHorizontalXXXL);
151
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
152
- }
153
-
154
- :where(.medium) > .label {
155
- font-family: var(--fontFamilyBase);
156
- font-size: var(--fontSizeBase400);
157
- font-weight: var(--fontWeightSemibold);
158
- line-height: var(--lineHeightBase400);
159
- }
160
-
161
- :where(.large) > .spinner {
162
- height: calc(var(--spacingHorizontalXS) * 9);
163
- width: calc(var(--spacingHorizontalXS) * 9);
164
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
165
- }
166
-
167
- :where(.large) > .label {
168
- font-family: var(--fontFamilyBase);
169
- font-size: var(--fontSizeBase400);
170
- font-weight: var(--fontWeightSemibold);
171
- line-height: var(--lineHeightBase400);
172
- }
173
-
174
- :where(.extra-large) > .spinner {
175
- height: calc(var(--spacingHorizontalXS) * 10);
176
- width: calc(var(--spacingHorizontalXS) * 10);
177
- --fui-Spinner--strokeWidth: var(--strokeWidthThicker);
178
- }
179
-
180
- :where(.extra-large) > .label {
181
- font-family: var(--fontFamilyBase);
182
- font-size: var(--fontSizeBase400);
183
- font-weight: var(--fontWeightSemibold);
184
- line-height: var(--lineHeightBase400);
185
- }
186
-
187
- :where(.huge) > .spinner {
188
- height: calc(var(--spacingHorizontalXS) * 11);
189
- width: calc(var(--spacingHorizontalXS) * 11);
190
- --fui-Spinner--strokeWidth: var(--strokeWidthThickest);
191
- }
192
-
193
- :where(.huge) > .label {
194
- font-family: var(--fontFamilyBase);
195
- font-size: var(--fontSizeBase500);
196
- font-weight: var(--fontWeightSemibold);
197
- line-height: var(--lineHeightBase500);
198
- }
199
-
200
- :where(.inverted) > .label {
201
- color: var(--colorNeutralForegroundStaticInverted);
202
- }
203
-
204
- @media screen and (forced-colors: active) {
205
- .spinner {
206
- background-color: HighlightText;
207
- color: Highlight;
208
- forced-color-adjust: none;
209
- }
210
- }
211
-
212
- @media screen and (prefers-reduced-motion: reduce) {
213
- .spinner {
214
- animation-duration: 1.8s;
215
- }
216
- }
217
-
218
- @media screen and (prefers-reduced-motion: reduce) {
219
- .spinnerTail::before,
220
- .spinnerTail::after {
221
- content: none;
222
- }
223
- }
224
-
225
- @media screen and (prefers-reduced-motion: reduce) {
226
- .spinnerTail {
227
- animation-iteration-count: 0;
228
- background-image: conic-gradient(transparent 120deg, currentcolor 360deg);
229
- }
230
- }
231
-
232
- @media screen and (prefers-reduced-motion: reduce) {
233
- .rtlTail {
234
- background-image: conic-gradient(currentcolor 0deg, transparent 240deg);
235
- }
236
- }
237
-
238
- @keyframes animation1 {
239
- 0% {
240
- transform: rotate(0deg);
241
- }
242
- 100% {
243
- transform: rotate(360deg);
244
- }
245
- }
246
-
247
- @keyframes animation1RTL {
248
- 0% {
249
- transform: rotate(0deg);
250
- }
251
- 100% {
252
- transform: rotate(-360deg);
253
- }
254
- }
255
-
256
- @keyframes animation2 {
257
- 0% {
258
- transform: rotate(-135deg);
259
- }
260
- 50% {
261
- transform: rotate(0deg);
262
- }
263
- 100% {
264
- transform: rotate(225deg);
265
- }
266
- }
267
-
268
- @keyframes animation2RTL {
269
- 0% {
270
- transform: rotate(135deg);
271
- }
272
- 50% {
273
- transform: rotate(0deg);
274
- }
275
- 100% {
276
- transform: rotate(-225deg);
277
- }
278
- }
279
-
280
- @keyframes animation3 {
281
- 0% {
282
- transform: rotate(0deg);
283
- }
284
- 50% {
285
- transform: rotate(105deg);
286
- }
287
- 100% {
288
- transform: rotate(0deg);
289
- }
290
- }
291
-
292
- @keyframes animation3RTL {
293
- 0% {
294
- transform: rotate(0deg);
295
- }
296
- 50% {
297
- transform: rotate(-105deg);
298
- }
299
- 100% {
300
- transform: rotate(0deg);
301
- }
302
- }
303
-
304
- @keyframes animation4 {
305
- 0% {
306
- transform: rotate(0deg);
307
- }
308
- 50% {
309
- transform: rotate(225deg);
310
- }
311
- 100% {
312
- transform: rotate(0deg);
313
- }
314
- }
315
-
316
- @keyframes animation4RTL {
317
- 0% {
318
- transform: rotate(0deg);
319
- }
320
- 50% {
321
- transform: rotate(-225deg);
322
- }
323
- 100% {
324
- transform: rotate(0deg);
325
- }
326
- }
327
- }
@@ -1,47 +0,0 @@
1
- 'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get spinnerClassNames () {
14
- return spinnerClassNames;
15
- },
16
- get useSpinnerStyles_unstable () {
17
- return useSpinnerStyles_unstable;
18
- }
19
- });
20
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
21
- const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
22
- const _clsx = require("clsx");
23
- const _Spinnermodulecss = /*#__PURE__*/ _interop_require_default._(require("./Spinner.module.css"));
24
- const spinnerClassNames = {
25
- root: 'fui-Spinner',
26
- spinner: 'fui-Spinner__spinner',
27
- spinnerTail: 'fui-Spinner__spinnerTail',
28
- label: 'fui-Spinner__label'
29
- };
30
- const useSpinnerStyles_unstable = (state)=>{
31
- const { dir } = (0, _reactsharedcontexts.useFluent_unstable)();
32
- // eslint-disable-next-line react-hooks/immutability
33
- state.root.className = (0, _clsx.clsx)(spinnerClassNames.root, _Spinnermodulecss.default.root, _Spinnermodulecss.default[state.labelPosition], _Spinnermodulecss.default[state.size], _Spinnermodulecss.default[state.appearance], state.root.className);
34
- if (state.spinner) {
35
- // eslint-disable-next-line react-hooks/immutability
36
- state.spinner.className = (0, _clsx.clsx)(spinnerClassNames.spinner, _Spinnermodulecss.default.spinner, state.spinner.className);
37
- }
38
- if (state.spinnerTail) {
39
- // eslint-disable-next-line react-hooks/immutability
40
- state.spinnerTail.className = (0, _clsx.clsx)(spinnerClassNames.spinnerTail, _Spinnermodulecss.default.spinnerTail, dir === 'rtl' && _Spinnermodulecss.default.rtlTail, state.spinnerTail.className);
41
- }
42
- if (state.label) {
43
- // eslint-disable-next-line react-hooks/immutability
44
- state.label.className = (0, _clsx.clsx)(spinnerClassNames.label, _Spinnermodulecss.default.label, state.label.className);
45
- }
46
- return state;
47
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/Spinner/useSpinnerStyles.styles.css.ts"],"sourcesContent":["'use client';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SpinnerState, SpinnerSlots } from './Spinner.types';\nimport styles from './Spinner.module.css';\n\nexport const spinnerClassNames: SlotClassNames<SpinnerSlots> = {\n root: 'fui-Spinner',\n spinner: 'fui-Spinner__spinner',\n spinnerTail: 'fui-Spinner__spinnerTail',\n label: 'fui-Spinner__label',\n};\n\nexport const useSpinnerStyles_unstable = (state: SpinnerState): SpinnerState => {\n const { dir } = useFluent();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = clsx(\n spinnerClassNames.root,\n styles.root,\n styles[state.labelPosition],\n styles[state.size],\n styles[state.appearance],\n state.root.className,\n );\n if (state.spinner) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);\n }\n if (state.spinnerTail) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinnerTail.className = clsx(\n spinnerClassNames.spinnerTail,\n styles.spinnerTail,\n dir === 'rtl' && styles.rtlTail,\n state.spinnerTail.className,\n );\n }\n if (state.label) {\n // eslint-disable-next-line react-hooks/immutability\n state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);\n }\n return state;\n};\n"],"names":["useFluent_unstable","useFluent","clsx","styles","spinnerClassNames","root","spinner","spinnerTail","label","useSpinnerStyles_unstable","state","dir","className","labelPosition","size","appearance","rtlTail"],"mappings":"AAAA;;;;;;;;;;;;QAOaI;;;;;;;;qCANmC,kCAAkC;sBAC7D,OAAO;2EAGT,uBAAuB;AAEnC,0BAAwD;IAC7DC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,OAAO;AACT,EAAE;AAEK,MAAMC,4BAA4B,CAACC;IACxC,MAAM,EAAEC,GAAG,EAAE,OAAGV,uCAAAA;IAChB,oDAAoD;IACpDS,MAAML,IAAI,CAACO,SAAS,OAAGV,UAAAA,EACrBE,kBAAkBC,IAAI,EACtBF,yBAAAA,CAAOE,IAAI,EACXF,yBAAM,CAACO,MAAMG,aAAa,CAAC,EAC3BV,yBAAM,CAACO,MAAMI,IAAI,CAAC,EAClBX,yBAAM,CAACO,MAAMK,UAAU,CAAC,EACxBL,MAAML,IAAI,CAACO,SAAS;IAEtB,IAAIF,MAAMJ,OAAO,EAAE;QACjB,oDAAoD;QACpDI,MAAMJ,OAAO,CAACM,SAAS,OAAGV,UAAAA,EAAKE,kBAAkBE,OAAO,EAAEH,yBAAAA,CAAOG,OAAO,EAAEI,MAAMJ,OAAO,CAACM,SAAS;IACnG;IACA,IAAIF,MAAMH,WAAW,EAAE;QACrB,oDAAoD;QACpDG,MAAMH,WAAW,CAACK,SAAS,OAAGV,UAAAA,EAC5BE,kBAAkBG,WAAW,EAC7BJ,yBAAAA,CAAOI,WAAW,EAClBI,QAAQ,SAASR,yBAAAA,CAAOa,OAAO,EAC/BN,MAAMH,WAAW,CAACK,SAAS;IAE/B;IACA,IAAIF,MAAMF,KAAK,EAAE;QACf,oDAAoD;QACpDE,MAAMF,KAAK,CAACI,SAAS,OAAGV,UAAAA,EAAKE,kBAAkBI,KAAK,EAAEL,yBAAAA,CAAOK,KAAK,EAAEE,MAAMF,KAAK,CAACI,SAAS;IAC3F;IACA,OAAOF;AACT,EAAE"}
@@ -1,47 +0,0 @@
1
- 'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get spinnerClassNames () {
14
- return spinnerClassNames;
15
- },
16
- get useSpinnerStyles_unstable () {
17
- return useSpinnerStyles_unstable;
18
- }
19
- });
20
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
21
- const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
22
- const _clsx = require("clsx");
23
- const _Spinnermodulecss = /*#__PURE__*/ _interop_require_default._(require("./Spinner.module.css"));
24
- const spinnerClassNames = {
25
- root: 'fui-Spinner',
26
- spinner: 'fui-Spinner__spinner',
27
- spinnerTail: 'fui-Spinner__spinnerTail',
28
- label: 'fui-Spinner__label'
29
- };
30
- const useSpinnerStyles_unstable = (state)=>{
31
- const { dir } = (0, _reactsharedcontexts.useFluent_unstable)();
32
- // eslint-disable-next-line react-hooks/immutability
33
- state.root.className = (0, _clsx.clsx)(spinnerClassNames.root, _Spinnermodulecss.default.root, _Spinnermodulecss.default[state.labelPosition], _Spinnermodulecss.default[state.size], _Spinnermodulecss.default[state.appearance], state.root.className);
34
- if (state.spinner) {
35
- // eslint-disable-next-line react-hooks/immutability
36
- state.spinner.className = (0, _clsx.clsx)(spinnerClassNames.spinner, _Spinnermodulecss.default.spinner, state.spinner.className);
37
- }
38
- if (state.spinnerTail) {
39
- // eslint-disable-next-line react-hooks/immutability
40
- state.spinnerTail.className = (0, _clsx.clsx)(spinnerClassNames.spinnerTail, _Spinnermodulecss.default.spinnerTail, dir === 'rtl' && _Spinnermodulecss.default.rtlTail, state.spinnerTail.className);
41
- }
42
- if (state.label) {
43
- // eslint-disable-next-line react-hooks/immutability
44
- state.label.className = (0, _clsx.clsx)(spinnerClassNames.label, _Spinnermodulecss.default.label, state.label.className);
45
- }
46
- return state;
47
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/Spinner/useSpinnerStyles.styles.css.ts"],"sourcesContent":["'use client';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { clsx } from 'clsx';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SpinnerState, SpinnerSlots } from './Spinner.types';\nimport styles from './Spinner.module.css';\n\nexport const spinnerClassNames: SlotClassNames<SpinnerSlots> = {\n root: 'fui-Spinner',\n spinner: 'fui-Spinner__spinner',\n spinnerTail: 'fui-Spinner__spinnerTail',\n label: 'fui-Spinner__label',\n};\n\nexport const useSpinnerStyles_unstable = (state: SpinnerState): SpinnerState => {\n const { dir } = useFluent();\n // eslint-disable-next-line react-hooks/immutability\n state.root.className = clsx(\n spinnerClassNames.root,\n styles.root,\n styles[state.labelPosition],\n styles[state.size],\n styles[state.appearance],\n state.root.className,\n );\n if (state.spinner) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinner.className = clsx(spinnerClassNames.spinner, styles.spinner, state.spinner.className);\n }\n if (state.spinnerTail) {\n // eslint-disable-next-line react-hooks/immutability\n state.spinnerTail.className = clsx(\n spinnerClassNames.spinnerTail,\n styles.spinnerTail,\n dir === 'rtl' && styles.rtlTail,\n state.spinnerTail.className,\n );\n }\n if (state.label) {\n // eslint-disable-next-line react-hooks/immutability\n state.label.className = clsx(spinnerClassNames.label, styles.label, state.label.className);\n }\n return state;\n};\n"],"names":["useFluent_unstable","useFluent","clsx","styles","spinnerClassNames","root","spinner","spinnerTail","label","useSpinnerStyles_unstable","state","dir","className","labelPosition","size","appearance","rtlTail"],"mappings":"AAAA;;;;;;;;;;;;QAOaI;;;;;;;;qCANmC,kCAAkC;sBAC7D,OAAO;2EAGT,uBAAuB;AAEnC,0BAAwD;IAC7DC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,OAAO;AACT,EAAE;AAEK,MAAMC,4BAA4B,CAACC;IACxC,MAAM,EAAEC,GAAG,EAAE,OAAGV,uCAAAA;IAChB,oDAAoD;IACpDS,MAAML,IAAI,CAACO,SAAS,OAAGV,UAAAA,EACrBE,kBAAkBC,IAAI,EACtBF,yBAAAA,CAAOE,IAAI,EACXF,yBAAM,CAACO,MAAMG,aAAa,CAAC,EAC3BV,yBAAM,CAACO,MAAMI,IAAI,CAAC,EAClBX,yBAAM,CAACO,MAAMK,UAAU,CAAC,EACxBL,MAAML,IAAI,CAACO,SAAS;IAEtB,IAAIF,MAAMJ,OAAO,EAAE;QACjB,oDAAoD;QACpDI,MAAMJ,OAAO,CAACM,SAAS,OAAGV,UAAAA,EAAKE,kBAAkBE,OAAO,EAAEH,yBAAAA,CAAOG,OAAO,EAAEI,MAAMJ,OAAO,CAACM,SAAS;IACnG;IACA,IAAIF,MAAMH,WAAW,EAAE;QACrB,oDAAoD;QACpDG,MAAMH,WAAW,CAACK,SAAS,OAAGV,UAAAA,EAC5BE,kBAAkBG,WAAW,EAC7BJ,yBAAAA,CAAOI,WAAW,EAClBI,QAAQ,SAASR,yBAAAA,CAAOa,OAAO,EAC/BN,MAAMH,WAAW,CAACK,SAAS;IAE/B;IACA,IAAIF,MAAMF,KAAK,EAAE;QACf,oDAAoD;QACpDE,MAAMF,KAAK,CAACI,SAAS,OAAGV,UAAAA,EAAKE,kBAAkBI,KAAK,EAAEL,yBAAAA,CAAOK,KAAK,EAAEE,MAAMF,KAAK,CAACI,SAAS;IAC3F;IACA,OAAOF;AACT,EAAE"}