@wordpress/components 19.14.0 → 19.17.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 (1156) hide show
  1. package/CHANGELOG.md +138 -12
  2. package/build/angle-picker-control/index.js +2 -2
  3. package/build/angle-picker-control/index.js.map +1 -1
  4. package/build/autocomplete/get-default-use-items.js +5 -1
  5. package/build/autocomplete/get-default-use-items.js.map +1 -1
  6. package/build/autocomplete/index.js +5 -1
  7. package/build/autocomplete/index.js.map +1 -1
  8. package/build/base-control/index.js +6 -3
  9. package/build/base-control/index.js.map +1 -1
  10. package/build/base-control/styles/base-control-styles.js +8 -8
  11. package/build/base-control/styles/base-control-styles.js.map +1 -1
  12. package/build/border-control/border-control/component.js +38 -25
  13. package/build/border-control/border-control/component.js.map +1 -1
  14. package/build/border-control/border-control/hook.js +4 -7
  15. package/build/border-control/border-control/hook.js.map +1 -1
  16. package/build/border-control/border-control-dropdown/component.js +13 -7
  17. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/hook.js +0 -4
  19. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  20. package/build/border-control/styles.js +29 -60
  21. package/build/border-control/styles.js.map +1 -1
  22. package/build/box-control/all-input-control.js +2 -27
  23. package/build/box-control/all-input-control.js.map +1 -1
  24. package/build/box-control/axial-input-controls.js +1 -1
  25. package/build/box-control/axial-input-controls.js.map +1 -1
  26. package/build/box-control/index.js +11 -6
  27. package/build/box-control/index.js.map +1 -1
  28. package/build/box-control/styles/box-control-styles.js +17 -9
  29. package/build/box-control/styles/box-control-styles.js.map +1 -1
  30. package/build/box-control/utils.js +37 -8
  31. package/build/box-control/utils.js.map +1 -1
  32. package/build/color-palette/index.js +14 -2
  33. package/build/color-palette/index.js.map +1 -1
  34. package/build/color-picker/hex-input.js +7 -5
  35. package/build/color-picker/hex-input.js.map +1 -1
  36. package/build/color-picker/index.native.js +35 -34
  37. package/build/color-picker/index.native.js.map +1 -1
  38. package/build/color-picker/input-with-slider.js +6 -3
  39. package/build/color-picker/input-with-slider.js.map +1 -1
  40. package/build/color-picker/styles.js +33 -50
  41. package/build/color-picker/styles.js.map +1 -1
  42. package/build/color-picker/use-deprecated-props.js +22 -31
  43. package/build/color-picker/use-deprecated-props.js.map +1 -1
  44. package/build/combobox-control/index.js +33 -19
  45. package/build/combobox-control/index.js.map +1 -1
  46. package/build/combobox-control/styles.js +39 -0
  47. package/build/combobox-control/styles.js.map +1 -0
  48. package/build/custom-select-control/index.js +29 -9
  49. package/build/custom-select-control/index.js.map +1 -1
  50. package/build/date-time/time/index.js +6 -2
  51. package/build/date-time/time/index.js.map +1 -1
  52. package/build/date-time/time/styles.js +17 -24
  53. package/build/date-time/time/styles.js.map +1 -1
  54. package/build/divider/component.js +0 -1
  55. package/build/divider/component.js.map +1 -1
  56. package/build/divider/index.js.map +1 -1
  57. package/build/divider/styles.js +5 -5
  58. package/build/divider/styles.js.map +1 -1
  59. package/build/dropdown/dropdown-content-wrapper.js +60 -0
  60. package/build/dropdown/dropdown-content-wrapper.js.map +1 -0
  61. package/build/dropdown/styles.js +42 -0
  62. package/build/dropdown/styles.js.map +1 -0
  63. package/build/dropdown/types.js +6 -0
  64. package/build/dropdown/types.js.map +1 -0
  65. package/build/dropdown-menu/index.js +5 -5
  66. package/build/dropdown-menu/index.js.map +1 -1
  67. package/build/dropdown-menu/index.native.js +5 -5
  68. package/build/dropdown-menu/index.native.js.map +1 -1
  69. package/build/elevation/component.js +15 -15
  70. package/build/elevation/component.js.map +1 -1
  71. package/build/elevation/hook.js +6 -18
  72. package/build/elevation/hook.js.map +1 -1
  73. package/build/elevation/index.js.map +1 -1
  74. package/build/elevation/styles.js +1 -1
  75. package/build/elevation/styles.js.map +1 -1
  76. package/build/external-link/index.js +7 -3
  77. package/build/external-link/index.js.map +1 -1
  78. package/build/flex/flex/component.js +20 -26
  79. package/build/flex/flex/component.js.map +1 -1
  80. package/build/flex/flex/hook.js +6 -16
  81. package/build/flex/flex/hook.js.map +1 -1
  82. package/build/flex/flex/index.js.map +1 -1
  83. package/build/flex/flex-block/component.js +18 -12
  84. package/build/flex/flex-block/component.js.map +1 -1
  85. package/build/flex/flex-block/hook.js +0 -4
  86. package/build/flex/flex-block/hook.js.map +1 -1
  87. package/build/flex/flex-block/index.js.map +1 -1
  88. package/build/flex/flex-item/component.js +18 -12
  89. package/build/flex/flex-item/component.js.map +1 -1
  90. package/build/flex/flex-item/hook.js +1 -5
  91. package/build/flex/flex-item/hook.js.map +1 -1
  92. package/build/flex/flex-item/index.js.map +1 -1
  93. package/build/flex/index.js.map +1 -1
  94. package/build/flex/styles.js +5 -5
  95. package/build/flex/styles.js.map +1 -1
  96. package/build/focal-point-picker/grid.js +2 -7
  97. package/build/focal-point-picker/grid.js.map +1 -1
  98. package/build/focal-point-picker/index.native.js +8 -8
  99. package/build/focal-point-picker/index.native.js.map +1 -1
  100. package/build/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  101. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  102. package/build/focal-point-picker/styles/focal-point-style.js +5 -5
  103. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  104. package/build/focal-point-picker/tooltip/index.native.js +11 -12
  105. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  106. package/build/font-size-picker/index.js +15 -6
  107. package/build/font-size-picker/index.js.map +1 -1
  108. package/build/form-token-field/index.js +28 -9
  109. package/build/form-token-field/index.js.map +1 -1
  110. package/build/form-token-field/styles.js +40 -0
  111. package/build/form-token-field/styles.js.map +1 -0
  112. package/build/form-token-field/suggestions-list.js +21 -13
  113. package/build/form-token-field/suggestions-list.js.map +1 -1
  114. package/build/grid/component.js +7 -8
  115. package/build/grid/component.js.map +1 -1
  116. package/build/grid/hook.js +1 -5
  117. package/build/grid/hook.js.map +1 -1
  118. package/build/grid/index.js.map +1 -1
  119. package/build/grid/utils.js +4 -7
  120. package/build/grid/utils.js.map +1 -1
  121. package/build/h-stack/component.js +5 -9
  122. package/build/h-stack/component.js.map +1 -1
  123. package/build/h-stack/hook.js +8 -10
  124. package/build/h-stack/hook.js.map +1 -1
  125. package/build/h-stack/index.js.map +1 -1
  126. package/build/h-stack/utils.js +7 -18
  127. package/build/h-stack/utils.js.map +1 -1
  128. package/build/icon/index.js.map +1 -1
  129. package/build/index.js +31 -1
  130. package/build/index.js.map +1 -1
  131. package/build/input-control/index.js +7 -0
  132. package/build/input-control/index.js.map +1 -1
  133. package/build/input-control/input-base.js +24 -3
  134. package/build/input-control/input-base.js.map +1 -1
  135. package/build/input-control/input-prefix-wrapper.js +54 -0
  136. package/build/input-control/input-prefix-wrapper.js.map +1 -0
  137. package/build/input-control/input-suffix-wrapper.js +54 -0
  138. package/build/input-control/input-suffix-wrapper.js.map +1 -0
  139. package/build/input-control/reducer/actions.js +3 -1
  140. package/build/input-control/reducer/actions.js.map +1 -1
  141. package/build/input-control/reducer/reducer.js +28 -11
  142. package/build/input-control/reducer/reducer.js.map +1 -1
  143. package/build/input-control/reducer/state.js.map +1 -1
  144. package/build/input-control/styles/input-control-styles.js +61 -42
  145. package/build/input-control/styles/input-control-styles.js.map +1 -1
  146. package/build/menu-item/index.js +1 -3
  147. package/build/menu-item/index.js.map +1 -1
  148. package/build/mobile/focal-point-settings-panel/index.native.js +1 -1
  149. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  150. package/build/mobile/global-styles-context/utils.native.js +23 -3
  151. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  152. package/build/mobile/image/index.native.js +31 -5
  153. package/build/mobile/image/index.native.js.map +1 -1
  154. package/build/mobile/link-picker/link-picker-screen.native.js +10 -4
  155. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  156. package/build/mobile/media-edit/index.native.js +1 -7
  157. package/build/mobile/media-edit/index.native.js.map +1 -1
  158. package/build/mobile/picker/index.ios.js +16 -3
  159. package/build/mobile/picker/index.ios.js.map +1 -1
  160. package/build/modal/index.js +17 -3
  161. package/build/modal/index.js.map +1 -1
  162. package/build/navigation/index.js +4 -1
  163. package/build/navigation/index.js.map +1 -1
  164. package/build/navigation/item/base.js +3 -0
  165. package/build/navigation/item/base.js.map +1 -1
  166. package/build/placeholder/index.js +11 -14
  167. package/build/placeholder/index.js.map +1 -1
  168. package/build/placeholder/types.js +6 -0
  169. package/build/placeholder/types.js.map +1 -0
  170. package/build/popover/index.js +129 -75
  171. package/build/popover/index.js.map +1 -1
  172. package/build/radio-control/index.js +1 -3
  173. package/build/radio-control/index.js.map +1 -1
  174. package/build/range-control/index.js +54 -40
  175. package/build/range-control/index.js.map +1 -1
  176. package/build/range-control/input-range.js +5 -7
  177. package/build/range-control/input-range.js.map +1 -1
  178. package/build/range-control/mark.js +5 -7
  179. package/build/range-control/mark.js.map +1 -1
  180. package/build/range-control/rail.js +10 -16
  181. package/build/range-control/rail.js.map +1 -1
  182. package/build/range-control/styles/range-control-styles.js +74 -74
  183. package/build/range-control/styles/range-control-styles.js.map +1 -1
  184. package/build/range-control/tooltip.js +5 -7
  185. package/build/range-control/tooltip.js.map +1 -1
  186. package/build/range-control/types.js +6 -0
  187. package/build/range-control/types.js.map +1 -0
  188. package/build/range-control/utils.js +23 -30
  189. package/build/range-control/utils.js.map +1 -1
  190. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  191. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  192. package/build/resizable-box/resize-tooltip/utils.js +2 -7
  193. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  194. package/build/sandbox/index.native.js +13 -2
  195. package/build/sandbox/index.native.js.map +1 -1
  196. package/build/scroll-lock/index.js +35 -6
  197. package/build/scroll-lock/index.js.map +1 -1
  198. package/build/scrollable/component.js +7 -8
  199. package/build/scrollable/component.js.map +1 -1
  200. package/build/scrollable/hook.js +0 -8
  201. package/build/scrollable/hook.js.map +1 -1
  202. package/build/scrollable/index.js.map +1 -1
  203. package/build/scrollable/styles.js +7 -7
  204. package/build/scrollable/styles.js.map +1 -1
  205. package/build/select-control/index.js +1 -3
  206. package/build/select-control/index.js.map +1 -1
  207. package/build/select-control/styles/select-control-styles.js +32 -12
  208. package/build/select-control/styles/select-control-styles.js.map +1 -1
  209. package/build/shortcut/index.js +6 -21
  210. package/build/shortcut/index.js.map +1 -1
  211. package/build/shortcut/types.js +6 -0
  212. package/build/shortcut/types.js.map +1 -0
  213. package/build/slot-fill/index.native.js +6 -8
  214. package/build/slot-fill/index.native.js.map +1 -1
  215. package/build/slot-fill/provider.js +4 -8
  216. package/build/slot-fill/provider.js.map +1 -1
  217. package/build/slot-fill/slot.js +4 -8
  218. package/build/slot-fill/slot.js.map +1 -1
  219. package/build/spacer/component.js +3 -1
  220. package/build/spacer/component.js.map +1 -1
  221. package/build/spacer/hook.js +2 -2
  222. package/build/spacer/hook.js.map +1 -1
  223. package/build/spacer/index.js.map +1 -1
  224. package/build/style-provider/index.js +10 -7
  225. package/build/style-provider/index.js.map +1 -1
  226. package/build/style-provider/types.js +6 -0
  227. package/build/style-provider/types.js.map +1 -0
  228. package/build/swatch/index.js +2 -0
  229. package/build/swatch/index.js.map +1 -1
  230. package/build/swatch/types.js +6 -0
  231. package/build/swatch/types.js.map +1 -0
  232. package/build/text/hook.js +5 -8
  233. package/build/text/hook.js.map +1 -1
  234. package/build/text-highlight/index.js +22 -5
  235. package/build/text-highlight/index.js.map +1 -1
  236. package/build/text-highlight/types.js +6 -0
  237. package/build/text-highlight/types.js.map +1 -0
  238. package/build/tip/index.js +5 -11
  239. package/build/tip/index.js.map +1 -1
  240. package/build/tip/types.js +6 -0
  241. package/build/tip/types.js.map +1 -0
  242. package/build/toggle-group-control/toggle-group-control/component.js +4 -1
  243. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  244. package/build/toggle-group-control/toggle-group-control/styles.js +20 -4
  245. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  246. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +7 -9
  247. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  248. package/build/toolbar-group/index.js +3 -3
  249. package/build/toolbar-group/index.js.map +1 -1
  250. package/build/tools-panel/styles.js +13 -10
  251. package/build/tools-panel/styles.js.map +1 -1
  252. package/build/tools-panel/tools-panel/hook.js +1 -1
  253. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  254. package/build/tooltip/index.js +51 -14
  255. package/build/tooltip/index.js.map +1 -1
  256. package/build/tree-select/index.js +4 -4
  257. package/build/tree-select/index.js.map +1 -1
  258. package/build/ui/context/use-context-system.js +7 -2
  259. package/build/ui/context/use-context-system.js.map +1 -1
  260. package/build/ui/tooltip/styles.js +4 -4
  261. package/build/ui/tooltip/styles.js.map +1 -1
  262. package/build/ui/utils/get-valid-children.js.map +1 -1
  263. package/build/ui/utils/space.js +7 -1
  264. package/build/ui/utils/space.js.map +1 -1
  265. package/build/unit-control/styles/unit-control-styles.js +38 -29
  266. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  267. package/build/utils/base-label.js +24 -0
  268. package/build/utils/base-label.js.map +1 -0
  269. package/build/utils/box-sizing.js +22 -0
  270. package/build/utils/box-sizing.js.map +1 -0
  271. package/build/utils/style-mixins.js +16 -0
  272. package/build/utils/style-mixins.js.map +1 -1
  273. package/build/visually-hidden/component.js +12 -13
  274. package/build/visually-hidden/component.js.map +1 -1
  275. package/build/visually-hidden/index.js.map +1 -1
  276. package/build/visually-hidden/styles.js +3 -1
  277. package/build/visually-hidden/styles.js.map +1 -1
  278. package/build/visually-hidden/types.js +6 -0
  279. package/build/visually-hidden/types.js.map +1 -0
  280. package/build-module/angle-picker-control/index.js +2 -2
  281. package/build-module/angle-picker-control/index.js.map +1 -1
  282. package/build-module/autocomplete/get-default-use-items.js +3 -2
  283. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  284. package/build-module/autocomplete/index.js +3 -2
  285. package/build-module/autocomplete/index.js.map +1 -1
  286. package/build-module/base-control/index.js +7 -5
  287. package/build-module/base-control/index.js.map +1 -1
  288. package/build-module/base-control/styles/base-control-styles.js +9 -9
  289. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  290. package/build-module/border-control/border-control/component.js +37 -25
  291. package/build-module/border-control/border-control/component.js.map +1 -1
  292. package/build-module/border-control/border-control/hook.js +4 -7
  293. package/build-module/border-control/border-control/hook.js.map +1 -1
  294. package/build-module/border-control/border-control-dropdown/component.js +12 -7
  295. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  296. package/build-module/border-control/border-control-dropdown/hook.js +0 -4
  297. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  298. package/build-module/border-control/styles.js +30 -54
  299. package/build-module/border-control/styles.js.map +1 -1
  300. package/build-module/box-control/all-input-control.js +3 -28
  301. package/build-module/box-control/all-input-control.js.map +1 -1
  302. package/build-module/box-control/axial-input-controls.js +1 -1
  303. package/build-module/box-control/axial-input-controls.js.map +1 -1
  304. package/build-module/box-control/index.js +5 -5
  305. package/build-module/box-control/index.js.map +1 -1
  306. package/build-module/box-control/styles/box-control-styles.js +18 -10
  307. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  308. package/build-module/box-control/utils.js +35 -7
  309. package/build-module/box-control/utils.js.map +1 -1
  310. package/build-module/color-palette/index.js +10 -1
  311. package/build-module/color-palette/index.js.map +1 -1
  312. package/build-module/color-picker/hex-input.js +6 -4
  313. package/build-module/color-picker/hex-input.js.map +1 -1
  314. package/build-module/color-picker/index.native.js +36 -35
  315. package/build-module/color-picker/index.native.js.map +1 -1
  316. package/build-module/color-picker/input-with-slider.js +6 -3
  317. package/build-module/color-picker/input-with-slider.js.map +1 -1
  318. package/build-module/color-picker/styles.js +25 -48
  319. package/build-module/color-picker/styles.js.map +1 -1
  320. package/build-module/color-picker/use-deprecated-props.js +22 -31
  321. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  322. package/build-module/combobox-control/index.js +32 -19
  323. package/build-module/combobox-control/index.js.map +1 -1
  324. package/build-module/combobox-control/styles.js +27 -0
  325. package/build-module/combobox-control/styles.js.map +1 -0
  326. package/build-module/custom-select-control/index.js +28 -11
  327. package/build-module/custom-select-control/index.js.map +1 -1
  328. package/build-module/date-time/time/index.js +6 -3
  329. package/build-module/date-time/time/index.js.map +1 -1
  330. package/build-module/date-time/time/styles.js +15 -21
  331. package/build-module/date-time/time/styles.js.map +1 -1
  332. package/build-module/divider/component.js +0 -1
  333. package/build-module/divider/component.js.map +1 -1
  334. package/build-module/divider/index.js.map +1 -1
  335. package/build-module/divider/styles.js +5 -5
  336. package/build-module/divider/styles.js.map +1 -1
  337. package/build-module/dropdown/dropdown-content-wrapper.js +47 -0
  338. package/build-module/dropdown/dropdown-content-wrapper.js.map +1 -0
  339. package/build-module/dropdown/styles.js +31 -0
  340. package/build-module/dropdown/styles.js.map +1 -0
  341. package/build-module/dropdown/types.js +2 -0
  342. package/build-module/dropdown/types.js.map +1 -0
  343. package/build-module/dropdown-menu/index.js +5 -4
  344. package/build-module/dropdown-menu/index.js.map +1 -1
  345. package/build-module/dropdown-menu/index.native.js +5 -4
  346. package/build-module/dropdown-menu/index.native.js.map +1 -1
  347. package/build-module/elevation/component.js +15 -15
  348. package/build-module/elevation/component.js.map +1 -1
  349. package/build-module/elevation/hook.js +6 -18
  350. package/build-module/elevation/hook.js.map +1 -1
  351. package/build-module/elevation/index.js.map +1 -1
  352. package/build-module/elevation/styles.js +1 -1
  353. package/build-module/elevation/styles.js.map +1 -1
  354. package/build-module/external-link/index.js +7 -2
  355. package/build-module/external-link/index.js.map +1 -1
  356. package/build-module/flex/flex/component.js +20 -26
  357. package/build-module/flex/flex/component.js.map +1 -1
  358. package/build-module/flex/flex/hook.js +6 -15
  359. package/build-module/flex/flex/hook.js.map +1 -1
  360. package/build-module/flex/flex/index.js.map +1 -1
  361. package/build-module/flex/flex-block/component.js +18 -12
  362. package/build-module/flex/flex-block/component.js.map +1 -1
  363. package/build-module/flex/flex-block/hook.js +0 -4
  364. package/build-module/flex/flex-block/hook.js.map +1 -1
  365. package/build-module/flex/flex-block/index.js.map +1 -1
  366. package/build-module/flex/flex-item/component.js +18 -12
  367. package/build-module/flex/flex-item/component.js.map +1 -1
  368. package/build-module/flex/flex-item/hook.js +1 -5
  369. package/build-module/flex/flex-item/hook.js.map +1 -1
  370. package/build-module/flex/flex-item/index.js.map +1 -1
  371. package/build-module/flex/index.js.map +1 -1
  372. package/build-module/flex/styles.js +5 -5
  373. package/build-module/flex/styles.js.map +1 -1
  374. package/build-module/focal-point-picker/grid.js +2 -6
  375. package/build-module/focal-point-picker/grid.js.map +1 -1
  376. package/build-module/focal-point-picker/index.native.js +8 -8
  377. package/build-module/focal-point-picker/index.native.js.map +1 -1
  378. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +22 -22
  379. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  380. package/build-module/focal-point-picker/styles/focal-point-style.js +5 -5
  381. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  382. package/build-module/focal-point-picker/tooltip/index.native.js +11 -12
  383. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  384. package/build-module/font-size-picker/index.js +14 -6
  385. package/build-module/font-size-picker/index.js.map +1 -1
  386. package/build-module/form-token-field/index.js +25 -8
  387. package/build-module/form-token-field/index.js.map +1 -1
  388. package/build-module/form-token-field/styles.js +28 -0
  389. package/build-module/form-token-field/styles.js.map +1 -0
  390. package/build-module/form-token-field/suggestions-list.js +21 -13
  391. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  392. package/build-module/grid/component.js +7 -8
  393. package/build-module/grid/component.js.map +1 -1
  394. package/build-module/grid/hook.js +1 -5
  395. package/build-module/grid/hook.js.map +1 -1
  396. package/build-module/grid/index.js.map +1 -1
  397. package/build-module/grid/utils.js +3 -8
  398. package/build-module/grid/utils.js.map +1 -1
  399. package/build-module/h-stack/component.js +3 -7
  400. package/build-module/h-stack/component.js.map +1 -1
  401. package/build-module/h-stack/hook.js +10 -12
  402. package/build-module/h-stack/hook.js.map +1 -1
  403. package/build-module/h-stack/index.js.map +1 -1
  404. package/build-module/h-stack/utils.js +7 -19
  405. package/build-module/h-stack/utils.js.map +1 -1
  406. package/build-module/icon/index.js.map +1 -1
  407. package/build-module/index.js +4 -1
  408. package/build-module/index.js.map +1 -1
  409. package/build-module/input-control/index.js +6 -0
  410. package/build-module/input-control/index.js.map +1 -1
  411. package/build-module/input-control/input-base.js +25 -5
  412. package/build-module/input-control/input-base.js.map +1 -1
  413. package/build-module/input-control/input-prefix-wrapper.js +41 -0
  414. package/build-module/input-control/input-prefix-wrapper.js.map +1 -0
  415. package/build-module/input-control/input-suffix-wrapper.js +41 -0
  416. package/build-module/input-control/input-suffix-wrapper.js.map +1 -0
  417. package/build-module/input-control/reducer/actions.js +1 -0
  418. package/build-module/input-control/reducer/actions.js.map +1 -1
  419. package/build-module/input-control/reducer/reducer.js +28 -11
  420. package/build-module/input-control/reducer/reducer.js.map +1 -1
  421. package/build-module/input-control/reducer/state.js.map +1 -1
  422. package/build-module/input-control/styles/input-control-styles.js +58 -42
  423. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  424. package/build-module/menu-item/index.js +1 -2
  425. package/build-module/menu-item/index.js.map +1 -1
  426. package/build-module/mobile/focal-point-settings-panel/index.native.js +2 -2
  427. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  428. package/build-module/mobile/global-styles-context/utils.native.js +23 -4
  429. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  430. package/build-module/mobile/image/index.native.js +33 -8
  431. package/build-module/mobile/image/index.native.js.map +1 -1
  432. package/build-module/mobile/link-picker/link-picker-screen.native.js +11 -4
  433. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  434. package/build-module/mobile/media-edit/index.native.js +1 -6
  435. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  436. package/build-module/mobile/picker/index.ios.js +14 -3
  437. package/build-module/mobile/picker/index.ios.js.map +1 -1
  438. package/build-module/modal/index.js +19 -5
  439. package/build-module/modal/index.js.map +1 -1
  440. package/build-module/navigation/index.js +4 -1
  441. package/build-module/navigation/index.js.map +1 -1
  442. package/build-module/navigation/item/base.js +3 -0
  443. package/build-module/navigation/item/base.js.map +1 -1
  444. package/build-module/placeholder/index.js +10 -15
  445. package/build-module/placeholder/index.js.map +1 -1
  446. package/build-module/placeholder/types.js +2 -0
  447. package/build-module/placeholder/types.js.map +1 -0
  448. package/build-module/popover/index.js +128 -75
  449. package/build-module/popover/index.js.map +1 -1
  450. package/build-module/radio-control/index.js +1 -2
  451. package/build-module/radio-control/index.js.map +1 -1
  452. package/build-module/range-control/index.js +54 -40
  453. package/build-module/range-control/index.js.map +1 -1
  454. package/build-module/range-control/input-range.js +5 -6
  455. package/build-module/range-control/input-range.js.map +1 -1
  456. package/build-module/range-control/mark.js +5 -6
  457. package/build-module/range-control/mark.js.map +1 -1
  458. package/build-module/range-control/rail.js +10 -15
  459. package/build-module/range-control/rail.js.map +1 -1
  460. package/build-module/range-control/styles/range-control-styles.js +74 -76
  461. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  462. package/build-module/range-control/tooltip.js +5 -6
  463. package/build-module/range-control/tooltip.js.map +1 -1
  464. package/build-module/range-control/types.js +2 -0
  465. package/build-module/range-control/types.js.map +1 -0
  466. package/build-module/range-control/utils.js +23 -30
  467. package/build-module/range-control/utils.js.map +1 -1
  468. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
  469. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  470. package/build-module/resizable-box/resize-tooltip/utils.js +2 -6
  471. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  472. package/build-module/sandbox/index.native.js +13 -3
  473. package/build-module/sandbox/index.native.js.map +1 -1
  474. package/build-module/scroll-lock/index.js +32 -6
  475. package/build-module/scroll-lock/index.js.map +1 -1
  476. package/build-module/scrollable/component.js +7 -8
  477. package/build-module/scrollable/component.js.map +1 -1
  478. package/build-module/scrollable/hook.js +0 -8
  479. package/build-module/scrollable/hook.js.map +1 -1
  480. package/build-module/scrollable/index.js.map +1 -1
  481. package/build-module/scrollable/styles.js +7 -7
  482. package/build-module/scrollable/styles.js.map +1 -1
  483. package/build-module/select-control/index.js +1 -2
  484. package/build-module/select-control/index.js.map +1 -1
  485. package/build-module/select-control/styles/select-control-styles.js +32 -12
  486. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  487. package/build-module/shortcut/index.js +6 -20
  488. package/build-module/shortcut/index.js.map +1 -1
  489. package/build-module/shortcut/types.js +2 -0
  490. package/build-module/shortcut/types.js.map +1 -0
  491. package/build-module/slot-fill/index.native.js +6 -7
  492. package/build-module/slot-fill/index.native.js.map +1 -1
  493. package/build-module/slot-fill/provider.js +4 -7
  494. package/build-module/slot-fill/provider.js.map +1 -1
  495. package/build-module/slot-fill/slot.js +4 -7
  496. package/build-module/slot-fill/slot.js.map +1 -1
  497. package/build-module/spacer/component.js +3 -1
  498. package/build-module/spacer/component.js.map +1 -1
  499. package/build-module/spacer/hook.js +2 -2
  500. package/build-module/spacer/hook.js.map +1 -1
  501. package/build-module/spacer/index.js.map +1 -1
  502. package/build-module/style-provider/index.js +10 -5
  503. package/build-module/style-provider/index.js.map +1 -1
  504. package/build-module/style-provider/types.js +2 -0
  505. package/build-module/style-provider/types.js.map +1 -0
  506. package/build-module/swatch/index.js +2 -0
  507. package/build-module/swatch/index.js.map +1 -1
  508. package/build-module/swatch/types.js +2 -0
  509. package/build-module/swatch/types.js.map +1 -0
  510. package/build-module/text/hook.js +5 -7
  511. package/build-module/text/hook.js.map +1 -1
  512. package/build-module/text-highlight/index.js +23 -6
  513. package/build-module/text-highlight/index.js.map +1 -1
  514. package/build-module/text-highlight/types.js +2 -0
  515. package/build-module/text-highlight/types.js.map +1 -0
  516. package/build-module/tip/index.js +6 -10
  517. package/build-module/tip/index.js.map +1 -1
  518. package/build-module/tip/types.js +2 -0
  519. package/build-module/tip/types.js.map +1 -0
  520. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -1
  521. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  522. package/build-module/toggle-group-control/toggle-group-control/styles.js +15 -3
  523. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  524. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +6 -7
  525. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  526. package/build-module/toolbar-group/index.js +3 -2
  527. package/build-module/toolbar-group/index.js.map +1 -1
  528. package/build-module/tools-panel/styles.js +12 -11
  529. package/build-module/tools-panel/styles.js.map +1 -1
  530. package/build-module/tools-panel/tools-panel/hook.js +1 -1
  531. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  532. package/build-module/tooltip/index.js +53 -16
  533. package/build-module/tooltip/index.js.map +1 -1
  534. package/build-module/tree-select/index.js +5 -5
  535. package/build-module/tree-select/index.js.map +1 -1
  536. package/build-module/ui/context/use-context-system.js +7 -2
  537. package/build-module/ui/context/use-context-system.js.map +1 -1
  538. package/build-module/ui/tooltip/styles.js +4 -4
  539. package/build-module/ui/tooltip/styles.js.map +1 -1
  540. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  541. package/build-module/ui/utils/space.js +7 -1
  542. package/build-module/ui/utils/space.js.map +1 -1
  543. package/build-module/unit-control/styles/unit-control-styles.js +39 -30
  544. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  545. package/build-module/utils/base-label.js +18 -0
  546. package/build-module/utils/base-label.js.map +1 -0
  547. package/build-module/utils/box-sizing.js +16 -0
  548. package/build-module/utils/box-sizing.js.map +1 -0
  549. package/build-module/utils/style-mixins.js +2 -0
  550. package/build-module/utils/style-mixins.js.map +1 -1
  551. package/build-module/visually-hidden/component.js +12 -13
  552. package/build-module/visually-hidden/component.js.map +1 -1
  553. package/build-module/visually-hidden/index.js.map +1 -1
  554. package/build-module/visually-hidden/styles.js +3 -1
  555. package/build-module/visually-hidden/styles.js.map +1 -1
  556. package/build-module/visually-hidden/types.js +2 -0
  557. package/build-module/visually-hidden/types.js.map +1 -0
  558. package/build-style/style-rtl.css +75 -75
  559. package/build-style/style.css +77 -73
  560. package/build-types/base-control/index.d.ts +4 -3
  561. package/build-types/base-control/index.d.ts.map +1 -1
  562. package/build-types/base-control/stories/index.d.ts +1 -1
  563. package/build-types/base-control/stories/index.d.ts.map +1 -1
  564. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  565. package/build-types/base-control/types.d.ts +0 -1
  566. package/build-types/base-control/types.d.ts.map +1 -1
  567. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  568. package/build-types/border-control/border-control/hook.d.ts +2 -2
  569. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  570. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  571. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  572. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  573. package/build-types/border-control/stories/index.d.ts.map +1 -1
  574. package/build-types/border-control/styles.d.ts +1 -4
  575. package/build-types/border-control/styles.d.ts.map +1 -1
  576. package/build-types/card/card-divider/hook.d.ts +1 -1
  577. package/build-types/color-palette/index.d.ts +1 -0
  578. package/build-types/color-palette/index.d.ts.map +1 -1
  579. package/build-types/color-picker/color-display.d.ts +13 -0
  580. package/build-types/color-picker/color-display.d.ts.map +1 -0
  581. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  582. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  583. package/build-types/color-picker/styles.d.ts +30 -31
  584. package/build-types/color-picker/styles.d.ts.map +1 -1
  585. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  586. package/build-types/date-time/time/index.d.ts.map +1 -1
  587. package/build-types/date-time/time/styles.d.ts +0 -4
  588. package/build-types/date-time/time/styles.d.ts.map +1 -1
  589. package/build-types/divider/component.d.ts +2 -3
  590. package/build-types/divider/component.d.ts.map +1 -1
  591. package/build-types/divider/index.d.ts +1 -1
  592. package/build-types/divider/index.d.ts.map +1 -1
  593. package/build-types/divider/styles.d.ts +6 -2
  594. package/build-types/divider/styles.d.ts.map +1 -1
  595. package/build-types/divider/test/index.d.ts +2 -0
  596. package/build-types/divider/test/index.d.ts.map +1 -0
  597. package/build-types/divider/types.d.ts +18 -10
  598. package/build-types/divider/types.d.ts.map +1 -1
  599. package/build-types/dropdown/dropdown-content-wrapper.d.ts +23 -0
  600. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -0
  601. package/build-types/dropdown/styles.d.ts +7 -0
  602. package/build-types/dropdown/styles.d.ts.map +1 -0
  603. package/build-types/dropdown/types.d.ts +9 -0
  604. package/build-types/dropdown/types.d.ts.map +1 -0
  605. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  606. package/build-types/elevation/component.d.ts +11 -10
  607. package/build-types/elevation/component.d.ts.map +1 -1
  608. package/build-types/elevation/hook.d.ts +6 -7
  609. package/build-types/elevation/hook.d.ts.map +1 -1
  610. package/build-types/elevation/index.d.ts +2 -2
  611. package/build-types/elevation/index.d.ts.map +1 -1
  612. package/build-types/elevation/stories/index.d.ts +22 -0
  613. package/build-types/elevation/stories/index.d.ts.map +1 -0
  614. package/build-types/elevation/styles.d.ts +1 -1
  615. package/build-types/elevation/styles.d.ts.map +1 -1
  616. package/build-types/elevation/test/index.d.ts +2 -0
  617. package/build-types/elevation/test/index.d.ts.map +1 -0
  618. package/build-types/elevation/types.d.ts +12 -19
  619. package/build-types/elevation/types.d.ts.map +1 -1
  620. package/build-types/external-link/index.d.ts.map +1 -1
  621. package/build-types/flex/flex/component.d.ts +16 -21
  622. package/build-types/flex/flex/component.d.ts.map +1 -1
  623. package/build-types/flex/flex/hook.d.ts +5 -2
  624. package/build-types/flex/flex/hook.d.ts.map +1 -1
  625. package/build-types/flex/flex/index.d.ts +2 -2
  626. package/build-types/flex/flex/index.d.ts.map +1 -1
  627. package/build-types/flex/flex-block/component.d.ts +14 -7
  628. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  629. package/build-types/flex/flex-block/hook.d.ts +6 -3
  630. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  631. package/build-types/flex/flex-block/index.d.ts +2 -2
  632. package/build-types/flex/flex-block/index.d.ts.map +1 -1
  633. package/build-types/flex/flex-item/component.d.ts +14 -7
  634. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  635. package/build-types/flex/flex-item/hook.d.ts +6 -3
  636. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  637. package/build-types/flex/flex-item/index.d.ts +2 -2
  638. package/build-types/flex/flex-item/index.d.ts.map +1 -1
  639. package/build-types/flex/index.d.ts +3 -3
  640. package/build-types/flex/index.d.ts.map +1 -1
  641. package/build-types/flex/stories/index.d.ts +13 -0
  642. package/build-types/flex/stories/index.d.ts.map +1 -0
  643. package/build-types/flex/styles.d.ts +5 -5
  644. package/build-types/flex/styles.d.ts.map +1 -1
  645. package/build-types/flex/test/index.d.ts +2 -0
  646. package/build-types/flex/test/index.d.ts.map +1 -0
  647. package/build-types/flex/types.d.ts +17 -10
  648. package/build-types/flex/types.d.ts.map +1 -1
  649. package/build-types/flyout/context.d.ts +6 -0
  650. package/build-types/flyout/context.d.ts.map +1 -0
  651. package/build-types/flyout/flyout/component.d.ts +21 -0
  652. package/build-types/flyout/flyout/component.d.ts.map +1 -0
  653. package/build-types/flyout/flyout/hook.d.ts +270 -0
  654. package/build-types/flyout/flyout/hook.d.ts.map +1 -0
  655. package/build-types/flyout/flyout/index.d.ts +3 -0
  656. package/build-types/flyout/flyout/index.d.ts.map +1 -0
  657. package/build-types/flyout/flyout-content/component.d.ts +3 -0
  658. package/build-types/flyout/flyout-content/component.d.ts.map +1 -0
  659. package/build-types/flyout/flyout-content/index.d.ts +2 -0
  660. package/build-types/flyout/flyout-content/index.d.ts.map +1 -0
  661. package/build-types/flyout/index.d.ts +2 -0
  662. package/build-types/flyout/index.d.ts.map +1 -0
  663. package/build-types/flyout/styles.d.ts +22 -0
  664. package/build-types/flyout/styles.d.ts.map +1 -0
  665. package/build-types/flyout/types.d.ts +80 -0
  666. package/build-types/flyout/types.d.ts.map +1 -0
  667. package/build-types/flyout/utils.d.ts +8 -0
  668. package/build-types/flyout/utils.d.ts.map +1 -0
  669. package/build-types/form-token-field/index.d.ts.map +1 -1
  670. package/build-types/form-token-field/stories/index.d.ts +6 -0
  671. package/build-types/form-token-field/stories/index.d.ts.map +1 -1
  672. package/build-types/form-token-field/styles.d.ts +14 -0
  673. package/build-types/form-token-field/styles.d.ts.map +1 -0
  674. package/build-types/form-token-field/suggestions-list.d.ts +1 -1
  675. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  676. package/build-types/form-token-field/types.d.ts +22 -3
  677. package/build-types/form-token-field/types.d.ts.map +1 -1
  678. package/build-types/grid/component.d.ts +3 -3
  679. package/build-types/grid/component.d.ts.map +1 -1
  680. package/build-types/grid/hook.d.ts +5 -2
  681. package/build-types/grid/hook.d.ts.map +1 -1
  682. package/build-types/grid/index.d.ts +2 -2
  683. package/build-types/grid/index.d.ts.map +1 -1
  684. package/build-types/grid/stories/index.d.ts +9 -0
  685. package/build-types/grid/stories/index.d.ts.map +1 -0
  686. package/build-types/grid/test/grid.d.ts +2 -0
  687. package/build-types/grid/test/grid.d.ts.map +1 -0
  688. package/build-types/grid/types.d.ts +16 -15
  689. package/build-types/grid/types.d.ts.map +1 -1
  690. package/build-types/grid/utils.d.ts +50 -69
  691. package/build-types/grid/utils.d.ts.map +1 -1
  692. package/build-types/h-stack/component.d.ts +3 -2
  693. package/build-types/h-stack/component.d.ts.map +1 -1
  694. package/build-types/h-stack/hook.d.ts +5 -3
  695. package/build-types/h-stack/hook.d.ts.map +1 -1
  696. package/build-types/h-stack/index.d.ts +2 -2
  697. package/build-types/h-stack/index.d.ts.map +1 -1
  698. package/build-types/h-stack/stories/index.d.ts +9 -0
  699. package/build-types/h-stack/stories/index.d.ts.map +1 -0
  700. package/build-types/h-stack/test/index.d.ts +2 -0
  701. package/build-types/h-stack/test/index.d.ts.map +1 -0
  702. package/build-types/h-stack/utils.d.ts +8 -4
  703. package/build-types/h-stack/utils.d.ts.map +1 -1
  704. package/build-types/icon/index.d.ts +1 -1
  705. package/build-types/icon/index.d.ts.map +1 -1
  706. package/build-types/input-control/index.d.ts +1 -1
  707. package/build-types/input-control/index.d.ts.map +1 -1
  708. package/build-types/input-control/input-base.d.ts +1 -1
  709. package/build-types/input-control/input-base.d.ts.map +1 -1
  710. package/build-types/input-control/input-prefix-wrapper.d.ts +19 -0
  711. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -0
  712. package/build-types/input-control/input-suffix-wrapper.d.ts +19 -0
  713. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -0
  714. package/build-types/input-control/reducer/actions.d.ts +3 -1
  715. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  716. package/build-types/input-control/reducer/reducer.d.ts +2 -2
  717. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  718. package/build-types/input-control/reducer/state.d.ts +2 -2
  719. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  720. package/build-types/input-control/stories/index.d.ts +10 -0
  721. package/build-types/input-control/stories/index.d.ts.map +1 -1
  722. package/build-types/input-control/styles/input-control-styles.d.ts +21 -0
  723. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  724. package/build-types/input-control/types.d.ts +45 -3
  725. package/build-types/input-control/types.d.ts.map +1 -1
  726. package/build-types/menu-item/index.d.ts.map +1 -1
  727. package/build-types/placeholder/index.d.ts +16 -0
  728. package/build-types/placeholder/index.d.ts.map +1 -0
  729. package/build-types/placeholder/stories/index.d.ts +12 -0
  730. package/build-types/placeholder/stories/index.d.ts.map +1 -0
  731. package/build-types/placeholder/types.d.ts +47 -0
  732. package/build-types/placeholder/types.d.ts.map +1 -0
  733. package/build-types/popover/index.d.ts +1 -1
  734. package/build-types/popover/index.d.ts.map +1 -1
  735. package/build-types/popover/utils.d.ts +70 -0
  736. package/build-types/popover/utils.d.ts.map +1 -0
  737. package/build-types/radio-control/index.d.ts.map +1 -1
  738. package/build-types/range-control/index.d.ts +54 -29
  739. package/build-types/range-control/index.d.ts.map +1 -1
  740. package/build-types/range-control/input-range.d.ts +7 -10
  741. package/build-types/range-control/input-range.d.ts.map +1 -1
  742. package/build-types/range-control/mark.d.ts +4 -7
  743. package/build-types/range-control/mark.d.ts.map +1 -1
  744. package/build-types/range-control/rail.d.ts +4 -9
  745. package/build-types/range-control/rail.d.ts.map +1 -1
  746. package/build-types/range-control/stories/index.d.ts +48 -0
  747. package/build-types/range-control/stories/index.d.ts.map +1 -0
  748. package/build-types/range-control/styles/range-control-styles.d.ts +32 -40
  749. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  750. package/build-types/range-control/test/index.d.ts +2 -0
  751. package/build-types/range-control/test/index.d.ts.map +1 -0
  752. package/build-types/range-control/tooltip.d.ts +4 -11
  753. package/build-types/range-control/tooltip.d.ts.map +1 -1
  754. package/build-types/range-control/types.d.ts +304 -0
  755. package/build-types/range-control/types.d.ts.map +1 -0
  756. package/build-types/range-control/utils.d.ts +15 -33
  757. package/build-types/range-control/utils.d.ts.map +1 -1
  758. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  759. package/build-types/scroll-lock/index.d.ts +32 -3
  760. package/build-types/scroll-lock/index.d.ts.map +1 -1
  761. package/build-types/scroll-lock/stories/index.d.ts +9 -0
  762. package/build-types/scroll-lock/stories/index.d.ts.map +1 -0
  763. package/build-types/scroll-lock/test/index.d.ts +2 -0
  764. package/build-types/scroll-lock/test/index.d.ts.map +1 -0
  765. package/build-types/scrollable/component.d.ts +3 -3
  766. package/build-types/scrollable/component.d.ts.map +1 -1
  767. package/build-types/scrollable/hook.d.ts +5 -2
  768. package/build-types/scrollable/hook.d.ts.map +1 -1
  769. package/build-types/scrollable/index.d.ts +2 -2
  770. package/build-types/scrollable/index.d.ts.map +1 -1
  771. package/build-types/scrollable/stories/index.d.ts +9 -0
  772. package/build-types/scrollable/stories/index.d.ts.map +1 -0
  773. package/build-types/scrollable/styles.d.ts +7 -7
  774. package/build-types/scrollable/styles.d.ts.map +1 -1
  775. package/build-types/scrollable/test/index.d.ts +2 -0
  776. package/build-types/scrollable/test/index.d.ts.map +1 -0
  777. package/build-types/scrollable/types.d.ts +9 -6
  778. package/build-types/scrollable/types.d.ts.map +1 -1
  779. package/build-types/select-control/index.d.ts.map +1 -1
  780. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  781. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  782. package/build-types/select-control/types.d.ts +1 -1
  783. package/build-types/select-control/types.d.ts.map +1 -1
  784. package/build-types/shortcut/index.d.ts +5 -24
  785. package/build-types/shortcut/index.d.ts.map +1 -1
  786. package/build-types/shortcut/test/index.d.ts +2 -0
  787. package/build-types/shortcut/test/index.d.ts.map +1 -0
  788. package/build-types/shortcut/types.d.ts +14 -0
  789. package/build-types/shortcut/types.d.ts.map +1 -0
  790. package/build-types/slot-fill/provider.d.ts.map +1 -1
  791. package/build-types/slot-fill/slot.d.ts.map +1 -1
  792. package/build-types/spacer/component.d.ts +5 -3
  793. package/build-types/spacer/component.d.ts.map +1 -1
  794. package/build-types/spacer/hook.d.ts +2 -2
  795. package/build-types/spacer/hook.d.ts.map +1 -1
  796. package/build-types/spacer/index.d.ts +1 -1
  797. package/build-types/spacer/index.d.ts.map +1 -1
  798. package/build-types/spacer/test/index.d.ts +2 -0
  799. package/build-types/spacer/test/index.d.ts.map +1 -0
  800. package/build-types/spacer/types.d.ts +41 -29
  801. package/build-types/spacer/types.d.ts.map +1 -1
  802. package/build-types/style-provider/index.d.ts +7 -4
  803. package/build-types/style-provider/index.d.ts.map +1 -1
  804. package/build-types/style-provider/types.d.ts +15 -0
  805. package/build-types/style-provider/types.d.ts.map +1 -0
  806. package/build-types/swatch/index.d.ts +5 -0
  807. package/build-types/swatch/index.d.ts.map +1 -0
  808. package/build-types/swatch/types.d.ts +11 -0
  809. package/build-types/swatch/types.d.ts.map +1 -0
  810. package/build-types/text/hook.d.ts.map +1 -1
  811. package/build-types/text-highlight/index.d.ts +23 -0
  812. package/build-types/text-highlight/index.d.ts.map +1 -0
  813. package/build-types/text-highlight/stories/index.d.ts +12 -0
  814. package/build-types/text-highlight/stories/index.d.ts.map +1 -0
  815. package/build-types/text-highlight/test/index.d.ts +2 -0
  816. package/build-types/text-highlight/test/index.d.ts.map +1 -0
  817. package/build-types/text-highlight/types.d.ts +17 -0
  818. package/build-types/text-highlight/types.d.ts.map +1 -0
  819. package/build-types/tip/index.d.ts +5 -14
  820. package/build-types/tip/index.d.ts.map +1 -1
  821. package/build-types/tip/stories/index.d.ts +12 -0
  822. package/build-types/tip/stories/index.d.ts.map +1 -0
  823. package/build-types/tip/types.d.ts +11 -0
  824. package/build-types/tip/types.d.ts.map +1 -0
  825. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -1
  826. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  827. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +0 -1
  828. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  829. package/build-types/toggle-group-control/types.d.ts +6 -0
  830. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  831. package/build-types/tools-panel/styles.d.ts +1 -1
  832. package/build-types/tools-panel/styles.d.ts.map +1 -1
  833. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  834. package/build-types/tooltip/index.d.ts.map +1 -1
  835. package/build-types/tree-select/index.d.ts.map +1 -1
  836. package/build-types/tree-select/types.d.ts +1 -0
  837. package/build-types/tree-select/types.d.ts.map +1 -1
  838. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  839. package/build-types/ui/form-group/form-group.d.ts +1 -1
  840. package/build-types/ui/form-group/types.d.ts +1 -1
  841. package/build-types/ui/form-group/types.d.ts.map +1 -1
  842. package/build-types/ui/form-group/use-form-group.d.ts +3 -3
  843. package/build-types/ui/tooltip/styles.d.ts.map +1 -1
  844. package/build-types/ui/utils/get-valid-children.d.ts +2 -2
  845. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  846. package/build-types/ui/utils/space.d.ts +7 -1
  847. package/build-types/ui/utils/space.d.ts.map +1 -1
  848. package/build-types/unit-control/index.d.ts +3 -3
  849. package/build-types/unit-control/index.d.ts.map +1 -1
  850. package/build-types/unit-control/stories/index.d.ts.map +1 -1
  851. package/build-types/unit-control/styles/unit-control-styles.d.ts +0 -1
  852. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  853. package/build-types/unit-control/types.d.ts +2 -8
  854. package/build-types/unit-control/types.d.ts.map +1 -1
  855. package/build-types/utils/base-label.d.ts +2 -0
  856. package/build-types/utils/base-label.d.ts.map +1 -0
  857. package/build-types/utils/box-sizing.d.ts +2 -0
  858. package/build-types/utils/box-sizing.d.ts.map +1 -0
  859. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  860. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  861. package/build-types/utils/style-mixins.d.ts +2 -0
  862. package/build-types/visually-hidden/component.d.ts +8 -10
  863. package/build-types/visually-hidden/component.d.ts.map +1 -1
  864. package/build-types/visually-hidden/index.d.ts +1 -1
  865. package/build-types/visually-hidden/index.d.ts.map +1 -1
  866. package/build-types/visually-hidden/stories/index.d.ts +14 -0
  867. package/build-types/visually-hidden/stories/index.d.ts.map +1 -0
  868. package/build-types/visually-hidden/styles.d.ts +5 -2
  869. package/build-types/visually-hidden/styles.d.ts.map +1 -1
  870. package/build-types/visually-hidden/test/index.d.ts +2 -0
  871. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  872. package/build-types/visually-hidden/types.d.ts +11 -0
  873. package/build-types/visually-hidden/types.d.ts.map +1 -0
  874. package/package.json +17 -17
  875. package/src/angle-picker-control/index.js +1 -2
  876. package/src/autocomplete/get-default-use-items.js +3 -2
  877. package/src/autocomplete/index.js +3 -2
  878. package/src/base-control/index.tsx +5 -3
  879. package/src/base-control/stories/index.tsx +1 -0
  880. package/src/base-control/styles/base-control-styles.ts +10 -1
  881. package/src/base-control/types.ts +0 -1
  882. package/src/border-control/border-control/component.tsx +41 -32
  883. package/src/border-control/border-control/hook.ts +5 -10
  884. package/src/border-control/border-control-dropdown/component.tsx +50 -45
  885. package/src/border-control/border-control-dropdown/hook.ts +0 -5
  886. package/src/border-control/stories/index.tsx +3 -0
  887. package/src/border-control/styles.ts +25 -70
  888. package/src/border-control/test/index.js +19 -8
  889. package/src/box-control/all-input-control.js +3 -27
  890. package/src/box-control/axial-input-controls.js +1 -1
  891. package/src/box-control/index.js +6 -7
  892. package/src/box-control/styles/box-control-styles.js +1 -2
  893. package/src/box-control/utils.js +38 -13
  894. package/src/button/README.md +1 -1
  895. package/src/card/test/__snapshots__/index.js.snap +8 -8
  896. package/src/color-palette/index.js +19 -8
  897. package/src/color-palette/style.scss +5 -0
  898. package/src/color-palette/test/utils.ts +19 -1
  899. package/src/color-picker/hex-input.tsx +5 -3
  900. package/src/color-picker/index.native.js +20 -27
  901. package/src/color-picker/input-with-slider.tsx +4 -1
  902. package/src/color-picker/styles.ts +3 -16
  903. package/src/color-picker/use-deprecated-props.ts +24 -43
  904. package/src/combobox-control/README.md +7 -0
  905. package/src/combobox-control/index.js +34 -17
  906. package/src/combobox-control/stories/index.js +51 -6
  907. package/src/combobox-control/style.scss +1 -1
  908. package/src/combobox-control/styles.ts +27 -0
  909. package/src/confirm-dialog/README.md +1 -1
  910. package/src/custom-gradient-picker/style.scss +0 -12
  911. package/src/custom-select-control/index.js +47 -28
  912. package/src/custom-select-control/stories/index.js +7 -2
  913. package/src/custom-select-control/style.scss +5 -34
  914. package/src/date-time/time/index.tsx +7 -5
  915. package/src/date-time/time/styles.ts +3 -6
  916. package/src/divider/README.md +12 -5
  917. package/src/divider/component.tsx +2 -3
  918. package/src/divider/index.ts +1 -1
  919. package/src/divider/stories/index.tsx +4 -4
  920. package/src/divider/styles.ts +7 -7
  921. package/src/divider/test/__snapshots__/{index.js.snap → index.tsx.snap} +7 -7
  922. package/src/divider/test/index.tsx +40 -0
  923. package/src/divider/types.ts +21 -15
  924. package/src/draggable/README.md +1 -1
  925. package/src/dropdown/dropdown-content-wrapper.tsx +59 -0
  926. package/src/dropdown/stories/index.js +60 -69
  927. package/src/dropdown/styles.ts +38 -0
  928. package/src/dropdown/types.ts +8 -0
  929. package/src/dropdown-menu/index.js +3 -4
  930. package/src/dropdown-menu/index.native.js +3 -5
  931. package/src/elevation/README.md +16 -14
  932. package/src/elevation/component.tsx +48 -0
  933. package/src/elevation/{hook.js → hook.ts} +23 -20
  934. package/src/elevation/{index.js → index.ts} +0 -0
  935. package/src/elevation/stories/index.tsx +85 -0
  936. package/src/elevation/{styles.js → styles.ts} +0 -0
  937. package/src/elevation/test/__snapshots__/{index.js.snap → index.tsx.snap} +19 -13
  938. package/src/elevation/test/index.tsx +64 -0
  939. package/src/elevation/types.ts +12 -19
  940. package/src/external-link/index.tsx +20 -4
  941. package/src/flex/flex/README.md +20 -18
  942. package/src/flex/flex/component.tsx +59 -0
  943. package/src/flex/flex/{hook.js → hook.ts} +14 -13
  944. package/src/flex/flex/{index.js → index.ts} +0 -0
  945. package/src/flex/flex-block/README.md +3 -7
  946. package/src/flex/flex-block/component.tsx +41 -0
  947. package/src/flex/flex-block/{hook.js → hook.ts} +5 -5
  948. package/src/flex/flex-block/{index.js → index.ts} +0 -0
  949. package/src/flex/flex-item/README.md +6 -9
  950. package/src/flex/flex-item/component.tsx +41 -0
  951. package/src/flex/flex-item/{hook.js → hook.ts} +10 -7
  952. package/src/flex/flex-item/{index.js → index.ts} +0 -0
  953. package/src/flex/{index.js → index.ts} +0 -0
  954. package/src/flex/stories/index.tsx +81 -0
  955. package/src/flex/{styles.js → styles.ts} +0 -0
  956. package/src/flex/test/__snapshots__/{index.js.snap → index.tsx.snap} +49 -9
  957. package/src/flex/test/index.tsx +84 -0
  958. package/src/flex/types.ts +17 -10
  959. package/src/focal-point-picker/grid.js +2 -5
  960. package/src/focal-point-picker/index.native.js +8 -8
  961. package/src/focal-point-picker/styles/focal-point-picker-style.js +0 -5
  962. package/src/focal-point-picker/styles/focal-point-style.js +0 -1
  963. package/src/focal-point-picker/tooltip/index.native.js +10 -11
  964. package/src/font-size-picker/index.js +18 -7
  965. package/src/font-size-picker/stories/index.js +6 -0
  966. package/src/form-token-field/README.md +2 -1
  967. package/src/form-token-field/index.tsx +50 -26
  968. package/src/form-token-field/stories/index.tsx +14 -0
  969. package/src/form-token-field/style.scss +2 -12
  970. package/src/form-token-field/styles.ts +32 -0
  971. package/src/form-token-field/suggestions-list.tsx +23 -16
  972. package/src/form-token-field/test/index.js +1 -1
  973. package/src/form-token-field/types.ts +23 -2
  974. package/src/grid/README.md +33 -19
  975. package/src/grid/{component.js → component.tsx} +13 -9
  976. package/src/grid/{hook.js → hook.ts} +5 -5
  977. package/src/grid/{index.js → index.ts} +0 -0
  978. package/src/grid/stories/index.tsx +72 -0
  979. package/src/grid/test/{grid.js → grid.tsx} +4 -4
  980. package/src/grid/types.ts +16 -17
  981. package/src/grid/{utils.js → utils.ts} +9 -7
  982. package/src/guide/style.scss +1 -0
  983. package/src/h-stack/{component.js → component.tsx} +8 -8
  984. package/src/h-stack/{hook.js → hook.tsx} +21 -16
  985. package/src/h-stack/{index.js → index.ts} +0 -0
  986. package/src/h-stack/stories/index.tsx +92 -0
  987. package/src/h-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  988. package/src/h-stack/test/{index.js → index.tsx} +0 -0
  989. package/src/h-stack/{utils.js → utils.ts} +14 -14
  990. package/src/higher-order/navigate-regions/README.md +4 -1
  991. package/src/icon/index.tsx +1 -1
  992. package/src/index.js +7 -1
  993. package/src/input-control/index.tsx +6 -0
  994. package/src/input-control/input-base.tsx +28 -13
  995. package/src/input-control/input-prefix-wrapper.tsx +48 -0
  996. package/src/input-control/input-suffix-wrapper.tsx +48 -0
  997. package/src/input-control/reducer/actions.ts +3 -1
  998. package/src/input-control/reducer/reducer.ts +27 -10
  999. package/src/input-control/reducer/state.ts +7 -2
  1000. package/src/input-control/stories/index.tsx +15 -2
  1001. package/src/input-control/styles/input-control-styles.tsx +28 -12
  1002. package/src/input-control/test/index.js +20 -4
  1003. package/src/input-control/types.ts +52 -3
  1004. package/src/menu-item/index.js +1 -2
  1005. package/src/mobile/focal-point-settings-panel/index.native.js +2 -2
  1006. package/src/mobile/global-styles-context/utils.native.js +21 -4
  1007. package/src/mobile/image/index.native.js +38 -7
  1008. package/src/mobile/link-picker/link-picker-screen.native.js +12 -4
  1009. package/src/mobile/media-edit/index.native.js +2 -7
  1010. package/src/mobile/picker/index.ios.js +16 -0
  1011. package/src/mobile/picker/styles.native.scss +8 -0
  1012. package/src/modal/index.js +21 -2
  1013. package/src/modal/stories/index.js +17 -1
  1014. package/src/modal/style.scss +14 -19
  1015. package/src/navigation/index.js +3 -0
  1016. package/src/navigation/item/base.js +2 -1
  1017. package/src/panel/style.scss +4 -1
  1018. package/src/placeholder/README.md +49 -9
  1019. package/src/placeholder/{index.js → index.tsx} +27 -23
  1020. package/src/placeholder/stories/index.tsx +64 -0
  1021. package/src/placeholder/style.scss +0 -4
  1022. package/src/placeholder/types.ts +48 -0
  1023. package/src/popover/README.md +9 -2
  1024. package/src/popover/index.js +160 -79
  1025. package/src/popover/stories/index.js +199 -96
  1026. package/src/popover/style.scss +61 -7
  1027. package/src/popover/test/index.js +23 -1
  1028. package/src/radio-control/index.tsx +1 -2
  1029. package/src/range-control/README.md +108 -80
  1030. package/src/range-control/{index.js → index.tsx} +78 -48
  1031. package/src/range-control/{input-range.js → input-range.tsx} +11 -7
  1032. package/src/range-control/{mark.js → mark.tsx} +15 -9
  1033. package/src/range-control/{rail.js → rail.tsx} +40 -23
  1034. package/src/range-control/stories/index.tsx +244 -0
  1035. package/src/range-control/styles/{range-control-styles.js → range-control-styles.ts} +28 -36
  1036. package/src/range-control/test/index.tsx +341 -0
  1037. package/src/range-control/{tooltip.js → tooltip.tsx} +19 -14
  1038. package/src/range-control/types.ts +328 -0
  1039. package/src/range-control/utils.ts +135 -0
  1040. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  1041. package/src/resizable-box/resize-tooltip/utils.ts +2 -3
  1042. package/src/sandbox/index.native.js +14 -1
  1043. package/src/scroll-lock/README.md +1 -1
  1044. package/src/scroll-lock/{index.js → index.tsx} +34 -7
  1045. package/src/scroll-lock/stories/index.tsx +96 -0
  1046. package/src/scroll-lock/test/index.tsx +26 -0
  1047. package/src/scrollable/README.md +14 -8
  1048. package/src/scrollable/{component.js → component.tsx} +13 -10
  1049. package/src/scrollable/{hook.js → hook.ts} +5 -7
  1050. package/src/scrollable/{index.js → index.ts} +0 -0
  1051. package/src/scrollable/stories/{index.js → index.tsx} +29 -34
  1052. package/src/scrollable/{styles.js → styles.ts} +0 -0
  1053. package/src/scrollable/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1054. package/src/scrollable/test/index.tsx +34 -0
  1055. package/src/scrollable/types.ts +10 -5
  1056. package/src/select-control/index.tsx +1 -2
  1057. package/src/select-control/styles/select-control-styles.ts +33 -10
  1058. package/src/select-control/test/select-control.tsx +22 -15
  1059. package/src/select-control/types.ts +1 -0
  1060. package/src/shortcut/index.tsx +32 -0
  1061. package/src/shortcut/test/__snapshots__/index.tsx.snap +15 -0
  1062. package/src/shortcut/test/index.tsx +41 -0
  1063. package/src/shortcut/types.ts +10 -0
  1064. package/src/slot-fill/index.native.js +2 -7
  1065. package/src/slot-fill/provider.js +3 -7
  1066. package/src/slot-fill/slot.js +21 -24
  1067. package/src/spacer/README.md +43 -37
  1068. package/src/spacer/component.tsx +5 -3
  1069. package/src/spacer/hook.ts +4 -2
  1070. package/src/spacer/index.ts +1 -1
  1071. package/src/spacer/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1072. package/src/spacer/test/index.tsx +149 -0
  1073. package/src/spacer/types.ts +41 -29
  1074. package/src/style-provider/index.tsx +41 -0
  1075. package/src/style-provider/types.ts +15 -0
  1076. package/src/swatch/{index.js → index.tsx} +4 -1
  1077. package/src/swatch/types.ts +11 -0
  1078. package/src/tab-panel/README.md +1 -1
  1079. package/src/text/hook.js +5 -3
  1080. package/src/text-highlight/README.md +6 -6
  1081. package/src/text-highlight/index.tsx +49 -0
  1082. package/src/text-highlight/stories/index.tsx +33 -0
  1083. package/src/text-highlight/test/index.tsx +93 -0
  1084. package/src/text-highlight/types.ts +16 -0
  1085. package/src/tip/index.tsx +22 -0
  1086. package/src/tip/stories/index.tsx +33 -0
  1087. package/src/tip/types.ts +11 -0
  1088. package/src/toggle-group-control/stories/index.js +19 -3
  1089. package/src/toggle-group-control/test/__snapshots__/index.js.snap +28 -4
  1090. package/src/toggle-group-control/toggle-group-control/component.tsx +3 -3
  1091. package/src/toggle-group-control/toggle-group-control/styles.ts +22 -2
  1092. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -4
  1093. package/src/toggle-group-control/types.ts +6 -0
  1094. package/src/toolbar-group/index.js +1 -2
  1095. package/src/tools-panel/styles.ts +7 -16
  1096. package/src/tools-panel/test/__snapshots__/index.js.snap +2 -11
  1097. package/src/tools-panel/tools-panel/README.md +94 -21
  1098. package/src/tools-panel/tools-panel/hook.ts +6 -1
  1099. package/src/tooltip/index.js +56 -10
  1100. package/src/tooltip/stories/index.js +28 -13
  1101. package/src/tooltip/style.scss +1 -1
  1102. package/src/tree-select/index.tsx +7 -6
  1103. package/src/tree-select/types.ts +4 -0
  1104. package/src/ui/context/test/context-system-provider.js +101 -1
  1105. package/src/ui/context/use-context-system.js +7 -2
  1106. package/src/ui/form-group/types.ts +1 -1
  1107. package/src/ui/tooltip/styles.js +1 -0
  1108. package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -0
  1109. package/src/ui/utils/get-valid-children.ts +4 -2
  1110. package/src/ui/utils/space.ts +7 -1
  1111. package/src/unit-control/stories/index.tsx +16 -23
  1112. package/src/unit-control/styles/unit-control-styles.ts +100 -46
  1113. package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -4
  1114. package/src/unit-control/types.ts +2 -8
  1115. package/src/utils/base-label.ts +13 -0
  1116. package/src/utils/box-sizing.ts +14 -0
  1117. package/src/utils/style-mixins.js +2 -0
  1118. package/src/visually-hidden/{component.js → component.tsx} +23 -15
  1119. package/src/visually-hidden/{index.js → index.ts} +0 -0
  1120. package/src/visually-hidden/stories/index.tsx +66 -0
  1121. package/src/visually-hidden/{styles.js → styles.ts} +6 -2
  1122. package/src/visually-hidden/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1123. package/src/visually-hidden/test/index.tsx +17 -0
  1124. package/src/visually-hidden/types.ts +11 -0
  1125. package/tsconfig.json +3 -0
  1126. package/tsconfig.tsbuildinfo +1 -1
  1127. package/src/divider/test/index.js +0 -41
  1128. package/src/elevation/component.js +0 -43
  1129. package/src/elevation/stories/index.js +0 -148
  1130. package/src/elevation/test/index.js +0 -51
  1131. package/src/flex/flex/component.js +0 -60
  1132. package/src/flex/flex-block/component.js +0 -30
  1133. package/src/flex/flex-item/component.js +0 -30
  1134. package/src/flex/stories/index.js +0 -29
  1135. package/src/flex/test/index.js +0 -77
  1136. package/src/grid/stories/index.js +0 -49
  1137. package/src/h-stack/stories/index.js +0 -22
  1138. package/src/placeholder/stories/index.js +0 -44
  1139. package/src/popover/stories/_utils.js +0 -64
  1140. package/src/range-control/stories/index.js +0 -180
  1141. package/src/range-control/test/index.js +0 -320
  1142. package/src/range-control/utils.js +0 -131
  1143. package/src/scroll-lock/stories/index.js +0 -71
  1144. package/src/scroll-lock/test/index.js +0 -53
  1145. package/src/scrollable/test/index.js +0 -31
  1146. package/src/shortcut/index.js +0 -41
  1147. package/src/shortcut/test/index.js +0 -37
  1148. package/src/spacer/test/index.js +0 -146
  1149. package/src/style-provider/index.js +0 -31
  1150. package/src/text-highlight/index.js +0 -28
  1151. package/src/text-highlight/stories/index.js +0 -28
  1152. package/src/text-highlight/test/index.js +0 -120
  1153. package/src/tip/index.js +0 -24
  1154. package/src/tip/stories/index.js +0 -26
  1155. package/src/visually-hidden/stories/index.js +0 -42
  1156. package/src/visually-hidden/test/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/combobox-control/index.js"],"names":["classnames","deburr","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","ENTER","UP","DOWN","ESCAPE","speak","closeSmall","TokenInput","SuggestionsList","BaseControl","Button","Flex","FlexBlock","FlexItem","withFocusOutside","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","ComboboxControl","value","label","options","onChange","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","currentOption","find","option","currentLabel","instanceId","selectedSuggestion","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","matchingSuggestions","startsWithMatch","containsMatch","match","toLocaleLowerCase","forEach","index","indexOf","push","concat","onSuggestionSelected","newSelectedSuggestion","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","keyCode","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","suggestion"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { deburr } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { ENTER, UP, DOWN, ESCAPE } from '@wordpress/keycodes';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { Flex, FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\n\nconst noop = () => {};\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component {\n\t\thandleFocusOutside( event ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nfunction ComboboxControl( {\n\tvalue,\n\tlabel,\n\toptions,\n\tonChange,\n\tonFilterValueChange = noop,\n\thideLabelFromVision,\n\thelp,\n\tallowReset = true,\n\tclassName,\n\tmessages = {\n\t\tselected: __( 'Item selected.' ),\n\t},\n} ) {\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\tconst instanceId = useInstanceId( ComboboxControl );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef();\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\t\tconst match = deburr( inputValue.toLocaleLowerCase() );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = deburr( option.label )\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options, value ] );\n\n\tconst onSuggestionSelected = ( newSelectedSuggestion ) => {\n\t\tonChange( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = matchingSuggestions.indexOf( selectedSuggestion );\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown = ( event ) => {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase ENTER:\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tonChange( null );\n\t\tinputContainer.current.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tmatchingSuggestions.indexOf( selectedSuggestion ) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<Flex>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\tcurrentLabel\n\t\t\t\t\t\t\t\t\t\t? `${ currentLabel }, ${ label }`\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ { label: inputValue } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/combobox-control/index.js"],"names":["classnames","removeAccents","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","FlexItem","withFocusOutside","useControlledValue","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","ComboboxControl","__next36pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","__experimentalRenderItem","setValue","currentOption","find","option","currentLabel","instanceId","selectedSuggestion","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","matchingSuggestions","startsWithMatch","containsMatch","match","toLocaleLowerCase","forEach","index","indexOf","push","concat","onSuggestionSelected","newSelectedSuggestion","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","code","onBlur","onFocus","onInputChange","text","handleOnReset","current","focus","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","suggestion"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,OAAOC,aAAP,MAA0B,gBAA1B;AAEA;AACA;AACA;;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SACCC,SADD,EAECC,QAFD,EAGCC,OAHD,EAICC,MAJD,EAKCC,SALD,QAMO,oBANP;AAOA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,UAAT,QAA2B,kBAA3B;AAEA;AACA;AACA;;AACA,SAASC,gBAAT,QAAiC,UAAjC;AACA,OAAOC,UAAP,MAAuB,iCAAvB;AACA,OAAOC,eAAP,MAA4B,sCAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,SAApC;AACA,OAAOC,gBAAP,MAA6B,oCAA7B;AACA,SAASC,kBAAT,QAAmC,gBAAnC;;AAEA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,MAAMC,aAAa,GAAGH,gBAAgB,CACrC,cAAcf,SAAd,CAAwB;AACvBmB,EAAAA,kBAAkB,CAAEC,KAAF,EAAU;AAC3B,SAAKC,KAAL,CAAWC,cAAX,CAA2BF,KAA3B;AACA;;AAEDG,EAAAA,MAAM,GAAG;AACR,WAAO,KAAKF,KAAL,CAAWG,QAAlB;AACA;;AAPsB,CADa,CAAtC;;AAYA,SAASC,eAAT,OAeI;AAAA;;AAAA,MAfsB;AACzBC,IAAAA,qBADyB;AAEzBC,IAAAA,KAAK,EAAEC,SAFkB;AAGzBC,IAAAA,KAHyB;AAIzBC,IAAAA,OAJyB;AAKzBC,IAAAA,QAAQ,EAAEC,YALe;AAMzBC,IAAAA,mBAAmB,GAAGhB,IANG;AAOzBiB,IAAAA,mBAPyB;AAQzBC,IAAAA,IARyB;AASzBC,IAAAA,UAAU,GAAG,IATY;AAUzBC,IAAAA,SAVyB;AAWzBC,IAAAA,QAAQ,GAAG;AACVC,MAAAA,QAAQ,EAAE1C,EAAE,CAAE,gBAAF;AADF,KAXc;AAczB2C,IAAAA;AAdyB,GAetB;AACH,QAAM,CAAEb,KAAF,EAASc,QAAT,IAAsBzB,kBAAkB,CAAE;AAC/CW,IAAAA,KAAK,EAAEC,SADwC;AAE/CG,IAAAA,QAAQ,EAAEC;AAFqC,GAAF,CAA9C;AAKA,QAAMU,aAAa,GAAGZ,OAAO,CAACa,IAAR,CAAgBC,MAAF,IAAcA,MAAM,CAACjB,KAAP,KAAiBA,KAA7C,CAAtB;AACA,QAAMkB,YAAY,2BAAGH,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEb,KAAlB,uEAA2B,EAA7C,CAPG,CAQH;AACA;AACA;;AACA,QAAMiB,UAAU,GAAGzC,aAAa,CAAEoB,eAAF,EAAmB,kBAAnB,CAAhC;AACA,QAAM,CAAEsB,kBAAF,EAAsBC,qBAAtB,IAAgD/C,QAAQ,CAC7DyC,aAAa,IAAI,IAD4C,CAA9D;AAGA,QAAM,CAAEO,UAAF,EAAcC,aAAd,IAAgCjD,QAAQ,CAAE,KAAF,CAA9C;AACA,QAAM,CAAEkD,aAAF,EAAiBC,gBAAjB,IAAsCnD,QAAQ,CAAE,KAAF,CAApD;AACA,QAAM,CAAEoD,UAAF,EAAcC,aAAd,IAAgCrD,QAAQ,CAAE,EAAF,CAA9C;AACA,QAAMsD,cAAc,GAAGpD,MAAM,EAA7B;AAEA,QAAMqD,mBAAmB,GAAGtD,OAAO,CAAE,MAAM;AAC1C,UAAMuD,eAAe,GAAG,EAAxB;AACA,UAAMC,aAAa,GAAG,EAAtB;AACA,UAAMC,KAAK,GAAG/D,aAAa,CAAEyD,UAAU,CAACO,iBAAX,EAAF,CAA3B;AACA9B,IAAAA,OAAO,CAAC+B,OAAR,CAAmBjB,MAAF,IAAc;AAC9B,YAAMkB,KAAK,GAAGlE,aAAa,CAAEgD,MAAM,CAACf,KAAT,CAAb,CACZ+B,iBADY,GAEZG,OAFY,CAEHJ,KAFG,CAAd;;AAGA,UAAKG,KAAK,KAAK,CAAf,EAAmB;AAClBL,QAAAA,eAAe,CAACO,IAAhB,CAAsBpB,MAAtB;AACA,OAFD,MAEO,IAAKkB,KAAK,GAAG,CAAb,EAAiB;AACvBJ,QAAAA,aAAa,CAACM,IAAd,CAAoBpB,MAApB;AACA;AACD,KATD;AAWA,WAAOa,eAAe,CAACQ,MAAhB,CAAwBP,aAAxB,CAAP;AACA,GAhBkC,EAgBhC,CAAEL,UAAF,EAAcvB,OAAd,EAAuBH,KAAvB,CAhBgC,CAAnC;;AAkBA,QAAMuC,oBAAoB,GAAKC,qBAAF,IAA6B;AACzD1B,IAAAA,QAAQ,CAAE0B,qBAAqB,CAACxC,KAAxB,CAAR;AACArB,IAAAA,KAAK,CAAEgC,QAAQ,CAACC,QAAX,EAAqB,WAArB,CAAL;AACAS,IAAAA,qBAAqB,CAAEmB,qBAAF,CAArB;AACAb,IAAAA,aAAa,CAAE,EAAF,CAAb;AACAJ,IAAAA,aAAa,CAAE,KAAF,CAAb;AACA,GAND;;AAQA,QAAMkB,qBAAqB,GAAG,YAAkB;AAAA,QAAhBC,MAAgB,uEAAP,CAAO;AAC/C,UAAMP,KAAK,GAAGN,mBAAmB,CAACO,OAApB,CAA6BhB,kBAA7B,CAAd;AACA,QAAIuB,SAAS,GAAGR,KAAK,GAAGO,MAAxB;;AACA,QAAKC,SAAS,GAAG,CAAjB,EAAqB;AACpBA,MAAAA,SAAS,GAAGd,mBAAmB,CAACe,MAApB,GAA6B,CAAzC;AACA,KAFD,MAEO,IAAKD,SAAS,IAAId,mBAAmB,CAACe,MAAtC,EAA+C;AACrDD,MAAAA,SAAS,GAAG,CAAZ;AACA;;AACDtB,IAAAA,qBAAqB,CAAEQ,mBAAmB,CAAEc,SAAF,CAArB,CAArB;AACApB,IAAAA,aAAa,CAAE,IAAF,CAAb;AACA,GAVD;;AAYA,QAAMsB,SAAS,GAAKpD,KAAF,IAAa;AAC9B,QAAIqD,cAAc,GAAG,KAArB;;AAEA,QAAKrD,KAAK,CAACsD,gBAAX,EAA8B;AAC7B;AACA;;AAED,YAAStD,KAAK,CAACuD,IAAf;AACC,WAAK,OAAL;AACC,YAAK5B,kBAAL,EAA0B;AACzBmB,UAAAA,oBAAoB,CAAEnB,kBAAF,CAApB;AACA0B,UAAAA,cAAc,GAAG,IAAjB;AACA;;AACD;;AACD,WAAK,SAAL;AACCL,QAAAA,qBAAqB,CAAE,CAAC,CAAH,CAArB;AACAK,QAAAA,cAAc,GAAG,IAAjB;AACA;;AACD,WAAK,WAAL;AACCL,QAAAA,qBAAqB,CAAE,CAAF,CAArB;AACAK,QAAAA,cAAc,GAAG,IAAjB;AACA;;AACD,WAAK,QAAL;AACCvB,QAAAA,aAAa,CAAE,KAAF,CAAb;AACAF,QAAAA,qBAAqB,CAAE,IAAF,CAArB;AACAyB,QAAAA,cAAc,GAAG,IAAjB;AACA;;AACD;AACC;AArBF;;AAwBA,QAAKA,cAAL,EAAsB;AACrBrD,MAAAA,KAAK,CAACqD,cAAN;AACA;AACD,GAlCD;;AAoCA,QAAMG,MAAM,GAAG,MAAM;AACpBxB,IAAAA,gBAAgB,CAAE,KAAF,CAAhB;AACA,GAFD;;AAIA,QAAMyB,OAAO,GAAG,MAAM;AACrBzB,IAAAA,gBAAgB,CAAE,IAAF,CAAhB;AACAF,IAAAA,aAAa,CAAE,IAAF,CAAb;AACAjB,IAAAA,mBAAmB,CAAE,EAAF,CAAnB;AACAqB,IAAAA,aAAa,CAAE,EAAF,CAAb;AACA,GALD;;AAOA,QAAMhC,cAAc,GAAG,MAAM;AAC5B4B,IAAAA,aAAa,CAAE,KAAF,CAAb;AACA,GAFD;;AAIA,QAAM4B,aAAa,GAAK1D,KAAF,IAAa;AAClC,UAAM2D,IAAI,GAAG3D,KAAK,CAACO,KAAnB;AACA2B,IAAAA,aAAa,CAAEyB,IAAF,CAAb;AACA9C,IAAAA,mBAAmB,CAAE8C,IAAF,CAAnB;;AACA,QAAK5B,aAAL,EAAqB;AACpBD,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD,GAPD;;AASA,QAAM8B,aAAa,GAAG,MAAM;AAC3BvC,IAAAA,QAAQ,CAAE,IAAF,CAAR;AACAc,IAAAA,cAAc,CAAC0B,OAAf,CAAuBC,KAAvB;AACA,GAHD,CAtHG,CA2HH;;;AACA9E,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAM+E,sBAAsB,GAAG3B,mBAAmB,CAACe,MAApB,GAA6B,CAA5D;AACA,UAAMa,8BAA8B,GACnC5B,mBAAmB,CAACO,OAApB,CAA6BhB,kBAA7B,IAAoD,CADrD;;AAGA,QAAKoC,sBAAsB,IAAI,CAAEC,8BAAjC,EAAkE;AACjE;AACApC,MAAAA,qBAAqB,CAAEQ,mBAAmB,CAAE,CAAF,CAArB,CAArB;AACA;AACD,GATQ,EASN,CAAEA,mBAAF,EAAuBT,kBAAvB,CATM,CAAT,CA5HG,CAuIH;;AACA3C,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAM+E,sBAAsB,GAAG3B,mBAAmB,CAACe,MAApB,GAA6B,CAA5D;;AACA,QAAKtB,UAAL,EAAkB;AACjB,YAAMoC,OAAO,GAAGF,sBAAsB,GACnCpF,OAAO;AACP;AACAD,MAAAA,EAAE,CACD,0DADC,EAED,2DAFC,EAGD0D,mBAAmB,CAACe,MAHnB,CAFK,EAOPf,mBAAmB,CAACe,MAPb,CAD4B,GAUnC1E,EAAE,CAAE,aAAF,CAVL;AAYAS,MAAAA,KAAK,CAAE+E,OAAF,EAAW,QAAX,CAAL;AACA;AACD,GAjBQ,EAiBN,CAAE7B,mBAAF,EAAuBP,UAAvB,CAjBM,CAAT,CAxIG,CA2JH;AACA;AACA;;AACA;;AACA,SACC,cAAC,aAAD;AAAe,IAAA,cAAc,EAAG3B;AAAhC,KACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAG3B,UAAU,CACrB0C,SADqB,EAErB,6BAFqB,CADvB;AAKC,IAAA,QAAQ,EAAC,IALV;AAMC,IAAA,KAAK,EAAGR,KANT;AAOC,IAAA,EAAE,EAAI,+BAA+BiB,UAAY,EAPlD;AAQC,IAAA,mBAAmB,EAAGZ,mBARvB;AASC,IAAA,IAAI,EAAGC;AATR,KAWC;AACC,IAAA,SAAS,EAAC,oDADX;AAEC,IAAA,QAAQ,EAAC,IAFV;AAGC,IAAA,SAAS,EAAGqC;AAHb,KAKC,cAAC,gBAAD;AACC,IAAA,qBAAqB,EAAG9C;AADzB,KAGC,cAAC,SAAD,QACC,cAAC,UAAD;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,UAAU,EAAGoB,UAFd;AAGC,IAAA,GAAG,EAAGS,cAHP;AAIC,IAAA,KAAK,EAAGN,UAAU,GAAGI,UAAH,GAAgBR,YAJnC;AAKC,kBACCA,YAAY,GACR,GAAGA,YAAc,KAAKhB,KAAO,EADrB,GAET,IARL;AAUC,IAAA,OAAO,EAAGgD,OAVX;AAWC,IAAA,MAAM,EAAGD,MAXV;AAYC,IAAA,UAAU,EAAG3B,UAZd;AAaC,IAAA,uBAAuB,EAAGO,mBAAmB,CAACO,OAApB,CACzBhB,kBADyB,CAb3B;AAgBC,IAAA,QAAQ,EAAG+B;AAhBZ,IADD,CAHD,EAuBG1C,UAAU,IACX,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,IAAI,EAAG7B,UAFR;AAGC,IAAA,QAAQ,EAAG,CAAEoB,KAHd;AAIC,IAAA,OAAO,EAAGqD,aAJX;AAKC,IAAA,KAAK,EAAGnF,EAAE,CAAE,OAAF;AALX,IADD,CAxBF,CALD,EAwCGoD,UAAU,IACX,cAAC,eAAD;AACC,IAAA,UAAU,EAAGH,UADd;AAEC,IAAA,KAAK,EAAG;AAAEjB,MAAAA,KAAK,EAAEwB;AAAT,KAFT;AAGC,IAAA,gBAAgB,EAAKiC,UAAF,IAClBA,UAAU,CAACzD,KAJb;AAMC,IAAA,WAAW,EAAG2B,mBANf;AAOC,IAAA,aAAa,EAAGA,mBAAmB,CAACO,OAApB,CACfhB,kBADe,CAPjB;AAUC,IAAA,OAAO,EAAGC,qBAVX;AAWC,IAAA,QAAQ,EAAGkB,oBAXZ;AAYC,IAAA,cAAc,MAZf;AAaC,IAAA,wBAAwB,EACvB1B;AAdF,IAzCF,CAXD,CADD,CADD;AA4EA;AACA;;AAED,eAAef,eAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock, FlexItem } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\n\nconst noop = () => {};\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component {\n\t\thandleFocusOutside( event ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nfunction ComboboxControl( {\n\t__next36pxDefaultSize,\n\tvalue: valueProp,\n\tlabel,\n\toptions,\n\tonChange: onChangeProp,\n\tonFilterValueChange = noop,\n\thideLabelFromVision,\n\thelp,\n\tallowReset = true,\n\tclassName,\n\tmessages = {\n\t\tselected: __( 'Item selected.' ),\n\t},\n\t__experimentalRenderItem,\n} ) {\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef();\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\t\tconst match = removeAccents( inputValue.toLocaleLowerCase() );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = removeAccents( option.label )\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options, value ] );\n\n\tconst onSuggestionSelected = ( newSelectedSuggestion ) => {\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = matchingSuggestions.indexOf( selectedSuggestion );\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown = ( event ) => {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.code ) {\n\t\t\tcase 'Enter':\n\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tsetIsExpanded( false );\n\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\tpreventDefault = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tsetIsExpanded( true );\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current.focus();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tmatchingSuggestions.indexOf( selectedSuggestion ) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'components-combobox-control'\n\t\t\t\t) }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\tcurrentLabel\n\t\t\t\t\t\t\t\t\t\t? `${ currentLabel }, ${ label }`\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ { label: inputValue } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ matchingSuggestions.indexOf(\n\t\t\t\t\t\t\t\tselectedSuggestion\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"]}
@@ -0,0 +1,27 @@
1
+ import _styled from "@emotion/styled/base";
2
+
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import { css } from '@emotion/react';
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+
11
+ import { Flex } from '../flex';
12
+ import { space } from '../ui/utils/space';
13
+
14
+ const deprecatedDefaultSize = _ref => {
15
+ let {
16
+ __next36pxDefaultSize
17
+ } = _ref;
18
+ return !__next36pxDefaultSize && /*#__PURE__*/css("height:28px;padding-left:", space(1), ";padding-right:", space(1), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:deprecatedDefaultSize;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY29tYm9ib3gtY29udHJvbC9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0kiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9jb21ib2JveC1jb250cm9sL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uL2ZsZXgnO1xuaW1wb3J0IHsgc3BhY2UgfSBmcm9tICcuLi91aS91dGlscy9zcGFjZSc7XG5cbmNvbnN0IGRlcHJlY2F0ZWREZWZhdWx0U2l6ZSA9ICggeyBfX25leHQzNnB4RGVmYXVsdFNpemUgfSApID0+XG5cdCEgX19uZXh0MzZweERlZmF1bHRTaXplICYmXG5cdGNzc2Bcblx0XHRoZWlnaHQ6IDI4cHg7IC8vIDMwcHggLSAycHggdmVydGljYWwgYm9yZGVycyBvbiBwYXJlbnQgY29udGFpbmVyXG5cdFx0cGFkZGluZy1sZWZ0OiAkeyBzcGFjZSggMSApIH07XG5cdFx0cGFkZGluZy1yaWdodDogJHsgc3BhY2UoIDEgKSB9O1xuXHRgO1xuXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyRmxleCA9IHN0eWxlZCggRmxleCApYFxuXHRoZWlnaHQ6IDM0cHg7IC8vIDM2cHggLSAycHggdmVydGljYWwgYm9yZGVycyBvbiBwYXJlbnQgY29udGFpbmVyXG5cdHBhZGRpbmctbGVmdDogJHsgc3BhY2UoIDIgKSB9O1xuXHRwYWRkaW5nLXJpZ2h0OiAkeyBzcGFjZSggMiApIH07XG5cblx0JHsgZGVwcmVjYXRlZERlZmF1bHRTaXplIH1cbmA7XG4iXX0= */");
19
+ };
20
+
21
+ export const InputWrapperFlex = /*#__PURE__*/_styled(Flex, process.env.NODE_ENV === "production" ? {
22
+ target: "evuatpg0"
23
+ } : {
24
+ target: "evuatpg0",
25
+ label: "InputWrapperFlex"
26
+ })("height:34px;padding-left:", space(2), ";padding-right:", space(2), ";", deprecatedDefaultSize, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY29tYm9ib3gtY29udHJvbC9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0I4QyIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL2NvbWJvYm94LWNvbnRyb2wvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vZmxleCc7XG5pbXBvcnQgeyBzcGFjZSB9IGZyb20gJy4uL3VpL3V0aWxzL3NwYWNlJztcblxuY29uc3QgZGVwcmVjYXRlZERlZmF1bHRTaXplID0gKCB7IF9fbmV4dDM2cHhEZWZhdWx0U2l6ZSB9ICkgPT5cblx0ISBfX25leHQzNnB4RGVmYXVsdFNpemUgJiZcblx0Y3NzYFxuXHRcdGhlaWdodDogMjhweDsgLy8gMzBweCAtIDJweCB2ZXJ0aWNhbCBib3JkZXJzIG9uIHBhcmVudCBjb250YWluZXJcblx0XHRwYWRkaW5nLWxlZnQ6ICR7IHNwYWNlKCAxICkgfTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkeyBzcGFjZSggMSApIH07XG5cdGA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXJGbGV4ID0gc3R5bGVkKCBGbGV4IClgXG5cdGhlaWdodDogMzRweDsgLy8gMzZweCAtIDJweCB2ZXJ0aWNhbCBib3JkZXJzIG9uIHBhcmVudCBjb250YWluZXJcblx0cGFkZGluZy1sZWZ0OiAkeyBzcGFjZSggMiApIH07XG5cdHBhZGRpbmctcmlnaHQ6ICR7IHNwYWNlKCAyICkgfTtcblxuXHQkeyBkZXByZWNhdGVkRGVmYXVsdFNpemUgfVxuYDtcbiJdfQ== */"));
27
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/combobox-control/styles.ts"],"names":["css","Flex","space","deprecatedDefaultSize","__next36pxDefaultSize","InputWrapperFlex"],"mappings":";;AAAA;AACA;AACA;AAEA,SAASA,GAAT,QAAoB,gBAApB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,KAAT,QAAsB,mBAAtB;;AAEA,MAAMC,qBAAqB,GAAG;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA,SAC7B,CAAEA,qBAAF,iBACAJ,GADA,8BAGkBE,KAAK,CAAE,CAAF,CAHvB,qBAImBA,KAAK,CAAE,CAAF,CAJxB,23CAD6B;AAAA,CAA9B;;AAQA,OAAO,MAAMG,gBAAgB,GAAG,qBAAQJ,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,8BAEXC,KAAK,CAAE,CAAF,CAFM,qBAGVA,KAAK,CAAE,CAAF,CAHK,OAKzBC,qBALyB,izCAAtB","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\n\n/**\n * Internal dependencies\n */\nimport { Flex } from '../flex';\nimport { space } from '../ui/utils/space';\n\nconst deprecatedDefaultSize = ( { __next36pxDefaultSize } ) =>\n\t! __next36pxDefaultSize &&\n\tcss`\n\t\theight: 28px; // 30px - 2px vertical borders on parent container\n\t\tpadding-left: ${ space( 1 ) };\n\t\tpadding-right: ${ space( 1 ) };\n\t`;\n\nexport const InputWrapperFlex = styled( Flex )`\n\theight: 34px; // 36px - 2px vertical borders on parent container\n\tpadding-left: ${ space( 2 ) };\n\tpadding-right: ${ space( 2 ) };\n\n\t${ deprecatedDefaultSize }\n`;\n"]}
@@ -12,12 +12,15 @@ import classnames from 'classnames';
12
12
 
13
13
  import { Icon, check, chevronDown } from '@wordpress/icons';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
- import { useCallback } from '@wordpress/element';
15
+ import { useCallback, useState } from '@wordpress/element';
16
16
  /**
17
17
  * Internal dependencies
18
18
  */
19
19
 
20
- import { Button, VisuallyHidden } from '../';
20
+ import { VisuallyHidden } from '../';
21
+ import { Select as SelectControlSelect } from '../select-control/styles/select-control-styles';
22
+ import InputBase from '../input-control/input-base';
23
+ import { StyledLabel } from '../base-control/styles/base-control-styles';
21
24
 
22
25
  const itemToString = item => item === null || item === void 0 ? void 0 : item.name; // This is needed so that in Windows, where
23
26
  // the menu does not necessarily open on
@@ -63,12 +66,18 @@ export default function CustomSelectControl(_ref3) {
63
66
  let {
64
67
  /** Start opting into the larger default height that will become the default size in a future version. */
65
68
  __next36pxDefaultSize = false,
69
+
70
+ /** Start opting into the unconstrained width that will become the default in a future version. */
71
+ __nextUnconstrainedWidth = false,
66
72
  className,
67
73
  hideLabelFromVision,
68
74
  label,
69
75
  describedBy,
70
76
  options: items,
71
77
  onChange: onSelectedItemChange,
78
+
79
+ /** @type {import('../select-control/types').SelectControlProps.size} */
80
+ size = 'default',
72
81
  value: _selectedItem
73
82
  } = _ref3;
74
83
  const {
@@ -89,6 +98,7 @@ export default function CustomSelectControl(_ref3) {
89
98
  } : undefined),
90
99
  stateReducer
91
100
  });
101
+ const [isFocused, setIsFocused] = useState(false);
92
102
 
93
103
  function getDescribedBy() {
94
104
  if (describedBy) {
@@ -124,24 +134,31 @@ export default function CustomSelectControl(_ref3) {
124
134
  as: "label"
125
135
  }, getLabelProps()), label) :
126
136
  /* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */
127
- createElement("label", getLabelProps({
137
+ createElement(StyledLabel, getLabelProps({
128
138
  className: 'components-custom-select-control__label'
129
- }), label), createElement(Button, getToggleButtonProps({
139
+ }), label), createElement(InputBase, {
140
+ isFocused: isOpen || isFocused,
141
+ __unstableInputWidth: __nextUnconstrainedWidth ? undefined : 'auto',
142
+ labelPosition: __nextUnconstrainedWidth ? undefined : 'top'
143
+ }, createElement(SelectControlSelect, _extends({
144
+ as: "button",
145
+ onFocus: () => setIsFocused(true),
146
+ onBlur: () => setIsFocused(false),
147
+ selectSize: size,
148
+ __next36pxDefaultSize: __next36pxDefaultSize
149
+ }, getToggleButtonProps({
130
150
  // This is needed because some speech recognition software don't support `aria-labelledby`.
131
151
  'aria-label': label,
132
152
  'aria-labelledby': undefined,
133
153
  className: classnames('components-custom-select-control__button', {
134
- 'is-next-36px-default-size': __next36pxDefaultSize
154
+ 'is-next-unconstrained-width': __nextUnconstrainedWidth
135
155
  }),
136
- isSmall: !__next36pxDefaultSize,
137
156
  describedBy: getDescribedBy()
138
- }), itemToString(selectedItem), createElement(Icon, {
157
+ })), itemToString(selectedItem), createElement(Icon, {
139
158
  icon: chevronDown,
140
- className: classnames('components-custom-select-control__button-icon', {
141
- 'is-next-36px-default-size': __next36pxDefaultSize
142
- }),
159
+ className: "components-custom-select-control__button-icon",
143
160
  size: 18
144
- })), createElement("ul", _extends({}, menuProps, {
161
+ }))), createElement("ul", _extends({}, menuProps, {
145
162
  onKeyDown: onKeyDownHandler
146
163
  }), isOpen && items.map((item, index) => // eslint-disable-next-line react/jsx-key
147
164
  createElement("li", getItemProps({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/custom-select-control/index.js"],"names":["useSelect","classnames","Icon","check","chevronDown","__","sprintf","useCallback","Button","VisuallyHidden","itemToString","item","name","stateReducer","selectedItem","type","changes","props","items","stateChangeTypes","ToggleButtonKeyDownArrowDown","Math","min","indexOf","length","ToggleButtonKeyDownArrowUp","max","CustomSelectControl","__next36pxDefaultSize","className","hideLabelFromVision","label","describedBy","options","onChange","onSelectedItemChange","value","_selectedItem","getLabelProps","getToggleButtonProps","getMenuProps","getItemProps","isOpen","highlightedIndex","initialSelectedItem","undefined","getDescribedBy","menuProps","onKeyDownHandler","e","stopPropagation","onKeyDown","startsWith","isSmall","map","index","key","__experimentalHint","style"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,WAA1B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,WAAtB,QAAyC,kBAAzC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,WAAT,QAA4B,oBAA5B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,EAAiBC,cAAjB,QAAuC,KAAvC;;AAEA,MAAMC,YAAY,GAAKC,IAAF,IAAYA,IAAZ,aAAYA,IAAZ,uBAAYA,IAAI,CAAEC,IAAvC,C,CACA;AACA;AACA;AACA;;;AACA,MAAMC,YAAY,GAAG,iBAGhB;AAAA,MAFJ;AAAEC,IAAAA;AAAF,GAEI;AAAA,MADJ;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,OAAR;AAAiBC,IAAAA,KAAK,EAAE;AAAEC,MAAAA;AAAF;AAAxB,GACI;;AACJ,UAASH,IAAT;AACC,SAAKf,SAAS,CAACmB,gBAAV,CAA2BC,4BAAhC;AACC;AACA;AACA,aAAO;AACNN,QAAAA,YAAY,EACXI,KAAK,CACJJ,YAAY,GACTO,IAAI,CAACC,GAAL,CACAJ,KAAK,CAACK,OAAN,CAAeT,YAAf,IAAgC,CADhC,EAEAI,KAAK,CAACM,MAAN,GAAe,CAFf,CADS,GAKT,CANC;AAFA,OAAP;;AAWD,SAAKxB,SAAS,CAACmB,gBAAV,CAA2BM,0BAAhC;AACC;AACA;AACA,aAAO;AACNX,QAAAA,YAAY,EACXI,KAAK,CACJJ,YAAY,GACTO,IAAI,CAACK,GAAL,CAAUR,KAAK,CAACK,OAAN,CAAeT,YAAf,IAAgC,CAA1C,EAA6C,CAA7C,CADS,GAETI,KAAK,CAACM,MAAN,GAAe,CAHd;AAFA,OAAP;;AAQD;AACC,aAAOR,OAAP;AA3BF;AA6BA,CAjCD;;AAkCA,eAAe,SAASW,mBAAT,QAUX;AAAA;;AAAA,MAVyC;AAC5C;AACAC,IAAAA,qBAAqB,GAAG,KAFoB;AAG5CC,IAAAA,SAH4C;AAI5CC,IAAAA,mBAJ4C;AAK5CC,IAAAA,KAL4C;AAM5CC,IAAAA,WAN4C;AAO5CC,IAAAA,OAAO,EAAEf,KAPmC;AAQ5CgB,IAAAA,QAAQ,EAAEC,oBARkC;AAS5CC,IAAAA,KAAK,EAAEC;AATqC,GAUzC;AACH,QAAM;AACLC,IAAAA,aADK;AAELC,IAAAA,oBAFK;AAGLC,IAAAA,YAHK;AAILC,IAAAA,YAJK;AAKLC,IAAAA,MALK;AAMLC,IAAAA,gBANK;AAOL7B,IAAAA;AAPK,MAQFd,SAAS,CAAE;AACd4C,IAAAA,mBAAmB,EAAE1B,KAAK,CAAE,CAAF,CADZ;AAEdA,IAAAA,KAFc;AAGdR,IAAAA,YAHc;AAIdyB,IAAAA,oBAJc;AAKd,QAAK,OAAOE,aAAP,KAAyB,WAAzB,IAAwCA,aAAa,KAAK,IAA1D,GACF;AAAEvB,MAAAA,YAAY,EAAEuB;AAAhB,KADE,GAEFQ,SAFH,CALc;AAQdhC,IAAAA;AARc,GAAF,CARb;;AAmBA,WAASiC,cAAT,GAA0B;AACzB,QAAKd,WAAL,EAAmB;AAClB,aAAOA,WAAP;AACA;;AAED,QAAK,CAAElB,YAAP,EAAsB;AACrB,aAAOT,EAAE,CAAE,cAAF,CAAT;AACA,KAPwB,CASzB;;;AACA,WAAOC,OAAO,CAAED,EAAE,CAAE,wBAAF,CAAJ,EAAkCS,YAAY,CAACF,IAA/C,CAAd;AACA;;AAED,QAAMmC,SAAS,GAAGP,YAAY,CAAE;AAC/BX,IAAAA,SAAS,EAAE,wCADoB;AAE/B,mBAAe,CAAEa;AAFc,GAAF,CAA9B;AAKA,QAAMM,gBAAgB,GAAGzC,WAAW,CACjC0C,CAAF,IAAS;AAAA;;AACRA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,oCAAAA,SAAS,CAAEI,SAAX,mFAAAJ,SAAS,EAAeE,CAAf,CAAT;AACA,GAJkC,EAKnC,CAAEF,SAAF,CALmC,CAApC,CAtCG,CA8CH;;AACA,8BACCA,SAAS,CAAE,uBAAF,CADV,iDACC,qBAAsCK,UAAtC,CAAkD,gBAAlD,CADD,EAEE;AACD,WAAOL,SAAS,CAAE,uBAAF,CAAhB;AACA;;AACD,SACC;AACC,IAAA,SAAS,EAAG9C,UAAU,CACrB,kCADqB,EAErB4B,SAFqB;AADvB,KAMGC,mBAAmB,GACpB,cAAC,cAAD;AAAgB,IAAA,EAAE,EAAC;AAAnB,KAAgCQ,aAAa,EAA7C,GACGP,KADH,CADoB;AAKpB;AACA,yBACMO,aAAa,CAAE;AACnBT,IAAAA,SAAS,EAAE;AADQ,GAAF,CADnB,EAKGE,KALH,CAZF,EAoBC,cAAC,MAAD,EACMQ,oBAAoB,CAAE;AAC1B;AACA,kBAAcR,KAFY;AAG1B,uBAAmBc,SAHO;AAI1BhB,IAAAA,SAAS,EAAE5B,UAAU,CACpB,0CADoB,EAEpB;AAAE,mCAA6B2B;AAA/B,KAFoB,CAJK;AAQ1ByB,IAAAA,OAAO,EAAE,CAAEzB,qBARe;AAS1BI,IAAAA,WAAW,EAAEc,cAAc;AATD,GAAF,CAD1B,EAaGpC,YAAY,CAAEI,YAAF,CAbf,EAcC,cAAC,IAAD;AACC,IAAA,IAAI,EAAGV,WADR;AAEC,IAAA,SAAS,EAAGH,UAAU,CACrB,+CADqB,EAErB;AACC,mCAA6B2B;AAD9B,KAFqB,CAFvB;AAQC,IAAA,IAAI,EAAG;AARR,IAdD,CApBD,EA8CC,iCAASmB,SAAT;AAAqB,IAAA,SAAS,EAAGC;AAAjC,MACGN,MAAM,IACPxB,KAAK,CAACoC,GAAN,CAAW,CAAE3C,IAAF,EAAQ4C,KAAR,KACV;AACA,sBACMd,YAAY,CAAE;AAClB9B,IAAAA,IADkB;AAElB4C,IAAAA,KAFkB;AAGlBC,IAAAA,GAAG,EAAE7C,IAAI,CAAC6C,GAHQ;AAIlB3B,IAAAA,SAAS,EAAE5B,UAAU,CACpBU,IAAI,CAACkB,SADe,EAEpB,wCAFoB,EAGpB;AACC,wBACC0B,KAAK,KAAKZ,gBAFZ;AAGC,kBAAY,CAAC,CAAEhC,IAAI,CAAC8C,kBAHrB;AAIC,mCACC7B;AALF,KAHoB,CAJH;AAelB8B,IAAAA,KAAK,EAAE/C,IAAI,CAAC+C;AAfM,GAAF,CADlB,EAmBG/C,IAAI,CAACC,IAnBR,EAoBGD,IAAI,CAAC8C,kBAAL,IACD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACG9C,IAAI,CAAC8C,kBADR,CArBF,EAyBG9C,IAAI,KAAKG,YAAT,IACD,cAAC,IAAD;AACC,IAAA,IAAI,EAAGX,KADR;AAEC,IAAA,SAAS,EAAC;AAFX,IA1BF,CAFD,CAFF,CA9CD,CADD;AAuFA","sourcesContent":["/**\n * External dependencies\n */\nimport { useSelect } from 'downshift';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, check, chevronDown } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Button, VisuallyHidden } from '../';\n\nconst itemToString = ( item ) => item?.name;\n// This is needed so that in Windows, where\n// the menu does not necessarily open on\n// key up/down, you can still switch between\n// options with the menu closed.\nconst stateReducer = (\n\t{ selectedItem },\n\t{ type, changes, props: { items } }\n) => {\n\tswitch ( type ) {\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:\n\t\t\t// If we already have a selected item, try to select the next one,\n\t\t\t// without circular navigation. Otherwise, select the first item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.min(\n\t\t\t\t\t\t\t\t\titems.indexOf( selectedItem ) + 1,\n\t\t\t\t\t\t\t\t\titems.length - 1\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t],\n\t\t\t};\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:\n\t\t\t// If we already have a selected item, try to select the previous one,\n\t\t\t// without circular navigation. Otherwise, select the last item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.max( items.indexOf( selectedItem ) - 1, 0 )\n\t\t\t\t\t\t\t: items.length - 1\n\t\t\t\t\t],\n\t\t\t};\n\t\tdefault:\n\t\t\treturn changes;\n\t}\n};\nexport default function CustomSelectControl( {\n\t/** Start opting into the larger default height that will become the default size in a future version. */\n\t__next36pxDefaultSize = false,\n\tclassName,\n\thideLabelFromVision,\n\tlabel,\n\tdescribedBy,\n\toptions: items,\n\tonChange: onSelectedItemChange,\n\tvalue: _selectedItem,\n} ) {\n\tconst {\n\t\tgetLabelProps,\n\t\tgetToggleButtonProps,\n\t\tgetMenuProps,\n\t\tgetItemProps,\n\t\tisOpen,\n\t\thighlightedIndex,\n\t\tselectedItem,\n\t} = useSelect( {\n\t\tinitialSelectedItem: items[ 0 ],\n\t\titems,\n\t\titemToString,\n\t\tonSelectedItemChange,\n\t\t...( typeof _selectedItem !== 'undefined' && _selectedItem !== null\n\t\t\t? { selectedItem: _selectedItem }\n\t\t\t: undefined ),\n\t\tstateReducer,\n\t} );\n\n\tfunction getDescribedBy() {\n\t\tif ( describedBy ) {\n\t\t\treturn describedBy;\n\t\t}\n\n\t\tif ( ! selectedItem ) {\n\t\t\treturn __( 'No selection' );\n\t\t}\n\n\t\t// translators: %s: The selected option.\n\t\treturn sprintf( __( 'Currently selected: %s' ), selectedItem.name );\n\t}\n\n\tconst menuProps = getMenuProps( {\n\t\tclassName: 'components-custom-select-control__menu',\n\t\t'aria-hidden': ! isOpen,\n\t} );\n\n\tconst onKeyDownHandler = useCallback(\n\t\t( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tmenuProps?.onKeyDown?.( e );\n\t\t},\n\t\t[ menuProps ]\n\t);\n\n\t// We need this here, because the null active descendant is not fully ARIA compliant.\n\tif (\n\t\tmenuProps[ 'aria-activedescendant' ]?.startsWith( 'downshift-null' )\n\t) {\n\t\tdelete menuProps[ 'aria-activedescendant' ];\n\t}\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-custom-select-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t{ hideLabelFromVision ? (\n\t\t\t\t<VisuallyHidden as=\"label\" { ...getLabelProps() }>\n\t\t\t\t\t{ label }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) : (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */\n\t\t\t\t<label\n\t\t\t\t\t{ ...getLabelProps( {\n\t\t\t\t\t\tclassName: 'components-custom-select-control__label',\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\t{ ...getToggleButtonProps( {\n\t\t\t\t\t// This is needed because some speech recognition software don't support `aria-labelledby`.\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t'aria-labelledby': undefined,\n\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t'components-custom-select-control__button',\n\t\t\t\t\t\t{ 'is-next-36px-default-size': __next36pxDefaultSize }\n\t\t\t\t\t),\n\t\t\t\t\tisSmall: ! __next36pxDefaultSize,\n\t\t\t\t\tdescribedBy: getDescribedBy(),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ itemToString( selectedItem ) }\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-custom-select-control__button-icon',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-next-36px-default-size': __next36pxDefaultSize,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tsize={ 18 }\n\t\t\t\t/>\n\t\t\t</Button>\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<ul { ...menuProps } onKeyDown={ onKeyDownHandler }>\n\t\t\t\t{ isOpen &&\n\t\t\t\t\titems.map( ( item, index ) => (\n\t\t\t\t\t\t// eslint-disable-next-line react/jsx-key\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t{ ...getItemProps( {\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\tkey: item.key,\n\t\t\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t\t\titem.className,\n\t\t\t\t\t\t\t\t\t'components-custom-select-control__item',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-highlighted':\n\t\t\t\t\t\t\t\t\t\t\tindex === highlightedIndex,\n\t\t\t\t\t\t\t\t\t\t'has-hint': !! item.__experimentalHint,\n\t\t\t\t\t\t\t\t\t\t'is-next-36px-default-size':\n\t\t\t\t\t\t\t\t\t\t\t__next36pxDefaultSize,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: item.style,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.name }\n\t\t\t\t\t\t\t{ item.__experimentalHint && (\n\t\t\t\t\t\t\t\t<span className=\"components-custom-select-control__item-hint\">\n\t\t\t\t\t\t\t\t\t{ item.__experimentalHint }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ item === selectedItem && (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\t\t\tclassName=\"components-custom-select-control__item-icon\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/custom-select-control/index.js"],"names":["useSelect","classnames","Icon","check","chevronDown","__","sprintf","useCallback","useState","VisuallyHidden","Select","SelectControlSelect","InputBase","StyledLabel","itemToString","item","name","stateReducer","selectedItem","type","changes","props","items","stateChangeTypes","ToggleButtonKeyDownArrowDown","Math","min","indexOf","length","ToggleButtonKeyDownArrowUp","max","CustomSelectControl","__next36pxDefaultSize","__nextUnconstrainedWidth","className","hideLabelFromVision","label","describedBy","options","onChange","onSelectedItemChange","size","value","_selectedItem","getLabelProps","getToggleButtonProps","getMenuProps","getItemProps","isOpen","highlightedIndex","initialSelectedItem","undefined","isFocused","setIsFocused","getDescribedBy","menuProps","onKeyDownHandler","e","stopPropagation","onKeyDown","startsWith","map","index","key","__experimentalHint","style"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { useSelect } from 'downshift';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, check, chevronDown } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '../';\nimport { Select as SelectControlSelect } from '../select-control/styles/select-control-styles';\nimport InputBase from '../input-control/input-base';\nimport { StyledLabel } from '../base-control/styles/base-control-styles';\n\nconst itemToString = ( item ) => item?.name;\n// This is needed so that in Windows, where\n// the menu does not necessarily open on\n// key up/down, you can still switch between\n// options with the menu closed.\nconst stateReducer = (\n\t{ selectedItem },\n\t{ type, changes, props: { items } }\n) => {\n\tswitch ( type ) {\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:\n\t\t\t// If we already have a selected item, try to select the next one,\n\t\t\t// without circular navigation. Otherwise, select the first item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.min(\n\t\t\t\t\t\t\t\t\titems.indexOf( selectedItem ) + 1,\n\t\t\t\t\t\t\t\t\titems.length - 1\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t],\n\t\t\t};\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:\n\t\t\t// If we already have a selected item, try to select the previous one,\n\t\t\t// without circular navigation. Otherwise, select the last item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.max( items.indexOf( selectedItem ) - 1, 0 )\n\t\t\t\t\t\t\t: items.length - 1\n\t\t\t\t\t],\n\t\t\t};\n\t\tdefault:\n\t\t\treturn changes;\n\t}\n};\nexport default function CustomSelectControl( {\n\t/** Start opting into the larger default height that will become the default size in a future version. */\n\t__next36pxDefaultSize = false,\n\t/** Start opting into the unconstrained width that will become the default in a future version. */\n\t__nextUnconstrainedWidth = false,\n\tclassName,\n\thideLabelFromVision,\n\tlabel,\n\tdescribedBy,\n\toptions: items,\n\tonChange: onSelectedItemChange,\n\t/** @type {import('../select-control/types').SelectControlProps.size} */\n\tsize = 'default',\n\tvalue: _selectedItem,\n} ) {\n\tconst {\n\t\tgetLabelProps,\n\t\tgetToggleButtonProps,\n\t\tgetMenuProps,\n\t\tgetItemProps,\n\t\tisOpen,\n\t\thighlightedIndex,\n\t\tselectedItem,\n\t} = useSelect( {\n\t\tinitialSelectedItem: items[ 0 ],\n\t\titems,\n\t\titemToString,\n\t\tonSelectedItemChange,\n\t\t...( typeof _selectedItem !== 'undefined' && _selectedItem !== null\n\t\t\t? { selectedItem: _selectedItem }\n\t\t\t: undefined ),\n\t\tstateReducer,\n\t} );\n\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tfunction getDescribedBy() {\n\t\tif ( describedBy ) {\n\t\t\treturn describedBy;\n\t\t}\n\n\t\tif ( ! selectedItem ) {\n\t\t\treturn __( 'No selection' );\n\t\t}\n\n\t\t// translators: %s: The selected option.\n\t\treturn sprintf( __( 'Currently selected: %s' ), selectedItem.name );\n\t}\n\n\tconst menuProps = getMenuProps( {\n\t\tclassName: 'components-custom-select-control__menu',\n\t\t'aria-hidden': ! isOpen,\n\t} );\n\n\tconst onKeyDownHandler = useCallback(\n\t\t( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tmenuProps?.onKeyDown?.( e );\n\t\t},\n\t\t[ menuProps ]\n\t);\n\n\t// We need this here, because the null active descendant is not fully ARIA compliant.\n\tif (\n\t\tmenuProps[ 'aria-activedescendant' ]?.startsWith( 'downshift-null' )\n\t) {\n\t\tdelete menuProps[ 'aria-activedescendant' ];\n\t}\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-custom-select-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t{ hideLabelFromVision ? (\n\t\t\t\t<VisuallyHidden as=\"label\" { ...getLabelProps() }>\n\t\t\t\t\t{ label }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) : (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */\n\t\t\t\t<StyledLabel\n\t\t\t\t\t{ ...getLabelProps( {\n\t\t\t\t\t\tclassName: 'components-custom-select-control__label',\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</StyledLabel>\n\t\t\t) }\n\t\t\t<InputBase\n\t\t\t\tisFocused={ isOpen || isFocused }\n\t\t\t\t__unstableInputWidth={\n\t\t\t\t\t__nextUnconstrainedWidth ? undefined : 'auto'\n\t\t\t\t}\n\t\t\t\tlabelPosition={ __nextUnconstrainedWidth ? undefined : 'top' }\n\t\t\t>\n\t\t\t\t<SelectControlSelect\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\tonFocus={ () => setIsFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsFocused( false ) }\n\t\t\t\t\tselectSize={ size }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\t{ ...getToggleButtonProps( {\n\t\t\t\t\t\t// This is needed because some speech recognition software don't support `aria-labelledby`.\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t\t'aria-labelledby': undefined,\n\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t'components-custom-select-control__button',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-next-unconstrained-width':\n\t\t\t\t\t\t\t\t\t__nextUnconstrainedWidth,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t),\n\t\t\t\t\t\tdescribedBy: getDescribedBy(),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ itemToString( selectedItem ) }\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\tclassName=\"components-custom-select-control__button-icon\"\n\t\t\t\t\t\tsize={ 18 }\n\t\t\t\t\t/>\n\t\t\t\t</SelectControlSelect>\n\t\t\t</InputBase>\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<ul { ...menuProps } onKeyDown={ onKeyDownHandler }>\n\t\t\t\t{ isOpen &&\n\t\t\t\t\titems.map( ( item, index ) => (\n\t\t\t\t\t\t// eslint-disable-next-line react/jsx-key\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t{ ...getItemProps( {\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\tkey: item.key,\n\t\t\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t\t\titem.className,\n\t\t\t\t\t\t\t\t\t'components-custom-select-control__item',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-highlighted':\n\t\t\t\t\t\t\t\t\t\t\tindex === highlightedIndex,\n\t\t\t\t\t\t\t\t\t\t'has-hint': !! item.__experimentalHint,\n\t\t\t\t\t\t\t\t\t\t'is-next-36px-default-size':\n\t\t\t\t\t\t\t\t\t\t\t__next36pxDefaultSize,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: item.style,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.name }\n\t\t\t\t\t\t\t{ item.__experimentalHint && (\n\t\t\t\t\t\t\t\t<span className=\"components-custom-select-control__item-hint\">\n\t\t\t\t\t\t\t\t\t{ item.__experimentalHint }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ item === selectedItem && (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\t\t\tclassName=\"components-custom-select-control__item-icon\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"]}
@@ -14,10 +14,11 @@ import { __ } from '@wordpress/i18n';
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
+ import BaseControl from '../../base-control';
17
18
  import Button from '../../button';
18
19
  import ButtonGroup from '../../button-group';
19
20
  import TimeZone from './timezone';
20
- import { Wrapper, Fieldset, Legend, HoursInput, TimeSeparator, MinutesInput, MonthSelectWrapper, MonthSelect, DayInput, YearInput, TimeWrapper } from './styles';
21
+ import { Wrapper, Fieldset, HoursInput, TimeSeparator, MinutesInput, MonthSelectWrapper, MonthSelect, DayInput, YearInput, TimeWrapper } from './styles';
21
22
  import { HStack } from '../../h-stack';
22
23
  import { Spacer } from '../../spacer';
23
24
  import { COMMIT, PRESS_DOWN, PRESS_UP } from '../../input-control/reducer/actions';
@@ -213,7 +214,8 @@ export function TimePicker(_ref) {
213
214
  return createElement(Wrapper, {
214
215
  className: "components-datetime__time" // Unused, for backwards compatibility.
215
216
 
216
- }, createElement(Fieldset, null, createElement(Legend, {
217
+ }, createElement(Fieldset, null, createElement(BaseControl.VisualLabel, {
218
+ as: "legend",
217
219
  className: "components-datetime__time-legend" // Unused, for backwards compatibility.
218
220
 
219
221
  }, __('Time')), createElement(HStack, {
@@ -273,7 +275,8 @@ export function TimePicker(_ref) {
273
275
  ,
274
276
  variant: am === 'PM' ? 'primary' : 'secondary',
275
277
  onClick: buildAmPmChangeCallback('PM')
276
- }, __('PM'))), createElement(Spacer, null), createElement(TimeZone, null))), createElement(Fieldset, null, createElement(Legend, {
278
+ }, __('PM'))), createElement(Spacer, null), createElement(TimeZone, null))), createElement(Fieldset, null, createElement(BaseControl.VisualLabel, {
279
+ as: "legend",
277
280
  className: "components-datetime__time-legend" // Unused, for backwards compatibility.
278
281
 
279
282
  }, __('Date')), createElement(HStack, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/date-time/time/index.tsx"],"names":["moment","useState","useMemo","useEffect","__","Button","ButtonGroup","TimeZone","Wrapper","Fieldset","Legend","HoursInput","TimeSeparator","MinutesInput","MonthSelectWrapper","MonthSelect","DayInput","YearInput","TimeWrapper","HStack","Spacer","COMMIT","PRESS_DOWN","PRESS_UP","TIMEZONELESS_FORMAT","from12hTo24h","hours","isPm","buildPadInputStateReducer","pad","state","action","nextState","type","value","undefined","toString","padStart","TimePicker","is12Hour","currentTime","onChange","date","setDate","startOf","day","month","year","minutes","am","format","Number","buildNumberControlChangeCallback","method","callback","event","target","HTMLInputElement","validity","valid","numberValue","newDate","clone","buildAmPmChangeCallback","parsedHours","parseInt","dayField","monthField","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,MAAP,MAAmB,QAAnB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,SAA5B,QAA6C,oBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,WAAP,MAAwB,oBAAxB;AACA,OAAOC,QAAP,MAAqB,YAArB;AAEA,SACCC,OADD,EAECC,QAFD,EAGCC,MAHD,EAICC,UAJD,EAKCC,aALD,EAMCC,YAND,EAOCC,kBAPD,EAQCC,WARD,EASCC,QATD,EAUCC,SAVD,EAWCC,WAXD,QAYO,UAZP;AAaA,SAASC,MAAT,QAAuB,eAAvB;AACA,SAASC,MAAT,QAAuB,cAAvB;AAGA,SACCC,MADD,EAGCC,UAHD,EAICC,QAJD,QAKO,qCALP;AAOA,MAAMC,mBAAmB,GAAG,qBAA5B;;AAEA,SAASC,YAAT,CAAuBC,KAAvB,EAAsCC,IAAtC,EAAsD;AACrD,SAAOA,IAAI,GAAG,CAAID,KAAK,GAAG,EAAV,GAAiB,EAAnB,IAA0B,EAA7B,GAAkCA,KAAK,GAAG,EAArD;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,yBAAT,CAAoCC,GAApC,EAAkD;AACjD,SAAO,CAAEC,KAAF,EAAqBC,MAArB,KAA8C;AACpD,UAAMC,SAAS,GAAG,EAAE,GAAGF;AAAL,KAAlB;;AACA,QACCC,MAAM,CAACE,IAAP,KAAgBZ,MAAhB,IACAU,MAAM,CAACE,IAAP,KAAgBV,QADhB,IAEAQ,MAAM,CAACE,IAAP,KAAgBX,UAHjB,EAIE;AACD,UAAKU,SAAS,CAACE,KAAV,KAAoBC,SAAzB,EAAqC;AACpCH,QAAAA,SAAS,CAACE,KAAV,GAAkBF,SAAS,CAACE,KAAV,CAChBE,QADgB,GAEhBC,QAFgB,CAENR,GAFM,EAED,GAFC,CAAlB;AAGA;AACD;;AACD,WAAOG,SAAP;AACA,GAdD;AAeA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASM,UAAT,OAIc;AAAA,MAJO;AAC3BC,IAAAA,QAD2B;AAE3BC,IAAAA,WAF2B;AAG3BC,IAAAA;AAH2B,GAIP;AACpB,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB1C,QAAQ,CAAE,MACnC;AACAuC,EAAAA,WAAW,GAAGxC,MAAM,CAAEwC,WAAF,CAAN,CAAsBI,OAAtB,CAA+B,SAA/B,CAAH,GAAgD5C,MAAM,EAFhC,CAAlC,CADoB,CAMpB;;AACAG,EAAAA,SAAS,CAAE,MAAM;AAChBwC,IAAAA,OAAO,CACNH,WAAW,GAAGxC,MAAM,CAAEwC,WAAF,CAAN,CAAsBI,OAAtB,CAA+B,SAA/B,CAAH,GAAgD5C,MAAM,EAD3D,CAAP;AAGA,GAJQ,EAIN,CAAEwC,WAAF,CAJM,CAAT;AAMA,QAAM;AAAEK,IAAAA,GAAF;AAAOC,IAAAA,KAAP;AAAcC,IAAAA,IAAd;AAAoBC,IAAAA,OAApB;AAA6BtB,IAAAA,KAA7B;AAAoCuB,IAAAA;AAApC,MAA2C/C,OAAO,CACvD,OAAQ;AACP2C,IAAAA,GAAG,EAAEH,IAAI,CAACQ,MAAL,CAAa,IAAb,CADE;AAEPJ,IAAAA,KAAK,EAAEJ,IAAI,CAACQ,MAAL,CAAa,IAAb,CAFA;AAGPH,IAAAA,IAAI,EAAEL,IAAI,CAACQ,MAAL,CAAa,MAAb,CAHC;AAIPF,IAAAA,OAAO,EAAEN,IAAI,CAACQ,MAAL,CAAa,IAAb,CAJF;AAKPxB,IAAAA,KAAK,EAAEgB,IAAI,CAACQ,MAAL,CAAaX,QAAQ,GAAG,IAAH,GAAU,IAA/B,CALA;AAMPU,IAAAA,EAAE,EAAEE,MAAM,CAAET,IAAI,CAACQ,MAAL,CAAa,GAAb,CAAF,CAAN,IAAgC,EAAhC,GAAqC,IAArC,GAA4C;AANzC,GAAR,CADuD,EASvD,CAAER,IAAF,EAAQH,QAAR,CATuD,CAAxD;;AAYA,QAAMa,gCAAgC,GACrCC,MADwC,IAEpC;AACJ,UAAMC,QAA6B,GAAG,CAAEpB,KAAF,YAAwB;AAAA,UAAf;AAAEqB,QAAAA;AAAF,OAAe;;AAC7D,UAAK,EAAIA,KAAK,CAACC,MAAN,YAAwBC,gBAA5B,CAAL,EAAsD;AACrD;AACA;;AAED,UAAK,CAAEF,KAAK,CAACC,MAAN,CAAaE,QAAb,CAAsBC,KAA7B,EAAqC;AACpC;AACA,OAP4D,CAS7D;;;AACA,UAAIC,WAAW,GAAGT,MAAM,CAAEjB,KAAF,CAAxB,CAV6D,CAY7D;AACA;AACA;;AACA,UAAKmB,MAAM,KAAK,OAAX,IAAsBd,QAA3B,EAAsC;AACrCqB,QAAAA,WAAW,GAAGnC,YAAY,CAAEmC,WAAF,EAAeX,EAAE,KAAK,IAAtB,CAA1B;AACA;;AAED,YAAMY,OAAO,GAAGnB,IAAI,CAACoB,KAAL,GAAcT,MAAd,EAAwBO,WAAxB,CAAhB;AACAjB,MAAAA,OAAO,CAAEkB,OAAF,CAAP;AACApB,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAIoB,OAAO,CAACX,MAAR,CAAgB1B,mBAAhB,CAAJ,CAAR;AACA,KAtBD;;AAuBA,WAAO8B,QAAP;AACA,GA3BD;;AA6BA,WAASS,uBAAT,CAAkC7B,KAAlC,EAAuD;AACtD,WAAO,MAAM;AACZ,UAAKe,EAAE,KAAKf,KAAZ,EAAoB;AACnB;AACA;;AAED,YAAM8B,WAAW,GAAGC,QAAQ,CAAEvC,KAAF,EAAS,EAAT,CAA5B;AAEA,YAAMmC,OAAO,GAAGnB,IAAI,CAClBoB,KADc,GAEdpC,KAFc,CAEPD,YAAY,CAAEuC,WAAF,EAAe9B,KAAK,KAAK,IAAzB,CAFL,CAAhB;AAGAS,MAAAA,OAAO,CAAEkB,OAAF,CAAP;AACApB,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAIoB,OAAO,CAACX,MAAR,CAAgB1B,mBAAhB,CAAJ,CAAR;AACA,KAZD;AAaA;;AAED,QAAM0C,QAAQ,GACb,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,qEADX,CACiF;AADjF;AAEC,IAAA,KAAK,EAAG9D,EAAE,CAAE,KAAF,CAFX;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,qBAAqB,MAJtB;AAKC,IAAA,KAAK,EAAGyC,GALT;AAMC,IAAA,IAAI,EAAG,CANR;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EAAG,EARP;AASC,IAAA,QAAQ,MATT;AAUC,IAAA,cAAc,MAVf;AAWC,IAAA,oBAAoB,MAXrB;AAYC,IAAA,aAAa,EAAG,KAZjB;AAaC,IAAA,kBAAkB,EAAG,KAbtB;AAcC,IAAA,QAAQ,EAAGO,gCAAgC,CAAE,MAAF;AAd5C,IADD;AAmBA,QAAMe,UAAU,GACf,cAAC,kBAAD,QACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAC,uEADX,CACmF;AADnF;AAEC,IAAA,KAAK,EAAG/D,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,uBAAuB,MAJxB;AAKC,IAAA,KAAK,EAAG0C,KALT;AAMC,IAAA,OAAO,EAAG,CACT;AAAEZ,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,SAAF;AAAxB,KADS,EAET;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,UAAF;AAAxB,KAFS,EAGT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,OAAF;AAAxB,KAHS,EAIT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,OAAF;AAAxB,KAJS,EAKT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,KAAF;AAAxB,KALS,EAMT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,MAAF;AAAxB,KANS,EAOT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,MAAF;AAAxB,KAPS,EAQT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,QAAF;AAAxB,KARS,EAST;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,WAAF;AAAxB,KATS,EAUT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,SAAF;AAAxB,KAVS,EAWT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,UAAF;AAAxB,KAXS,EAYT;AAAE8B,MAAAA,KAAK,EAAE,IAAT;AAAekC,MAAAA,KAAK,EAAEhE,EAAE,CAAE,UAAF;AAAxB,KAZS,CANX;AAoBC,IAAA,QAAQ,EAAK8B,KAAF,IAAa;AACvB,YAAM2B,OAAO,GAAGnB,IAAI,CAACoB,KAAL,GAAahB,KAAb,CAAoBK,MAAM,CAAEjB,KAAF,CAAN,GAAkB,CAAtC,CAAhB;AACAS,MAAAA,OAAO,CAAEkB,OAAF,CAAP;AACApB,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAIoB,OAAO,CAACX,MAAR,CAAgB1B,mBAAhB,CAAJ,CAAR;AACA;AAxBF,IADD,CADD;AA+BA,SACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,2BADX,CACuC;;AADvC,KAGC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,kCADX,CAC8C;;AAD9C,KAGGpB,EAAE,CAAE,MAAF,CAHL,CADD,EAMC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,mCADX,CAC+C;;AAD/C,KAGC,cAAC,WAAD;AACC,IAAA,SAAS,EAAC,sEADX,CACkF;;AADlF,KAGC,cAAC,UAAD;AACC,IAAA,SAAS,EAAC,6CADX,CACyD;AADzD;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,qBAAqB,MAJtB;AAKC,IAAA,KAAK,EAAGsB,KALT;AAMC,IAAA,IAAI,EAAG,CANR;AAOC,IAAA,GAAG,EAAGa,QAAQ,GAAG,CAAH,GAAO,CAPtB;AAQC,IAAA,GAAG,EAAGA,QAAQ,GAAG,EAAH,GAAQ,EARvB;AASC,IAAA,QAAQ,MATT;AAUC,IAAA,cAAc,MAVf;AAWC,IAAA,oBAAoB,MAXrB;AAYC,IAAA,aAAa,EAAG,KAZjB;AAaC,IAAA,kBAAkB,EAAG,KAbtB;AAcC,IAAA,QAAQ,EAAGa,gCAAgC,CAC1C,OAD0C,CAd5C;AAiBC,IAAA,sBAAsB,EAAGxB,yBAAyB,CACjD,CADiD;AAjBnD,IAHD,EAwBC,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,qCADX,CACiD;AADjD;AAEC,mBAAY;AAFb,SAxBD,EA8BC,cAAC,YAAD;AACC,IAAA,SAAS,EAAC,+CADX,CAC2D;AAD3D;AAEC,IAAA,KAAK,EAAGxB,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,qBAAqB,MAJtB;AAKC,IAAA,KAAK,EAAG4C,OALT;AAMC,IAAA,IAAI,EAAG,CANR;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EAAG,EARP;AASC,IAAA,QAAQ,MATT;AAUC,IAAA,cAAc,MAVf;AAWC,IAAA,oBAAoB,MAXrB;AAYC,IAAA,aAAa,EAAG,KAZjB;AAaC,IAAA,kBAAkB,EAAG,KAbtB;AAcC,IAAA,QAAQ,EAAGI,gCAAgC,CAC1C,SAD0C,CAd5C;AAiBC,IAAA,sBAAsB,EAAGxB,yBAAyB,CACjD,CADiD;AAjBnD,IA9BD,CAHD,EAuDGW,QAAQ,IACT,cAAC,WAAD;AACC,IAAA,SAAS,EAAC,uEADX,CACmF;;AADnF,KAGC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,qCADX,CACiD;AADjD;AAEC,IAAA,OAAO,EACNU,EAAE,KAAK,IAAP,GAAc,SAAd,GAA0B,WAH5B;AAKC,IAAA,OAAO,EAAGc,uBAAuB,CAAE,IAAF;AALlC,KAOG3D,EAAE,CAAE,IAAF,CAPL,CAHD,EAYC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,qCADX,CACiD;AADjD;AAEC,IAAA,OAAO,EACN6C,EAAE,KAAK,IAAP,GAAc,SAAd,GAA0B,WAH5B;AAKC,IAAA,OAAO,EAAGc,uBAAuB,CAAE,IAAF;AALlC,KAOG3D,EAAE,CAAE,IAAF,CAPL,CAZD,CAxDF,EA+EC,cAAC,MAAD,OA/ED,EAgFC,cAAC,QAAD,OAhFD,CAND,CAHD,EA4FC,cAAC,QAAD,QACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,kCADX,CAC8C;;AAD9C,KAGGA,EAAE,CAAE,MAAF,CAHL,CADD,EAMC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,mCADX,CAC+C;;AAD/C,KAGGmC,QAAQ,GACT,8BACG4B,UADH,EAEGD,QAFH,CADS,GAMT,8BACGA,QADH,EAEGC,UAFH,CATF,EAcC,cAAC,SAAD;AACC,IAAA,SAAS,EAAC,sEADX,CACkF;AADlF;AAEC,IAAA,KAAK,EAAG/D,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,mBAAmB,MAHpB;AAIC,IAAA,qBAAqB,MAJtB;AAKC,IAAA,KAAK,EAAG2C,IALT;AAMC,IAAA,IAAI,EAAG,CANR;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EAAG,IARP;AASC,IAAA,QAAQ,MATT;AAUC,IAAA,cAAc,MAVf;AAWC,IAAA,oBAAoB,MAXrB;AAYC,IAAA,aAAa,EAAG,KAZjB;AAaC,IAAA,kBAAkB,EAAG,KAbtB;AAcC,IAAA,QAAQ,EAAGK,gCAAgC,CAAE,MAAF,CAd5C;AAeC,IAAA,sBAAsB,EAAGxB,yBAAyB,CACjD,CADiD;AAfnD,IAdD,CAND,CA5FD,CADD;AAwIA;AAED,eAAeU,UAAf","sourcesContent":["/**\n * External dependencies\n */\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport ButtonGroup from '../../button-group';\nimport TimeZone from './timezone';\nimport type { TimePickerProps } from '../types';\nimport {\n\tWrapper,\n\tFieldset,\n\tLegend,\n\tHoursInput,\n\tTimeSeparator,\n\tMinutesInput,\n\tMonthSelectWrapper,\n\tMonthSelect,\n\tDayInput,\n\tYearInput,\n\tTimeWrapper,\n} from './styles';\nimport { HStack } from '../../h-stack';\nimport { Spacer } from '../../spacer';\nimport type { InputChangeCallback } from '../../input-control/types';\nimport type { InputState } from '../../input-control/reducer/state';\nimport {\n\tCOMMIT,\n\tInputAction,\n\tPRESS_DOWN,\n\tPRESS_UP,\n} from '../../input-control/reducer/actions';\n\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nfunction from12hTo24h( hours: number, isPm: boolean ) {\n\treturn isPm ? ( ( hours % 12 ) + 12 ) % 24 : hours % 12;\n}\n\n/**\n * Creates an InputControl reducer used to pad an input so that it is always a\n * given width. For example, the hours and minutes inputs are padded to 2 so\n * that '4' appears as '04'.\n *\n * @param pad How many digits the value should be.\n */\nfunction buildPadInputStateReducer( pad: number ) {\n\treturn ( state: InputState, action: InputAction ) => {\n\t\tconst nextState = { ...state };\n\t\tif (\n\t\t\taction.type === COMMIT ||\n\t\t\taction.type === PRESS_UP ||\n\t\t\taction.type === PRESS_DOWN\n\t\t) {\n\t\t\tif ( nextState.value !== undefined ) {\n\t\t\t\tnextState.value = nextState.value\n\t\t\t\t\t.toString()\n\t\t\t\t\t.padStart( pad, '0' );\n\t\t\t}\n\t\t}\n\t\treturn nextState;\n\t};\n}\n\n/**\n * TimePicker is a React component that renders a clock for time selection.\n *\n * ```jsx\n * import { TimePicker } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyTimePicker = () => {\n * const [ time, setTime ] = useState( new Date() );\n *\n * return (\n * <TimePicker\n * currentTime={ date }\n * onChange={ ( newTime ) => setTime( newTime ) }\n * is12Hour\n * />\n * );\n * };\n * ```\n */\nexport function TimePicker( {\n\tis12Hour,\n\tcurrentTime,\n\tonChange,\n}: TimePickerProps ) {\n\tconst [ date, setDate ] = useState( () =>\n\t\t// Truncate the date at the minutes, see: #15495.\n\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t);\n\n\t// Reset the state when currentTime changed.\n\tuseEffect( () => {\n\t\tsetDate(\n\t\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t\t);\n\t}, [ currentTime ] );\n\n\tconst { day, month, year, minutes, hours, am } = useMemo(\n\t\t() => ( {\n\t\t\tday: date.format( 'DD' ),\n\t\t\tmonth: date.format( 'MM' ),\n\t\t\tyear: date.format( 'YYYY' ),\n\t\t\tminutes: date.format( 'mm' ),\n\t\t\thours: date.format( is12Hour ? 'hh' : 'HH' ),\n\t\t\tam: Number( date.format( 'H' ) ) <= 11 ? 'AM' : 'PM',\n\t\t} ),\n\t\t[ date, is12Hour ]\n\t);\n\n\tconst buildNumberControlChangeCallback = (\n\t\tmethod: 'hours' | 'minutes' | 'date' | 'year'\n\t) => {\n\t\tconst callback: InputChangeCallback = ( value, { event } ) => {\n\t\t\tif ( ! ( event.target instanceof HTMLInputElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! event.target.validity.valid ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We can safely assume value is a number if target is valid.\n\t\t\tlet numberValue = Number( value );\n\n\t\t\t// If the 12-hour format is being used and the 'PM' period is\n\t\t\t// selected, then the incoming value (which ranges 1-12) should be\n\t\t\t// increased by 12 to match the expected 24-hour format.\n\t\t\tif ( method === 'hours' && is12Hour ) {\n\t\t\t\tnumberValue = from12hTo24h( numberValue, am === 'PM' );\n\t\t\t}\n\n\t\t\tconst newDate = date.clone()[ method ]( numberValue );\n\t\t\tsetDate( newDate );\n\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t};\n\t\treturn callback;\n\t};\n\n\tfunction buildAmPmChangeCallback( value: 'AM' | 'PM' ) {\n\t\treturn () => {\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst parsedHours = parseInt( hours, 10 );\n\n\t\t\tconst newDate = date\n\t\t\t\t.clone()\n\t\t\t\t.hours( from12hTo24h( parsedHours, value === 'PM' ) );\n\t\t\tsetDate( newDate );\n\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t};\n\t}\n\n\tconst dayField = (\n\t\t<DayInput\n\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-day\" // Unused, for backwards compatibility.\n\t\t\tlabel={ __( 'Day' ) }\n\t\t\thideLabelFromVision\n\t\t\t__next36pxDefaultSize\n\t\t\tvalue={ day }\n\t\t\tstep={ 1 }\n\t\t\tmin={ 1 }\n\t\t\tmax={ 31 }\n\t\t\trequired\n\t\t\thideHTMLArrows\n\t\t\tisPressEnterToChange\n\t\t\tisDragEnabled={ false }\n\t\t\tisShiftStepEnabled={ false }\n\t\t\tonChange={ buildNumberControlChangeCallback( 'date' ) }\n\t\t/>\n\t);\n\n\tconst monthField = (\n\t\t<MonthSelectWrapper>\n\t\t\t<MonthSelect\n\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-month\" // Unused, for backwards compatibility.\n\t\t\t\tlabel={ __( 'Month' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ month }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ value: '01', label: __( 'January' ) },\n\t\t\t\t\t{ value: '02', label: __( 'February' ) },\n\t\t\t\t\t{ value: '03', label: __( 'March' ) },\n\t\t\t\t\t{ value: '04', label: __( 'April' ) },\n\t\t\t\t\t{ value: '05', label: __( 'May' ) },\n\t\t\t\t\t{ value: '06', label: __( 'June' ) },\n\t\t\t\t\t{ value: '07', label: __( 'July' ) },\n\t\t\t\t\t{ value: '08', label: __( 'August' ) },\n\t\t\t\t\t{ value: '09', label: __( 'September' ) },\n\t\t\t\t\t{ value: '10', label: __( 'October' ) },\n\t\t\t\t\t{ value: '11', label: __( 'November' ) },\n\t\t\t\t\t{ value: '12', label: __( 'December' ) },\n\t\t\t\t] }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newDate = date.clone().month( Number( value ) - 1 );\n\t\t\t\t\tsetDate( newDate );\n\t\t\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</MonthSelectWrapper>\n\t);\n\n\treturn (\n\t\t<Wrapper\n\t\t\tclassName=\"components-datetime__time\" // Unused, for backwards compatibility.\n\t\t>\n\t\t\t<Fieldset>\n\t\t\t\t<Legend\n\t\t\t\t\tclassName=\"components-datetime__time-legend\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Time' ) }\n\t\t\t\t</Legend>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"components-datetime__time-wrapper\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t<TimeWrapper\n\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-time\" // Unused, for backwards compatibility.\n\t\t\t\t\t>\n\t\t\t\t\t\t<HoursInput\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tlabel={ __( 'Hours' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\tvalue={ hours }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback(\n\t\t\t\t\t\t\t\t'hours'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TimeSeparator\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-separator\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t</TimeSeparator>\n\t\t\t\t\t\t<MinutesInput\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-minutes-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tlabel={ __( 'Minutes' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback(\n\t\t\t\t\t\t\t\t'minutes'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TimeWrapper>\n\t\t\t\t\t{ is12Hour && (\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-am-pm\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'AM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'AM' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'PM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'PM' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<Spacer />\n\t\t\t\t\t<TimeZone />\n\t\t\t\t</HStack>\n\t\t\t</Fieldset>\n\t\t\t<Fieldset>\n\t\t\t\t<Legend\n\t\t\t\t\tclassName=\"components-datetime__time-legend\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Date' ) }\n\t\t\t\t</Legend>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"components-datetime__time-wrapper\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ is12Hour ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ monthField }\n\t\t\t\t\t\t\t{ dayField }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ dayField }\n\t\t\t\t\t\t\t{ monthField }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<YearInput\n\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-year\" // Unused, for backwards compatibility.\n\t\t\t\t\t\tlabel={ __( 'Year' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\tvalue={ year }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ 9999 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback( 'year' ) }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</Fieldset>\n\t\t</Wrapper>\n\t);\n}\n\nexport default TimePicker;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/date-time/time/index.tsx"],"names":["moment","useState","useMemo","useEffect","__","BaseControl","Button","ButtonGroup","TimeZone","Wrapper","Fieldset","HoursInput","TimeSeparator","MinutesInput","MonthSelectWrapper","MonthSelect","DayInput","YearInput","TimeWrapper","HStack","Spacer","COMMIT","PRESS_DOWN","PRESS_UP","TIMEZONELESS_FORMAT","from12hTo24h","hours","isPm","buildPadInputStateReducer","pad","state","action","nextState","type","value","undefined","toString","padStart","TimePicker","is12Hour","currentTime","onChange","date","setDate","startOf","day","month","year","minutes","am","format","Number","buildNumberControlChangeCallback","method","callback","event","target","HTMLInputElement","validity","valid","numberValue","newDate","clone","buildAmPmChangeCallback","parsedHours","parseInt","dayField","monthField","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../../base-control';\nimport Button from '../../button';\nimport ButtonGroup from '../../button-group';\nimport TimeZone from './timezone';\nimport type { TimePickerProps } from '../types';\nimport {\n\tWrapper,\n\tFieldset,\n\tHoursInput,\n\tTimeSeparator,\n\tMinutesInput,\n\tMonthSelectWrapper,\n\tMonthSelect,\n\tDayInput,\n\tYearInput,\n\tTimeWrapper,\n} from './styles';\nimport { HStack } from '../../h-stack';\nimport { Spacer } from '../../spacer';\nimport type { InputChangeCallback } from '../../input-control/types';\nimport type { InputState } from '../../input-control/reducer/state';\nimport {\n\tCOMMIT,\n\tInputAction,\n\tPRESS_DOWN,\n\tPRESS_UP,\n} from '../../input-control/reducer/actions';\n\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nfunction from12hTo24h( hours: number, isPm: boolean ) {\n\treturn isPm ? ( ( hours % 12 ) + 12 ) % 24 : hours % 12;\n}\n\n/**\n * Creates an InputControl reducer used to pad an input so that it is always a\n * given width. For example, the hours and minutes inputs are padded to 2 so\n * that '4' appears as '04'.\n *\n * @param pad How many digits the value should be.\n */\nfunction buildPadInputStateReducer( pad: number ) {\n\treturn ( state: InputState, action: InputAction ) => {\n\t\tconst nextState = { ...state };\n\t\tif (\n\t\t\taction.type === COMMIT ||\n\t\t\taction.type === PRESS_UP ||\n\t\t\taction.type === PRESS_DOWN\n\t\t) {\n\t\t\tif ( nextState.value !== undefined ) {\n\t\t\t\tnextState.value = nextState.value\n\t\t\t\t\t.toString()\n\t\t\t\t\t.padStart( pad, '0' );\n\t\t\t}\n\t\t}\n\t\treturn nextState;\n\t};\n}\n\n/**\n * TimePicker is a React component that renders a clock for time selection.\n *\n * ```jsx\n * import { TimePicker } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyTimePicker = () => {\n * const [ time, setTime ] = useState( new Date() );\n *\n * return (\n * <TimePicker\n * currentTime={ date }\n * onChange={ ( newTime ) => setTime( newTime ) }\n * is12Hour\n * />\n * );\n * };\n * ```\n */\nexport function TimePicker( {\n\tis12Hour,\n\tcurrentTime,\n\tonChange,\n}: TimePickerProps ) {\n\tconst [ date, setDate ] = useState( () =>\n\t\t// Truncate the date at the minutes, see: #15495.\n\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t);\n\n\t// Reset the state when currentTime changed.\n\tuseEffect( () => {\n\t\tsetDate(\n\t\t\tcurrentTime ? moment( currentTime ).startOf( 'minutes' ) : moment()\n\t\t);\n\t}, [ currentTime ] );\n\n\tconst { day, month, year, minutes, hours, am } = useMemo(\n\t\t() => ( {\n\t\t\tday: date.format( 'DD' ),\n\t\t\tmonth: date.format( 'MM' ),\n\t\t\tyear: date.format( 'YYYY' ),\n\t\t\tminutes: date.format( 'mm' ),\n\t\t\thours: date.format( is12Hour ? 'hh' : 'HH' ),\n\t\t\tam: Number( date.format( 'H' ) ) <= 11 ? 'AM' : 'PM',\n\t\t} ),\n\t\t[ date, is12Hour ]\n\t);\n\n\tconst buildNumberControlChangeCallback = (\n\t\tmethod: 'hours' | 'minutes' | 'date' | 'year'\n\t) => {\n\t\tconst callback: InputChangeCallback = ( value, { event } ) => {\n\t\t\tif ( ! ( event.target instanceof HTMLInputElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! event.target.validity.valid ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We can safely assume value is a number if target is valid.\n\t\t\tlet numberValue = Number( value );\n\n\t\t\t// If the 12-hour format is being used and the 'PM' period is\n\t\t\t// selected, then the incoming value (which ranges 1-12) should be\n\t\t\t// increased by 12 to match the expected 24-hour format.\n\t\t\tif ( method === 'hours' && is12Hour ) {\n\t\t\t\tnumberValue = from12hTo24h( numberValue, am === 'PM' );\n\t\t\t}\n\n\t\t\tconst newDate = date.clone()[ method ]( numberValue );\n\t\t\tsetDate( newDate );\n\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t};\n\t\treturn callback;\n\t};\n\n\tfunction buildAmPmChangeCallback( value: 'AM' | 'PM' ) {\n\t\treturn () => {\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst parsedHours = parseInt( hours, 10 );\n\n\t\t\tconst newDate = date\n\t\t\t\t.clone()\n\t\t\t\t.hours( from12hTo24h( parsedHours, value === 'PM' ) );\n\t\t\tsetDate( newDate );\n\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t};\n\t}\n\n\tconst dayField = (\n\t\t<DayInput\n\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-day\" // Unused, for backwards compatibility.\n\t\t\tlabel={ __( 'Day' ) }\n\t\t\thideLabelFromVision\n\t\t\t__next36pxDefaultSize\n\t\t\tvalue={ day }\n\t\t\tstep={ 1 }\n\t\t\tmin={ 1 }\n\t\t\tmax={ 31 }\n\t\t\trequired\n\t\t\thideHTMLArrows\n\t\t\tisPressEnterToChange\n\t\t\tisDragEnabled={ false }\n\t\t\tisShiftStepEnabled={ false }\n\t\t\tonChange={ buildNumberControlChangeCallback( 'date' ) }\n\t\t/>\n\t);\n\n\tconst monthField = (\n\t\t<MonthSelectWrapper>\n\t\t\t<MonthSelect\n\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-month\" // Unused, for backwards compatibility.\n\t\t\t\tlabel={ __( 'Month' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ month }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ value: '01', label: __( 'January' ) },\n\t\t\t\t\t{ value: '02', label: __( 'February' ) },\n\t\t\t\t\t{ value: '03', label: __( 'March' ) },\n\t\t\t\t\t{ value: '04', label: __( 'April' ) },\n\t\t\t\t\t{ value: '05', label: __( 'May' ) },\n\t\t\t\t\t{ value: '06', label: __( 'June' ) },\n\t\t\t\t\t{ value: '07', label: __( 'July' ) },\n\t\t\t\t\t{ value: '08', label: __( 'August' ) },\n\t\t\t\t\t{ value: '09', label: __( 'September' ) },\n\t\t\t\t\t{ value: '10', label: __( 'October' ) },\n\t\t\t\t\t{ value: '11', label: __( 'November' ) },\n\t\t\t\t\t{ value: '12', label: __( 'December' ) },\n\t\t\t\t] }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newDate = date.clone().month( Number( value ) - 1 );\n\t\t\t\t\tsetDate( newDate );\n\t\t\t\t\tonChange?.( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</MonthSelectWrapper>\n\t);\n\n\treturn (\n\t\t<Wrapper\n\t\t\tclassName=\"components-datetime__time\" // Unused, for backwards compatibility.\n\t\t>\n\t\t\t<Fieldset>\n\t\t\t\t<BaseControl.VisualLabel\n\t\t\t\t\tas=\"legend\"\n\t\t\t\t\tclassName=\"components-datetime__time-legend\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Time' ) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"components-datetime__time-wrapper\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t<TimeWrapper\n\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-time\" // Unused, for backwards compatibility.\n\t\t\t\t\t>\n\t\t\t\t\t\t<HoursInput\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tlabel={ __( 'Hours' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\tvalue={ hours }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ is12Hour ? 1 : 0 }\n\t\t\t\t\t\t\tmax={ is12Hour ? 12 : 23 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback(\n\t\t\t\t\t\t\t\t'hours'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TimeSeparator\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-separator\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t</TimeSeparator>\n\t\t\t\t\t\t<MinutesInput\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-minutes-input\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\tlabel={ __( 'Minutes' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback(\n\t\t\t\t\t\t\t\t'minutes'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TimeWrapper>\n\t\t\t\t\t{ is12Hour && (\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-am-pm\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'AM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'AM' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\" // Unused, for backwards compatibility.\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tam === 'PM' ? 'primary' : 'secondary'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ buildAmPmChangeCallback( 'PM' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<Spacer />\n\t\t\t\t\t<TimeZone />\n\t\t\t\t</HStack>\n\t\t\t</Fieldset>\n\t\t\t<Fieldset>\n\t\t\t\t<BaseControl.VisualLabel\n\t\t\t\t\tas=\"legend\"\n\t\t\t\t\tclassName=\"components-datetime__time-legend\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Date' ) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"components-datetime__time-wrapper\" // Unused, for backwards compatibility.\n\t\t\t\t>\n\t\t\t\t\t{ is12Hour ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ monthField }\n\t\t\t\t\t\t\t{ dayField }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ dayField }\n\t\t\t\t\t\t\t{ monthField }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<YearInput\n\t\t\t\t\t\tclassName=\"components-datetime__time-field components-datetime__time-field-year\" // Unused, for backwards compatibility.\n\t\t\t\t\t\tlabel={ __( 'Year' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\tvalue={ year }\n\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tmax={ 9999 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\thideHTMLArrows\n\t\t\t\t\t\tisPressEnterToChange\n\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\tisShiftStepEnabled={ false }\n\t\t\t\t\t\tonChange={ buildNumberControlChangeCallback( 'year' ) }\n\t\t\t\t\t\t__unstableStateReducer={ buildPadInputStateReducer(\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</Fieldset>\n\t\t</Wrapper>\n\t);\n}\n\nexport default TimePicker;\n"]}