@fluentui/react-spinbutton 0.0.0-nightly-20230530-0415.1 → 0.0.0-nightly-20230601-0418.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 (50) hide show
  1. package/CHANGELOG.json +64 -19
  2. package/CHANGELOG.md +26 -12
  3. package/lib/SpinButton.js +0 -2
  4. package/lib/SpinButton.js.map +1 -1
  5. package/lib/components/SpinButton/SpinButton.js +0 -2
  6. package/lib/components/SpinButton/SpinButton.js.map +1 -1
  7. package/lib/components/SpinButton/SpinButton.types.js +0 -2
  8. package/lib/components/SpinButton/SpinButton.types.js.map +1 -1
  9. package/lib/components/SpinButton/index.js +0 -2
  10. package/lib/components/SpinButton/index.js.map +1 -1
  11. package/lib/components/SpinButton/renderSpinButton.js +0 -2
  12. package/lib/components/SpinButton/renderSpinButton.js.map +1 -1
  13. package/lib/components/SpinButton/useSpinButton.js +0 -2
  14. package/lib/components/SpinButton/useSpinButton.js.map +1 -1
  15. package/lib/components/SpinButton/useSpinButtonStyles.styles.js.map +1 -1
  16. package/lib/index.js +0 -2
  17. package/lib/index.js.map +1 -1
  18. package/lib/utils/clamp.js +0 -2
  19. package/lib/utils/clamp.js.map +1 -1
  20. package/lib/utils/getBound.js +0 -2
  21. package/lib/utils/getBound.js.map +1 -1
  22. package/lib/utils/index.js +0 -2
  23. package/lib/utils/index.js.map +1 -1
  24. package/lib/utils/precision.js +0 -2
  25. package/lib/utils/precision.js.map +1 -1
  26. package/lib-commonjs/SpinButton.js +0 -3
  27. package/lib-commonjs/SpinButton.js.map +1 -1
  28. package/lib-commonjs/components/SpinButton/SpinButton.js +1 -3
  29. package/lib-commonjs/components/SpinButton/SpinButton.js.map +1 -1
  30. package/lib-commonjs/components/SpinButton/SpinButton.types.js +0 -3
  31. package/lib-commonjs/components/SpinButton/SpinButton.types.js.map +1 -1
  32. package/lib-commonjs/components/SpinButton/index.js +0 -3
  33. package/lib-commonjs/components/SpinButton/index.js.map +1 -1
  34. package/lib-commonjs/components/SpinButton/renderSpinButton.js +1 -3
  35. package/lib-commonjs/components/SpinButton/renderSpinButton.js.map +1 -1
  36. package/lib-commonjs/components/SpinButton/useSpinButton.js +1 -3
  37. package/lib-commonjs/components/SpinButton/useSpinButton.js.map +1 -1
  38. package/lib-commonjs/components/SpinButton/useSpinButtonStyles.styles.js +0 -2
  39. package/lib-commonjs/components/SpinButton/useSpinButtonStyles.styles.js.map +1 -1
  40. package/lib-commonjs/index.js +0 -3
  41. package/lib-commonjs/index.js.map +1 -1
  42. package/lib-commonjs/utils/clamp.js +1 -3
  43. package/lib-commonjs/utils/clamp.js.map +1 -1
  44. package/lib-commonjs/utils/getBound.js +1 -3
  45. package/lib-commonjs/utils/getBound.js.map +1 -1
  46. package/lib-commonjs/utils/index.js +0 -3
  47. package/lib-commonjs/utils/index.js.map +1 -1
  48. package/lib-commonjs/utils/precision.js +1 -3
  49. package/lib-commonjs/utils/precision.js.map +1 -1
  50. package/package.json +10 -10
package/CHANGELOG.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "@fluentui/react-spinbutton",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 30 May 2023 04:21:03 GMT",
6
- "tag": "@fluentui/react-spinbutton_v0.0.0-nightly-20230530-0415.1",
7
- "version": "0.0.0-nightly-20230530-0415.1",
5
+ "date": "Thu, 01 Jun 2023 04:23:38 GMT",
6
+ "tag": "@fluentui/react-spinbutton_v0.0.0-nightly-20230601-0418.1",
7
+ "version": "0.0.0-nightly-20230601-0418.1",
8
8
  "comments": {
9
9
  "prerelease": [
10
10
  {
@@ -16,50 +16,95 @@
16
16
  {
17
17
  "author": "beachball",
18
18
  "package": "@fluentui/react-spinbutton",
19
- "comment": "Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230530-0415.1",
20
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
19
+ "comment": "Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230601-0418.1",
20
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
21
21
  },
22
22
  {
23
23
  "author": "beachball",
24
24
  "package": "@fluentui/react-spinbutton",
25
- "comment": "Bump @fluentui/react-field to v0.0.0-nightly-20230530-0415.1",
26
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
25
+ "comment": "Bump @fluentui/react-field to v0.0.0-nightly-20230601-0418.1",
26
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
27
27
  },
28
28
  {
29
29
  "author": "beachball",
30
30
  "package": "@fluentui/react-spinbutton",
31
- "comment": "Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230530-0415.1",
32
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
31
+ "comment": "Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230601-0418.1",
32
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
33
33
  },
34
34
  {
35
35
  "author": "beachball",
36
36
  "package": "@fluentui/react-spinbutton",
37
- "comment": "Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230530-0415.1",
38
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
37
+ "comment": "Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230601-0418.1",
38
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
39
39
  },
40
40
  {
41
41
  "author": "beachball",
42
42
  "package": "@fluentui/react-spinbutton",
43
- "comment": "Bump @fluentui/react-theme to v0.0.0-nightly-20230530-0415.1",
44
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
43
+ "comment": "Bump @fluentui/react-theme to v0.0.0-nightly-20230601-0418.1",
44
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
45
45
  },
46
46
  {
47
47
  "author": "beachball",
48
48
  "package": "@fluentui/react-spinbutton",
49
- "comment": "Bump @fluentui/react-utilities to v0.0.0-nightly-20230530-0415.1",
50
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
49
+ "comment": "Bump @fluentui/react-utilities to v0.0.0-nightly-20230601-0418.1",
50
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
51
51
  },
52
52
  {
53
53
  "author": "beachball",
54
54
  "package": "@fluentui/react-spinbutton",
55
- "comment": "Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230530-0415.1",
56
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
55
+ "comment": "Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230601-0418.1",
56
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
57
57
  },
58
58
  {
59
59
  "author": "beachball",
60
60
  "package": "@fluentui/react-spinbutton",
61
- "comment": "Bump @fluentui/react-label to v0.0.0-nightly-20230530-0415.1",
62
- "commit": "808fbe4052231d4cccf478348a770df18232f4f9"
61
+ "comment": "Bump @fluentui/react-label to v0.0.0-nightly-20230601-0418.1",
62
+ "commit": "cff4b1279089b5951ed39ce6213d3bdd6d573d0b"
63
+ }
64
+ ]
65
+ }
66
+ },
67
+ {
68
+ "date": "Wed, 31 May 2023 06:46:19 GMT",
69
+ "tag": "@fluentui/react-spinbutton_v9.2.16",
70
+ "version": "9.2.16",
71
+ "comments": {
72
+ "patch": [
73
+ {
74
+ "author": "seanmonahan@microsoft.com",
75
+ "package": "@fluentui/react-spinbutton",
76
+ "commit": "d640b972d7ac86bfb76ae6c6329f12cdd33b3b7c",
77
+ "comment": "chore: Update Griffel to v1.5.7."
78
+ },
79
+ {
80
+ "author": "beachball",
81
+ "package": "@fluentui/react-spinbutton",
82
+ "comment": "Bump @fluentui/react-field to v9.1.6",
83
+ "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713"
84
+ },
85
+ {
86
+ "author": "beachball",
87
+ "package": "@fluentui/react-spinbutton",
88
+ "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.6",
89
+ "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713"
90
+ },
91
+ {
92
+ "author": "beachball",
93
+ "package": "@fluentui/react-spinbutton",
94
+ "comment": "Bump @fluentui/react-utilities to v9.9.2",
95
+ "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713"
96
+ },
97
+ {
98
+ "author": "beachball",
99
+ "package": "@fluentui/react-spinbutton",
100
+ "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.22",
101
+ "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713"
102
+ },
103
+ {
104
+ "author": "beachball",
105
+ "package": "@fluentui/react-spinbutton",
106
+ "comment": "Bump @fluentui/react-label to v9.1.15",
107
+ "commit": "17ca96c6b7f684f36a5c63e40e78b4986a86c713"
63
108
  }
64
109
  ]
65
110
  }
package/CHANGELOG.md CHANGED
@@ -1,25 +1,39 @@
1
1
  # Change Log - @fluentui/react-spinbutton
2
2
 
3
- This log was last generated on Tue, 30 May 2023 04:21:03 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 01 Jun 2023 04:23:38 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [0.0.0-nightly-20230530-0415.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v0.0.0-nightly-20230530-0415.1)
7
+ ## [0.0.0-nightly-20230601-0418.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v0.0.0-nightly-20230601-0418.1)
8
8
 
9
- Tue, 30 May 2023 04:21:03 GMT
10
- [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.15..@fluentui/react-spinbutton_v0.0.0-nightly-20230530-0415.1)
9
+ Thu, 01 Jun 2023 04:23:38 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.16..@fluentui/react-spinbutton_v0.0.0-nightly-20230601-0418.1)
11
11
 
12
12
  ### Changes
13
13
 
14
14
  - Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
15
- - Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
16
- - Bump @fluentui/react-field to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
17
- - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
18
- - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
19
- - Bump @fluentui/react-theme to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
20
- - Bump @fluentui/react-utilities to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
21
- - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
22
- - Bump @fluentui/react-label to v0.0.0-nightly-20230530-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/808fbe4052231d4cccf478348a770df18232f4f9) by beachball)
15
+ - Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
16
+ - Bump @fluentui/react-field to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
17
+ - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
18
+ - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
19
+ - Bump @fluentui/react-theme to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
20
+ - Bump @fluentui/react-utilities to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
21
+ - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
22
+ - Bump @fluentui/react-label to v0.0.0-nightly-20230601-0418.1 ([commit](https://github.com/microsoft/fluentui/commit/cff4b1279089b5951ed39ce6213d3bdd6d573d0b) by beachball)
23
+
24
+ ## [9.2.16](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.16)
25
+
26
+ Wed, 31 May 2023 06:46:19 GMT
27
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.15..@fluentui/react-spinbutton_v9.2.16)
28
+
29
+ ### Patches
30
+
31
+ - chore: Update Griffel to v1.5.7. ([PR #27925](https://github.com/microsoft/fluentui/pull/27925) by seanmonahan@microsoft.com)
32
+ - Bump @fluentui/react-field to v9.1.6 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball)
33
+ - Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.6 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball)
34
+ - Bump @fluentui/react-utilities to v9.9.2 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball)
35
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.22 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball)
36
+ - Bump @fluentui/react-label to v9.1.15 ([PR #28054](https://github.com/microsoft/fluentui/pull/28054) by beachball)
23
37
 
24
38
  ## [9.2.15](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.15)
25
39
 
package/lib/SpinButton.js CHANGED
@@ -1,3 +1 @@
1
1
  export * from './components/SpinButton/index';
2
-
3
- //# sourceMappingURL=SpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/SpinButton.ts"],"sourcesContent":["export * from './components/SpinButton/index';\n"],"names":[],"mappings":"AAAA,cAAc,gCAAgC"}
1
+ {"version":3,"sources":["SpinButton.ts"],"sourcesContent":["export * from './components/SpinButton/index';\n"],"names":[],"mappings":"AAAA,cAAc,gCAAgC"}
@@ -12,5 +12,3 @@ import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
12
12
  return renderSpinButton_unstable(state);
13
13
  });
14
14
  SpinButton.displayName = 'SpinButton';
15
-
16
- //# sourceMappingURL=SpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SpinButton/SpinButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useSpinButton_unstable } from './useSpinButton';\nimport { renderSpinButton_unstable } from './renderSpinButton';\nimport { useSpinButtonStyles_unstable } from './useSpinButtonStyles.styles';\nimport type { SpinButtonProps } from './SpinButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A SpinButton allows someone to incrementally adjust a value in small steps.\n */\nexport const SpinButton: ForwardRefComponent<SpinButtonProps> = React.forwardRef((props, ref) => {\n const state = useSpinButton_unstable(props, ref);\n\n useSpinButtonStyles_unstable(state);\n\n useCustomStyleHook_unstable('useSpinButtonStyles_unstable')(state);\n\n return renderSpinButton_unstable(state);\n});\n\nSpinButton.displayName = 'SpinButton';\n"],"names":["React","useSpinButton_unstable","renderSpinButton_unstable","useSpinButtonStyles_unstable","useCustomStyleHook_unstable","SpinButton","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,+BAA+B;AAG5E,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,2BAAmDL,MAAMM,UAAU,CAAC,CAACC,OAAOC,MAAQ;IAC/F,MAAMC,QAAQR,uBAAuBM,OAAOC;IAE5CL,6BAA6BM;IAE7BL,4BAA4B,gCAAgCK;IAE5D,OAAOP,0BAA0BO;AACnC,GAAG;AAEHJ,WAAWK,WAAW,GAAG"}
1
+ {"version":3,"sources":["SpinButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useSpinButton_unstable } from './useSpinButton';\nimport { renderSpinButton_unstable } from './renderSpinButton';\nimport { useSpinButtonStyles_unstable } from './useSpinButtonStyles.styles';\nimport type { SpinButtonProps } from './SpinButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A SpinButton allows someone to incrementally adjust a value in small steps.\n */\nexport const SpinButton: ForwardRefComponent<SpinButtonProps> = React.forwardRef((props, ref) => {\n const state = useSpinButton_unstable(props, ref);\n\n useSpinButtonStyles_unstable(state);\n\n useCustomStyleHook_unstable('useSpinButtonStyles_unstable')(state);\n\n return renderSpinButton_unstable(state);\n});\n\nSpinButton.displayName = 'SpinButton';\n"],"names":["React","useSpinButton_unstable","renderSpinButton_unstable","useSpinButtonStyles_unstable","useCustomStyleHook_unstable","SpinButton","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,+BAA+B;AAG5E,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,2BAAmDL,MAAMM,UAAU,CAAC,CAACC,OAAOC,MAAQ;IAC/F,MAAMC,QAAQR,uBAAuBM,OAAOC;IAE5CL,6BAA6BM;IAE7BL,4BAA4B,gCAAgCK;IAE5D,OAAOP,0BAA0BO;AACnC,GAAG;AAEHJ,WAAWK,WAAW,GAAG"}
@@ -1,3 +1 @@
1
1
  import * as React from 'react';
2
-
3
- //# sourceMappingURL=SpinButton.types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SpinButton/SpinButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type SpinButtonSlots = {\n /**\n * The root element of SpinButton is a container `<div>`.\n * The root slot receives the `className` and `style` specified on the `<SpinButton>`.\n * All other native props are applied to the primary slot: `input`.\n */\n root: NonNullable<Slot<'span'>>;\n\n /**\n * Input that displays the current value and accepts direct input from the user.\n * Displayed value is formatted.\n *\n * This is the primary slot.\n */\n input: NonNullable<Slot<'input'>>;\n\n /**\n * Renders the increment control.\n */\n incrementButton: NonNullable<Slot<'button'>>;\n\n /**\n * Renders the decrement control.\n */\n decrementButton: NonNullable<Slot<'button'>>;\n};\n\n/**\n * SpinButton Props\n */\nexport type SpinButtonProps = Omit<\n ComponentProps<Partial<SpinButtonSlots>, 'input'>,\n 'defaultValue' | 'onChange' | 'size' | 'value'\n> & {\n /**\n * Controls the colors and borders of the input.\n * @default 'outline'\n */\n appearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';\n\n /**\n * Initial value of the control (assumed to be valid). Updates to this prop will not be respected.\n *\n * Use this if you intend for the SpinButton to be an uncontrolled component which maintains its\n * own value. For a controlled component, use `value` instead. (Mutually exclusive with `value`.)\n *\n * Use `null` to indicate the control has no value.\n */\n defaultValue?: number | null;\n\n /**\n * String representation of `value`.\n *\n * Use this when displaying the value to users as something other than a plain number.\n * For example, when displaying currency values this might be \"$1.00\" when value is `1`.\n *\n * Only provide this if the SpinButton is a controlled component where you are maintaining its\n * current state and passing updates based on change events. When SpinButton is used as an\n * uncontrolled component this prop is ignored.\n */\n displayValue?: string;\n\n /**\n * Max value of the control. If not provided, the control has no maximum value.\n */\n max?: number;\n\n /**\n * Min value of the control. If not provided, the control has no minimum value.\n */\n min?: number;\n\n /**\n * Callback for when the committed value changes.\n * - User presses the up/down buttons (on single press or every spin)\n * - User presses the up/down arrow keys (on single press or every spin)\n * - User *commits* edits to the input text by focusing away (blurring) or pressing enter.\n * Note that this is NOT called for every key press while the user is editing.\n */\n onChange?: (event: SpinButtonChangeEvent, data: SpinButtonOnChangeData) => void;\n\n /**\n * How many decimal places the value should be rounded to.\n *\n * The default is calculated based on the precision of `step`: i.e. if step = 1, precision = 0.\n * step = 0.0089, precision = 4. step = 300, precision = 2. step = 23.00, precision = 2.\n */\n precision?: number;\n\n /**\n * Size of the input.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * Difference between two adjacent values of the control.\n * This value is used to calculate the precision of the input if no `precision` is given.\n * The precision calculated this way will always be greater than or equal 0.\n * @default 1\n */\n step?: number;\n\n /**\n * Large difference between two values. This should be greater than `step` and is used\n * when users hit the Page Up or Page Down keys.\n * @default 1\n */\n stepPage?: number;\n\n /**\n * Current value of the control (assumed to be valid).\n *\n * Only provide this if the SpinButton is a controlled component where you are maintaining its\n * current state and passing updates based on change events; otherwise, use the `defaultValue`\n * property.\n *\n * Use `null` to indicate the control has no value.\n *\n * Mutually exclusive with `defaultValue`.\n */\n value?: number | null;\n};\n\n/**\n * State used in rendering SpinButton\n */\nexport type SpinButtonState = ComponentState<SpinButtonSlots> &\n Required<Pick<SpinButtonProps, 'appearance' | 'size'>> & {\n /**\n * State used to track which direction, if any, SpinButton is currently spinning.\n * @default 'rest'\n */\n spinState: SpinButtonSpinState;\n\n /**\n * State used to track if the value is at the range bounds of [min-max].\n * @default 'none'\n */\n atBound: SpinButtonBounds;\n };\n\nexport type SpinButtonChangeEvent =\n | React.MouseEvent<HTMLButtonElement>\n | React.ChangeEvent<HTMLElement>\n | React.FocusEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>;\n\nexport type SpinButtonOnChangeData = {\n value?: number | null;\n displayValue?: string;\n};\n\nexport type SpinButtonSpinState = 'rest' | 'up' | 'down';\nexport type SpinButtonBounds = 'none' | 'min' | 'max' | 'both';\n"],"names":["React"],"mappings":"AACA,YAAYA,WAAW,QAAQ"}
1
+ {"version":3,"sources":["SpinButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport * as React from 'react';\n\nexport type SpinButtonSlots = {\n /**\n * The root element of SpinButton is a container `<div>`.\n * The root slot receives the `className` and `style` specified on the `<SpinButton>`.\n * All other native props are applied to the primary slot: `input`.\n */\n root: NonNullable<Slot<'span'>>;\n\n /**\n * Input that displays the current value and accepts direct input from the user.\n * Displayed value is formatted.\n *\n * This is the primary slot.\n */\n input: NonNullable<Slot<'input'>>;\n\n /**\n * Renders the increment control.\n */\n incrementButton: NonNullable<Slot<'button'>>;\n\n /**\n * Renders the decrement control.\n */\n decrementButton: NonNullable<Slot<'button'>>;\n};\n\n/**\n * SpinButton Props\n */\nexport type SpinButtonProps = Omit<\n ComponentProps<Partial<SpinButtonSlots>, 'input'>,\n 'defaultValue' | 'onChange' | 'size' | 'value'\n> & {\n /**\n * Controls the colors and borders of the input.\n * @default 'outline'\n */\n appearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';\n\n /**\n * Initial value of the control (assumed to be valid). Updates to this prop will not be respected.\n *\n * Use this if you intend for the SpinButton to be an uncontrolled component which maintains its\n * own value. For a controlled component, use `value` instead. (Mutually exclusive with `value`.)\n *\n * Use `null` to indicate the control has no value.\n */\n defaultValue?: number | null;\n\n /**\n * String representation of `value`.\n *\n * Use this when displaying the value to users as something other than a plain number.\n * For example, when displaying currency values this might be \"$1.00\" when value is `1`.\n *\n * Only provide this if the SpinButton is a controlled component where you are maintaining its\n * current state and passing updates based on change events. When SpinButton is used as an\n * uncontrolled component this prop is ignored.\n */\n displayValue?: string;\n\n /**\n * Max value of the control. If not provided, the control has no maximum value.\n */\n max?: number;\n\n /**\n * Min value of the control. If not provided, the control has no minimum value.\n */\n min?: number;\n\n /**\n * Callback for when the committed value changes.\n * - User presses the up/down buttons (on single press or every spin)\n * - User presses the up/down arrow keys (on single press or every spin)\n * - User *commits* edits to the input text by focusing away (blurring) or pressing enter.\n * Note that this is NOT called for every key press while the user is editing.\n */\n onChange?: (event: SpinButtonChangeEvent, data: SpinButtonOnChangeData) => void;\n\n /**\n * How many decimal places the value should be rounded to.\n *\n * The default is calculated based on the precision of `step`: i.e. if step = 1, precision = 0.\n * step = 0.0089, precision = 4. step = 300, precision = 2. step = 23.00, precision = 2.\n */\n precision?: number;\n\n /**\n * Size of the input.\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * Difference between two adjacent values of the control.\n * This value is used to calculate the precision of the input if no `precision` is given.\n * The precision calculated this way will always be greater than or equal 0.\n * @default 1\n */\n step?: number;\n\n /**\n * Large difference between two values. This should be greater than `step` and is used\n * when users hit the Page Up or Page Down keys.\n * @default 1\n */\n stepPage?: number;\n\n /**\n * Current value of the control (assumed to be valid).\n *\n * Only provide this if the SpinButton is a controlled component where you are maintaining its\n * current state and passing updates based on change events; otherwise, use the `defaultValue`\n * property.\n *\n * Use `null` to indicate the control has no value.\n *\n * Mutually exclusive with `defaultValue`.\n */\n value?: number | null;\n};\n\n/**\n * State used in rendering SpinButton\n */\nexport type SpinButtonState = ComponentState<SpinButtonSlots> &\n Required<Pick<SpinButtonProps, 'appearance' | 'size'>> & {\n /**\n * State used to track which direction, if any, SpinButton is currently spinning.\n * @default 'rest'\n */\n spinState: SpinButtonSpinState;\n\n /**\n * State used to track if the value is at the range bounds of [min-max].\n * @default 'none'\n */\n atBound: SpinButtonBounds;\n };\n\nexport type SpinButtonChangeEvent =\n | React.MouseEvent<HTMLButtonElement>\n | React.ChangeEvent<HTMLElement>\n | React.FocusEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>;\n\nexport type SpinButtonOnChangeData = {\n value?: number | null;\n displayValue?: string;\n};\n\nexport type SpinButtonSpinState = 'rest' | 'up' | 'down';\nexport type SpinButtonBounds = 'none' | 'min' | 'max' | 'both';\n"],"names":["React"],"mappings":"AACA,YAAYA,WAAW,QAAQ"}
@@ -3,5 +3,3 @@ export * from './SpinButton.types';
3
3
  export * from './renderSpinButton';
4
4
  export * from './useSpinButton';
5
5
  export * from './useSpinButtonStyles.styles';
6
-
7
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SpinButton/index.ts"],"sourcesContent":["export * from './SpinButton';\nexport * from './SpinButton.types';\nexport * from './renderSpinButton';\nexport * from './useSpinButton';\nexport * from './useSpinButtonStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './SpinButton';\nexport * from './SpinButton.types';\nexport * from './renderSpinButton';\nexport * from './useSpinButton';\nexport * from './useSpinButtonStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,qBAAqB;AACnC,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B"}
@@ -6,5 +6,3 @@ import { getSlotsNext } from '@fluentui/react-utilities';
6
6
  const { slots , slotProps } = getSlotsNext(state);
7
7
  return /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(slots.input, slotProps.input), /*#__PURE__*/ createElement(slots.incrementButton, slotProps.incrementButton), /*#__PURE__*/ createElement(slots.decrementButton, slotProps.decrementButton));
