@react-aria/color 3.0.0-beta.26 → 3.0.0-beta.28

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 (181) hide show
  1. package/dist/ar-AE.main.js +9 -0
  2. package/dist/ar-AE.main.js.map +1 -0
  3. package/dist/ar-AE.mjs +11 -0
  4. package/dist/ar-AE.module.js +11 -0
  5. package/dist/ar-AE.module.js.map +1 -0
  6. package/dist/bg-BG.main.js +9 -0
  7. package/dist/bg-BG.main.js.map +1 -0
  8. package/dist/bg-BG.mjs +11 -0
  9. package/dist/bg-BG.module.js +11 -0
  10. package/dist/bg-BG.module.js.map +1 -0
  11. package/dist/cs-CZ.main.js +9 -0
  12. package/dist/cs-CZ.main.js.map +1 -0
  13. package/dist/cs-CZ.mjs +11 -0
  14. package/dist/cs-CZ.module.js +11 -0
  15. package/dist/cs-CZ.module.js.map +1 -0
  16. package/dist/da-DK.main.js +9 -0
  17. package/dist/da-DK.main.js.map +1 -0
  18. package/dist/da-DK.mjs +11 -0
  19. package/dist/da-DK.module.js +11 -0
  20. package/dist/da-DK.module.js.map +1 -0
  21. package/dist/de-DE.main.js +9 -0
  22. package/dist/de-DE.main.js.map +1 -0
  23. package/dist/de-DE.mjs +11 -0
  24. package/dist/de-DE.module.js +11 -0
  25. package/dist/de-DE.module.js.map +1 -0
  26. package/dist/el-GR.main.js +9 -0
  27. package/dist/el-GR.main.js.map +1 -0
  28. package/dist/el-GR.mjs +11 -0
  29. package/dist/el-GR.module.js +11 -0
  30. package/dist/el-GR.module.js.map +1 -0
  31. package/dist/en-US.main.js +9 -0
  32. package/dist/en-US.main.js.map +1 -0
  33. package/dist/en-US.mjs +11 -0
  34. package/dist/en-US.module.js +11 -0
  35. package/dist/en-US.module.js.map +1 -0
  36. package/dist/es-ES.main.js +9 -0
  37. package/dist/es-ES.main.js.map +1 -0
  38. package/dist/es-ES.mjs +11 -0
  39. package/dist/es-ES.module.js +11 -0
  40. package/dist/es-ES.module.js.map +1 -0
  41. package/dist/et-EE.main.js +9 -0
  42. package/dist/et-EE.main.js.map +1 -0
  43. package/dist/et-EE.mjs +11 -0
  44. package/dist/et-EE.module.js +11 -0
  45. package/dist/et-EE.module.js.map +1 -0
  46. package/dist/fi-FI.main.js +9 -0
  47. package/dist/fi-FI.main.js.map +1 -0
  48. package/dist/fi-FI.mjs +11 -0
  49. package/dist/fi-FI.module.js +11 -0
  50. package/dist/fi-FI.module.js.map +1 -0
  51. package/dist/fr-FR.main.js +9 -0
  52. package/dist/fr-FR.main.js.map +1 -0
  53. package/dist/fr-FR.mjs +11 -0
  54. package/dist/fr-FR.module.js +11 -0
  55. package/dist/fr-FR.module.js.map +1 -0
  56. package/dist/he-IL.main.js +9 -0
  57. package/dist/he-IL.main.js.map +1 -0
  58. package/dist/he-IL.mjs +11 -0
  59. package/dist/he-IL.module.js +11 -0
  60. package/dist/he-IL.module.js.map +1 -0
  61. package/dist/hr-HR.main.js +9 -0
  62. package/dist/hr-HR.main.js.map +1 -0
  63. package/dist/hr-HR.mjs +11 -0
  64. package/dist/hr-HR.module.js +11 -0
  65. package/dist/hr-HR.module.js.map +1 -0
  66. package/dist/hu-HU.main.js +9 -0
  67. package/dist/hu-HU.main.js.map +1 -0
  68. package/dist/hu-HU.mjs +11 -0
  69. package/dist/hu-HU.module.js +11 -0
  70. package/dist/hu-HU.module.js.map +1 -0
  71. package/dist/import.mjs +63 -290
  72. package/dist/it-IT.main.js +9 -0
  73. package/dist/it-IT.main.js.map +1 -0
  74. package/dist/it-IT.mjs +11 -0
  75. package/dist/it-IT.module.js +11 -0
  76. package/dist/it-IT.module.js.map +1 -0
  77. package/dist/ja-JP.main.js +9 -0
  78. package/dist/ja-JP.main.js.map +1 -0
  79. package/dist/ja-JP.mjs +11 -0
  80. package/dist/ja-JP.module.js +11 -0
  81. package/dist/ja-JP.module.js.map +1 -0
  82. package/dist/ko-KR.main.js +9 -0
  83. package/dist/ko-KR.main.js.map +1 -0
  84. package/dist/ko-KR.mjs +11 -0
  85. package/dist/ko-KR.module.js +11 -0
  86. package/dist/ko-KR.module.js.map +1 -0
  87. package/dist/lt-LT.main.js +9 -0
  88. package/dist/lt-LT.main.js.map +1 -0
  89. package/dist/lt-LT.mjs +11 -0
  90. package/dist/lt-LT.module.js +11 -0
  91. package/dist/lt-LT.module.js.map +1 -0
  92. package/dist/lv-LV.main.js +9 -0
  93. package/dist/lv-LV.main.js.map +1 -0
  94. package/dist/lv-LV.mjs +11 -0
  95. package/dist/lv-LV.module.js +11 -0
  96. package/dist/lv-LV.module.js.map +1 -0
  97. package/dist/main.js +64 -290
  98. package/dist/main.js.map +1 -1
  99. package/dist/module.js +63 -290
  100. package/dist/module.js.map +1 -1
  101. package/dist/nb-NO.main.js +9 -0
  102. package/dist/nb-NO.main.js.map +1 -0
  103. package/dist/nb-NO.mjs +11 -0
  104. package/dist/nb-NO.module.js +11 -0
  105. package/dist/nb-NO.module.js.map +1 -0
  106. package/dist/nl-NL.main.js +9 -0
  107. package/dist/nl-NL.main.js.map +1 -0
  108. package/dist/nl-NL.mjs +11 -0
  109. package/dist/nl-NL.module.js +11 -0
  110. package/dist/nl-NL.module.js.map +1 -0
  111. package/dist/pl-PL.main.js +9 -0
  112. package/dist/pl-PL.main.js.map +1 -0
  113. package/dist/pl-PL.mjs +11 -0
  114. package/dist/pl-PL.module.js +11 -0
  115. package/dist/pl-PL.module.js.map +1 -0
  116. package/dist/pt-BR.main.js +9 -0
  117. package/dist/pt-BR.main.js.map +1 -0
  118. package/dist/pt-BR.mjs +11 -0
  119. package/dist/pt-BR.module.js +11 -0
  120. package/dist/pt-BR.module.js.map +1 -0
  121. package/dist/pt-PT.main.js +9 -0
  122. package/dist/pt-PT.main.js.map +1 -0
  123. package/dist/pt-PT.mjs +11 -0
  124. package/dist/pt-PT.module.js +11 -0
  125. package/dist/pt-PT.module.js.map +1 -0
  126. package/dist/ro-RO.main.js +9 -0
  127. package/dist/ro-RO.main.js.map +1 -0
  128. package/dist/ro-RO.mjs +11 -0
  129. package/dist/ro-RO.module.js +11 -0
  130. package/dist/ro-RO.module.js.map +1 -0
  131. package/dist/ru-RU.main.js +9 -0
  132. package/dist/ru-RU.main.js.map +1 -0
  133. package/dist/ru-RU.mjs +11 -0
  134. package/dist/ru-RU.module.js +11 -0
  135. package/dist/ru-RU.module.js.map +1 -0
  136. package/dist/sk-SK.main.js +9 -0
  137. package/dist/sk-SK.main.js.map +1 -0
  138. package/dist/sk-SK.mjs +11 -0
  139. package/dist/sk-SK.module.js +11 -0
  140. package/dist/sk-SK.module.js.map +1 -0
  141. package/dist/sl-SI.main.js +9 -0
  142. package/dist/sl-SI.main.js.map +1 -0
  143. package/dist/sl-SI.mjs +11 -0
  144. package/dist/sl-SI.module.js +11 -0
  145. package/dist/sl-SI.module.js.map +1 -0
  146. package/dist/sr-SP.main.js +9 -0
  147. package/dist/sr-SP.main.js.map +1 -0
  148. package/dist/sr-SP.mjs +11 -0
  149. package/dist/sr-SP.module.js +11 -0
  150. package/dist/sr-SP.module.js.map +1 -0
  151. package/dist/sv-SE.main.js +9 -0
  152. package/dist/sv-SE.main.js.map +1 -0
  153. package/dist/sv-SE.mjs +11 -0
  154. package/dist/sv-SE.module.js +11 -0
  155. package/dist/sv-SE.module.js.map +1 -0
  156. package/dist/tr-TR.main.js +9 -0
  157. package/dist/tr-TR.main.js.map +1 -0
  158. package/dist/tr-TR.mjs +11 -0
  159. package/dist/tr-TR.module.js +11 -0
  160. package/dist/tr-TR.module.js.map +1 -0
  161. package/dist/types.d.ts +2 -2
  162. package/dist/types.d.ts.map +1 -1
  163. package/dist/uk-UA.main.js +9 -0
  164. package/dist/uk-UA.main.js.map +1 -0
  165. package/dist/uk-UA.mjs +11 -0
  166. package/dist/uk-UA.module.js +11 -0
  167. package/dist/uk-UA.module.js.map +1 -0
  168. package/dist/zh-CN.main.js +9 -0
  169. package/dist/zh-CN.main.js.map +1 -0
  170. package/dist/zh-CN.mjs +11 -0
  171. package/dist/zh-CN.module.js +11 -0
  172. package/dist/zh-CN.module.js.map +1 -0
  173. package/dist/zh-TW.main.js +9 -0
  174. package/dist/zh-TW.main.js.map +1 -0
  175. package/dist/zh-TW.mjs +11 -0
  176. package/dist/zh-TW.module.js +11 -0
  177. package/dist/zh-TW.module.js.map +1 -0
  178. package/package.json +13 -13
  179. package/src/useColorArea.ts +6 -6
  180. package/src/useColorField.ts +27 -16
  181. package/src/useColorWheel.ts +4 -4
