@wordpress/components 23.3.1 → 23.4.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 (896) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/alignment-matrix-control/utils.js +4 -4
  3. package/build/alignment-matrix-control/utils.js.map +1 -1
  4. package/build/angle-picker-control/angle-circle.js +37 -29
  5. package/build/angle-picker-control/angle-circle.js.map +1 -1
  6. package/build/angle-picker-control/index.js +44 -9
  7. package/build/angle-picker-control/index.js.map +1 -1
  8. package/build/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  9. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  10. package/build/{base-field → angle-picker-control}/types.js +0 -0
  11. package/build/angle-picker-control/types.js.map +1 -0
  12. package/build/autocomplete/autocompleter-ui.native.js +1 -0
  13. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  14. package/build/base-control/hooks.js +1 -1
  15. package/build/base-control/hooks.js.map +1 -1
  16. package/build/border-box-control/utils.js +1 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/box-control/all-input-control.js +2 -2
  19. package/build/box-control/all-input-control.js.map +1 -1
  20. package/build/box-control/axial-input-controls.js +1 -1
  21. package/build/box-control/axial-input-controls.js.map +1 -1
  22. package/build/box-control/icon.js.map +1 -1
  23. package/build/box-control/index.js +32 -3
  24. package/build/box-control/index.js.map +1 -1
  25. package/build/box-control/input-controls.js +5 -5
  26. package/build/box-control/input-controls.js.map +1 -1
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/styles/box-control-icon-styles.js +28 -28
  29. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  30. package/build/box-control/styles/box-control-styles.js +23 -23
  31. package/build/box-control/styles/box-control-styles.js.map +1 -1
  32. package/build/box-control/styles/box-control-visualizer-styles.js +19 -19
  33. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  34. package/build/box-control/types.js +6 -0
  35. package/build/box-control/types.js.map +1 -0
  36. package/build/box-control/unit-control.js.map +1 -1
  37. package/build/box-control/utils.js +23 -23
  38. package/build/box-control/utils.js.map +1 -1
  39. package/build/color-palette/index.js +15 -7
  40. package/build/color-palette/index.js.map +1 -1
  41. package/build/color-palette/utils.js +12 -4
  42. package/build/color-palette/utils.js.map +1 -1
  43. package/build/combobox-control/index.js +68 -12
  44. package/build/combobox-control/index.js.map +1 -1
  45. package/build/combobox-control/styles.js +2 -2
  46. package/build/combobox-control/styles.js.map +1 -1
  47. package/build/combobox-control/types.js +6 -0
  48. package/build/combobox-control/types.js.map +1 -0
  49. package/build/custom-gradient-picker/index.js +0 -1
  50. package/build/custom-gradient-picker/index.js.map +1 -1
  51. package/build/custom-select-control/index.js +7 -0
  52. package/build/custom-select-control/index.js.map +1 -1
  53. package/build/date-time/time/index.js +1 -1
  54. package/build/date-time/time/index.js.map +1 -1
  55. package/build/date-time/utils.js +1 -1
  56. package/build/date-time/utils.js.map +1 -1
  57. package/build/draggable/index.js +2 -2
  58. package/build/draggable/index.js.map +1 -1
  59. package/build/focal-point-picker/utils.js +3 -3
  60. package/build/focal-point-picker/utils.js.map +1 -1
  61. package/build/font-size-picker/utils.js +2 -2
  62. package/build/font-size-picker/utils.js.map +1 -1
  63. package/build/gradient-picker/index.js +9 -4
  64. package/build/gradient-picker/index.js.map +1 -1
  65. package/build/index.js +16 -10
  66. package/build/index.js.map +1 -1
  67. package/build/input-control/reducer/reducer.js +5 -5
  68. package/build/input-control/reducer/reducer.js.map +1 -1
  69. package/build/input-control/utils.js +1 -1
  70. package/build/input-control/utils.js.map +1 -1
  71. package/build/menu-items-choice/index.js +40 -3
  72. package/build/menu-items-choice/index.js.map +1 -1
  73. package/build/menu-items-choice/types.js +6 -0
  74. package/build/menu-items-choice/types.js.map +1 -0
  75. package/build/modal/index.js +41 -3
  76. package/build/modal/index.js.map +1 -1
  77. package/build/navigator/context.js +5 -1
  78. package/build/navigator/context.js.map +1 -1
  79. package/build/navigator/index.js +8 -0
  80. package/build/navigator/index.js.map +1 -1
  81. package/build/navigator/navigator-back-button/hook.js +11 -3
  82. package/build/navigator/navigator-back-button/hook.js.map +1 -1
  83. package/build/navigator/navigator-provider/component.js +119 -11
  84. package/build/navigator/navigator-provider/component.js.map +1 -1
  85. package/build/navigator/navigator-screen/component.js +18 -7
  86. package/build/navigator/navigator-screen/component.js.map +1 -1
  87. package/build/navigator/navigator-to-parent-button/component.js +75 -0
  88. package/build/navigator/navigator-to-parent-button/component.js.map +1 -0
  89. package/build/navigator/navigator-to-parent-button/index.js +16 -0
  90. package/build/navigator/navigator-to-parent-button/index.js.map +1 -0
  91. package/build/navigator/use-navigator.js +6 -2
  92. package/build/navigator/use-navigator.js.map +1 -1
  93. package/build/navigator/utils/router.js +57 -0
  94. package/build/navigator/utils/router.js.map +1 -0
  95. package/build/palette-edit/index.js +4 -1
  96. package/build/palette-edit/index.js.map +1 -1
  97. package/build/panel/header.js +9 -0
  98. package/build/panel/header.js.map +1 -1
  99. package/build/panel/index.js +21 -3
  100. package/build/panel/index.js.map +1 -1
  101. package/build/panel/row.js +10 -4
  102. package/build/panel/row.js.map +1 -1
  103. package/build/panel/types.js +6 -0
  104. package/build/panel/types.js.map +1 -0
  105. package/build/popover/index.js +15 -3
  106. package/build/popover/index.js.map +1 -1
  107. package/build/popover/overlay-middlewares.js +46 -0
  108. package/build/popover/overlay-middlewares.js.map +1 -0
  109. package/build/popover/utils.js +45 -6
  110. package/build/popover/utils.js.map +1 -1
  111. package/build/private-apis.js +35 -0
  112. package/build/private-apis.js.map +1 -0
  113. package/build/query-controls/terms.js +1 -1
  114. package/build/query-controls/terms.js.map +1 -1
  115. package/build/range-control/utils.js +4 -4
  116. package/build/range-control/utils.js.map +1 -1
  117. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  118. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  119. package/build/resizable-box/resize-tooltip/utils.js +14 -14
  120. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  121. package/build/select-control/index.js +1 -1
  122. package/build/select-control/index.js.map +1 -1
  123. package/build/select-control/styles/select-control-styles.js +38 -25
  124. package/build/select-control/styles/select-control-styles.js.map +1 -1
  125. package/build/snackbar/index.js +2 -2
  126. package/build/snackbar/index.js.map +1 -1
  127. package/build/toolbar/toolbar/index.js +25 -14
  128. package/build/toolbar/toolbar/index.js.map +1 -1
  129. package/build/toolbar/toolbar/toolbar-container.js +5 -4
  130. package/build/toolbar/toolbar/toolbar-container.js.map +1 -1
  131. package/build/toolbar/toolbar/types.js +6 -0
  132. package/build/toolbar/toolbar/types.js.map +1 -0
  133. package/build/toolbar/toolbar-button/index.js +2 -0
  134. package/build/toolbar/toolbar-button/index.js.map +1 -1
  135. package/build/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  136. package/build/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  137. package/build/toolbar/toolbar-context/index.js +2 -0
  138. package/build/toolbar/toolbar-context/index.js.map +1 -1
  139. package/build/toolbar/toolbar-dropdown-menu/index.js +2 -0
  140. package/build/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  141. package/build/toolbar/toolbar-group/index.js +2 -0
  142. package/build/toolbar/toolbar-group/index.js.map +1 -1
  143. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  144. package/build/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  145. package/build/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  146. package/build/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  147. package/build/toolbar/toolbar-item/index.js +2 -0
  148. package/build/toolbar/toolbar-item/index.js.map +1 -1
  149. package/build/tools-panel/tools-panel/component.js +61 -5
  150. package/build/tools-panel/tools-panel/component.js.map +1 -1
  151. package/build/tools-panel/tools-panel/hook.js +8 -6
  152. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  153. package/build/tools-panel/tools-panel-header/component.js +2 -1
  154. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  155. package/build/tools-panel/tools-panel-header/hook.js +2 -0
  156. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  157. package/build/tools-panel/tools-panel-item/component.js +5 -4
  158. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  159. package/build/tools-panel/tools-panel-item/hook.js +24 -13
  160. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  161. package/build/tree-grid/cell.js +15 -4
  162. package/build/tree-grid/cell.js.map +1 -1
  163. package/build/tree-grid/index.js +81 -19
  164. package/build/tree-grid/index.js.map +1 -1
  165. package/build/tree-grid/item.js +14 -3
  166. package/build/tree-grid/item.js.map +1 -1
  167. package/build/tree-grid/roving-tab-index-context.js +1 -1
  168. package/build/tree-grid/roving-tab-index-context.js.map +1 -1
  169. package/build/tree-grid/roving-tab-index-item.js +13 -6
  170. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  171. package/build/tree-grid/roving-tab-index.js +0 -3
  172. package/build/tree-grid/roving-tab-index.js.map +1 -1
  173. package/build/tree-grid/row.js +20 -18
  174. package/build/tree-grid/row.js.map +1 -1
  175. package/build/tree-grid/types.js +6 -0
  176. package/build/tree-grid/types.js.map +1 -0
  177. package/build/ui/context/context-connect.js +7 -7
  178. package/build/ui/context/context-connect.js.map +1 -1
  179. package/build/ui/context/get-styled-class-name-from-key.js +1 -1
  180. package/build/ui/context/get-styled-class-name-from-key.js.map +1 -1
  181. package/build/ui/utils/get-valid-children.js +1 -1
  182. package/build/ui/utils/get-valid-children.js.map +1 -1
  183. package/build/ui/utils/space.js +1 -1
  184. package/build/ui/utils/space.js.map +1 -1
  185. package/build/unit-control/index.js +2 -2
  186. package/build/unit-control/index.js.map +1 -1
  187. package/build/unit-control/utils.js +20 -20
  188. package/build/unit-control/utils.js.map +1 -1
  189. package/build/utils/events.js +4 -4
  190. package/build/utils/events.js.map +1 -1
  191. package/build/utils/hooks/use-controlled-state.js +2 -2
  192. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  193. package/build/utils/hooks/use-controlled-value.js +4 -4
  194. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  195. package/build/utils/hooks/use-latest-ref.js +1 -1
  196. package/build/utils/hooks/use-latest-ref.js.map +1 -1
  197. package/build/utils/unit-values.js +3 -3
  198. package/build/utils/unit-values.js.map +1 -1
  199. package/build-module/alignment-matrix-control/utils.js +4 -4
  200. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  201. package/build-module/angle-picker-control/angle-circle.js +37 -29
  202. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  203. package/build-module/angle-picker-control/index.js +42 -8
  204. package/build-module/angle-picker-control/index.js.map +1 -1
  205. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -13
  206. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  207. package/build-module/{base-field → angle-picker-control}/types.js +0 -0
  208. package/build-module/{base-field → angle-picker-control}/types.js.map +0 -0
  209. package/build-module/autocomplete/autocompleter-ui.native.js +1 -0
  210. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  211. package/build-module/base-control/hooks.js +1 -1
  212. package/build-module/base-control/hooks.js.map +1 -1
  213. package/build-module/border-box-control/utils.js +1 -1
  214. package/build-module/border-box-control/utils.js.map +1 -1
  215. package/build-module/box-control/all-input-control.js +2 -2
  216. package/build-module/box-control/all-input-control.js.map +1 -1
  217. package/build-module/box-control/axial-input-controls.js +1 -1
  218. package/build-module/box-control/axial-input-controls.js.map +1 -1
  219. package/build-module/box-control/icon.js.map +1 -1
  220. package/build-module/box-control/index.js +31 -3
  221. package/build-module/box-control/index.js.map +1 -1
  222. package/build-module/box-control/input-controls.js +5 -5
  223. package/build-module/box-control/input-controls.js.map +1 -1
  224. package/build-module/box-control/linked-button.js.map +1 -1
  225. package/build-module/box-control/styles/box-control-icon-styles.js +28 -28
  226. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  227. package/build-module/box-control/styles/box-control-styles.js +23 -23
  228. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  229. package/build-module/box-control/styles/box-control-visualizer-styles.js +19 -19
  230. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  231. package/build-module/box-control/types.js +2 -0
  232. package/{build/base-field → build-module/box-control}/types.js.map +0 -0
  233. package/build-module/box-control/unit-control.js.map +1 -1
  234. package/build-module/box-control/utils.js +23 -23
  235. package/build-module/box-control/utils.js.map +1 -1
  236. package/build-module/color-palette/index.js +16 -8
  237. package/build-module/color-palette/index.js.map +1 -1
  238. package/build-module/color-palette/utils.js +12 -4
  239. package/build-module/color-palette/utils.js.map +1 -1
  240. package/build-module/combobox-control/index.js +68 -12
  241. package/build-module/combobox-control/index.js.map +1 -1
  242. package/build-module/combobox-control/styles.js +2 -2
  243. package/build-module/combobox-control/styles.js.map +1 -1
  244. package/build-module/combobox-control/types.js +2 -0
  245. package/build-module/{resizable-box/styles/resizable-box.styles.js.map → combobox-control/types.js.map} +0 -0
  246. package/build-module/custom-gradient-picker/index.js +0 -1
  247. package/build-module/custom-gradient-picker/index.js.map +1 -1
  248. package/build-module/custom-select-control/index.js +5 -0
  249. package/build-module/custom-select-control/index.js.map +1 -1
  250. package/build-module/date-time/time/index.js +1 -1
  251. package/build-module/date-time/time/index.js.map +1 -1
  252. package/build-module/date-time/utils.js +1 -1
  253. package/build-module/date-time/utils.js.map +1 -1
  254. package/build-module/draggable/index.js +2 -2
  255. package/build-module/draggable/index.js.map +1 -1
  256. package/build-module/focal-point-picker/utils.js +3 -3
  257. package/build-module/focal-point-picker/utils.js.map +1 -1
  258. package/build-module/font-size-picker/utils.js +2 -2
  259. package/build-module/font-size-picker/utils.js.map +1 -1
  260. package/build-module/gradient-picker/index.js +9 -4
  261. package/build-module/gradient-picker/index.js.map +1 -1
  262. package/build-module/index.js +5 -4
  263. package/build-module/index.js.map +1 -1
  264. package/build-module/input-control/reducer/reducer.js +5 -5
  265. package/build-module/input-control/reducer/reducer.js.map +1 -1
  266. package/build-module/input-control/utils.js +1 -1
  267. package/build-module/input-control/utils.js.map +1 -1
  268. package/build-module/menu-items-choice/index.js +40 -4
  269. package/build-module/menu-items-choice/index.js.map +1 -1
  270. package/build-module/menu-items-choice/types.js +2 -0
  271. package/{build/resizable-box/styles/resizable-box.styles.js.map → build-module/menu-items-choice/types.js.map} +0 -0
  272. package/build-module/modal/index.js +41 -4
  273. package/build-module/modal/index.js.map +1 -1
  274. package/build-module/navigator/context.js +5 -1
  275. package/build-module/navigator/context.js.map +1 -1
  276. package/build-module/navigator/index.js +1 -0
  277. package/build-module/navigator/index.js.map +1 -1
  278. package/build-module/navigator/navigator-back-button/hook.js +11 -3
  279. package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
  280. package/build-module/navigator/navigator-provider/component.js +117 -12
  281. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  282. package/build-module/navigator/navigator-screen/component.js +20 -9
  283. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  284. package/build-module/navigator/navigator-to-parent-button/component.js +61 -0
  285. package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -0
  286. package/build-module/navigator/navigator-to-parent-button/index.js +2 -0
  287. package/build-module/navigator/navigator-to-parent-button/index.js.map +1 -0
  288. package/build-module/navigator/use-navigator.js +6 -2
  289. package/build-module/navigator/use-navigator.js.map +1 -1
  290. package/build-module/navigator/utils/router.js +51 -0
  291. package/build-module/navigator/utils/router.js.map +1 -0
  292. package/build-module/palette-edit/index.js +4 -1
  293. package/build-module/palette-edit/index.js.map +1 -1
  294. package/build-module/panel/header.js +9 -0
  295. package/build-module/panel/header.js.map +1 -1
  296. package/build-module/panel/index.js +20 -2
  297. package/build-module/panel/index.js.map +1 -1
  298. package/build-module/panel/row.js +9 -3
  299. package/build-module/panel/row.js.map +1 -1
  300. package/build-module/panel/types.js +2 -0
  301. package/build-module/panel/types.js.map +1 -0
  302. package/build-module/popover/index.js +14 -4
  303. package/build-module/popover/index.js.map +1 -1
  304. package/build-module/popover/overlay-middlewares.js +38 -0
  305. package/build-module/popover/overlay-middlewares.js.map +1 -0
  306. package/build-module/popover/utils.js +41 -5
  307. package/build-module/popover/utils.js.map +1 -1
  308. package/build-module/private-apis.js +20 -0
  309. package/build-module/private-apis.js.map +1 -0
  310. package/build-module/query-controls/terms.js +1 -1
  311. package/build-module/query-controls/terms.js.map +1 -1
  312. package/build-module/range-control/utils.js +4 -4
  313. package/build-module/range-control/utils.js.map +1 -1
  314. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +12 -12
  315. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  316. package/build-module/resizable-box/resize-tooltip/utils.js +14 -14
  317. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  318. package/build-module/select-control/index.js +1 -1
  319. package/build-module/select-control/index.js.map +1 -1
  320. package/build-module/select-control/styles/select-control-styles.js +38 -25
  321. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  322. package/build-module/snackbar/index.js +2 -2
  323. package/build-module/snackbar/index.js.map +1 -1
  324. package/build-module/toolbar/toolbar/index.js +25 -13
  325. package/build-module/toolbar/toolbar/index.js.map +1 -1
  326. package/build-module/toolbar/toolbar/toolbar-container.js +4 -3
  327. package/build-module/toolbar/toolbar/toolbar-container.js.map +1 -1
  328. package/build-module/toolbar/toolbar/types.js +2 -0
  329. package/build-module/toolbar/toolbar/types.js.map +1 -0
  330. package/build-module/toolbar/toolbar-button/index.js +1 -0
  331. package/build-module/toolbar/toolbar-button/index.js.map +1 -1
  332. package/build-module/toolbar/toolbar-button/toolbar-button-container.js +1 -0
  333. package/build-module/toolbar/toolbar-button/toolbar-button-container.js.map +1 -1
  334. package/build-module/toolbar/toolbar-context/index.js +2 -0
  335. package/build-module/toolbar/toolbar-context/index.js.map +1 -1
  336. package/build-module/toolbar/toolbar-dropdown-menu/index.js +1 -0
  337. package/build-module/toolbar/toolbar-dropdown-menu/index.js.map +1 -1
  338. package/build-module/toolbar/toolbar-group/index.js +1 -0
  339. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  340. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js +1 -0
  341. package/build-module/toolbar/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  342. package/build-module/toolbar/toolbar-group/toolbar-group-container.js +1 -0
  343. package/build-module/toolbar/toolbar-group/toolbar-group-container.js.map +1 -1
  344. package/build-module/toolbar/toolbar-item/index.js +1 -0
  345. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  346. package/build-module/tools-panel/tools-panel/component.js +59 -4
  347. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  348. package/build-module/tools-panel/tools-panel/hook.js +8 -6
  349. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  350. package/build-module/tools-panel/tools-panel-header/component.js +2 -1
  351. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  352. package/build-module/tools-panel/tools-panel-header/hook.js +2 -0
  353. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  354. package/build-module/tools-panel/tools-panel-item/component.js +3 -3
  355. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  356. package/build-module/tools-panel/tools-panel-item/hook.js +25 -13
  357. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  358. package/build-module/tree-grid/cell.js +16 -4
  359. package/build-module/tree-grid/cell.js.map +1 -1
  360. package/build-module/tree-grid/index.js +81 -21
  361. package/build-module/tree-grid/index.js.map +1 -1
  362. package/build-module/tree-grid/item.js +14 -2
  363. package/build-module/tree-grid/item.js.map +1 -1
  364. package/build-module/tree-grid/roving-tab-index-context.js +1 -1
  365. package/build-module/tree-grid/roving-tab-index-context.js.map +1 -1
  366. package/build-module/tree-grid/roving-tab-index-item.js +11 -4
  367. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  368. package/build-module/tree-grid/roving-tab-index.js +0 -3
  369. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  370. package/build-module/tree-grid/row.js +22 -17
  371. package/build-module/tree-grid/row.js.map +1 -1
  372. package/build-module/tree-grid/types.js +2 -0
  373. package/build-module/tree-grid/types.js.map +1 -0
  374. package/build-module/ui/context/context-connect.js +7 -7
  375. package/build-module/ui/context/context-connect.js.map +1 -1
  376. package/build-module/ui/context/get-styled-class-name-from-key.js +1 -1
  377. package/build-module/ui/context/get-styled-class-name-from-key.js.map +1 -1
  378. package/build-module/ui/utils/get-valid-children.js +1 -1
  379. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  380. package/build-module/ui/utils/space.js +1 -1
  381. package/build-module/ui/utils/space.js.map +1 -1
  382. package/build-module/unit-control/index.js +2 -2
  383. package/build-module/unit-control/index.js.map +1 -1
  384. package/build-module/unit-control/utils.js +20 -20
  385. package/build-module/unit-control/utils.js.map +1 -1
  386. package/build-module/utils/events.js +4 -4
  387. package/build-module/utils/events.js.map +1 -1
  388. package/build-module/utils/hooks/use-controlled-state.js +2 -2
  389. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  390. package/build-module/utils/hooks/use-controlled-value.js +4 -4
  391. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  392. package/build-module/utils/hooks/use-latest-ref.js +1 -1
  393. package/build-module/utils/hooks/use-latest-ref.js.map +1 -1
  394. package/build-module/utils/unit-values.js +3 -3
  395. package/build-module/utils/unit-values.js.map +1 -1
  396. package/build-style/style-rtl.css +5 -11
  397. package/build-style/style.css +5 -11
  398. package/build-types/alignment-matrix-control/utils.d.ts +4 -4
  399. package/build-types/angle-picker-control/angle-circle.d.ts +6 -0
  400. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -0
  401. package/build-types/angle-picker-control/index.d.ts +29 -0
  402. package/build-types/angle-picker-control/index.d.ts.map +1 -0
  403. package/build-types/angle-picker-control/stories/index.d.ts +15 -0
  404. package/build-types/angle-picker-control/stories/index.d.ts.map +1 -0
  405. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +20 -0
  406. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -0
  407. package/build-types/angle-picker-control/types.d.ts +26 -0
  408. package/build-types/angle-picker-control/types.d.ts.map +1 -0
  409. package/build-types/base-control/hooks.d.ts +2 -2
  410. package/build-types/border-box-control/border-box-control/component.d.ts +1 -1
  411. package/build-types/border-box-control/border-box-control/hook.d.ts +3 -3
  412. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +2 -2
  413. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +1 -1
  414. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +3 -3
  415. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +2 -2
  416. package/build-types/border-box-control/stories/index.d.ts +1 -1
  417. package/build-types/{base-field → border-box-control}/test/index.d.ts +0 -0
  418. package/build-types/border-box-control/test/index.d.ts.map +1 -0
  419. package/build-types/border-box-control/test/utils.d.ts +2 -0
  420. package/build-types/border-box-control/test/utils.d.ts.map +1 -0
  421. package/build-types/border-control/border-control/hook.d.ts +2 -2
  422. package/build-types/border-control/border-control-dropdown/hook.d.ts +2 -2
  423. package/build-types/border-control/border-control-style-picker/hook.d.ts +2 -2
  424. package/build-types/box-control/all-input-control.d.ts +4 -0
  425. package/build-types/box-control/all-input-control.d.ts.map +1 -0
  426. package/build-types/box-control/axial-input-controls.d.ts +4 -0
  427. package/build-types/box-control/axial-input-controls.d.ts.map +1 -0
  428. package/build-types/box-control/icon.d.ts +8 -0
  429. package/build-types/box-control/icon.d.ts.map +1 -0
  430. package/build-types/box-control/index.d.ts +31 -0
  431. package/build-types/box-control/index.d.ts.map +1 -0
  432. package/build-types/box-control/input-controls.d.ts +4 -0
  433. package/build-types/box-control/input-controls.d.ts.map +1 -0
  434. package/build-types/box-control/linked-button.d.ts +9 -0
  435. package/build-types/box-control/linked-button.d.ts.map +1 -0
  436. package/build-types/box-control/styles/box-control-icon-styles.d.ts +42 -0
  437. package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -0
  438. package/build-types/box-control/styles/box-control-styles.d.ts +42 -0
  439. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -0
  440. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts +46 -0
  441. package/build-types/box-control/styles/box-control-visualizer-styles.d.ts.map +1 -0
  442. package/build-types/box-control/test/index.d.ts +2 -0
  443. package/build-types/box-control/test/index.d.ts.map +1 -0
  444. package/build-types/box-control/types.d.ts +99 -0
  445. package/build-types/box-control/types.d.ts.map +1 -0
  446. package/build-types/box-control/unit-control.d.ts +4 -0
  447. package/build-types/box-control/unit-control.d.ts.map +1 -0
  448. package/build-types/box-control/utils.d.ts +84 -0
  449. package/build-types/box-control/utils.d.ts.map +1 -0
  450. package/build-types/button/deprecated.d.ts +2 -2
  451. package/build-types/button/types.d.ts +3 -1
  452. package/build-types/button/types.d.ts.map +1 -1
  453. package/build-types/card/card/hook.d.ts +2 -2
  454. package/build-types/card/card-body/hook.d.ts +2 -2
  455. package/build-types/card/card-divider/hook.d.ts +2 -2
  456. package/build-types/card/card-footer/hook.d.ts +2 -2
  457. package/build-types/card/card-header/hook.d.ts +2 -2
  458. package/build-types/card/card-media/hook.d.ts +2 -2
  459. package/build-types/color-palette/index.d.ts +3 -1
  460. package/build-types/color-palette/index.d.ts.map +1 -1
  461. package/build-types/color-palette/stories/index.d.ts +6 -2
  462. package/build-types/color-palette/stories/index.d.ts.map +1 -1
  463. package/build-types/color-palette/styles.d.ts +1 -1
  464. package/build-types/color-palette/types.d.ts +8 -0
  465. package/build-types/color-palette/types.d.ts.map +1 -1
  466. package/build-types/color-palette/utils.d.ts +8 -5
  467. package/build-types/color-palette/utils.d.ts.map +1 -1
  468. package/build-types/color-picker/styles.d.ts +7 -7
  469. package/build-types/combobox-control/index.d.ts +51 -0
  470. package/build-types/combobox-control/index.d.ts.map +1 -0
  471. package/build-types/combobox-control/stories/index.d.ts +18 -0
  472. package/build-types/combobox-control/stories/index.d.ts.map +1 -0
  473. package/build-types/combobox-control/styles.d.ts +8 -0
  474. package/build-types/combobox-control/styles.d.ts.map +1 -0
  475. package/build-types/combobox-control/test/index.d.ts +2 -0
  476. package/build-types/combobox-control/test/index.d.ts.map +1 -0
  477. package/build-types/combobox-control/types.d.ts +62 -0
  478. package/build-types/combobox-control/types.d.ts.map +1 -0
  479. package/build-types/custom-select-control/index.d.ts +1 -0
  480. package/build-types/custom-select-control/index.d.ts.map +1 -1
  481. package/build-types/date-time/date/styles.d.ts +3 -3
  482. package/build-types/date-time/date-time/styles.d.ts +3 -3
  483. package/build-types/date-time/time/styles.d.ts +8 -8
  484. package/build-types/date-time/utils.d.ts +1 -1
  485. package/build-types/elevation/hook.d.ts +2 -2
  486. package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
  487. package/build-types/flex/flex/hook.d.ts +2 -2
  488. package/build-types/flex/flex-block/hook.d.ts +2 -2
  489. package/build-types/flex/flex-item/hook.d.ts +2 -2
  490. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -2
  491. package/build-types/focal-point-picker/utils.d.ts +3 -3
  492. package/build-types/font-size-picker/utils.d.ts +2 -2
  493. package/build-types/form-token-field/styles.d.ts +1 -1
  494. package/build-types/grid/hook.d.ts +2 -2
  495. package/build-types/h-stack/component.d.ts +1 -1
  496. package/build-types/h-stack/hook.d.ts +2 -2
  497. package/build-types/heading/hook.d.ts +2 -2
  498. package/build-types/input-control/reducer/reducer.d.ts +3 -3
  499. package/build-types/input-control/styles/input-control-styles.d.ts +2 -2
  500. package/build-types/input-control/utils.d.ts +1 -1
  501. package/build-types/item-group/item/hook.d.ts +2 -2
  502. package/build-types/item-group/item-group/hook.d.ts +2 -2
  503. package/build-types/menu-items-choice/index.d.ts +38 -0
  504. package/build-types/menu-items-choice/index.d.ts.map +1 -0
  505. package/build-types/menu-items-choice/stories/index.d.ts +12 -0
  506. package/build-types/menu-items-choice/stories/index.d.ts.map +1 -0
  507. package/build-types/menu-items-choice/types.d.ts +53 -0
  508. package/build-types/menu-items-choice/types.d.ts.map +1 -0
  509. package/build-types/modal/index.d.ts.map +1 -1
  510. package/build-types/modal/types.d.ts +2 -0
  511. package/build-types/modal/types.d.ts.map +1 -1
  512. package/build-types/navigator/context.d.ts.map +1 -1
  513. package/build-types/navigator/index.d.ts +1 -0
  514. package/build-types/navigator/index.d.ts.map +1 -1
  515. package/build-types/navigator/navigator-back-button/component.d.ts +22 -3
  516. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  517. package/build-types/navigator/navigator-back-button/hook.d.ts +24 -6
  518. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  519. package/build-types/navigator/navigator-button/component.d.ts +22 -3
  520. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  521. package/build-types/navigator/navigator-button/hook.d.ts +22 -4
  522. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  523. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  524. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  525. package/build-types/navigator/navigator-to-parent-button/component.d.ts +27 -0
  526. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -0
  527. package/build-types/navigator/navigator-to-parent-button/index.d.ts +2 -0
  528. package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +1 -0
  529. package/build-types/navigator/stories/index.d.ts +1 -0
  530. package/build-types/navigator/stories/index.d.ts.map +1 -1
  531. package/build-types/navigator/test/router.d.ts +2 -0
  532. package/build-types/navigator/test/router.d.ts.map +1 -0
  533. package/build-types/navigator/types.d.ts +25 -9
  534. package/build-types/navigator/types.d.ts.map +1 -1
  535. package/build-types/navigator/use-navigator.d.ts.map +1 -1
  536. package/build-types/navigator/utils/router.d.ts +10 -0
  537. package/build-types/navigator/utils/router.d.ts.map +1 -0
  538. package/build-types/number-control/index.d.ts +2 -2
  539. package/build-types/number-control/stories/index.d.ts +2 -2
  540. package/build-types/panel/header.d.ts +13 -0
  541. package/build-types/panel/header.d.ts.map +1 -0
  542. package/build-types/panel/index.d.ts +21 -0
  543. package/build-types/panel/index.d.ts.map +1 -0
  544. package/build-types/panel/row.d.ts +12 -0
  545. package/build-types/panel/row.d.ts.map +1 -0
  546. package/build-types/panel/test/header.d.ts +2 -0
  547. package/build-types/panel/test/header.d.ts.map +1 -0
  548. package/build-types/panel/test/index.d.ts +2 -0
  549. package/build-types/{base-field → panel}/test/index.d.ts.map +1 -1
  550. package/build-types/panel/test/row.d.ts +2 -0
  551. package/build-types/panel/test/row.d.ts.map +1 -0
  552. package/build-types/panel/types.d.ts +38 -0
  553. package/build-types/panel/types.d.ts.map +1 -0
  554. package/build-types/popover/index.d.ts +1 -1
  555. package/build-types/popover/index.d.ts.map +1 -1
  556. package/build-types/popover/overlay-middlewares.d.ts +9 -0
  557. package/build-types/popover/overlay-middlewares.d.ts.map +1 -0
  558. package/build-types/popover/stories/e2e/index.d.ts +1 -1
  559. package/build-types/popover/stories/index.d.ts.map +1 -1
  560. package/build-types/popover/types.d.ts +3 -2
  561. package/build-types/popover/types.d.ts.map +1 -1
  562. package/build-types/popover/utils.d.ts +12 -4
  563. package/build-types/popover/utils.d.ts.map +1 -1
  564. package/build-types/private-apis.d.ts +4 -0
  565. package/build-types/private-apis.d.ts.map +1 -0
  566. package/build-types/query-controls/terms.d.ts +1 -1
  567. package/build-types/range-control/index.d.ts +2 -2
  568. package/build-types/range-control/styles/range-control-styles.d.ts +2 -2
  569. package/build-types/range-control/utils.d.ts +4 -4
  570. package/build-types/resizable-box/index.d.ts +1 -1
  571. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  572. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +5 -4
  573. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  574. package/build-types/resizable-box/resize-tooltip/utils.d.ts +6 -6
  575. package/build-types/resizable-box/stories/index.d.ts +2 -2
  576. package/build-types/scrollable/hook.d.ts +2 -2
  577. package/build-types/search-control/index.d.ts +1 -1
  578. package/build-types/search-control/stories/index.d.ts +2 -2
  579. package/build-types/select-control/index.d.ts.map +1 -1
  580. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  581. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  582. package/build-types/select-control/types.d.ts +3 -1
  583. package/build-types/select-control/types.d.ts.map +1 -1
  584. package/build-types/spacer/hook.d.ts +2 -2
  585. package/build-types/spinner/index.d.ts +1 -1
  586. package/build-types/surface/hook.d.ts +2 -2
  587. package/build-types/text/hook.d.ts +2 -2
  588. package/build-types/text-control/index.d.ts +3 -3
  589. package/build-types/toolbar/index.d.ts +7 -0
  590. package/build-types/toolbar/index.d.ts.map +1 -0
  591. package/build-types/toolbar/stories/index.d.ts +14 -0
  592. package/build-types/toolbar/stories/index.d.ts.map +1 -0
  593. package/build-types/toolbar/test/index.d.ts +2 -0
  594. package/build-types/toolbar/test/index.d.ts.map +1 -0
  595. package/build-types/toolbar/test/toolbar-group.d.ts +2 -0
  596. package/build-types/toolbar/test/toolbar-group.d.ts.map +1 -0
  597. package/build-types/toolbar/toolbar/index.d.ts +25 -0
  598. package/build-types/toolbar/toolbar/index.d.ts.map +1 -0
  599. package/build-types/toolbar/toolbar/toolbar-container.d.ts +5 -0
  600. package/build-types/toolbar/toolbar/toolbar-container.d.ts.map +1 -0
  601. package/build-types/toolbar/toolbar/types.d.ts +15 -0
  602. package/build-types/toolbar/toolbar/types.d.ts.map +1 -0
  603. package/build-types/toolbar/toolbar-button/index.d.ts +12 -0
  604. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -0
  605. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +3 -0
  606. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -0
  607. package/build-types/toolbar/toolbar-context/index.d.ts +3 -0
  608. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -0
  609. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +3 -0
  610. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -0
  611. package/build-types/toolbar/toolbar-group/index.d.ts +39 -0
  612. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -0
  613. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +7 -0
  614. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -0
  615. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +7 -0
  616. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -0
  617. package/build-types/toolbar/toolbar-item/index.d.ts +7 -0
  618. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -0
  619. package/build-types/tools-panel/stories/index.d.ts +17 -0
  620. package/build-types/tools-panel/stories/index.d.ts.map +1 -0
  621. package/build-types/tools-panel/tools-panel/component.d.ts +54 -2
  622. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  623. package/build-types/tools-panel/tools-panel/hook.d.ts +4 -3
  624. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  625. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  626. package/build-types/tools-panel/tools-panel-header/hook.d.ts +4 -3
  627. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  628. package/build-types/tools-panel/tools-panel-item/component.d.ts +2 -2
  629. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  630. package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -2
  631. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  632. package/build-types/tools-panel/types.d.ts +42 -15
  633. package/build-types/tools-panel/types.d.ts.map +1 -1
  634. package/build-types/tree-grid/cell.d.ts +13 -0
  635. package/build-types/tree-grid/cell.d.ts.map +1 -0
  636. package/build-types/tree-grid/index.d.ts +70 -0
  637. package/build-types/tree-grid/index.d.ts.map +1 -0
  638. package/build-types/tree-grid/item.d.ts +12 -0
  639. package/build-types/tree-grid/item.d.ts.map +1 -0
  640. package/build-types/tree-grid/roving-tab-index-context.d.ts +10 -0
  641. package/build-types/tree-grid/roving-tab-index-context.d.ts.map +1 -0
  642. package/build-types/tree-grid/roving-tab-index-item.d.ts +5 -0
  643. package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -0
  644. package/build-types/tree-grid/roving-tab-index.d.ts +10 -0
  645. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -0
  646. package/build-types/tree-grid/row.d.ts +12 -0
  647. package/build-types/tree-grid/row.d.ts.map +1 -0
  648. package/build-types/tree-grid/stories/index.d.ts +13 -0
  649. package/build-types/tree-grid/stories/index.d.ts.map +1 -0
  650. package/build-types/tree-grid/test/cell.d.ts +2 -0
  651. package/build-types/tree-grid/test/cell.d.ts.map +1 -0
  652. package/build-types/tree-grid/test/index.d.ts +2 -0
  653. package/build-types/tree-grid/test/index.d.ts.map +1 -0
  654. package/build-types/tree-grid/test/roving-tab-index-item.d.ts +2 -0
  655. package/build-types/tree-grid/test/roving-tab-index-item.d.ts.map +1 -0
  656. package/build-types/tree-grid/test/roving-tab-index.d.ts +2 -0
  657. package/build-types/tree-grid/test/roving-tab-index.d.ts.map +1 -0
  658. package/build-types/tree-grid/test/row.d.ts +2 -0
  659. package/build-types/tree-grid/test/row.d.ts.map +1 -0
  660. package/build-types/tree-grid/types.d.ts +109 -0
  661. package/build-types/tree-grid/types.d.ts.map +1 -0
  662. package/build-types/truncate/hook.d.ts +2 -2
  663. package/build-types/ui/context/context-connect.d.ts +7 -7
  664. package/build-types/ui/context/get-styled-class-name-from-key.d.ts +1 -1
  665. package/build-types/ui/control-group/hook.d.ts +2 -2
  666. package/build-types/ui/control-label/hook.d.ts +2 -2
  667. package/build-types/ui/form-group/form-group.d.ts +2 -2
  668. package/build-types/ui/form-group/use-form-group.d.ts +2 -2
  669. package/build-types/ui/utils/get-valid-children.d.ts +1 -1
  670. package/build-types/ui/utils/space.d.ts +1 -1
  671. package/build-types/unit-control/index.d.ts +1 -1
  672. package/build-types/unit-control/styles/unit-control-styles.d.ts +2 -2
  673. package/build-types/unit-control/utils.d.ts +20 -20
  674. package/build-types/utils/events.d.ts +2 -2
  675. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  676. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  677. package/build-types/utils/hooks/use-controlled-value.d.ts +4 -4
  678. package/build-types/utils/hooks/use-latest-ref.d.ts +1 -1
  679. package/build-types/utils/unit-values.d.ts +3 -3
  680. package/build-types/v-stack/component.d.ts +2 -2
  681. package/build-types/v-stack/hook.d.ts +2 -2
  682. package/build-types/v-stack/stories/index.d.ts +2 -2
  683. package/package.json +20 -18
  684. package/src/alignment-matrix-control/utils.tsx +4 -4
  685. package/src/angle-picker-control/README.md +17 -14
  686. package/src/angle-picker-control/{angle-circle.js → angle-circle.tsx} +44 -12
  687. package/src/angle-picker-control/{index.js → index.tsx} +54 -10
  688. package/src/angle-picker-control/stories/index.tsx +57 -0
  689. package/src/angle-picker-control/styles/{angle-picker-control-styles.js → angle-picker-control-styles.tsx} +5 -1
  690. package/src/angle-picker-control/types.ts +29 -0
  691. package/src/autocomplete/autocompleter-ui.native.js +1 -0
  692. package/src/base-control/hooks.ts +1 -1
  693. package/src/border-box-control/test/{index.js → index.tsx} +76 -102
  694. package/src/border-box-control/test/{utils.js → utils.ts} +20 -0
  695. package/src/border-box-control/utils.ts +1 -1
  696. package/src/box-control/README.md +17 -26
  697. package/src/box-control/{all-input-control.js → all-input-control.tsx} +10 -6
  698. package/src/box-control/{axial-input-controls.js → axial-input-controls.tsx} +29 -24
  699. package/src/box-control/{icon.js → icon.tsx} +9 -4
  700. package/src/box-control/{index.js → index.tsx} +43 -8
  701. package/src/box-control/{input-controls.js → input-controls.tsx} +26 -16
  702. package/src/box-control/{linked-button.js → linked-button.tsx} +4 -1
  703. package/src/box-control/styles/{box-control-icon-styles.js → box-control-icon-styles.ts} +1 -1
  704. package/src/box-control/styles/{box-control-styles.js → box-control-styles.ts} +10 -2
  705. package/src/box-control/styles/{box-control-visualizer-styles.js → box-control-visualizer-styles.ts} +6 -2
  706. package/src/box-control/test/{index.js → index.tsx} +12 -9
  707. package/src/box-control/types.ts +121 -0
  708. package/src/box-control/{unit-control.js → unit-control.tsx} +9 -2
  709. package/src/box-control/{utils.js → utils.ts} +47 -38
  710. package/src/button/test/index.tsx +38 -30
  711. package/src/button/types.ts +5 -2
  712. package/src/color-palette/README.md +7 -0
  713. package/src/color-palette/index.tsx +19 -6
  714. package/src/color-palette/test/utils.ts +17 -1
  715. package/src/color-palette/types.ts +8 -0
  716. package/src/color-palette/utils.ts +12 -7
  717. package/src/combobox-control/README.md +8 -15
  718. package/src/combobox-control/{index.js → index.tsx} +91 -19
  719. package/src/combobox-control/stories/index.tsx +114 -0
  720. package/src/combobox-control/styles.ts +4 -1
  721. package/src/combobox-control/test/{index.js → index.tsx} +9 -7
  722. package/src/combobox-control/types.ts +69 -0
  723. package/src/custom-gradient-picker/index.js +0 -1
  724. package/src/custom-select-control/index.js +9 -0
  725. package/src/custom-select-control/stories/index.js +2 -2
  726. package/src/custom-select-control/test/index.js +2 -2
  727. package/src/date-time/time/index.tsx +1 -1
  728. package/src/date-time/utils.ts +1 -1
  729. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
  730. package/src/draggable/index.tsx +2 -2
  731. package/src/dropdown-menu/test/index.js +3 -11
  732. package/src/focal-point-picker/utils.ts +3 -3
  733. package/src/font-size-picker/utils.ts +2 -2
  734. package/src/gradient-picker/README.md +8 -0
  735. package/src/gradient-picker/index.js +6 -1
  736. package/src/index.js +5 -2
  737. package/src/input-control/reducer/reducer.ts +5 -5
  738. package/src/input-control/utils.ts +1 -1
  739. package/src/menu-items-choice/index.tsx +83 -0
  740. package/src/menu-items-choice/stories/index.tsx +79 -0
  741. package/src/menu-items-choice/types.ts +54 -0
  742. package/src/modal/index.tsx +45 -1
  743. package/src/modal/style.scss +8 -0
  744. package/src/modal/types.ts +2 -0
  745. package/src/navigator/context.ts +4 -0
  746. package/src/navigator/index.ts +1 -0
  747. package/src/navigator/navigator-back-button/README.md +1 -17
  748. package/src/navigator/navigator-back-button/hook.ts +10 -5
  749. package/src/navigator/navigator-button/README.md +1 -1
  750. package/src/navigator/navigator-provider/README.md +25 -4
  751. package/src/navigator/navigator-provider/component.tsx +170 -14
  752. package/src/navigator/navigator-screen/component.tsx +22 -11
  753. package/src/navigator/navigator-to-parent-button/README.md +15 -0
  754. package/src/navigator/navigator-to-parent-button/component.tsx +65 -0
  755. package/src/navigator/navigator-to-parent-button/index.ts +1 -0
  756. package/src/navigator/stories/index.tsx +93 -3
  757. package/src/navigator/test/index.tsx +267 -23
  758. package/src/navigator/test/router.ts +122 -0
  759. package/src/navigator/types.ts +31 -12
  760. package/src/navigator/use-navigator.ts +4 -1
  761. package/src/navigator/utils/router.ts +49 -0
  762. package/src/palette-edit/index.js +4 -1
  763. package/src/panel/README.md +2 -2
  764. package/src/panel/header.tsx +20 -0
  765. package/src/panel/index.tsx +48 -0
  766. package/src/panel/row.tsx +37 -0
  767. package/src/panel/stories/index.js +22 -0
  768. package/src/panel/test/__snapshots__/{header.js.snap → header.tsx.snap} +0 -0
  769. package/src/panel/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  770. package/src/panel/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  771. package/src/panel/test/{header.js → header.tsx} +1 -1
  772. package/src/panel/test/{index.js → index.tsx} +6 -4
  773. package/src/panel/test/{row.js → row.tsx} +4 -2
  774. package/src/panel/types.ts +38 -0
  775. package/src/popover/README.md +4 -1
  776. package/src/popover/index.tsx +17 -1
  777. package/src/popover/overlay-middlewares.tsx +29 -0
  778. package/src/popover/stories/index.tsx +7 -1
  779. package/src/popover/test/index.tsx +29 -21
  780. package/src/popover/types.ts +4 -2
  781. package/src/popover/utils.ts +39 -3
  782. package/src/private-apis.js +22 -0
  783. package/src/query-controls/terms.ts +1 -1
  784. package/src/range-control/utils.ts +4 -4
  785. package/src/resizable-box/resize-tooltip/styles/{resize-tooltip.styles.js → resize-tooltip.styles.ts} +0 -0
  786. package/src/resizable-box/resize-tooltip/utils.ts +14 -14
  787. package/src/select-control/README.md +3 -1
  788. package/src/select-control/index.tsx +3 -1
  789. package/src/select-control/style.scss +0 -10
  790. package/src/select-control/styles/select-control-styles.ts +36 -22
  791. package/src/select-control/types.ts +3 -1
  792. package/src/snackbar/index.tsx +2 -2
  793. package/src/toolbar/stories/{index.js → index.tsx} +39 -26
  794. package/src/toolbar/test/{index.js → index.tsx} +0 -0
  795. package/src/toolbar/test/{toolbar-group.js → toolbar-group.tsx} +2 -2
  796. package/src/toolbar/toolbar/README.md +7 -2
  797. package/src/toolbar/toolbar/{index.js → index.tsx} +33 -12
  798. package/src/toolbar/toolbar/{toolbar-container.js → toolbar-container.tsx} +9 -2
  799. package/src/toolbar/toolbar/types.ts +15 -0
  800. package/src/toolbar/toolbar-button/index.js +2 -0
  801. package/src/toolbar/toolbar-button/toolbar-button-container.js +2 -0
  802. package/src/toolbar/toolbar-context/index.js +2 -0
  803. package/src/toolbar/toolbar-dropdown-menu/index.js +2 -0
  804. package/src/toolbar/toolbar-group/index.js +2 -0
  805. package/src/toolbar/toolbar-group/toolbar-group-collapsed.js +2 -0
  806. package/src/toolbar/toolbar-group/toolbar-group-container.js +2 -0
  807. package/src/toolbar/toolbar-item/index.js +2 -0
  808. package/src/tools-panel/stories/{index.js → index.tsx} +196 -95
  809. package/src/tools-panel/test/index.js +71 -6
  810. package/src/tools-panel/tools-panel/README.md +12 -4
  811. package/src/tools-panel/tools-panel/component.tsx +57 -3
  812. package/src/tools-panel/tools-panel/hook.ts +8 -7
  813. package/src/tools-panel/tools-panel-header/README.md +7 -0
  814. package/src/tools-panel/tools-panel-header/component.tsx +2 -1
  815. package/src/tools-panel/tools-panel-header/hook.ts +6 -4
  816. package/src/tools-panel/tools-panel-item/README.md +6 -4
  817. package/src/tools-panel/tools-panel-item/component.tsx +4 -4
  818. package/src/tools-panel/tools-panel-item/hook.ts +28 -16
  819. package/src/tools-panel/types.ts +43 -15
  820. package/src/tree-grid/README.md +18 -58
  821. package/src/tree-grid/cell.tsx +41 -0
  822. package/src/tree-grid/{index.js → index.tsx} +111 -35
  823. package/src/tree-grid/item.tsx +32 -0
  824. package/src/tree-grid/{roving-tab-index-context.js → roving-tab-index-context.ts} +9 -1
  825. package/src/tree-grid/roving-tab-index-item.tsx +50 -0
  826. package/src/tree-grid/{roving-tab-index.js → roving-tab-index.tsx} +7 -5
  827. package/src/tree-grid/row.tsx +47 -0
  828. package/src/tree-grid/stories/index.tsx +144 -0
  829. package/src/tree-grid/test/__snapshots__/{cell.js.snap → cell.tsx.snap} +0 -0
  830. package/src/tree-grid/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  831. package/src/tree-grid/test/__snapshots__/{roving-tab-index-item.js.snap → roving-tab-index-item.tsx.snap} +0 -0
  832. package/src/tree-grid/test/__snapshots__/{roving-tab-index.js.snap → roving-tab-index.tsx.snap} +0 -0
  833. package/src/tree-grid/test/__snapshots__/{row.js.snap → row.tsx.snap} +0 -0
  834. package/src/tree-grid/test/{cell.js → cell.tsx} +7 -4
  835. package/src/tree-grid/test/{index.js → index.tsx} +13 -5
  836. package/src/tree-grid/test/{roving-tab-index-item.js → roving-tab-index-item.tsx} +7 -4
  837. package/src/tree-grid/test/{roving-tab-index.js → roving-tab-index.tsx} +0 -0
  838. package/src/tree-grid/test/{row.js → row.tsx} +4 -4
  839. package/src/tree-grid/types.ts +116 -0
  840. package/src/ui/context/context-connect.ts +7 -7
  841. package/src/ui/context/get-styled-class-name-from-key.ts +1 -1
  842. package/src/ui/utils/get-valid-children.ts +1 -1
  843. package/src/ui/utils/space.ts +1 -1
  844. package/src/unit-control/index.tsx +2 -2
  845. package/src/unit-control/utils.ts +20 -20
  846. package/src/utils/events.ts +4 -4
  847. package/src/utils/hooks/use-controlled-state.js +2 -2
  848. package/src/utils/hooks/use-controlled-value.ts +4 -4
  849. package/src/utils/hooks/use-latest-ref.ts +1 -1
  850. package/src/utils/unit-values.ts +3 -3
  851. package/tsconfig.json +6 -8
  852. package/tsconfig.tsbuildinfo +1 -1
  853. package/build/base-field/hook.js +0 -54
  854. package/build/base-field/hook.js.map +0 -1
  855. package/build/base-field/index.js +0 -14
  856. package/build/base-field/index.js.map +0 -1
  857. package/build/base-field/styles.js +0 -33
  858. package/build/base-field/styles.js.map +0 -1
  859. package/build/resizable-box/styles/resizable-box.styles.js +0 -2
  860. package/build-module/base-field/hook.js +0 -37
  861. package/build-module/base-field/hook.js.map +0 -1
  862. package/build-module/base-field/index.js +0 -2
  863. package/build-module/base-field/index.js.map +0 -1
  864. package/build-module/base-field/styles.js +0 -18
  865. package/build-module/base-field/styles.js.map +0 -1
  866. package/build-module/resizable-box/styles/resizable-box.styles.js +0 -2
  867. package/build-types/base-field/hook.d.ts +0 -270
  868. package/build-types/base-field/hook.d.ts.map +0 -1
  869. package/build-types/base-field/index.d.ts +0 -2
  870. package/build-types/base-field/index.d.ts.map +0 -1
  871. package/build-types/base-field/styles.d.ts +0 -6
  872. package/build-types/base-field/styles.d.ts.map +0 -1
  873. package/build-types/base-field/types.d.ts +0 -29
  874. package/build-types/base-field/types.d.ts.map +0 -1
  875. package/build-types/resizable-box/styles/resizable-box.styles.d.ts +0 -1
  876. package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +0 -1
  877. package/src/angle-picker-control/stories/index.js +0 -29
  878. package/src/base-field/README.md +0 -66
  879. package/src/base-field/hook.ts +0 -51
  880. package/src/base-field/index.ts +0 -1
  881. package/src/base-field/styles.ts +0 -86
  882. package/src/base-field/test/__snapshots__/index.tsx.snap +0 -141
  883. package/src/base-field/test/index.tsx +0 -84
  884. package/src/base-field/types.ts +0 -29
  885. package/src/combobox-control/stories/index.js +0 -339
  886. package/src/menu-items-choice/index.js +0 -43
  887. package/src/panel/header.js +0 -10
  888. package/src/panel/index.js +0 -26
  889. package/src/panel/row.js +0 -20
  890. package/src/resizable-box/styles/resizable-box.styles.js +0 -0
  891. package/src/tools-panel/stories/utils/tools-panel-with-item-group-slot.js +0 -246
  892. package/src/tree-grid/cell.js +0 -24
  893. package/src/tree-grid/item.js +0 -20
  894. package/src/tree-grid/roving-tab-index-item.js +0 -33
  895. package/src/tree-grid/row.js +0 -31
  896. package/src/tree-grid/stories/index.js +0 -106
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/unit-control/utils.ts"],"names":["__","_x","Platform","isWeb","OS","allUnits","px","value","label","a11yLabel","step","em","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","ALL_CSS_UNITS","Object","values","CSS_UNITS","DEFAULT_UNIT","getParsedQuantityAndUnit","rawValue","fallbackUnit","allowedUnits","initialValue","parseQuantityAndUnitFromRawValue","hasUnits","units","Array","isArray","length","trimmedValue","quantityToReturn","trim","parsedQuantity","parseFloat","isFinite","undefined","unitMatch","match","matchedUnit","toLowerCase","unitToReturn","find","item","getValidParsedQuantityAndUnit","fallbackQuantity","parsedUnit","getAccessibleLabelForUnit","unit","filterUnitsWithSettings","allowedUnitValues","availableUnits","filter","includes","useCustomUnits","defaultValues","customUnitsToReturn","forEach","i","parsedDefaultValue","default","getUnitsWithCurrentUnit","legacyUnit","unitsToReturn","currentUnit","some","unshift"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WPUnitControlUnit } from './types';\n\nconst isWeb = Platform.OS === 'web';\n\nconst allUnits: Record< string, WPUnitControlUnit > = {\n\tpx: {\n\t\tvalue: 'px',\n\t\tlabel: isWeb ? 'px' : __( 'Pixels (px)' ),\n\t\ta11yLabel: __( 'Pixels (px)' ),\n\t\tstep: 1,\n\t},\n\t'%': {\n\t\tvalue: '%',\n\t\tlabel: isWeb ? '%' : __( 'Percentage (%)' ),\n\t\ta11yLabel: __( 'Percent (%)' ),\n\t\tstep: 0.1,\n\t},\n\tem: {\n\t\tvalue: 'em',\n\t\tlabel: isWeb ? 'em' : __( 'Relative to parent font size (em)' ),\n\t\ta11yLabel: _x( 'ems', 'Relative to parent font size (em)' ),\n\t\tstep: 0.01,\n\t},\n\trem: {\n\t\tvalue: 'rem',\n\t\tlabel: isWeb ? 'rem' : __( 'Relative to root font size (rem)' ),\n\t\ta11yLabel: _x( 'rems', 'Relative to root font size (rem)' ),\n\t\tstep: 0.01,\n\t},\n\tvw: {\n\t\tvalue: 'vw',\n\t\tlabel: isWeb ? 'vw' : __( 'Viewport width (vw)' ),\n\t\ta11yLabel: __( 'Viewport width (vw)' ),\n\t\tstep: 0.1,\n\t},\n\tvh: {\n\t\tvalue: 'vh',\n\t\tlabel: isWeb ? 'vh' : __( 'Viewport height (vh)' ),\n\t\ta11yLabel: __( 'Viewport height (vh)' ),\n\t\tstep: 0.1,\n\t},\n\tvmin: {\n\t\tvalue: 'vmin',\n\t\tlabel: isWeb ? 'vmin' : __( 'Viewport smallest dimension (vmin)' ),\n\t\ta11yLabel: __( 'Viewport smallest dimension (vmin)' ),\n\t\tstep: 0.1,\n\t},\n\tvmax: {\n\t\tvalue: 'vmax',\n\t\tlabel: isWeb ? 'vmax' : __( 'Viewport largest dimension (vmax)' ),\n\t\ta11yLabel: __( 'Viewport largest dimension (vmax)' ),\n\t\tstep: 0.1,\n\t},\n\tch: {\n\t\tvalue: 'ch',\n\t\tlabel: isWeb ? 'ch' : __( 'Width of the zero (0) character (ch)' ),\n\t\ta11yLabel: __( 'Width of the zero (0) character (ch)' ),\n\t\tstep: 0.01,\n\t},\n\tex: {\n\t\tvalue: 'ex',\n\t\tlabel: isWeb ? 'ex' : __( 'x-height of the font (ex)' ),\n\t\ta11yLabel: __( 'x-height of the font (ex)' ),\n\t\tstep: 0.01,\n\t},\n\tcm: {\n\t\tvalue: 'cm',\n\t\tlabel: isWeb ? 'cm' : __( 'Centimeters (cm)' ),\n\t\ta11yLabel: __( 'Centimeters (cm)' ),\n\t\tstep: 0.001,\n\t},\n\tmm: {\n\t\tvalue: 'mm',\n\t\tlabel: isWeb ? 'mm' : __( 'Millimeters (mm)' ),\n\t\ta11yLabel: __( 'Millimeters (mm)' ),\n\t\tstep: 0.1,\n\t},\n\tin: {\n\t\tvalue: 'in',\n\t\tlabel: isWeb ? 'in' : __( 'Inches (in)' ),\n\t\ta11yLabel: __( 'Inches (in)' ),\n\t\tstep: 0.001,\n\t},\n\tpc: {\n\t\tvalue: 'pc',\n\t\tlabel: isWeb ? 'pc' : __( 'Picas (pc)' ),\n\t\ta11yLabel: __( 'Picas (pc)' ),\n\t\tstep: 1,\n\t},\n\tpt: {\n\t\tvalue: 'pt',\n\t\tlabel: isWeb ? 'pt' : __( 'Points (pt)' ),\n\t\ta11yLabel: __( 'Points (pt)' ),\n\t\tstep: 1,\n\t},\n};\n\n/**\n * An array of all available CSS length units.\n */\nexport const ALL_CSS_UNITS = Object.values( allUnits );\n\n/**\n * Units of measurements. `a11yLabel` is used by screenreaders.\n */\nexport const CSS_UNITS = [\n\tallUnits.px,\n\tallUnits[ '%' ],\n\tallUnits.em,\n\tallUnits.rem,\n\tallUnits.vw,\n\tallUnits.vh,\n];\n\nexport const DEFAULT_UNIT = allUnits.px;\n\n/**\n * Handles legacy value + unit handling.\n * This component use to manage both incoming value and units separately.\n *\n * Moving forward, ideally the value should be a string that contains both\n * the value and unit, example: '10px'\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param fallbackUnit The unit used as a fallback, if not unit is detected in the `value`\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parse\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function getParsedQuantityAndUnit(\n\trawValue?: string | number,\n\tfallbackUnit?: string,\n\tallowedUnits?: WPUnitControlUnit[]\n): [ number | undefined, string | undefined ] {\n\tconst initialValue = fallbackUnit\n\t\t? `${ rawValue ?? '' }${ fallbackUnit }`\n\t\t: rawValue;\n\n\treturn parseQuantityAndUnitFromRawValue( initialValue, allowedUnits );\n}\n\n/**\n * Checks if units are defined.\n *\n * @param units List of units.\n * @return Whether the list actually contains any units.\n */\nexport function hasUnits(\n\tunits?: WPUnitControlUnit[]\n): units is WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( units ) && !! units.length;\n}\n\n/**\n * Parses a quantity and unit from a raw string value, given a list of allowed\n * units and otherwise falling back to the default unit.\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parsed\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function parseQuantityAndUnitFromRawValue(\n\trawValue?: string | number,\n\tallowedUnits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): [ number | undefined, string | undefined ] {\n\tlet trimmedValue;\n\tlet quantityToReturn;\n\n\tif ( typeof rawValue !== 'undefined' || rawValue === null ) {\n\t\ttrimmedValue = `${ rawValue }`.trim();\n\t\tconst parsedQuantity = parseFloat( trimmedValue );\n\t\tquantityToReturn = ! isFinite( parsedQuantity )\n\t\t\t? undefined\n\t\t\t: parsedQuantity;\n\t}\n\n\tconst unitMatch = trimmedValue?.match( /[\\d.\\-\\+]*\\s*(.*)/ );\n\tconst matchedUnit = unitMatch?.[ 1 ]?.toLowerCase();\n\tlet unitToReturn: string | undefined;\n\tif ( hasUnits( allowedUnits ) ) {\n\t\tconst match = allowedUnits.find(\n\t\t\t( item ) => item.value === matchedUnit\n\t\t);\n\t\tunitToReturn = match?.value;\n\t} else {\n\t\tunitToReturn = DEFAULT_UNIT.value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Parses quantity and unit from a raw value. Validates parsed value, using fallback\n * value if invalid.\n *\n * @param rawValue The next value.\n * @param allowedUnits Units to derive from.\n * @param fallbackQuantity The fallback quantity, used in case it's not possible to parse a valid quantity from the raw value.\n * @param fallbackUnit The fallback unit, used in case it's not possible to parse a valid unit from the raw value.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly, and the `fallbackQuantity` was also `undefined`. The\n * unit can be `undefined` only if the unit parsed from the raw value could not be matched against\n * the list of allowed units, the `fallbackQuantity` is also `undefined` and the list of\n * `allowedUnits` is passed empty.\n */\nexport function getValidParsedQuantityAndUnit(\n\trawValue: string | number,\n\tallowedUnits?: WPUnitControlUnit[],\n\tfallbackQuantity?: number,\n\tfallbackUnit?: string\n): [ number | undefined, string | undefined ] {\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\trawValue,\n\t\tallowedUnits\n\t);\n\n\t// The parsed value from `parseQuantityAndUnitFromRawValue` should now be\n\t// either a real number or undefined. If undefined, use the fallback value.\n\tconst quantityToReturn = parsedQuantity ?? fallbackQuantity;\n\n\t// If no unit is parsed from the raw value, or if the fallback unit is not\n\t// defined, use the first value from the list of allowed units as fallback.\n\tlet unitToReturn = parsedUnit || fallbackUnit;\n\n\tif ( ! unitToReturn && hasUnits( allowedUnits ) ) {\n\t\tunitToReturn = allowedUnits[ 0 ].value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Takes a unit value and finds the matching accessibility label for the\n * unit abbreviation.\n *\n * @param unit Unit value (example: `px`)\n * @return a11y label for the unit abbreviation\n */\nexport function getAccessibleLabelForUnit( unit: string ): string | undefined {\n\tconst match = ALL_CSS_UNITS.find( ( item ) => item.value === unit );\n\treturn match?.a11yLabel ? match?.a11yLabel : match?.value;\n}\n\n/**\n * Filters available units based on values defined a list of allowed unit values.\n *\n * @param allowedUnitValues Collection of allowed unit value strings.\n * @param availableUnits Collection of available unit objects.\n * @return Filtered units.\n */\nexport function filterUnitsWithSettings(\n\tallowedUnitValues: string[] = [],\n\tavailableUnits: WPUnitControlUnit[]\n): WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( availableUnits )\n\t\t? availableUnits.filter( ( unit ) =>\n\t\t\t\tallowedUnitValues.includes( unit.value )\n\t\t )\n\t\t: [];\n}\n\n/**\n * Custom hook to retrieve and consolidate units setting from add_theme_support().\n * TODO: ideally this hook shouldn't be needed\n * https://github.com/WordPress/gutenberg/pull/31822#discussion_r633280823\n *\n * @param args An object containing units, settingPath & defaultUnits.\n * @param args.units Collection of all potentially available units.\n * @param args.availableUnits Collection of unit value strings for filtering available units.\n * @param args.defaultValues Collection of default values for defined units. Example: `{ px: 350, em: 15 }`.\n *\n * @return Filtered list of units, with their default values updated following the `defaultValues`\n * argument's property.\n */\nexport const useCustomUnits = ( {\n\tunits = ALL_CSS_UNITS,\n\tavailableUnits = [],\n\tdefaultValues,\n}: {\n\tunits?: WPUnitControlUnit[];\n\tavailableUnits?: string[];\n\tdefaultValues?: Record< string, number >;\n} ): WPUnitControlUnit[] => {\n\tconst customUnitsToReturn = filterUnitsWithSettings(\n\t\tavailableUnits,\n\t\tunits\n\t);\n\n\tif ( defaultValues ) {\n\t\tcustomUnitsToReturn.forEach( ( unit, i ) => {\n\t\t\tif ( defaultValues[ unit.value ] ) {\n\t\t\t\tconst [ parsedDefaultValue ] = parseQuantityAndUnitFromRawValue(\n\t\t\t\t\tdefaultValues[ unit.value ]\n\t\t\t\t);\n\n\t\t\t\tcustomUnitsToReturn[ i ].default = parsedDefaultValue;\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn customUnitsToReturn;\n};\n\n/**\n * Get available units with the unit for the currently selected value\n * prepended if it is not available in the list of units.\n *\n * This is useful to ensure that the current value's unit is always\n * accurately displayed in the UI, even if the intention is to hide\n * the availability of that unit.\n *\n * @param rawValue Selected value to parse.\n * @param legacyUnit Legacy unit value, if rawValue needs it appended.\n * @param units List of available units.\n *\n * @return A collection of units containing the unit for the current value.\n */\nexport function getUnitsWithCurrentUnit(\n\trawValue?: string | number,\n\tlegacyUnit?: string,\n\tunits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): WPUnitControlUnit[] {\n\tconst unitsToReturn = Array.isArray( units ) ? [ ...units ] : [];\n\tconst [ , currentUnit ] = getParsedQuantityAndUnit(\n\t\trawValue,\n\t\tlegacyUnit,\n\t\tALL_CSS_UNITS\n\t);\n\n\tif (\n\t\tcurrentUnit &&\n\t\t! unitsToReturn.some( ( unit ) => unit.value === currentUnit )\n\t) {\n\t\tif ( allUnits[ currentUnit ] ) {\n\t\t\tunitsToReturn.unshift( allUnits[ currentUnit ] );\n\t\t}\n\t}\n\n\treturn unitsToReturn;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/unit-control/utils.ts"],"names":["__","_x","Platform","isWeb","OS","allUnits","px","value","label","a11yLabel","step","em","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","ALL_CSS_UNITS","Object","values","CSS_UNITS","DEFAULT_UNIT","getParsedQuantityAndUnit","rawValue","fallbackUnit","allowedUnits","initialValue","parseQuantityAndUnitFromRawValue","hasUnits","units","Array","isArray","length","trimmedValue","quantityToReturn","trim","parsedQuantity","parseFloat","isFinite","undefined","unitMatch","match","matchedUnit","toLowerCase","unitToReturn","find","item","getValidParsedQuantityAndUnit","fallbackQuantity","parsedUnit","getAccessibleLabelForUnit","unit","filterUnitsWithSettings","allowedUnitValues","availableUnits","filter","includes","useCustomUnits","defaultValues","customUnitsToReturn","forEach","i","parsedDefaultValue","default","getUnitsWithCurrentUnit","legacyUnit","unitsToReturn","currentUnit","some","unshift"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AAGA,MAAMC,KAAK,GAAGD,QAAQ,CAACE,EAAT,KAAgB,KAA9B;AAEA,MAAMC,QAA6C,GAAG;AACrDC,EAAAA,EAAE,EAAE;AACHC,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,aAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,aAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GADiD;AAOrD,OAAK;AACJH,IAAAA,KAAK,EAAE,GADH;AAEJC,IAAAA,KAAK,EAAEL,KAAK,GAAG,GAAH,GAASH,EAAE,CAAE,gBAAF,CAFnB;AAGJS,IAAAA,SAAS,EAAET,EAAE,CAAE,aAAF,CAHT;AAIJU,IAAAA,IAAI,EAAE;AAJF,GAPgD;AAarDC,EAAAA,EAAE,EAAE;AACHJ,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,mCAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAER,EAAE,CAAE,KAAF,EAAS,mCAAT,CAHV;AAIHS,IAAAA,IAAI,EAAE;AAJH,GAbiD;AAmBrDE,EAAAA,GAAG,EAAE;AACJL,IAAAA,KAAK,EAAE,KADH;AAEJC,IAAAA,KAAK,EAAEL,KAAK,GAAG,KAAH,GAAWH,EAAE,CAAE,kCAAF,CAFrB;AAGJS,IAAAA,SAAS,EAAER,EAAE,CAAE,MAAF,EAAU,kCAAV,CAHT;AAIJS,IAAAA,IAAI,EAAE;AAJF,GAnBgD;AAyBrDG,EAAAA,EAAE,EAAE;AACHN,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,qBAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,qBAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GAzBiD;AA+BrDI,EAAAA,EAAE,EAAE;AACHP,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,sBAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,sBAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GA/BiD;AAqCrDK,EAAAA,IAAI,EAAE;AACLR,IAAAA,KAAK,EAAE,MADF;AAELC,IAAAA,KAAK,EAAEL,KAAK,GAAG,MAAH,GAAYH,EAAE,CAAE,oCAAF,CAFrB;AAGLS,IAAAA,SAAS,EAAET,EAAE,CAAE,oCAAF,CAHR;AAILU,IAAAA,IAAI,EAAE;AAJD,GArC+C;AA2CrDM,EAAAA,IAAI,EAAE;AACLT,IAAAA,KAAK,EAAE,MADF;AAELC,IAAAA,KAAK,EAAEL,KAAK,GAAG,MAAH,GAAYH,EAAE,CAAE,mCAAF,CAFrB;AAGLS,IAAAA,SAAS,EAAET,EAAE,CAAE,mCAAF,CAHR;AAILU,IAAAA,IAAI,EAAE;AAJD,GA3C+C;AAiDrDO,EAAAA,EAAE,EAAE;AACHV,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,sCAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,sCAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GAjDiD;AAuDrDQ,EAAAA,EAAE,EAAE;AACHX,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,2BAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,2BAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GAvDiD;AA6DrDS,EAAAA,EAAE,EAAE;AACHZ,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,kBAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,kBAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GA7DiD;AAmErDU,EAAAA,EAAE,EAAE;AACHb,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,kBAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,kBAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GAnEiD;AAyErDW,EAAAA,EAAE,EAAE;AACHd,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,aAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,aAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GAzEiD;AA+ErDY,EAAAA,EAAE,EAAE;AACHf,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,YAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,YAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH,GA/EiD;AAqFrDa,EAAAA,EAAE,EAAE;AACHhB,IAAAA,KAAK,EAAE,IADJ;AAEHC,IAAAA,KAAK,EAAEL,KAAK,GAAG,IAAH,GAAUH,EAAE,CAAE,aAAF,CAFrB;AAGHS,IAAAA,SAAS,EAAET,EAAE,CAAE,aAAF,CAHV;AAIHU,IAAAA,IAAI,EAAE;AAJH;AArFiD,CAAtD;AA6FA;AACA;AACA;;AACA,OAAO,MAAMc,aAAa,GAAGC,MAAM,CAACC,MAAP,CAAerB,QAAf,CAAtB;AAEP;AACA;AACA;;AACA,OAAO,MAAMsB,SAAS,GAAG,CACxBtB,QAAQ,CAACC,EADe,EAExBD,QAAQ,CAAE,GAAF,CAFgB,EAGxBA,QAAQ,CAACM,EAHe,EAIxBN,QAAQ,CAACO,GAJe,EAKxBP,QAAQ,CAACQ,EALe,EAMxBR,QAAQ,CAACS,EANe,CAAlB;AASP,OAAO,MAAMc,YAAY,GAAGvB,QAAQ,CAACC,EAA9B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASuB,wBAAT,CACNC,QADM,EAENC,YAFM,EAGNC,YAHM,EAIuC;AAC7C,QAAMC,YAAY,GAAGF,YAAY,GAC7B,GAAGD,QAAJ,aAAIA,QAAJ,cAAIA,QAAJ,GAAgB,EAAI,GAAGC,YAAc,EADP,GAE9BD,QAFH;AAIA,SAAOI,gCAAgC,CAAED,YAAF,EAAgBD,YAAhB,CAAvC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,QAAT,CACNC,KADM,EAEyB;AAC/B;AACA;AACA;AACA,SAAOC,KAAK,CAACC,OAAN,CAAeF,KAAf,KAA0B,CAAC,CAAEA,KAAK,CAACG,MAA1C;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASL,gCAAT,CACNJ,QADM,EAGuC;AAAA;;AAAA,MAD7CE,YAC6C,uEADTR,aACS;AAC7C,MAAIgB,YAAJ;AACA,MAAIC,gBAAJ;;AAEA,MAAK,OAAOX,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,KAAK,IAArD,EAA4D;AAC3DU,IAAAA,YAAY,GAAI,GAAGV,QAAU,EAAd,CAAgBY,IAAhB,EAAf;AACA,UAAMC,cAAc,GAAGC,UAAU,CAAEJ,YAAF,CAAjC;AACAC,IAAAA,gBAAgB,GAAG,CAAEI,QAAQ,CAAEF,cAAF,CAAV,GAChBG,SADgB,GAEhBH,cAFH;AAGA;;AAED,QAAMI,SAAS,oBAAGP,YAAH,kDAAG,cAAcQ,KAAd,CAAqB,mBAArB,CAAlB;AACA,QAAMC,WAAW,GAAGF,SAAH,aAAGA,SAAH,sCAAGA,SAAS,CAAI,CAAJ,CAAZ,gDAAG,YAAkBG,WAAlB,EAApB;AACA,MAAIC,YAAJ;;AACA,MAAKhB,QAAQ,CAAEH,YAAF,CAAb,EAAgC;AAC/B,UAAMgB,KAAK,GAAGhB,YAAY,CAACoB,IAAb,CACXC,IAAF,IAAYA,IAAI,CAAC9C,KAAL,KAAe0C,WADd,CAAd;AAGAE,IAAAA,YAAY,GAAGH,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEzC,KAAtB;AACA,GALD,MAKO;AACN4C,IAAAA,YAAY,GAAGvB,YAAY,CAACrB,KAA5B;AACA;;AAED,SAAO,CAAEkC,gBAAF,EAAoBU,YAApB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,6BAAT,CACNxB,QADM,EAENE,YAFM,EAGNuB,gBAHM,EAINxB,YAJM,EAKuC;AAC7C,QAAM,CAAEY,cAAF,EAAkBa,UAAlB,IAAiCtB,gCAAgC,CACtEJ,QADsE,EAEtEE,YAFsE,CAAvE,CAD6C,CAM7C;AACA;;AACA,QAAMS,gBAAgB,GAAGE,cAAH,aAAGA,cAAH,cAAGA,cAAH,GAAqBY,gBAA3C,CAR6C,CAU7C;AACA;;AACA,MAAIJ,YAAY,GAAGK,UAAU,IAAIzB,YAAjC;;AAEA,MAAK,CAAEoB,YAAF,IAAkBhB,QAAQ,CAAEH,YAAF,CAA/B,EAAkD;AACjDmB,IAAAA,YAAY,GAAGnB,YAAY,CAAE,CAAF,CAAZ,CAAkBzB,KAAjC;AACA;;AAED,SAAO,CAAEkC,gBAAF,EAAoBU,YAApB,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASM,yBAAT,CAAoCC,IAApC,EAAuE;AAC7E,QAAMV,KAAK,GAAGxB,aAAa,CAAC4B,IAAd,CAAsBC,IAAF,IAAYA,IAAI,CAAC9C,KAAL,KAAemD,IAA/C,CAAd;AACA,SAAOV,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEvC,SAAP,GAAmBuC,KAAnB,aAAmBA,KAAnB,uBAAmBA,KAAK,CAAEvC,SAA1B,GAAsCuC,KAAtC,aAAsCA,KAAtC,uBAAsCA,KAAK,CAAEzC,KAApD;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASoD,uBAAT,GAGgB;AAAA,MAFtBC,iBAEsB,uEAFQ,EAER;AAAA,MADtBC,cACsB;AACtB;AACA;AACA;AACA,SAAOxB,KAAK,CAACC,OAAN,CAAeuB,cAAf,IACJA,cAAc,CAACC,MAAf,CAAyBJ,IAAF,IACvBE,iBAAiB,CAACG,QAAlB,CAA4BL,IAAI,CAACnD,KAAjC,CADA,CADI,GAIJ,EAJH;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMyD,cAAc,GAAG,QAQF;AAAA,MARI;AAC/B5B,IAAAA,KAAK,GAAGZ,aADuB;AAE/BqC,IAAAA,cAAc,GAAG,EAFc;AAG/BI,IAAAA;AAH+B,GAQJ;AAC3B,QAAMC,mBAAmB,GAAGP,uBAAuB,CAClDE,cADkD,EAElDzB,KAFkD,CAAnD;;AAKA,MAAK6B,aAAL,EAAqB;AACpBC,IAAAA,mBAAmB,CAACC,OAApB,CAA6B,CAAET,IAAF,EAAQU,CAAR,KAAe;AAC3C,UAAKH,aAAa,CAAEP,IAAI,CAACnD,KAAP,CAAlB,EAAmC;AAClC,cAAM,CAAE8D,kBAAF,IAAyBnC,gCAAgC,CAC9D+B,aAAa,CAAEP,IAAI,CAACnD,KAAP,CADiD,CAA/D;AAIA2D,QAAAA,mBAAmB,CAAEE,CAAF,CAAnB,CAAyBE,OAAzB,GAAmCD,kBAAnC;AACA;AACD,KARD;AASA;;AAED,SAAOH,mBAAP;AACA,CA3BM;AA6BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,uBAAT,CACNzC,QADM,EAEN0C,UAFM,EAIgB;AAAA,MADtBpC,KACsB,uEADOZ,aACP;AACtB,QAAMiD,aAAa,GAAGpC,KAAK,CAACC,OAAN,CAAeF,KAAf,IAAyB,CAAE,GAAGA,KAAL,CAAzB,GAAwC,EAA9D;AACA,QAAM,GAAIsC,WAAJ,IAAoB7C,wBAAwB,CACjDC,QADiD,EAEjD0C,UAFiD,EAGjDhD,aAHiD,CAAlD;;AAMA,MACCkD,WAAW,IACX,CAAED,aAAa,CAACE,IAAd,CAAsBjB,IAAF,IAAYA,IAAI,CAACnD,KAAL,KAAemE,WAA/C,CAFH,EAGE;AACD,QAAKrE,QAAQ,CAAEqE,WAAF,CAAb,EAA+B;AAC9BD,MAAAA,aAAa,CAACG,OAAd,CAAuBvE,QAAQ,CAAEqE,WAAF,CAA/B;AACA;AACD;;AAED,SAAOD,aAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WPUnitControlUnit } from './types';\n\nconst isWeb = Platform.OS === 'web';\n\nconst allUnits: Record< string, WPUnitControlUnit > = {\n\tpx: {\n\t\tvalue: 'px',\n\t\tlabel: isWeb ? 'px' : __( 'Pixels (px)' ),\n\t\ta11yLabel: __( 'Pixels (px)' ),\n\t\tstep: 1,\n\t},\n\t'%': {\n\t\tvalue: '%',\n\t\tlabel: isWeb ? '%' : __( 'Percentage (%)' ),\n\t\ta11yLabel: __( 'Percent (%)' ),\n\t\tstep: 0.1,\n\t},\n\tem: {\n\t\tvalue: 'em',\n\t\tlabel: isWeb ? 'em' : __( 'Relative to parent font size (em)' ),\n\t\ta11yLabel: _x( 'ems', 'Relative to parent font size (em)' ),\n\t\tstep: 0.01,\n\t},\n\trem: {\n\t\tvalue: 'rem',\n\t\tlabel: isWeb ? 'rem' : __( 'Relative to root font size (rem)' ),\n\t\ta11yLabel: _x( 'rems', 'Relative to root font size (rem)' ),\n\t\tstep: 0.01,\n\t},\n\tvw: {\n\t\tvalue: 'vw',\n\t\tlabel: isWeb ? 'vw' : __( 'Viewport width (vw)' ),\n\t\ta11yLabel: __( 'Viewport width (vw)' ),\n\t\tstep: 0.1,\n\t},\n\tvh: {\n\t\tvalue: 'vh',\n\t\tlabel: isWeb ? 'vh' : __( 'Viewport height (vh)' ),\n\t\ta11yLabel: __( 'Viewport height (vh)' ),\n\t\tstep: 0.1,\n\t},\n\tvmin: {\n\t\tvalue: 'vmin',\n\t\tlabel: isWeb ? 'vmin' : __( 'Viewport smallest dimension (vmin)' ),\n\t\ta11yLabel: __( 'Viewport smallest dimension (vmin)' ),\n\t\tstep: 0.1,\n\t},\n\tvmax: {\n\t\tvalue: 'vmax',\n\t\tlabel: isWeb ? 'vmax' : __( 'Viewport largest dimension (vmax)' ),\n\t\ta11yLabel: __( 'Viewport largest dimension (vmax)' ),\n\t\tstep: 0.1,\n\t},\n\tch: {\n\t\tvalue: 'ch',\n\t\tlabel: isWeb ? 'ch' : __( 'Width of the zero (0) character (ch)' ),\n\t\ta11yLabel: __( 'Width of the zero (0) character (ch)' ),\n\t\tstep: 0.01,\n\t},\n\tex: {\n\t\tvalue: 'ex',\n\t\tlabel: isWeb ? 'ex' : __( 'x-height of the font (ex)' ),\n\t\ta11yLabel: __( 'x-height of the font (ex)' ),\n\t\tstep: 0.01,\n\t},\n\tcm: {\n\t\tvalue: 'cm',\n\t\tlabel: isWeb ? 'cm' : __( 'Centimeters (cm)' ),\n\t\ta11yLabel: __( 'Centimeters (cm)' ),\n\t\tstep: 0.001,\n\t},\n\tmm: {\n\t\tvalue: 'mm',\n\t\tlabel: isWeb ? 'mm' : __( 'Millimeters (mm)' ),\n\t\ta11yLabel: __( 'Millimeters (mm)' ),\n\t\tstep: 0.1,\n\t},\n\tin: {\n\t\tvalue: 'in',\n\t\tlabel: isWeb ? 'in' : __( 'Inches (in)' ),\n\t\ta11yLabel: __( 'Inches (in)' ),\n\t\tstep: 0.001,\n\t},\n\tpc: {\n\t\tvalue: 'pc',\n\t\tlabel: isWeb ? 'pc' : __( 'Picas (pc)' ),\n\t\ta11yLabel: __( 'Picas (pc)' ),\n\t\tstep: 1,\n\t},\n\tpt: {\n\t\tvalue: 'pt',\n\t\tlabel: isWeb ? 'pt' : __( 'Points (pt)' ),\n\t\ta11yLabel: __( 'Points (pt)' ),\n\t\tstep: 1,\n\t},\n};\n\n/**\n * An array of all available CSS length units.\n */\nexport const ALL_CSS_UNITS = Object.values( allUnits );\n\n/**\n * Units of measurements. `a11yLabel` is used by screenreaders.\n */\nexport const CSS_UNITS = [\n\tallUnits.px,\n\tallUnits[ '%' ],\n\tallUnits.em,\n\tallUnits.rem,\n\tallUnits.vw,\n\tallUnits.vh,\n];\n\nexport const DEFAULT_UNIT = allUnits.px;\n\n/**\n * Handles legacy value + unit handling.\n * This component use to manage both incoming value and units separately.\n *\n * Moving forward, ideally the value should be a string that contains both\n * the value and unit, example: '10px'\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param fallbackUnit The unit used as a fallback, if not unit is detected in the `value`\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parse\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function getParsedQuantityAndUnit(\n\trawValue?: string | number,\n\tfallbackUnit?: string,\n\tallowedUnits?: WPUnitControlUnit[]\n): [ number | undefined, string | undefined ] {\n\tconst initialValue = fallbackUnit\n\t\t? `${ rawValue ?? '' }${ fallbackUnit }`\n\t\t: rawValue;\n\n\treturn parseQuantityAndUnitFromRawValue( initialValue, allowedUnits );\n}\n\n/**\n * Checks if units are defined.\n *\n * @param units List of units.\n * @return Whether the list actually contains any units.\n */\nexport function hasUnits(\n\tunits?: WPUnitControlUnit[]\n): units is WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( units ) && !! units.length;\n}\n\n/**\n * Parses a quantity and unit from a raw string value, given a list of allowed\n * units and otherwise falling back to the default unit.\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parsed\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function parseQuantityAndUnitFromRawValue(\n\trawValue?: string | number,\n\tallowedUnits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): [ number | undefined, string | undefined ] {\n\tlet trimmedValue;\n\tlet quantityToReturn;\n\n\tif ( typeof rawValue !== 'undefined' || rawValue === null ) {\n\t\ttrimmedValue = `${ rawValue }`.trim();\n\t\tconst parsedQuantity = parseFloat( trimmedValue );\n\t\tquantityToReturn = ! isFinite( parsedQuantity )\n\t\t\t? undefined\n\t\t\t: parsedQuantity;\n\t}\n\n\tconst unitMatch = trimmedValue?.match( /[\\d.\\-\\+]*\\s*(.*)/ );\n\tconst matchedUnit = unitMatch?.[ 1 ]?.toLowerCase();\n\tlet unitToReturn: string | undefined;\n\tif ( hasUnits( allowedUnits ) ) {\n\t\tconst match = allowedUnits.find(\n\t\t\t( item ) => item.value === matchedUnit\n\t\t);\n\t\tunitToReturn = match?.value;\n\t} else {\n\t\tunitToReturn = DEFAULT_UNIT.value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Parses quantity and unit from a raw value. Validates parsed value, using fallback\n * value if invalid.\n *\n * @param rawValue The next value.\n * @param allowedUnits Units to derive from.\n * @param fallbackQuantity The fallback quantity, used in case it's not possible to parse a valid quantity from the raw value.\n * @param fallbackUnit The fallback unit, used in case it's not possible to parse a valid unit from the raw value.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly, and the `fallbackQuantity` was also `undefined`. The\n * unit can be `undefined` only if the unit parsed from the raw value could not be matched against\n * the list of allowed units, the `fallbackQuantity` is also `undefined` and the list of\n * `allowedUnits` is passed empty.\n */\nexport function getValidParsedQuantityAndUnit(\n\trawValue: string | number,\n\tallowedUnits?: WPUnitControlUnit[],\n\tfallbackQuantity?: number,\n\tfallbackUnit?: string\n): [ number | undefined, string | undefined ] {\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\trawValue,\n\t\tallowedUnits\n\t);\n\n\t// The parsed value from `parseQuantityAndUnitFromRawValue` should now be\n\t// either a real number or undefined. If undefined, use the fallback value.\n\tconst quantityToReturn = parsedQuantity ?? fallbackQuantity;\n\n\t// If no unit is parsed from the raw value, or if the fallback unit is not\n\t// defined, use the first value from the list of allowed units as fallback.\n\tlet unitToReturn = parsedUnit || fallbackUnit;\n\n\tif ( ! unitToReturn && hasUnits( allowedUnits ) ) {\n\t\tunitToReturn = allowedUnits[ 0 ].value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Takes a unit value and finds the matching accessibility label for the\n * unit abbreviation.\n *\n * @param unit Unit value (example: `px`)\n * @return a11y label for the unit abbreviation\n */\nexport function getAccessibleLabelForUnit( unit: string ): string | undefined {\n\tconst match = ALL_CSS_UNITS.find( ( item ) => item.value === unit );\n\treturn match?.a11yLabel ? match?.a11yLabel : match?.value;\n}\n\n/**\n * Filters available units based on values defined a list of allowed unit values.\n *\n * @param allowedUnitValues Collection of allowed unit value strings.\n * @param availableUnits Collection of available unit objects.\n * @return Filtered units.\n */\nexport function filterUnitsWithSettings(\n\tallowedUnitValues: string[] = [],\n\tavailableUnits: WPUnitControlUnit[]\n): WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( availableUnits )\n\t\t? availableUnits.filter( ( unit ) =>\n\t\t\t\tallowedUnitValues.includes( unit.value )\n\t\t )\n\t\t: [];\n}\n\n/**\n * Custom hook to retrieve and consolidate units setting from add_theme_support().\n * TODO: ideally this hook shouldn't be needed\n * https://github.com/WordPress/gutenberg/pull/31822#discussion_r633280823\n *\n * @param args An object containing units, settingPath & defaultUnits.\n * @param args.units Collection of all potentially available units.\n * @param args.availableUnits Collection of unit value strings for filtering available units.\n * @param args.defaultValues Collection of default values for defined units. Example: `{ px: 350, em: 15 }`.\n *\n * @return Filtered list of units, with their default values updated following the `defaultValues`\n * argument's property.\n */\nexport const useCustomUnits = ( {\n\tunits = ALL_CSS_UNITS,\n\tavailableUnits = [],\n\tdefaultValues,\n}: {\n\tunits?: WPUnitControlUnit[];\n\tavailableUnits?: string[];\n\tdefaultValues?: Record< string, number >;\n} ): WPUnitControlUnit[] => {\n\tconst customUnitsToReturn = filterUnitsWithSettings(\n\t\tavailableUnits,\n\t\tunits\n\t);\n\n\tif ( defaultValues ) {\n\t\tcustomUnitsToReturn.forEach( ( unit, i ) => {\n\t\t\tif ( defaultValues[ unit.value ] ) {\n\t\t\t\tconst [ parsedDefaultValue ] = parseQuantityAndUnitFromRawValue(\n\t\t\t\t\tdefaultValues[ unit.value ]\n\t\t\t\t);\n\n\t\t\t\tcustomUnitsToReturn[ i ].default = parsedDefaultValue;\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn customUnitsToReturn;\n};\n\n/**\n * Get available units with the unit for the currently selected value\n * prepended if it is not available in the list of units.\n *\n * This is useful to ensure that the current value's unit is always\n * accurately displayed in the UI, even if the intention is to hide\n * the availability of that unit.\n *\n * @param rawValue Selected value to parse.\n * @param legacyUnit Legacy unit value, if rawValue needs it appended.\n * @param units List of available units.\n *\n * @return A collection of units containing the unit for the current value.\n */\nexport function getUnitsWithCurrentUnit(\n\trawValue?: string | number,\n\tlegacyUnit?: string,\n\tunits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): WPUnitControlUnit[] {\n\tconst unitsToReturn = Array.isArray( units ) ? [ ...units ] : [];\n\tconst [ , currentUnit ] = getParsedQuantityAndUnit(\n\t\trawValue,\n\t\tlegacyUnit,\n\t\tALL_CSS_UNITS\n\t);\n\n\tif (\n\t\tcurrentUnit &&\n\t\t! unitsToReturn.some( ( unit ) => unit.value === currentUnit )\n\t) {\n\t\tif ( allUnits[ currentUnit ] ) {\n\t\t\tunitsToReturn.unshift( allUnits[ currentUnit ] );\n\t\t}\n\t}\n\n\treturn unitsToReturn;\n}\n"]}
@@ -2,8 +2,8 @@
2
2
  * Merges event handlers together.