8
8
  };
9
-
10
- //# sourceMappingURL=renderSpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SpinButton/renderSpinButton.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { SpinButtonState, SpinButtonSlots } from './SpinButton.types';\n\n/**\n * Render the final JSX of SpinButton\n */\nexport const renderSpinButton_unstable = (state: SpinButtonState) => {\n const { slots, slotProps } = getSlotsNext<SpinButtonSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <slots.input {...slotProps.input} />\n <slots.incrementButton {...slotProps.incrementButton} />\n <slots.decrementButton {...slotProps.decrementButton} />\n </slots.root>\n );\n};\n"],"names":["createElement","getSlotsNext","renderSpinButton_unstable","state","slots","slotProps","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,YAAY,QAAQ,4BAA4B;AAGzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,QAA2B;IACnE,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGJ,aAA8BE;IAE3D,qBACE,AAdJ,cAcKC,MAAME,IAAI,EAAKD,UAAUC,IAAI,gBAC5B,AAfN,cAeOF,MAAMG,KAAK,EAAKF,UAAUE,KAAK,iBAChC,AAhBN,cAgBOH,MAAMI,eAAe,EAAKH,UAAUG,eAAe,iBACpD,AAjBN,cAiBOJ,MAAMK,eAAe,EAAKJ,UAAUI,eAAe;AAG1D,EAAE"}
1
+ {"version":3,"sources":["renderSpinButton.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { SpinButtonState, SpinButtonSlots } from './SpinButton.types';\n\n/**\n * Render the final JSX of SpinButton\n */\nexport const renderSpinButton_unstable = (state: SpinButtonState) => {\n const { slots, slotProps } = getSlotsNext<SpinButtonSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <slots.input {...slotProps.input} />\n <slots.incrementButton {...slotProps.incrementButton} />\n <slots.decrementButton {...slotProps.decrementButton} />\n </slots.root>\n );\n};\n"],"names":["createElement","getSlotsNext","renderSpinButton_unstable","state","slots","slotProps","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,YAAY,QAAQ,4BAA4B;AAGzD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,QAA2B;IACnE,MAAM,EAAEC,MAAK,EAAEC,UAAS,EAAE,GAAGJ,aAA8BE;IAE3D,qBACE,AAdJ,cAcKC,MAAME,IAAI,EAAKD,UAAUC,IAAI,gBAC5B,AAfN,cAeOF,MAAMG,KAAK,EAAKF,UAAUE,KAAK,iBAChC,AAhBN,cAgBOH,MAAMI,eAAe,EAAKH,UAAUG,eAAe,iBACpD,AAjBN,cAiBOJ,MAAMK,eAAe,EAAKJ,UAAUI,eAAe;AAG1D,EAAE"}
@@ -263,5 +263,3 @@ const lerp = (start, end, percent)=>start + (end - start) * percent;
263
263
  state.decrementButton.onMouseLeave = mergeCallbacks(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);
264
264
  return state;
265
265
  };
