@wordpress/components 29.13.1-next.719a03cbe.0 → 30.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/CHANGELOG.md +34 -3
  2. package/build/autocomplete/index.js +4 -0
  3. package/build/autocomplete/index.js.map +1 -1
  4. package/build/calendar/date-calendar/index.js +13 -4
  5. package/build/calendar/date-calendar/index.js.map +1 -1
  6. package/build/calendar/date-range-calendar/index.js +8 -4
  7. package/build/calendar/date-range-calendar/index.js.map +1 -1
  8. package/build/calendar/types.js.map +1 -1
  9. package/build/color-picker/styles.js +7 -7
  10. package/build/color-picker/styles.js.map +1 -1
  11. package/build/icon/index.js +2 -0
  12. package/build/icon/index.js.map +1 -1
  13. package/build/index.js +0 -19
  14. package/build/index.js.map +1 -1
  15. package/build/palette-edit/index.js +1 -1
  16. package/build/palette-edit/index.js.map +1 -1
  17. package/build/private-apis.js +9 -1
  18. package/build/private-apis.js.map +1 -1
  19. package/build/range-control/index.js +1 -1
  20. package/build/range-control/index.js.map +1 -1
  21. package/build/range-control/styles/range-control-styles.js +35 -35
  22. package/build/range-control/styles/range-control-styles.js.map +1 -1
  23. package/build/range-control/tooltip.js +15 -15
  24. package/build/range-control/tooltip.js.map +1 -1
  25. package/build/range-control/types.js.map +1 -1
  26. package/build/select-control/index.js +1 -1
  27. package/build/select-control/index.js.map +1 -1
  28. package/build/textarea-control/index.js +7 -1
  29. package/build/textarea-control/index.js.map +1 -1
  30. package/build/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  31. package/build/utils/hooks/use-controlled-value.js +8 -4
  32. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  33. package/build/validated-form-controls/components/checkbox-control.js +52 -0
  34. package/build/validated-form-controls/components/checkbox-control.js.map +1 -0
  35. package/build/validated-form-controls/components/combobox-control.js +64 -0
  36. package/build/validated-form-controls/components/combobox-control.js.map +1 -0
  37. package/build/validated-form-controls/components/custom-select-control.js +71 -0
  38. package/build/validated-form-controls/components/custom-select-control.js.map +1 -0
  39. package/build/validated-form-controls/components/index.js +138 -0
  40. package/build/validated-form-controls/components/index.js.map +1 -0
  41. package/build/validated-form-controls/components/input-control.js +50 -0
  42. package/build/validated-form-controls/components/input-control.js.map +1 -0
  43. package/build/validated-form-controls/components/number-control.js +53 -0
  44. package/build/validated-form-controls/components/number-control.js.map +1 -0
  45. package/build/validated-form-controls/components/radio-control.js +51 -0
  46. package/build/validated-form-controls/components/radio-control.js.map +1 -0
  47. package/build/validated-form-controls/components/range-control.js +51 -0
  48. package/build/validated-form-controls/components/range-control.js.map +1 -0
  49. package/build/validated-form-controls/components/select-control.js +53 -0
  50. package/build/validated-form-controls/components/select-control.js.map +1 -0
  51. package/build/validated-form-controls/components/text-control.js +51 -0
  52. package/build/validated-form-controls/components/text-control.js.map +1 -0
  53. package/build/validated-form-controls/components/textarea-control.js +50 -0
  54. package/build/validated-form-controls/components/textarea-control.js.map +1 -0
  55. package/build/validated-form-controls/components/toggle-control.js +60 -0
  56. package/build/validated-form-controls/components/toggle-control.js.map +1 -0
  57. package/build/validated-form-controls/components/toggle-group-control.js +69 -0
  58. package/build/validated-form-controls/components/toggle-group-control.js.map +1 -0
  59. package/build/validated-form-controls/components/types.js +6 -0
  60. package/build/validated-form-controls/components/types.js.map +1 -0
  61. package/build/validated-form-controls/control-with-error.js +137 -0
  62. package/build/validated-form-controls/control-with-error.js.map +1 -0
  63. package/build/validated-form-controls/index.js +28 -0
  64. package/build/validated-form-controls/index.js.map +1 -0
  65. package/build-module/autocomplete/index.js +4 -0
  66. package/build-module/autocomplete/index.js.map +1 -1
  67. package/build-module/calendar/date-calendar/index.js +11 -3
  68. package/build-module/calendar/date-calendar/index.js.map +1 -1
  69. package/build-module/calendar/date-range-calendar/index.js +8 -4
  70. package/build-module/calendar/date-range-calendar/index.js.map +1 -1
  71. package/build-module/calendar/types.js.map +1 -1
  72. package/build-module/color-picker/styles.js +7 -7
  73. package/build-module/color-picker/styles.js.map +1 -1
  74. package/build-module/icon/index.js +2 -0
  75. package/build-module/icon/index.js.map +1 -1
  76. package/build-module/index.js +0 -1
  77. package/build-module/index.js.map +1 -1
  78. package/build-module/palette-edit/index.js +2 -2
  79. package/build-module/palette-edit/index.js.map +1 -1
  80. package/build-module/private-apis.js +9 -1
  81. package/build-module/private-apis.js.map +1 -1
  82. package/build-module/range-control/index.js +1 -1
  83. package/build-module/range-control/index.js.map +1 -1
  84. package/build-module/range-control/styles/range-control-styles.js +35 -35
  85. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  86. package/build-module/range-control/tooltip.js +15 -15
  87. package/build-module/range-control/tooltip.js.map +1 -1
  88. package/build-module/range-control/types.js.map +1 -1
  89. package/build-module/select-control/index.js +1 -1
  90. package/build-module/select-control/index.js.map +1 -1
  91. package/build-module/textarea-control/index.js +7 -1
  92. package/build-module/textarea-control/index.js.map +1 -1
  93. package/build-module/toggle-group-control/toggle-group-control/as-button-group.js.map +1 -1
  94. package/build-module/utils/hooks/use-controlled-value.js +9 -5
  95. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  96. package/build-module/validated-form-controls/components/checkbox-control.js +44 -0
  97. package/build-module/validated-form-controls/components/checkbox-control.js.map +1 -0
  98. package/build-module/validated-form-controls/components/combobox-control.js +56 -0
  99. package/build-module/validated-form-controls/components/combobox-control.js.map +1 -0
  100. package/build-module/validated-form-controls/components/custom-select-control.js +63 -0
  101. package/build-module/validated-form-controls/components/custom-select-control.js.map +1 -0
  102. package/build-module/validated-form-controls/components/index.js +13 -0
  103. package/build-module/validated-form-controls/components/index.js.map +1 -0
  104. package/build-module/validated-form-controls/components/input-control.js +42 -0
  105. package/build-module/validated-form-controls/components/input-control.js.map +1 -0
  106. package/build-module/validated-form-controls/components/number-control.js +45 -0
  107. package/build-module/validated-form-controls/components/number-control.js.map +1 -0
  108. package/build-module/validated-form-controls/components/radio-control.js +43 -0
  109. package/build-module/validated-form-controls/components/radio-control.js.map +1 -0
  110. package/build-module/validated-form-controls/components/range-control.js +43 -0
  111. package/build-module/validated-form-controls/components/range-control.js.map +1 -0
  112. package/build-module/validated-form-controls/components/select-control.js +45 -0
  113. package/build-module/validated-form-controls/components/select-control.js.map +1 -0
  114. package/build-module/validated-form-controls/components/text-control.js +43 -0
  115. package/build-module/validated-form-controls/components/text-control.js.map +1 -0
  116. package/build-module/validated-form-controls/components/textarea-control.js +42 -0
  117. package/build-module/validated-form-controls/components/textarea-control.js.map +1 -0
  118. package/build-module/validated-form-controls/components/toggle-control.js +52 -0
  119. package/build-module/validated-form-controls/components/toggle-control.js.map +1 -0
  120. package/build-module/validated-form-controls/components/toggle-group-control.js +62 -0
  121. package/build-module/validated-form-controls/components/toggle-group-control.js.map +1 -0
  122. package/build-module/validated-form-controls/components/types.js +2 -0
  123. package/build-module/validated-form-controls/components/types.js.map +1 -0
  124. package/build-module/validated-form-controls/control-with-error.js +129 -0
  125. package/build-module/validated-form-controls/control-with-error.js.map +1 -0
  126. package/build-module/validated-form-controls/index.js +3 -0
  127. package/build-module/validated-form-controls/index.js.map +1 -0
  128. package/build-style/style-rtl.css +81 -71
  129. package/build-style/style.css +81 -71
  130. package/build-types/autocomplete/index.d.ts.map +1 -1
  131. package/build-types/box-control/utils.d.ts +7 -7
  132. package/build-types/calendar/date-calendar/index.d.ts.map +1 -1
  133. package/build-types/calendar/date-range-calendar/index.d.ts.map +1 -1
  134. package/build-types/calendar/types.d.ts +2 -2
  135. package/build-types/calendar/types.d.ts.map +1 -1
  136. package/build-types/calendar/utils/use-localization-props.d.ts +3 -3
  137. package/build-types/color-picker/styles.d.ts.map +1 -1
  138. package/build-types/custom-gradient-picker/constants.d.ts +2 -2
  139. package/build-types/dimension-control/sizes.d.ts +5 -5
  140. package/build-types/font-size-picker/constants.d.ts +2 -2
  141. package/build-types/font-size-picker/constants.d.ts.map +1 -1
  142. package/build-types/icon/index.d.ts.map +1 -1
  143. package/build-types/index.d.ts +0 -1
  144. package/build-types/index.d.ts.map +1 -1
  145. package/build-types/private-apis.d.ts.map +1 -1
  146. package/build-types/range-control/types.d.ts +2 -2
  147. package/build-types/range-control/types.d.ts.map +1 -1
  148. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  149. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  150. package/build-types/textarea-control/index.d.ts.map +1 -1
  151. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  152. package/build-types/utils/hooks/use-controlled-value.d.ts +2 -2
  153. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  154. package/build-types/validated-form-controls/components/checkbox-control.d.ts +9 -0
  155. package/build-types/validated-form-controls/components/checkbox-control.d.ts.map +1 -0
  156. package/build-types/validated-form-controls/components/combobox-control.d.ts +21 -0
  157. package/build-types/validated-form-controls/components/combobox-control.d.ts.map +1 -0
  158. package/build-types/validated-form-controls/components/custom-select-control.d.ts +4 -0
  159. package/build-types/validated-form-controls/components/custom-select-control.d.ts.map +1 -0
  160. package/build-types/validated-form-controls/components/index.d.ts +13 -0
  161. package/build-types/validated-form-controls/components/index.d.ts.map +1 -0
  162. package/build-types/validated-form-controls/components/input-control.d.ts +4 -0
  163. package/build-types/validated-form-controls/components/input-control.d.ts.map +1 -0
  164. package/build-types/validated-form-controls/components/number-control.d.ts +17 -0
  165. package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -0
  166. package/build-types/validated-form-controls/components/radio-control.d.ts +11 -0
  167. package/build-types/validated-form-controls/components/radio-control.d.ts.map +1 -0
  168. package/build-types/validated-form-controls/components/range-control.d.ts +36 -0
  169. package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -0
  170. package/build-types/validated-form-controls/components/select-control.d.ts +9 -0
  171. package/build-types/validated-form-controls/components/select-control.d.ts.map +1 -0
  172. package/build-types/validated-form-controls/components/stories/checkbox-control.story.d.ts +12 -0
  173. package/build-types/validated-form-controls/components/stories/checkbox-control.story.d.ts.map +1 -0
  174. package/build-types/validated-form-controls/components/stories/combobox-control.story.d.ts +12 -0
  175. package/build-types/validated-form-controls/components/stories/combobox-control.story.d.ts.map +1 -0
  176. package/build-types/validated-form-controls/components/stories/custom-select-control.story.d.ts +12 -0
  177. package/build-types/validated-form-controls/components/stories/custom-select-control.story.d.ts.map +1 -0
  178. package/build-types/validated-form-controls/components/stories/input-control.story.d.ts +18 -0
  179. package/build-types/validated-form-controls/components/stories/input-control.story.d.ts.map +1 -0
  180. package/build-types/validated-form-controls/components/stories/number-control.story.d.ts +12 -0
  181. package/build-types/validated-form-controls/components/stories/number-control.story.d.ts.map +1 -0
  182. package/build-types/validated-form-controls/components/stories/overview.story.d.ts +19 -0
  183. package/build-types/validated-form-controls/components/stories/overview.story.d.ts.map +1 -0
  184. package/build-types/validated-form-controls/components/stories/radio-control.story.d.ts +12 -0
  185. package/build-types/validated-form-controls/components/stories/radio-control.story.d.ts.map +1 -0
  186. package/build-types/validated-form-controls/components/stories/range-control.story.d.ts +9 -0
  187. package/build-types/validated-form-controls/components/stories/range-control.story.d.ts.map +1 -0
  188. package/build-types/validated-form-controls/components/stories/select-control.story.d.ts +12 -0
  189. package/build-types/validated-form-controls/components/stories/select-control.story.d.ts.map +1 -0
  190. package/build-types/validated-form-controls/components/stories/story-utils.d.ts +9 -0
  191. package/build-types/validated-form-controls/components/stories/story-utils.d.ts.map +1 -0
  192. package/build-types/validated-form-controls/components/stories/text-control.story.d.ts +9 -0
  193. package/build-types/validated-form-controls/components/stories/text-control.story.d.ts.map +1 -0
  194. package/build-types/validated-form-controls/components/stories/textarea-control.story.d.ts +9 -0
  195. package/build-types/validated-form-controls/components/stories/textarea-control.story.d.ts.map +1 -0
  196. package/build-types/validated-form-controls/components/stories/toggle-control.story.d.ts +9 -0
  197. package/build-types/validated-form-controls/components/stories/toggle-control.story.d.ts.map +1 -0
  198. package/build-types/validated-form-controls/components/stories/toggle-group-control.story.d.ts +9 -0
  199. package/build-types/validated-form-controls/components/stories/toggle-group-control.story.d.ts.map +1 -0
  200. package/build-types/validated-form-controls/components/text-control.d.ts +8 -0
  201. package/build-types/validated-form-controls/components/text-control.d.ts.map +1 -0
  202. package/build-types/validated-form-controls/components/textarea-control.d.ts +7 -0
  203. package/build-types/validated-form-controls/components/textarea-control.d.ts.map +1 -0
  204. package/build-types/validated-form-controls/components/toggle-control.d.ts +7 -0
  205. package/build-types/validated-form-controls/components/toggle-control.d.ts.map +1 -0
  206. package/build-types/validated-form-controls/components/toggle-group-control.d.ts +15 -0
  207. package/build-types/validated-form-controls/components/toggle-group-control.d.ts.map +1 -0
  208. package/build-types/validated-form-controls/components/types.d.ts +27 -0
  209. package/build-types/validated-form-controls/components/types.d.ts.map +1 -0
  210. package/build-types/validated-form-controls/control-with-error.d.ts +36 -0
  211. package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -0
  212. package/build-types/validated-form-controls/index.d.ts +3 -0
  213. package/build-types/validated-form-controls/index.d.ts.map +1 -0
  214. package/package.json +19 -19
  215. package/src/autocomplete/index.tsx +4 -0
  216. package/src/calendar/date-calendar/README.md +57 -46
  217. package/src/calendar/date-calendar/index.tsx +22 -8
  218. package/src/calendar/date-range-calendar/README.md +63 -52
  219. package/src/calendar/date-range-calendar/index.tsx +23 -11
  220. package/src/calendar/types.ts +2 -2
  221. package/src/color-picker/styles.ts +10 -0
  222. package/src/dimension-control/test/__snapshots__/index.test.js.snap +8 -8
  223. package/src/icon/index.tsx +2 -0
  224. package/src/index.ts +0 -1
  225. package/src/modal/style.scss +2 -2
  226. package/src/palette-edit/index.tsx +3 -3
  227. package/src/private-apis.ts +13 -0
  228. package/src/range-control/index.tsx +1 -1
  229. package/src/range-control/styles/range-control-styles.ts +3 -3
  230. package/src/range-control/tooltip.tsx +13 -13
  231. package/src/range-control/types.ts +2 -2
  232. package/src/select-control/index.tsx +1 -1
  233. package/src/style.scss +2 -2
  234. package/src/text-control/stories/index.story.tsx +1 -0
  235. package/src/text-control/style.scss +6 -1
  236. package/src/textarea-control/index.tsx +8 -1
  237. package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +3 -1
  238. package/src/utils/hooks/use-controlled-value.ts +16 -8
  239. package/src/utils/theme-variables.scss +3 -0
  240. package/src/validated-form-controls/components/checkbox-control.tsx +64 -0
  241. package/src/validated-form-controls/components/combobox-control.tsx +77 -0
  242. package/src/validated-form-controls/components/custom-select-control.tsx +86 -0
  243. package/src/validated-form-controls/components/index.ts +12 -0
  244. package/src/validated-form-controls/components/input-control.tsx +59 -0
  245. package/src/validated-form-controls/components/number-control.tsx +61 -0
  246. package/src/validated-form-controls/components/radio-control.tsx +60 -0
  247. package/src/validated-form-controls/components/range-control.tsx +60 -0
  248. package/src/validated-form-controls/components/select-control.tsx +75 -0
  249. package/src/validated-form-controls/components/stories/checkbox-control.story.tsx +57 -0
  250. package/src/validated-form-controls/components/stories/combobox-control.story.tsx +64 -0
  251. package/src/validated-form-controls/components/stories/custom-select-control.story.tsx +64 -0
  252. package/src/validated-form-controls/components/stories/input-control.story.tsx +132 -0
  253. package/src/validated-form-controls/components/stories/number-control.story.tsx +62 -0
  254. package/src/validated-form-controls/components/stories/overview.mdx +52 -0
  255. package/src/validated-form-controls/components/stories/overview.story.tsx +100 -0
  256. package/src/validated-form-controls/components/stories/radio-control.story.tsx +64 -0
  257. package/src/validated-form-controls/components/stories/range-control.story.tsx +60 -0
  258. package/src/validated-form-controls/components/stories/select-control.story.tsx +60 -0
  259. package/src/validated-form-controls/components/stories/story-utils.tsx +46 -0
  260. package/src/validated-form-controls/components/stories/text-control.story.tsx +55 -0
  261. package/src/validated-form-controls/components/stories/textarea-control.story.tsx +52 -0
  262. package/src/validated-form-controls/components/stories/toggle-control.story.tsx +55 -0
  263. package/src/validated-form-controls/components/stories/toggle-group-control.story.tsx +66 -0
  264. package/src/validated-form-controls/components/text-control.tsx +60 -0
  265. package/src/validated-form-controls/components/textarea-control.tsx +59 -0
  266. package/src/validated-form-controls/components/toggle-control.tsx +69 -0
  267. package/src/validated-form-controls/components/toggle-group-control.tsx +82 -0
  268. package/src/validated-form-controls/components/types.ts +28 -0
  269. package/src/validated-form-controls/control-with-error.tsx +198 -0
  270. package/src/validated-form-controls/index.ts +2 -0
  271. package/src/validated-form-controls/style.scss +75 -0
  272. package/tsconfig.tsbuildinfo +1 -1
  273. package/build/calendar/utils/use-controlled-value.js +0 -58
  274. package/build/calendar/utils/use-controlled-value.js.map +0 -1
  275. package/build-module/calendar/utils/use-controlled-value.js +0 -51
  276. package/build-module/calendar/utils/use-controlled-value.js.map +0 -1
  277. package/build-types/calendar/utils/use-controlled-value.d.ts +0 -27
  278. package/build-types/calendar/utils/use-controlled-value.d.ts.map +0 -1
  279. package/src/calendar/utils/use-controlled-value.ts +0 -61
  280. package/src/dimension-control/style.scss +0 -22
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useControlledValue = useControlledValue;
7
- var _element = require("@wordpress/element");
8
- /**
9
- * WordPress dependencies
10
- */
11
-
12
- /**
13
- * Handles controlled and uncontrolled state for the selected calendar value.
14
- * It is assumed that the `value` prop is controlled when it's not undefined:
15
- * - initial date selected, uncontrolled: use a non-undefined`defaultValue`
16
- * - initial date selected, controlled: use a non-undefined `value`
17
- * - no date selected, controlled: set `value` to `null`
18
- *
19
- * The `onChange` prop will return `undefined` when no date is selected,
20
- * regardless of controlled / uncontrolled. It is expected that the consumer
21
- * of the component will handle setting the value to `null` to indicate no date
22
- * selected in controlled mode.
23
- *
24
- * @param props - The props object.
25
- * @param props.defaultValue - The default value.
26
- * @param props.onChange - The onChange callback.
27
- * @param props.value - The value.
28
- *
29
- * @return The value and the setValue function.
30
- */
31
- function useControlledValue({
32
- defaultValue,
33
- onChange,
34
- value: valueProp
35
- }) {
36
- var _ref;
37
- const hasValue = typeof valueProp !== 'undefined';
38
- const initialValue = hasValue ? valueProp : defaultValue;
39
- const [state, setState] = (0, _element.useState)(initialValue);
40
- const value = (_ref = hasValue ? valueProp : state) !== null && _ref !== void 0 ? _ref : undefined;
41
- let setValue;
42
- const uncontrolledSetValue = (0, _element.useCallback)((nextValue, ...args) => {
43
- setState(nextValue);
44
- onChange?.(nextValue, ...args);
45
- }, [setState, onChange]);
46
- if (hasValue && typeof onChange === 'function') {
47
- // Controlled mode.
48
- setValue = onChange;
49
- } else if (!hasValue && typeof onChange === 'function') {
50
- // Uncontrolled mode, plus forwarding to the onChange prop.
51
- setValue = uncontrolledSetValue;
52
- } else {
53
- // Uncontrolled mode, only update internal state.
54
- setValue = setState;
55
- }
56
- return [value, setValue];
57
- }
58
- //# sourceMappingURL=use-controlled-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_element","require","useControlledValue","defaultValue","onChange","value","valueProp","_ref","hasValue","initialValue","state","setState","useState","undefined","setValue","uncontrolledSetValue","useCallback","nextValue","args"],"sources":["@wordpress/components/src/calendar/utils/use-controlled-value.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\n\ntype Props< T > = {\n\tdefaultValue?: T;\n\tvalue?: T | null | undefined;\n\tonChange?: ( newValue: T, ...args: any[] ) => void;\n};\n\n/**\n * Handles controlled and uncontrolled state for the selected calendar value.\n * It is assumed that the `value` prop is controlled when it's not undefined:\n * - initial date selected, uncontrolled: use a non-undefined`defaultValue`\n * - initial date selected, controlled: use a non-undefined `value`\n * - no date selected, controlled: set `value` to `null`\n *\n * The `onChange` prop will return `undefined` when no date is selected,\n * regardless of controlled / uncontrolled. It is expected that the consumer\n * of the component will handle setting the value to `null` to indicate no date\n * selected in controlled mode.\n *\n * @param props - The props object.\n * @param props.defaultValue - The default value.\n * @param props.onChange - The onChange callback.\n * @param props.value - The value.\n *\n * @return The value and the setValue function.\n */\nexport function useControlledValue< T >( {\n\tdefaultValue,\n\tonChange,\n\tvalue: valueProp,\n}: Props< T > ) {\n\tconst hasValue = typeof valueProp !== 'undefined';\n\tconst initialValue = hasValue ? valueProp : defaultValue;\n\tconst [ state, setState ] = useState( initialValue );\n\tconst value = ( hasValue ? valueProp : state ) ?? undefined;\n\n\tlet setValue: typeof onChange;\n\tconst uncontrolledSetValue: NonNullable< typeof onChange > = useCallback(\n\t\t( nextValue, ...args ) => {\n\t\t\tsetState( nextValue );\n\t\t\tonChange?.( nextValue, ...args );\n\t\t},\n\t\t[ setState, onChange ]\n\t);\n\tif ( hasValue && typeof onChange === 'function' ) {\n\t\t// Controlled mode.\n\t\tsetValue = onChange;\n\t} else if ( ! hasValue && typeof onChange === 'function' ) {\n\t\t// Uncontrolled mode, plus forwarding to the onChange prop.\n\t\tsetValue = uncontrolledSetValue;\n\t} else {\n\t\t// Uncontrolled mode, only update internal state.\n\t\tsetValue = setState;\n\t}\n\n\treturn [ value, setValue ] as const;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAO;EACxCC,YAAY;EACZC,QAAQ;EACRC,KAAK,EAAEC;AACI,CAAC,EAAG;EAAA,IAAAC,IAAA;EACf,MAAMC,QAAQ,GAAG,OAAOF,SAAS,KAAK,WAAW;EACjD,MAAMG,YAAY,GAAGD,QAAQ,GAAGF,SAAS,GAAGH,YAAY;EACxD,MAAM,CAAEO,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAEH,YAAa,CAAC;EACpD,MAAMJ,KAAK,IAAAE,IAAA,GAAKC,QAAQ,GAAGF,SAAS,GAAGI,KAAK,cAAAH,IAAA,cAAAA,IAAA,GAAMM,SAAS;EAE3D,IAAIC,QAAyB;EAC7B,MAAMC,oBAAoD,GAAG,IAAAC,oBAAW,EACvE,CAAEC,SAAS,EAAE,GAAGC,IAAI,KAAM;IACzBP,QAAQ,CAAEM,SAAU,CAAC;IACrBb,QAAQ,GAAIa,SAAS,EAAE,GAAGC,IAAK,CAAC;EACjC,CAAC,EACD,CAAEP,QAAQ,EAAEP,QAAQ,CACrB,CAAC;EACD,IAAKI,QAAQ,IAAI,OAAOJ,QAAQ,KAAK,UAAU,EAAG;IACjD;IACAU,QAAQ,GAAGV,QAAQ;EACpB,CAAC,MAAM,IAAK,CAAEI,QAAQ,IAAI,OAAOJ,QAAQ,KAAK,UAAU,EAAG;IAC1D;IACAU,QAAQ,GAAGC,oBAAoB;EAChC,CAAC,MAAM;IACN;IACAD,QAAQ,GAAGH,QAAQ;EACpB;EAEA,OAAO,CAAEN,KAAK,EAAES,QAAQ,CAAE;AAC3B","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useState, useCallback } from '@wordpress/element';
5
- /**
6
- * Handles controlled and uncontrolled state for the selected calendar value.
7
- * It is assumed that the `value` prop is controlled when it's not undefined:
8
- * - initial date selected, uncontrolled: use a non-undefined`defaultValue`
9
- * - initial date selected, controlled: use a non-undefined `value`
10
- * - no date selected, controlled: set `value` to `null`
11
- *
12
- * The `onChange` prop will return `undefined` when no date is selected,
13
- * regardless of controlled / uncontrolled. It is expected that the consumer
14
- * of the component will handle setting the value to `null` to indicate no date
15
- * selected in controlled mode.
16
- *
17
- * @param props - The props object.
18
- * @param props.defaultValue - The default value.
19
- * @param props.onChange - The onChange callback.
20
- * @param props.value - The value.
21
- *
22
- * @return The value and the setValue function.
23
- */
24
- export function useControlledValue({
25
- defaultValue,
26
- onChange,
27
- value: valueProp
28
- }) {
29
- var _ref;
30
- const hasValue = typeof valueProp !== 'undefined';
31
- const initialValue = hasValue ? valueProp : defaultValue;
32
- const [state, setState] = useState(initialValue);
33
- const value = (_ref = hasValue ? valueProp : state) !== null && _ref !== void 0 ? _ref : undefined;
34
- let setValue;
35
- const uncontrolledSetValue = useCallback((nextValue, ...args) => {
36
- setState(nextValue);
37
- onChange?.(nextValue, ...args);
38
- }, [setState, onChange]);
39
- if (hasValue && typeof onChange === 'function') {
40
- // Controlled mode.
41
- setValue = onChange;
42
- } else if (!hasValue && typeof onChange === 'function') {
43
- // Uncontrolled mode, plus forwarding to the onChange prop.
44
- setValue = uncontrolledSetValue;
45
- } else {
46
- // Uncontrolled mode, only update internal state.
47
- setValue = setState;
48
- }
49
- return [value, setValue];
50
- }
51
- //# sourceMappingURL=use-controlled-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useState","useCallback","useControlledValue","defaultValue","onChange","value","valueProp","_ref","hasValue","initialValue","state","setState","undefined","setValue","uncontrolledSetValue","nextValue","args"],"sources":["@wordpress/components/src/calendar/utils/use-controlled-value.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\n\ntype Props< T > = {\n\tdefaultValue?: T;\n\tvalue?: T | null | undefined;\n\tonChange?: ( newValue: T, ...args: any[] ) => void;\n};\n\n/**\n * Handles controlled and uncontrolled state for the selected calendar value.\n * It is assumed that the `value` prop is controlled when it's not undefined:\n * - initial date selected, uncontrolled: use a non-undefined`defaultValue`\n * - initial date selected, controlled: use a non-undefined `value`\n * - no date selected, controlled: set `value` to `null`\n *\n * The `onChange` prop will return `undefined` when no date is selected,\n * regardless of controlled / uncontrolled. It is expected that the consumer\n * of the component will handle setting the value to `null` to indicate no date\n * selected in controlled mode.\n *\n * @param props - The props object.\n * @param props.defaultValue - The default value.\n * @param props.onChange - The onChange callback.\n * @param props.value - The value.\n *\n * @return The value and the setValue function.\n */\nexport function useControlledValue< T >( {\n\tdefaultValue,\n\tonChange,\n\tvalue: valueProp,\n}: Props< T > ) {\n\tconst hasValue = typeof valueProp !== 'undefined';\n\tconst initialValue = hasValue ? valueProp : defaultValue;\n\tconst [ state, setState ] = useState( initialValue );\n\tconst value = ( hasValue ? valueProp : state ) ?? undefined;\n\n\tlet setValue: typeof onChange;\n\tconst uncontrolledSetValue: NonNullable< typeof onChange > = useCallback(\n\t\t( nextValue, ...args ) => {\n\t\t\tsetState( nextValue );\n\t\t\tonChange?.( nextValue, ...args );\n\t\t},\n\t\t[ setState, onChange ]\n\t);\n\tif ( hasValue && typeof onChange === 'function' ) {\n\t\t// Controlled mode.\n\t\tsetValue = onChange;\n\t} else if ( ! hasValue && typeof onChange === 'function' ) {\n\t\t// Uncontrolled mode, plus forwarding to the onChange prop.\n\t\tsetValue = uncontrolledSetValue;\n\t} else {\n\t\t// Uncontrolled mode, only update internal state.\n\t\tsetValue = setState;\n\t}\n\n\treturn [ value, setValue ] as const;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,oBAAoB;AAQ1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAO;EACxCC,YAAY;EACZC,QAAQ;EACRC,KAAK,EAAEC;AACI,CAAC,EAAG;EAAA,IAAAC,IAAA;EACf,MAAMC,QAAQ,GAAG,OAAOF,SAAS,KAAK,WAAW;EACjD,MAAMG,YAAY,GAAGD,QAAQ,GAAGF,SAAS,GAAGH,YAAY;EACxD,MAAM,CAAEO,KAAK,EAAEC,QAAQ,CAAE,GAAGX,QAAQ,CAAES,YAAa,CAAC;EACpD,MAAMJ,KAAK,IAAAE,IAAA,GAAKC,QAAQ,GAAGF,SAAS,GAAGI,KAAK,cAAAH,IAAA,cAAAA,IAAA,GAAMK,SAAS;EAE3D,IAAIC,QAAyB;EAC7B,MAAMC,oBAAoD,GAAGb,WAAW,CACvE,CAAEc,SAAS,EAAE,GAAGC,IAAI,KAAM;IACzBL,QAAQ,CAAEI,SAAU,CAAC;IACrBX,QAAQ,GAAIW,SAAS,EAAE,GAAGC,IAAK,CAAC;EACjC,CAAC,EACD,CAAEL,QAAQ,EAAEP,QAAQ,CACrB,CAAC;EACD,IAAKI,QAAQ,IAAI,OAAOJ,QAAQ,KAAK,UAAU,EAAG;IACjD;IACAS,QAAQ,GAAGT,QAAQ;EACpB,CAAC,MAAM,IAAK,CAAEI,QAAQ,IAAI,OAAOJ,QAAQ,KAAK,UAAU,EAAG;IAC1D;IACAS,QAAQ,GAAGC,oBAAoB;EAChC,CAAC,MAAM;IACN;IACAD,QAAQ,GAAGF,QAAQ;EACpB;EAEA,OAAO,CAAEN,KAAK,EAAEQ,QAAQ,CAAE;AAC3B","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- type Props<T> = {
2
- defaultValue?: T;
3
- value?: T | null | undefined;
4
- onChange?: (newValue: T, ...args: any[]) => void;
5
- };
6
- /**
7
- * Handles controlled and uncontrolled state for the selected calendar value.
8
- * It is assumed that the `value` prop is controlled when it's not undefined:
9
- * - initial date selected, uncontrolled: use a non-undefined`defaultValue`
10
- * - initial date selected, controlled: use a non-undefined `value`
11
- * - no date selected, controlled: set `value` to `null`
12
- *
13
- * The `onChange` prop will return `undefined` when no date is selected,
14
- * regardless of controlled / uncontrolled. It is expected that the consumer
15
- * of the component will handle setting the value to `null` to indicate no date
16
- * selected in controlled mode.
17
- *
18
- * @param props - The props object.
19
- * @param props.defaultValue - The default value.
20
- * @param props.onChange - The onChange callback.
21
- * @param props.value - The value.
22
- *
23
- * @return The value and the setValue function.
24
- */
25
- export declare function useControlledValue<T>({ defaultValue, onChange, value: valueProp, }: Props<T>): readonly [NonNullable<T> | undefined, (newValue: T, ...args: any[]) => void];
26
- export {};
27
- //# sourceMappingURL=use-controlled-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-controlled-value.d.ts","sourceRoot":"","sources":["../../../src/calendar/utils/use-controlled-value.ts"],"names":[],"mappings":"AAKA,KAAK,KAAK,CAAE,CAAC,IAAK;IACjB,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAM,IAAI,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAE,CAAC,EAAI,EACxC,YAAY,EACZ,QAAQ,EACR,KAAK,EAAE,SAAS,GAChB,EAAE,KAAK,CAAE,CAAC,CAAE,gEA1BuB,GAAG,EAAE,KAAM,IAAI,EAoDlD"}
@@ -1,61 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useState, useCallback } from '@wordpress/element';
5
-
6
- type Props< T > = {
7
- defaultValue?: T;
8
- value?: T | null | undefined;
9
- onChange?: ( newValue: T, ...args: any[] ) => void;
10
- };
11
-
12
- /**
13
- * Handles controlled and uncontrolled state for the selected calendar value.
14
- * It is assumed that the `value` prop is controlled when it's not undefined:
15
- * - initial date selected, uncontrolled: use a non-undefined`defaultValue`
16
- * - initial date selected, controlled: use a non-undefined `value`
17
- * - no date selected, controlled: set `value` to `null`
18
- *
19
- * The `onChange` prop will return `undefined` when no date is selected,
20
- * regardless of controlled / uncontrolled. It is expected that the consumer
21
- * of the component will handle setting the value to `null` to indicate no date
22
- * selected in controlled mode.
23
- *
24
- * @param props - The props object.
25
- * @param props.defaultValue - The default value.
26
- * @param props.onChange - The onChange callback.
27
- * @param props.value - The value.
28
- *
29
- * @return The value and the setValue function.
30
- */
31
- export function useControlledValue< T >( {
32
- defaultValue,
33
- onChange,
34
- value: valueProp,
35
- }: Props< T > ) {
36
- const hasValue = typeof valueProp !== 'undefined';
37
- const initialValue = hasValue ? valueProp : defaultValue;
38
- const [ state, setState ] = useState( initialValue );
39
- const value = ( hasValue ? valueProp : state ) ?? undefined;
40
-
41
- let setValue: typeof onChange;
42
- const uncontrolledSetValue: NonNullable< typeof onChange > = useCallback(
43
- ( nextValue, ...args ) => {
44
- setState( nextValue );
45
- onChange?.( nextValue, ...args );
46
- },
47
- [ setState, onChange ]
48
- );
49
- if ( hasValue && typeof onChange === 'function' ) {
50
- // Controlled mode.
51
- setValue = onChange;
52
- } else if ( ! hasValue && typeof onChange === 'function' ) {
53
- // Uncontrolled mode, plus forwarding to the onChange prop.
54
- setValue = uncontrolledSetValue;
55
- } else {
56
- // Uncontrolled mode, only update internal state.
57
- setValue = setState;
58
- }
59
-
60
- return [ value, setValue ] as const;
61
- }
@@ -1,22 +0,0 @@
1
- .block-editor-dimension-control {
2
-
3
- .components-base-control__field {
4
- display: flex;
5
- align-items: center;
6
- }
7
-
8
- .components-base-control__label {
9
- display: flex;
10
- align-items: center;
11
- margin-right: 1em;
12
- margin-bottom: 0;
13
-
14
- .dashicon {
15
- margin-right: 0.5em;
16
- }
17
- }
18
-
19
- &.is-manual .components-base-control__label {
20
- width: 10em;
21
- }
22
- }