@@ -20,11 +20,13 @@ import {
20
20
  useState
21
21
  } from 'react';
22
22
  import {mergeProps, useId} from '@react-aria/utils';
23
+ import {privateValidationStateProp} from '@react-stately/form';
23
24
  import {useFocusWithin, useScrollWheel} from '@react-aria/interactions';
24
25
  import {useFormattedTextField} from '@react-aria/textfield';
25
26
  import {useSpinButton} from '@react-aria/spinbutton';
27
+ import {ValidationResult} from '@react-types/shared';
26
28
 
27
- export interface ColorFieldAria {
29
+ export interface ColorFieldAria extends ValidationResult {
28
30
  /** Props for the label element. */
29
31
  labelProps: LabelHTMLAttributes<HTMLLabelElement>,
30
32
  /** Props for the input element. */
@@ -43,17 +45,18 @@ export function useColorField(
43
45
  let {
44
46
  isDisabled,
45
47
  isReadOnly,
46
- isRequired
48
+ isRequired,
49
+ validationBehavior = 'aria'
47
50
  } = props;
48
51
 
49
52
  let {
50
53
  colorValue,
51
54
  inputValue,
52
- commit,
53
55
  increment,
54
56
  decrement,
55
57
  incrementToMax,
56
- decrementToMin
58
+ decrementToMin,
59
+ commit
57
60
  } = state;
58
61
 
59
62
  let inputId = useId();
@@ -96,27 +99,35 @@ export function useColorField(
96
99
  }
97
100
  };
98
101
 
99
- let {labelProps, inputProps} = useFormattedTextField(
102
+ let {inputProps, ...otherProps} = useFormattedTextField(
100
103
  mergeProps(props, {
101
104
  id: inputId,
102
105
  value: inputValue,
103
106
  defaultValue: undefined,
107
+ validate: undefined,
108
+ [privateValidationStateProp]: state,
104
109
  type: 'text',
105
110
  autoComplete: 'off',
106
111
  onChange
107
112
  }), state, ref);
108
113
 
114
+ inputProps = mergeProps(inputProps, spinButtonProps, focusWithinProps, {
115
+ role: 'textbox',
116
+ 'aria-valuemax': null,
117
+ 'aria-valuemin': null,
118
+ 'aria-valuenow': null,
119
+ 'aria-valuetext': null,
120
+ autoCorrect: 'off',
121
+ spellCheck: 'false',
122
+ onBlur: commit
123
+ });
124
+
125
+ if (validationBehavior === 'native') {
126
+ inputProps['aria-required'] = undefined;
127
+ }
128
+
109
129
  return {
110
- labelProps,
111
- inputProps: mergeProps(inputProps, spinButtonProps, focusWithinProps, {
112
- role: 'textbox',
113
- 'aria-valuemax': null,
114
- 'aria-valuemin': null,
115
- 'aria-valuenow': null,
116
- 'aria-valuetext': null,
117
- autoCorrect: 'off',
118
- spellCheck: 'false',
119
- onBlur: commit
120
- })
130
+ inputProps,
131
+ ...otherProps
121
132
  };
122
133
  }
@@ -59,7 +59,7 @@ export function useColorWheel(props: AriaColorWheelOptions, state: ColorWheelSta
59
59
 
60
60
  useFormReset(inputRef, state.hue, state.setHue);
61
61
 
62
- let currentPosition = useRef<{x: number, y: number}>(null);
62
+ let currentPosition = useRef<{x: number, y: number} | null>(null);
63
63
 
64
64
  let {keyboardProps} = useKeyboard({
65
65
  onKeyDown(e) {
@@ -108,7 +108,7 @@ export function useColorWheel(props: AriaColorWheelOptions, state: ColorWheelSta
108
108
  }
109
109
  },
110
110
  onMoveEnd() {
111
- isOnTrack.current = undefined;
111
+ isOnTrack.current = false;
112
112
  state.setDragging(false);
113
113
  focusInput();
114
114
  }
@@ -135,7 +135,7 @@ export function useColorWheel(props: AriaColorWheelOptions, state: ColorWheelSta
135
135
  }
136
136
  });
137
137
 
138
- let onThumbDown = (id: number | null) => {
138
+ let onThumbDown = (id: number | null | undefined) => {
139
139
  if (!state.isDragging) {
140
140
  currentPointer.current = id;
141
141
  focusInput();
@@ -167,7 +167,7 @@ export function useColorWheel(props: AriaColorWheelOptions, state: ColorWheelSta
167
167
  }
168
168
  };
169
169
 
170
- let onTrackDown = (track: Element, id: number | null, pageX: number, pageY: number) => {
170
+ let onTrackDown = (track: Element, id: number | null | undefined, pageX: number, pageY: number) => {
171
171
  let rect = track.getBoundingClientRect();
172
172
  let x = pageX - rect.x - rect.width / 2;
173
173
  let y = pageY - rect.y - rect.height / 2;