266
-
267
- //# sourceMappingURL=useSpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SpinButton/useSpinButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport {\n getPartitionedNativeProps,\n mergeCallbacks,\n resolveShorthand,\n useControllableState,\n useTimeout,\n} from '@fluentui/react-utilities';\nimport { ArrowUp, ArrowDown, End, Enter, Escape, Home, PageDown, PageUp } from '@fluentui/keyboard-keys';\nimport {\n SpinButtonProps,\n SpinButtonState,\n SpinButtonSpinState,\n SpinButtonChangeEvent,\n SpinButtonBounds,\n} from './SpinButton.types';\nimport { calculatePrecision, precisionRound, getBound, clamp } from '../../utils/index';\nimport { ChevronUp16Regular, ChevronDown16Regular } from '@fluentui/react-icons';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\n\ntype InternalState = {\n value: number | null;\n spinState: SpinButtonSpinState;\n spinTime: number;\n spinDelay: number;\n previousTextValue?: string;\n atBound: SpinButtonBounds;\n};\n\nconst DEFAULT_SPIN_DELAY_MS = 150;\nconst MIN_SPIN_DELAY_MS = 80;\nconst MAX_SPIN_TIME_MS = 1000;\n\n// This is here to give an ease for the mouse held down case.\n// Exact easing it to be defined. Once it is we'll likely\n// pull this out into a util function in the SpinButton package.\nconst lerp = (start: number, end: number, percent: number): number => start + (end - start) * percent;\n\n/**\n * Create the state required to render SpinButton.\n *\n * The returned state can be modified with hooks such as useSpinButtonStyles_unstable,\n * before being passed to renderSpinButton_unstable.\n *\n * @param props - props from this instance of SpinButton\n * @param ref - reference to root HTMLElement of SpinButton\n */\nexport const useSpinButton_unstable = (props: SpinButtonProps, ref: React.Ref<HTMLInputElement>): SpinButtonState => {\n // Merge props from surrounding <Field>, if any\n props = useFieldControlProps_unstable(props, { supportsLabelFor: true, supportsRequired: true });\n\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: ['defaultValue', 'max', 'min', 'onChange', 'size', 'value'],\n });\n\n const overrides = useOverrides();\n\n const {\n value,\n displayValue,\n defaultValue,\n min,\n max,\n step = 1,\n stepPage = 1,\n precision: precisionFromProps,\n onChange,\n size = 'medium',\n appearance = overrides.inputDefaultAppearance ?? 'outline',\n root,\n input,\n incrementButton,\n decrementButton,\n } = props;\n\n const precision = React.useMemo(() => {\n return precisionFromProps ?? Math.max(calculatePrecision(step), 0);\n }, [precisionFromProps, step]);\n\n const [currentValue, setCurrentValue] = useControllableState({\n state: value,\n defaultState: defaultValue,\n initialState: 0,\n });\n\n const isControlled = value !== undefined;\n\n const [textValue, setTextValue] = React.useState<string | undefined>(undefined);\n const [keyboardSpinState, setKeyboardSpinState] = React.useState<SpinButtonSpinState>('rest');\n\n const internalState = React.useRef<InternalState>({\n value: currentValue,\n spinState: 'rest',\n spinTime: 0,\n spinDelay: DEFAULT_SPIN_DELAY_MS,\n atBound: currentValue !== null ? getBound(precisionRound(currentValue, precision), min, max) : 'none',\n });\n\n const [setStepTimeout, clearStepTimeout] = useTimeout();\n\n const stepValue = (\n e: SpinButtonChangeEvent,\n direction: 'up' | 'down' | 'upPage' | 'downPage',\n startFrom?: string,\n ) => {\n let startValue = internalState.current.value;\n if (startFrom) {\n const num = parseFloat(startFrom);\n if (!isNaN(num)) {\n startValue = num;\n }\n }\n const val = startValue;\n const dir = direction === 'up' || direction === 'upPage' ? 1 : -1;\n const stepSize = direction === 'upPage' || direction === 'downPage' ? stepPage : step;\n\n if (val === null) {\n const stepStart = min === undefined ? 0 : min;\n const nullStep = clamp(stepStart + stepSize * dir, min, max);\n commit(e, nullStep);\n return;\n }\n\n let newValue = val + stepSize * dir;\n if (!Number.isNaN(newValue)) {\n newValue = clamp(newValue, min, max);\n }\n\n commit(e, newValue);\n\n if (internalState.current.spinState !== 'rest') {\n setStepTimeout(() => {\n // Ease the step speed a bit\n internalState.current.spinTime += internalState.current.spinDelay;\n internalState.current.spinDelay = lerp(\n DEFAULT_SPIN_DELAY_MS,\n MIN_SPIN_DELAY_MS,\n internalState.current.spinTime / MAX_SPIN_TIME_MS,\n );\n stepValue(e, direction);\n }, internalState.current.spinDelay);\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!internalState.current.previousTextValue) {\n internalState.current.previousTextValue = textValue ?? String(currentValue);\n }\n const newValue = e.target.value;\n setTextValue(newValue);\n };\n\n const handleIncrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {\n internalState.current.spinState = 'up';\n stepValue(e, 'up');\n };\n\n const handleDecrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {\n internalState.current.spinState = 'down';\n stepValue(e, 'down');\n };\n\n const handleStepMouseUpOrLeave = (e: React.MouseEvent<HTMLButtonElement>) => {\n clearStepTimeout();\n internalState.current.spinState = 'rest';\n internalState.current.spinDelay = DEFAULT_SPIN_DELAY_MS;\n internalState.current.spinTime = 0;\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n let nextKeyboardSpinState: SpinButtonSpinState = 'rest';\n\n if (e.key === ArrowUp) {\n stepValue(e, 'up', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === ArrowDown) {\n stepValue(e, 'down', textValue);\n nextKeyboardSpinState = 'down';\n } else if (e.key === PageUp) {\n e.preventDefault();\n stepValue(e, 'upPage', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === PageDown) {\n e.preventDefault();\n stepValue(e, 'downPage', textValue);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === Home && min !== undefined) {\n commit(e, min);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === End && max !== undefined) {\n commit(e, max);\n nextKeyboardSpinState = 'up';\n } else if (e.key === Enter) {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n } else if (e.key === Escape) {\n if (internalState.current.previousTextValue) {\n setTextValue(undefined);\n internalState.current.previousTextValue = undefined;\n }\n }\n\n if (keyboardSpinState !== nextKeyboardSpinState) {\n setKeyboardSpinState(nextKeyboardSpinState);\n }\n };\n\n const handleKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (keyboardSpinState !== 'rest') {\n setKeyboardSpinState('rest');\n internalState.current.spinState = 'rest';\n }\n };\n\n const commit = (e: SpinButtonChangeEvent, newValue?: number | null, newDisplayValue?: string) => {\n const valueChanged = newValue !== undefined && currentValue !== newValue;\n const displayValueChanged =\n newDisplayValue !== undefined &&\n internalState.current.previousTextValue !== undefined &&\n internalState.current.previousTextValue !== newDisplayValue;\n\n let roundedValue;\n if (valueChanged) {\n roundedValue = precisionRound(newValue!, precision);\n setCurrentValue(roundedValue);\n } else if (displayValueChanged && !isControlled) {\n const nextValue = parseFloat(newDisplayValue as string);\n if (!isNaN(nextValue)) {\n setCurrentValue(precisionRound(nextValue, precision));\n }\n }\n\n if (valueChanged || displayValueChanged) {\n onChange?.(e, { value: roundedValue, displayValue: newDisplayValue });\n }\n\n setTextValue(undefined);\n };\n\n const state: SpinButtonState = {\n size,\n appearance,\n spinState: keyboardSpinState,\n atBound: internalState.current.atBound,\n\n components: {\n root: 'span',\n input: 'input',\n incrementButton: 'button',\n decrementButton: 'button',\n },\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root,\n }),\n input: resolveShorthand(input, {\n required: true,\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary,\n },\n }),\n incrementButton: resolveShorthand(incrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: <ChevronUp16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Increment value',\n type: 'button',\n },\n }),\n decrementButton: resolveShorthand(decrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: <ChevronDown16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Decrement value',\n type: 'button',\n },\n }),\n };\n\n let valueToDisplay;\n if (textValue !== undefined) {\n valueToDisplay = textValue;\n } else if (value === null || currentValue === null) {\n valueToDisplay = displayValue ?? '';\n internalState.current.value = null;\n internalState.current.atBound = 'none';\n } else {\n const roundedValue = precisionRound(currentValue, precision);\n internalState.current.value = roundedValue;\n internalState.current.atBound = getBound(roundedValue, min, max);\n if (isControlled) {\n valueToDisplay = displayValue ?? String(roundedValue);\n } else {\n valueToDisplay = String(roundedValue);\n }\n }\n\n state.input.value = valueToDisplay;\n state.input['aria-valuemin'] = min;\n state.input['aria-valuemax'] = max;\n state.input['aria-valuenow'] = currentValue ?? undefined;\n state.input['aria-valuetext'] = state.input['aria-valuetext'] ?? ((value !== undefined && displayValue) || undefined);\n state.input.onChange = mergeCallbacks(state.input.onChange, handleInputChange);\n state.input.onBlur = mergeCallbacks(state.input.onBlur, handleBlur);\n state.input.onKeyDown = mergeCallbacks(state.input.onKeyDown, handleKeyDown);\n state.input.onKeyUp = mergeCallbacks(state.input.onKeyUp, handleKeyUp);\n\n state.incrementButton.onMouseDown = mergeCallbacks(handleIncrementMouseDown, state.incrementButton.onMouseDown);\n state.incrementButton.onMouseUp = mergeCallbacks(state.incrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.incrementButton.onMouseLeave = mergeCallbacks(state.incrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n\n state.decrementButton.onMouseDown = mergeCallbacks(handleDecrementMouseDown, state.decrementButton.onMouseDown);\n state.decrementButton.onMouseUp = mergeCallbacks(state.decrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseLeave = mergeCallbacks(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n\n return state;\n};\n"],"names":["React","useFieldControlProps_unstable","getPartitionedNativeProps","mergeCallbacks","resolveShorthand","useControllableState","useTimeout","ArrowUp","ArrowDown","End","Enter","Escape","Home","PageDown","PageUp","calculatePrecision","precisionRound","getBound","clamp","ChevronUp16Regular","ChevronDown16Regular","useOverrides_unstable","useOverrides","DEFAULT_SPIN_DELAY_MS","MIN_SPIN_DELAY_MS","MAX_SPIN_TIME_MS","lerp","start","end","percent","useSpinButton_unstable","props","ref","supportsLabelFor","supportsRequired","nativeProps","primarySlotTagName","excludedPropNames","overrides","value","displayValue","defaultValue","min","max","step","stepPage","precision","precisionFromProps","onChange","size","appearance","inputDefaultAppearance","root","input","incrementButton","decrementButton","useMemo","Math","currentValue","setCurrentValue","state","defaultState","initialState","isControlled","undefined","textValue","setTextValue","useState","keyboardSpinState","setKeyboardSpinState","internalState","useRef","spinState","spinTime","spinDelay","atBound","setStepTimeout","clearStepTimeout","stepValue","e","direction","startFrom","startValue","current","num","parseFloat","isNaN","val","dir","stepSize","stepStart","nullStep","commit","newValue","Number","handleInputChange","previousTextValue","String","target","handleIncrementMouseDown","handleDecrementMouseDown","handleStepMouseUpOrLeave","handleBlur","handleKeyDown","nextKeyboardSpinState","key","preventDefault","shiftKey","handleKeyUp","newDisplayValue","valueChanged","displayValueChanged","roundedValue","nextValue","components","required","defaultProps","autoComplete","role","type","primary","tabIndex","children","disabled","valueToDisplay","onBlur","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave"],"mappings":"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"}
1
+ {"version":3,"sources":["useSpinButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport {\n getPartitionedNativeProps,\n mergeCallbacks,\n resolveShorthand,\n useControllableState,\n useTimeout,\n} from '@fluentui/react-utilities';\nimport { ArrowUp, ArrowDown, End, Enter, Escape, Home, PageDown, PageUp } from '@fluentui/keyboard-keys';\nimport {\n SpinButtonProps,\n SpinButtonState,\n SpinButtonSpinState,\n SpinButtonChangeEvent,\n SpinButtonBounds,\n} from './SpinButton.types';\nimport { calculatePrecision, precisionRound, getBound, clamp } from '../../utils/index';\nimport { ChevronUp16Regular, ChevronDown16Regular } from '@fluentui/react-icons';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\n\ntype InternalState = {\n value: number | null;\n spinState: SpinButtonSpinState;\n spinTime: number;\n spinDelay: number;\n previousTextValue?: string;\n atBound: SpinButtonBounds;\n};\n\nconst DEFAULT_SPIN_DELAY_MS = 150;\nconst MIN_SPIN_DELAY_MS = 80;\nconst MAX_SPIN_TIME_MS = 1000;\n\n// This is here to give an ease for the mouse held down case.\n// Exact easing it to be defined. Once it is we'll likely\n// pull this out into a util function in the SpinButton package.\nconst lerp = (start: number, end: number, percent: number): number => start + (end - start) * percent;\n\n/**\n * Create the state required to render SpinButton.\n *\n * The returned state can be modified with hooks such as useSpinButtonStyles_unstable,\n * before being passed to renderSpinButton_unstable.\n *\n * @param props - props from this instance of SpinButton\n * @param ref - reference to root HTMLElement of SpinButton\n */\nexport const useSpinButton_unstable = (props: SpinButtonProps, ref: React.Ref<HTMLInputElement>): SpinButtonState => {\n // Merge props from surrounding <Field>, if any\n props = useFieldControlProps_unstable(props, { supportsLabelFor: true, supportsRequired: true });\n\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: ['defaultValue', 'max', 'min', 'onChange', 'size', 'value'],\n });\n\n const overrides = useOverrides();\n\n const {\n value,\n displayValue,\n defaultValue,\n min,\n max,\n step = 1,\n stepPage = 1,\n precision: precisionFromProps,\n onChange,\n size = 'medium',\n appearance = overrides.inputDefaultAppearance ?? 'outline',\n root,\n input,\n incrementButton,\n decrementButton,\n } = props;\n\n const precision = React.useMemo(() => {\n return precisionFromProps ?? Math.max(calculatePrecision(step), 0);\n }, [precisionFromProps, step]);\n\n const [currentValue, setCurrentValue] = useControllableState({\n state: value,\n defaultState: defaultValue,\n initialState: 0,\n });\n\n const isControlled = value !== undefined;\n\n const [textValue, setTextValue] = React.useState<string | undefined>(undefined);\n const [keyboardSpinState, setKeyboardSpinState] = React.useState<SpinButtonSpinState>('rest');\n\n const internalState = React.useRef<InternalState>({\n value: currentValue,\n spinState: 'rest',\n spinTime: 0,\n spinDelay: DEFAULT_SPIN_DELAY_MS,\n atBound: currentValue !== null ? getBound(precisionRound(currentValue, precision), min, max) : 'none',\n });\n\n const [setStepTimeout, clearStepTimeout] = useTimeout();\n\n const stepValue = (\n e: SpinButtonChangeEvent,\n direction: 'up' | 'down' | 'upPage' | 'downPage',\n startFrom?: string,\n ) => {\n let startValue = internalState.current.value;\n if (startFrom) {\n const num = parseFloat(startFrom);\n if (!isNaN(num)) {\n startValue = num;\n }\n }\n const val = startValue;\n const dir = direction === 'up' || direction === 'upPage' ? 1 : -1;\n const stepSize = direction === 'upPage' || direction === 'downPage' ? stepPage : step;\n\n if (val === null) {\n const stepStart = min === undefined ? 0 : min;\n const nullStep = clamp(stepStart + stepSize * dir, min, max);\n commit(e, nullStep);\n return;\n }\n\n let newValue = val + stepSize * dir;\n if (!Number.isNaN(newValue)) {\n newValue = clamp(newValue, min, max);\n }\n\n commit(e, newValue);\n\n if (internalState.current.spinState !== 'rest') {\n setStepTimeout(() => {\n // Ease the step speed a bit\n internalState.current.spinTime += internalState.current.spinDelay;\n internalState.current.spinDelay = lerp(\n DEFAULT_SPIN_DELAY_MS,\n MIN_SPIN_DELAY_MS,\n internalState.current.spinTime / MAX_SPIN_TIME_MS,\n );\n stepValue(e, direction);\n }, internalState.current.spinDelay);\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!internalState.current.previousTextValue) {\n internalState.current.previousTextValue = textValue ?? String(currentValue);\n }\n const newValue = e.target.value;\n setTextValue(newValue);\n };\n\n const handleIncrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {\n internalState.current.spinState = 'up';\n stepValue(e, 'up');\n };\n\n const handleDecrementMouseDown = (e: React.MouseEvent<HTMLButtonElement>) => {\n internalState.current.spinState = 'down';\n stepValue(e, 'down');\n };\n\n const handleStepMouseUpOrLeave = (e: React.MouseEvent<HTMLButtonElement>) => {\n clearStepTimeout();\n internalState.current.spinState = 'rest';\n internalState.current.spinDelay = DEFAULT_SPIN_DELAY_MS;\n internalState.current.spinTime = 0;\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n let nextKeyboardSpinState: SpinButtonSpinState = 'rest';\n\n if (e.key === ArrowUp) {\n stepValue(e, 'up', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === ArrowDown) {\n stepValue(e, 'down', textValue);\n nextKeyboardSpinState = 'down';\n } else if (e.key === PageUp) {\n e.preventDefault();\n stepValue(e, 'upPage', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === PageDown) {\n e.preventDefault();\n stepValue(e, 'downPage', textValue);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === Home && min !== undefined) {\n commit(e, min);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === End && max !== undefined) {\n commit(e, max);\n nextKeyboardSpinState = 'up';\n } else if (e.key === Enter) {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n } else if (e.key === Escape) {\n if (internalState.current.previousTextValue) {\n setTextValue(undefined);\n internalState.current.previousTextValue = undefined;\n }\n }\n\n if (keyboardSpinState !== nextKeyboardSpinState) {\n setKeyboardSpinState(nextKeyboardSpinState);\n }\n };\n\n const handleKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (keyboardSpinState !== 'rest') {\n setKeyboardSpinState('rest');\n internalState.current.spinState = 'rest';\n }\n };\n\n const commit = (e: SpinButtonChangeEvent, newValue?: number | null, newDisplayValue?: string) => {\n const valueChanged = newValue !== undefined && currentValue !== newValue;\n const displayValueChanged =\n newDisplayValue !== undefined &&\n internalState.current.previousTextValue !== undefined &&\n internalState.current.previousTextValue !== newDisplayValue;\n\n let roundedValue;\n if (valueChanged) {\n roundedValue = precisionRound(newValue!, precision);\n setCurrentValue(roundedValue);\n } else if (displayValueChanged && !isControlled) {\n const nextValue = parseFloat(newDisplayValue as string);\n if (!isNaN(nextValue)) {\n setCurrentValue(precisionRound(nextValue, precision));\n }\n }\n\n if (valueChanged || displayValueChanged) {\n onChange?.(e, { value: roundedValue, displayValue: newDisplayValue });\n }\n\n setTextValue(undefined);\n };\n\n const state: SpinButtonState = {\n size,\n appearance,\n spinState: keyboardSpinState,\n atBound: internalState.current.atBound,\n\n components: {\n root: 'span',\n input: 'input',\n incrementButton: 'button',\n decrementButton: 'button',\n },\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root,\n }),\n input: resolveShorthand(input, {\n required: true,\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary,\n },\n }),\n incrementButton: resolveShorthand(incrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: <ChevronUp16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Increment value',\n type: 'button',\n },\n }),\n decrementButton: resolveShorthand(decrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: <ChevronDown16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Decrement value',\n type: 'button',\n },\n }),\n };\n\n let valueToDisplay;\n if (textValue !== undefined) {\n valueToDisplay = textValue;\n } else if (value === null || currentValue === null) {\n valueToDisplay = displayValue ?? '';\n internalState.current.value = null;\n internalState.current.atBound = 'none';\n } else {\n const roundedValue = precisionRound(currentValue, precision);\n internalState.current.value = roundedValue;\n internalState.current.atBound = getBound(roundedValue, min, max);\n if (isControlled) {\n valueToDisplay = displayValue ?? String(roundedValue);\n } else {\n valueToDisplay = String(roundedValue);\n }\n }\n\n state.input.value = valueToDisplay;\n state.input['aria-valuemin'] = min;\n state.input['aria-valuemax'] = max;\n state.input['aria-valuenow'] = currentValue ?? undefined;\n state.input['aria-valuetext'] = state.input['aria-valuetext'] ?? ((value !== undefined && displayValue) || undefined);\n state.input.onChange = mergeCallbacks(state.input.onChange, handleInputChange);\n state.input.onBlur = mergeCallbacks(state.input.onBlur, handleBlur);\n state.input.onKeyDown = mergeCallbacks(state.input.onKeyDown, handleKeyDown);\n state.input.onKeyUp = mergeCallbacks(state.input.onKeyUp, handleKeyUp);\n\n state.incrementButton.onMouseDown = mergeCallbacks(handleIncrementMouseDown, state.incrementButton.onMouseDown);\n state.incrementButton.onMouseUp = mergeCallbacks(state.incrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.incrementButton.onMouseLeave = mergeCallbacks(state.incrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n\n state.decrementButton.onMouseDown = mergeCallbacks(handleDecrementMouseDown, state.decrementButton.onMouseDown);\n state.decrementButton.onMouseUp = mergeCallbacks(state.decrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseLeave = mergeCallbacks(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n\n return state;\n};\n"],"names":["React","useFieldControlProps_unstable","getPartitionedNativeProps","mergeCallbacks","resolveShorthand","useControllableState","useTimeout","ArrowUp","ArrowDown","End","Enter","Escape","Home","PageDown","PageUp","calculatePrecision","precisionRound","getBound","clamp","ChevronUp16Regular","ChevronDown16Regular","useOverrides_unstable","useOverrides","DEFAULT_SPIN_DELAY_MS","MIN_SPIN_DELAY_MS","MAX_SPIN_TIME_MS","lerp","start","end","percent","useSpinButton_unstable","props","ref","supportsLabelFor","supportsRequired","nativeProps","primarySlotTagName","excludedPropNames","overrides","value","displayValue","defaultValue","min","max","step","stepPage","precision","precisionFromProps","onChange","size","appearance","inputDefaultAppearance","root","input","incrementButton","decrementButton","useMemo","Math","currentValue","setCurrentValue","state","defaultState","initialState","isControlled","undefined","textValue","setTextValue","useState","keyboardSpinState","setKeyboardSpinState","internalState","useRef","spinState","spinTime","spinDelay","atBound","setStepTimeout","clearStepTimeout","stepValue","e","direction","startFrom","startValue","current","num","parseFloat","isNaN","val","dir","stepSize","stepStart","nullStep","commit","newValue","Number","handleInputChange","previousTextValue","String","target","handleIncrementMouseDown","handleDecrementMouseDown","handleStepMouseUpOrLeave","handleBlur","handleKeyDown","nextKeyboardSpinState","key","preventDefault","shiftKey","handleKeyUp","newDisplayValue","valueChanged","displayValueChanged","roundedValue","nextValue","components","required","defaultProps","autoComplete","role","type","primary","tabIndex","children","disabled","valueToDisplay","onBlur","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["__resetStyles","__styles","mergeClasses","shorthands","tokens","typographyStyles","spinButtonClassNames","root","input","incrementButton","decrementButton","spinButtonExtraClassNames","buttonActive","fieldHeights","small","medium","useRootClassName","useRootStyles","sshi5w","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","uwmqm3","outline","outlineInteractive","Bo3r8zu","Hpvxnh","Bx11ytk","B1rg0w0","Bsg1tlv","Brjw370","xcfy85","Bcc6kan","underline","B0qfbqy","B4f6apu","y0oebl","uvfttm","Budzafs","r59vdv","n07z76","ck0cow","underlineInteractive","B3778ie","d9w3h3","Bl18szs","B4j8arr","filled","Bdkvgpv","m598lv","qa3bma","Bbv0w2i","Bq4z7u6","Bk5zm6e","Bqjgrrk","Bm6vgfq","De3pzq","filledInteractive","B05mzqr","tb9y6h","jcehpj","B23o0hn","invalid","emecyz","lz0pba","Bo1k74p","Ba322q7","disabled","Bceei9c","Cffpyd","hxi8he","Bcuq369","Imo2if","d","h","a","m","useInputClassName","useInputStyles","sj55zd","yvdlaj","useBaseButtonClassName","useButtonStyles","increment","Ijaq50","B7oj6ja","z8tnut","Byoj8tv","decrement","Bbmb7ep","incrementButtonSmall","z189sj","Bqenvij","decrementButtonSmall","r4wkhp","B95qlz1","p743kt","B7xitij","B6siaa6","Ba9qmo4","Dyrjrp","drw0cw","idzz8t","useButtonDisabledStyles","base","eoavqd","useSpinButtonStyles_unstable","state","appearance","atBound","spinState","size","startsWith","rootStyles","buttonStyles","buttonDisabledStyles","inputStyles","className"],"sources":["../../../src/components/SpinButton/useSpinButtonStyles.styles.ts"],"sourcesContent":["import { SlotClassNames } from '@fluentui/react-utilities';\nimport { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SpinButtonSlots, SpinButtonState } from './SpinButton.types';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const spinButtonClassNames: SlotClassNames<SpinButtonSlots> = {\n root: 'fui-SpinButton',\n input: 'fui-SpinButton__input',\n incrementButton: 'fui-SpinButton__incrementButton',\n decrementButton: 'fui-SpinButton__decrementButton',\n};\n\nconst spinButtonExtraClassNames = {\n buttonActive: 'fui-SpinButton__button_active',\n};\n\nconst fieldHeights = {\n small: '24px',\n medium: '32px',\n};\n\nconst useRootClassName = makeResetStyles({\n display: 'inline-grid',\n gridTemplateColumns: `1fr 24px`,\n gridTemplateRows: '1fr 1fr',\n columnGap: tokens.spacingHorizontalXS,\n rowGap: 0,\n position: 'relative',\n isolation: 'isolate',\n\n backgroundColor: tokens.colorNeutralBackground1,\n minHeight: fieldHeights.medium,\n padding: `0 0 0 ${tokens.spacingHorizontalMNudge}`,\n borderRadius: tokens.borderRadiusMedium,\n\n // Apply border styles on the ::before pseudo element.\n // We cannot use ::after since that is used for selection.\n // Using the pseudo element allows us to place the border\n // above content in the component which ensures the buttons\n // line up visually with the border as expected. Without this\n // there is a bit of a gap which can become very noticeable\n // at high zoom or when OS zoom levels are not divisible by 2\n // (e.g., 150% on Windows in Firefox)\n // This is most noticeable on the \"outline\" appearance which is\n // also the default so it feels worth the extra ceremony to get right.\n '::before': {\n content: '\"\"',\n boxSizing: 'border-box',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n zIndex: 10,\n border: `1px solid ${tokens.colorNeutralStroke1}`,\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n borderRadius: tokens.borderRadiusMedium,\n },\n\n '::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 20,\n\n // Maintaining the correct corner radius:\n // Use the whole border-radius as the height and only put radii on the bottom corners.\n // (Otherwise the radius would be automatically reduced to fit available space.)\n // max() ensures the focus border still shows up even if someone sets tokens.borderRadiusMedium to 0.\n height: `max(2px, ${tokens.borderRadiusMedium})`,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n\n // Flat 2px border:\n // By default borderBottom will cause little \"horns\" on the ends. The clipPath trims them off.\n // (This could be done without trimming using `background: linear-gradient(...)`, but using\n // borderBottom makes it easier for people to override the color if needed.)\n borderBottom: `2px solid ${tokens.colorCompoundBrandStroke}`,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n\n // Animation for focus OUT\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n\n ':focus-within::after': {\n // Animation for focus IN\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n ':focus-within:active::after': {\n // This is if the user clicks the field again while it's already focused\n borderBottomColor: tokens.colorCompoundBrandStrokePressed,\n },\n ':focus-within': {\n outline: '2px solid transparent',\n },\n});\n\nconst useRootStyles = makeStyles({\n small: {\n minHeight: fieldHeights.small,\n ...typographyStyles.caption1,\n paddingLeft: tokens.spacingHorizontalS,\n },\n\n medium: {\n // set by useRootClassName\n },\n\n outline: {\n // set by useRootClassName\n },\n\n outlineInteractive: {\n ':hover::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover,\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed,\n },\n },\n },\n\n underline: {\n '::before': {\n ...shorthands.borderWidth(0, 0, '1px', 0),\n ...shorthands.borderRadius(tokens.borderRadiusNone), // corners look strange if rounded\n },\n },\n\n underlineInteractive: {\n ':hover::before': {\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover,\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n '::before': {\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed,\n },\n },\n '::after': shorthands.borderRadius(tokens.borderRadiusNone), // remove rounded corners from focus underline\n },\n\n filled: {\n '::before': {\n ...shorthands.border('1px', 'solid', tokens.colorTransparentStroke),\n },\n },\n\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3,\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1,\n },\n\n filledInteractive: {\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':hover,:focus-within': {\n '::before': {\n // also handles pressed border color (:active)\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n },\n },\n },\n\n invalid: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n '::before': {\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2),\n },\n },\n },\n\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText'),\n },\n },\n },\n});\n\nconst useInputClassName = makeResetStyles({\n gridColumnStart: '1',\n gridColumnEnd: '2',\n gridRowStart: '1',\n gridRowEnd: '3',\n outlineStyle: 'none',\n border: '0',\n padding: '0',\n color: tokens.colorNeutralForeground1,\n // Use literal \"transparent\" (not from the theme) to always let the color from the root show through\n backgroundColor: 'transparent',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n lineHeight: 'inherit',\n width: '100%',\n\n '::placeholder': {\n color: tokens.colorNeutralForeground4,\n opacity: 1, // browser style override\n },\n});\n\nconst useInputStyles = makeStyles({\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n '::placeholder': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n});\n\nconst useBaseButtonClassName = makeResetStyles({\n display: 'inline-flex',\n width: '24px',\n alignItems: 'center',\n justifyContent: 'center',\n border: '0',\n position: 'absolute',\n\n outlineStyle: 'none',\n height: '16px',\n\n // Use literal \"transparent\" (not from the theme) to always let the color from the root show through\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n\n // common button layout\n gridColumnStart: '2',\n borderRadius: '0',\n padding: '0 5px 0 5px',\n\n ':active': {\n outlineStyle: 'none',\n },\n\n ':enabled': {\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n },\n\n ':disabled': {\n cursor: 'not-allowed',\n color: tokens.colorNeutralForegroundDisabled,\n },\n});\n\nconst useButtonStyles = makeStyles({\n increment: {\n gridRowStart: '1',\n borderTopRightRadius: tokens.borderRadiusMedium,\n paddingTop: '4px',\n paddingBottom: '1px',\n },\n decrement: {\n gridRowStart: '2',\n borderBottomRightRadius: tokens.borderRadiusMedium,\n paddingTop: '1px',\n paddingBottom: '4px',\n },\n // Padding values numbers don't align with design specs\n // but visually the padding aligns.\n // The icons are set in a 16x16px square but the artwork is inset from that\n // so these padding values are computed by hand.\n // Additionally the design uses fractional values so these are\n // rounded to the nearest integer.\n incrementButtonSmall: {\n ...shorthands.padding('3px', '6px', '0px', '4px'),\n height: '12px',\n },\n\n decrementButtonSmall: {\n ...shorthands.padding('0px', '6px', '3px', '4px'),\n height: '12px',\n },\n\n outline: {\n // set by useButtonClassName\n },\n\n underline: {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n 'filled-darker': {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorNeutralBackground3Hover,\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground3Pressed,\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground3Pressed,\n },\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n 'filled-lighter': {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorNeutralBackground1Hover,\n },\n [`:active,&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n },\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n});\n\n// Cannot just disable button as they need to remain\n// exposed to ATs like screen readers.\nconst useButtonDisabledStyles = makeStyles({\n base: {\n cursor: 'not-allowed',\n\n ':hover': {\n cursor: 'not-allowed',\n },\n },\n\n outline: {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n },\n },\n\n underline: {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n },\n },\n\n 'filled-darker': {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n },\n },\n\n 'filled-lighter': {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent',\n },\n },\n },\n});\n\n/**\n * Apply styling to the SpinButton slots based on the state\n */\nexport const useSpinButtonStyles_unstable = (state: SpinButtonState): SpinButtonState => {\n const { appearance, atBound, spinState, size } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n\n const rootStyles = useRootStyles();\n const buttonStyles = useButtonStyles();\n const buttonDisabledStyles = useButtonDisabledStyles();\n const inputStyles = useInputStyles();\n\n state.root.className = mergeClasses(\n spinButtonClassNames.root,\n useRootClassName(),\n rootStyles[size],\n rootStyles[appearance],\n filled && rootStyles.filled,\n !disabled && appearance === 'outline' && rootStyles.outlineInteractive,\n !disabled && appearance === 'underline' && rootStyles.underlineInteractive,\n !disabled && filled && rootStyles.filledInteractive,\n !disabled && invalid && rootStyles.invalid,\n disabled && rootStyles.disabled,\n state.root.className,\n );\n\n state.incrementButton.className = mergeClasses(\n spinButtonClassNames.incrementButton,\n spinState === 'up' && `${spinButtonExtraClassNames.buttonActive}`,\n useBaseButtonClassName(),\n buttonStyles.increment,\n buttonStyles[appearance],\n size === 'small' && buttonStyles.incrementButtonSmall,\n (atBound === 'max' || atBound === 'both') && buttonDisabledStyles.base,\n (atBound === 'max' || atBound === 'both') && buttonDisabledStyles[appearance],\n state.incrementButton.className,\n );\n state.decrementButton.className = mergeClasses(\n spinButtonClassNames.decrementButton,\n spinState === 'down' && `${spinButtonExtraClassNames.buttonActive}`,\n useBaseButtonClassName(),\n buttonStyles.decrement,\n buttonStyles[appearance],\n size === 'small' && buttonStyles.decrementButtonSmall,\n (atBound === 'min' || atBound === 'both') && buttonDisabledStyles.base,\n (atBound === 'min' || atBound === 'both') && buttonDisabledStyles[appearance],\n state.decrementButton.className,\n );\n\n state.input.className = mergeClasses(\n spinButtonClassNames.input,\n useInputClassName(),\n disabled && inputStyles.disabled,\n state.input.className,\n );\n\n return state;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["__resetStyles","__styles","mergeClasses","shorthands","tokens","typographyStyles","spinButtonClassNames","root","input","incrementButton","decrementButton","spinButtonExtraClassNames","buttonActive","fieldHeights","small","medium","useRootClassName","useRootStyles","sshi5w","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","uwmqm3","outline","outlineInteractive","Bo3r8zu","Hpvxnh","Bx11ytk","B1rg0w0","Bsg1tlv","Brjw370","xcfy85","Bcc6kan","underline","B0qfbqy","B4f6apu","y0oebl","uvfttm","Budzafs","r59vdv","n07z76","ck0cow","underlineInteractive","B3778ie","d9w3h3","Bl18szs","B4j8arr","filled","Bdkvgpv","m598lv","qa3bma","Bbv0w2i","Bq4z7u6","Bk5zm6e","Bqjgrrk","Bm6vgfq","De3pzq","filledInteractive","B05mzqr","tb9y6h","jcehpj","B23o0hn","invalid","emecyz","lz0pba","Bo1k74p","Ba322q7","disabled","Bceei9c","Cffpyd","hxi8he","Bcuq369","Imo2if","d","h","a","m","useInputClassName","useInputStyles","sj55zd","yvdlaj","useBaseButtonClassName","useButtonStyles","increment","Ijaq50","B7oj6ja","z8tnut","Byoj8tv","decrement","Bbmb7ep","incrementButtonSmall","z189sj","Bqenvij","decrementButtonSmall","r4wkhp","B95qlz1","p743kt","B7xitij","B6siaa6","Ba9qmo4","Dyrjrp","drw0cw","idzz8t","useButtonDisabledStyles","base","eoavqd","useSpinButtonStyles_unstable","state","appearance","atBound","spinState","size","startsWith","rootStyles","buttonStyles","buttonDisabledStyles","inputStyles","className"],"sources":["useSpinButtonStyles.styles.js"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const spinButtonClassNames = {\n root: 'fui-SpinButton',\n input: 'fui-SpinButton__input',\n incrementButton: 'fui-SpinButton__incrementButton',\n decrementButton: 'fui-SpinButton__decrementButton'\n};\nconst spinButtonExtraClassNames = {\n buttonActive: 'fui-SpinButton__button_active'\n};\nconst fieldHeights = {\n small: '24px',\n medium: '32px'\n};\nconst useRootClassName = makeResetStyles({\n display: 'inline-grid',\n gridTemplateColumns: `1fr 24px`,\n gridTemplateRows: '1fr 1fr',\n columnGap: tokens.spacingHorizontalXS,\n rowGap: 0,\n position: 'relative',\n isolation: 'isolate',\n backgroundColor: tokens.colorNeutralBackground1,\n minHeight: fieldHeights.medium,\n padding: `0 0 0 ${tokens.spacingHorizontalMNudge}`,\n borderRadius: tokens.borderRadiusMedium,\n // Apply border styles on the ::before pseudo element.\n // We cannot use ::after since that is used for selection.\n // Using the pseudo element allows us to place the border\n // above content in the component which ensures the buttons\n // line up visually with the border as expected. Without this\n // there is a bit of a gap which can become very noticeable\n // at high zoom or when OS zoom levels are not divisible by 2\n // (e.g., 150% on Windows in Firefox)\n // This is most noticeable on the \"outline\" appearance which is\n // also the default so it feels worth the extra ceremony to get right.\n '::before': {\n content: '\"\"',\n boxSizing: 'border-box',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n zIndex: 10,\n border: `1px solid ${tokens.colorNeutralStroke1}`,\n borderBottomColor: tokens.colorNeutralStrokeAccessible,\n borderRadius: tokens.borderRadiusMedium\n },\n '::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 20,\n // Maintaining the correct corner radius:\n // Use the whole border-radius as the height and only put radii on the bottom corners.\n // (Otherwise the radius would be automatically reduced to fit available space.)\n // max() ensures the focus border still shows up even if someone sets tokens.borderRadiusMedium to 0.\n height: `max(2px, ${tokens.borderRadiusMedium})`,\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n // Flat 2px border:\n // By default borderBottom will cause little \"horns\" on the ends. The clipPath trims them off.\n // (This could be done without trimming using `background: linear-gradient(...)`, but using\n // borderBottom makes it easier for people to override the color if needed.)\n borderBottom: `2px solid ${tokens.colorCompoundBrandStroke}`,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n // Animation for focus OUT\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms'\n }\n },\n ':focus-within::after': {\n // Animation for focus IN\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms'\n }\n },\n ':focus-within:active::after': {\n // This is if the user clicks the field again while it's already focused\n borderBottomColor: tokens.colorCompoundBrandStrokePressed\n },\n ':focus-within': {\n outline: '2px solid transparent'\n }\n});\nconst useRootStyles = makeStyles({\n small: {\n minHeight: fieldHeights.small,\n ...typographyStyles.caption1,\n paddingLeft: tokens.spacingHorizontalS\n },\n medium: {\n },\n outline: {\n },\n outlineInteractive: {\n ':hover::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed\n }\n }\n },\n underline: {\n '::before': {\n ...shorthands.borderWidth(0, 0, '1px', 0),\n ...shorthands.borderRadius(tokens.borderRadiusNone)\n }\n },\n underlineInteractive: {\n ':hover::before': {\n borderBottomColor: tokens.colorNeutralStrokeAccessibleHover\n },\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':active,:focus-within': {\n '::before': {\n borderBottomColor: tokens.colorNeutralStrokeAccessiblePressed\n }\n },\n '::after': shorthands.borderRadius(tokens.borderRadiusNone)\n },\n filled: {\n '::before': {\n ...shorthands.border('1px', 'solid', tokens.colorTransparentStroke)\n }\n },\n 'filled-darker': {\n backgroundColor: tokens.colorNeutralBackground3\n },\n 'filled-lighter': {\n backgroundColor: tokens.colorNeutralBackground1\n },\n filledInteractive: {\n // DO NOT add a space between the selectors! It changes the behavior of make-styles.\n ':hover,:focus-within': {\n '::before': {\n // also handles pressed border color (:active)\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive)\n }\n }\n },\n invalid: {\n ':not(:focus-within),:hover:not(:focus-within)': {\n '::before': {\n ...shorthands.borderColor(tokens.colorPaletteRedBorder2)\n }\n }\n },\n disabled: {\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n '::before': {\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText')\n }\n }\n }\n});\nconst useInputClassName = makeResetStyles({\n gridColumnStart: '1',\n gridColumnEnd: '2',\n gridRowStart: '1',\n gridRowEnd: '3',\n outlineStyle: 'none',\n border: '0',\n padding: '0',\n color: tokens.colorNeutralForeground1,\n // Use literal \"transparent\" (not from the theme) to always let the color from the root show through\n backgroundColor: 'transparent',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n lineHeight: 'inherit',\n width: '100%',\n '::placeholder': {\n color: tokens.colorNeutralForeground4,\n opacity: 1\n }\n});\nconst useInputStyles = makeStyles({\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n backgroundColor: tokens.colorTransparentBackground,\n '::placeholder': {\n color: tokens.colorNeutralForegroundDisabled\n }\n }\n});\nconst useBaseButtonClassName = makeResetStyles({\n display: 'inline-flex',\n width: '24px',\n alignItems: 'center',\n justifyContent: 'center',\n border: '0',\n position: 'absolute',\n outlineStyle: 'none',\n height: '16px',\n // Use literal \"transparent\" (not from the theme) to always let the color from the root show through\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n // common button layout\n gridColumnStart: '2',\n borderRadius: '0',\n padding: '0 5px 0 5px',\n ':active': {\n outlineStyle: 'none'\n },\n ':enabled': {\n ':hover': {\n cursor: 'pointer',\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed\n }\n },\n ':disabled': {\n cursor: 'not-allowed',\n color: tokens.colorNeutralForegroundDisabled\n }\n});\nconst useButtonStyles = makeStyles({\n increment: {\n gridRowStart: '1',\n borderTopRightRadius: tokens.borderRadiusMedium,\n paddingTop: '4px',\n paddingBottom: '1px'\n },\n decrement: {\n gridRowStart: '2',\n borderBottomRightRadius: tokens.borderRadiusMedium,\n paddingTop: '1px',\n paddingBottom: '4px'\n },\n // Padding values numbers don't align with design specs\n // but visually the padding aligns.\n // The icons are set in a 16x16px square but the artwork is inset from that\n // so these padding values are computed by hand.\n // Additionally the design uses fractional values so these are\n // rounded to the nearest integer.\n incrementButtonSmall: {\n ...shorthands.padding('3px', '6px', '0px', '4px'),\n height: '12px'\n },\n decrementButtonSmall: {\n ...shorthands.padding('0px', '6px', '3px', '4px'),\n height: '12px'\n },\n outline: {\n },\n underline: {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed\n }\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled\n }\n },\n 'filled-darker': {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorNeutralBackground3Hover\n },\n ':active': {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground3Pressed\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground3Pressed\n }\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled\n }\n },\n 'filled-lighter': {\n backgroundColor: 'transparent',\n color: tokens.colorNeutralForeground3,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n backgroundColor: tokens.colorNeutralBackground1Hover\n },\n [`:active,&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n backgroundColor: tokens.colorNeutralBackground1Pressed\n }\n },\n ':disabled': {\n color: tokens.colorNeutralForegroundDisabled\n }\n }\n});\n// Cannot just disable button as they need to remain\n// exposed to ATs like screen readers.\nconst useButtonDisabledStyles = makeStyles({\n base: {\n cursor: 'not-allowed',\n ':hover': {\n cursor: 'not-allowed'\n }\n },\n outline: {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n }\n }\n },\n underline: {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n }\n }\n },\n 'filled-darker': {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n }\n }\n },\n 'filled-lighter': {\n color: tokens.colorNeutralForegroundDisabled,\n ':enabled': {\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n ':active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n },\n [`&.${spinButtonExtraClassNames.buttonActive}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: 'transparent'\n }\n }\n }\n});\n/**\n * Apply styling to the SpinButton slots based on the state\n */ export const useSpinButtonStyles_unstable = (state)=>{\n const { appearance , atBound , spinState , size } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n const rootStyles = useRootStyles();\n const buttonStyles = useButtonStyles();\n const buttonDisabledStyles = useButtonDisabledStyles();\n const inputStyles = useInputStyles();\n state.root.className = mergeClasses(spinButtonClassNames.root, useRootClassName(), rootStyles[size], rootStyles[appearance], filled && rootStyles.filled, !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && appearance === 'underline' && rootStyles.underlineInteractive, !disabled && filled && rootStyles.filledInteractive, !disabled && invalid && rootStyles.invalid, disabled && rootStyles.disabled, state.root.className);\n state.incrementButton.className = mergeClasses(spinButtonClassNames.incrementButton, spinState === 'up' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.increment, buttonStyles[appearance], size === 'small' && buttonStyles.incrementButtonSmall, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles[appearance], state.incrementButton.className);\n state.decrementButton.className = mergeClasses(spinButtonClassNames.decrementButton, spinState === 'down' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.decrement, buttonStyles[appearance], size === 'small' && buttonStyles.decrementButtonSmall, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles[appearance], state.decrementButton.className);\n state.input.className = mergeClasses(spinButtonClassNames.input, useInputClassName(), disabled && inputStyles.disabled, state.input.className);\n return state;\n};\n"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,3 +1 @@
1
1
  export { SpinButton, renderSpinButton_unstable, spinButtonClassNames, useSpinButtonStyles_unstable, useSpinButton_unstable } from './SpinButton';
2
-
3
- //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n SpinButton,\n renderSpinButton_unstable,\n spinButtonClassNames,\n useSpinButtonStyles_unstable,\n useSpinButton_unstable,\n} from './SpinButton';\nexport type {\n SpinButtonOnChangeData,\n SpinButtonChangeEvent,\n SpinButtonProps,\n SpinButtonSlots,\n SpinButtonState,\n SpinButtonSpinState,\n SpinButtonBounds,\n} from './SpinButton';\n"],"names":["SpinButton","renderSpinButton_unstable","spinButtonClassNames","useSpinButtonStyles_unstable","useSpinButton_unstable"],"mappings":"AAAA,SACEA,UAAU,EACVC,yBAAyB,EACzBC,oBAAoB,EACpBC,4BAA4B,EAC5BC,sBAAsB,QACjB,eAAe"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export {\n SpinButton,\n renderSpinButton_unstable,\n spinButtonClassNames,\n useSpinButtonStyles_unstable,\n useSpinButton_unstable,\n} from './SpinButton';\nexport type {\n SpinButtonOnChangeData,\n SpinButtonChangeEvent,\n SpinButtonProps,\n SpinButtonSlots,\n SpinButtonState,\n SpinButtonSpinState,\n SpinButtonBounds,\n} from './SpinButton';\n"],"names":["SpinButton","renderSpinButton_unstable","spinButtonClassNames","useSpinButtonStyles_unstable","useSpinButton_unstable"],"mappings":"AAAA,SACEA,UAAU,EACVC,yBAAyB,EACzBC,oBAAoB,EACpBC,4BAA4B,EAC5BC,sBAAsB,QACjB,eAAe"}
@@ -21,5 +21,3 @@ export const clamp = (value, min, max)=>{
21
21
  }
22
22
  return nextValue;
23
23
  };
24
-
25
- //# sourceMappingURL=clamp.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/clamp.ts"],"sourcesContent":["export const clamp = (value: number, min?: number, max?: number): number => {\n let nextValue = value;\n if (min !== undefined) {\n if (max !== undefined && min > max) {\n const error = new Error();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(\n [\n `\"min\" value \"${min}\" is greater than \"max\" value \"${max}\".`,\n '\"min\" must be less than or equal to \"max\".',\n `Returning value \"${value}\".`,\n error.stack,\n ].join(),\n );\n }\n return value;\n }\n\n nextValue = Math.max(min, nextValue);\n }\n\n if (max !== undefined) {\n nextValue = Math.min(max, nextValue);\n }\n\n return nextValue;\n};\n"],"names":["clamp","value","min","max","nextValue","undefined","error","Error","process","env","NODE_ENV","console","stack","join","Math"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,CAACC,OAAeC,KAAcC,MAAyB;IAC1E,IAAIC,YAAYH;IAChB,IAAIC,QAAQG,WAAW;QACrB,IAAIF,QAAQE,aAAaH,MAAMC,KAAK;YAClC,MAAMG,QAAQ,IAAIC;YAClB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQL,KAAK,CACX;oBACE,CAAC,aAAa,EAAEJ,IAAI,+BAA+B,EAAEC,IAAI,EAAE,CAAC;oBAC5D;oBACA,CAAC,iBAAiB,EAAEF,MAAM,EAAE,CAAC;oBAC7BK,MAAMM,KAAK;iBACZ,CAACC,IAAI;YAEV,CAAC;YACD,OAAOZ;QACT,CAAC;QAEDG,YAAYU,KAAKX,GAAG,CAACD,KAAKE;IAC5B,CAAC;IAED,IAAID,QAAQE,WAAW;QACrBD,YAAYU,KAAKZ,GAAG,CAACC,KAAKC;IAC5B,CAAC;IAED,OAAOA;AACT,EAAE"}
1
+ {"version":3,"sources":["clamp.ts"],"sourcesContent":["export const clamp = (value: number, min?: number, max?: number): number => {\n let nextValue = value;\n if (min !== undefined) {\n if (max !== undefined && min > max) {\n const error = new Error();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(\n [\n `\"min\" value \"${min}\" is greater than \"max\" value \"${max}\".`,\n '\"min\" must be less than or equal to \"max\".',\n `Returning value \"${value}\".`,\n error.stack,\n ].join(),\n );\n }\n return value;\n }\n\n nextValue = Math.max(min, nextValue);\n }\n\n if (max !== undefined) {\n nextValue = Math.min(max, nextValue);\n }\n\n return nextValue;\n};\n"],"names":["clamp","value","min","max","nextValue","undefined","error","Error","process","env","NODE_ENV","console","stack","join","Math"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,CAACC,OAAeC,KAAcC,MAAyB;IAC1E,IAAIC,YAAYH;IAChB,IAAIC,QAAQG,WAAW;QACrB,IAAIF,QAAQE,aAAaH,MAAMC,KAAK;YAClC,MAAMG,QAAQ,IAAIC;YAClB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACzC,sCAAsC;gBACtCC,QAAQL,KAAK,CACX;oBACE,CAAC,aAAa,EAAEJ,IAAI,+BAA+B,EAAEC,IAAI,EAAE,CAAC;oBAC5D;oBACA,CAAC,iBAAiB,EAAEF,MAAM,EAAE,CAAC;oBAC7BK,MAAMM,KAAK;iBACZ,CAACC,IAAI;YAEV,CAAC;YACD,OAAOZ;QACT,CAAC;QAEDG,YAAYU,KAAKX,GAAG,CAACD,KAAKE;IAC5B,CAAC;IAED,IAAID,QAAQE,WAAW;QACrBD,YAAYU,KAAKZ,GAAG,CAACC,KAAKC;IAC5B,CAAC;IAED,OAAOA;AACT,EAAE"}
@@ -9,5 +9,3 @@ export const getBound = (value, min, max)=>{
9
9
  }
10
10
  return 'none';
11
11
  };
12
-
13
- //# sourceMappingURL=getBound.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/getBound.ts"],"sourcesContent":["import type { SpinButtonBounds } from '../SpinButton';\n\nexport const getBound = (value: number, min?: number, max?: number): SpinButtonBounds => {\n if (min !== undefined && value === min) {\n if (max === min) {\n return 'both';\n }\n return 'min';\n } else if (max !== undefined && value === max) {\n return 'max';\n }\n\n return 'none';\n};\n"],"names":["getBound","value","min","max","undefined"],"mappings":"AAEA,OAAO,MAAMA,WAAW,CAACC,OAAeC,KAAcC,MAAmC;IACvF,IAAID,QAAQE,aAAaH,UAAUC,KAAK;QACtC,IAAIC,QAAQD,KAAK;YACf,OAAO;QACT,CAAC;QACD,OAAO;IACT,OAAO,IAAIC,QAAQC,aAAaH,UAAUE,KAAK;QAC7C,OAAO;IACT,CAAC;IAED,OAAO;AACT,EAAE"}
1
+ {"version":3,"sources":["getBound.ts"],"sourcesContent":["import type { SpinButtonBounds } from '../SpinButton';\n\nexport const getBound = (value: number, min?: number, max?: number): SpinButtonBounds => {\n if (min !== undefined && value === min) {\n if (max === min) {\n return 'both';\n }\n return 'min';\n } else if (max !== undefined && value === max) {\n return 'max';\n }\n\n return 'none';\n};\n"],"names":["getBound","value","min","max","undefined"],"mappings":"AAEA,OAAO,MAAMA,WAAW,CAACC,OAAeC,KAAcC,MAAmC;IACvF,IAAID,QAAQE,aAAaH,UAAUC,KAAK;QACtC,IAAIC,QAAQD,KAAK;YACf,OAAO;QACT,CAAC;QACD,OAAO;IACT,OAAO,IAAIC,QAAQC,aAAaH,UAAUE,KAAK;QAC7C,OAAO;IACT,CAAC;IAED,OAAO;AACT,EAAE"}
@@ -1,5 +1,3 @@
1
1
  export * from './clamp';
2
2
  export * from './getBound';
3
3
  export * from './precision';
4
-
5
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './clamp';\nexport * from './getBound';\nexport * from './precision';\n"],"names":[],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,cAAc"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './clamp';\nexport * from './getBound';\nexport * from './precision';\n"],"names":[],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,cAAc"}
@@ -30,5 +30,3 @@
30
30
  const exp = Math.pow(base, precision);
31
31
  return Math.round(value * exp) / exp;
32
32
  }
33
-
34
- //# sourceMappingURL=precision.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/precision.ts"],"sourcesContent":["/**\n * Calculates a number's precision based on the number of trailing\n * zeros if the number does not have a decimal indicated by a negative\n * precision. Otherwise, it calculates the number of digits after\n * the decimal point indicated by a positive precision.\n * @param value - the value to determine the precision of\n */\nexport function calculatePrecision(value: number | string): number {\n /**\n * Group 1:\n * [1-9]([0]+$) matches trailing zeros\n * Group 2:\n * \\.([0-9]*) matches all digits after a decimal point.\n */\n const groups = /[1-9]([0]+$)|\\.([0-9]*)/.exec(String(value));\n if (!groups) {\n return 0;\n }\n if (groups[1]) {\n return -groups[1].length;\n }\n if (groups[2]) {\n return groups[2].length;\n }\n return 0;\n}\n\n/**\n * Rounds a number to a certain level of precision. Accepts negative precision.\n * @param value - The value that is being rounded.\n * @param precision - The number of decimal places to round the number to\n */\nexport function precisionRound(value: number, precision: number, base: number = 10): number {\n const exp = Math.pow(base, precision);\n return Math.round(value * exp) / exp;\n}\n"],"names":["calculatePrecision","value","groups","exec","String","length","precisionRound","precision","base","exp","Math","pow","round"],"mappings":"AAAA;;;;;;CAMC,GACD,OAAO,SAASA,mBAAmBC,KAAsB,EAAU;IACjE;;;;;GAKC,GACD,MAAMC,SAAS,0BAA0BC,IAAI,CAACC,OAAOH;IACrD,IAAI,CAACC,QAAQ;QACX,OAAO;IACT,CAAC;IACD,IAAIA,MAAM,CAAC,EAAE,EAAE;QACb,OAAO,CAACA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC1B,CAAC;IACD,IAAIH,MAAM,CAAC,EAAE,EAAE;QACb,OAAOA,MAAM,CAAC,EAAE,CAACG,MAAM;IACzB,CAAC;IACD,OAAO;AACT,CAAC;AAED;;;;CAIC,GACD,OAAO,SAASC,eAAeL,KAAa,EAAEM,SAAiB,EAAEC,OAAe,EAAE,EAAU;IAC1F,MAAMC,MAAMC,KAAKC,GAAG,CAACH,MAAMD;IAC3B,OAAOG,KAAKE,KAAK,CAACX,QAAQQ,OAAOA;AACnC,CAAC"}
1
+ {"version":3,"sources":["precision.ts"],"sourcesContent":["/**\n * Calculates a number's precision based on the number of trailing\n * zeros if the number does not have a decimal indicated by a negative\n * precision. Otherwise, it calculates the number of digits after\n * the decimal point indicated by a positive precision.\n * @param value - the value to determine the precision of\n */\nexport function calculatePrecision(value: number | string): number {\n /**\n * Group 1:\n * [1-9]([0]+$) matches trailing zeros\n * Group 2:\n * \\.([0-9]*) matches all digits after a decimal point.\n */\n const groups = /[1-9]([0]+$)|\\.([0-9]*)/.exec(String(value));\n if (!groups) {\n return 0;\n }\n if (groups[1]) {\n return -groups[1].length;\n }\n if (groups[2]) {\n return groups[2].length;\n }\n return 0;\n}\n\n/**\n * Rounds a number to a certain level of precision. Accepts negative precision.\n * @param value - The value that is being rounded.\n * @param precision - The number of decimal places to round the number to\n */\nexport function precisionRound(value: number, precision: number, base: number = 10): number {\n const exp = Math.pow(base, precision);\n return Math.round(value * exp) / exp;\n}\n"],"names":["calculatePrecision","value","groups","exec","String","length","precisionRound","precision","base","exp","Math","pow","round"],"mappings":"AAAA;;;;;;CAMC,GACD,OAAO,SAASA,mBAAmBC,KAAsB,EAAU;IACjE;;;;;GAKC,GACD,MAAMC,SAAS,0BAA0BC,IAAI,CAACC,OAAOH;IACrD,IAAI,CAACC,QAAQ;QACX,OAAO;IACT,CAAC;IACD,IAAIA,MAAM,CAAC,EAAE,EAAE;QACb,OAAO,CAACA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC1B,CAAC;IACD,IAAIH,MAAM,CAAC,EAAE,EAAE;QACb,OAAOA,MAAM,CAAC,EAAE,CAACG,MAAM;IACzB,CAAC;IACD,OAAO;AACT,CAAC;AAED;;;;CAIC,GACD,OAAO,SAASC,eAAeL,KAAa,EAAEM,SAAiB,EAAEC,OAAe,EAAE,EAAU;IAC1F,MAAMC,MAAMC,KAAKC,GAAG,CAACH,MAAMD;IAC3B,OAAOG,KAAKE,KAAK,CAACX,QAAQQ,OAAOA;AACnC,CAAC"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./components/SpinButton/index"), exports);
7
- //# sourceMappingURL=SpinButton.js.map
8
-
9
- //# sourceMappingURL=SpinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/SpinButton.js"],"sourcesContent":["export * from './components/SpinButton/index';\n\n//# sourceMappingURL=SpinButton.js.map"],"names":[],"mappings":";;;;;oBAAc;CAEd,sCAAsC"}
1
+ {"version":3,"sources":["SpinButton.js"],"sourcesContent":["export * from './components/SpinButton/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
@@ -18,6 +18,4 @@ const SpinButton = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
18
18
  (0, _reactSharedContexts.useCustomStyleHook_unstable)('useSpinButtonStyles_unstable')(state);
19
19
  return (0, _renderSpinButton.renderSpinButton_unstable)(state);
20
20
  });
21
- SpinButton.displayName = 'SpinButton'; //# sourceMappingURL=SpinButton.js.map
22
-
23
- //# sourceMappingURL=SpinButton.js.map
21
+ SpinButton.displayName = 'SpinButton';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/SpinButton.js"],"sourcesContent":["import * as React from 'react';\nimport { useSpinButton_unstable } from './useSpinButton';\nimport { renderSpinButton_unstable } from './renderSpinButton';\nimport { useSpinButtonStyles_unstable } from './useSpinButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A SpinButton allows someone to incrementally adjust a value in small steps.\n */ export const SpinButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useSpinButton_unstable(props, ref);\n useSpinButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useSpinButtonStyles_unstable')(state);\n return renderSpinButton_unstable(state);\n});\nSpinButton.displayName = 'SpinButton';\n\n//# sourceMappingURL=SpinButton.js.map"],"names":["SpinButton","React","forwardRef","props","ref","state","useSpinButton_unstable","useSpinButtonStyles_unstable","useCustomStyleHook_unstable","renderSpinButton_unstable","displayName"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;+BACgB;kCACG;2CACG;qCACD;AAGjC,MAAMA,aAAa,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACvE,MAAMC,QAAQC,IAAAA,qCAAsB,EAACH,OAAOC;IAC5CG,IAAAA,uDAA4B,EAACF;IAC7BG,IAAAA,gDAA2B,EAAC,gCAAgCH;IAC5D,OAAOI,IAAAA,2CAAyB,EAACJ;AACrC;AACAL,WAAWU,WAAW,GAAG,cAEzB,sCAAsC"}
1
+ {"version":3,"sources":["SpinButton.js"],"sourcesContent":["import * as React from 'react';\nimport { useSpinButton_unstable } from './useSpinButton';\nimport { renderSpinButton_unstable } from './renderSpinButton';\nimport { useSpinButtonStyles_unstable } from './useSpinButtonStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n/**\n * A SpinButton allows someone to incrementally adjust a value in small steps.\n */ export const SpinButton = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useSpinButton_unstable(props, ref);\n useSpinButtonStyles_unstable(state);\n useCustomStyleHook_unstable('useSpinButtonStyles_unstable')(state);\n return renderSpinButton_unstable(state);\n});\nSpinButton.displayName = 'SpinButton';\n"],"names":["SpinButton","React","forwardRef","props","ref","state","useSpinButton_unstable","useSpinButtonStyles_unstable","useCustomStyleHook_unstable","renderSpinButton_unstable","displayName"],"mappings":";;;;+BAOiBA;;aAAAA;;;6DAPM;+BACgB;kCACG;2CACG;qCACD;AAGjC,MAAMA,aAAa,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACvE,MAAMC,QAAQC,IAAAA,qCAAsB,EAACH,OAAOC;IAC5CG,IAAAA,uDAA4B,EAACF;IAC7BG,IAAAA,gDAA2B,EAAC,gCAAgCH;IAC5D,OAAOI,IAAAA,2CAAyB,EAACJ;AACrC;AACAL,WAAWU,WAAW,GAAG"}
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
6
6
  const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
