@fluentui/react-spinbutton 0.0.0-nightly-20230804-0415.1 → 0.0.0-nightly-20230808-0415.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.
package/CHANGELOG.json CHANGED
@@ -2,9 +2,9 @@
2
2
  "name": "@fluentui/react-spinbutton",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 04 Aug 2023 04:21:56 GMT",
6
- "tag": "@fluentui/react-spinbutton_v0.0.0-nightly-20230804-0415.1",
7
- "version": "0.0.0-nightly-20230804-0415.1",
5
+ "date": "Tue, 08 Aug 2023 04:22:12 GMT",
6
+ "tag": "@fluentui/react-spinbutton_v0.0.0-nightly-20230808-0415.1",
7
+ "version": "0.0.0-nightly-20230808-0415.1",
8
8
  "comments": {
9
9
  "prerelease": [
10
10
  {
@@ -16,56 +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-20230804-0415.1",
20
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
19
+ "comment": "Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230808-0415.1",
20
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
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-20230804-0415.1",
26
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
25
+ "comment": "Bump @fluentui/react-field to v0.0.0-nightly-20230808-0415.1",
26
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
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-20230804-0415.1",
32
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
31
+ "comment": "Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230808-0415.1",
32
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
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-20230804-0415.1",
38
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
37
+ "comment": "Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230808-0415.1",
38
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
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-20230804-0415.1",
44
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
43
+ "comment": "Bump @fluentui/react-theme to v0.0.0-nightly-20230808-0415.1",
44
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
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-20230804-0415.1",
50
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
49
+ "comment": "Bump @fluentui/react-utilities to v0.0.0-nightly-20230808-0415.1",
50
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
51
51
  },
52
52
  {
53
53
  "author": "beachball",
54
54
  "package": "@fluentui/react-spinbutton",
55
- "comment": "Bump @fluentui/react-conformance to v0.0.0-nightly-20230804-0415.1",
56
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
55
+ "comment": "Bump @fluentui/react-conformance to v0.0.0-nightly-20230808-0415.1",
56
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
57
57
  },
58
58
  {
59
59
  "author": "beachball",
60
60
  "package": "@fluentui/react-spinbutton",
61
- "comment": "Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230804-0415.1",
62
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
61
+ "comment": "Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230808-0415.1",
62
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
63
63
  },
64
64
  {
65
65
  "author": "beachball",
66
66
  "package": "@fluentui/react-spinbutton",
67
- "comment": "Bump @fluentui/react-label to v0.0.0-nightly-20230804-0415.1",
68
- "commit": "ad95d1723b836488f78769eb56b64caf31baab57"
67
+ "comment": "Bump @fluentui/react-label to v0.0.0-nightly-20230808-0415.1",
68
+ "commit": "307bdb0a82868b26dbcb9a7aa2318bda66c1cd64"
69
+ }
70
+ ]
71
+ }
72
+ },
73
+ {
74
+ "date": "Fri, 04 Aug 2023 08:52:58 GMT",
75
+ "tag": "@fluentui/react-spinbutton_v9.2.25",
76
+ "version": "9.2.25",
77
+ "comments": {
78
+ "patch": [
79
+ {
80
+ "author": "beachball",
81
+ "package": "@fluentui/react-spinbutton",
82
+ "comment": "Bump @fluentui/react-field to v9.1.15",
83
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
84
+ },
85
+ {
86
+ "author": "beachball",
87
+ "package": "@fluentui/react-spinbutton",
88
+ "comment": "Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13",
89
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
90
+ },
91
+ {
92
+ "author": "beachball",
93
+ "package": "@fluentui/react-spinbutton",
94
+ "comment": "Bump @fluentui/react-shared-contexts to v9.7.1",
95
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
96
+ },
97
+ {
98
+ "author": "beachball",
99
+ "package": "@fluentui/react-spinbutton",
100
+ "comment": "Bump @fluentui/react-theme to v9.1.10",
101
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
102
+ },
103
+ {
104
+ "author": "beachball",
105
+ "package": "@fluentui/react-spinbutton",
106
+ "comment": "Bump @fluentui/react-utilities to v9.11.0",
107
+ "commit": "0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca"
69
108
  }
70
109
  ]
71
110
  }
package/CHANGELOG.md CHANGED
@@ -1,26 +1,39 @@
1
1
  # Change Log - @fluentui/react-spinbutton
2
2
 
3
- This log was last generated on Fri, 04 Aug 2023 04:21:56 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 08 Aug 2023 04:22:12 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [0.0.0-nightly-20230804-0415.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v0.0.0-nightly-20230804-0415.1)
7
+ ## [0.0.0-nightly-20230808-0415.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v0.0.0-nightly-20230808-0415.1)
8
8
 
9
- Fri, 04 Aug 2023 04:21:56 GMT
10
- [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.24..@fluentui/react-spinbutton_v0.0.0-nightly-20230804-0415.1)
9
+ Tue, 08 Aug 2023 04:22:12 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.25..@fluentui/react-spinbutton_v0.0.0-nightly-20230808-0415.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-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
16
- - Bump @fluentui/react-field to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
17
- - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
18
- - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
19
- - Bump @fluentui/react-theme to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
20
- - Bump @fluentui/react-utilities to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
21
- - Bump @fluentui/react-conformance to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
22
- - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
23
- - Bump @fluentui/react-label to v0.0.0-nightly-20230804-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/ad95d1723b836488f78769eb56b64caf31baab57) by beachball)
15
+ - Bump @fluentui/keyboard-keys to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
16
+ - Bump @fluentui/react-field to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
17
+ - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
18
+ - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
19
+ - Bump @fluentui/react-theme to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
20
+ - Bump @fluentui/react-utilities to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
21
+ - Bump @fluentui/react-conformance to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
22
+ - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
23
+ - Bump @fluentui/react-label to v0.0.0-nightly-20230808-0415.1 ([commit](https://github.com/microsoft/fluentui/commit/307bdb0a82868b26dbcb9a7aa2318bda66c1cd64) by beachball)
24
+
25
+ ## [9.2.25](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.25)
26
+
27
+ Fri, 04 Aug 2023 08:52:58 GMT
28
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-spinbutton_v9.2.24..@fluentui/react-spinbutton_v9.2.25)
29
+
30
+ ### Patches
31
+
32
+ - Bump @fluentui/react-field to v9.1.15 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
33
+ - Bump @fluentui/react-jsx-runtime to v9.0.0-alpha.13 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
34
+ - Bump @fluentui/react-shared-contexts to v9.7.1 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
35
+ - Bump @fluentui/react-theme to v9.1.10 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
36
+ - Bump @fluentui/react-utilities to v9.11.0 ([commit](https://github.com/microsoft/fluentui/commit/0bf7d9438c1d0ff90cd2b28bc4cceb4f807afbca) by beachball)
24
37
 
25
38
  ## [9.2.24](https://github.com/microsoft/fluentui/tree/@fluentui/react-spinbutton_v9.2.24)
26
39
 
@@ -1,8 +1,8 @@
1
1
  /** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';
2
- import { getSlotsNext } from '@fluentui/react-utilities';
2
+ import { assertSlots } from '@fluentui/react-utilities';
3
3
  /**
4
4
  * Render the final JSX of SpinButton
5
5
  */ export const renderSpinButton_unstable = (state)=>{
6
- const { slots , slotProps } = getSlotsNext(state);
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));
6
+ assertSlots(state);
7
+ return /*#__PURE__*/ createElement(state.root, null, /*#__PURE__*/ createElement(state.input, null), /*#__PURE__*/ createElement(state.incrementButton, null), /*#__PURE__*/ createElement(state.decrementButton, null));
8
8
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["renderSpinButton.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\n\nimport { assertSlots } 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 assertSlots<SpinButtonSlots>(state);\n\n return (\n <state.root>\n <state.input />\n <state.incrementButton />\n <state.decrementButton />\n </state.root>\n );\n};\n"],"names":["createElement","assertSlots","renderSpinButton_unstable","state","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GACxB,uBAAuB,GAEvB,SAASA,aAAa,QAAQ,8BAA8B;AAE5D,SAASC,WAAW,QAAQ,4BAA4B;AAGxD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,QAA2B;IACnEF,YAA6BE;IAE7B,qBACE,AAdJ,cAcKA,MAAMC,IAAI,sBACT,AAfN,cAeOD,MAAME,KAAK,uBACZ,AAhBN,cAgBOF,MAAMG,eAAe,uBACtB,AAjBN,cAiBOH,MAAMI,eAAe;AAG5B,EAAE"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useFieldControlProps_unstable } from '@fluentui/react-field';
3
- import { getPartitionedNativeProps, mergeCallbacks, resolveShorthand, useControllableState, useTimeout } from '@fluentui/react-utilities';
3
+ import { getPartitionedNativeProps, mergeCallbacks, useControllableState, useTimeout, slot } from '@fluentui/react-utilities';
4
4
  import { ArrowUp, ArrowDown, End, Enter, Escape, Home, PageDown, PageUp } from '@fluentui/keyboard-keys';
5
5
  import { calculatePrecision, precisionRound, getBound, clamp } from '../../utils/index';
6
6
  import { ChevronUp16Regular, ChevronDown16Regular } from '@fluentui/react-icons';
@@ -192,12 +192,11 @@ const lerp = (start, end, percent)=>start + (end - start) * percent;
192
192
  incrementButton: 'button',
193
193
  decrementButton: 'button'
194
194
  },
195
- root: resolveShorthand(root, {
196
- required: true,
197
- defaultProps: nativeProps.root
195
+ root: slot.always(root, {
196
+ defaultProps: nativeProps.root,
197
+ elementType: 'span'
198
198
  }),
199
- input: resolveShorthand(input, {
200
- required: true,
199
+ input: slot.always(input, {
201
200
  defaultProps: {
202
201
  ref,
203
202
  autoComplete: 'off',
@@ -205,27 +204,28 @@ const lerp = (start, end, percent)=>start + (end - start) * percent;
205
204
  appearance,
206
205
  type: 'text',
207
206
  ...nativeProps.primary
208
- }
207
+ },
208
+ elementType: 'input'
209
209
  }),
210
- incrementButton: resolveShorthand(incrementButton, {
211
- required: true,
210
+ incrementButton: slot.always(incrementButton, {
212
211
  defaultProps: {
213
212
  tabIndex: -1,
214
213
  children: /*#__PURE__*/ React.createElement(ChevronUp16Regular, null),
215
214
  disabled: nativeProps.primary.disabled,
216
215
  'aria-label': 'Increment value',
217
216
  type: 'button'
218
- }
217
+ },
218
+ elementType: 'button'
219
219
  }),
220
- decrementButton: resolveShorthand(decrementButton, {
221
- required: true,
220
+ decrementButton: slot.always(decrementButton, {
222
221
  defaultProps: {
223
222
  tabIndex: -1,
224
223
  children: /*#__PURE__*/ React.createElement(ChevronDown16Regular, null),
225
224
  disabled: nativeProps.primary.disabled,
226
225
  'aria-label': 'Decrement value',
227
226
  type: 'button'
228
- }
227
+ },
228
+ elementType: 'button'
229
229
  })
230
230
  };
231
231
  let valueToDisplay;
@@ -1 +1 @@
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
+ {"version":3,"sources":["useSpinButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport {\n getPartitionedNativeProps,\n mergeCallbacks,\n useControllableState,\n useTimeout,\n slot,\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: slot.always(root, {\n defaultProps: nativeProps.root,\n elementType: 'span',\n }),\n input: slot.always(input, {\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary,\n },\n elementType: 'input',\n }),\n incrementButton: slot.always(incrementButton, {\n defaultProps: {\n tabIndex: -1,\n children: <ChevronUp16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Increment value',\n type: 'button',\n },\n elementType: 'button',\n }),\n decrementButton: slot.always(decrementButton, {\n defaultProps: {\n tabIndex: -1,\n children: <ChevronDown16Regular />,\n disabled: nativeProps.primary.disabled,\n 'aria-label': 'Decrement value',\n type: 'button',\n },\n elementType: 'button',\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","useControllableState","useTimeout","slot","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","always","defaultProps","elementType","autoComplete","role","type","primary","tabIndex","children","disabled","valueToDisplay","onBlur","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave"],"mappings":"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"}
@@ -9,6 +9,6 @@ Object.defineProperty(exports, "renderSpinButton_unstable", {
9
9
  const _reactJsxRuntime = require("@fluentui/react-jsx-runtime");
10
10
  const _reactUtilities = require("@fluentui/react-utilities");
11
11
  const renderSpinButton_unstable = (state)=>{
12
- const { slots , slotProps } = (0, _reactUtilities.getSlotsNext)(state);
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));
12
+ (0, _reactUtilities.assertSlots)(state);
13
+ return /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.root, null, /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.input, null), /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.incrementButton, null), /*#__PURE__*/ (0, _reactJsxRuntime.createElement)(state.decrementButton, null));
14
14
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["renderSpinButton.js"],"sourcesContent":["/** @jsxRuntime classic */ /** @jsx createElement */ import { createElement } from '@fluentui/react-jsx-runtime';\nimport { assertSlots } from '@fluentui/react-utilities';\n/**\n * Render the final JSX of SpinButton\n */ export const renderSpinButton_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ createElement(state.root, null, /*#__PURE__*/ createElement(state.input, null), /*#__PURE__*/ createElement(state.incrementButton, null), /*#__PURE__*/ createElement(state.decrementButton, null));\n};\n"],"names":["renderSpinButton_unstable","state","assertSlots","createElement","root","input","incrementButton","decrementButton"],"mappings":"AAAA,wBAAwB,GAAG,uBAAuB;;;;+BAIjCA;;aAAAA;;iCAJkE;gCACvD;AAGjB,MAAMA,4BAA4B,CAACC,QAAQ;IAClDC,IAAAA,2BAAW,EAACD;IACZ,OAAO,WAAW,GAAGE,IAAAA,8BAAa,EAACF,MAAMG,IAAI,EAAE,IAAI,EAAE,WAAW,GAAGD,IAAAA,8BAAa,EAACF,MAAMI,KAAK,EAAE,IAAI,GAAG,WAAW,GAAGF,IAAAA,8BAAa,EAACF,MAAMK,eAAe,EAAE,IAAI,GAAG,WAAW,GAAGH,IAAAA,8BAAa,EAACF,MAAMM,eAAe,EAAE,IAAI;AAC1N"}
@@ -193,12 +193,11 @@ const useSpinButton_unstable = (props, ref)=>{
193
193
  incrementButton: 'button',
194
194
  decrementButton: 'button'
195
195
  },
196
- root: (0, _reactUtilities.resolveShorthand)(root, {
197
- required: true,
198
- defaultProps: nativeProps.root
196
+ root: _reactUtilities.slot.always(root, {
197
+ defaultProps: nativeProps.root,
198
+ elementType: 'span'
199
199
  }),
200
- input: (0, _reactUtilities.resolveShorthand)(input, {
201
- required: true,
200
+ input: _reactUtilities.slot.always(input, {
202
201
  defaultProps: {
203
202
  ref,
204
203
  autoComplete: 'off',
@@ -206,27 +205,28 @@ const useSpinButton_unstable = (props, ref)=>{
206
205
  appearance,
207
206
  type: 'text',
208
207
  ...nativeProps.primary
209
- }
208
+ },
209
+ elementType: 'input'
210
210
  }),
211
- incrementButton: (0, _reactUtilities.resolveShorthand)(incrementButton, {
212
- required: true,
211
+ incrementButton: _reactUtilities.slot.always(incrementButton, {
213
212
  defaultProps: {
214
213
  tabIndex: -1,
215
214
  children: /*#__PURE__*/ _react.createElement(_reactIcons.ChevronUp16Regular, null),
216
215
  disabled: nativeProps.primary.disabled,
217
216
  'aria-label': 'Increment value',
218
217
  type: 'button'
219
- }
218
+ },
219
+ elementType: 'button'
220
220
  }),
221
- decrementButton: (0, _reactUtilities.resolveShorthand)(decrementButton, {
222
- required: true,
221
+ decrementButton: _reactUtilities.slot.always(decrementButton, {
223
222
  defaultProps: {
224
223
  tabIndex: -1,
225
224
  children: /*#__PURE__*/ _react.createElement(_reactIcons.ChevronDown16Regular, null),
226
225
  disabled: nativeProps.primary.disabled,
227
226
  'aria-label': 'Decrement value',
228
227
  type: 'button'
229
- }
228
+ },
229
+ elementType: 'button'
230
230
  })
231
231
  };
232
232
  let valueToDisplay;
@@ -1 +1 @@
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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"}
1
+ {"version":3,"sources":["useSpinButton.js"],"sourcesContent":["import * as React from 'react';\nimport { useFieldControlProps_unstable } from '@fluentui/react-field';\nimport { getPartitionedNativeProps, mergeCallbacks, useControllableState, useTimeout, slot } 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: slot.always(root, {\n defaultProps: nativeProps.root,\n elementType: 'span'\n }),\n input: slot.always(input, {\n defaultProps: {\n ref,\n autoComplete: 'off',\n role: 'spinbutton',\n appearance,\n type: 'text',\n ...nativeProps.primary\n },\n elementType: 'input'\n }),\n incrementButton: slot.always(incrementButton, {\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 elementType: 'button'\n }),\n decrementButton: slot.always(decrementButton, {\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 elementType: 'button'\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","slot","always","defaultProps","elementType","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-spinbutton",
3
- "version": "0.0.0-nightly-20230804-0415.1",
3
+ "version": "0.0.0-nightly-20230808-0415.1",
4
4
  "description": "Fluent UI React SpinButton component.",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -27,20 +27,20 @@
27
27
  },
28
28
  "devDependencies": {
29
29
  "@fluentui/eslint-plugin": "*",
30
- "@fluentui/react-conformance": "0.0.0-nightly-20230804-0415.1",
31
- "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230804-0415.1",
32
- "@fluentui/react-label": "0.0.0-nightly-20230804-0415.1",
30
+ "@fluentui/react-conformance": "0.0.0-nightly-20230808-0415.1",
31
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20230808-0415.1",
32
+ "@fluentui/react-label": "0.0.0-nightly-20230808-0415.1",
33
33
  "@fluentui/scripts-api-extractor": "*",
34
34
  "@fluentui/scripts-tasks": "*"
35
35
  },
36
36
  "dependencies": {
37
- "@fluentui/keyboard-keys": "0.0.0-nightly-20230804-0415.1",
38
- "@fluentui/react-field": "0.0.0-nightly-20230804-0415.1",
37
+ "@fluentui/keyboard-keys": "0.0.0-nightly-20230808-0415.1",
38
+ "@fluentui/react-field": "0.0.0-nightly-20230808-0415.1",
39
39
  "@fluentui/react-icons": "^2.0.207",
40
- "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230804-0415.1",
41
- "@fluentui/react-shared-contexts": "0.0.0-nightly-20230804-0415.1",
42
- "@fluentui/react-theme": "0.0.0-nightly-20230804-0415.1",
43
- "@fluentui/react-utilities": "0.0.0-nightly-20230804-0415.1",
40
+ "@fluentui/react-jsx-runtime": "0.0.0-nightly-20230808-0415.1",
41
+ "@fluentui/react-shared-contexts": "0.0.0-nightly-20230808-0415.1",
42
+ "@fluentui/react-theme": "0.0.0-nightly-20230808-0415.1",
43
+ "@fluentui/react-utilities": "0.0.0-nightly-20230808-0415.1",
44
44
  "@griffel/react": "^1.5.7",
45
45
  "@swc/helpers": "^0.4.14"
46
46
  },