3
3
  *
4
4
  * @template TEvent
5
- * @param handler
6
- * @param otherHandler
5
+ * @param handler
6
+ * @param otherHandler
7
7
  */
8
8
  function mergeEvent(handler, otherHandler) {
9
9
  return event => {
@@ -20,8 +20,8 @@ function mergeEvent(handler, otherHandler) {
20
20
  * Merges two sets of event handlers together.
21
21
  *
22
22
  * @template TEvent
23
- * @param handlers
24
- * @param extraHandlers
23
+ * @param handlers
24
+ * @param extraHandlers
25
25
  */
26
26
 
27
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/utils/events.ts"],"names":["mergeEvent","handler","otherHandler","event","mergeEventHandlers","handlers","extraHandlers","mergedHandlers","key","Object","entries"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAT,CACCC,OADD,EAECC,YAFD,EAG0B;AACzB,SAASC,KAAF,IAAqB;AAC3B,QAAK,OAAOF,OAAP,KAAmB,UAAxB,EAAqC;AACpCA,MAAAA,OAAO,CAAEE,KAAF,CAAP;AACA;;AACD,QAAK,OAAOD,YAAP,KAAwB,UAA7B,EAA0C;AACzCA,MAAAA,YAAY,CAAEC,KAAF,CAAZ;AACA;AACD,GAPD;AAQA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASC,kBAAT,CAIJC,QAJI,EAIaC,aAJb,EAIqD;AAC3D;AACA,QAAMC,cAA8B,GAAG,EACtC,GAAGF;AADmC,GAAvC;;AAIA,OAAM,MAAM,CAAEG,GAAF,EAAOP,OAAP,CAAZ,IAAgCQ,MAAM,CAACC,OAAP,CAAgBJ,aAAhB,CAAhC,EAAkE;AACjE;AACAC,IAAAA,cAAc,CAAEC,GAAF,CAAd,GACCA,GAAG,IAAID,cAAP,GACGP,UAAU,CAAEO,cAAc,CAAEC,GAAF,CAAhB,EAAyBP,OAAzB,CADb,GAEGA,OAHJ;AAIA;;AAED,SAAOM,cAAP;AACA","sourcesContent":["type EventHandler< T extends Event > = ( event: T ) => void;\n\n/**\n * Merges event handlers together.\n *\n * @template TEvent\n * @param handler\n * @param otherHandler\n */\nfunction mergeEvent< TEvent extends Event >(\n\thandler: EventHandler< TEvent >,\n\totherHandler: EventHandler< TEvent >\n): EventHandler< TEvent > {\n\treturn ( event: TEvent ) => {\n\t\tif ( typeof handler === 'function' ) {\n\t\t\thandler( event );\n\t\t}\n\t\tif ( typeof otherHandler === 'function' ) {\n\t\t\totherHandler( event );\n\t\t}\n\t};\n}\n\n/**\n * Merges two sets of event handlers together.\n *\n * @template TEvent\n * @param handlers\n * @param extraHandlers\n */\nexport function mergeEventHandlers<\n\tTEvent extends Event,\n\tTLeft extends Record< string, EventHandler< TEvent > >,\n\tTRight extends Record< string, EventHandler< TEvent > >\n>( handlers: TLeft, extraHandlers: TRight ): TLeft & TRight {\n\t// @ts-ignore We'll fill in all the properties below\n\tconst mergedHandlers: TLeft & TRight = {\n\t\t...handlers,\n\t};\n\n\tfor ( const [ key, handler ] of Object.entries( extraHandlers ) ) {\n\t\t// @ts-ignore\n\t\tmergedHandlers[ key as keyof typeof mergedHandlers ] =\n\t\t\tkey in mergedHandlers\n\t\t\t\t? mergeEvent( mergedHandlers[ key ], handler )\n\t\t\t\t: handler;\n\t}\n\n\treturn mergedHandlers;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/utils/events.ts"],"names":["mergeEvent","handler","otherHandler","event","mergeEventHandlers","handlers","extraHandlers","mergedHandlers","key","Object","entries"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,UAAT,CACCC,OADD,EAECC,YAFD,EAG0B;AACzB,SAASC,KAAF,IAAqB;AAC3B,QAAK,OAAOF,OAAP,KAAmB,UAAxB,EAAqC;AACpCA,MAAAA,OAAO,CAAEE,KAAF,CAAP;AACA;;AACD,QAAK,OAAOD,YAAP,KAAwB,UAA7B,EAA0C;AACzCA,MAAAA,YAAY,CAAEC,KAAF,CAAZ;AACA;AACD,GAPD;AAQA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASC,kBAAT,CAIJC,QAJI,EAIaC,aAJb,EAIqD;AAC3D;AACA,QAAMC,cAA8B,GAAG,EACtC,GAAGF;AADmC,GAAvC;;AAIA,OAAM,MAAM,CAAEG,GAAF,EAAOP,OAAP,CAAZ,IAAgCQ,MAAM,CAACC,OAAP,CAAgBJ,aAAhB,CAAhC,EAAkE;AACjE;AACAC,IAAAA,cAAc,CAAEC,GAAF,CAAd,GACCA,GAAG,IAAID,cAAP,GACGP,UAAU,CAAEO,cAAc,CAAEC,GAAF,CAAhB,EAAyBP,OAAzB,CADb,GAEGA,OAHJ;AAIA;;AAED,SAAOM,cAAP;AACA","sourcesContent":["type EventHandler< T extends Event > = ( event: T ) => void;\n\n/**\n * Merges event handlers together.\n *\n * @template TEvent\n * @param handler\n * @param otherHandler\n */\nfunction mergeEvent< TEvent extends Event >(\n\thandler: EventHandler< TEvent >,\n\totherHandler: EventHandler< TEvent >\n): EventHandler< TEvent > {\n\treturn ( event: TEvent ) => {\n\t\tif ( typeof handler === 'function' ) {\n\t\t\thandler( event );\n\t\t}\n\t\tif ( typeof otherHandler === 'function' ) {\n\t\t\totherHandler( event );\n\t\t}\n\t};\n}\n\n/**\n * Merges two sets of event handlers together.\n *\n * @template TEvent\n * @param handlers\n * @param extraHandlers\n */\nexport function mergeEventHandlers<\n\tTEvent extends Event,\n\tTLeft extends Record< string, EventHandler< TEvent > >,\n\tTRight extends Record< string, EventHandler< TEvent > >\n>( handlers: TLeft, extraHandlers: TRight ): TLeft & TRight {\n\t// @ts-ignore We'll fill in all the properties below\n\tconst mergedHandlers: TLeft & TRight = {\n\t\t...handlers,\n\t};\n\n\tfor ( const [ key, handler ] of Object.entries( extraHandlers ) ) {\n\t\t// @ts-ignore\n\t\tmergedHandlers[ key as keyof typeof mergedHandlers ] =\n\t\t\tkey in mergedHandlers\n\t\t\t\t? mergeEvent( mergedHandlers[ key ], handler )\n\t\t\t\t: handler;\n\t}\n\n\treturn mergedHandlers;\n}\n"]}
@@ -10,8 +10,8 @@ import { isValueDefined, getDefinedValue } from '../values';
10
10
  /**
11
11
  * @template T
12
12
  * @typedef Options
13
- * @property {T | undefined} initial Initial value
14
- * @property {T | ""} fallback Fallback value
13
+ * @property {T} [initial] Initial value
14
+ * @property {T | ""} fallback Fallback value
15
15
  */
16
16
 
17
17
  /** @type {Readonly<{ initial: undefined, fallback: '' }>} */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-controlled-state.js"],"names":["useEffect","useState","useCallback","isValueDefined","getDefinedValue","defaultOptions","initial","undefined","fallback","useControlledState","currentState","options","internalState","setInternalState","hasCurrentState","state","setState","nextState"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,QAApB,EAA8BC,WAA9B,QAAiD,oBAAjD;AAEA;AACA;AACA;;AACA,SAASC,cAAT,EAAyBC,eAAzB,QAAgD,WAAhD;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA,MAAMC,cAAc,GAAG;AACtBC,EAAAA,OAAO,EAAEC,SADa;;AAEtB;AACD;AACA;AACA;AACCC,EAAAA,QAAQ,EAAE;AANY,CAAvB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA6BC,YAA7B,EAAsE;AAAA,MAA3BC,OAA2B,uEAAjBN,cAAiB;AACrE,QAAM;AAAEC,IAAAA,OAAF;AAAWE,IAAAA;AAAX,MAAwB,EAAE,GAAGH,cAAL;AAAqB,OAAGM;AAAxB,GAA9B;AAEA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsCZ,QAAQ,CAAES,YAAF,CAApD;AACA,QAAMI,eAAe,GAAGX,cAAc,CAAEO,YAAF,CAAtC;AAEA;AACD;AACA;;AACCV,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKc,eAAe,IAAIF,aAAxB,EAAwC;AACvCC,MAAAA,gBAAgB,CAAEN,SAAF,CAAhB;AACA;AACD,GAJQ,EAIN,CAAEO,eAAF,EAAmBF,aAAnB,CAJM,CAAT;AAMA,QAAMG,KAAK,GAAGX,eAAe,CAC5B,CAAEM,YAAF,EAAgBE,aAAhB,EAA+BN,OAA/B,CAD4B,EAE5BE,QAF4B,CAA7B;AAKA;;AACA;;AACA,QAAMQ,QAAQ,GAAGd,WAAW,CACzBe,SAAF,IAAiB;AAChB,QAAK,CAAEH,eAAP,EAAyB;AACxBD,MAAAA,gBAAgB,CAAEI,SAAF,CAAhB;AACA;AACD,GAL0B,EAM3B,CAAEH,eAAF,CAN2B,CAA5B;AAQA;;AAEA,SAAO,CAAEC,KAAF,EAASC,QAAT,CAAP;AACA;;AAED,eAAeP,kBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { isValueDefined, getDefinedValue } from '../values';\n\n/**\n * @template T\n * @typedef Options\n * @property {T | undefined} initial Initial value\n * @property {T | \"\"} fallback Fallback value\n */\n\n/** @type {Readonly<{ initial: undefined, fallback: '' }>} */\nconst defaultOptions = {\n\tinitial: undefined,\n\t/**\n\t * Defaults to empty string, as that is preferred for usage with\n\t * <input />, <textarea />, and <select /> form elements.\n\t */\n\tfallback: '',\n};\n\n/**\n * Custom hooks for \"controlled\" components to track and consolidate internal\n * state and incoming values. This is useful for components that render\n * `input`, `textarea`, or `select` HTML elements.\n *\n * https://reactjs.org/docs/forms.html#controlled-components\n *\n * At first, a component using useControlledState receives an initial prop\n * value, which is used as initial internal state.\n *\n * This internal state can be maintained and updated without\n * relying on new incoming prop values.\n *\n * Unlike the basic useState hook, useControlledState's state can\n * be updated if a new incoming prop value is changed.\n *\n * @template T\n *\n * @param {T | undefined} currentState The current value.\n * @param {Options<T>} [options=defaultOptions] Additional options for the hook.\n *\n * @return {[T | \"\", (nextState: T) => void]} The controlled value and the value setter.\n */\nfunction useControlledState( currentState, options = defaultOptions ) {\n\tconst { initial, fallback } = { ...defaultOptions, ...options };\n\n\tconst [ internalState, setInternalState ] = useState( currentState );\n\tconst hasCurrentState = isValueDefined( currentState );\n\n\t/*\n\t * Resets internal state if value every changes from uncontrolled <-> controlled.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasCurrentState && internalState ) {\n\t\t\tsetInternalState( undefined );\n\t\t}\n\t}, [ hasCurrentState, internalState ] );\n\n\tconst state = getDefinedValue(\n\t\t[ currentState, internalState, initial ],\n\t\tfallback\n\t);\n\n\t/* eslint-disable jsdoc/no-undefined-types */\n\t/** @type {(nextState: T) => void} */\n\tconst setState = useCallback(\n\t\t( nextState ) => {\n\t\t\tif ( ! hasCurrentState ) {\n\t\t\t\tsetInternalState( nextState );\n\t\t\t}\n\t\t},\n\t\t[ hasCurrentState ]\n\t);\n\t/* eslint-enable jsdoc/no-undefined-types */\n\n\treturn [ state, setState ];\n}\n\nexport default useControlledState;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-controlled-state.js"],"names":["useEffect","useState","useCallback","isValueDefined","getDefinedValue","defaultOptions","initial","undefined","fallback","useControlledState","currentState","options","internalState","setInternalState","hasCurrentState","state","setState","nextState"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,QAApB,EAA8BC,WAA9B,QAAiD,oBAAjD;AAEA;AACA;AACA;;AACA,SAASC,cAAT,EAAyBC,eAAzB,QAAgD,WAAhD;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA,MAAMC,cAAc,GAAG;AACtBC,EAAAA,OAAO,EAAEC,SADa;;AAEtB;AACD;AACA;AACA;AACCC,EAAAA,QAAQ,EAAE;AANY,CAAvB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA6BC,YAA7B,EAAsE;AAAA,MAA3BC,OAA2B,uEAAjBN,cAAiB;AACrE,QAAM;AAAEC,IAAAA,OAAF;AAAWE,IAAAA;AAAX,MAAwB,EAAE,GAAGH,cAAL;AAAqB,OAAGM;AAAxB,GAA9B;AAEA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsCZ,QAAQ,CAAES,YAAF,CAApD;AACA,QAAMI,eAAe,GAAGX,cAAc,CAAEO,YAAF,CAAtC;AAEA;AACD;AACA;;AACCV,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKc,eAAe,IAAIF,aAAxB,EAAwC;AACvCC,MAAAA,gBAAgB,CAAEN,SAAF,CAAhB;AACA;AACD,GAJQ,EAIN,CAAEO,eAAF,EAAmBF,aAAnB,CAJM,CAAT;AAMA,QAAMG,KAAK,GAAGX,eAAe,CAC5B,CAAEM,YAAF,EAAgBE,aAAhB,EAA+BN,OAA/B,CAD4B,EAE5BE,QAF4B,CAA7B;AAKA;;AACA;;AACA,QAAMQ,QAAQ,GAAGd,WAAW,CACzBe,SAAF,IAAiB;AAChB,QAAK,CAAEH,eAAP,EAAyB;AACxBD,MAAAA,gBAAgB,CAAEI,SAAF,CAAhB;AACA;AACD,GAL0B,EAM3B,CAAEH,eAAF,CAN2B,CAA5B;AAQA;;AAEA,SAAO,CAAEC,KAAF,EAASC,QAAT,CAAP;AACA;;AAED,eAAeP,kBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { isValueDefined, getDefinedValue } from '../values';\n\n/**\n * @template T\n * @typedef Options\n * @property {T} [initial] Initial value\n * @property {T | \"\"} fallback Fallback value\n */\n\n/** @type {Readonly<{ initial: undefined, fallback: '' }>} */\nconst defaultOptions = {\n\tinitial: undefined,\n\t/**\n\t * Defaults to empty string, as that is preferred for usage with\n\t * <input />, <textarea />, and <select /> form elements.\n\t */\n\tfallback: '',\n};\n\n/**\n * Custom hooks for \"controlled\" components to track and consolidate internal\n * state and incoming values. This is useful for components that render\n * `input`, `textarea`, or `select` HTML elements.\n *\n * https://reactjs.org/docs/forms.html#controlled-components\n *\n * At first, a component using useControlledState receives an initial prop\n * value, which is used as initial internal state.\n *\n * This internal state can be maintained and updated without\n * relying on new incoming prop values.\n *\n * Unlike the basic useState hook, useControlledState's state can\n * be updated if a new incoming prop value is changed.\n *\n * @template T\n *\n * @param {T | undefined} currentState The current value.\n * @param {Options<T>} [options=defaultOptions] Additional options for the hook.\n *\n * @return {[T | \"\", (nextState: T) => void]} The controlled value and the value setter.\n */\nfunction useControlledState( currentState, options = defaultOptions ) {\n\tconst { initial, fallback } = { ...defaultOptions, ...options };\n\n\tconst [ internalState, setInternalState ] = useState( currentState );\n\tconst hasCurrentState = isValueDefined( currentState );\n\n\t/*\n\t * Resets internal state if value every changes from uncontrolled <-> controlled.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasCurrentState && internalState ) {\n\t\t\tsetInternalState( undefined );\n\t\t}\n\t}, [ hasCurrentState, internalState ] );\n\n\tconst state = getDefinedValue(\n\t\t[ currentState, internalState, initial ],\n\t\tfallback\n\t);\n\n\t/* eslint-disable jsdoc/no-undefined-types */\n\t/** @type {(nextState: T) => void} */\n\tconst setState = useCallback(\n\t\t( nextState ) => {\n\t\t\tif ( ! hasCurrentState ) {\n\t\t\t\tsetInternalState( nextState );\n\t\t\t}\n\t\t},\n\t\t[ hasCurrentState ]\n\t);\n\t/* eslint-enable jsdoc/no-undefined-types */\n\n\treturn [ state, setState ];\n}\n\nexport default useControlledState;\n"]}
@@ -6,10 +6,10 @@ import { useState } from '@wordpress/element';
6
6
  /**
7
7
  * Simplified and improved implementation of useControlledState.
8
8
  *
9
- * @param props
10
- * @param props.defaultValue
11
- * @param props.value
12
- * @param props.onChange
9
+ * @param props
10
+ * @param props.defaultValue
11
+ * @param props.value
12
+ * @param props.onChange
13
13
  * @return The controlled value and the value setter.
14
14
  */
15
15
  export function useControlledValue(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-controlled-value.ts"],"names":["useState","useControlledValue","defaultValue","onChange","value","valueProp","hasValue","initialValue","state","setState","setValue","nextValue"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,oBAAzB;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAT,OAIS;AAAA,MAJyB;AACxCC,IAAAA,YADwC;AAExCC,IAAAA,QAFwC;AAGxCC,IAAAA,KAAK,EAAEC;AAHiC,GAIzB;AACf,QAAMC,QAAQ,GAAG,OAAOD,SAAP,KAAqB,WAAtC;AACA,QAAME,YAAY,GAAGD,QAAQ,GAAGD,SAAH,GAAeH,YAA5C;AACA,QAAM,CAAEM,KAAF,EAASC,QAAT,IAAsBT,QAAQ,CAAEO,YAAF,CAApC;AACA,QAAMH,KAAK,GAAGE,QAAQ,GAAGD,SAAH,GAAeG,KAArC;AAEA,MAAIE,QAAJ;;AACA,MAAKJ,QAAQ,IAAI,OAAOH,QAAP,KAAoB,UAArC,EAAkD;AACjDO,IAAAA,QAAQ,GAAGP,QAAX;AACA,GAFD,MAEO,IAAK,CAAEG,QAAF,IAAc,OAAOH,QAAP,KAAoB,UAAvC,EAAoD;AAC1DO,IAAAA,QAAQ,GAAKC,SAAF,IAAiB;AAC3BR,MAAAA,QAAQ,CAAEQ,SAAF,CAAR;AACAF,MAAAA,QAAQ,CAAEE,SAAF,CAAR;AACA,KAHD;AAIA,GALM,MAKA;AACND,IAAAA,QAAQ,GAAGD,QAAX;AACA;;AAED,SAAO,CAAEL,KAAF,EAASM,QAAT,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\ntype Props< T > = {\n\tdefaultValue?: T;\n\tvalue?: T;\n\tonChange?: ( value: T ) => void;\n};\n\n/**\n * Simplified and improved implementation of useControlledState.\n *\n * @param props\n * @param props.defaultValue\n * @param props.value\n * @param props.onChange\n * @return The controlled value and the value setter.\n */\nexport function useControlledValue< T >( {\n\tdefaultValue,\n\tonChange,\n\tvalue: valueProp,\n}: Props< T > ) {\n\tconst hasValue = typeof valueProp !== 'undefined';\n\tconst initialValue = hasValue ? valueProp : defaultValue;\n\tconst [ state, setState ] = useState( initialValue );\n\tconst value = hasValue ? valueProp : state;\n\n\tlet setValue: ( nextValue: T ) => void;\n\tif ( hasValue && typeof onChange === 'function' ) {\n\t\tsetValue = onChange;\n\t} else if ( ! hasValue && typeof onChange === 'function' ) {\n\t\tsetValue = ( nextValue ) => {\n\t\t\tonChange( nextValue );\n\t\t\tsetState( nextValue );\n\t\t};\n\t} else {\n\t\tsetValue = setState;\n\t}\n\n\treturn [ value, setValue as typeof setState ] as const;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-controlled-value.ts"],"names":["useState","useControlledValue","defaultValue","onChange","value","valueProp","hasValue","initialValue","state","setState","setValue","nextValue"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,oBAAzB;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAT,OAIS;AAAA,MAJyB;AACxCC,IAAAA,YADwC;AAExCC,IAAAA,QAFwC;AAGxCC,IAAAA,KAAK,EAAEC;AAHiC,GAIzB;AACf,QAAMC,QAAQ,GAAG,OAAOD,SAAP,KAAqB,WAAtC;AACA,QAAME,YAAY,GAAGD,QAAQ,GAAGD,SAAH,GAAeH,YAA5C;AACA,QAAM,CAAEM,KAAF,EAASC,QAAT,IAAsBT,QAAQ,CAAEO,YAAF,CAApC;AACA,QAAMH,KAAK,GAAGE,QAAQ,GAAGD,SAAH,GAAeG,KAArC;AAEA,MAAIE,QAAJ;;AACA,MAAKJ,QAAQ,IAAI,OAAOH,QAAP,KAAoB,UAArC,EAAkD;AACjDO,IAAAA,QAAQ,GAAGP,QAAX;AACA,GAFD,MAEO,IAAK,CAAEG,QAAF,IAAc,OAAOH,QAAP,KAAoB,UAAvC,EAAoD;AAC1DO,IAAAA,QAAQ,GAAKC,SAAF,IAAiB;AAC3BR,MAAAA,QAAQ,CAAEQ,SAAF,CAAR;AACAF,MAAAA,QAAQ,CAAEE,SAAF,CAAR;AACA,KAHD;AAIA,GALM,MAKA;AACND,IAAAA,QAAQ,GAAGD,QAAX;AACA;;AAED,SAAO,CAAEL,KAAF,EAASM,QAAT,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\ntype Props< T > = {\n\tdefaultValue?: T;\n\tvalue?: T;\n\tonChange?: ( value: T ) => void;\n};\n\n/**\n * Simplified and improved implementation of useControlledState.\n *\n * @param props\n * @param props.defaultValue\n * @param props.value\n * @param props.onChange\n * @return The controlled value and the value setter.\n */\nexport function useControlledValue< T >( {\n\tdefaultValue,\n\tonChange,\n\tvalue: valueProp,\n}: Props< T > ) {\n\tconst hasValue = typeof valueProp !== 'undefined';\n\tconst initialValue = hasValue ? valueProp : defaultValue;\n\tconst [ state, setState ] = useState( initialValue );\n\tconst value = hasValue ? valueProp : state;\n\n\tlet setValue: ( nextValue: T ) => void;\n\tif ( hasValue && typeof onChange === 'function' ) {\n\t\tsetValue = onChange;\n\t} else if ( ! hasValue && typeof onChange === 'function' ) {\n\t\tsetValue = ( nextValue ) => {\n\t\t\tonChange( nextValue );\n\t\t\tsetState( nextValue );\n\t\t};\n\t} else {\n\t\tsetValue = setState;\n\t}\n\n\treturn [ value, setValue as typeof setState ] as const;\n}\n"]}
@@ -13,7 +13,7 @@ import { useIsomorphicLayoutEffect } from '@wordpress/compose';
13
13
  *
14
14
  * @see https://codesandbox.io/s/uselatestref-mlj3i?file=/src/App.tsx
15
15
  *
16
- * @param value The value to reference
16
+ * @param value The value to reference
17
17
  * @return The prop reference.
18
18
  */
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-latest-ref.ts"],"names":["useRef","useIsomorphicLayoutEffect","useLatestRef","value","ref","current"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,oBAAvB;AACA,SAASC,yBAAT,QAA0C,oBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,YAAT,CAA4BC,KAA5B,EAAuD;AAC7D,QAAMC,GAAG,GAAGJ,MAAM,CAAEG,KAAF,CAAlB;AAEAF,EAAAA,yBAAyB,CAAE,MAAM;AAChCG,IAAAA,GAAG,CAACC,OAAJ,GAAcF,KAAd;AACA,GAFwB,CAAzB;AAIA,SAAOC,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useIsomorphicLayoutEffect } from '@wordpress/compose';\n\n/**\n * Creates a reference for a prop. This is useful for preserving dependency\n * memoization for hooks like useCallback.\n *\n * @see https://codesandbox.io/s/uselatestref-mlj3i?file=/src/App.tsx\n *\n * @param value The value to reference\n * @return The prop reference.\n */\nexport function useLatestRef< T >( value: T ): RefObject< T > {\n\tconst ref = useRef( value );\n\n\tuseIsomorphicLayoutEffect( () => {\n\t\tref.current = value;\n\t} );\n\n\treturn ref;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/utils/hooks/use-latest-ref.ts"],"names":["useRef","useIsomorphicLayoutEffect","useLatestRef","value","ref","current"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,oBAAvB;AACA,SAASC,yBAAT,QAA0C,oBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,YAAT,CAA4BC,KAA5B,EAAuD;AAC7D,QAAMC,GAAG,GAAGJ,MAAM,CAAEG,KAAF,CAAlB;AAEAF,EAAAA,yBAAyB,CAAE,MAAM;AAChCG,IAAAA,GAAG,CAACC,OAAJ,GAAcF,KAAd;AACA,GAFwB,CAAzB;AAIA,SAAOC,GAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useIsomorphicLayoutEffect } from '@wordpress/compose';\n\n/**\n * Creates a reference for a prop. This is useful for preserving dependency\n * memoization for hooks like useCallback.\n *\n * @see https://codesandbox.io/s/uselatestref-mlj3i?file=/src/App.tsx\n *\n * @param value The value to reference\n * @return The prop reference.\n */\nexport function useLatestRef< T >( value: T ): RefObject< T > {\n\tconst ref = useRef( value );\n\n\tuseIsomorphicLayoutEffect( () => {\n\t\tref.current = value;\n\t} );\n\n\treturn ref;\n}\n"]}
@@ -2,7 +2,7 @@ const UNITED_VALUE_REGEX = /^([\d.\-+]*)\s*(fr|cm|mm|Q|in|pc|pt|px|em|ex|ch|rem|
2
2
  /**
3
3
  * Parses a number and unit from a value.
4
4
  *
5
- * @param toParse Value to parse
5
+ * @param toParse Value to parse
6
6
  *
7
7
  * @return The extracted number and unit.
8
8
  */
@@ -23,8 +23,8 @@ export function parseCSSUnitValue(toParse) {
23
23
  /**
24
24
  * Combines a value and a unit into a unit value.
25
25
  *
26
- * @param value
27
- * @param unit
26
+ * @param value
27
+ * @param unit
28
28
  *
29
29
  * @return The unit value.
30
30
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/utils/unit-values.ts"],"names":["UNITED_VALUE_REGEX","parseCSSUnitValue","toParse","value","trim","matched","match","undefined","num","unit","numParsed","parseFloat","Number","isNaN","createCSSUnitValue"],"mappings":"AAAA,MAAMA,kBAAkB,GACvB,0IADD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,CACNC,OADM,EAEuC;AAC7C,QAAMC,KAAK,GAAGD,OAAO,CAACE,IAAR,EAAd;AAEA,QAAMC,OAAO,GAAGF,KAAK,CAACG,KAAN,CAAaN,kBAAb,CAAhB;;AACA,MAAK,CAAEK,OAAP,EAAiB;AAChB,WAAO,CAAEE,SAAF,EAAaA,SAAb,CAAP;AACA;;AACD,QAAM,GAAIC,GAAJ,EAASC,IAAT,IAAkBJ,OAAxB;AACA,MAAIK,SAA6B,GAAGC,UAAU,CAAEH,GAAF,CAA9C;AACAE,EAAAA,SAAS,GAAGE,MAAM,CAACC,KAAP,CAAcH,SAAd,IAA4BH,SAA5B,GAAwCG,SAApD;AAEA,SAAO,CAAEA,SAAF,EAAaD,IAAb,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,kBAAT,CACNX,KADM,EAENM,IAFM,EAGG;AACT,SAAQ,GAAGN,KAAO,GAAGM,IAAM,EAA3B;AACA","sourcesContent":["const UNITED_VALUE_REGEX =\n\t/^([\\d.\\-+]*)\\s*(fr|cm|mm|Q|in|pc|pt|px|em|ex|ch|rem|lh|vw|vh|vmin|vmax|%|cap|ic|rlh|vi|vb|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?$/;\n\n/**\n * Parses a number and unit from a value.\n *\n * @param toParse Value to parse\n *\n * @return The extracted number and unit.\n */\nexport function parseCSSUnitValue(\n\ttoParse: string\n): [ number | undefined, string | undefined ] {\n\tconst value = toParse.trim();\n\n\tconst matched = value.match( UNITED_VALUE_REGEX );\n\tif ( ! matched ) {\n\t\treturn [ undefined, undefined ];\n\t}\n\tconst [ , num, unit ] = matched;\n\tlet numParsed: number | undefined = parseFloat( num );\n\tnumParsed = Number.isNaN( numParsed ) ? undefined : numParsed;\n\n\treturn [ numParsed, unit ];\n}\n\n/**\n * Combines a value and a unit into a unit value.\n *\n * @param value\n * @param unit\n *\n * @return The unit value.\n */\nexport function createCSSUnitValue(\n\tvalue: string | number,\n\tunit: string\n): string {\n\treturn `${ value }${ unit }`;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/utils/unit-values.ts"],"names":["UNITED_VALUE_REGEX","parseCSSUnitValue","toParse","value","trim","matched","match","undefined","num","unit","numParsed","parseFloat","Number","isNaN","createCSSUnitValue"],"mappings":"AAAA,MAAMA,kBAAkB,GACvB,0IADD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,iBAAT,CACNC,OADM,EAEuC;AAC7C,QAAMC,KAAK,GAAGD,OAAO,CAACE,IAAR,EAAd;AAEA,QAAMC,OAAO,GAAGF,KAAK,CAACG,KAAN,CAAaN,kBAAb,CAAhB;;AACA,MAAK,CAAEK,OAAP,EAAiB;AAChB,WAAO,CAAEE,SAAF,EAAaA,SAAb,CAAP;AACA;;AACD,QAAM,GAAIC,GAAJ,EAASC,IAAT,IAAkBJ,OAAxB;AACA,MAAIK,SAA6B,GAAGC,UAAU,CAAEH,GAAF,CAA9C;AACAE,EAAAA,SAAS,GAAGE,MAAM,CAACC,KAAP,CAAcH,SAAd,IAA4BH,SAA5B,GAAwCG,SAApD;AAEA,SAAO,CAAEA,SAAF,EAAaD,IAAb,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,kBAAT,CACNX,KADM,EAENM,IAFM,EAGG;AACT,SAAQ,GAAGN,KAAO,GAAGM,IAAM,EAA3B;AACA","sourcesContent":["const UNITED_VALUE_REGEX =\n\t/^([\\d.\\-+]*)\\s*(fr|cm|mm|Q|in|pc|pt|px|em|ex|ch|rem|lh|vw|vh|vmin|vmax|%|cap|ic|rlh|vi|vb|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?$/;\n\n/**\n * Parses a number and unit from a value.\n *\n * @param toParse Value to parse\n *\n * @return The extracted number and unit.\n */\nexport function parseCSSUnitValue(\n\ttoParse: string\n): [ number | undefined, string | undefined ] {\n\tconst value = toParse.trim();\n\n\tconst matched = value.match( UNITED_VALUE_REGEX );\n\tif ( ! matched ) {\n\t\treturn [ undefined, undefined ];\n\t}\n\tconst [ , num, unit ] = matched;\n\tlet numParsed: number | undefined = parseFloat( num );\n\tnumParsed = Number.isNaN( numParsed ) ? undefined : numParsed;\n\n\treturn [ numParsed, unit ];\n}\n\n/**\n * Combines a value and a unit into a unit value.\n *\n * @param value\n * @param unit\n *\n * @return The unit value.\n */\nexport function createCSSUnitValue(\n\tvalue: string | number,\n\tunit: string\n): string {\n\treturn `${ value }${ unit }`;\n}\n"]}
@@ -1906,6 +1906,11 @@ body.is-dragging-components-draggable {
1906
1906
  margin-top: 0;
1907
1907
  padding-top: 24px;
1908
1908
  }
1909
+ .components-modal__content.is-scrollable:focus-visible {
1910
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
1911
+ outline: 2px solid transparent;
1912
+ outline-offset: -2px;
1913
+ }
1909
1914
 
1910
1915
  .components-notice {
1911
1916
  display: flex;
@@ -2857,20 +2862,9 @@ body.lockscroll {
2857
2862
  }
2858
2863
 
2859
2864
  .components-select-control__input {
2860
- background: #fff;
2861
- height: 36px;
2862
- line-height: 36px;
2863
- margin: 1px;
2864
2865
  outline: 0;
2865
- width: 100%;
2866
2866
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
2867
2867
  }
2868
- @media (min-width: 782px) {
2869
- .components-select-control__input {
2870
- height: 28px;
2871
- line-height: 28px;
2872
- }
2873
- }
2874
2868
 
2875
2869
  @media (max-width: 782px) {
2876
2870
  .components-base-control .components-base-control__field .components-select-control__input {
@@ -1909,6 +1909,11 @@ body.is-dragging-components-draggable {
1909
1909
  margin-top: 0;
1910
1910
  padding-top: 24px;
1911
1911
  }
1912
+ .components-modal__content.is-scrollable:focus-visible {
1913
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
1914
+ outline: 2px solid transparent;
1915
+ outline-offset: -2px;
1916
+ }
1912
1917
 
1913
1918
  .components-notice {
1914
1919
  display: flex;
@@ -2867,20 +2872,9 @@ body.lockscroll {
2867
2872
  }
2868
2873
 
2869
2874
  .components-select-control__input {
2870
- background: #fff;
2871
- height: 36px;
2872
- line-height: 36px;
2873
- margin: 1px;
2874
2875
  outline: 0;
2875
- width: 100%;
2876
2876
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
2877
2877
  }
2878
- @media (min-width: 782px) {
2879
- .components-select-control__input {
2880
- height: 28px;
2881
- line-height: 28px;
2882
- }
2883
- }
2884
2878
 
2885
2879
  @media (max-width: 782px) {
2886
2880
  .components-base-control .components-base-control__field .components-select-control__input {
@@ -8,7 +8,7 @@ export declare const ALIGNMENTS: AlignmentMatrixControlValue[];
8
8
  /**
9
9
  * Parses and transforms an incoming value to better match the alignment values
10
10
  *
11
- * @param value An alignment value to parse.
11
+ * @param value An alignment value to parse.
12
12
  *
13
13
  * @return The parsed value.
14
14
  */
@@ -16,8 +16,8 @@ export declare function transformValue(value: AlignmentMatrixControlValue): Alig
16
16
  /**
17
17
  * Creates an item ID based on a prefix ID and an alignment value.
18
18
  *
19
- * @param prefixId An ID to prefix.
20
- * @param value An alignment value.
19
+ * @param prefixId An ID to prefix.
20
+ * @param value An alignment value.
21
21
  *
22
22
  * @return The item id.
23
23
  */
@@ -25,7 +25,7 @@ export declare function getItemId(prefixId: string, value: AlignmentMatrixContro
25
25
  /**
26
26
  * Retrieves the alignment index from a value.
27
27
  *
28
- * @param alignment Value to check.
28
+ * @param alignment Value to check.
29
29
  *
30
30
  * @return The index of a matching alignment.
31
31
  */
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { WordPressComponentProps } from '../ui/context';
3
+ import type { AngleCircleProps } from './types';
4
+ declare function AngleCircle({ value, onChange, ...props }: WordPressComponentProps<AngleCircleProps, 'div'>): JSX.Element;
5
+ export default AngleCircle;
6
+ //# sourceMappingURL=angle-circle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angle-circle.d.ts","sourceRoot":"","sources":["../../src/angle-picker-control/angle-circle.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQhD,iBAAS,WAAW,CAAE,EACrB,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,uBAAuB,CAAE,gBAAgB,EAAE,KAAK,CAAE,eA+EpD;AAmBD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="react" />
2
+ import type { AnglePickerControlProps } from './types';
3
+ /**
4
+ * `AnglePickerControl` is a React component to render a UI that allows users to
5
+ * pick an angle. Users can choose an angle in a visual UI with the mouse by
6
+ * dragging an angle indicator inside a circle or by directly inserting the
7
+ * desired angle in a text field.
8
+ *
9
+ * ```jsx
10
+ * import { useState } from '@wordpress/element';
11
+ * import { AnglePickerControl } from '@wordpress/components';
12
+ *
13
+ * function Example() {
14
+ * const [ angle, setAngle ] = useState( 0 );
15
+ * return (
16
+ * <AnglePickerControl
17
+ * value={ angle }
18
+ * onChange={ setAngle }
19
+ * __nextHasNoMarginBottom
20
+ * </>
21
+ * );
22
+ * }
23
+ * ```
24
+ */
25
+ export declare const AnglePickerControl: import("react").ForwardRefExoticComponent<AnglePickerControlProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>, "children" | "as" | keyof AnglePickerControlProps> & {
26
+ as?: keyof JSX.IntrinsicElements | undefined;
27
+ } & import("react").RefAttributes<any>>;
28
+ export default AnglePickerControl;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/angle-picker-control/index.tsx"],"names":[],"mappings":";AA0BA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAyFvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB;;uCAA8C,CAAC;AAE9E,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * External dependencies
4
+ */
5
+ import type { ComponentMeta, ComponentStory } from '@storybook/react';
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { AnglePickerControl } from '..';
10
+ declare const meta: ComponentMeta<typeof AnglePickerControl>;
11
+ export default meta;
12
+ export declare const Default: ComponentStory<import("react").ForwardRefExoticComponent<import("../types").AnglePickerControlProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>, "children" | "as" | keyof import("../types").AnglePickerControlProps> & {
13
+ as?: keyof JSX.IntrinsicElements | undefined;
14
+ } & import("react").RefAttributes<any>>>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/angle-picker-control/stories/index.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOtE;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,aAAa,CAAE,OAAO,kBAAkB,CAcnD,CAAC;AAEF,eAAe,IAAI,CAAC;AAsBpB,eAAO,MAAM,OAAO;;wCAAkC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import type { AnglePickerControlProps } from '../types';
3
+ export declare const Root: import("@emotion/styled").StyledComponent<import("../../flex/types").FlexProps & import("react").RefAttributes<any> & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>, "as" | keyof import("../../flex/types").FlexProps | keyof import("react").RefAttributes<any>> & {
4
+ as?: keyof JSX.IntrinsicElements | undefined;
5
+ } & {
6
+ theme?: import("@emotion/react").Theme | undefined;
7
+ } & Pick<AnglePickerControlProps, "__nextHasNoMarginBottom">, {}, {}>;
8
+ export declare const CircleRoot: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme | undefined;
10
+ as?: import("react").ElementType<any> | undefined;
11
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
+ export declare const CircleIndicatorWrapper: import("@emotion/styled").StyledComponent<{
13
+ theme?: import("@emotion/react").Theme | undefined;
14
+ as?: import("react").ElementType<any> | undefined;
15
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
16
+ export declare const CircleIndicator: import("@emotion/styled").StyledComponent<{
17
+ theme?: import("@emotion/react").Theme | undefined;
18
+ as?: import("react").ElementType<any> | undefined;
19
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
20
+ //# sourceMappingURL=angle-picker-control-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angle-picker-control-styles.d.ts","sourceRoot":"","sources":["../../../src/angle-picker-control/styles/angle-picker-control-styles.tsx"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAexD,eAAO,MAAM,IAAI;;;;qEAEhB,CAAC;AAEF,eAAO,MAAM,UAAU;;;yGAQtB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;yGASlC,CAAC;AAEF,eAAO,MAAM,eAAe;;;yGAc3B,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare type AnglePickerControlProps = {
2
+ /**
3
+ * Start opting into the new margin-free styles that will become the default
4
+ * in a future version.
5
+ *
6
+ * @default false
7
+ */
8
+ __nextHasNoMarginBottom?: boolean;
9
+ /**
10
+ * Label to use for the angle picker.
11
+ *
12
+ * @default __( 'Angle' )
13
+ */
14
+ label?: string;
15
+ /**
16
+ * A function that receives the new value of the input.
17
+ */
18
+ onChange: (value: number) => void;
19
+ /**
20
+ * The current value of the input. The value represents an angle in degrees
21
+ * and should be a value between 0 and 360.
22
+ */
23
+ value: number | string;
24
+ };
25
+ export declare type AngleCircleProps = Pick<AnglePickerControlProps, 'value' | 'onChange'>;
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/angle-picker-control/types.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB,GAAG;IACrC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,CAAE,KAAK,EAAE,MAAM,KAAM,IAAI,CAAC;IACpC;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,IAAI,CAClC,uBAAuB,EACvB,OAAO,GAAG,UAAU,CACpB,CAAC"}
@@ -5,14 +5,14 @@ import type { BaseControlProps } from './types';
5
5
  *
6
6
  * Namely, it takes care of generating a unique `id`, properly associating it with the `label` and `help` elements.
7
7
  *
8
- * @param props
8
+ * @param props
9
9
  */
10
10
  export declare function useBaseControlProps(props: Omit<BaseControlProps, 'children'>): {
11
11
  baseControlProps: {
12
12
  label?: import("react").ReactNode;
13
13
  className?: string | undefined;
14
- __nextHasNoMarginBottom?: boolean | undefined;
15
14
  hideLabelFromVision?: boolean | undefined;
15
+ __nextHasNoMarginBottom?: boolean | undefined;
16
16
  id: string;
17
17
  help: import("react").ReactNode;
18
18
  };
@@ -53,7 +53,7 @@ export declare const BorderBoxControl: import("../../ui/context").WordPressCompo
53
53
  disableCustomColors?: boolean | undefined;
54
54
  } & LabelProps & Pick<BorderControlProps, "size" | "enableStyle"> & {
55
55
  onChange: (value: import("../types").AnyBorder) => void;
56
- popoverPlacement?: import("@floating-ui/core").Placement | undefined;
56
+ popoverPlacement?: ("overlay" | import("@floating-ui/core").Placement) | undefined;
57
57
  popoverOffset?: number | undefined;
58
58
  value: import("../types").AnyBorder;
59
59
  } & import("react").RefAttributes<any>, false>;
@@ -22,7 +22,7 @@ export declare function useBorderBoxControl(props: WordPressComponentProps<Borde
22
22
  disableCustomColors?: boolean | undefined;
23
23
  hideLabelFromVision?: boolean | undefined;
24
24
  label?: string | undefined;
25
- popoverPlacement?: import("@floating-ui/core").Placement | undefined;
25
+ popoverPlacement?: ("overlay" | import("@floating-ui/core").Placement) | undefined;
26
26
  popoverOffset?: number | undefined;
27
27
  defaultValue?: string | number | readonly string[] | undefined;
28
28
  color?: string | undefined;
@@ -32,7 +32,6 @@ export declare function useBorderBoxControl(props: WordPressComponentProps<Borde
32
32
  key?: import("react").Key | null | undefined;
33
33
  slot?: string | undefined;
34
34
  title?: string | undefined;
35
- id?: string | undefined;
36
35
  defaultChecked?: boolean | undefined;
37
36
  suppressContentEditableWarning?: boolean | undefined;
38
37
  suppressHydrationWarning?: boolean | undefined;
@@ -41,6 +40,7 @@ export declare function useBorderBoxControl(props: WordPressComponentProps<Borde
41
40
  contextMenu?: string | undefined;
42
41
  dir?: string | undefined;
43
42
  draggable?: (boolean | "false" | "true") | undefined;
43
+ id?: string | undefined;
44
44
  lang?: string | undefined;
45
45
  placeholder?: string | undefined;
46
46
  spellCheck?: (boolean | "false" | "true") | undefined;
@@ -77,7 +77,7 @@ export declare function useBorderBoxControl(props: WordPressComponentProps<Borde
77
77
  'aria-colindex'?: number | undefined;
78
78
  'aria-colspan'?: number | undefined;
79
79
  'aria-controls'?: string | undefined;
80
- 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "location" | "step" | "date" | undefined;
80
+ 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "date" | "step" | "location" | undefined;
81
81
  'aria-describedby'?: string | undefined;
82
82
  'aria-details'?: string | undefined;
83
83
  'aria-disabled'?: (boolean | "false" | "true") | undefined;
@@ -19,7 +19,6 @@ export declare function useBorderBoxControlLinkedButton(props: WordPressComponen
19
19
  slot?: string | undefined;
20
20
  title?: string | undefined;
21
21
  type?: "button" | "reset" | "submit" | undefined;
22
- id?: string | undefined;
23
22
  defaultChecked?: boolean | undefined;
24
23
  suppressContentEditableWarning?: boolean | undefined;
25
24
  suppressHydrationWarning?: boolean | undefined;
@@ -28,6 +27,7 @@ export declare function useBorderBoxControlLinkedButton(props: WordPressComponen
28
27
  contextMenu?: string | undefined;
29
28
  dir?: string | undefined;
30
29
  draggable?: (boolean | "false" | "true") | undefined;
30
+ id?: string | undefined;
31
31
  lang?: string | undefined;
32
32
  placeholder?: string | undefined;
33
33
  spellCheck?: (boolean | "false" | "true") | undefined;
@@ -64,7 +64,7 @@ export declare function useBorderBoxControlLinkedButton(props: WordPressComponen
64
64
  'aria-colindex'?: number | undefined;
65
65
  'aria-colspan'?: number | undefined;
66
66
  'aria-controls'?: string | undefined;
67
- 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "location" | "step" | "date" | undefined;
67
+ 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "date" | "step" | "location" | undefined;
68
68
  'aria-describedby'?: string | undefined;
69
69
  'aria-details'?: string | undefined;
70
70
  'aria-disabled'?: (boolean | "false" | "true") | undefined;
@@ -3,7 +3,7 @@ declare const ConnectedBorderBoxControlSplitControls: import("../../ui/context")
3
3
  disableCustomColors?: boolean | undefined;
4
4
  } & Pick<import("../types").BorderBoxControlProps, "size" | "enableStyle"> & {
5
5
  onChange: (value: import("../../border-control/types").Border | undefined, side: keyof import("../types").Borders) => void;
6
- popoverPlacement?: import("@floating-ui/core").Placement | undefined;
6
+ popoverPlacement?: ("overlay" | import("@floating-ui/core").Placement) | undefined;
7
7
  popoverOffset?: number | undefined;
8
8
  value?: import("../types").Borders | undefined;
9
9
  } & import("react").RefAttributes<any>, true>;
@@ -12,7 +12,7 @@ export declare function useBorderBoxControlSplitControls(props: WordPressCompone
12
12
  __experimentalIsRenderedInSidebar: boolean;
13
13
  disableCustomColors?: boolean | undefined;
14
14
  onChange: (value: import("../../border-control/types").Border | undefined, side: keyof import("../types").Borders) => void;
15
- popoverPlacement?: import("@floating-ui/core").Placement | undefined;
15
+ popoverPlacement?: ("overlay" | import("@floating-ui/core").Placement) | undefined;
16
16
  popoverOffset?: number | undefined;
17
17
  value?: import("../types").Borders | undefined;
18
18
  defaultValue?: string | number | readonly string[] | undefined;
@@ -23,7 +23,6 @@ export declare function useBorderBoxControlSplitControls(props: WordPressCompone
23
23
  key?: import("react").Key | null | undefined;
24
24
  slot?: string | undefined;
25
25
  title?: string | undefined;
26
- id?: string | undefined;
27
26
  defaultChecked?: boolean | undefined;
28
27
  suppressContentEditableWarning?: boolean | undefined;
29
28
  suppressHydrationWarning?: boolean | undefined;
@@ -32,6 +31,7 @@ export declare function useBorderBoxControlSplitControls(props: WordPressCompone
32
31
  contextMenu?: string | undefined;
33
32
  dir?: string | undefined;
34
33
  draggable?: (boolean | "false" | "true") | undefined;
34
+ id?: string | undefined;
35
35
  lang?: string | undefined;
36
36
  placeholder?: string | undefined;
37
37
  spellCheck?: (boolean | "false" | "true") | undefined;
@@ -68,7 +68,7 @@ export declare function useBorderBoxControlSplitControls(props: WordPressCompone
68
68
  'aria-colindex'?: number | undefined;
69
69
  'aria-colspan'?: number | undefined;
70
70
  'aria-controls'?: string | undefined;
71
- 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "location" | "step" | "date" | undefined;
71
+ 'aria-current'?: boolean | "page" | "false" | "true" | "time" | "date" | "step" | "location" | undefined;
72
72
  'aria-describedby'?: string | undefined;
73
73
  'aria-details'?: string | undefined;
74
74
  'aria-disabled'?: (boolean | "false" | "true") | undefined;