7
- //# sourceMappingURL=SpinButton.types.js.map
8
-
9
- //# sourceMappingURL=SpinButton.types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/SpinButton.types.js"],"sourcesContent":["import * as React from 'react';\n\n//# sourceMappingURL=SpinButton.types.js.map"],"names":[],"mappings":";;;;;6DAAuB;CAEvB,4CAA4C"}
1
+ {"version":3,"sources":["SpinButton.types.js"],"sourcesContent":["import * as React from 'react';\n"],"names":[],"mappings":";;;;;6DAAuB"}
@@ -8,6 +8,3 @@ _exportStar(require("./SpinButton.types"), exports);
8
8
  _exportStar(require("./renderSpinButton"), exports);
9
9
  _exportStar(require("./useSpinButton"), exports);
10
10
  _exportStar(require("./useSpinButtonStyles.styles"), exports);
11
- //# sourceMappingURL=index.js.map
12
-
13
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/index.js"],"sourcesContent":["export * from './SpinButton';\nexport * from './SpinButton.types';\nexport * from './renderSpinButton';\nexport * from './useSpinButton';\nexport * from './useSpinButtonStyles.styles';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;CAEd,iCAAiC"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './SpinButton';\nexport * from './SpinButton.types';\nexport * from './renderSpinButton';\nexport * from './useSpinButton';\nexport * from './useSpinButtonStyles.styles';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA"}
@@ -11,6 +11,4 @@ const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderSpinButton_unstable = (state)=>{
12
12
  const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
13
13
  return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.root, slotProps.root, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.input, slotProps.input), /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.incrementButton, slotProps.incrementButton), /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(slots.decrementButton, slotProps.decrementButton));
14
- }; //# sourceMappingURL=renderSpinButton.js.map
15
-
16
- //# sourceMappingURL=renderSpinButton.js.map
14
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/renderSpinButton.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of SpinButton\n */ export const renderSpinButton_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(slots.input, slotProps.input), /*#__PURE__*/ createElement(slots.incrementButton, slotProps.incrementButton), /*#__PURE__*/ createElement(slots.decrementButton, slotProps.decrementButton));\n};\n\n//# sourceMappingURL=renderSpinButton.js.map"],"names":["renderSpinButton_unstable","state","slots","slotProps","getSlotsNext","createElement","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,4BAA4B,CAACC,QAAQ;IAClD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAE,WAAW,GAAGD,IAAAA,8BAAa,EAACH,MAAMK,KAAK,EAAEJ,UAAUI,KAAK,GAAG,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMM,eAAe,EAAEL,UAAUK,eAAe,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMO,eAAe,EAAEN,UAAUM,eAAe;AACzR,GAEA,4CAA4C"}
1
+ {"version":3,"sources":["renderSpinButton.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of SpinButton\n */ export const renderSpinButton_unstable = (state)=>{\n const { slots , slotProps } = getSlotsNext(state);\n return /*#__PURE__*/ createElement(slots.root, slotProps.root, /*#__PURE__*/ createElement(slots.input, slotProps.input), /*#__PURE__*/ createElement(slots.incrementButton, slotProps.incrementButton), /*#__PURE__*/ createElement(slots.decrementButton, slotProps.decrementButton));\n};\n"],"names":["renderSpinButton_unstable","state","slots","slotProps","getSlotsNext","createElement","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACtD;AAGlB,MAAMA,4BAA4B,CAACC,QAAQ;IAClD,MAAM,EAAEC,MAAK,EAAGC,UAAS,EAAG,GAAGC,IAAAA,4BAAY,EAACH;IAC5C,OAAO,WAAW,GAAGI,IAAAA,8BAAa,EAACH,MAAMI,IAAI,EAAEH,UAAUG,IAAI,EAAE,WAAW,GAAGD,IAAAA,8BAAa,EAACH,MAAMK,KAAK,EAAEJ,UAAUI,KAAK,GAAG,WAAW,GAAGF,IAAAA,8BAAa,EAACH,MAAMM,eAAe,EAAEL,UAAUK,eAAe,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACH,MAAMO,eAAe,EAAEN,UAAUM,eAAe;AACzR"}
@@ -263,6 +263,4 @@ const useSpinButton_unstable = (props, ref)=>{
263
263
  state.decrementButton.onMouseUp = (0, _reactUtilities.mergeCallbacks)(state.decrementButton.onMouseUp, handleStepMouseUpOrLeave);
264
264
  state.decrementButton.onMouseLeave = (0, _reactUtilities.mergeCallbacks)(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);
265
265
  return state;
266
- }; //# sourceMappingURL=useSpinButton.js.map
267
-
268
- //# sourceMappingURL=useSpinButton.js.map
266
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/useSpinButton.js"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, mergeCallbacks, resolveShorthand, useControllableState, useTimeout } from '@fluentui/react-utilities';\nimport { ArrowUp, ArrowDown, End, Enter, Escape, Home, PageDown, PageUp } from '@fluentui/keyboard-keys';\nimport { calculatePrecision, precisionRound, getBound, clamp } from '../../utils/index';\nimport { ChevronUp16Regular, ChevronDown16Regular } from '@fluentui/react-icons';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\nconst DEFAULT_SPIN_DELAY_MS = 150;\nconst MIN_SPIN_DELAY_MS = 80;\nconst MAX_SPIN_TIME_MS = 1000;\n// This is here to give an ease for the mouse held down case.\n// Exact easing it to be defined. Once it is we'll likely\n// pull this out into a util function in the SpinButton package.\nconst lerp = (start, end, percent)=>start + (end - start) * percent;\n/**\n * Create the state required to render SpinButton.\n *\n * The returned state can be modified with hooks such as useSpinButtonStyles_unstable,\n * before being passed to renderSpinButton_unstable.\n *\n * @param props - props from this instance of SpinButton\n * @param ref - reference to root HTMLElement of SpinButton\n */ export const useSpinButton_unstable = (props, ref)=>{\n // Merge props from surrounding <Field>, if any\n props = useFieldControlProps_unstable(props, {\n supportsLabelFor: true,\n supportsRequired: true\n });\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'defaultValue',\n 'max',\n 'min',\n 'onChange',\n 'size',\n 'value'\n ]\n });\n const overrides = useOverrides();\n var _overrides_inputDefaultAppearance;\n const { value , displayValue , defaultValue , min , max , step =1 , stepPage =1 , precision: precisionFromProps , onChange , size ='medium' , appearance =(_overrides_inputDefaultAppearance = overrides.inputDefaultAppearance) !== null && _overrides_inputDefaultAppearance !== void 0 ? _overrides_inputDefaultAppearance : 'outline' , root , input , incrementButton , decrementButton } = props;\n const precision = React.useMemo(()=>{\n return precisionFromProps !== null && precisionFromProps !== void 0 ? precisionFromProps : Math.max(calculatePrecision(step), 0);\n }, [\n precisionFromProps,\n step\n ]);\n const [currentValue, setCurrentValue] = useControllableState({\n state: value,\n defaultState: defaultValue,\n initialState: 0\n });\n const isControlled = value !== undefined;\n const [textValue, setTextValue] = React.useState(undefined);\n const [keyboardSpinState, setKeyboardSpinState] = React.useState('rest');\n const internalState = React.useRef({\n value: currentValue,\n spinState: 'rest',\n spinTime: 0,\n spinDelay: DEFAULT_SPIN_DELAY_MS,\n atBound: currentValue !== null ? getBound(precisionRound(currentValue, precision), min, max) : 'none'\n });\n const [setStepTimeout, clearStepTimeout] = useTimeout();\n const stepValue = (e, direction, startFrom)=>{\n let startValue = internalState.current.value;\n if (startFrom) {\n const num = parseFloat(startFrom);\n if (!isNaN(num)) {\n startValue = num;\n }\n }\n const val = startValue;\n const dir = direction === 'up' || direction === 'upPage' ? 1 : -1;\n const stepSize = direction === 'upPage' || direction === 'downPage' ? stepPage : step;\n if (val === null) {\n const stepStart = min === undefined ? 0 : min;\n const nullStep = clamp(stepStart + stepSize * dir, min, max);\n commit(e, nullStep);\n return;\n }\n let newValue = val + stepSize * dir;\n if (!Number.isNaN(newValue)) {\n newValue = clamp(newValue, min, max);\n }\n commit(e, newValue);\n if (internalState.current.spinState !== 'rest') {\n setStepTimeout(()=>{\n // Ease the step speed a bit\n internalState.current.spinTime += internalState.current.spinDelay;\n internalState.current.spinDelay = lerp(DEFAULT_SPIN_DELAY_MS, MIN_SPIN_DELAY_MS, internalState.current.spinTime / MAX_SPIN_TIME_MS);\n stepValue(e, direction);\n }, internalState.current.spinDelay);\n }\n };\n const handleInputChange = (e)=>{\n if (!internalState.current.previousTextValue) {\n internalState.current.previousTextValue = textValue !== null && textValue !== void 0 ? textValue : String(currentValue);\n }\n const newValue = e.target.value;\n setTextValue(newValue);\n };\n const handleIncrementMouseDown = (e)=>{\n internalState.current.spinState = 'up';\n stepValue(e, 'up');\n };\n const handleDecrementMouseDown = (e)=>{\n internalState.current.spinState = 'down';\n stepValue(e, 'down');\n };\n const handleStepMouseUpOrLeave = (e)=>{\n clearStepTimeout();\n internalState.current.spinState = 'rest';\n internalState.current.spinDelay = DEFAULT_SPIN_DELAY_MS;\n internalState.current.spinTime = 0;\n };\n const handleBlur = (e)=>{\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n };\n const handleKeyDown = (e)=>{\n let nextKeyboardSpinState = 'rest';\n if (e.key === ArrowUp) {\n stepValue(e, 'up', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === ArrowDown) {\n stepValue(e, 'down', textValue);\n nextKeyboardSpinState = 'down';\n } else if (e.key === PageUp) {\n e.preventDefault();\n stepValue(e, 'upPage', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === PageDown) {\n e.preventDefault();\n stepValue(e, 'downPage', textValue);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === Home && min !== undefined) {\n commit(e, min);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === End && max !== undefined) {\n commit(e, max);\n nextKeyboardSpinState = 'up';\n } else if (e.key === Enter) {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n } else if (e.key === Escape) {\n if (internalState.current.previousTextValue) {\n setTextValue(undefined);\n internalState.current.previousTextValue = undefined;\n }\n }\n if (keyboardSpinState !== nextKeyboardSpinState) {\n setKeyboardSpinState(nextKeyboardSpinState);\n }\n };\n const handleKeyUp = (e)=>{\n if (keyboardSpinState !== 'rest') {\n setKeyboardSpinState('rest');\n internalState.current.spinState = 'rest';\n }\n };\n const commit = (e, newValue, newDisplayValue)=>{\n const valueChanged = newValue !== undefined && currentValue !== newValue;\n const displayValueChanged = newDisplayValue !== undefined && internalState.current.previousTextValue !== undefined && internalState.current.previousTextValue !== newDisplayValue;\n let roundedValue;\n if (valueChanged) {\n roundedValue = precisionRound(newValue, precision);\n setCurrentValue(roundedValue);\n } else if (displayValueChanged && !isControlled) {\n const nextValue = parseFloat(newDisplayValue);\n if (!isNaN(nextValue)) {\n setCurrentValue(precisionRound(nextValue, precision));\n }\n }\n if (valueChanged || displayValueChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(e, {\n value: roundedValue,\n displayValue: newDisplayValue\n });\n }\n setTextValue(undefined);\n };\n const state = {\n size,\n appearance,\n spinState: keyboardSpinState,\n atBound: internalState.current.atBound,\n components: {\n root: 'span',\n input: 'input',\n incrementButton: 'button',\n decrementButton: 'button'\n },\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root\n }),\n input: resolveShorthand(input, {\n required: true,\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary\n }\n }),\n incrementButton: resolveShorthand(incrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: /*#__PURE__*/ React.createElement(ChevronUp16Regular, null),\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Increment value',\n type: 'button'\n }\n }),\n decrementButton: resolveShorthand(decrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: /*#__PURE__*/ React.createElement(ChevronDown16Regular, null),\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Decrement value',\n type: 'button'\n }\n })\n };\n let valueToDisplay;\n if (textValue !== undefined) {\n valueToDisplay = textValue;\n } else if (value === null || currentValue === null) {\n valueToDisplay = displayValue !== null && displayValue !== void 0 ? displayValue : '';\n internalState.current.value = null;\n internalState.current.atBound = 'none';\n } else {\n const roundedValue = precisionRound(currentValue, precision);\n internalState.current.value = roundedValue;\n internalState.current.atBound = getBound(roundedValue, min, max);\n if (isControlled) {\n valueToDisplay = displayValue !== null && displayValue !== void 0 ? displayValue : String(roundedValue);\n } else {\n valueToDisplay = String(roundedValue);\n }\n }\n state.input.value = valueToDisplay;\n state.input['aria-valuemin'] = min;\n state.input['aria-valuemax'] = max;\n state.input['aria-valuenow'] = currentValue !== null && currentValue !== void 0 ? currentValue : undefined;\n var _state_input_ariavaluetext;\n state.input['aria-valuetext'] = (_state_input_ariavaluetext = state.input['aria-valuetext']) !== null && _state_input_ariavaluetext !== void 0 ? _state_input_ariavaluetext : value !== undefined && displayValue || undefined;\n state.input.onChange = mergeCallbacks(state.input.onChange, handleInputChange);\n state.input.onBlur = mergeCallbacks(state.input.onBlur, handleBlur);\n state.input.onKeyDown = mergeCallbacks(state.input.onKeyDown, handleKeyDown);\n state.input.onKeyUp = mergeCallbacks(state.input.onKeyUp, handleKeyUp);\n state.incrementButton.onMouseDown = mergeCallbacks(handleIncrementMouseDown, state.incrementButton.onMouseDown);\n state.incrementButton.onMouseUp = mergeCallbacks(state.incrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.incrementButton.onMouseLeave = mergeCallbacks(state.incrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseDown = mergeCallbacks(handleDecrementMouseDown, state.decrementButton.onMouseDown);\n state.decrementButton.onMouseUp = mergeCallbacks(state.decrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseLeave = mergeCallbacks(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n return state;\n};\n\n//# sourceMappingURL=useSpinButton.js.map"],"names":["useSpinButton_unstable","DEFAULT_SPIN_DELAY_MS","MIN_SPIN_DELAY_MS","MAX_SPIN_TIME_MS","lerp","start","end","percent","props","ref","useFieldControlProps_unstable","supportsLabelFor","supportsRequired","nativeProps","getPartitionedNativeProps","primarySlotTagName","excludedPropNames","overrides","useOverrides","_overrides_inputDefaultAppearance","value","displayValue","defaultValue","min","max","step","stepPage","precision","precisionFromProps","onChange","size","appearance","inputDefaultAppearance","root","input","incrementButton","decrementButton","React","useMemo","Math","calculatePrecision","currentValue","setCurrentValue","useControllableState","state","defaultState","initialState","isControlled","undefined","textValue","setTextValue","useState","keyboardSpinState","setKeyboardSpinState","internalState","useRef","spinState","spinTime","spinDelay","atBound","getBound","precisionRound","setStepTimeout","clearStepTimeout","useTimeout","stepValue","e","direction","startFrom","startValue","current","num","parseFloat","isNaN","val","dir","stepSize","stepStart","nullStep","clamp","commit","newValue","Number","handleInputChange","previousTextValue","String","target","handleIncrementMouseDown","handleDecrementMouseDown","handleStepMouseUpOrLeave","handleBlur","handleKeyDown","nextKeyboardSpinState","key","ArrowUp","ArrowDown","PageUp","preventDefault","PageDown","shiftKey","Home","End","Enter","Escape","handleKeyUp","newDisplayValue","valueChanged","displayValueChanged","roundedValue","nextValue","components","resolveShorthand","required","defaultProps","autoComplete","role","type","primary","tabIndex","children","createElement","ChevronUp16Regular","disabled","ChevronDown16Regular","valueToDisplay","_state_input_ariavaluetext","mergeCallbacks","onBlur","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave"],"mappings":"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"}
1
+ {"version":3,"sources":["useSpinButton.js"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, mergeCallbacks, resolveShorthand, useControllableState, useTimeout } from '@fluentui/react-utilities';\nimport { ArrowUp, ArrowDown, End, Enter, Escape, Home, PageDown, PageUp } from '@fluentui/keyboard-keys';\nimport { calculatePrecision, precisionRound, getBound, clamp } from '../../utils/index';\nimport { ChevronUp16Regular, ChevronDown16Regular } from '@fluentui/react-icons';\nimport { useOverrides_unstable as useOverrides } from '@fluentui/react-shared-contexts';\nconst DEFAULT_SPIN_DELAY_MS = 150;\nconst MIN_SPIN_DELAY_MS = 80;\nconst MAX_SPIN_TIME_MS = 1000;\n// This is here to give an ease for the mouse held down case.\n// Exact easing it to be defined. Once it is we'll likely\n// pull this out into a util function in the SpinButton package.\nconst lerp = (start, end, percent)=>start + (end - start) * percent;\n/**\n * Create the state required to render SpinButton.\n *\n * The returned state can be modified with hooks such as useSpinButtonStyles_unstable,\n * before being passed to renderSpinButton_unstable.\n *\n * @param props - props from this instance of SpinButton\n * @param ref - reference to root HTMLElement of SpinButton\n */ export const useSpinButton_unstable = (props, ref)=>{\n // Merge props from surrounding <Field>, if any\n props = useFieldControlProps_unstable(props, {\n supportsLabelFor: true,\n supportsRequired: true\n });\n const nativeProps = getPartitionedNativeProps({\n props,\n primarySlotTagName: 'input',\n excludedPropNames: [\n 'defaultValue',\n 'max',\n 'min',\n 'onChange',\n 'size',\n 'value'\n ]\n });\n const overrides = useOverrides();\n var _overrides_inputDefaultAppearance;\n const { value , displayValue , defaultValue , min , max , step =1 , stepPage =1 , precision: precisionFromProps , onChange , size ='medium' , appearance =(_overrides_inputDefaultAppearance = overrides.inputDefaultAppearance) !== null && _overrides_inputDefaultAppearance !== void 0 ? _overrides_inputDefaultAppearance : 'outline' , root , input , incrementButton , decrementButton } = props;\n const precision = React.useMemo(()=>{\n return precisionFromProps !== null && precisionFromProps !== void 0 ? precisionFromProps : Math.max(calculatePrecision(step), 0);\n }, [\n precisionFromProps,\n step\n ]);\n const [currentValue, setCurrentValue] = useControllableState({\n state: value,\n defaultState: defaultValue,\n initialState: 0\n });\n const isControlled = value !== undefined;\n const [textValue, setTextValue] = React.useState(undefined);\n const [keyboardSpinState, setKeyboardSpinState] = React.useState('rest');\n const internalState = React.useRef({\n value: currentValue,\n spinState: 'rest',\n spinTime: 0,\n spinDelay: DEFAULT_SPIN_DELAY_MS,\n atBound: currentValue !== null ? getBound(precisionRound(currentValue, precision), min, max) : 'none'\n });\n const [setStepTimeout, clearStepTimeout] = useTimeout();\n const stepValue = (e, direction, startFrom)=>{\n let startValue = internalState.current.value;\n if (startFrom) {\n const num = parseFloat(startFrom);\n if (!isNaN(num)) {\n startValue = num;\n }\n }\n const val = startValue;\n const dir = direction === 'up' || direction === 'upPage' ? 1 : -1;\n const stepSize = direction === 'upPage' || direction === 'downPage' ? stepPage : step;\n if (val === null) {\n const stepStart = min === undefined ? 0 : min;\n const nullStep = clamp(stepStart + stepSize * dir, min, max);\n commit(e, nullStep);\n return;\n }\n let newValue = val + stepSize * dir;\n if (!Number.isNaN(newValue)) {\n newValue = clamp(newValue, min, max);\n }\n commit(e, newValue);\n if (internalState.current.spinState !== 'rest') {\n setStepTimeout(()=>{\n // Ease the step speed a bit\n internalState.current.spinTime += internalState.current.spinDelay;\n internalState.current.spinDelay = lerp(DEFAULT_SPIN_DELAY_MS, MIN_SPIN_DELAY_MS, internalState.current.spinTime / MAX_SPIN_TIME_MS);\n stepValue(e, direction);\n }, internalState.current.spinDelay);\n }\n };\n const handleInputChange = (e)=>{\n if (!internalState.current.previousTextValue) {\n internalState.current.previousTextValue = textValue !== null && textValue !== void 0 ? textValue : String(currentValue);\n }\n const newValue = e.target.value;\n setTextValue(newValue);\n };\n const handleIncrementMouseDown = (e)=>{\n internalState.current.spinState = 'up';\n stepValue(e, 'up');\n };\n const handleDecrementMouseDown = (e)=>{\n internalState.current.spinState = 'down';\n stepValue(e, 'down');\n };\n const handleStepMouseUpOrLeave = (e)=>{\n clearStepTimeout();\n internalState.current.spinState = 'rest';\n internalState.current.spinDelay = DEFAULT_SPIN_DELAY_MS;\n internalState.current.spinTime = 0;\n };\n const handleBlur = (e)=>{\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n };\n const handleKeyDown = (e)=>{\n let nextKeyboardSpinState = 'rest';\n if (e.key === ArrowUp) {\n stepValue(e, 'up', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === ArrowDown) {\n stepValue(e, 'down', textValue);\n nextKeyboardSpinState = 'down';\n } else if (e.key === PageUp) {\n e.preventDefault();\n stepValue(e, 'upPage', textValue);\n nextKeyboardSpinState = 'up';\n } else if (e.key === PageDown) {\n e.preventDefault();\n stepValue(e, 'downPage', textValue);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === Home && min !== undefined) {\n commit(e, min);\n nextKeyboardSpinState = 'down';\n } else if (!e.shiftKey && e.key === End && max !== undefined) {\n commit(e, max);\n nextKeyboardSpinState = 'up';\n } else if (e.key === Enter) {\n commit(e, currentValue, textValue);\n internalState.current.previousTextValue = undefined;\n } else if (e.key === Escape) {\n if (internalState.current.previousTextValue) {\n setTextValue(undefined);\n internalState.current.previousTextValue = undefined;\n }\n }\n if (keyboardSpinState !== nextKeyboardSpinState) {\n setKeyboardSpinState(nextKeyboardSpinState);\n }\n };\n const handleKeyUp = (e)=>{\n if (keyboardSpinState !== 'rest') {\n setKeyboardSpinState('rest');\n internalState.current.spinState = 'rest';\n }\n };\n const commit = (e, newValue, newDisplayValue)=>{\n const valueChanged = newValue !== undefined && currentValue !== newValue;\n const displayValueChanged = newDisplayValue !== undefined && internalState.current.previousTextValue !== undefined && internalState.current.previousTextValue !== newDisplayValue;\n let roundedValue;\n if (valueChanged) {\n roundedValue = precisionRound(newValue, precision);\n setCurrentValue(roundedValue);\n } else if (displayValueChanged && !isControlled) {\n const nextValue = parseFloat(newDisplayValue);\n if (!isNaN(nextValue)) {\n setCurrentValue(precisionRound(nextValue, precision));\n }\n }\n if (valueChanged || displayValueChanged) {\n onChange === null || onChange === void 0 ? void 0 : onChange(e, {\n value: roundedValue,\n displayValue: newDisplayValue\n });\n }\n setTextValue(undefined);\n };\n const state = {\n size,\n appearance,\n spinState: keyboardSpinState,\n atBound: internalState.current.atBound,\n components: {\n root: 'span',\n input: 'input',\n incrementButton: 'button',\n decrementButton: 'button'\n },\n root: resolveShorthand(root, {\n required: true,\n defaultProps: nativeProps.root\n }),\n input: resolveShorthand(input, {\n required: true,\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary\n }\n }),\n incrementButton: resolveShorthand(incrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: /*#__PURE__*/ React.createElement(ChevronUp16Regular, null),\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Increment value',\n type: 'button'\n }\n }),\n decrementButton: resolveShorthand(decrementButton, {\n required: true,\n defaultProps: {\n tabIndex: -1,\n children: /*#__PURE__*/ React.createElement(ChevronDown16Regular, null),\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Decrement value',\n type: 'button'\n }\n })\n };\n let valueToDisplay;\n if (textValue !== undefined) {\n valueToDisplay = textValue;\n } else if (value === null || currentValue === null) {\n valueToDisplay = displayValue !== null && displayValue !== void 0 ? displayValue : '';\n internalState.current.value = null;\n internalState.current.atBound = 'none';\n } else {\n const roundedValue = precisionRound(currentValue, precision);\n internalState.current.value = roundedValue;\n internalState.current.atBound = getBound(roundedValue, min, max);\n if (isControlled) {\n valueToDisplay = displayValue !== null && displayValue !== void 0 ? displayValue : String(roundedValue);\n } else {\n valueToDisplay = String(roundedValue);\n }\n }\n state.input.value = valueToDisplay;\n state.input['aria-valuemin'] = min;\n state.input['aria-valuemax'] = max;\n state.input['aria-valuenow'] = currentValue !== null && currentValue !== void 0 ? currentValue : undefined;\n var _state_input_ariavaluetext;\n state.input['aria-valuetext'] = (_state_input_ariavaluetext = state.input['aria-valuetext']) !== null && _state_input_ariavaluetext !== void 0 ? _state_input_ariavaluetext : value !== undefined && displayValue || undefined;\n state.input.onChange = mergeCallbacks(state.input.onChange, handleInputChange);\n state.input.onBlur = mergeCallbacks(state.input.onBlur, handleBlur);\n state.input.onKeyDown = mergeCallbacks(state.input.onKeyDown, handleKeyDown);\n state.input.onKeyUp = mergeCallbacks(state.input.onKeyUp, handleKeyUp);\n state.incrementButton.onMouseDown = mergeCallbacks(handleIncrementMouseDown, state.incrementButton.onMouseDown);\n state.incrementButton.onMouseUp = mergeCallbacks(state.incrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.incrementButton.onMouseLeave = mergeCallbacks(state.incrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseDown = mergeCallbacks(handleDecrementMouseDown, state.decrementButton.onMouseDown);\n state.decrementButton.onMouseUp = mergeCallbacks(state.decrementButton.onMouseUp, handleStepMouseUpOrLeave);\n state.decrementButton.onMouseLeave = mergeCallbacks(state.decrementButton.onMouseLeave, handleStepMouseUpOrLeave);\n return state;\n};\n"],"names":["useSpinButton_unstable","DEFAULT_SPIN_DELAY_MS","MIN_SPIN_DELAY_MS","MAX_SPIN_TIME_MS","lerp","start","end","percent","props","ref","useFieldControlProps_unstable","supportsLabelFor","supportsRequired","nativeProps","getPartitionedNativeProps","primarySlotTagName","excludedPropNames","overrides","useOverrides","_overrides_inputDefaultAppearance","value","displayValue","defaultValue","min","max","step","stepPage","precision","precisionFromProps","onChange","size","appearance","inputDefaultAppearance","root","input","incrementButton","decrementButton","React","useMemo","Math","calculatePrecision","currentValue","setCurrentValue","useControllableState","state","defaultState","initialState","isControlled","undefined","textValue","setTextValue","useState","keyboardSpinState","setKeyboardSpinState","internalState","useRef","spinState","spinTime","spinDelay","atBound","getBound","precisionRound","setStepTimeout","clearStepTimeout","useTimeout","stepValue","e","direction","startFrom","startValue","current","num","parseFloat","isNaN","val","dir","stepSize","stepStart","nullStep","clamp","commit","newValue","Number","handleInputChange","previousTextValue","String","target","handleIncrementMouseDown","handleDecrementMouseDown","handleStepMouseUpOrLeave","handleBlur","handleKeyDown","nextKeyboardSpinState","key","ArrowUp","ArrowDown","PageUp","preventDefault","PageDown","shiftKey","Home","End","Enter","Escape","handleKeyUp","newDisplayValue","valueChanged","displayValueChanged","roundedValue","nextValue","components","resolveShorthand","required","defaultProps","autoComplete","role","type","primary","tabIndex","children","createElement","ChevronUp16Regular","disabled","ChevronDown16Regular","valueToDisplay","_state_input_ariavaluetext","mergeCallbacks","onBlur","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave"],"mappings":"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"}
@@ -521,5 +521,3 @@ const useSpinButtonStyles_unstable = (state)=>{
521
521
  state.input.className = (0, _react.mergeClasses)(spinButtonClassNames.input, useInputClassName(), disabled && inputStyles.disabled, state.input.className);
522
522
  return state;
523
523
  }; //# sourceMappingURL=useSpinButtonStyles.styles.js.map
524
-
525
- //# sourceMappingURL=useSpinButtonStyles.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/SpinButton/useSpinButtonStyles.styles.js"],"sourcesContent":["import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const spinButtonClassNames = {\n root: 'fui-SpinButton',\n input: 'fui-SpinButton__input',\n incrementButton: 'fui-SpinButton__incrementButton',\n decrementButton: 'fui-SpinButton__decrementButton'\n};\nconst spinButtonExtraClassNames = {\n buttonActive: 'fui-SpinButton__button_active'\n};\nconst fieldHeights = {\n small: '24px',\n medium: '32px'\n};\nconst useRootClassName = /*#__PURE__*/__resetStyles(\"rkqmps4\", \"r1trw52p\", [\".rkqmps4{display:inline-grid;grid-template-columns:1fr 24px;grid-template-rows:1fr 1fr;-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);row-gap:0;position:relative;isolation:isolate;background-color:var(--colorNeutralBackground1);min-height:32px;padding:0 0 0 var(--spacingHorizontalMNudge);border-radius:var(--borderRadiusMedium);}\", \".rkqmps4::before{content:\\\"\\\";box-sizing:border-box;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);border-radius:var(--borderRadiusMedium);}\", \".rkqmps4::after{box-sizing:border-box;content:\\\"\\\";position:absolute;right:0;bottom:0;left:0;z-index:20;height:max(2px, var(--borderRadiusMedium));border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);-webkit-clip-path:inset(calc(100% - 2px) 0 0 0);clip-path:inset(calc(100% - 2px) 0 0 0);-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.rkqmps4::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".rkqmps4:focus-within::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.rkqmps4:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".rkqmps4:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".rkqmps4:focus-within{outline:2px solid transparent;}\", \".r1trw52p{display:inline-grid;grid-template-columns:1fr 24px;grid-template-rows:1fr 1fr;-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);row-gap:0;position:relative;isolation:isolate;background-color:var(--colorNeutralBackground1);min-height:32px;padding:0 var(--spacingHorizontalMNudge) 0 0;border-radius:var(--borderRadiusMedium);}\", \".r1trw52p::before{content:\\\"\\\";box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none;z-index:10;border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);border-radius:var(--borderRadiusMedium);}\", \".r1trw52p::after{box-sizing:border-box;content:\\\"\\\";position:absolute;left:0;bottom:0;right:0;z-index:20;height:max(2px, var(--borderRadiusMedium));border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);-webkit-clip-path:inset(calc(100% - 2px) 0 0 0);clip-path:inset(calc(100% - 2px) 0 0 0);-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.r1trw52p::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".r1trw52p:focus-within::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.r1trw52p:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".r1trw52p:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".r1trw52p:focus-within{outline:2px solid transparent;}\"]);\nconst useRootStyles = /*#__PURE__*/__styles({\n small: {\n sshi5w: \"f1pha7fy\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\",\n uwmqm3: [\"f1f5gg8d\", \"f1vdfbxk\"]\n },\n medium: {},\n outline: {},\n outlineInteractive: {\n Bo3r8zu: \"f1w2y1rc\",\n Hpvxnh: [\"f1gofhvl\", \"f18htlvq\"],\n Bx11ytk: \"ffcnd28\",\n B1rg0w0: [\"f18htlvq\", \"f1gofhvl\"],\n Bsg1tlv: \"f6lmxco\",\n Brjw370: [\"fcoc0mf\", \"f15r4wkl\"],\n xcfy85: \"f1ipdth8\",\n Bcc6kan: [\"f15r4wkl\", \"fcoc0mf\"]\n },\n underline: {\n B0qfbqy: \"f1o236ok\",\n B4f6apu: [\"faeg28l\", \"f64aojp\"],\n y0oebl: \"fdw6hkg\",\n uvfttm: [\"f64aojp\", \"faeg28l\"],\n Budzafs: [\"f1vk4jnx\", \"f1v3v894\"],\n r59vdv: [\"f1v3v894\", \"f1vk4jnx\"],\n n07z76: [\"fzi2j54\", \"f1un0uoc\"],\n ck0cow: [\"f1un0uoc\", \"fzi2j54\"]\n },\n underlineInteractive: {\n Bx11ytk: \"ffcnd28\",\n xcfy85: \"f1ipdth8\",\n B3778ie: [\"f9pmbr4\", \"ffh3ws5\"],\n d9w3h3: [\"ffh3ws5\", \"f9pmbr4\"],\n Bl18szs: [\"f19438ov\", \"f1i9y5j\"],\n B4j8arr: [\"f1i9y5j\", \"f19438ov\"]\n },\n filled: {\n B0qfbqy: \"f1fjh9ub\",\n B4f6apu: [\"ff9c942\", \"f6rdg5o\"],\n y0oebl: \"fdw6hkg\",\n uvfttm: [\"f6rdg5o\", \"ff9c942\"],\n Bdkvgpv: \"f163fonl\",\n m598lv: [\"f1yq6w5o\", \"f1jpmc5p\"],\n qa3bma: \"f11yjt3y\",\n Bbv0w2i: [\"f1jpmc5p\", \"f1yq6w5o\"],\n Bq4z7u6: \"f7dgwnz\",\n Bk5zm6e: [\"f1edeodt\", \"fszsv3f\"],\n Bqjgrrk: \"f1172wan\",\n Bm6vgfq: [\"fszsv3f\", \"f1edeodt\"]\n },\n \"filled-darker\": {\n De3pzq: \"f16xq7d1\"\n },\n \"filled-lighter\": {\n De3pzq: \"fxugw4r\"\n },\n filledInteractive: {\n B05mzqr: \"f1xqt08\",\n tb9y6h: [\"fzt5lgo\", \"f8tv3r9\"],\n jcehpj: \"fyhrops\",\n B23o0hn: [\"f8tv3r9\", \"fzt5lgo\"]\n },\n invalid: {\n emecyz: \"fl48pg9\",\n lz0pba: [\"f1a168p3\", \"f1pvdymy\"],\n Bo1k74p: \"f11knvgl\",\n Ba322q7: [\"f1pvdymy\", \"f1a168p3\"]\n },\n disabled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n Bq4z7u6: \"f1a0lfh7\",\n Bk5zm6e: [\"f1p2ejm6\", \"fmzytvz\"],\n Bqjgrrk: \"fas2e61\",\n Bm6vgfq: [\"fmzytvz\", \"f1p2ejm6\"],\n Cffpyd: \"flb8es4\",\n hxi8he: [\"f1lclws\", \"frjp63v\"],\n Bcuq369: \"f1yv9wnt\",\n Imo2if: [\"frjp63v\", \"f1lclws\"]\n }\n}, {\n d: [\".f1pha7fy{min-height:24px;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1o236ok::before{border-top-width:0;}\", \".faeg28l::before{border-right-width:0;}\", \".f64aojp::before{border-left-width:0;}\", \".fdw6hkg::before{border-bottom-width:1px;}\", \".f1vk4jnx::before{border-bottom-right-radius:var(--borderRadiusNone);}\", \".f1v3v894::before{border-bottom-left-radius:var(--borderRadiusNone);}\", \".fzi2j54::before{border-top-right-radius:var(--borderRadiusNone);}\", \".f1un0uoc::before{border-top-left-radius:var(--borderRadiusNone);}\", \".f9pmbr4::after{border-bottom-right-radius:var(--borderRadiusNone);}\", \".ffh3ws5::after{border-bottom-left-radius:var(--borderRadiusNone);}\", \".f19438ov::after{border-top-right-radius:var(--borderRadiusNone);}\", \".f1i9y5j::after{border-top-left-radius:var(--borderRadiusNone);}\", \".f1fjh9ub::before{border-top-width:1px;}\", \".ff9c942::before{border-right-width:1px;}\", \".f6rdg5o::before{border-left-width:1px;}\", \".f163fonl::before{border-top-style:solid;}\", \".f1yq6w5o::before{border-right-style:solid;}\", \".f1jpmc5p::before{border-left-style:solid;}\", \".f11yjt3y::before{border-bottom-style:solid;}\", \".f7dgwnz::before{border-top-color:var(--colorTransparentStroke);}\", \".f1edeodt::before{border-right-color:var(--colorTransparentStroke);}\", \".fszsv3f::before{border-left-color:var(--colorTransparentStroke);}\", \".f1172wan::before{border-bottom-color:var(--colorTransparentStroke);}\", \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".fl48pg9:not(:focus-within)::before,.fl48pg9:hover:not(:focus-within)::before{border-top-color:var(--colorPaletteRedBorder2);}\", \".f1a168p3:not(:focus-within)::before,.f1a168p3:hover:not(:focus-within)::before{border-right-color:var(--colorPaletteRedBorder2);}\", \".f1pvdymy:not(:focus-within)::before,.f1pvdymy:hover:not(:focus-within)::before{border-left-color:var(--colorPaletteRedBorder2);}\", \".f11knvgl:not(:focus-within)::before,.f11knvgl:hover:not(:focus-within)::before{border-bottom-color:var(--colorPaletteRedBorder2);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".f1a0lfh7::before{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f1p2ejm6::before{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fmzytvz::before{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".fas2e61::before{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"],\n h: [\".f1w2y1rc:hover::before{border-top-color:var(--colorNeutralStroke1Hover);}\", \".f1gofhvl:hover::before{border-right-color:var(--colorNeutralStroke1Hover);}\", \".f18htlvq:hover::before{border-left-color:var(--colorNeutralStroke1Hover);}\", \".ffcnd28:hover::before{border-bottom-color:var(--colorNeutralStrokeAccessibleHover);}\", \".f1xqt08:hover::before,.f1xqt08:focus-within::before{border-top-color:var(--colorTransparentStrokeInteractive);}\", \".fzt5lgo:hover::before,.fzt5lgo:focus-within::before{border-right-color:var(--colorTransparentStrokeInteractive);}\", \".f8tv3r9:hover::before,.f8tv3r9:focus-within::before{border-left-color:var(--colorTransparentStrokeInteractive);}\", \".fyhrops:hover::before,.fyhrops:focus-within::before{border-bottom-color:var(--colorTransparentStrokeInteractive);}\"],\n a: [\".f6lmxco:active::before,.f6lmxco:focus-within::before{border-top-color:var(--colorNeutralStroke1Pressed);}\", \".fcoc0mf:active::before,.fcoc0mf:focus-within::before{border-right-color:var(--colorNeutralStroke1Pressed);}\", \".f15r4wkl:active::before,.f15r4wkl:focus-within::before{border-left-color:var(--colorNeutralStroke1Pressed);}\", \".f1ipdth8:active::before,.f1ipdth8:focus-within::before{border-bottom-color:var(--colorNeutralStrokeAccessiblePressed);}\"],\n m: [[\"@media (forced-colors: active){.flb8es4::before{border-top-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1lclws::before{border-right-color:GrayText;}.frjp63v::before{border-left-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1yv9wnt::before{border-bottom-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.frjp63v::before{border-left-color:GrayText;}.f1lclws::before{border-right-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useInputClassName = /*#__PURE__*/__resetStyles(\"r1ljrqje\", null, [\".r1ljrqje{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:3;outline-style:none;border:0;padding:0;color:var(--colorNeutralForeground1);background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;width:100%;}\", \".r1ljrqje::-webkit-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje::-moz-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje:-ms-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje::placeholder{color:var(--colorNeutralForeground4);opacity:1;}\"]);\nconst useInputStyles = /*#__PURE__*/__styles({\n disabled: {\n sj55zd: \"f1s2aq7o\",\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n yvdlaj: \"fahhnxm\"\n }\n}, {\n d: [\".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".fahhnxm::-webkit-input-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".fahhnxm::-moz-placeholder{color:var(--colorNeutralForegroundDisabled);}\"]\n});\nconst useBaseButtonClassName = /*#__PURE__*/__resetStyles(\"r1g4chgs\", null, [\".r1g4chgs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;border:0;position:absolute;outline-style:none;height:16px;background-color:transparent;color:var(--colorNeutralForeground3);grid-column-start:2;border-radius:0;padding:0 5px 0 5px;}\", \".r1g4chgs:active{outline-style:none;}\", \".r1g4chgs:enabled:hover{cursor:pointer;color:var(--colorNeutralForeground3Hover);background-color:var(--colorSubtleBackgroundHover);}\", \".r1g4chgs:enabled:active{color:var(--colorNeutralForeground3Pressed);background-color:var(--colorSubtleBackgroundPressed);}\", \".r1g4chgs:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);background-color:var(--colorSubtleBackgroundPressed);}\", \".r1g4chgs:disabled{cursor:not-allowed;color:var(--colorNeutralForegroundDisabled);}\"]);\nconst useButtonStyles = /*#__PURE__*/__styles({\n increment: {\n Ijaq50: \"f16hsg94\",\n B7oj6ja: [\"f1jar5jt\", \"fyu767a\"],\n z8tnut: \"f10ra9hq\",\n Byoj8tv: \"f1brlhvm\"\n },\n decrement: {\n Ijaq50: \"faunodf\",\n Bbmb7ep: [\"f1aa9q02\", \"f16jpd5f\"],\n z8tnut: \"f1sl3k7w\",\n Byoj8tv: \"f1y2xyjm\"\n },\n incrementButtonSmall: {\n z8tnut: \"f1khb0e9\",\n z189sj: [\"f1sgzk6v\", \"f1bg5zqg\"],\n Byoj8tv: \"f1ov4xf1\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n Bqenvij: \"fvblgha\"\n },\n decrementButtonSmall: {\n z8tnut: \"f1nbblvp\",\n z189sj: [\"f1sgzk6v\", \"f1bg5zqg\"],\n Byoj8tv: \"f1jnq6q7\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n Bqenvij: \"fvblgha\"\n },\n outline: {},\n underline: {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"f1bifk9c\",\n p743kt: \"fp1zg4s\",\n B7xitij: \"fo6hitd\",\n B6siaa6: \"f1wiab75\",\n Ba9qmo4: \"fj9zm5z\",\n Dyrjrp: \"f1cqwcg4\"\n },\n \"filled-darker\": {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"fwwxidx\",\n p743kt: \"fp1zg4s\",\n B7xitij: \"f14i52sd\",\n B6siaa6: \"f1wiab75\",\n Ba9qmo4: \"fwry2ka\",\n Dyrjrp: \"f1cqwcg4\"\n },\n \"filled-lighter\": {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"f1yywxnv\",\n drw0cw: \"fzaa11h\",\n idzz8t: \"f4fpmm9\",\n Dyrjrp: \"f1cqwcg4\"\n }\n}, {\n d: [\".f16hsg94{grid-row-start:1;}\", \".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}\", \".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}\", \".f10ra9hq{padding-top:4px;}\", \".f1brlhvm{padding-bottom:1px;}\", \".faunodf{grid-row-start:2;}\", \".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}\", \".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1sl3k7w{padding-top:1px;}\", \".f1y2xyjm{padding-bottom:4px;}\", \".f1khb0e9{padding-top:3px;}\", \".f1sgzk6v{padding-right:6px;}\", \".f1bg5zqg{padding-left:6px;}\", \".f1ov4xf1{padding-bottom:0px;}\", \".fycuoez{padding-left:4px;}\", \".f8wuabp{padding-right:4px;}\", \".fvblgha{height:12px;}\", \".f1nbblvp{padding-top:0px;}\", \".f1jnq6q7{padding-bottom:3px;}\", \".f3rmtva{background-color:transparent;}\", \".f11d4kpn{color:var(--colorNeutralForeground3);}\", \".f1no7wuu:enabled:hover{color:var(--colorNeutralForeground3Hover);}\", \".f1bifk9c:enabled:hover{background-color:var(--colorSubtleBackgroundHover);}\", \".fp1zg4s:enabled:active{color:var(--colorNeutralForeground3Pressed);}\", \".fo6hitd:enabled:active{background-color:var(--colorSubtleBackgroundPressed);}\", \".f1wiab75:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);}\", \".fj9zm5z:enabled.fui-SpinButton__button_active{background-color:var(--colorSubtleBackgroundPressed);}\", \".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}\", \".fwwxidx:enabled:hover{background-color:var(--colorNeutralBackground3Hover);}\", \".f14i52sd:enabled:active{background-color:var(--colorNeutralBackground3Pressed);}\", \".fwry2ka:enabled.fui-SpinButton__button_active{background-color:var(--colorNeutralBackground3Pressed);}\", \".f1yywxnv:enabled:hover{background-color:var(--colorNeutralBackground1Hover);}\", \".fzaa11h:enabled:active,.fzaa11h:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);}\", \".f4fpmm9:enabled:active,.f4fpmm9:enabled.fui-SpinButton__button_active{background-color:var(--colorNeutralBackground1Pressed);}\"]\n});\n// Cannot just disable button as they need to remain\n// exposed to ATs like screen readers.\nconst useButtonDisabledStyles = /*#__PURE__*/__styles({\n base: {\n Bceei9c: \"fdrzuqr\",\n eoavqd: \"fphbwmw\"\n },\n outline: {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n underline: {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n \"filled-darker\": {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n \"filled-lighter\": {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n }\n}, {\n d: [\".fdrzuqr{cursor:not-allowed;}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".few7wvn:enabled:hover{color:var(--colorNeutralForegroundDisabled);}\", \".f110wuh6:enabled:hover{background-color:transparent;}\", \".f9s4mys:enabled:active{color:var(--colorNeutralForegroundDisabled);}\", \".f10404rc:enabled:active{background-color:transparent;}\", \".fwzu9cz:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForegroundDisabled);}\", \".f1snwkb6:enabled.fui-SpinButton__button_active{background-color:transparent;}\"],\n h: [\".fphbwmw:hover{cursor:not-allowed;}\"]\n});\n/**\n * Apply styling to the SpinButton slots based on the state\n */\nexport const useSpinButtonStyles_unstable = state => {\n const {\n appearance,\n atBound,\n spinState,\n size\n } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n const rootStyles = useRootStyles();\n const buttonStyles = useButtonStyles();\n const buttonDisabledStyles = useButtonDisabledStyles();\n const inputStyles = useInputStyles();\n state.root.className = mergeClasses(spinButtonClassNames.root, useRootClassName(), rootStyles[size], rootStyles[appearance], filled && rootStyles.filled, !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && appearance === 'underline' && rootStyles.underlineInteractive, !disabled && filled && rootStyles.filledInteractive, !disabled && invalid && rootStyles.invalid, disabled && rootStyles.disabled, state.root.className);\n state.incrementButton.className = mergeClasses(spinButtonClassNames.incrementButton, spinState === 'up' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.increment, buttonStyles[appearance], size === 'small' && buttonStyles.incrementButtonSmall, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles[appearance], state.incrementButton.className);\n state.decrementButton.className = mergeClasses(spinButtonClassNames.decrementButton, spinState === 'down' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.decrement, buttonStyles[appearance], size === 'small' && buttonStyles.decrementButtonSmall, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles[appearance], state.decrementButton.className);\n state.input.className = mergeClasses(spinButtonClassNames.input, useInputClassName(), disabled && inputStyles.disabled, state.input.className);\n return state;\n};\n//# sourceMappingURL=useSpinButtonStyles.styles.js.map"],"names":["spinButtonClassNames","useSpinButtonStyles_unstable","root","input","incrementButton","decrementButton","spinButtonExtraClassNames","buttonActive","fieldHeights","small","medium","useRootClassName","__resetStyles","useRootStyles","__styles","sshi5w","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","uwmqm3","outline","outlineInteractive","Bo3r8zu","Hpvxnh","Bx11ytk","B1rg0w0","Bsg1tlv","Brjw370","xcfy85","Bcc6kan","underline","B0qfbqy","B4f6apu","y0oebl","uvfttm","Budzafs","r59vdv","n07z76","ck0cow","underlineInteractive","B3778ie","d9w3h3","Bl18szs","B4j8arr","filled","Bdkvgpv","m598lv","qa3bma","Bbv0w2i","Bq4z7u6","Bk5zm6e","Bqjgrrk","Bm6vgfq","De3pzq","filledInteractive","B05mzqr","tb9y6h","jcehpj","B23o0hn","invalid","emecyz","lz0pba","Bo1k74p","Ba322q7","disabled","Bceei9c","Cffpyd","hxi8he","Bcuq369","Imo2if","d","h","a","m","useInputClassName","useInputStyles","sj55zd","yvdlaj","useBaseButtonClassName","useButtonStyles","increment","Ijaq50","B7oj6ja","z8tnut","Byoj8tv","decrement","Bbmb7ep","incrementButtonSmall","z189sj","Bqenvij","decrementButtonSmall","r4wkhp","B95qlz1","p743kt","B7xitij","B6siaa6","Ba9qmo4","Dyrjrp","drw0cw","idzz8t","useButtonDisabledStyles","base","eoavqd","state","appearance","atBound","spinState","size","startsWith","rootStyles","buttonStyles","buttonDisabledStyles","inputStyles","className","mergeClasses"],"mappings":"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"}
1
+ {"version":3,"sources":["useSpinButtonStyles.styles.js"],"sourcesContent":["import { __resetStyles, __styles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const spinButtonClassNames = {\n root: 'fui-SpinButton',\n input: 'fui-SpinButton__input',\n incrementButton: 'fui-SpinButton__incrementButton',\n decrementButton: 'fui-SpinButton__decrementButton'\n};\nconst spinButtonExtraClassNames = {\n buttonActive: 'fui-SpinButton__button_active'\n};\nconst fieldHeights = {\n small: '24px',\n medium: '32px'\n};\nconst useRootClassName = /*#__PURE__*/__resetStyles(\"rkqmps4\", \"r1trw52p\", [\".rkqmps4{display:inline-grid;grid-template-columns:1fr 24px;grid-template-rows:1fr 1fr;-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);row-gap:0;position:relative;isolation:isolate;background-color:var(--colorNeutralBackground1);min-height:32px;padding:0 0 0 var(--spacingHorizontalMNudge);border-radius:var(--borderRadiusMedium);}\", \".rkqmps4::before{content:\\\"\\\";box-sizing:border-box;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);border-radius:var(--borderRadiusMedium);}\", \".rkqmps4::after{box-sizing:border-box;content:\\\"\\\";position:absolute;right:0;bottom:0;left:0;z-index:20;height:max(2px, var(--borderRadiusMedium));border-bottom-left-radius:var(--borderRadiusMedium);border-bottom-right-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);-webkit-clip-path:inset(calc(100% - 2px) 0 0 0);clip-path:inset(calc(100% - 2px) 0 0 0);-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.rkqmps4::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".rkqmps4:focus-within::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.rkqmps4:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".rkqmps4:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".rkqmps4:focus-within{outline:2px solid transparent;}\", \".r1trw52p{display:inline-grid;grid-template-columns:1fr 24px;grid-template-rows:1fr 1fr;-webkit-column-gap:var(--spacingHorizontalXS);column-gap:var(--spacingHorizontalXS);row-gap:0;position:relative;isolation:isolate;background-color:var(--colorNeutralBackground1);min-height:32px;padding:0 var(--spacingHorizontalMNudge) 0 0;border-radius:var(--borderRadiusMedium);}\", \".r1trw52p::before{content:\\\"\\\";box-sizing:border-box;position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none;z-index:10;border:1px solid var(--colorNeutralStroke1);border-bottom-color:var(--colorNeutralStrokeAccessible);border-radius:var(--borderRadiusMedium);}\", \".r1trw52p::after{box-sizing:border-box;content:\\\"\\\";position:absolute;left:0;bottom:0;right:0;z-index:20;height:max(2px, var(--borderRadiusMedium));border-bottom-right-radius:var(--borderRadiusMedium);border-bottom-left-radius:var(--borderRadiusMedium);border-bottom:2px solid var(--colorCompoundBrandStroke);-webkit-clip-path:inset(calc(100% - 2px) 0 0 0);clip-path:inset(calc(100% - 2px) 0 0 0);-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);transition-property:transform;transition-duration:var(--durationUltraFast);transition-delay:var(--curveAccelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.r1trw52p::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".r1trw52p:focus-within::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);transition-property:transform;transition-duration:var(--durationNormal);transition-delay:var(--curveDecelerateMid);}\", \"@media screen and (prefers-reduced-motion: reduce){.r1trw52p:focus-within::after{transition-duration:0.01ms;transition-delay:0.01ms;}}\", \".r1trw52p:focus-within:active::after{border-bottom-color:var(--colorCompoundBrandStrokePressed);}\", \".r1trw52p:focus-within{outline:2px solid transparent;}\"]);\nconst useRootStyles = /*#__PURE__*/__styles({\n small: {\n sshi5w: \"f1pha7fy\",\n Bahqtrf: \"fk6fouc\",\n Be2twd7: \"fy9rknc\",\n Bhrd7zp: \"figsok6\",\n Bg96gwp: \"fwrc4pm\",\n uwmqm3: [\"f1f5gg8d\", \"f1vdfbxk\"]\n },\n medium: {},\n outline: {},\n outlineInteractive: {\n Bo3r8zu: \"f1w2y1rc\",\n Hpvxnh: [\"f1gofhvl\", \"f18htlvq\"],\n Bx11ytk: \"ffcnd28\",\n B1rg0w0: [\"f18htlvq\", \"f1gofhvl\"],\n Bsg1tlv: \"f6lmxco\",\n Brjw370: [\"fcoc0mf\", \"f15r4wkl\"],\n xcfy85: \"f1ipdth8\",\n Bcc6kan: [\"f15r4wkl\", \"fcoc0mf\"]\n },\n underline: {\n B0qfbqy: \"f1o236ok\",\n B4f6apu: [\"faeg28l\", \"f64aojp\"],\n y0oebl: \"fdw6hkg\",\n uvfttm: [\"f64aojp\", \"faeg28l\"],\n Budzafs: [\"f1vk4jnx\", \"f1v3v894\"],\n r59vdv: [\"f1v3v894\", \"f1vk4jnx\"],\n n07z76: [\"fzi2j54\", \"f1un0uoc\"],\n ck0cow: [\"f1un0uoc\", \"fzi2j54\"]\n },\n underlineInteractive: {\n Bx11ytk: \"ffcnd28\",\n xcfy85: \"f1ipdth8\",\n B3778ie: [\"f9pmbr4\", \"ffh3ws5\"],\n d9w3h3: [\"ffh3ws5\", \"f9pmbr4\"],\n Bl18szs: [\"f19438ov\", \"f1i9y5j\"],\n B4j8arr: [\"f1i9y5j\", \"f19438ov\"]\n },\n filled: {\n B0qfbqy: \"f1fjh9ub\",\n B4f6apu: [\"ff9c942\", \"f6rdg5o\"],\n y0oebl: \"fdw6hkg\",\n uvfttm: [\"f6rdg5o\", \"ff9c942\"],\n Bdkvgpv: \"f163fonl\",\n m598lv: [\"f1yq6w5o\", \"f1jpmc5p\"],\n qa3bma: \"f11yjt3y\",\n Bbv0w2i: [\"f1jpmc5p\", \"f1yq6w5o\"],\n Bq4z7u6: \"f7dgwnz\",\n Bk5zm6e: [\"f1edeodt\", \"fszsv3f\"],\n Bqjgrrk: \"f1172wan\",\n Bm6vgfq: [\"fszsv3f\", \"f1edeodt\"]\n },\n \"filled-darker\": {\n De3pzq: \"f16xq7d1\"\n },\n \"filled-lighter\": {\n De3pzq: \"fxugw4r\"\n },\n filledInteractive: {\n B05mzqr: \"f1xqt08\",\n tb9y6h: [\"fzt5lgo\", \"f8tv3r9\"],\n jcehpj: \"fyhrops\",\n B23o0hn: [\"f8tv3r9\", \"fzt5lgo\"]\n },\n invalid: {\n emecyz: \"fl48pg9\",\n lz0pba: [\"f1a168p3\", \"f1pvdymy\"],\n Bo1k74p: \"f11knvgl\",\n Ba322q7: [\"f1pvdymy\", \"f1a168p3\"]\n },\n disabled: {\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n Bq4z7u6: \"f1a0lfh7\",\n Bk5zm6e: [\"f1p2ejm6\", \"fmzytvz\"],\n Bqjgrrk: \"fas2e61\",\n Bm6vgfq: [\"fmzytvz\", \"f1p2ejm6\"],\n Cffpyd: \"flb8es4\",\n hxi8he: [\"f1lclws\", \"frjp63v\"],\n Bcuq369: \"f1yv9wnt\",\n Imo2if: [\"frjp63v\", \"f1lclws\"]\n }\n}, {\n d: [\".f1pha7fy{min-height:24px;}\", \".fk6fouc{font-family:var(--fontFamilyBase);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".figsok6{font-weight:var(--fontWeightRegular);}\", \".fwrc4pm{line-height:var(--lineHeightBase200);}\", \".f1f5gg8d{padding-left:var(--spacingHorizontalS);}\", \".f1vdfbxk{padding-right:var(--spacingHorizontalS);}\", \".f1o236ok::before{border-top-width:0;}\", \".faeg28l::before{border-right-width:0;}\", \".f64aojp::before{border-left-width:0;}\", \".fdw6hkg::before{border-bottom-width:1px;}\", \".f1vk4jnx::before{border-bottom-right-radius:var(--borderRadiusNone);}\", \".f1v3v894::before{border-bottom-left-radius:var(--borderRadiusNone);}\", \".fzi2j54::before{border-top-right-radius:var(--borderRadiusNone);}\", \".f1un0uoc::before{border-top-left-radius:var(--borderRadiusNone);}\", \".f9pmbr4::after{border-bottom-right-radius:var(--borderRadiusNone);}\", \".ffh3ws5::after{border-bottom-left-radius:var(--borderRadiusNone);}\", \".f19438ov::after{border-top-right-radius:var(--borderRadiusNone);}\", \".f1i9y5j::after{border-top-left-radius:var(--borderRadiusNone);}\", \".f1fjh9ub::before{border-top-width:1px;}\", \".ff9c942::before{border-right-width:1px;}\", \".f6rdg5o::before{border-left-width:1px;}\", \".f163fonl::before{border-top-style:solid;}\", \".f1yq6w5o::before{border-right-style:solid;}\", \".f1jpmc5p::before{border-left-style:solid;}\", \".f11yjt3y::before{border-bottom-style:solid;}\", \".f7dgwnz::before{border-top-color:var(--colorTransparentStroke);}\", \".f1edeodt::before{border-right-color:var(--colorTransparentStroke);}\", \".fszsv3f::before{border-left-color:var(--colorTransparentStroke);}\", \".f1172wan::before{border-bottom-color:var(--colorTransparentStroke);}\", \".f16xq7d1{background-color:var(--colorNeutralBackground3);}\", \".fxugw4r{background-color:var(--colorNeutralBackground1);}\", \".fl48pg9:not(:focus-within)::before,.fl48pg9:hover:not(:focus-within)::before{border-top-color:var(--colorPaletteRedBorder2);}\", \".f1a168p3:not(:focus-within)::before,.f1a168p3:hover:not(:focus-within)::before{border-right-color:var(--colorPaletteRedBorder2);}\", \".f1pvdymy:not(:focus-within)::before,.f1pvdymy:hover:not(:focus-within)::before{border-left-color:var(--colorPaletteRedBorder2);}\", \".f11knvgl:not(:focus-within)::before,.f11knvgl:hover:not(:focus-within)::before{border-bottom-color:var(--colorPaletteRedBorder2);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".f1a0lfh7::before{border-top-color:var(--colorNeutralStrokeDisabled);}\", \".f1p2ejm6::before{border-right-color:var(--colorNeutralStrokeDisabled);}\", \".fmzytvz::before{border-left-color:var(--colorNeutralStrokeDisabled);}\", \".fas2e61::before{border-bottom-color:var(--colorNeutralStrokeDisabled);}\"],\n h: [\".f1w2y1rc:hover::before{border-top-color:var(--colorNeutralStroke1Hover);}\", \".f1gofhvl:hover::before{border-right-color:var(--colorNeutralStroke1Hover);}\", \".f18htlvq:hover::before{border-left-color:var(--colorNeutralStroke1Hover);}\", \".ffcnd28:hover::before{border-bottom-color:var(--colorNeutralStrokeAccessibleHover);}\", \".f1xqt08:hover::before,.f1xqt08:focus-within::before{border-top-color:var(--colorTransparentStrokeInteractive);}\", \".fzt5lgo:hover::before,.fzt5lgo:focus-within::before{border-right-color:var(--colorTransparentStrokeInteractive);}\", \".f8tv3r9:hover::before,.f8tv3r9:focus-within::before{border-left-color:var(--colorTransparentStrokeInteractive);}\", \".fyhrops:hover::before,.fyhrops:focus-within::before{border-bottom-color:var(--colorTransparentStrokeInteractive);}\"],\n a: [\".f6lmxco:active::before,.f6lmxco:focus-within::before{border-top-color:var(--colorNeutralStroke1Pressed);}\", \".fcoc0mf:active::before,.fcoc0mf:focus-within::before{border-right-color:var(--colorNeutralStroke1Pressed);}\", \".f15r4wkl:active::before,.f15r4wkl:focus-within::before{border-left-color:var(--colorNeutralStroke1Pressed);}\", \".f1ipdth8:active::before,.f1ipdth8:focus-within::before{border-bottom-color:var(--colorNeutralStrokeAccessiblePressed);}\"],\n m: [[\"@media (forced-colors: active){.flb8es4::before{border-top-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1lclws::before{border-right-color:GrayText;}.frjp63v::before{border-left-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1yv9wnt::before{border-bottom-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.frjp63v::before{border-left-color:GrayText;}.f1lclws::before{border-right-color:GrayText;}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useInputClassName = /*#__PURE__*/__resetStyles(\"r1ljrqje\", null, [\".r1ljrqje{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:3;outline-style:none;border:0;padding:0;color:var(--colorNeutralForeground1);background-color:transparent;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;width:100%;}\", \".r1ljrqje::-webkit-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje::-moz-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje:-ms-input-placeholder{color:var(--colorNeutralForeground4);opacity:1;}\", \".r1ljrqje::placeholder{color:var(--colorNeutralForeground4);opacity:1;}\"]);\nconst useInputStyles = /*#__PURE__*/__styles({\n disabled: {\n sj55zd: \"f1s2aq7o\",\n Bceei9c: \"fdrzuqr\",\n De3pzq: \"f1c21dwh\",\n yvdlaj: \"fahhnxm\"\n }\n}, {\n d: [\".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".fdrzuqr{cursor:not-allowed;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".fahhnxm::-webkit-input-placeholder{color:var(--colorNeutralForegroundDisabled);}\", \".fahhnxm::-moz-placeholder{color:var(--colorNeutralForegroundDisabled);}\"]\n});\nconst useBaseButtonClassName = /*#__PURE__*/__resetStyles(\"r1g4chgs\", null, [\".r1g4chgs{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:24px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;border:0;position:absolute;outline-style:none;height:16px;background-color:transparent;color:var(--colorNeutralForeground3);grid-column-start:2;border-radius:0;padding:0 5px 0 5px;}\", \".r1g4chgs:active{outline-style:none;}\", \".r1g4chgs:enabled:hover{cursor:pointer;color:var(--colorNeutralForeground3Hover);background-color:var(--colorSubtleBackgroundHover);}\", \".r1g4chgs:enabled:active{color:var(--colorNeutralForeground3Pressed);background-color:var(--colorSubtleBackgroundPressed);}\", \".r1g4chgs:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);background-color:var(--colorSubtleBackgroundPressed);}\", \".r1g4chgs:disabled{cursor:not-allowed;color:var(--colorNeutralForegroundDisabled);}\"]);\nconst useButtonStyles = /*#__PURE__*/__styles({\n increment: {\n Ijaq50: \"f16hsg94\",\n B7oj6ja: [\"f1jar5jt\", \"fyu767a\"],\n z8tnut: \"f10ra9hq\",\n Byoj8tv: \"f1brlhvm\"\n },\n decrement: {\n Ijaq50: \"faunodf\",\n Bbmb7ep: [\"f1aa9q02\", \"f16jpd5f\"],\n z8tnut: \"f1sl3k7w\",\n Byoj8tv: \"f1y2xyjm\"\n },\n incrementButtonSmall: {\n z8tnut: \"f1khb0e9\",\n z189sj: [\"f1sgzk6v\", \"f1bg5zqg\"],\n Byoj8tv: \"f1ov4xf1\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n Bqenvij: \"fvblgha\"\n },\n decrementButtonSmall: {\n z8tnut: \"f1nbblvp\",\n z189sj: [\"f1sgzk6v\", \"f1bg5zqg\"],\n Byoj8tv: \"f1jnq6q7\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n Bqenvij: \"fvblgha\"\n },\n outline: {},\n underline: {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"f1bifk9c\",\n p743kt: \"fp1zg4s\",\n B7xitij: \"fo6hitd\",\n B6siaa6: \"f1wiab75\",\n Ba9qmo4: \"fj9zm5z\",\n Dyrjrp: \"f1cqwcg4\"\n },\n \"filled-darker\": {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"fwwxidx\",\n p743kt: \"fp1zg4s\",\n B7xitij: \"f14i52sd\",\n B6siaa6: \"f1wiab75\",\n Ba9qmo4: \"fwry2ka\",\n Dyrjrp: \"f1cqwcg4\"\n },\n \"filled-lighter\": {\n De3pzq: \"f3rmtva\",\n sj55zd: \"f11d4kpn\",\n r4wkhp: \"f1no7wuu\",\n B95qlz1: \"f1yywxnv\",\n drw0cw: \"fzaa11h\",\n idzz8t: \"f4fpmm9\",\n Dyrjrp: \"f1cqwcg4\"\n }\n}, {\n d: [\".f16hsg94{grid-row-start:1;}\", \".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}\", \".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}\", \".f10ra9hq{padding-top:4px;}\", \".f1brlhvm{padding-bottom:1px;}\", \".faunodf{grid-row-start:2;}\", \".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}\", \".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}\", \".f1sl3k7w{padding-top:1px;}\", \".f1y2xyjm{padding-bottom:4px;}\", \".f1khb0e9{padding-top:3px;}\", \".f1sgzk6v{padding-right:6px;}\", \".f1bg5zqg{padding-left:6px;}\", \".f1ov4xf1{padding-bottom:0px;}\", \".fycuoez{padding-left:4px;}\", \".f8wuabp{padding-right:4px;}\", \".fvblgha{height:12px;}\", \".f1nbblvp{padding-top:0px;}\", \".f1jnq6q7{padding-bottom:3px;}\", \".f3rmtva{background-color:transparent;}\", \".f11d4kpn{color:var(--colorNeutralForeground3);}\", \".f1no7wuu:enabled:hover{color:var(--colorNeutralForeground3Hover);}\", \".f1bifk9c:enabled:hover{background-color:var(--colorSubtleBackgroundHover);}\", \".fp1zg4s:enabled:active{color:var(--colorNeutralForeground3Pressed);}\", \".fo6hitd:enabled:active{background-color:var(--colorSubtleBackgroundPressed);}\", \".f1wiab75:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);}\", \".fj9zm5z:enabled.fui-SpinButton__button_active{background-color:var(--colorSubtleBackgroundPressed);}\", \".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}\", \".fwwxidx:enabled:hover{background-color:var(--colorNeutralBackground3Hover);}\", \".f14i52sd:enabled:active{background-color:var(--colorNeutralBackground3Pressed);}\", \".fwry2ka:enabled.fui-SpinButton__button_active{background-color:var(--colorNeutralBackground3Pressed);}\", \".f1yywxnv:enabled:hover{background-color:var(--colorNeutralBackground1Hover);}\", \".fzaa11h:enabled:active,.fzaa11h:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForeground3Pressed);}\", \".f4fpmm9:enabled:active,.f4fpmm9:enabled.fui-SpinButton__button_active{background-color:var(--colorNeutralBackground1Pressed);}\"]\n});\n// Cannot just disable button as they need to remain\n// exposed to ATs like screen readers.\nconst useButtonDisabledStyles = /*#__PURE__*/__styles({\n base: {\n Bceei9c: \"fdrzuqr\",\n eoavqd: \"fphbwmw\"\n },\n outline: {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n underline: {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n \"filled-darker\": {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n },\n \"filled-lighter\": {\n sj55zd: \"f1s2aq7o\",\n r4wkhp: \"few7wvn\",\n B95qlz1: \"f110wuh6\",\n p743kt: \"f9s4mys\",\n B7xitij: \"f10404rc\",\n B6siaa6: \"fwzu9cz\",\n Ba9qmo4: \"f1snwkb6\"\n }\n}, {\n d: [\".fdrzuqr{cursor:not-allowed;}\", \".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}\", \".few7wvn:enabled:hover{color:var(--colorNeutralForegroundDisabled);}\", \".f110wuh6:enabled:hover{background-color:transparent;}\", \".f9s4mys:enabled:active{color:var(--colorNeutralForegroundDisabled);}\", \".f10404rc:enabled:active{background-color:transparent;}\", \".fwzu9cz:enabled.fui-SpinButton__button_active{color:var(--colorNeutralForegroundDisabled);}\", \".f1snwkb6:enabled.fui-SpinButton__button_active{background-color:transparent;}\"],\n h: [\".fphbwmw:hover{cursor:not-allowed;}\"]\n});\n/**\n * Apply styling to the SpinButton slots based on the state\n */\nexport const useSpinButtonStyles_unstable = state => {\n const {\n appearance,\n atBound,\n spinState,\n size\n } = state;\n const disabled = state.input.disabled;\n const invalid = `${state.input['aria-invalid']}` === 'true';\n const filled = appearance.startsWith('filled');\n const rootStyles = useRootStyles();\n const buttonStyles = useButtonStyles();\n const buttonDisabledStyles = useButtonDisabledStyles();\n const inputStyles = useInputStyles();\n state.root.className = mergeClasses(spinButtonClassNames.root, useRootClassName(), rootStyles[size], rootStyles[appearance], filled && rootStyles.filled, !disabled && appearance === 'outline' && rootStyles.outlineInteractive, !disabled && appearance === 'underline' && rootStyles.underlineInteractive, !disabled && filled && rootStyles.filledInteractive, !disabled && invalid && rootStyles.invalid, disabled && rootStyles.disabled, state.root.className);\n state.incrementButton.className = mergeClasses(spinButtonClassNames.incrementButton, spinState === 'up' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.increment, buttonStyles[appearance], size === 'small' && buttonStyles.incrementButtonSmall, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'max' || atBound === 'both') && buttonDisabledStyles[appearance], state.incrementButton.className);\n state.decrementButton.className = mergeClasses(spinButtonClassNames.decrementButton, spinState === 'down' && `${spinButtonExtraClassNames.buttonActive}`, useBaseButtonClassName(), buttonStyles.decrement, buttonStyles[appearance], size === 'small' && buttonStyles.decrementButtonSmall, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles.base, (atBound === 'min' || atBound === 'both') && buttonDisabledStyles[appearance], state.decrementButton.className);\n state.input.className = mergeClasses(spinButtonClassNames.input, useInputClassName(), disabled && inputStyles.disabled, state.input.className);\n return state;\n};\n//# sourceMappingURL=useSpinButtonStyles.styles.js.map"],"names":["spinButtonClassNames","useSpinButtonStyles_unstable","root","input","incrementButton","decrementButton","spinButtonExtraClassNames","buttonActive","fieldHeights","small","medium","useRootClassName","__resetStyles","useRootStyles","__styles","sshi5w","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","uwmqm3","outline","outlineInteractive","Bo3r8zu","Hpvxnh","Bx11ytk","B1rg0w0","Bsg1tlv","Brjw370","xcfy85","Bcc6kan","underline","B0qfbqy","B4f6apu","y0oebl","uvfttm","Budzafs","r59vdv","n07z76","ck0cow","underlineInteractive","B3778ie","d9w3h3","Bl18szs","B4j8arr","filled","Bdkvgpv","m598lv","qa3bma","Bbv0w2i","Bq4z7u6","Bk5zm6e","Bqjgrrk","Bm6vgfq","De3pzq","filledInteractive","B05mzqr","tb9y6h","jcehpj","B23o0hn","invalid","emecyz","lz0pba","Bo1k74p","Ba322q7","disabled","Bceei9c","Cffpyd","hxi8he","Bcuq369","Imo2if","d","h","a","m","useInputClassName","useInputStyles","sj55zd","yvdlaj","useBaseButtonClassName","useButtonStyles","increment","Ijaq50","B7oj6ja","z8tnut","Byoj8tv","decrement","Bbmb7ep","incrementButtonSmall","z189sj","Bqenvij","decrementButtonSmall","r4wkhp","B95qlz1","p743kt","B7xitij","B6siaa6","Ba9qmo4","Dyrjrp","drw0cw","idzz8t","useButtonDisabledStyles","base","eoavqd","state","appearance","atBound","spinState","size","startsWith","rootStyles","buttonStyles","buttonDisabledStyles","inputStyles","className","mergeClasses"],"mappings":"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"}
@@ -16,6 +16,3 @@ _export(exports, {
16
16
  useSpinButton_unstable: ()=>_spinButton.useSpinButton_unstable
17
17
  });
18
18
  const _spinButton = require("./SpinButton");
19
- //# sourceMappingURL=index.js.map
20
-
21
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/index.js"],"sourcesContent":["export { SpinButton, renderSpinButton_unstable, spinButtonClassNames, useSpinButtonStyles_unstable, useSpinButton_unstable } from './SpinButton';\n\n//# sourceMappingURL=index.js.map"],"names":["SpinButton","renderSpinButton_unstable","spinButtonClassNames","useSpinButtonStyles_unstable","useSpinButton_unstable"],"mappings":";;;;;;;;;;;IAASA,UAAU,MAAVA,sBAAU;IAAEC,yBAAyB,MAAzBA,qCAAyB;IAAEC,oBAAoB,MAApBA,gCAAoB;IAAEC,4BAA4B,MAA5BA,wCAA4B;IAAEC,sBAAsB,MAAtBA,kCAAsB;;4BAAQ;CAElI,iCAAiC"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export { SpinButton, renderSpinButton_unstable, spinButtonClassNames, useSpinButtonStyles_unstable, useSpinButton_unstable } from './SpinButton';\n"],"names":["SpinButton","renderSpinButton_unstable","spinButtonClassNames","useSpinButtonStyles_unstable","useSpinButton_unstable"],"mappings":";;;;;;;;;;;IAASA,UAAU,MAAVA,sBAAU;IAAEC,yBAAyB,MAAzBA,qCAAyB;IAAEC,oBAAoB,MAApBA,gCAAoB;IAAEC,4BAA4B,MAA5BA,wCAA4B;IAAEC,sBAAsB,MAAtBA,kCAAsB;;4BAAQ"}
@@ -28,6 +28,4 @@ const clamp = (value, min, max)=>{
28
28
  nextValue = Math.min(max, nextValue);
29
29
  }
30
30
  return nextValue;
31
- }; //# sourceMappingURL=clamp.js.map
32
-
33
- //# sourceMappingURL=clamp.js.map
31
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/clamp.js"],"sourcesContent":["export const clamp = (value, min, max)=>{\n let nextValue = value;\n if (min !== undefined) {\n if (max !== undefined && min > max) {\n const error = new Error();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error([\n `\"min\" value \"${min}\" is greater than \"max\" value \"${max}\".`,\n '\"min\" must be less than or equal to \"max\".',\n `Returning value \"${value}\".`,\n error.stack\n ].join());\n }\n return value;\n }\n nextValue = Math.max(min, nextValue);\n }\n if (max !== undefined) {\n nextValue = Math.min(max, nextValue);\n }\n return nextValue;\n};\n\n//# sourceMappingURL=clamp.js.map"],"names":["clamp","value","min","max","nextValue","undefined","error","Error","process","env","NODE_ENV","console","stack","join","Math"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,QAAQ,CAACC,OAAOC,KAAKC,MAAM;IACpC,IAAIC,YAAYH;IAChB,IAAIC,QAAQG,WAAW;QACnB,IAAIF,QAAQE,aAAaH,MAAMC,KAAK;YAChC,MAAMG,QAAQ,IAAIC;YAClB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACvC,sCAAsC;gBACtCC,QAAQL,KAAK,CAAC;oBACV,CAAC,aAAa,EAAEJ,IAAI,+BAA+B,EAAEC,IAAI,EAAE,CAAC;oBAC5D;oBACA,CAAC,iBAAiB,EAAEF,MAAM,EAAE,CAAC;oBAC7BK,MAAMM,KAAK;iBACd,CAACC,IAAI;YACV,CAAC;YACD,OAAOZ;QACX,CAAC;QACDG,YAAYU,KAAKX,GAAG,CAACD,KAAKE;IAC9B,CAAC;IACD,IAAID,QAAQE,WAAW;QACnBD,YAAYU,KAAKZ,GAAG,CAACC,KAAKC;IAC9B,CAAC;IACD,OAAOA;AACX,GAEA,iCAAiC"}
1
+ {"version":3,"sources":["clamp.js"],"sourcesContent":["export const clamp = (value, min, max)=>{\n let nextValue = value;\n if (min !== undefined) {\n if (max !== undefined && min > max) {\n const error = new Error();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error([\n `\"min\" value \"${min}\" is greater than \"max\" value \"${max}\".`,\n '\"min\" must be less than or equal to \"max\".',\n `Returning value \"${value}\".`,\n error.stack\n ].join());\n }\n return value;\n }\n nextValue = Math.max(min, nextValue);\n }\n if (max !== undefined) {\n nextValue = Math.min(max, nextValue);\n }\n return nextValue;\n};\n"],"names":["clamp","value","min","max","nextValue","undefined","error","Error","process","env","NODE_ENV","console","stack","join","Math"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,QAAQ,CAACC,OAAOC,KAAKC,MAAM;IACpC,IAAIC,YAAYH;IAChB,IAAIC,QAAQG,WAAW;QACnB,IAAIF,QAAQE,aAAaH,MAAMC,KAAK;YAChC,MAAMG,QAAQ,IAAIC;YAClB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;gBACvC,sCAAsC;gBACtCC,QAAQL,KAAK,CAAC;oBACV,CAAC,aAAa,EAAEJ,IAAI,+BAA+B,EAAEC,IAAI,EAAE,CAAC;oBAC5D;oBACA,CAAC,iBAAiB,EAAEF,MAAM,EAAE,CAAC;oBAC7BK,MAAMM,KAAK;iBACd,CAACC,IAAI;YACV,CAAC;YACD,OAAOZ;QACX,CAAC;QACDG,YAAYU,KAAKX,GAAG,CAACD,KAAKE;IAC9B,CAAC;IACD,IAAID,QAAQE,WAAW;QACnBD,YAAYU,KAAKZ,GAAG,CAACC,KAAKC;IAC9B,CAAC;IACD,OAAOA;AACX"}
@@ -16,6 +16,4 @@ const getBound = (value, min, max)=>{
16
16
  return 'max';
17
17
  }
18
18
  return 'none';
19
- }; //# sourceMappingURL=getBound.js.map
20
-
21
- //# sourceMappingURL=getBound.js.map
19
+ };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/getBound.js"],"sourcesContent":["export const getBound = (value, min, max)=>{\n if (min !== undefined && value === min) {\n if (max === min) {\n return 'both';\n }\n return 'min';\n } else if (max !== undefined && value === max) {\n return 'max';\n }\n return 'none';\n};\n\n//# sourceMappingURL=getBound.js.map"],"names":["getBound","value","min","max","undefined"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,WAAW,CAACC,OAAOC,KAAKC,MAAM;IACvC,IAAID,QAAQE,aAAaH,UAAUC,KAAK;QACpC,IAAIC,QAAQD,KAAK;YACb,OAAO;QACX,CAAC;QACD,OAAO;IACX,OAAO,IAAIC,QAAQC,aAAaH,UAAUE,KAAK;QAC3C,OAAO;IACX,CAAC;IACD,OAAO;AACX,GAEA,oCAAoC"}
1
+ {"version":3,"sources":["getBound.js"],"sourcesContent":["export const getBound = (value, min, max)=>{\n if (min !== undefined && value === min) {\n if (max === min) {\n return 'both';\n }\n return 'min';\n } else if (max !== undefined && value === max) {\n return 'max';\n }\n return 'none';\n};\n"],"names":["getBound","value","min","max","undefined"],"mappings":";;;;+BAAaA;;aAAAA;;AAAN,MAAMA,WAAW,CAACC,OAAOC,KAAKC,MAAM;IACvC,IAAID,QAAQE,aAAaH,UAAUC,KAAK;QACpC,IAAIC,QAAQD,KAAK;YACb,OAAO;QACX,CAAC;QACD,OAAO;IACX,OAAO,IAAIC,QAAQC,aAAaH,UAAUE,KAAK;QAC3C,OAAO;IACX,CAAC;IACD,OAAO;AACX"}
@@ -6,6 +6,3 @@ const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
6
6
  _exportStar(require("./clamp"), exports);
7
7
  _exportStar(require("./getBound"), exports);
8
8
  _exportStar(require("./precision"), exports);
9
- //# sourceMappingURL=index.js.map
10
-
11
- //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/index.js"],"sourcesContent":["export * from './clamp';\nexport * from './getBound';\nexport * from './precision';\n\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;CAEd,iCAAiC"}
1
+ {"version":3,"sources":["index.js"],"sourcesContent":["export * from './clamp';\nexport * from './getBound';\nexport * from './precision';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA"}
@@ -39,6 +39,4 @@ function calculatePrecision(value) {
39
39
  function precisionRound(value, precision, base = 10) {
40
40
  const exp = Math.pow(base, precision);
41
41
  return Math.round(value * exp) / exp;
42
- } //# sourceMappingURL=precision.js.map
43
-
44
- //# sourceMappingURL=precision.js.map
42
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/utils/precision.js"],"sourcesContent":["/**\n * Calculates a number's precision based on the number of trailing\n * zeros if the number does not have a decimal indicated by a negative\n * precision. Otherwise, it calculates the number of digits after\n * the decimal point indicated by a positive precision.\n * @param value - the value to determine the precision of\n */ export function calculatePrecision(value) {\n /**\n * Group 1:\n * [1-9]([0]+$) matches trailing zeros\n * Group 2:\n * \\.([0-9]*) matches all digits after a decimal point.\n */ const groups = /[1-9]([0]+$)|\\.([0-9]*)/.exec(String(value));\n if (!groups) {\n return 0;\n }\n if (groups[1]) {\n return -groups[1].length;\n }\n if (groups[2]) {\n return groups[2].length;\n }\n return 0;\n}\n/**\n * Rounds a number to a certain level of precision. Accepts negative precision.\n * @param value - The value that is being rounded.\n * @param precision - The number of decimal places to round the number to\n */ export function precisionRound(value, precision, base = 10) {\n const exp = Math.pow(base, precision);\n return Math.round(value * exp) / exp;\n}\n\n//# sourceMappingURL=precision.js.map"],"names":["calculatePrecision","precisionRound","value","groups","exec","String","length","precision","base","exp","Math","pow","round"],"mappings":"AAAA;;;;;;CAMC;;;;;;;;;;;IAAmBA,kBAAkB,MAAlBA;IAsBAC,cAAc,MAAdA;;AAtBT,SAASD,mBAAmBE,KAAK,EAAE;IAC1C;;;;;GAKD,GAAG,MAAMC,SAAS,0BAA0BC,IAAI,CAACC,OAAOH;IACvD,IAAI,CAACC,QAAQ;QACT,OAAO;IACX,CAAC;IACD,IAAIA,MAAM,CAAC,EAAE,EAAE;QACX,OAAO,CAACA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC5B,CAAC;IACD,IAAIH,MAAM,CAAC,EAAE,EAAE;QACX,OAAOA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC3B,CAAC;IACD,OAAO;AACX;AAKW,SAASL,eAAeC,KAAK,EAAEK,SAAS,EAAEC,OAAO,EAAE,EAAE;IAC5D,MAAMC,MAAMC,KAAKC,GAAG,CAACH,MAAMD;IAC3B,OAAOG,KAAKE,KAAK,CAACV,QAAQO,OAAOA;AACrC,EAEA,qCAAqC"}
1
+ {"version":3,"sources":["precision.js"],"sourcesContent":["/**\n * Calculates a number's precision based on the number of trailing\n * zeros if the number does not have a decimal indicated by a negative\n * precision. Otherwise, it calculates the number of digits after\n * the decimal point indicated by a positive precision.\n * @param value - the value to determine the precision of\n */ export function calculatePrecision(value) {\n /**\n * Group 1:\n * [1-9]([0]+$) matches trailing zeros\n * Group 2:\n * \\.([0-9]*) matches all digits after a decimal point.\n */ const groups = /[1-9]([0]+$)|\\.([0-9]*)/.exec(String(value));\n if (!groups) {\n return 0;\n }\n if (groups[1]) {\n return -groups[1].length;\n }\n if (groups[2]) {\n return groups[2].length;\n }\n return 0;\n}\n/**\n * Rounds a number to a certain level of precision. Accepts negative precision.\n * @param value - The value that is being rounded.\n * @param precision - The number of decimal places to round the number to\n */ export function precisionRound(value, precision, base = 10) {\n const exp = Math.pow(base, precision);\n return Math.round(value * exp) / exp;\n}\n"],"names":["calculatePrecision","precisionRound","value","groups","exec","String","length","precision","base","exp","Math","pow","round"],"mappings":"AAAA;;;;;;CAMC;;;;;;;;;;;IAAmBA,kBAAkB,MAAlBA;IAsBAC,cAAc,MAAdA;;AAtBT,SAASD,mBAAmBE,KAAK,EAAE;IAC1C;;;;;GAKD,GAAG,MAAMC,SAAS,0BAA0BC,IAAI,CAACC,OAAOH;IACvD,IAAI,CAACC,QAAQ;QACT,OAAO;IACX,CAAC;IACD,IAAIA,MAAM,CAAC,EAAE,EAAE;QACX,OAAO,CAACA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC5B,CAAC;IACD,IAAIH,MAAM,CAAC,EAAE,EAAE;QACX,OAAOA,MAAM,CAAC,EAAE,CAACG,MAAM;IAC3B,CAAC;IACD,OAAO;AACX;AAKW,SAASL,eAAeC,KAAK,EAAEK,SAAS,EAAEC,OAAO,EAAE,EAAE;IAC5D,MAAMC,MAAMC,KAAKC,GAAG,CAACH,MAAMD;IAC3B,OAAOG,KAAKE,KAAK,CAACV,QAAQO,OAAOA;AACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-spinbutton",
3
- "version": "0.0.0-nightly-20230530-0415.1",
3
+ "version": "0.0.0-nightly-20230601-0418.1",
4
4
  "description": "Fluent UI React SpinButton component.",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -28,20 +28,20 @@
28
28
  "devDependencies": {
29
29
  "@fluentui/eslint-plugin": "*",
30
30
  "@fluentui/react-conformance": "*",
31
- "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230530-0415.1",
32
- "@fluentui/react-label": "0.0.0-nightly-20230530-0415.1",
31
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230601-0418.1",
32
+ "@fluentui/react-label": "0.0.0-nightly-20230601-0418.1",
33
33
  "@fluentui/scripts-api-extractor": "*",
34
34
  "@fluentui/scripts-tasks": "*"
35
35
  },
36
36
  "dependencies": {
37
- "@griffel/react": "^1.5.2",
38
- "@fluentui/keyboard-keys": "0.0.0-nightly-20230530-0415.1",
39
- "@fluentui/react-field": "0.0.0-nightly-20230530-0415.1",
37
+ "@fluentui/keyboard-keys": "0.0.0-nightly-20230601-0418.1",
38
+ "@fluentui/react-field": "0.0.0-nightly-20230601-0418.1",
40
39
  "@fluentui/react-icons": "^2.0.196",
41
- "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230530-0415.1",
42
- "@fluentui/react-shared-contexts": "0.0.0-nightly-20230530-0415.1",
43
- "@fluentui/react-theme": "0.0.0-nightly-20230530-0415.1",
44
- "@fluentui/react-utilities": "0.0.0-nightly-20230530-0415.1",
40
+ "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230601-0418.1",
41
+ "@fluentui/react-shared-contexts": "0.0.0-nightly-20230601-0418.1",
42
+ "@fluentui/react-theme": "0.0.0-nightly-20230601-0418.1",
43
+ "@fluentui/react-utilities": "0.0.0-nightly-20230601-0418.1",
44
+ "@griffel/react": "^1.5.7",
45
45
  "@swc/helpers": "^0.4.14"
46
46
  },
47
47
  "peerDependencies": {