@wordpress/components 29.2.0 → 29.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 (505) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/alignment-matrix-control/icon.js +0 -1
  3. package/build/alignment-matrix-control/icon.js.map +1 -1
  4. package/build/alignment-matrix-control/index.js +0 -1
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/autocomplete/autocompleter-ui.js +0 -1
  7. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.native.js +0 -1
  9. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  10. package/build/autocomplete/get-default-use-items.js +0 -1
  11. package/build/autocomplete/get-default-use-items.js.map +1 -1
  12. package/build/autocomplete/index.js +0 -1
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/border-box-control/border-box-control-linked-button/component.js +8 -15
  15. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  16. package/build/border-box-control/utils.js +0 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/component.js +0 -1
  19. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  20. package/build/border-control/border-control-style-picker/component.js +0 -1
  21. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  22. package/build/box-control/index.js +6 -1
  23. package/build/box-control/index.js.map +1 -1
  24. package/build/box-control/input-control.js +0 -1
  25. package/build/box-control/input-control.js.map +1 -1
  26. package/build/box-control/linked-button.js +7 -11
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/types.js.map +1 -1
  29. package/build/box-control/utils.js +0 -1
  30. package/build/box-control/utils.js.map +1 -1
  31. package/build/button/index.native.js +0 -1
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/color-indicator/index.native.js +0 -1
  34. package/build/color-indicator/index.native.js.map +1 -1
  35. package/build/color-palette/index.js +0 -1
  36. package/build/color-palette/index.js.map +1 -1
  37. package/build/color-palette/index.native.js +0 -1
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-palette/utils.js +0 -1
  40. package/build/color-palette/utils.js.map +1 -1
  41. package/build/combobox-control/index.js +4 -3
  42. package/build/combobox-control/index.js.map +1 -1
  43. package/build/combobox-control/types.js.map +1 -1
  44. package/build/composite/legacy/index.js +0 -1
  45. package/build/composite/legacy/index.js.map +1 -1
  46. package/build/context/context-connect.js +0 -1
  47. package/build/context/context-connect.js.map +1 -1
  48. package/build/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  49. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  50. package/build/custom-gradient-picker/gradient-bar/index.js +0 -1
  51. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  52. package/build/custom-gradient-picker/gradient-bar/utils.js +0 -1
  53. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  54. package/build/custom-gradient-picker/index.js +0 -1
  55. package/build/custom-gradient-picker/index.js.map +1 -1
  56. package/build/custom-gradient-picker/serializer.js +0 -1
  57. package/build/custom-gradient-picker/serializer.js.map +1 -1
  58. package/build/custom-gradient-picker/utils.js +0 -1
  59. package/build/custom-gradient-picker/utils.js.map +1 -1
  60. package/build/custom-select-control/index.js +0 -1
  61. package/build/custom-select-control/index.js.map +1 -1
  62. package/build/dashicon/index.js +0 -1
  63. package/build/dashicon/index.js.map +1 -1
  64. package/build/date-time/date/index.js +0 -1
  65. package/build/date-time/date/index.js.map +1 -1
  66. package/build/date-time/date/use-lilius/index.js +0 -1
  67. package/build/date-time/date/use-lilius/index.js.map +1 -1
  68. package/build/date-time/time/index.js +0 -1
  69. package/build/date-time/time/index.js.map +1 -1
  70. package/build/dimension-control/index.js +0 -1
  71. package/build/dimension-control/index.js.map +1 -1
  72. package/build/dimension-control/sizes.js +0 -1
  73. package/build/dimension-control/sizes.js.map +1 -1
  74. package/build/draggable/index.js +0 -1
  75. package/build/draggable/index.js.map +1 -1
  76. package/build/draggable/index.native.js +0 -1
  77. package/build/draggable/index.native.js.map +1 -1
  78. package/build/dropdown-menu/index.js +0 -1
  79. package/build/dropdown-menu/index.js.map +1 -1
  80. package/build/dropdown-menu/index.native.js +0 -1
  81. package/build/dropdown-menu/index.native.js.map +1 -1
  82. package/build/duotone-picker/color-list-picker/index.js +0 -1
  83. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  84. package/build/duotone-picker/duotone-picker.js +0 -1
  85. package/build/duotone-picker/duotone-picker.js.map +1 -1
  86. package/build/duotone-picker/utils.js +0 -1
  87. package/build/duotone-picker/utils.js.map +1 -1
  88. package/build/external-link/index.js +0 -1
  89. package/build/external-link/index.js.map +1 -1
  90. package/build/font-size-picker/font-size-picker-select.js +4 -15
  91. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  92. package/build/font-size-picker/font-size-picker-toggle-group.js +0 -1
  93. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  94. package/build/font-size-picker/index.js +0 -1
  95. package/build/font-size-picker/index.js.map +1 -1
  96. package/build/font-size-picker/index.native.js +0 -1
  97. package/build/font-size-picker/index.native.js.map +1 -1
  98. package/build/font-size-picker/utils.js +0 -1
  99. package/build/font-size-picker/utils.js.map +1 -1
  100. package/build/form-token-field/index.js +0 -1
  101. package/build/form-token-field/index.js.map +1 -1
  102. package/build/form-token-field/suggestions-list.js +0 -1
  103. package/build/form-token-field/suggestions-list.js.map +1 -1
  104. package/build/gradient-picker/index.js +0 -1
  105. package/build/gradient-picker/index.js.map +1 -1
  106. package/build/guide/index.js +0 -1
  107. package/build/guide/index.js.map +1 -1
  108. package/build/guide/page-control.js +0 -1
  109. package/build/guide/page-control.js.map +1 -1
  110. package/build/h-stack/hook.js +0 -1
  111. package/build/h-stack/hook.js.map +1 -1
  112. package/build/higher-order/navigate-regions/index.js +0 -1
  113. package/build/higher-order/navigate-regions/index.js.map +1 -1
  114. package/build/higher-order/with-fallback-styles/index.js +0 -1
  115. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  116. package/build/higher-order/with-filters/index.js +0 -1
  117. package/build/higher-order/with-filters/index.js.map +1 -1
  118. package/build/higher-order/with-notices/index.js +0 -1
  119. package/build/higher-order/with-notices/index.js.map +1 -1
  120. package/build/keyboard-shortcuts/index.js +0 -1
  121. package/build/keyboard-shortcuts/index.js.map +1 -1
  122. package/build/menu-items-choice/index.js +0 -1
  123. package/build/menu-items-choice/index.js.map +1 -1
  124. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  125. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  126. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  127. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  128. package/build/mobile/bottom-sheet/picker-cell.native.js +0 -1
  129. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  130. package/build/mobile/bottom-sheet-select-control/index.native.js +0 -1
  131. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  132. package/build/mobile/color-settings/palette.screen.native.js +0 -1
  133. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  134. package/build/mobile/gradient/index.native.js +0 -1
  135. package/build/mobile/gradient/index.native.js.map +1 -1
  136. package/build/mobile/media-edit/index.native.js +0 -1
  137. package/build/mobile/media-edit/index.native.js.map +1 -1
  138. package/build/mobile/picker/index.android.js +0 -1
  139. package/build/mobile/picker/index.android.js.map +1 -1
  140. package/build/mobile/picker/index.ios.js +0 -1
  141. package/build/mobile/picker/index.ios.js.map +1 -1
  142. package/build/mobile/segmented-control/index.native.js +0 -1
  143. package/build/mobile/segmented-control/index.native.js.map +1 -1
  144. package/build/mobile/utils/get-px-from-css-unit.native.js +0 -1
  145. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  146. package/build/navigable-container/container.js +0 -1
  147. package/build/navigable-container/container.js.map +1 -1
  148. package/build/navigation/group/index.js +0 -1
  149. package/build/navigation/group/index.js.map +1 -1
  150. package/build/navigation/menu/menu-title-search.js +0 -1
  151. package/build/navigation/menu/menu-title-search.js.map +1 -1
  152. package/build/navigation/menu/search-no-results-found.js +0 -1
  153. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  154. package/build/navigator/navigator/component.js +0 -1
  155. package/build/navigator/navigator/component.js.map +1 -1
  156. package/build/navigator/navigator-screen/component.js +0 -1
  157. package/build/navigator/navigator-screen/component.js.map +1 -1
  158. package/build/navigator/utils/router.js +0 -1
  159. package/build/navigator/utils/router.js.map +1 -1
  160. package/build/notice/index.js +0 -1
  161. package/build/notice/index.js.map +1 -1
  162. package/build/notice/list.js +0 -1
  163. package/build/notice/list.js.map +1 -1
  164. package/build/notice/list.native.js +0 -1
  165. package/build/notice/list.native.js.map +1 -1
  166. package/build/palette-edit/index.js +0 -1
  167. package/build/palette-edit/index.js.map +1 -1
  168. package/build/panel/actions.native.js +0 -1
  169. package/build/panel/actions.native.js.map +1 -1
  170. package/build/query-controls/index.js +0 -1
  171. package/build/query-controls/index.js.map +1 -1
  172. package/build/query-controls/terms.js +0 -1
  173. package/build/query-controls/terms.js.map +1 -1
  174. package/build/radio-control/index.js +0 -1
  175. package/build/radio-control/index.js.map +1 -1
  176. package/build/radio-control/index.native.js +0 -1
  177. package/build/radio-control/index.native.js.map +1 -1
  178. package/build/range-control/rail.js +0 -1
  179. package/build/range-control/rail.js.map +1 -1
  180. package/build/resizable-box/index.js +0 -1
  181. package/build/resizable-box/index.js.map +1 -1
  182. package/build/sandbox/index.js +0 -1
  183. package/build/sandbox/index.js.map +1 -1
  184. package/build/sandbox/index.native.js +0 -1
  185. package/build/sandbox/index.native.js.map +1 -1
  186. package/build/search-control/index.native.js +0 -1
  187. package/build/search-control/index.native.js.map +1 -1
  188. package/build/select-control/index.js +0 -1
  189. package/build/select-control/index.js.map +1 -1
  190. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  191. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  192. package/build/slot-fill/provider.js +0 -1
  193. package/build/slot-fill/provider.js.map +1 -1
  194. package/build/slot-fill/slot.js +0 -1
  195. package/build/slot-fill/slot.js.map +1 -1
  196. package/build/snackbar/index.js +0 -1
  197. package/build/snackbar/index.js.map +1 -1
  198. package/build/snackbar/list.js +0 -1
  199. package/build/snackbar/list.js.map +1 -1
  200. package/build/tab-panel/index.js +0 -1
  201. package/build/tab-panel/index.js.map +1 -1
  202. package/build/tabs/index.js +0 -1
  203. package/build/tabs/index.js.map +1 -1
  204. package/build/text/utils.js +0 -1
  205. package/build/text/utils.js.map +1 -1
  206. package/build/theme/color-algorithms.js +0 -1
  207. package/build/theme/color-algorithms.js.map +1 -1
  208. package/build/toolbar/toolbar-group/index.js +0 -1
  209. package/build/toolbar/toolbar-group/index.js.map +1 -1
  210. package/build/tools-panel/tools-panel/hook.js +0 -1
  211. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  212. package/build/tools-panel/tools-panel-header/component.js +0 -1
  213. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  214. package/build/tree-grid/index.js +0 -1
  215. package/build/tree-grid/index.js.map +1 -1
  216. package/build/tree-select/index.js +0 -1
  217. package/build/tree-select/index.js.map +1 -1
  218. package/build/unit-control/index.js +0 -1
  219. package/build/unit-control/index.js.map +1 -1
  220. package/build/unit-control/index.native.js +0 -1
  221. package/build/unit-control/index.native.js.map +1 -1
  222. package/build/unit-control/unit-select-control.js +0 -1
  223. package/build/unit-control/unit-select-control.js.map +1 -1
  224. package/build/unit-control/utils.js +0 -1
  225. package/build/unit-control/utils.js.map +1 -1
  226. package/build/utils/get-valid-children.js +0 -1
  227. package/build/utils/get-valid-children.js.map +1 -1
  228. package/build/utils/hooks/use-animated-offset-rect.js +0 -1
  229. package/build/utils/hooks/use-animated-offset-rect.js.map +1 -1
  230. package/build/utils/hooks/use-cx.js +0 -1
  231. package/build/utils/hooks/use-cx.js.map +1 -1
  232. package/build/utils/math.js +0 -1
  233. package/build/utils/math.js.map +1 -1
  234. package/build/utils/rtl.js +0 -1
  235. package/build/utils/rtl.js.map +1 -1
  236. package/build/utils/values.js +0 -1
  237. package/build/utils/values.js.map +1 -1
  238. package/build/z-stack/component.js +0 -1
  239. package/build/z-stack/component.js.map +1 -1
  240. package/build-module/alignment-matrix-control/icon.js +0 -1
  241. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  242. package/build-module/alignment-matrix-control/index.js +0 -1
  243. package/build-module/alignment-matrix-control/index.js.map +1 -1
  244. package/build-module/autocomplete/autocompleter-ui.js +0 -1
  245. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  246. package/build-module/autocomplete/autocompleter-ui.native.js +0 -1
  247. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  248. package/build-module/autocomplete/get-default-use-items.js +0 -1
  249. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  250. package/build-module/autocomplete/index.js +0 -1
  251. package/build-module/autocomplete/index.js.map +1 -1
  252. package/build-module/border-box-control/border-box-control-linked-button/component.js +8 -15
  253. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  254. package/build-module/border-box-control/utils.js +0 -1
  255. package/build-module/border-box-control/utils.js.map +1 -1
  256. package/build-module/border-control/border-control-dropdown/component.js +0 -1
  257. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  258. package/build-module/border-control/border-control-style-picker/component.js +0 -1
  259. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  260. package/build-module/box-control/index.js +6 -1
  261. package/build-module/box-control/index.js.map +1 -1
  262. package/build-module/box-control/input-control.js +0 -1
  263. package/build-module/box-control/input-control.js.map +1 -1
  264. package/build-module/box-control/linked-button.js +7 -11
  265. package/build-module/box-control/linked-button.js.map +1 -1
  266. package/build-module/box-control/types.js.map +1 -1
  267. package/build-module/box-control/utils.js +0 -1
  268. package/build-module/box-control/utils.js.map +1 -1
  269. package/build-module/button/index.native.js +0 -1
  270. package/build-module/button/index.native.js.map +1 -1
  271. package/build-module/color-indicator/index.native.js +0 -1
  272. package/build-module/color-indicator/index.native.js.map +1 -1
  273. package/build-module/color-palette/index.js +0 -1
  274. package/build-module/color-palette/index.js.map +1 -1
  275. package/build-module/color-palette/index.native.js +0 -1
  276. package/build-module/color-palette/index.native.js.map +1 -1
  277. package/build-module/color-palette/utils.js +0 -1
  278. package/build-module/color-palette/utils.js.map +1 -1
  279. package/build-module/combobox-control/index.js +4 -3
  280. package/build-module/combobox-control/index.js.map +1 -1
  281. package/build-module/combobox-control/types.js.map +1 -1
  282. package/build-module/composite/legacy/index.js +0 -1
  283. package/build-module/composite/legacy/index.js.map +1 -1
  284. package/build-module/context/context-connect.js +0 -1
  285. package/build-module/context/context-connect.js.map +1 -1
  286. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  287. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  288. package/build-module/custom-gradient-picker/gradient-bar/index.js +0 -1
  289. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  290. package/build-module/custom-gradient-picker/gradient-bar/utils.js +0 -1
  291. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  292. package/build-module/custom-gradient-picker/index.js +0 -1
  293. package/build-module/custom-gradient-picker/index.js.map +1 -1
  294. package/build-module/custom-gradient-picker/serializer.js +0 -1
  295. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  296. package/build-module/custom-gradient-picker/utils.js +0 -1
  297. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  298. package/build-module/custom-select-control/index.js +0 -1
  299. package/build-module/custom-select-control/index.js.map +1 -1
  300. package/build-module/dashicon/index.js +0 -1
  301. package/build-module/dashicon/index.js.map +1 -1
  302. package/build-module/date-time/date/index.js +0 -1
  303. package/build-module/date-time/date/index.js.map +1 -1
  304. package/build-module/date-time/date/use-lilius/index.js +0 -1
  305. package/build-module/date-time/date/use-lilius/index.js.map +1 -1
  306. package/build-module/date-time/time/index.js +0 -1
  307. package/build-module/date-time/time/index.js.map +1 -1
  308. package/build-module/dimension-control/index.js +0 -1
  309. package/build-module/dimension-control/index.js.map +1 -1
  310. package/build-module/dimension-control/sizes.js +0 -1
  311. package/build-module/dimension-control/sizes.js.map +1 -1
  312. package/build-module/draggable/index.js +0 -1
  313. package/build-module/draggable/index.js.map +1 -1
  314. package/build-module/draggable/index.native.js +0 -1
  315. package/build-module/draggable/index.native.js.map +1 -1
  316. package/build-module/dropdown-menu/index.js +0 -1
  317. package/build-module/dropdown-menu/index.js.map +1 -1
  318. package/build-module/dropdown-menu/index.native.js +0 -1
  319. package/build-module/dropdown-menu/index.native.js.map +1 -1
  320. package/build-module/duotone-picker/color-list-picker/index.js +0 -1
  321. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  322. package/build-module/duotone-picker/duotone-picker.js +0 -1
  323. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  324. package/build-module/duotone-picker/utils.js +0 -1
  325. package/build-module/duotone-picker/utils.js.map +1 -1
  326. package/build-module/external-link/index.js +0 -1
  327. package/build-module/external-link/index.js.map +1 -1
  328. package/build-module/font-size-picker/font-size-picker-select.js +4 -15
  329. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  330. package/build-module/font-size-picker/font-size-picker-toggle-group.js +0 -1
  331. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  332. package/build-module/font-size-picker/index.js +0 -1
  333. package/build-module/font-size-picker/index.js.map +1 -1
  334. package/build-module/font-size-picker/index.native.js +0 -1
  335. package/build-module/font-size-picker/index.native.js.map +1 -1
  336. package/build-module/font-size-picker/utils.js +0 -1
  337. package/build-module/font-size-picker/utils.js.map +1 -1
  338. package/build-module/form-token-field/index.js +0 -1
  339. package/build-module/form-token-field/index.js.map +1 -1
  340. package/build-module/form-token-field/suggestions-list.js +0 -1
  341. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  342. package/build-module/gradient-picker/index.js +0 -1
  343. package/build-module/gradient-picker/index.js.map +1 -1
  344. package/build-module/guide/index.js +0 -1
  345. package/build-module/guide/index.js.map +1 -1
  346. package/build-module/guide/page-control.js +0 -1
  347. package/build-module/guide/page-control.js.map +1 -1
  348. package/build-module/h-stack/hook.js +0 -1
  349. package/build-module/h-stack/hook.js.map +1 -1
  350. package/build-module/higher-order/navigate-regions/index.js +0 -1
  351. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  352. package/build-module/higher-order/with-fallback-styles/index.js +0 -1
  353. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  354. package/build-module/higher-order/with-filters/index.js +0 -1
  355. package/build-module/higher-order/with-filters/index.js.map +1 -1
  356. package/build-module/higher-order/with-notices/index.js +0 -1
  357. package/build-module/higher-order/with-notices/index.js.map +1 -1
  358. package/build-module/keyboard-shortcuts/index.js +0 -1
  359. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  360. package/build-module/menu-items-choice/index.js +0 -1
  361. package/build-module/menu-items-choice/index.js.map +1 -1
  362. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  363. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  364. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  365. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  366. package/build-module/mobile/bottom-sheet/picker-cell.native.js +0 -1
  367. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  368. package/build-module/mobile/bottom-sheet-select-control/index.native.js +0 -1
  369. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  370. package/build-module/mobile/color-settings/palette.screen.native.js +0 -1
  371. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  372. package/build-module/mobile/gradient/index.native.js +0 -1
  373. package/build-module/mobile/gradient/index.native.js.map +1 -1
  374. package/build-module/mobile/media-edit/index.native.js +0 -1
  375. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  376. package/build-module/mobile/picker/index.android.js +0 -1
  377. package/build-module/mobile/picker/index.android.js.map +1 -1
  378. package/build-module/mobile/picker/index.ios.js +0 -1
  379. package/build-module/mobile/picker/index.ios.js.map +1 -1
  380. package/build-module/mobile/segmented-control/index.native.js +0 -1
  381. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  382. package/build-module/mobile/utils/get-px-from-css-unit.native.js +0 -1
  383. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  384. package/build-module/navigable-container/container.js +0 -1
  385. package/build-module/navigable-container/container.js.map +1 -1
  386. package/build-module/navigation/group/index.js +0 -1
  387. package/build-module/navigation/group/index.js.map +1 -1
  388. package/build-module/navigation/menu/menu-title-search.js +0 -1
  389. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  390. package/build-module/navigation/menu/search-no-results-found.js +0 -1
  391. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  392. package/build-module/navigator/navigator/component.js +0 -1
  393. package/build-module/navigator/navigator/component.js.map +1 -1
  394. package/build-module/navigator/navigator-screen/component.js +0 -1
  395. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  396. package/build-module/navigator/utils/router.js +0 -1
  397. package/build-module/navigator/utils/router.js.map +1 -1
  398. package/build-module/notice/index.js +0 -1
  399. package/build-module/notice/index.js.map +1 -1
  400. package/build-module/notice/list.js +0 -1
  401. package/build-module/notice/list.js.map +1 -1
  402. package/build-module/notice/list.native.js +0 -1
  403. package/build-module/notice/list.native.js.map +1 -1
  404. package/build-module/palette-edit/index.js +0 -1
  405. package/build-module/palette-edit/index.js.map +1 -1
  406. package/build-module/panel/actions.native.js +0 -1
  407. package/build-module/panel/actions.native.js.map +1 -1
  408. package/build-module/query-controls/index.js +0 -1
  409. package/build-module/query-controls/index.js.map +1 -1
  410. package/build-module/query-controls/terms.js +0 -1
  411. package/build-module/query-controls/terms.js.map +1 -1
  412. package/build-module/radio-control/index.js +0 -1
  413. package/build-module/radio-control/index.js.map +1 -1
  414. package/build-module/radio-control/index.native.js +0 -1
  415. package/build-module/radio-control/index.native.js.map +1 -1
  416. package/build-module/range-control/rail.js +0 -1
  417. package/build-module/range-control/rail.js.map +1 -1
  418. package/build-module/resizable-box/index.js +0 -1
  419. package/build-module/resizable-box/index.js.map +1 -1
  420. package/build-module/sandbox/index.js +0 -1
  421. package/build-module/sandbox/index.js.map +1 -1
  422. package/build-module/sandbox/index.native.js +0 -1
  423. package/build-module/sandbox/index.native.js.map +1 -1
  424. package/build-module/search-control/index.native.js +0 -1
  425. package/build-module/search-control/index.native.js.map +1 -1
  426. package/build-module/select-control/index.js +0 -1
  427. package/build-module/select-control/index.js.map +1 -1
  428. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  429. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  430. package/build-module/slot-fill/provider.js +0 -1
  431. package/build-module/slot-fill/provider.js.map +1 -1
  432. package/build-module/slot-fill/slot.js +0 -1
  433. package/build-module/slot-fill/slot.js.map +1 -1
  434. package/build-module/snackbar/index.js +0 -1
  435. package/build-module/snackbar/index.js.map +1 -1
  436. package/build-module/snackbar/list.js +0 -1
  437. package/build-module/snackbar/list.js.map +1 -1
  438. package/build-module/tab-panel/index.js +0 -1
  439. package/build-module/tab-panel/index.js.map +1 -1
  440. package/build-module/tabs/index.js +0 -1
  441. package/build-module/tabs/index.js.map +1 -1
  442. package/build-module/text/utils.js +0 -1
  443. package/build-module/text/utils.js.map +1 -1
  444. package/build-module/theme/color-algorithms.js +0 -1
  445. package/build-module/theme/color-algorithms.js.map +1 -1
  446. package/build-module/toolbar/toolbar-group/index.js +0 -1
  447. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  448. package/build-module/tools-panel/tools-panel/hook.js +0 -1
  449. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  450. package/build-module/tools-panel/tools-panel-header/component.js +0 -1
  451. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  452. package/build-module/tree-grid/index.js +0 -1
  453. package/build-module/tree-grid/index.js.map +1 -1
  454. package/build-module/tree-select/index.js +0 -1
  455. package/build-module/tree-select/index.js.map +1 -1
  456. package/build-module/unit-control/index.js +0 -1
  457. package/build-module/unit-control/index.js.map +1 -1
  458. package/build-module/unit-control/index.native.js +0 -1
  459. package/build-module/unit-control/index.native.js.map +1 -1
  460. package/build-module/unit-control/unit-select-control.js +0 -1
  461. package/build-module/unit-control/unit-select-control.js.map +1 -1
  462. package/build-module/unit-control/utils.js +0 -1
  463. package/build-module/unit-control/utils.js.map +1 -1
  464. package/build-module/utils/get-valid-children.js +0 -1
  465. package/build-module/utils/get-valid-children.js.map +1 -1
  466. package/build-module/utils/hooks/use-animated-offset-rect.js +0 -1
  467. package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -1
  468. package/build-module/utils/hooks/use-cx.js +0 -1
  469. package/build-module/utils/hooks/use-cx.js.map +1 -1
  470. package/build-module/utils/math.js +0 -1
  471. package/build-module/utils/math.js.map +1 -1
  472. package/build-module/utils/rtl.js +0 -1
  473. package/build-module/utils/rtl.js.map +1 -1
  474. package/build-module/utils/values.js +0 -1
  475. package/build-module/utils/values.js.map +1 -1
  476. package/build-module/z-stack/component.js +0 -1
  477. package/build-module/z-stack/component.js.map +1 -1
  478. package/build-style/style-rtl.css +3 -0
  479. package/build-style/style.css +3 -0
  480. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  481. package/build-types/box-control/index.d.ts.map +1 -1
  482. package/build-types/box-control/linked-button.d.ts.map +1 -1
  483. package/build-types/box-control/stories/index.story.d.ts +7 -2331
  484. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  485. package/build-types/box-control/types.d.ts +15 -3
  486. package/build-types/box-control/types.d.ts.map +1 -1
  487. package/build-types/combobox-control/index.d.ts.map +1 -1
  488. package/build-types/combobox-control/stories/index.story.d.ts +4 -0
  489. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  490. package/build-types/combobox-control/types.d.ts +7 -0
  491. package/build-types/combobox-control/types.d.ts.map +1 -1
  492. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  493. package/package.json +19 -19
  494. package/src/border-box-control/border-box-control-linked-button/component.tsx +9 -14
  495. package/src/box-control/index.tsx +9 -0
  496. package/src/box-control/linked-button.tsx +8 -11
  497. package/src/box-control/test/index.tsx +9 -2
  498. package/src/box-control/types.ts +26 -11
  499. package/src/combobox-control/README.md +9 -1
  500. package/src/combobox-control/index.tsx +4 -1
  501. package/src/combobox-control/style.scss +4 -1
  502. package/src/combobox-control/types.ts +7 -0
  503. package/src/font-size-picker/font-size-picker-select.tsx +4 -23
  504. package/src/font-size-picker/test/index.tsx +2 -24
  505. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_dom","require","_element","_keycodes","_rovingTabIndex","_interopRequireDefault","_jsxRuntime","_row","_cell","_item","getRowFocusables","rowElement","focusablesInRow","focus","focusable","find","sequential","filter","closest","UnforwardedTreeGrid","children","onExpandRow","onCollapseRow","onFocusRow","applicationAriaLabel","props","ref","onKeyDown","useCallback","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","UP","DOWN","LEFT","RIGHT","HOME","END","includes","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","length","_activeRow$getAttribu","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","ariaLevel","focusableItems","nextRowIndex","focusablesInNextRow","jsx","default","role","TreeGrid","exports","forwardRef","_default"],"sources":["@wordpress/components/src/tree-grid/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\nimport type { TreeGridProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param rowElement The DOM element representing the row.\n *\n * @return The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement: HTMLElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n */\nfunction UnforwardedTreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\tapplicationAriaLabel,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridProps, 'table', false >,\n\t/** A ref to the underlying DOM table element. */\n\tref: React.ForwardedRef< HTMLTableElement >\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLTableElement > ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! ( [ UP, DOWN, LEFT, RIGHT, HOME, END ] as number[] ).includes(\n\t\t\t\t\tkeyCode\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\n\t\t\tif (\n\t\t\t\t! activeElement ||\n\t\t\t\t! treeGridElement.contains( activeElement )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow =\n\t\t\t\tactiveElement.closest< HTMLElement >( '[role=\"row\"]' );\n\n\t\t\tif ( ! activeRow ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf(\n\t\t\t\tactiveElement as HTMLElement\n\t\t\t);\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\t( activeRow.getAttribute( 'data-expanded' ) === 'false' ||\n\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' ) &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( ( [ LEFT, RIGHT ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'true' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? '1',\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tconst ariaLevel =\n\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tariaLevel !== null &&\n\t\t\t\t\t\t\t\tparseInt( ariaLevel, 10 ) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'false' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the next cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[ nextIndex ]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ UP, DOWN ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ HOME, END ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t{\n\t\t\t\t// Prevent browser mode from triggering in NVDA by wrapping List View\n\t\t\t\t// in a role=application wrapper.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/issues/43729\n\t\t\t }\n\t\t\t<div role=\"application\" aria-label={ applicationAriaLabel }>\n\t\t\t\t<table\n\t\t\t\t\t{ ...props }\n\t\t\t\t\trole=\"treegrid\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\n/**\n * `TreeGrid` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * A tree grid is a hierarchical 2 dimensional UI component, for example it could be\n * used to implement a file system browser.\n *\n * A tree grid allows the user to navigate using arrow keys.\n * Up/down to navigate vertically across rows, and left/right to navigate horizontally\n * between focusables in a row.\n *\n * The `TreeGrid` renders both a `table` and `tbody` element, and is intended to be used\n * with `TreeGridRow` (`tr`) and `TreeGridCell` (`td`) to build out a grid.\n *\n * ```jsx\n * function TreeMenu() {\n * \treturn (\n * \t\t<TreeGrid>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 1 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 2 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 2 } positionInSet={ 1 } setSize={ 1 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t</TreeGrid>\n * \t);\n * }\n * ```\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGrid = forwardRef( UnforwardedTreeGrid );\n\nexport default TreeGrid;\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_dom","require","_element","_keycodes","_rovingTabIndex","_interopRequireDefault","_jsxRuntime","_row","_cell","_item","getRowFocusables","rowElement","focusablesInRow","focus","focusable","find","sequential","filter","closest","UnforwardedTreeGrid","children","onExpandRow","onCollapseRow","onFocusRow","applicationAriaLabel","props","ref","onKeyDown","useCallback","event","keyCode","metaKey","ctrlKey","altKey","hasModifierKeyPressed","UP","DOWN","LEFT","RIGHT","HOME","END","includes","stopPropagation","activeElement","document","currentTarget","treeGridElement","contains","activeRow","currentColumnIndex","indexOf","canExpandCollapse","cannotFocusNextColumn","getAttribute","nextIndex","Math","max","min","length","_activeRow$getAttribu","preventDefault","level","parseInt","rows","Array","from","querySelectorAll","parentRow","currentRowIndex","i","ariaLevel","focusableItems","nextRowIndex","focusablesInNextRow","jsx","default","role","TreeGrid","exports","forwardRef","_default"],"sources":["@wordpress/components/src/tree-grid/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport { forwardRef, useCallback } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT, HOME, END } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport RovingTabIndexContainer from './roving-tab-index';\nimport type { TreeGridProps } from './types';\nimport type { WordPressComponentProps } from '../context';\n\n/**\n * Return focusables in a row element, excluding those from other branches\n * nested within the row.\n *\n * @param rowElement The DOM element representing the row.\n *\n * @return The array of focusables in the row.\n */\nfunction getRowFocusables( rowElement: HTMLElement ) {\n\tconst focusablesInRow = focus.focusable.find( rowElement, {\n\t\tsequential: true,\n\t} );\n\n\treturn focusablesInRow.filter( ( focusable ) => {\n\t\treturn focusable.closest( '[role=\"row\"]' ) === rowElement;\n\t} );\n}\n\n/**\n * Renders both a table and tbody element, used to create a tree hierarchy.\n *\n */\nfunction UnforwardedTreeGrid(\n\t{\n\t\tchildren,\n\t\tonExpandRow = () => {},\n\t\tonCollapseRow = () => {},\n\t\tonFocusRow = () => {},\n\t\tapplicationAriaLabel,\n\t\t...props\n\t}: WordPressComponentProps< TreeGridProps, 'table', false >,\n\t/** A ref to the underlying DOM table element. */\n\tref: React.ForwardedRef< HTMLTableElement >\n) {\n\tconst onKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLTableElement > ) => {\n\t\t\tconst { keyCode, metaKey, ctrlKey, altKey } = event;\n\n\t\t\t// The shift key is intentionally absent from the following list,\n\t\t\t// to enable shift + up/down to select items from the list.\n\t\t\tconst hasModifierKeyPressed = metaKey || ctrlKey || altKey;\n\n\t\t\tif (\n\t\t\t\thasModifierKeyPressed ||\n\t\t\t\t! ( [ UP, DOWN, LEFT, RIGHT, HOME, END ] as number[] ).includes(\n\t\t\t\t\tkeyCode\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// The event will be handled, stop propagation.\n\t\t\tevent.stopPropagation();\n\n\t\t\tconst { activeElement } = document;\n\t\t\tconst { currentTarget: treeGridElement } = event;\n\n\t\t\tif (\n\t\t\t\t! activeElement ||\n\t\t\t\t! treeGridElement.contains( activeElement )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Calculate the columnIndex of the active element.\n\t\t\tconst activeRow =\n\t\t\t\tactiveElement.closest< HTMLElement >( '[role=\"row\"]' );\n\n\t\t\tif ( ! activeRow ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst focusablesInRow = getRowFocusables( activeRow );\n\t\t\tconst currentColumnIndex = focusablesInRow.indexOf(\n\t\t\t\tactiveElement as HTMLElement\n\t\t\t);\n\t\t\tconst canExpandCollapse = 0 === currentColumnIndex;\n\t\t\tconst cannotFocusNextColumn =\n\t\t\t\tcanExpandCollapse &&\n\t\t\t\t( activeRow.getAttribute( 'data-expanded' ) === 'false' ||\n\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'false' ) &&\n\t\t\t\tkeyCode === RIGHT;\n\n\t\t\tif ( ( [ LEFT, RIGHT ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate to the next element.\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\tnextIndex = Math.max( 0, currentColumnIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex = Math.min(\n\t\t\t\t\t\tcurrentColumnIndex + 1,\n\t\t\t\t\t\tfocusablesInRow.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is at the left most column.\n\t\t\t\tif ( canExpandCollapse ) {\n\t\t\t\t\tif ( keyCode === LEFT ) {\n\t\t\t\t\t\t// Left:\n\t\t\t\t\t\t// If a row is focused, and it is expanded, collapses the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'true' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) === 'true'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonCollapseRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, moves to the parent row (if there is one).\n\t\t\t\t\t\tconst level = Math.max(\n\t\t\t\t\t\t\tparseInt(\n\t\t\t\t\t\t\t\tactiveRow?.getAttribute( 'aria-level' ) ?? '1',\n\t\t\t\t\t\t\t\t10\n\t\t\t\t\t\t\t) - 1,\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rows = Array.from(\n\t\t\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlet parentRow = activeRow;\n\t\t\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\t\t\tfor ( let i = currentRowIndex; i >= 0; i-- ) {\n\t\t\t\t\t\t\tconst ariaLevel =\n\t\t\t\t\t\t\t\trows[ i ].getAttribute( 'aria-level' );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tariaLevel !== null &&\n\t\t\t\t\t\t\t\tparseInt( ariaLevel, 10 ) === level\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tparentRow = rows[ i ];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgetRowFocusables( parentRow )?.[ 0 ]?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( keyCode === RIGHT ) {\n\t\t\t\t\t\t// Right:\n\t\t\t\t\t\t// If a row is focused, and it is collapsed, expands the current row.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'data-expanded' ) ===\n\t\t\t\t\t\t\t\t'false' ||\n\t\t\t\t\t\t\tactiveRow.getAttribute( 'aria-expanded' ) ===\n\t\t\t\t\t\t\t\t'false'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonExpandRow( activeRow );\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If a row is focused, and it is expanded, focuses the next cell in the row.\n\t\t\t\t\t\tconst focusableItems = getRowFocusables( activeRow );\n\t\t\t\t\t\tif ( focusableItems.length > 0 ) {\n\t\t\t\t\t\t\tfocusableItems[ nextIndex ]?.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start reading text on continued use of left/right arrow\n\t\t\t\t\t// keys.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Focus the next element. If at most left column and row is collapsed, moving right is not allowed as this will expand. However, if row is collapsed, moving left is allowed.\n\t\t\t\tif ( cannotFocusNextColumn ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfocusablesInRow[ nextIndex ].focus();\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ UP, DOWN ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === UP ) {\n\t\t\t\t\tnextRowIndex = Math.max( 0, currentRowIndex - 1 );\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = Math.min(\n\t\t\t\t\t\tcurrentRowIndex + 1,\n\t\t\t\t\t\trows.length - 1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if ( ( [ HOME, END ] as number[] ).includes( keyCode ) ) {\n\t\t\t\t// Calculate the rowIndex of the next row.\n\t\t\t\tconst rows = Array.from(\n\t\t\t\t\ttreeGridElement.querySelectorAll< HTMLElement >(\n\t\t\t\t\t\t'[role=\"row\"]'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconst currentRowIndex = rows.indexOf( activeRow );\n\t\t\t\tlet nextRowIndex;\n\n\t\t\t\tif ( keyCode === HOME ) {\n\t\t\t\t\tnextRowIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tnextRowIndex = rows.length - 1;\n\t\t\t\t}\n\n\t\t\t\t// Focus is either at the top or bottom edge of the grid. Do nothing.\n\t\t\t\tif ( nextRowIndex === currentRowIndex ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will start navigating horizontally when reaching the vertical\n\t\t\t\t\t// bounds of a table.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Get the focusables in the next row.\n\t\t\t\tconst focusablesInNextRow = getRowFocusables(\n\t\t\t\t\trows[ nextRowIndex ]\n\t\t\t\t);\n\n\t\t\t\t// If for some reason there are no focusables in the next row, do nothing.\n\t\t\t\tif ( ! focusablesInNextRow || ! focusablesInNextRow.length ) {\n\t\t\t\t\t// Prevent key use for anything else. For example, Voiceover\n\t\t\t\t\t// will still focus text when using arrow keys, while this\n\t\t\t\t\t// component should limit navigation to focusables.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Try to focus the element in the next row that's at a similar column to the activeElement.\n\t\t\t\tconst nextIndex = Math.min(\n\t\t\t\t\tcurrentColumnIndex,\n\t\t\t\t\tfocusablesInNextRow.length - 1\n\t\t\t\t);\n\t\t\t\tfocusablesInNextRow[ nextIndex ].focus();\n\n\t\t\t\t// Let consumers know the row that was originally focused,\n\t\t\t\t// and the row that is now in focus.\n\t\t\t\tonFocusRow( event, activeRow, rows[ nextRowIndex ] );\n\n\t\t\t\t// Prevent key use for anything else. This ensures Voiceover\n\t\t\t\t// doesn't try to handle key navigation.\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ onExpandRow, onCollapseRow, onFocusRow ]\n\t);\n\n\t/* Disable reason: A treegrid is implemented using a table element. */\n\t/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */\n\treturn (\n\t\t<RovingTabIndexContainer>\n\t\t\t{\n\t\t\t\t// Prevent browser mode from triggering in NVDA by wrapping List View\n\t\t\t\t// in a role=application wrapper.\n\t\t\t\t// see: https://github.com/WordPress/gutenberg/issues/43729\n\t\t\t }\n\t\t\t<div role=\"application\" aria-label={ applicationAriaLabel }>\n\t\t\t\t<table\n\t\t\t\t\t{ ...props }\n\t\t\t\t\trole=\"treegrid\"\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t<tbody>{ children }</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t</RovingTabIndexContainer>\n\t);\n\t/* eslint-enable jsx-a11y/no-noninteractive-element-to-interactive-role */\n}\n\n/**\n * `TreeGrid` is used to create a tree hierarchy.\n * It is not a visually styled component, but instead helps with adding\n * keyboard navigation and roving tab index behaviors to tree grid structures.\n *\n * A tree grid is a hierarchical 2 dimensional UI component, for example it could be\n * used to implement a file system browser.\n *\n * A tree grid allows the user to navigate using arrow keys.\n * Up/down to navigate vertically across rows, and left/right to navigate horizontally\n * between focusables in a row.\n *\n * The `TreeGrid` renders both a `table` and `tbody` element, and is intended to be used\n * with `TreeGridRow` (`tr`) and `TreeGridCell` (`td`) to build out a grid.\n *\n * ```jsx\n * function TreeMenu() {\n * \treturn (\n * \t\t<TreeGrid>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 1 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 1 } positionInSet={ 2 } setSize={ 2 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t\t<TreeGridRow level={ 2 } positionInSet={ 1 } setSize={ 1 }>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onSelect } { ...props }>Select</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t\t<TreeGridCell>\n * \t\t\t\t\t{ ( props ) => (\n * \t\t\t\t\t\t<Button onClick={ onMove } { ...props }>Move</Button>\n * \t\t\t\t\t) }\n * \t\t\t\t</TreeGridCell>\n * \t\t\t</TreeGridRow>\n * \t\t</TreeGrid>\n * \t);\n * }\n * ```\n *\n * @see {@link https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html}\n */\nexport const TreeGrid = forwardRef( UnforwardedTreeGrid );\n\nexport default TreeGrid;\nexport { default as TreeGridRow } from './row';\nexport { default as TreeGridCell } from './cell';\nexport { default as TreeGridItem } from './item';\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_htmlEntities","_selectControl","_useDeprecatedProps","_context","_deprecated36pxSize","_jsxRuntime","CONTEXT_VALUE","BaseControl","_overrides","__associatedWPComponentName","getSelectOptions","tree","level","flatMap","treeNode","value","id","label","repeat","decodeEntities","name","children","TreeSelect","props","noOptionLabel","onChange","selectedId","restProps","useDeprecated36pxDefaultSizeProp","options","useMemo","filter","option","maybeWarnDeprecated36pxSize","componentName","size","__next40pxDefaultSize","jsx","ContextSystemProvider","SelectControl","__shouldNotWarnDeprecated36pxSize","_default","exports","default"],"sources":["@wordpress/components/src/tree-select/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { SelectControl } from '../select-control';\nimport type { TreeSelectProps, Tree, Truthy } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { ContextSystemProvider } from '../context';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nconst CONTEXT_VALUE = {\n\tBaseControl: {\n\t\t// Temporary during deprecation grace period: Overrides the underlying `__associatedWPComponentName`\n\t\t// via the context system to override the value set by SelectControl.\n\t\t_overrides: { __associatedWPComponentName: 'TreeSelect' },\n\t},\n};\n\nfunction getSelectOptions(\n\ttree: Tree[],\n\tlevel = 0\n): NonNullable< TreeSelectProps[ 'options' ] > {\n\treturn tree.flatMap( ( treeNode ) => [\n\t\t{\n\t\t\tvalue: treeNode.id,\n\t\t\tlabel:\n\t\t\t\t'\\u00A0'.repeat( level * 3 ) + decodeEntities( treeNode.name ),\n\t\t},\n\t\t...getSelectOptions( treeNode.children || [], level + 1 ),\n\t] );\n}\n\n/**\n * Generates a hierarchical select input.\n *\n * ```jsx\n * import { useState } from 'react';\n * import { TreeSelect } from '@wordpress/components';\n *\n * const MyTreeSelect = () => {\n * \tconst [ page, setPage ] = useState( 'p21' );\n *\n * \treturn (\n * \t\t<TreeSelect\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\t__next40pxDefaultSize\n * \t\t\tlabel=\"Parent page\"\n * \t\t\tnoOptionLabel=\"No parent page\"\n * \t\t\tonChange={ ( newPage ) => setPage( newPage ) }\n * \t\t\tselectedId={ page }\n * \t\t\ttree={ [\n * \t\t\t\t{\n * \t\t\t\t\tname: 'Page 1',\n * \t\t\t\t\tid: 'p1',\n * \t\t\t\t\tchildren: [\n * \t\t\t\t\t\t{ name: 'Descend 1 of page 1', id: 'p11' },\n * \t\t\t\t\t\t{ name: 'Descend 2 of page 1', id: 'p12' },\n * \t\t\t\t\t],\n * \t\t\t\t},\n * \t\t\t\t{\n * \t\t\t\t\tname: 'Page 2',\n * \t\t\t\t\tid: 'p2',\n * \t\t\t\t\tchildren: [\n * \t\t\t\t\t\t{\n * \t\t\t\t\t\t\tname: 'Descend 1 of page 2',\n * \t\t\t\t\t\t\tid: 'p21',\n * \t\t\t\t\t\t\tchildren: [\n * \t\t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\t\tname: 'Descend 1 of Descend 1 of page 2',\n * \t\t\t\t\t\t\t\t\tid: 'p211',\n * \t\t\t\t\t\t\t\t},\n * \t\t\t\t\t\t\t],\n * \t\t\t\t\t\t},\n * \t\t\t\t\t],\n * \t\t\t\t},\n * \t\t\t] }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nexport function TreeSelect( props: TreeSelectProps ) {\n\tconst {\n\t\tlabel,\n\t\tnoOptionLabel,\n\t\tonChange,\n\t\tselectedId,\n\t\ttree = [],\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\n\tconst options = useMemo( () => {\n\t\treturn [\n\t\t\tnoOptionLabel && { value: '', label: noOptionLabel },\n\t\t\t...getSelectOptions( tree ),\n\t\t].filter( < T, >( option: T ): option is Truthy< T > => !! option );\n\t}, [ noOptionLabel, tree ] );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'TreeSelect',\n\t\tsize: restProps.size,\n\t\t__next40pxDefaultSize: restProps.__next40pxDefaultSize,\n\t} );\n\n\treturn (\n\t\t<ContextSystemProvider value={ CONTEXT_VALUE }>\n\t\t\t<SelectControl\n\t\t\t\t__shouldNotWarnDeprecated36pxSize\n\t\t\t\t{ ...{ label, options, onChange } }\n\t\t\t\tvalue={ selectedId }\n\t\t\t\t{ ...restProps }\n\t\t\t/>\n\t\t</ContextSystemProvider>\n\t);\n}\n\nexport default TreeSelect;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAKA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAA4E,IAAAM,WAAA,GAAAN,OAAA;AAb5E;AACA;AACA;;AAIA;AACA;AACA;;AAOA,MAAMO,aAAa,GAAG;EACrBC,WAAW,EAAE;IACZ;IACA;IACAC,UAAU,EAAE;MAAEC,2BAA2B,EAAE;IAAa;EACzD;AACD,CAAC;AAED,SAASC,gBAAgBA,CACxBC,IAAY,EACZC,KAAK,GAAG,CAAC,EACqC;EAC9C,OAAOD,IAAI,CAACE,OAAO,CAAIC,QAAQ,IAAM,CACpC;IACCC,KAAK,EAAED,QAAQ,CAACE,EAAE;IAClBC,KAAK,EACJ,QAAQ,CAACC,MAAM,CAAEN,KAAK,GAAG,CAAE,CAAC,GAAG,IAAAO,4BAAc,EAAEL,QAAQ,CAACM,IAAK;EAC/D,CAAC,EACD,GAAGV,gBAAgB,CAAEI,QAAQ,CAACO,QAAQ,IAAI,EAAE,EAAET,KAAK,GAAG,CAAE,CAAC,CACxD,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,UAAUA,CAAEC,KAAsB,EAAG;EACpD,MAAM;IACLN,KAAK;IACLO,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVf,IAAI,GAAG,EAAE;IACT,GAAGgB;EACJ,CAAC,GAAG,IAAAC,oDAAgC,EAAEL,KAAM,CAAC;EAE7C,MAAMM,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC9B,OAAO,CACNN,aAAa,IAAI;MAAET,KAAK,EAAE,EAAE;MAAEE,KAAK,EAAEO;IAAc,CAAC,EACpD,GAAGd,gBAAgB,CAAEC,IAAK,CAAC,CAC3B,CAACoB,MAAM,CAAUC,MAAS,IAA6B,CAAC,CAAEA,MAAO,CAAC;EACpE,CAAC,EAAE,CAAER,aAAa,EAAEb,IAAI,CAAG,CAAC;EAE5B,IAAAsB,+CAA2B,EAAE;IAC5BC,aAAa,EAAE,YAAY;IAC3BC,IAAI,EAAER,SAAS,CAACQ,IAAI;IACpBC,qBAAqB,EAAET,SAAS,CAACS;EAClC,CAAE,CAAC;EAEH,oBACC,IAAA/B,WAAA,CAAAgC,GAAA,EAAClC,QAAA,CAAAmC,qBAAqB;IAACvB,KAAK,EAAGT,aAAe;IAAAe,QAAA,eAC7C,IAAAhB,WAAA,CAAAgC,GAAA,EAACpC,cAAA,CAAAsC,aAAa;MACbC,iCAAiC;MAC1BvB,KAAK;MAAEY,OAAO;MAAEJ,QAAQ;MAC/BV,KAAK,EAAGW,UAAY;MAAA,GACfC;IAAS,CACd;EAAC,CACoB,CAAC;AAE1B;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_htmlEntities","_selectControl","_useDeprecatedProps","_context","_deprecated36pxSize","_jsxRuntime","CONTEXT_VALUE","BaseControl","_overrides","__associatedWPComponentName","getSelectOptions","tree","level","flatMap","treeNode","value","id","label","repeat","decodeEntities","name","children","TreeSelect","props","noOptionLabel","onChange","selectedId","restProps","useDeprecated36pxDefaultSizeProp","options","useMemo","filter","option","maybeWarnDeprecated36pxSize","componentName","size","__next40pxDefaultSize","jsx","ContextSystemProvider","SelectControl","__shouldNotWarnDeprecated36pxSize","_default","exports","default"],"sources":["@wordpress/components/src/tree-select/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { SelectControl } from '../select-control';\nimport type { TreeSelectProps, Tree, Truthy } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { ContextSystemProvider } from '../context';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nconst CONTEXT_VALUE = {\n\tBaseControl: {\n\t\t// Temporary during deprecation grace period: Overrides the underlying `__associatedWPComponentName`\n\t\t// via the context system to override the value set by SelectControl.\n\t\t_overrides: { __associatedWPComponentName: 'TreeSelect' },\n\t},\n};\n\nfunction getSelectOptions(\n\ttree: Tree[],\n\tlevel = 0\n): NonNullable< TreeSelectProps[ 'options' ] > {\n\treturn tree.flatMap( ( treeNode ) => [\n\t\t{\n\t\t\tvalue: treeNode.id,\n\t\t\tlabel:\n\t\t\t\t'\\u00A0'.repeat( level * 3 ) + decodeEntities( treeNode.name ),\n\t\t},\n\t\t...getSelectOptions( treeNode.children || [], level + 1 ),\n\t] );\n}\n\n/**\n * Generates a hierarchical select input.\n *\n * ```jsx\n * import { useState } from 'react';\n * import { TreeSelect } from '@wordpress/components';\n *\n * const MyTreeSelect = () => {\n * \tconst [ page, setPage ] = useState( 'p21' );\n *\n * \treturn (\n * \t\t<TreeSelect\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\t__next40pxDefaultSize\n * \t\t\tlabel=\"Parent page\"\n * \t\t\tnoOptionLabel=\"No parent page\"\n * \t\t\tonChange={ ( newPage ) => setPage( newPage ) }\n * \t\t\tselectedId={ page }\n * \t\t\ttree={ [\n * \t\t\t\t{\n * \t\t\t\t\tname: 'Page 1',\n * \t\t\t\t\tid: 'p1',\n * \t\t\t\t\tchildren: [\n * \t\t\t\t\t\t{ name: 'Descend 1 of page 1', id: 'p11' },\n * \t\t\t\t\t\t{ name: 'Descend 2 of page 1', id: 'p12' },\n * \t\t\t\t\t],\n * \t\t\t\t},\n * \t\t\t\t{\n * \t\t\t\t\tname: 'Page 2',\n * \t\t\t\t\tid: 'p2',\n * \t\t\t\t\tchildren: [\n * \t\t\t\t\t\t{\n * \t\t\t\t\t\t\tname: 'Descend 1 of page 2',\n * \t\t\t\t\t\t\tid: 'p21',\n * \t\t\t\t\t\t\tchildren: [\n * \t\t\t\t\t\t\t\t{\n * \t\t\t\t\t\t\t\t\tname: 'Descend 1 of Descend 1 of page 2',\n * \t\t\t\t\t\t\t\t\tid: 'p211',\n * \t\t\t\t\t\t\t\t},\n * \t\t\t\t\t\t\t],\n * \t\t\t\t\t\t},\n * \t\t\t\t\t],\n * \t\t\t\t},\n * \t\t\t] }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nexport function TreeSelect( props: TreeSelectProps ) {\n\tconst {\n\t\tlabel,\n\t\tnoOptionLabel,\n\t\tonChange,\n\t\tselectedId,\n\t\ttree = [],\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\n\tconst options = useMemo( () => {\n\t\treturn [\n\t\t\tnoOptionLabel && { value: '', label: noOptionLabel },\n\t\t\t...getSelectOptions( tree ),\n\t\t].filter( < T, >( option: T ): option is Truthy< T > => !! option );\n\t}, [ noOptionLabel, tree ] );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'TreeSelect',\n\t\tsize: restProps.size,\n\t\t__next40pxDefaultSize: restProps.__next40pxDefaultSize,\n\t} );\n\n\treturn (\n\t\t<ContextSystemProvider value={ CONTEXT_VALUE }>\n\t\t\t<SelectControl\n\t\t\t\t__shouldNotWarnDeprecated36pxSize\n\t\t\t\t{ ...{ label, options, onChange } }\n\t\t\t\tvalue={ selectedId }\n\t\t\t\t{ ...restProps }\n\t\t\t/>\n\t\t</ContextSystemProvider>\n\t);\n}\n\nexport default TreeSelect;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAKA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAA4E,IAAAM,WAAA,GAAAN,OAAA;AAb5E;AACA;AACA;;AAIA;AACA;AACA;;AAOA,MAAMO,aAAa,GAAG;EACrBC,WAAW,EAAE;IACZ;IACA;IACAC,UAAU,EAAE;MAAEC,2BAA2B,EAAE;IAAa;EACzD;AACD,CAAC;AAED,SAASC,gBAAgBA,CACxBC,IAAY,EACZC,KAAK,GAAG,CAAC,EACqC;EAC9C,OAAOD,IAAI,CAACE,OAAO,CAAIC,QAAQ,IAAM,CACpC;IACCC,KAAK,EAAED,QAAQ,CAACE,EAAE;IAClBC,KAAK,EACJ,QAAQ,CAACC,MAAM,CAAEN,KAAK,GAAG,CAAE,CAAC,GAAG,IAAAO,4BAAc,EAAEL,QAAQ,CAACM,IAAK;EAC/D,CAAC,EACD,GAAGV,gBAAgB,CAAEI,QAAQ,CAACO,QAAQ,IAAI,EAAE,EAAET,KAAK,GAAG,CAAE,CAAC,CACxD,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,UAAUA,CAAEC,KAAsB,EAAG;EACpD,MAAM;IACLN,KAAK;IACLO,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVf,IAAI,GAAG,EAAE;IACT,GAAGgB;EACJ,CAAC,GAAG,IAAAC,oDAAgC,EAAEL,KAAM,CAAC;EAE7C,MAAMM,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC9B,OAAO,CACNN,aAAa,IAAI;MAAET,KAAK,EAAE,EAAE;MAAEE,KAAK,EAAEO;IAAc,CAAC,EACpD,GAAGd,gBAAgB,CAAEC,IAAK,CAAC,CAC3B,CAACoB,MAAM,CAAUC,MAAS,IAA6B,CAAC,CAAEA,MAAO,CAAC;EACpE,CAAC,EAAE,CAAER,aAAa,EAAEb,IAAI,CAAG,CAAC;EAE5B,IAAAsB,+CAA2B,EAAE;IAC5BC,aAAa,EAAE,YAAY;IAC3BC,IAAI,EAAER,SAAS,CAACQ,IAAI;IACpBC,qBAAqB,EAAET,SAAS,CAACS;EAClC,CAAE,CAAC;EAEH,oBACC,IAAA/B,WAAA,CAAAgC,GAAA,EAAClC,QAAA,CAAAmC,qBAAqB;IAACvB,KAAK,EAAGT,aAAe;IAAAe,QAAA,eAC7C,IAAAhB,WAAA,CAAAgC,GAAA,EAACpC,cAAA,CAAAsC,aAAa;MACbC,iCAAiC;MAC1BvB,KAAK;MAAEY,OAAO;MAAEJ,QAAQ;MAC/BV,KAAK,EAAGW,UAAY;MAAA,GACfC;IAAS,CACd;EAAC,CACoB,CAAC;AAE1B;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,UAAU","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_deprecated","_element","_i18n","_unitControlStyles","_unitSelectControl","_utils","_hooks","_strings","_useDeprecatedProps","_deprecated36pxSize","_jsxRuntime","UnforwardedUnitControl","unitControlProps","forwardedRef","__unstableStateReducer","autoComplete","children","className","disabled","disableUnits","isPressEnterToChange","isResetValueOnUnitChange","isUnitSelectTabbable","label","onChange","onChangeProp","onUnitChange","size","unit","unitProp","units","unitsProp","CSS_UNITS","value","valueProp","onFocus","onFocusProp","__shouldNotWarnDeprecated36pxSize","props","useDeprecated36pxDefaultSizeProp","maybeWarnDeprecated36pxSize","componentName","__next40pxDefaultSize","deprecated","since","hint","version","nonNullValueProp","undefined","reFirstCharacterOfUnits","useMemo","list","getUnitsWithCurrentUnit","firstUnitValue","rest","firstCharacters","reduce","carry","first","escapeRegExp","substring","includes","RegExp","parsedQuantity","parsedUnit","getParsedQuantityAndUnit","setUnit","useControlledState","length","initial","fallback","useEffect","classes","clsx","handleOnQuantityChange","nextQuantityValue","changeProps","onChangeValue","getValidParsedQuantityAndUnit","join","handleOnUnitChange","nextUnitValue","data","nextValue","default","handleOnKeyDown","event","onKeyDown","metaKey","ctrlKey","test","key","refInputSuffix","current","focus","useRef","inputSuffix","jsx","ref","__","onBlur","step","_activeUnit$step","activeUnit","find","option","ValueInput","spinControls","suffix","type","UnitControl","exports","forwardRef","_default"],"sources":["@wordpress/components/src/unit-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { KeyboardEvent, ForwardedRef, SyntheticEvent } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef, useMemo, useRef, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { ValueInput } from './styles/unit-control-styles';\nimport UnitSelectControl from './unit-select-control';\nimport {\n\tCSS_UNITS,\n\tgetParsedQuantityAndUnit,\n\tgetUnitsWithCurrentUnit,\n\tgetValidParsedQuantityAndUnit,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\nimport { escapeRegExp } from '../utils/strings';\nimport type { UnitControlProps, UnitControlOnChangeCallback } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nfunction UnforwardedUnitControl(\n\tunitControlProps: WordPressComponentProps<\n\t\tUnitControlProps,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer,\n\t\tautoComplete = 'off',\n\t\t// @ts-expect-error Ensure that children is omitted from restProps\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tdisableUnits = false,\n\t\tisPressEnterToChange = false,\n\t\tisResetValueOnUnitChange = false,\n\t\tisUnitSelectTabbable = true,\n\t\tlabel,\n\t\tonChange: onChangeProp,\n\t\tonUnitChange,\n\t\tsize = 'default',\n\t\tunit: unitProp,\n\t\tunits: unitsProp = CSS_UNITS,\n\t\tvalue: valueProp,\n\t\tonFocus: onFocusProp,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t\t...props\n\t} = useDeprecated36pxDefaultSizeProp( unitControlProps );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'UnitControl',\n\t\t__next40pxDefaultSize: props.__next40pxDefaultSize,\n\t\tsize,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t} );\n\n\tif ( 'unit' in unitControlProps ) {\n\t\tdeprecated( 'UnitControl unit prop', {\n\t\t\tsince: '5.6',\n\t\t\thint: 'The unit should be provided within the `value` prop.',\n\t\t\tversion: '6.2',\n\t\t} );\n\t}\n\n\t// The `value` prop, in theory, should not be `null`, but the following line\n\t// ensures it fallback to `undefined` in case a consumer of `UnitControl`\n\t// still passes `null` as a `value`.\n\tconst nonNullValueProp = valueProp ?? undefined;\n\tconst [ units, reFirstCharacterOfUnits ] = useMemo( () => {\n\t\tconst list = getUnitsWithCurrentUnit(\n\t\t\tnonNullValueProp,\n\t\t\tunitProp,\n\t\t\tunitsProp\n\t\t);\n\t\tconst [ { value: firstUnitValue = '' } = {}, ...rest ] = list;\n\t\tconst firstCharacters = rest.reduce(\n\t\t\t( carry, { value } ) => {\n\t\t\t\tconst first = escapeRegExp( value?.substring( 0, 1 ) || '' );\n\t\t\t\treturn carry.includes( first )\n\t\t\t\t\t? carry\n\t\t\t\t\t: `${ carry }|${ first }`;\n\t\t\t},\n\t\t\tescapeRegExp( firstUnitValue.substring( 0, 1 ) )\n\t\t);\n\t\treturn [ list, new RegExp( `^(?:${ firstCharacters })$`, 'i' ) ];\n\t}, [ nonNullValueProp, unitProp, unitsProp ] );\n\tconst [ parsedQuantity, parsedUnit ] = getParsedQuantityAndUnit(\n\t\tnonNullValueProp,\n\t\tunitProp,\n\t\tunits\n\t);\n\n\tconst [ unit, setUnit ] = useControlledState< string | undefined >(\n\t\tunits.length === 1 ? units[ 0 ].value : unitProp,\n\t\t{\n\t\t\tinitial: parsedUnit,\n\t\t\tfallback: '',\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( parsedUnit !== undefined ) {\n\t\t\tsetUnit( parsedUnit );\n\t\t}\n\t}, [ parsedUnit, setUnit ] );\n\n\tconst classes = clsx(\n\t\t'components-unit-control',\n\t\t// This class is added for legacy purposes to maintain it on the outer\n\t\t// wrapper. See: https://github.com/WordPress/gutenberg/pull/45139\n\t\t'components-unit-control-wrapper',\n\t\tclassName\n\t);\n\n\tconst handleOnQuantityChange = (\n\t\tnextQuantityValue: number | string | undefined,\n\t\tchangeProps: {\n\t\t\tevent: SyntheticEvent;\n\t\t}\n\t) => {\n\t\tif (\n\t\t\tnextQuantityValue === '' ||\n\t\t\ttypeof nextQuantityValue === 'undefined' ||\n\t\t\tnextQuantityValue === null\n\t\t) {\n\t\t\tonChangeProp?.( '', changeProps );\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Customizing the onChange callback.\n\t\t * This allows as to broadcast a combined value+unit to onChange.\n\t\t */\n\t\tconst onChangeValue = getValidParsedQuantityAndUnit(\n\t\t\tnextQuantityValue,\n\t\t\tunits,\n\t\t\tparsedQuantity,\n\t\t\tunit\n\t\t).join( '' );\n\n\t\tonChangeProp?.( onChangeValue, changeProps );\n\t};\n\n\tconst handleOnUnitChange: UnitControlOnChangeCallback = (\n\t\tnextUnitValue,\n\t\tchangeProps\n\t) => {\n\t\tconst { data } = changeProps;\n\n\t\tlet nextValue = `${ parsedQuantity ?? '' }${ nextUnitValue }`;\n\n\t\tif ( isResetValueOnUnitChange && data?.default !== undefined ) {\n\t\t\tnextValue = `${ data.default }${ nextUnitValue }`;\n\t\t}\n\n\t\tonChangeProp?.( nextValue, changeProps );\n\t\tonUnitChange?.( nextUnitValue, changeProps );\n\n\t\tsetUnit( nextUnitValue );\n\t};\n\n\tlet handleOnKeyDown;\n\tif ( ! disableUnits && isUnitSelectTabbable && units.length ) {\n\t\thandleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\t\tprops.onKeyDown?.( event );\n\t\t\t// Unless the meta or ctrl key was pressed (to avoid interfering with\n\t\t\t// shortcuts, e.g. pastes), move focus to the unit select if a key\n\t\t\t// matches the first character of a unit.\n\t\t\tif (\n\t\t\t\t! event.metaKey &&\n\t\t\t\t! event.ctrlKey &&\n\t\t\t\treFirstCharacterOfUnits.test( event.key )\n\t\t\t) {\n\t\t\t\trefInputSuffix.current?.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst refInputSuffix = useRef< HTMLSelectElement >( null );\n\tconst inputSuffix = ! disableUnits ? (\n\t\t<UnitSelectControl\n\t\t\tref={ refInputSuffix }\n\t\t\taria-label={ __( 'Select unit' ) }\n\t\t\tdisabled={ disabled }\n\t\t\tisUnitSelectTabbable={ isUnitSelectTabbable }\n\t\t\tonChange={ handleOnUnitChange }\n\t\t\tsize={\n\t\t\t\t[ 'small', 'compact' ].includes( size ) ||\n\t\t\t\t( size === 'default' && ! props.__next40pxDefaultSize )\n\t\t\t\t\t? 'small'\n\t\t\t\t\t: 'default'\n\t\t\t}\n\t\t\tunit={ unit }\n\t\t\tunits={ units }\n\t\t\tonFocus={ onFocusProp }\n\t\t\tonBlur={ unitControlProps.onBlur }\n\t\t/>\n\t) : null;\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\treturn (\n\t\t<ValueInput\n\t\t\t{ ...props }\n\t\t\t__shouldNotWarnDeprecated36pxSize\n\t\t\tautoComplete={ autoComplete }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tspinControls=\"none\"\n\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\tlabel={ label }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonChange={ handleOnQuantityChange }\n\t\t\tref={ forwardedRef }\n\t\t\tsize={ size }\n\t\t\tsuffix={ inputSuffix }\n\t\t\ttype={ isPressEnterToChange ? 'text' : 'number' }\n\t\t\tvalue={ parsedQuantity ?? '' }\n\t\t\tstep={ step }\n\t\t\tonFocus={ onFocusProp }\n\t\t\t__unstableStateReducer={ __unstableStateReducer }\n\t\t/>\n\t);\n}\n\n/**\n * `UnitControl` allows the user to set a numeric quantity as well as a unit (e.g. `px`).\n *\n *\n * ```jsx\n * import { __experimentalUnitControl as UnitControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '10px' );\n *\n * return <UnitControl __next40pxDefaultSize onChange={ setValue } value={ value } />;\n * };\n * ```\n */\nexport const UnitControl = forwardRef( UnforwardedUnitControl );\n\nexport { parseQuantityAndUnitFromRawValue, useCustomUnits } from './utils';\nexport default UnitControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_deprecated","_element","_i18n","_unitControlStyles","_unitSelectControl","_utils","_hooks","_strings","_useDeprecatedProps","_deprecated36pxSize","_jsxRuntime","UnforwardedUnitControl","unitControlProps","forwardedRef","__unstableStateReducer","autoComplete","children","className","disabled","disableUnits","isPressEnterToChange","isResetValueOnUnitChange","isUnitSelectTabbable","label","onChange","onChangeProp","onUnitChange","size","unit","unitProp","units","unitsProp","CSS_UNITS","value","valueProp","onFocus","onFocusProp","__shouldNotWarnDeprecated36pxSize","props","useDeprecated36pxDefaultSizeProp","maybeWarnDeprecated36pxSize","componentName","__next40pxDefaultSize","deprecated","since","hint","version","nonNullValueProp","undefined","reFirstCharacterOfUnits","useMemo","list","getUnitsWithCurrentUnit","firstUnitValue","rest","firstCharacters","reduce","carry","first","escapeRegExp","substring","includes","RegExp","parsedQuantity","parsedUnit","getParsedQuantityAndUnit","setUnit","useControlledState","length","initial","fallback","useEffect","classes","clsx","handleOnQuantityChange","nextQuantityValue","changeProps","onChangeValue","getValidParsedQuantityAndUnit","join","handleOnUnitChange","nextUnitValue","data","nextValue","default","handleOnKeyDown","event","onKeyDown","metaKey","ctrlKey","test","key","refInputSuffix","current","focus","useRef","inputSuffix","jsx","ref","__","onBlur","step","_activeUnit$step","activeUnit","find","option","ValueInput","spinControls","suffix","type","UnitControl","exports","forwardRef","_default"],"sources":["@wordpress/components/src/unit-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { KeyboardEvent, ForwardedRef, SyntheticEvent } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef, useMemo, useRef, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { ValueInput } from './styles/unit-control-styles';\nimport UnitSelectControl from './unit-select-control';\nimport {\n\tCSS_UNITS,\n\tgetParsedQuantityAndUnit,\n\tgetUnitsWithCurrentUnit,\n\tgetValidParsedQuantityAndUnit,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\nimport { escapeRegExp } from '../utils/strings';\nimport type { UnitControlProps, UnitControlOnChangeCallback } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nfunction UnforwardedUnitControl(\n\tunitControlProps: WordPressComponentProps<\n\t\tUnitControlProps,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer,\n\t\tautoComplete = 'off',\n\t\t// @ts-expect-error Ensure that children is omitted from restProps\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tdisableUnits = false,\n\t\tisPressEnterToChange = false,\n\t\tisResetValueOnUnitChange = false,\n\t\tisUnitSelectTabbable = true,\n\t\tlabel,\n\t\tonChange: onChangeProp,\n\t\tonUnitChange,\n\t\tsize = 'default',\n\t\tunit: unitProp,\n\t\tunits: unitsProp = CSS_UNITS,\n\t\tvalue: valueProp,\n\t\tonFocus: onFocusProp,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t\t...props\n\t} = useDeprecated36pxDefaultSizeProp( unitControlProps );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'UnitControl',\n\t\t__next40pxDefaultSize: props.__next40pxDefaultSize,\n\t\tsize,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t} );\n\n\tif ( 'unit' in unitControlProps ) {\n\t\tdeprecated( 'UnitControl unit prop', {\n\t\t\tsince: '5.6',\n\t\t\thint: 'The unit should be provided within the `value` prop.',\n\t\t\tversion: '6.2',\n\t\t} );\n\t}\n\n\t// The `value` prop, in theory, should not be `null`, but the following line\n\t// ensures it fallback to `undefined` in case a consumer of `UnitControl`\n\t// still passes `null` as a `value`.\n\tconst nonNullValueProp = valueProp ?? undefined;\n\tconst [ units, reFirstCharacterOfUnits ] = useMemo( () => {\n\t\tconst list = getUnitsWithCurrentUnit(\n\t\t\tnonNullValueProp,\n\t\t\tunitProp,\n\t\t\tunitsProp\n\t\t);\n\t\tconst [ { value: firstUnitValue = '' } = {}, ...rest ] = list;\n\t\tconst firstCharacters = rest.reduce(\n\t\t\t( carry, { value } ) => {\n\t\t\t\tconst first = escapeRegExp( value?.substring( 0, 1 ) || '' );\n\t\t\t\treturn carry.includes( first )\n\t\t\t\t\t? carry\n\t\t\t\t\t: `${ carry }|${ first }`;\n\t\t\t},\n\t\t\tescapeRegExp( firstUnitValue.substring( 0, 1 ) )\n\t\t);\n\t\treturn [ list, new RegExp( `^(?:${ firstCharacters })$`, 'i' ) ];\n\t}, [ nonNullValueProp, unitProp, unitsProp ] );\n\tconst [ parsedQuantity, parsedUnit ] = getParsedQuantityAndUnit(\n\t\tnonNullValueProp,\n\t\tunitProp,\n\t\tunits\n\t);\n\n\tconst [ unit, setUnit ] = useControlledState< string | undefined >(\n\t\tunits.length === 1 ? units[ 0 ].value : unitProp,\n\t\t{\n\t\t\tinitial: parsedUnit,\n\t\t\tfallback: '',\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( parsedUnit !== undefined ) {\n\t\t\tsetUnit( parsedUnit );\n\t\t}\n\t}, [ parsedUnit, setUnit ] );\n\n\tconst classes = clsx(\n\t\t'components-unit-control',\n\t\t// This class is added for legacy purposes to maintain it on the outer\n\t\t// wrapper. See: https://github.com/WordPress/gutenberg/pull/45139\n\t\t'components-unit-control-wrapper',\n\t\tclassName\n\t);\n\n\tconst handleOnQuantityChange = (\n\t\tnextQuantityValue: number | string | undefined,\n\t\tchangeProps: {\n\t\t\tevent: SyntheticEvent;\n\t\t}\n\t) => {\n\t\tif (\n\t\t\tnextQuantityValue === '' ||\n\t\t\ttypeof nextQuantityValue === 'undefined' ||\n\t\t\tnextQuantityValue === null\n\t\t) {\n\t\t\tonChangeProp?.( '', changeProps );\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Customizing the onChange callback.\n\t\t * This allows as to broadcast a combined value+unit to onChange.\n\t\t */\n\t\tconst onChangeValue = getValidParsedQuantityAndUnit(\n\t\t\tnextQuantityValue,\n\t\t\tunits,\n\t\t\tparsedQuantity,\n\t\t\tunit\n\t\t).join( '' );\n\n\t\tonChangeProp?.( onChangeValue, changeProps );\n\t};\n\n\tconst handleOnUnitChange: UnitControlOnChangeCallback = (\n\t\tnextUnitValue,\n\t\tchangeProps\n\t) => {\n\t\tconst { data } = changeProps;\n\n\t\tlet nextValue = `${ parsedQuantity ?? '' }${ nextUnitValue }`;\n\n\t\tif ( isResetValueOnUnitChange && data?.default !== undefined ) {\n\t\t\tnextValue = `${ data.default }${ nextUnitValue }`;\n\t\t}\n\n\t\tonChangeProp?.( nextValue, changeProps );\n\t\tonUnitChange?.( nextUnitValue, changeProps );\n\n\t\tsetUnit( nextUnitValue );\n\t};\n\n\tlet handleOnKeyDown;\n\tif ( ! disableUnits && isUnitSelectTabbable && units.length ) {\n\t\thandleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\t\tprops.onKeyDown?.( event );\n\t\t\t// Unless the meta or ctrl key was pressed (to avoid interfering with\n\t\t\t// shortcuts, e.g. pastes), move focus to the unit select if a key\n\t\t\t// matches the first character of a unit.\n\t\t\tif (\n\t\t\t\t! event.metaKey &&\n\t\t\t\t! event.ctrlKey &&\n\t\t\t\treFirstCharacterOfUnits.test( event.key )\n\t\t\t) {\n\t\t\t\trefInputSuffix.current?.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst refInputSuffix = useRef< HTMLSelectElement >( null );\n\tconst inputSuffix = ! disableUnits ? (\n\t\t<UnitSelectControl\n\t\t\tref={ refInputSuffix }\n\t\t\taria-label={ __( 'Select unit' ) }\n\t\t\tdisabled={ disabled }\n\t\t\tisUnitSelectTabbable={ isUnitSelectTabbable }\n\t\t\tonChange={ handleOnUnitChange }\n\t\t\tsize={\n\t\t\t\t[ 'small', 'compact' ].includes( size ) ||\n\t\t\t\t( size === 'default' && ! props.__next40pxDefaultSize )\n\t\t\t\t\t? 'small'\n\t\t\t\t\t: 'default'\n\t\t\t}\n\t\t\tunit={ unit }\n\t\t\tunits={ units }\n\t\t\tonFocus={ onFocusProp }\n\t\t\tonBlur={ unitControlProps.onBlur }\n\t\t/>\n\t) : null;\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\treturn (\n\t\t<ValueInput\n\t\t\t{ ...props }\n\t\t\t__shouldNotWarnDeprecated36pxSize\n\t\t\tautoComplete={ autoComplete }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tspinControls=\"none\"\n\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\tlabel={ label }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonChange={ handleOnQuantityChange }\n\t\t\tref={ forwardedRef }\n\t\t\tsize={ size }\n\t\t\tsuffix={ inputSuffix }\n\t\t\ttype={ isPressEnterToChange ? 'text' : 'number' }\n\t\t\tvalue={ parsedQuantity ?? '' }\n\t\t\tstep={ step }\n\t\t\tonFocus={ onFocusProp }\n\t\t\t__unstableStateReducer={ __unstableStateReducer }\n\t\t/>\n\t);\n}\n\n/**\n * `UnitControl` allows the user to set a numeric quantity as well as a unit (e.g. `px`).\n *\n *\n * ```jsx\n * import { __experimentalUnitControl as UnitControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '10px' );\n *\n * return <UnitControl __next40pxDefaultSize onChange={ setValue } value={ value } />;\n * };\n * ```\n */\nexport const UnitControl = forwardRef( UnforwardedUnitControl );\n\nexport { parseQuantityAndUnitFromRawValue, useCustomUnits } from './utils';\nexport default UnitControl;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAMA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAMA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,mBAAA,GAAAT,OAAA;AACA,IAAAU,mBAAA,GAAAV,OAAA;AAA4E,IAAAW,WAAA,GAAAX,OAAA;AA7B5E;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;;AAgBA,SAASY,sBAAsBA,CAC9BC,gBAIC,EACDC,YAAiC,EAChC;EACD,MAAM;IACLC,sBAAsB;IACtBC,YAAY,GAAG,KAAK;IACpB;IACAC,QAAQ;IACRC,SAAS;IACTC,QAAQ,GAAG,KAAK;IAChBC,YAAY,GAAG,KAAK;IACpBC,oBAAoB,GAAG,KAAK;IAC5BC,wBAAwB,GAAG,KAAK;IAChCC,oBAAoB,GAAG,IAAI;IAC3BC,KAAK;IACLC,QAAQ,EAAEC,YAAY;IACtBC,YAAY;IACZC,IAAI,GAAG,SAAS;IAChBC,IAAI,EAAEC,QAAQ;IACdC,KAAK,EAAEC,SAAS,GAAGC,gBAAS;IAC5BC,KAAK,EAAEC,SAAS;IAChBC,OAAO,EAAEC,WAAW;IACpBC,iCAAiC;IACjC,GAAGC;EACJ,CAAC,GAAG,IAAAC,oDAAgC,EAAE3B,gBAAiB,CAAC;EAExD,IAAA4B,+CAA2B,EAAE;IAC5BC,aAAa,EAAE,aAAa;IAC5BC,qBAAqB,EAAEJ,KAAK,CAACI,qBAAqB;IAClDf,IAAI;IACJU;EACD,CAAE,CAAC;EAEH,IAAK,MAAM,IAAIzB,gBAAgB,EAAG;IACjC,IAAA+B,mBAAU,EAAE,uBAAuB,EAAE;MACpCC,KAAK,EAAE,KAAK;MACZC,IAAI,EAAE,sDAAsD;MAC5DC,OAAO,EAAE;IACV,CAAE,CAAC;EACJ;;EAEA;EACA;EACA;EACA,MAAMC,gBAAgB,GAAGb,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIc,SAAS;EAC/C,MAAM,CAAElB,KAAK,EAAEmB,uBAAuB,CAAE,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACzD,MAAMC,IAAI,GAAG,IAAAC,8BAAuB,EACnCL,gBAAgB,EAChBlB,QAAQ,EACRE,SACD,CAAC;IACD,MAAM,CAAE;MAAEE,KAAK,EAAEoB,cAAc,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAGC,IAAI,CAAE,GAAGH,IAAI;IAC7D,MAAMI,eAAe,GAAGD,IAAI,CAACE,MAAM,CAClC,CAAEC,KAAK,EAAE;MAAExB;IAAM,CAAC,KAAM;MACvB,MAAMyB,KAAK,GAAG,IAAAC,qBAAY,EAAE1B,KAAK,EAAE2B,SAAS,CAAE,CAAC,EAAE,CAAE,CAAC,IAAI,EAAG,CAAC;MAC5D,OAAOH,KAAK,CAACI,QAAQ,CAAEH,KAAM,CAAC,GAC3BD,KAAK,GACL,GAAIA,KAAK,IAAMC,KAAK,EAAG;IAC3B,CAAC,EACD,IAAAC,qBAAY,EAAEN,cAAc,CAACO,SAAS,CAAE,CAAC,EAAE,CAAE,CAAE,CAChD,CAAC;IACD,OAAO,CAAET,IAAI,EAAE,IAAIW,MAAM,CAAE,OAAQP,eAAe,IAAK,EAAE,GAAI,CAAC,CAAE;EACjE,CAAC,EAAE,CAAER,gBAAgB,EAAElB,QAAQ,EAAEE,SAAS,CAAG,CAAC;EAC9C,MAAM,CAAEgC,cAAc,EAAEC,UAAU,CAAE,GAAG,IAAAC,+BAAwB,EAC9DlB,gBAAgB,EAChBlB,QAAQ,EACRC,KACD,CAAC;EAED,MAAM,CAAEF,IAAI,EAAEsC,OAAO,CAAE,GAAG,IAAAC,yBAAkB,EAC3CrC,KAAK,CAACsC,MAAM,KAAK,CAAC,GAAGtC,KAAK,CAAE,CAAC,CAAE,CAACG,KAAK,GAAGJ,QAAQ,EAChD;IACCwC,OAAO,EAAEL,UAAU;IACnBM,QAAQ,EAAE;EACX,CACD,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKP,UAAU,KAAKhB,SAAS,EAAG;MAC/BkB,OAAO,CAAEF,UAAW,CAAC;IACtB;EACD,CAAC,EAAE,CAAEA,UAAU,EAAEE,OAAO,CAAG,CAAC;EAE5B,MAAMM,OAAO,GAAG,IAAAC,aAAI,EACnB,yBAAyB;EACzB;EACA;EACA,iCAAiC,EACjCxD,SACD,CAAC;EAED,MAAMyD,sBAAsB,GAAGA,CAC9BC,iBAA8C,EAC9CC,WAEC,KACG;IACJ,IACCD,iBAAiB,KAAK,EAAE,IACxB,OAAOA,iBAAiB,KAAK,WAAW,IACxCA,iBAAiB,KAAK,IAAI,EACzB;MACDlD,YAAY,GAAI,EAAE,EAAEmD,WAAY,CAAC;MACjC;IACD;;IAEA;AACF;AACA;AACA;IACE,MAAMC,aAAa,GAAG,IAAAC,oCAA6B,EAClDH,iBAAiB,EACjB7C,KAAK,EACLiC,cAAc,EACdnC,IACD,CAAC,CAACmD,IAAI,CAAE,EAAG,CAAC;IAEZtD,YAAY,GAAIoD,aAAa,EAAED,WAAY,CAAC;EAC7C,CAAC;EAED,MAAMI,kBAA+C,GAAGA,CACvDC,aAAa,EACbL,WAAW,KACP;IACJ,MAAM;MAAEM;IAAK,CAAC,GAAGN,WAAW;IAE5B,IAAIO,SAAS,GAAG,GAAIpB,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,EAAE,GAAKkB,aAAa,EAAG;IAE7D,IAAK5D,wBAAwB,IAAI6D,IAAI,EAAEE,OAAO,KAAKpC,SAAS,EAAG;MAC9DmC,SAAS,GAAG,GAAID,IAAI,CAACE,OAAO,GAAKH,aAAa,EAAG;IAClD;IAEAxD,YAAY,GAAI0D,SAAS,EAAEP,WAAY,CAAC;IACxClD,YAAY,GAAIuD,aAAa,EAAEL,WAAY,CAAC;IAE5CV,OAAO,CAAEe,aAAc,CAAC;EACzB,CAAC;EAED,IAAII,eAAe;EACnB,IAAK,CAAElE,YAAY,IAAIG,oBAAoB,IAAIQ,KAAK,CAACsC,MAAM,EAAG;IAC7DiB,eAAe,GAAKC,KAAwC,IAAM;MACjEhD,KAAK,CAACiD,SAAS,GAAID,KAAM,CAAC;MAC1B;MACA;MACA;MACA,IACC,CAAEA,KAAK,CAACE,OAAO,IACf,CAAEF,KAAK,CAACG,OAAO,IACfxC,uBAAuB,CAACyC,IAAI,CAAEJ,KAAK,CAACK,GAAI,CAAC,EACxC;QACDC,cAAc,CAACC,OAAO,EAAEC,KAAK,CAAC,CAAC;MAChC;IACD,CAAC;EACF;EAEA,MAAMF,cAAc,GAAG,IAAAG,eAAM,EAAuB,IAAK,CAAC;EAC1D,MAAMC,WAAW,GAAG,CAAE7E,YAAY,gBACjC,IAAAT,WAAA,CAAAuF,GAAA,EAAC7F,kBAAA,CAAAgF,OAAiB;IACjBc,GAAG,EAAGN,cAAgB;IACtB,cAAa,IAAAO,QAAE,EAAE,aAAc,CAAG;IAClCjF,QAAQ,EAAGA,QAAU;IACrBI,oBAAoB,EAAGA,oBAAsB;IAC7CE,QAAQ,EAAGwD,kBAAoB;IAC/BrD,IAAI,EACH,CAAE,OAAO,EAAE,SAAS,CAAE,CAACkC,QAAQ,CAAElC,IAAK,CAAC,IACrCA,IAAI,KAAK,SAAS,IAAI,CAAEW,KAAK,CAACI,qBAAuB,GACpD,OAAO,GACP,SACH;IACDd,IAAI,EAAGA,IAAM;IACbE,KAAK,EAAGA,KAAO;IACfK,OAAO,EAAGC,WAAa;IACvBgE,MAAM,EAAGxF,gBAAgB,CAACwF;EAAQ,CAClC,CAAC,GACC,IAAI;EAER,IAAIC,IAAI,GAAG/D,KAAK,CAAC+D,IAAI;;EAErB;AACD;AACA;AACA;EACC,IAAK,CAAEA,IAAI,IAAIvE,KAAK,EAAG;IAAA,IAAAwE,gBAAA;IACtB,MAAMC,UAAU,GAAGzE,KAAK,CAAC0E,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAACxE,KAAK,KAAKL,IAAK,CAAC;IACpEyE,IAAI,IAAAC,gBAAA,GAAGC,UAAU,EAAEF,IAAI,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,CAAC;EAC7B;EAEA,oBACC,IAAA5F,WAAA,CAAAuF,GAAA,EAAC9F,kBAAA,CAAAuG,UAAU;IAAA,GACLpE,KAAK;IACVD,iCAAiC;IACjCtB,YAAY,EAAGA,YAAc;IAC7BE,SAAS,EAAGuD,OAAS;IACrBtD,QAAQ,EAAGA,QAAU;IACrByF,YAAY,EAAC,MAAM;IACnBvF,oBAAoB,EAAGA,oBAAsB;IAC7CG,KAAK,EAAGA,KAAO;IACfgE,SAAS,EAAGF,eAAiB;IAC7B7D,QAAQ,EAAGkD,sBAAwB;IACnCwB,GAAG,EAAGrF,YAAc;IACpBc,IAAI,EAAGA,IAAM;IACbiF,MAAM,EAAGZ,WAAa;IACtBa,IAAI,EAAGzF,oBAAoB,GAAG,MAAM,GAAG,QAAU;IACjDa,KAAK,EAAG8B,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,EAAI;IAC9BsC,IAAI,EAAGA,IAAM;IACblE,OAAO,EAAGC,WAAa;IACvBtB,sBAAsB,EAAGA;EAAwB,CACjD,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMgG,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,mBAAU,EAAErG,sBAAuB,CAAC;AAAC,IAAAsG,QAAA,GAAAF,OAAA,CAAA3B,OAAA,GAGjD0B,WAAW","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_rangeCell","_interopRequireDefault","_stepperCell","_picker","_style","_utils","_element","_compose","_i18n","_jsxRuntime","UnitControl","currentInput","label","value","onChange","onUnitChange","initialPosition","min","max","separatorType","units","CSS_UNITS","unit","getStylesFromColorScheme","props","pickerRef","useRef","anchorNodeRef","onPickerPresent","useCallback","current","presentPicker","currentInputValue","initialControlValue","isFinite","unitButtonTextStyle","styles","unitButtonText","unitButtonTextDark","accessibilityLabel","sprintf","__","accessibilityHint","Platform","OS","renderUnitButton","useMemo","unitButton","jsx","View","style","children","Text","hasUnits","length","TouchableWithoutFeedback","onPress","accessibilityRole","getAnchor","findNodeHandle","undefined","getDecimal","step","stepToString","splitStep","toString","split","renderUnitPicker","jsxs","unitMenu","ref","default","options","hideCancelButton","leftAlign","_activeUnit$step","activeUnit","find","option","decimalNum","Fragment","defaultValue","shouldDisplayTextInput","openUnitPicker","unitLabel","getAccessibleLabelForUnit","minimumValue","maximumValue","_default","exports","memo","withPreferredColorScheme"],"sources":["@wordpress/components/src/unit-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tText,\n\tView,\n\tTouchableWithoutFeedback,\n\tPlatform,\n\tfindNodeHandle,\n} from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport RangeCell from '../mobile/bottom-sheet/range-cell';\nimport StepperCell from '../mobile/bottom-sheet/stepper-cell';\nimport Picker from '../mobile/picker';\nimport styles from './style.scss';\nimport { CSS_UNITS, hasUnits, getAccessibleLabelForUnit } from './utils';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useCallback, useMemo, memo } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction UnitControl( {\n\tcurrentInput,\n\tlabel,\n\tvalue,\n\tonChange,\n\tonUnitChange,\n\tinitialPosition,\n\tmin,\n\tmax,\n\tseparatorType,\n\tunits = CSS_UNITS,\n\tunit,\n\tgetStylesFromColorScheme,\n\t...props\n} ) {\n\tconst pickerRef = useRef();\n\tconst anchorNodeRef = useRef();\n\n\tconst onPickerPresent = useCallback( () => {\n\t\tif ( pickerRef?.current ) {\n\t\t\tpickerRef.current.presentPicker();\n\t\t}\n\t\t// It would be great if the deps could be addressed in the context of\n\t\t// https://github.com/WordPress/gutenberg/pull/39218\n\t}, [ pickerRef?.current ] );\n\n\tconst currentInputValue = currentInput === null ? value : currentInput;\n\tconst initialControlValue = isFinite( currentInputValue )\n\t\t? currentInputValue\n\t\t: initialPosition;\n\n\tconst unitButtonTextStyle = getStylesFromColorScheme(\n\t\tstyles.unitButtonText,\n\t\tstyles.unitButtonTextDark\n\t);\n\n\t/* translators: accessibility text. Inform about current unit value. %s: Current unit value. */\n\tconst accessibilityLabel = sprintf( __( 'Current unit is %s' ), unit );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst renderUnitButton = useMemo( () => {\n\t\tconst unitButton = (\n\t\t\t<View style={ styles.unitButton }>\n\t\t\t\t<Text style={ unitButtonTextStyle }>{ unit }</Text>\n\t\t\t</View>\n\t\t);\n\n\t\tif ( hasUnits( units ) && units?.length > 1 ) {\n\t\t\treturn (\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\tonPress={ onPickerPresent }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t>\n\t\t\t\t\t{ unitButton }\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t);\n\t\t}\n\n\t\treturn unitButton;\n\t}, [\n\t\tonPickerPresent,\n\t\taccessibilityLabel,\n\t\taccessibilityHint,\n\t\tunitButtonTextStyle,\n\t\tunit,\n\t\tunits,\n\t] );\n\n\tconst getAnchor = useCallback(\n\t\t() =>\n\t\t\tanchorNodeRef?.current\n\t\t\t\t? findNodeHandle( anchorNodeRef?.current )\n\t\t\t\t: undefined,\n\t\t// It would be great if the deps could be addressed in the context of\n\t\t// https://github.com/WordPress/gutenberg/pull/39218\n\t\t[ anchorNodeRef?.current ]\n\t);\n\n\tconst getDecimal = ( step ) => {\n\t\t// Return the decimal offset based on the step size.\n\t\t// if step size is 0.1 we expect the offset to be 1.\n\t\t// for example 12 + 0.1 we would expect the see 12.1 (not 12.10 or 12 );\n\t\t// steps are defined in the CSS_UNITS and they vary from unit to unit.\n\t\tconst stepToString = step;\n\t\tconst splitStep = stepToString.toString().split( '.' );\n\t\treturn splitStep[ 1 ] ? splitStep[ 1 ].length : 0;\n\t};\n\n\tconst renderUnitPicker = useCallback( () => {\n\t\t// Keeping for legacy reasons, although `false` should not be a valid\n\t\t// value for the `units` prop anymore.\n\t\tif ( units === false ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ styles.unitMenu } ref={ anchorNodeRef }>\n\t\t\t\t{ renderUnitButton }\n\t\t\t\t{ hasUnits( units ) && units?.length > 1 ? (\n\t\t\t\t\t<Picker\n\t\t\t\t\t\tref={ pickerRef }\n\t\t\t\t\t\toptions={ units }\n\t\t\t\t\t\tonChange={ onUnitChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t</View>\n\t\t);\n\t}, [ pickerRef, units, onUnitChange, getAnchor, renderUnitButton ] );\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\tconst decimalNum = getDecimal( step );\n\n\treturn (\n\t\t<>\n\t\t\t{ unit !== '%' ? (\n\t\t\t\t<StepperCell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tdefaultValue={ initialControlValue }\n\t\t\t\t\tshouldDisplayTextInput\n\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\topenUnitPicker={ onPickerPresent }\n\t\t\t\t\tunitLabel={ getAccessibleLabelForUnit( unit ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ renderUnitPicker() }\n\t\t\t\t</StepperCell>\n\t\t\t) : (\n\t\t\t\t<RangeCell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tminimumValue={ min }\n\t\t\t\t\tmaximumValue={ max }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tunit={ unit }\n\t\t\t\t\tdefaultValue={ initialControlValue }\n\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\topenUnitPicker={ onPickerPresent }\n\t\t\t\t\tunitLabel={ getAccessibleLabelForUnit( unit ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ renderUnitPicker() }\n\t\t\t\t</RangeCell>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport { useCustomUnits } from './utils';\nexport default memo( withPreferredColorScheme( UnitControl ) );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_rangeCell","_interopRequireDefault","_stepperCell","_picker","_style","_utils","_element","_compose","_i18n","_jsxRuntime","UnitControl","currentInput","label","value","onChange","onUnitChange","initialPosition","min","max","separatorType","units","CSS_UNITS","unit","getStylesFromColorScheme","props","pickerRef","useRef","anchorNodeRef","onPickerPresent","useCallback","current","presentPicker","currentInputValue","initialControlValue","isFinite","unitButtonTextStyle","styles","unitButtonText","unitButtonTextDark","accessibilityLabel","sprintf","__","accessibilityHint","Platform","OS","renderUnitButton","useMemo","unitButton","jsx","View","style","children","Text","hasUnits","length","TouchableWithoutFeedback","onPress","accessibilityRole","getAnchor","findNodeHandle","undefined","getDecimal","step","stepToString","splitStep","toString","split","renderUnitPicker","jsxs","unitMenu","ref","default","options","hideCancelButton","leftAlign","_activeUnit$step","activeUnit","find","option","decimalNum","Fragment","defaultValue","shouldDisplayTextInput","openUnitPicker","unitLabel","getAccessibleLabelForUnit","minimumValue","maximumValue","_default","exports","memo","withPreferredColorScheme"],"sources":["@wordpress/components/src/unit-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tText,\n\tView,\n\tTouchableWithoutFeedback,\n\tPlatform,\n\tfindNodeHandle,\n} from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport RangeCell from '../mobile/bottom-sheet/range-cell';\nimport StepperCell from '../mobile/bottom-sheet/stepper-cell';\nimport Picker from '../mobile/picker';\nimport styles from './style.scss';\nimport { CSS_UNITS, hasUnits, getAccessibleLabelForUnit } from './utils';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useCallback, useMemo, memo } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction UnitControl( {\n\tcurrentInput,\n\tlabel,\n\tvalue,\n\tonChange,\n\tonUnitChange,\n\tinitialPosition,\n\tmin,\n\tmax,\n\tseparatorType,\n\tunits = CSS_UNITS,\n\tunit,\n\tgetStylesFromColorScheme,\n\t...props\n} ) {\n\tconst pickerRef = useRef();\n\tconst anchorNodeRef = useRef();\n\n\tconst onPickerPresent = useCallback( () => {\n\t\tif ( pickerRef?.current ) {\n\t\t\tpickerRef.current.presentPicker();\n\t\t}\n\t\t// It would be great if the deps could be addressed in the context of\n\t\t// https://github.com/WordPress/gutenberg/pull/39218\n\t}, [ pickerRef?.current ] );\n\n\tconst currentInputValue = currentInput === null ? value : currentInput;\n\tconst initialControlValue = isFinite( currentInputValue )\n\t\t? currentInputValue\n\t\t: initialPosition;\n\n\tconst unitButtonTextStyle = getStylesFromColorScheme(\n\t\tstyles.unitButtonText,\n\t\tstyles.unitButtonTextDark\n\t);\n\n\t/* translators: accessibility text. Inform about current unit value. %s: Current unit value. */\n\tconst accessibilityLabel = sprintf( __( 'Current unit is %s' ), unit );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst renderUnitButton = useMemo( () => {\n\t\tconst unitButton = (\n\t\t\t<View style={ styles.unitButton }>\n\t\t\t\t<Text style={ unitButtonTextStyle }>{ unit }</Text>\n\t\t\t</View>\n\t\t);\n\n\t\tif ( hasUnits( units ) && units?.length > 1 ) {\n\t\t\treturn (\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\tonPress={ onPickerPresent }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t>\n\t\t\t\t\t{ unitButton }\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t);\n\t\t}\n\n\t\treturn unitButton;\n\t}, [\n\t\tonPickerPresent,\n\t\taccessibilityLabel,\n\t\taccessibilityHint,\n\t\tunitButtonTextStyle,\n\t\tunit,\n\t\tunits,\n\t] );\n\n\tconst getAnchor = useCallback(\n\t\t() =>\n\t\t\tanchorNodeRef?.current\n\t\t\t\t? findNodeHandle( anchorNodeRef?.current )\n\t\t\t\t: undefined,\n\t\t// It would be great if the deps could be addressed in the context of\n\t\t// https://github.com/WordPress/gutenberg/pull/39218\n\t\t[ anchorNodeRef?.current ]\n\t);\n\n\tconst getDecimal = ( step ) => {\n\t\t// Return the decimal offset based on the step size.\n\t\t// if step size is 0.1 we expect the offset to be 1.\n\t\t// for example 12 + 0.1 we would expect the see 12.1 (not 12.10 or 12 );\n\t\t// steps are defined in the CSS_UNITS and they vary from unit to unit.\n\t\tconst stepToString = step;\n\t\tconst splitStep = stepToString.toString().split( '.' );\n\t\treturn splitStep[ 1 ] ? splitStep[ 1 ].length : 0;\n\t};\n\n\tconst renderUnitPicker = useCallback( () => {\n\t\t// Keeping for legacy reasons, although `false` should not be a valid\n\t\t// value for the `units` prop anymore.\n\t\tif ( units === false ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ styles.unitMenu } ref={ anchorNodeRef }>\n\t\t\t\t{ renderUnitButton }\n\t\t\t\t{ hasUnits( units ) && units?.length > 1 ? (\n\t\t\t\t\t<Picker\n\t\t\t\t\t\tref={ pickerRef }\n\t\t\t\t\t\toptions={ units }\n\t\t\t\t\t\tonChange={ onUnitChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t\t/>\n\t\t\t\t) : null }\n\t\t\t</View>\n\t\t);\n\t}, [ pickerRef, units, onUnitChange, getAnchor, renderUnitButton ] );\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\tconst decimalNum = getDecimal( step );\n\n\treturn (\n\t\t<>\n\t\t\t{ unit !== '%' ? (\n\t\t\t\t<StepperCell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tdefaultValue={ initialControlValue }\n\t\t\t\t\tshouldDisplayTextInput\n\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\topenUnitPicker={ onPickerPresent }\n\t\t\t\t\tunitLabel={ getAccessibleLabelForUnit( unit ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ renderUnitPicker() }\n\t\t\t\t</StepperCell>\n\t\t\t) : (\n\t\t\t\t<RangeCell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tminimumValue={ min }\n\t\t\t\t\tmaximumValue={ max }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tunit={ unit }\n\t\t\t\t\tdefaultValue={ initialControlValue }\n\t\t\t\t\tseparatorType={ separatorType }\n\t\t\t\t\tdecimalNum={ decimalNum }\n\t\t\t\t\topenUnitPicker={ onPickerPresent }\n\t\t\t\t\tunitLabel={ getAccessibleLabelForUnit( unit ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ renderUnitPicker() }\n\t\t\t\t</RangeCell>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport { useCustomUnits } from './utils';\nexport default memo( withPreferredColorScheme( UnitControl ) );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_unitControlStyles","_utils","_jsxRuntime","UnitSelectControl","className","isUnitSelectTabbable","isTabbable","onChange","size","unit","units","CSS_UNITS","props","ref","hasUnits","length","jsx","UnitLabel","selectSize","children","handleOnChange","event","value","unitValue","target","data","find","option","classes","clsx","UnitSelect","tabIndex","undefined","map","label","_default","exports","default","forwardRef"],"sources":["@wordpress/components/src/unit-control/unit-select-control.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ChangeEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { UnitSelect, UnitLabel } from './styles/unit-control-styles';\nimport { CSS_UNITS, hasUnits } from './utils';\nimport type { UnitSelectControlProps } from './types';\n\nfunction UnitSelectControl(\n\t{\n\t\tclassName,\n\t\tisUnitSelectTabbable: isTabbable = true,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tunit = 'px',\n\t\tunits = CSS_UNITS,\n\t\t...props\n\t}: WordPressComponentProps< UnitSelectControlProps, 'select', false >,\n\tref: ForwardedRef< any >\n) {\n\tif ( ! hasUnits( units ) || units?.length === 1 ) {\n\t\treturn (\n\t\t\t<UnitLabel\n\t\t\t\tclassName=\"components-unit-control__unit-label\"\n\t\t\t\tselectSize={ size }\n\t\t\t>\n\t\t\t\t{ unit }\n\t\t\t</UnitLabel>\n\t\t);\n\t}\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLSelectElement > ) => {\n\t\tconst { value: unitValue } = event.target;\n\t\tconst data = units.find( ( option ) => option.value === unitValue );\n\n\t\tonChange?.( unitValue, { event, data } );\n\t};\n\n\tconst classes = clsx( 'components-unit-control__select', className );\n\n\treturn (\n\t\t<UnitSelect\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonChange={ handleOnChange }\n\t\t\tselectSize={ size }\n\t\t\ttabIndex={ isTabbable ? undefined : -1 }\n\t\t\tvalue={ unit }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ units.map( ( option ) => (\n\t\t\t\t<option value={ option.value } key={ option.value }>\n\t\t\t\t\t{ option.label }\n\t\t\t\t</option>\n\t\t\t) ) }\n\t\t</UnitSelect>\n\t);\n}\nexport default forwardRef( UnitSelectControl );\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAMA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAhB9C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASK,iBAAiBA,CACzB;EACCC,SAAS;EACTC,oBAAoB,EAAEC,UAAU,GAAG,IAAI;EACvCC,QAAQ;EACRC,IAAI,GAAG,SAAS;EAChBC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAGC,gBAAS;EACjB,GAAGC;AACgE,CAAC,EACrEC,GAAwB,EACvB;EACD,IAAK,CAAE,IAAAC,eAAQ,EAAEJ,KAAM,CAAC,IAAIA,KAAK,EAAEK,MAAM,KAAK,CAAC,EAAG;IACjD,oBACC,IAAAb,WAAA,CAAAc,GAAA,EAAChB,kBAAA,CAAAiB,SAAS;MACTb,SAAS,EAAC,qCAAqC;MAC/Cc,UAAU,EAAGV,IAAM;MAAAW,QAAA,EAEjBV;IAAI,CACI,CAAC;EAEd;EAEA,MAAMW,cAAc,GAAKC,KAAuC,IAAM;IACrE,MAAM;MAAEC,KAAK,EAAEC;IAAU,CAAC,GAAGF,KAAK,CAACG,MAAM;IACzC,MAAMC,IAAI,GAAGf,KAAK,CAACgB,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAACL,KAAK,KAAKC,SAAU,CAAC;IAEnEhB,QAAQ,GAAIgB,SAAS,EAAE;MAAEF,KAAK;MAAEI;IAAK,CAAE,CAAC;EACzC,CAAC;EAED,MAAMG,OAAO,GAAG,IAAAC,aAAI,EAAE,iCAAiC,EAAEzB,SAAU,CAAC;EAEpE,oBACC,IAAAF,WAAA,CAAAc,GAAA,EAAChB,kBAAA,CAAA8B,UAAU;IACVjB,GAAG,EAAGA,GAAK;IACXT,SAAS,EAAGwB,OAAS;IACrBrB,QAAQ,EAAGa,cAAgB;IAC3BF,UAAU,EAAGV,IAAM;IACnBuB,QAAQ,EAAGzB,UAAU,GAAG0B,SAAS,GAAG,CAAC,CAAG;IACxCV,KAAK,EAAGb,IAAM;IAAA,GACTG,KAAK;IAAAO,QAAA,EAERT,KAAK,CAACuB,GAAG,CAAIN,MAAM,iBACpB,IAAAzB,WAAA,CAAAc,GAAA;MAAQM,KAAK,EAAGK,MAAM,CAACL,KAAO;MAAAH,QAAA,EAC3BQ,MAAM,CAACO;IAAK,GADsBP,MAAM,CAACL,KAEpC,CACP;EAAC,CACQ,CAAC;AAEf;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACc,IAAAC,mBAAU,EAAEnC,iBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_unitControlStyles","_utils","_jsxRuntime","UnitSelectControl","className","isUnitSelectTabbable","isTabbable","onChange","size","unit","units","CSS_UNITS","props","ref","hasUnits","length","jsx","UnitLabel","selectSize","children","handleOnChange","event","value","unitValue","target","data","find","option","classes","clsx","UnitSelect","tabIndex","undefined","map","label","_default","exports","default","forwardRef"],"sources":["@wordpress/components/src/unit-control/unit-select-control.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ChangeEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { UnitSelect, UnitLabel } from './styles/unit-control-styles';\nimport { CSS_UNITS, hasUnits } from './utils';\nimport type { UnitSelectControlProps } from './types';\n\nfunction UnitSelectControl(\n\t{\n\t\tclassName,\n\t\tisUnitSelectTabbable: isTabbable = true,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tunit = 'px',\n\t\tunits = CSS_UNITS,\n\t\t...props\n\t}: WordPressComponentProps< UnitSelectControlProps, 'select', false >,\n\tref: ForwardedRef< any >\n) {\n\tif ( ! hasUnits( units ) || units?.length === 1 ) {\n\t\treturn (\n\t\t\t<UnitLabel\n\t\t\t\tclassName=\"components-unit-control__unit-label\"\n\t\t\t\tselectSize={ size }\n\t\t\t>\n\t\t\t\t{ unit }\n\t\t\t</UnitLabel>\n\t\t);\n\t}\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLSelectElement > ) => {\n\t\tconst { value: unitValue } = event.target;\n\t\tconst data = units.find( ( option ) => option.value === unitValue );\n\n\t\tonChange?.( unitValue, { event, data } );\n\t};\n\n\tconst classes = clsx( 'components-unit-control__select', className );\n\n\treturn (\n\t\t<UnitSelect\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonChange={ handleOnChange }\n\t\t\tselectSize={ size }\n\t\t\ttabIndex={ isTabbable ? undefined : -1 }\n\t\t\tvalue={ unit }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ units.map( ( option ) => (\n\t\t\t\t<option value={ option.value } key={ option.value }>\n\t\t\t\t\t{ option.label }\n\t\t\t\t</option>\n\t\t\t) ) }\n\t\t</UnitSelect>\n\t);\n}\nexport default forwardRef( UnitSelectControl );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAMA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAhB9C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASK,iBAAiBA,CACzB;EACCC,SAAS;EACTC,oBAAoB,EAAEC,UAAU,GAAG,IAAI;EACvCC,QAAQ;EACRC,IAAI,GAAG,SAAS;EAChBC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAGC,gBAAS;EACjB,GAAGC;AACgE,CAAC,EACrEC,GAAwB,EACvB;EACD,IAAK,CAAE,IAAAC,eAAQ,EAAEJ,KAAM,CAAC,IAAIA,KAAK,EAAEK,MAAM,KAAK,CAAC,EAAG;IACjD,oBACC,IAAAb,WAAA,CAAAc,GAAA,EAAChB,kBAAA,CAAAiB,SAAS;MACTb,SAAS,EAAC,qCAAqC;MAC/Cc,UAAU,EAAGV,IAAM;MAAAW,QAAA,EAEjBV;IAAI,CACI,CAAC;EAEd;EAEA,MAAMW,cAAc,GAAKC,KAAuC,IAAM;IACrE,MAAM;MAAEC,KAAK,EAAEC;IAAU,CAAC,GAAGF,KAAK,CAACG,MAAM;IACzC,MAAMC,IAAI,GAAGf,KAAK,CAACgB,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAACL,KAAK,KAAKC,SAAU,CAAC;IAEnEhB,QAAQ,GAAIgB,SAAS,EAAE;MAAEF,KAAK;MAAEI;IAAK,CAAE,CAAC;EACzC,CAAC;EAED,MAAMG,OAAO,GAAG,IAAAC,aAAI,EAAE,iCAAiC,EAAEzB,SAAU,CAAC;EAEpE,oBACC,IAAAF,WAAA,CAAAc,GAAA,EAAChB,kBAAA,CAAA8B,UAAU;IACVjB,GAAG,EAAGA,GAAK;IACXT,SAAS,EAAGwB,OAAS;IACrBrB,QAAQ,EAAGa,cAAgB;IAC3BF,UAAU,EAAGV,IAAM;IACnBuB,QAAQ,EAAGzB,UAAU,GAAG0B,SAAS,GAAG,CAAC,CAAG;IACxCV,KAAK,EAAGb,IAAM;IAAA,GACTG,KAAK;IAAAO,QAAA,EAERT,KAAK,CAACuB,GAAG,CAAIN,MAAM,iBACpB,IAAAzB,WAAA,CAAAc,GAAA;MAAQM,KAAK,EAAGK,MAAM,CAACL,KAAO;MAAAH,QAAA,EAC3BQ,MAAM,CAACO;IAAK,GADsBP,MAAM,CAACL,KAEpC,CACP;EAAC,CACQ,CAAC;AAEf;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACc,IAAAC,mBAAU,EAAEnC,iBAAkB,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","isWeb","Platform","OS","allUnits","px","value","label","__","a11yLabel","step","em","_x","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","svw","svh","svi","svb","svmin","lvw","lvh","lvi","lvb","lvmin","dvw","dvh","dvi","dvb","dvmin","dvmax","svmax","lvmax","ALL_CSS_UNITS","exports","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"],"sources":["@wordpress/components/src/unit-control/utils.ts"],"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\tsvw: {\n\t\tvalue: 'svw',\n\t\tlabel: isWeb ? 'svw' : __( 'Small viewport width (svw)' ),\n\t\ta11yLabel: __( 'Small viewport width (svw)' ),\n\t\tstep: 0.1,\n\t},\n\tsvh: {\n\t\tvalue: 'svh',\n\t\tlabel: isWeb ? 'svh' : __( 'Small viewport height (svh)' ),\n\t\ta11yLabel: __( 'Small viewport height (svh)' ),\n\t\tstep: 0.1,\n\t},\n\tsvi: {\n\t\tvalue: 'svi',\n\t\tlabel: isWeb\n\t\t\t? 'svi'\n\t\t\t: __( 'Viewport smallest size in the inline direction (svi)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svi)' ),\n\t\tstep: 0.1,\n\t},\n\tsvb: {\n\t\tvalue: 'svb',\n\t\tlabel: isWeb\n\t\t\t? 'svb'\n\t\t\t: __( 'Viewport smallest size in the block direction (svb)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svb)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmin: {\n\t\tvalue: 'svmin',\n\t\tlabel: isWeb\n\t\t\t? 'svmin'\n\t\t\t: __( 'Small viewport smallest dimension (svmin)' ),\n\t\ta11yLabel: __( 'Small viewport smallest dimension (svmin)' ),\n\t\tstep: 0.1,\n\t},\n\tlvw: {\n\t\tvalue: 'lvw',\n\t\tlabel: isWeb ? 'lvw' : __( 'Large viewport width (lvw)' ),\n\t\ta11yLabel: __( 'Large viewport width (lvw)' ),\n\t\tstep: 0.1,\n\t},\n\tlvh: {\n\t\tvalue: 'lvh',\n\t\tlabel: isWeb ? 'lvh' : __( 'Large viewport height (lvh)' ),\n\t\ta11yLabel: __( 'Large viewport height (lvh)' ),\n\t\tstep: 0.1,\n\t},\n\tlvi: {\n\t\tvalue: 'lvi',\n\t\tlabel: isWeb ? 'lvi' : __( 'Large viewport width or height (lvi)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvi)' ),\n\t\tstep: 0.1,\n\t},\n\tlvb: {\n\t\tvalue: 'lvb',\n\t\tlabel: isWeb ? 'lvb' : __( 'Large viewport width or height (lvb)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvb)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmin: {\n\t\tvalue: 'lvmin',\n\t\tlabel: isWeb\n\t\t\t? 'lvmin'\n\t\t\t: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\ta11yLabel: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvw: {\n\t\tvalue: 'dvw',\n\t\tlabel: isWeb ? 'dvw' : __( 'Dynamic viewport width (dvw)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width (dvw)' ),\n\t\tstep: 0.1,\n\t},\n\tdvh: {\n\t\tvalue: 'dvh',\n\t\tlabel: isWeb ? 'dvh' : __( 'Dynamic viewport height (dvh)' ),\n\t\ta11yLabel: __( 'Dynamic viewport height (dvh)' ),\n\t\tstep: 0.1,\n\t},\n\tdvi: {\n\t\tvalue: 'dvi',\n\t\tlabel: isWeb ? 'dvi' : __( 'Dynamic viewport width or height (dvi)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvi)' ),\n\t\tstep: 0.1,\n\t},\n\tdvb: {\n\t\tvalue: 'dvb',\n\t\tlabel: isWeb ? 'dvb' : __( 'Dynamic viewport width or height (dvb)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvb)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmin: {\n\t\tvalue: 'dvmin',\n\t\tlabel: isWeb\n\t\t\t? 'dvmin'\n\t\t\t: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\ta11yLabel: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmax: {\n\t\tvalue: 'dvmax',\n\t\tlabel: isWeb\n\t\t\t? 'dvmax'\n\t\t\t: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\ta11yLabel: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmax: {\n\t\tvalue: 'svmax',\n\t\tlabel: isWeb\n\t\t\t? 'svmax'\n\t\t\t: __( 'Small viewport largest dimension (svmax)' ),\n\t\ta11yLabel: __( 'Small viewport largest dimension (svmax)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmax: {\n\t\tvalue: 'lvmax',\n\t\tlabel: isWeb\n\t\t\t? 'lvmax'\n\t\t\t: __( 'Large viewport largest dimension (lvmax)' ),\n\t\ta11yLabel: __( 'Large viewport largest dimension (lvmax)' ),\n\t\tstep: 0.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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","isWeb","Platform","OS","allUnits","px","value","label","__","a11yLabel","step","em","_x","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","svw","svh","svi","svb","svmin","lvw","lvh","lvi","lvb","lvmin","dvw","dvh","dvi","dvb","dvmin","dvmax","svmax","lvmax","ALL_CSS_UNITS","exports","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"],"sources":["@wordpress/components/src/unit-control/utils.ts"],"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\tsvw: {\n\t\tvalue: 'svw',\n\t\tlabel: isWeb ? 'svw' : __( 'Small viewport width (svw)' ),\n\t\ta11yLabel: __( 'Small viewport width (svw)' ),\n\t\tstep: 0.1,\n\t},\n\tsvh: {\n\t\tvalue: 'svh',\n\t\tlabel: isWeb ? 'svh' : __( 'Small viewport height (svh)' ),\n\t\ta11yLabel: __( 'Small viewport height (svh)' ),\n\t\tstep: 0.1,\n\t},\n\tsvi: {\n\t\tvalue: 'svi',\n\t\tlabel: isWeb\n\t\t\t? 'svi'\n\t\t\t: __( 'Viewport smallest size in the inline direction (svi)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svi)' ),\n\t\tstep: 0.1,\n\t},\n\tsvb: {\n\t\tvalue: 'svb',\n\t\tlabel: isWeb\n\t\t\t? 'svb'\n\t\t\t: __( 'Viewport smallest size in the block direction (svb)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svb)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmin: {\n\t\tvalue: 'svmin',\n\t\tlabel: isWeb\n\t\t\t? 'svmin'\n\t\t\t: __( 'Small viewport smallest dimension (svmin)' ),\n\t\ta11yLabel: __( 'Small viewport smallest dimension (svmin)' ),\n\t\tstep: 0.1,\n\t},\n\tlvw: {\n\t\tvalue: 'lvw',\n\t\tlabel: isWeb ? 'lvw' : __( 'Large viewport width (lvw)' ),\n\t\ta11yLabel: __( 'Large viewport width (lvw)' ),\n\t\tstep: 0.1,\n\t},\n\tlvh: {\n\t\tvalue: 'lvh',\n\t\tlabel: isWeb ? 'lvh' : __( 'Large viewport height (lvh)' ),\n\t\ta11yLabel: __( 'Large viewport height (lvh)' ),\n\t\tstep: 0.1,\n\t},\n\tlvi: {\n\t\tvalue: 'lvi',\n\t\tlabel: isWeb ? 'lvi' : __( 'Large viewport width or height (lvi)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvi)' ),\n\t\tstep: 0.1,\n\t},\n\tlvb: {\n\t\tvalue: 'lvb',\n\t\tlabel: isWeb ? 'lvb' : __( 'Large viewport width or height (lvb)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvb)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmin: {\n\t\tvalue: 'lvmin',\n\t\tlabel: isWeb\n\t\t\t? 'lvmin'\n\t\t\t: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\ta11yLabel: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvw: {\n\t\tvalue: 'dvw',\n\t\tlabel: isWeb ? 'dvw' : __( 'Dynamic viewport width (dvw)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width (dvw)' ),\n\t\tstep: 0.1,\n\t},\n\tdvh: {\n\t\tvalue: 'dvh',\n\t\tlabel: isWeb ? 'dvh' : __( 'Dynamic viewport height (dvh)' ),\n\t\ta11yLabel: __( 'Dynamic viewport height (dvh)' ),\n\t\tstep: 0.1,\n\t},\n\tdvi: {\n\t\tvalue: 'dvi',\n\t\tlabel: isWeb ? 'dvi' : __( 'Dynamic viewport width or height (dvi)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvi)' ),\n\t\tstep: 0.1,\n\t},\n\tdvb: {\n\t\tvalue: 'dvb',\n\t\tlabel: isWeb ? 'dvb' : __( 'Dynamic viewport width or height (dvb)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvb)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmin: {\n\t\tvalue: 'dvmin',\n\t\tlabel: isWeb\n\t\t\t? 'dvmin'\n\t\t\t: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\ta11yLabel: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmax: {\n\t\tvalue: 'dvmax',\n\t\tlabel: isWeb\n\t\t\t? 'dvmax'\n\t\t\t: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\ta11yLabel: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmax: {\n\t\tvalue: 'svmax',\n\t\tlabel: isWeb\n\t\t\t? 'svmax'\n\t\t\t: __( 'Small viewport largest dimension (svmax)' ),\n\t\ta11yLabel: __( 'Small viewport largest dimension (svmax)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmax: {\n\t\tvalue: 'lvmax',\n\t\tlabel: isWeb\n\t\t\t? 'lvmax'\n\t\t\t: __( 'Large viewport largest dimension (lvmax)' ),\n\t\ta11yLabel: __( 'Large viewport largest dimension (lvmax)' ),\n\t\tstep: 0.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"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","getValidChildren","children","Children","toArray","filter","child","isValidElement"],"sources":["@wordpress/components/src/utils/get-valid-children.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, ReactChild, ReactFragment, ReactPortal } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { Children, isValidElement } from '@wordpress/element';\n\n/**\n * Gets a collection of available children elements from a React component's children prop.\n *\n * @param children\n *\n * @return An array of available children.\n */\nexport function getValidChildren(\n\tchildren: ReactNode\n): Array< ReactChild | ReactFragment | ReactPortal > {\n\tif ( typeof children === 'string' ) {\n\t\treturn [ children ];\n\t}\n\n\treturn Children.toArray( children ).filter( ( child ) =>\n\t\tisValidElement( child )\n\t);\n}\n"],"mappings":";;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAC/BC,QAAmB,EACiC;EACpD,IAAK,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACnC,OAAO,CAAEA,QAAQ,CAAE;EACpB;EAEA,OAAOC,iBAAQ,CAACC,OAAO,CAAEF,QAAS,CAAC,CAACG,MAAM,CAAIC,KAAK,IAClD,IAAAC,uBAAc,EAAED,KAAM,CACvB,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","getValidChildren","children","Children","toArray","filter","child","isValidElement"],"sources":["@wordpress/components/src/utils/get-valid-children.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, ReactChild, ReactFragment, ReactPortal } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { Children, isValidElement } from '@wordpress/element';\n\n/**\n * Gets a collection of available children elements from a React component's children prop.\n *\n * @param children\n *\n * @return An array of available children.\n */\nexport function getValidChildren(\n\tchildren: ReactNode\n): Array< ReactChild | ReactFragment | ReactPortal > {\n\tif ( typeof children === 'string' ) {\n\t\treturn [ children ];\n\t}\n\n\treturn Children.toArray( children ).filter( ( child ) =>\n\t\tisValidElement( child )\n\t);\n}\n"],"mappings":";;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAC/BC,QAAmB,EACiC;EACpD,IAAK,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACnC,OAAO,CAAEA,QAAQ,CAAE;EACpB;EAEA,OAAOC,iBAAQ,CAACC,OAAO,CAAEF,QAAS,CAAC,CAACG,MAAM,CAAIC,KAAK,IAClD,IAAAC,uBAAc,EAAED,KAAM,CACvB,CAAC;AACF","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_element","_useOnValueUpdate","useAnimatedOffsetRect","container","rect","prefix","dataAttribute","transitionEndFilter","roundRect","setProperties","useEvent","Object","keys","forEach","property","style","setProperty","String","Math","floor","useLayoutEffect","useOnValueUpdate","element","previousValue","setAttribute","onTransitionEnd","event","removeAttribute","addEventListener","removeEventListener"],"sources":["@wordpress/components/src/utils/hooks/use-animated-offset-rect.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-param */\n\n/**\n * WordPress dependencies\n */\nimport { useEvent } from '@wordpress/compose';\nimport { useLayoutEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport type { ElementOffsetRect } from '../element-rect';\nimport { useOnValueUpdate } from './use-on-value-update';\n\n/**\n * A utility used to animate something in a container component based on the \"offset\n * rect\" (position relative to the container and size) of a subelement. For example,\n * this is useful to render an indicator for the selected option of a component, and\n * to animate it when the selected option changes.\n *\n * Takes in a container element and the up-to-date \"offset rect\" of the target\n * subelement, obtained with `useTrackElementOffsetRect`. Then it does the following:\n *\n * - Adds CSS variables with rect information to the container, so that the indicator\n * can be rendered and animated with them. These are kept up-to-date, enabling CSS\n * transitions on change.\n * - Sets an attribute (`data-subelement-animated` by default) when the tracked\n * element changes, so that the target (e.g. the indicator) can be animated to its\n * new size and position.\n * - Removes the attribute when the animation is done.\n *\n * The need for the attribute is due to the fact that the rect might update in\n * situations other than when the tracked element changes, e.g. the tracked element\n * might be resized. In such cases, there is no need to animate the indicator, and\n * the change in size or position of the indicator needs to be reflected immediately.\n */\nexport function useAnimatedOffsetRect(\n\t/**\n\t * The container element.\n\t */\n\tcontainer: HTMLElement | undefined,\n\t/**\n\t * The rect of the tracked element.\n\t */\n\trect: ElementOffsetRect,\n\t{\n\t\tprefix = 'subelement',\n\t\tdataAttribute = `${ prefix }-animated`,\n\t\ttransitionEndFilter = () => true,\n\t\troundRect = false,\n\t}: {\n\t\t/**\n\t\t * The prefix used for the CSS variables, e.g. if `prefix` is `selected`, the\n\t\t * CSS variables will be `--selected-top`, `--selected-left`, etc.\n\t\t * @default 'subelement'\n\t\t */\n\t\tprefix?: string;\n\t\t/**\n\t\t * The name of the data attribute used to indicate that the animation is in\n\t\t * progress. The `data-` prefix is added automatically.\n\t\t *\n\t\t * For example, if `dataAttribute` is `indicator-animated`, the attribute will\n\t\t * be `data-indicator-animated`.\n\t\t * @default `${ prefix }-animated`\n\t\t */\n\t\tdataAttribute?: string;\n\t\t/**\n\t\t * A function that is called with the transition event and returns a boolean\n\t\t * indicating whether the animation should be stopped. The default is a function\n\t\t * that always returns `true`.\n\t\t *\n\t\t * For example, if the animated element is the `::before` pseudo-element, the\n\t\t * function can be written as `( event ) => event.pseudoElement === '::before'`.\n\t\t * @default () => true\n\t\t */\n\t\ttransitionEndFilter?: ( event: TransitionEvent ) => boolean;\n\t\t/**\n\t\t * Whether the `rect` measurements should be rounded down when applied\n\t\t * to the CSS variables. This can be useful to avoid blurry animations or\n\t\t * to avoid subpixel rendering issues.\n\t\t * @default false\n\t\t */\n\t\troundRect?: boolean;\n\t} = {}\n) {\n\tconst setProperties = useEvent( () => {\n\t\t( Object.keys( rect ) as Array< keyof typeof rect > ).forEach(\n\t\t\t( property ) =>\n\t\t\t\tproperty !== 'element' &&\n\t\t\t\tcontainer?.style.setProperty(\n\t\t\t\t\t`--${ prefix }-${ property }`,\n\t\t\t\t\tString(\n\t\t\t\t\t\troundRect\n\t\t\t\t\t\t\t? Math.floor( rect[ property ] )\n\t\t\t\t\t\t\t: rect[ property ]\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t);\n\t} );\n\tuseLayoutEffect( () => {\n\t\tsetProperties();\n\t}, [ rect, setProperties ] );\n\tuseOnValueUpdate( rect.element, ( { previousValue } ) => {\n\t\t// Only enable the animation when moving from one element to another.\n\t\tif ( rect.element && previousValue ) {\n\t\t\tcontainer?.setAttribute( `data-${ dataAttribute }`, '' );\n\t\t}\n\t} );\n\tuseLayoutEffect( () => {\n\t\tfunction onTransitionEnd( event: TransitionEvent ) {\n\t\t\tif ( transitionEndFilter( event ) ) {\n\t\t\t\tcontainer?.removeAttribute( `data-${ dataAttribute }` );\n\t\t\t}\n\t\t}\n\t\tcontainer?.addEventListener( 'transitionend', onTransitionEnd );\n\t\treturn () =>\n\t\t\tcontainer?.removeEventListener( 'transitionend', onTransitionEnd );\n\t}, [ dataAttribute, container, transitionEndFilter ] );\n}\n/* eslint-enable jsdoc/require-param */\n"],"mappings":";;;;;;;AAKA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,iBAAA,GAAAF,OAAA;AAXA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA;AACpC;AACD;AACA;AACCC,SAAkC;AAClC;AACD;AACA;AACCC,IAAuB,EACvB;EACCC,MAAM,GAAG,YAAY;EACrBC,aAAa,GAAG,GAAID,MAAM,WAAY;EACtCE,mBAAmB,GAAGA,CAAA,KAAM,IAAI;EAChCC,SAAS,GAAG;AAkCb,CAAC,GAAG,CAAC,CAAC,EACL;EACD,MAAMC,aAAa,GAAG,IAAAC,iBAAQ,EAAE,MAAM;IACnCC,MAAM,CAACC,IAAI,CAAER,IAAK,CAAC,CAAiCS,OAAO,CAC1DC,QAAQ,IACTA,QAAQ,KAAK,SAAS,IACtBX,SAAS,EAAEY,KAAK,CAACC,WAAW,CAC3B,KAAMX,MAAM,IAAMS,QAAQ,EAAG,EAC7BG,MAAM,CACLT,SAAS,GACNU,IAAI,CAACC,KAAK,CAAEf,IAAI,CAAEU,QAAQ,CAAG,CAAC,GAC9BV,IAAI,CAAEU,QAAQ,CAClB,CACD,CACF,CAAC;EACF,CAAE,CAAC;EACH,IAAAM,wBAAe,EAAE,MAAM;IACtBX,aAAa,CAAC,CAAC;EAChB,CAAC,EAAE,CAAEL,IAAI,EAAEK,aAAa,CAAG,CAAC;EAC5B,IAAAY,kCAAgB,EAAEjB,IAAI,CAACkB,OAAO,EAAE,CAAE;IAAEC;EAAc,CAAC,KAAM;IACxD;IACA,IAAKnB,IAAI,CAACkB,OAAO,IAAIC,aAAa,EAAG;MACpCpB,SAAS,EAAEqB,YAAY,CAAE,QAASlB,aAAa,EAAG,EAAE,EAAG,CAAC;IACzD;EACD,CAAE,CAAC;EACH,IAAAc,wBAAe,EAAE,MAAM;IACtB,SAASK,eAAeA,CAAEC,KAAsB,EAAG;MAClD,IAAKnB,mBAAmB,CAAEmB,KAAM,CAAC,EAAG;QACnCvB,SAAS,EAAEwB,eAAe,CAAE,QAASrB,aAAa,EAAI,CAAC;MACxD;IACD;IACAH,SAAS,EAAEyB,gBAAgB,CAAE,eAAe,EAAEH,eAAgB,CAAC;IAC/D,OAAO,MACNtB,SAAS,EAAE0B,mBAAmB,CAAE,eAAe,EAAEJ,eAAgB,CAAC;EACpE,CAAC,EAAE,CAAEnB,aAAa,EAAEH,SAAS,EAAEI,mBAAmB,CAAG,CAAC;AACvD;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_compose","require","_element","_useOnValueUpdate","useAnimatedOffsetRect","container","rect","prefix","dataAttribute","transitionEndFilter","roundRect","setProperties","useEvent","Object","keys","forEach","property","style","setProperty","String","Math","floor","useLayoutEffect","useOnValueUpdate","element","previousValue","setAttribute","onTransitionEnd","event","removeAttribute","addEventListener","removeEventListener"],"sources":["@wordpress/components/src/utils/hooks/use-animated-offset-rect.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-param */\n\n/**\n * WordPress dependencies\n */\nimport { useEvent } from '@wordpress/compose';\nimport { useLayoutEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport type { ElementOffsetRect } from '../element-rect';\nimport { useOnValueUpdate } from './use-on-value-update';\n\n/**\n * A utility used to animate something in a container component based on the \"offset\n * rect\" (position relative to the container and size) of a subelement. For example,\n * this is useful to render an indicator for the selected option of a component, and\n * to animate it when the selected option changes.\n *\n * Takes in a container element and the up-to-date \"offset rect\" of the target\n * subelement, obtained with `useTrackElementOffsetRect`. Then it does the following:\n *\n * - Adds CSS variables with rect information to the container, so that the indicator\n * can be rendered and animated with them. These are kept up-to-date, enabling CSS\n * transitions on change.\n * - Sets an attribute (`data-subelement-animated` by default) when the tracked\n * element changes, so that the target (e.g. the indicator) can be animated to its\n * new size and position.\n * - Removes the attribute when the animation is done.\n *\n * The need for the attribute is due to the fact that the rect might update in\n * situations other than when the tracked element changes, e.g. the tracked element\n * might be resized. In such cases, there is no need to animate the indicator, and\n * the change in size or position of the indicator needs to be reflected immediately.\n */\nexport function useAnimatedOffsetRect(\n\t/**\n\t * The container element.\n\t */\n\tcontainer: HTMLElement | undefined,\n\t/**\n\t * The rect of the tracked element.\n\t */\n\trect: ElementOffsetRect,\n\t{\n\t\tprefix = 'subelement',\n\t\tdataAttribute = `${ prefix }-animated`,\n\t\ttransitionEndFilter = () => true,\n\t\troundRect = false,\n\t}: {\n\t\t/**\n\t\t * The prefix used for the CSS variables, e.g. if `prefix` is `selected`, the\n\t\t * CSS variables will be `--selected-top`, `--selected-left`, etc.\n\t\t * @default 'subelement'\n\t\t */\n\t\tprefix?: string;\n\t\t/**\n\t\t * The name of the data attribute used to indicate that the animation is in\n\t\t * progress. The `data-` prefix is added automatically.\n\t\t *\n\t\t * For example, if `dataAttribute` is `indicator-animated`, the attribute will\n\t\t * be `data-indicator-animated`.\n\t\t * @default `${ prefix }-animated`\n\t\t */\n\t\tdataAttribute?: string;\n\t\t/**\n\t\t * A function that is called with the transition event and returns a boolean\n\t\t * indicating whether the animation should be stopped. The default is a function\n\t\t * that always returns `true`.\n\t\t *\n\t\t * For example, if the animated element is the `::before` pseudo-element, the\n\t\t * function can be written as `( event ) => event.pseudoElement === '::before'`.\n\t\t * @default () => true\n\t\t */\n\t\ttransitionEndFilter?: ( event: TransitionEvent ) => boolean;\n\t\t/**\n\t\t * Whether the `rect` measurements should be rounded down when applied\n\t\t * to the CSS variables. This can be useful to avoid blurry animations or\n\t\t * to avoid subpixel rendering issues.\n\t\t * @default false\n\t\t */\n\t\troundRect?: boolean;\n\t} = {}\n) {\n\tconst setProperties = useEvent( () => {\n\t\t( Object.keys( rect ) as Array< keyof typeof rect > ).forEach(\n\t\t\t( property ) =>\n\t\t\t\tproperty !== 'element' &&\n\t\t\t\tcontainer?.style.setProperty(\n\t\t\t\t\t`--${ prefix }-${ property }`,\n\t\t\t\t\tString(\n\t\t\t\t\t\troundRect\n\t\t\t\t\t\t\t? Math.floor( rect[ property ] )\n\t\t\t\t\t\t\t: rect[ property ]\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t);\n\t} );\n\tuseLayoutEffect( () => {\n\t\tsetProperties();\n\t}, [ rect, setProperties ] );\n\tuseOnValueUpdate( rect.element, ( { previousValue } ) => {\n\t\t// Only enable the animation when moving from one element to another.\n\t\tif ( rect.element && previousValue ) {\n\t\t\tcontainer?.setAttribute( `data-${ dataAttribute }`, '' );\n\t\t}\n\t} );\n\tuseLayoutEffect( () => {\n\t\tfunction onTransitionEnd( event: TransitionEvent ) {\n\t\t\tif ( transitionEndFilter( event ) ) {\n\t\t\t\tcontainer?.removeAttribute( `data-${ dataAttribute }` );\n\t\t\t}\n\t\t}\n\t\tcontainer?.addEventListener( 'transitionend', onTransitionEnd );\n\t\treturn () =>\n\t\t\tcontainer?.removeEventListener( 'transitionend', onTransitionEnd );\n\t}, [ dataAttribute, container, transitionEndFilter ] );\n}\n/* eslint-enable jsdoc/require-param */\n"],"mappings":";;;;;;AAKA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,iBAAA,GAAAF,OAAA;AAXA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA;AACpC;AACD;AACA;AACCC,SAAkC;AAClC;AACD;AACA;AACCC,IAAuB,EACvB;EACCC,MAAM,GAAG,YAAY;EACrBC,aAAa,GAAG,GAAID,MAAM,WAAY;EACtCE,mBAAmB,GAAGA,CAAA,KAAM,IAAI;EAChCC,SAAS,GAAG;AAkCb,CAAC,GAAG,CAAC,CAAC,EACL;EACD,MAAMC,aAAa,GAAG,IAAAC,iBAAQ,EAAE,MAAM;IACnCC,MAAM,CAACC,IAAI,CAAER,IAAK,CAAC,CAAiCS,OAAO,CAC1DC,QAAQ,IACTA,QAAQ,KAAK,SAAS,IACtBX,SAAS,EAAEY,KAAK,CAACC,WAAW,CAC3B,KAAMX,MAAM,IAAMS,QAAQ,EAAG,EAC7BG,MAAM,CACLT,SAAS,GACNU,IAAI,CAACC,KAAK,CAAEf,IAAI,CAAEU,QAAQ,CAAG,CAAC,GAC9BV,IAAI,CAAEU,QAAQ,CAClB,CACD,CACF,CAAC;EACF,CAAE,CAAC;EACH,IAAAM,wBAAe,EAAE,MAAM;IACtBX,aAAa,CAAC,CAAC;EAChB,CAAC,EAAE,CAAEL,IAAI,EAAEK,aAAa,CAAG,CAAC;EAC5B,IAAAY,kCAAgB,EAAEjB,IAAI,CAACkB,OAAO,EAAE,CAAE;IAAEC;EAAc,CAAC,KAAM;IACxD;IACA,IAAKnB,IAAI,CAACkB,OAAO,IAAIC,aAAa,EAAG;MACpCpB,SAAS,EAAEqB,YAAY,CAAE,QAASlB,aAAa,EAAG,EAAE,EAAG,CAAC;IACzD;EACD,CAAE,CAAC;EACH,IAAAc,wBAAe,EAAE,MAAM;IACtB,SAASK,eAAeA,CAAEC,KAAsB,EAAG;MAClD,IAAKnB,mBAAmB,CAAEmB,KAAM,CAAC,EAAG;QACnCvB,SAAS,EAAEwB,eAAe,CAAE,QAASrB,aAAa,EAAI,CAAC;MACxD;IACD;IACAH,SAAS,EAAEyB,gBAAgB,CAAE,eAAe,EAAEH,eAAgB,CAAC;IAC/D,OAAO,MACNtB,SAAS,EAAE0B,mBAAmB,CAAE,eAAe,EAAEJ,eAAgB,CAAC;EACpE,CAAC,EAAE,CAAEnB,aAAa,EAAEH,SAAS,EAAEI,mBAAmB,CAAG,CAAC;AACvD;AACA","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","_css","_element","isSerializedStyles","o","every","p","useCx","cache","useEmotionCache","cx","useCallback","classNames","Error","innerCx","map","arg","insertStyles","key","name","exports"],"sources":["@wordpress/components/src/utils/hooks/use-cx.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { __unsafe_useEmotionCache as useEmotionCache } from '@emotion/react';\nimport type { SerializedStyles } from '@emotion/serialize';\nimport { insertStyles } from '@emotion/utils';\n// eslint-disable-next-line no-restricted-imports\nimport type { ClassNamesArg } from '@emotion/css';\n// eslint-disable-next-line no-restricted-imports\nimport { cx as innerCx } from '@emotion/css';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\n\nconst isSerializedStyles = ( o: any ): o is SerializedStyles =>\n\ttypeof o !== 'undefined' &&\n\to !== null &&\n\t[ 'name', 'styles' ].every( ( p ) => typeof o[ p ] !== 'undefined' );\n\n/**\n * Retrieve a `cx` function that knows how to handle `SerializedStyles`\n * returned by the `@emotion/react` `css` function in addition to what\n * `cx` normally knows how to handle. It also hooks into the Emotion\n * Cache, allowing `css` calls to work inside iframes.\n *\n * ```jsx\n * import { css } from '@emotion/react';\n *\n * const styles = css`\n * \tcolor: red\n * `;\n *\n * function RedText( { className, ...props } ) {\n * \tconst cx = useCx();\n *\n * \tconst classes = cx(styles, className);\n *\n * \treturn <span className={classes} {...props} />;\n * }\n * ```\n */\nexport const useCx = () => {\n\tconst cache = useEmotionCache();\n\n\tconst cx = useCallback(\n\t\t( ...classNames: ( ClassNamesArg | SerializedStyles )[] ) => {\n\t\t\tif ( cache === null ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'The `useCx` hook should be only used within a valid Emotion Cache Context'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn innerCx(\n\t\t\t\t...classNames.map( ( arg ) => {\n\t\t\t\t\tif ( isSerializedStyles( arg ) ) {\n\t\t\t\t\t\tinsertStyles( cache, arg, false );\n\t\t\t\t\t\treturn `${ cache.key }-${ arg.name }`;\n\t\t\t\t\t}\n\t\t\t\t\treturn arg;\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ cache ]\n\t);\n\n\treturn cx;\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAIA,IAAAE,IAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AAdA;AACA;AACA;;AAIA;;AAEA;;AAGA;AACA;AACA;;AAGA,MAAMI,kBAAkB,GAAKC,CAAM,IAClC,OAAOA,CAAC,KAAK,WAAW,IACxBA,CAAC,KAAK,IAAI,IACV,CAAE,MAAM,EAAE,QAAQ,CAAE,CAACC,KAAK,CAAIC,CAAC,IAAM,OAAOF,CAAC,CAAEE,CAAC,CAAE,KAAK,WAAY,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,GAAGA,CAAA,KAAM;EAC1B,MAAMC,KAAK,GAAG,IAAAC,+BAAe,EAAC,CAAC;EAE/B,MAAMC,EAAE,GAAG,IAAAC,oBAAW,EACrB,CAAE,GAAGC,UAAkD,KAAM;IAC5D,IAAKJ,KAAK,KAAK,IAAI,EAAG;MACrB,MAAM,IAAIK,KAAK,CACd,2EACD,CAAC;IACF;IAEA,OAAO,IAAAC,OAAO,EACb,GAAGF,UAAU,CAACG,GAAG,CAAIC,GAAG,IAAM;MAC7B,IAAKb,kBAAkB,CAAEa,GAAI,CAAC,EAAG;QAChC,IAAAC,mBAAY,EAAET,KAAK,EAAEQ,GAAG,EAAE,KAAM,CAAC;QACjC,OAAO,GAAIR,KAAK,CAACU,GAAG,IAAMF,GAAG,CAACG,IAAI,EAAG;MACtC;MACA,OAAOH,GAAG;IACX,CAAE,CACH,CAAC;EACF,CAAC,EACD,CAAER,KAAK,CACR,CAAC;EAED,OAAOE,EAAE;AACV,CAAC;AAACU,OAAA,CAAAb,KAAA,GAAAA,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","_css","_element","isSerializedStyles","o","every","p","useCx","cache","useEmotionCache","cx","useCallback","classNames","Error","innerCx","map","arg","insertStyles","key","name","exports"],"sources":["@wordpress/components/src/utils/hooks/use-cx.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { __unsafe_useEmotionCache as useEmotionCache } from '@emotion/react';\nimport type { SerializedStyles } from '@emotion/serialize';\nimport { insertStyles } from '@emotion/utils';\n// eslint-disable-next-line no-restricted-imports\nimport type { ClassNamesArg } from '@emotion/css';\n// eslint-disable-next-line no-restricted-imports\nimport { cx as innerCx } from '@emotion/css';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\n\nconst isSerializedStyles = ( o: any ): o is SerializedStyles =>\n\ttypeof o !== 'undefined' &&\n\to !== null &&\n\t[ 'name', 'styles' ].every( ( p ) => typeof o[ p ] !== 'undefined' );\n\n/**\n * Retrieve a `cx` function that knows how to handle `SerializedStyles`\n * returned by the `@emotion/react` `css` function in addition to what\n * `cx` normally knows how to handle. It also hooks into the Emotion\n * Cache, allowing `css` calls to work inside iframes.\n *\n * ```jsx\n * import { css } from '@emotion/react';\n *\n * const styles = css`\n * \tcolor: red\n * `;\n *\n * function RedText( { className, ...props } ) {\n * \tconst cx = useCx();\n *\n * \tconst classes = cx(styles, className);\n *\n * \treturn <span className={classes} {...props} />;\n * }\n * ```\n */\nexport const useCx = () => {\n\tconst cache = useEmotionCache();\n\n\tconst cx = useCallback(\n\t\t( ...classNames: ( ClassNamesArg | SerializedStyles )[] ) => {\n\t\t\tif ( cache === null ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'The `useCx` hook should be only used within a valid Emotion Cache Context'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn innerCx(\n\t\t\t\t...classNames.map( ( arg ) => {\n\t\t\t\t\tif ( isSerializedStyles( arg ) ) {\n\t\t\t\t\t\tinsertStyles( cache, arg, false );\n\t\t\t\t\t\treturn `${ cache.key }-${ arg.name }`;\n\t\t\t\t\t}\n\t\t\t\t\treturn arg;\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ cache ]\n\t);\n\n\treturn cx;\n};\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAIA,IAAAE,IAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AAdA;AACA;AACA;;AAIA;;AAEA;;AAGA;AACA;AACA;;AAGA,MAAMI,kBAAkB,GAAKC,CAAM,IAClC,OAAOA,CAAC,KAAK,WAAW,IACxBA,CAAC,KAAK,IAAI,IACV,CAAE,MAAM,EAAE,QAAQ,CAAE,CAACC,KAAK,CAAIC,CAAC,IAAM,OAAOF,CAAC,CAAEE,CAAC,CAAE,KAAK,WAAY,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,GAAGA,CAAA,KAAM;EAC1B,MAAMC,KAAK,GAAG,IAAAC,+BAAe,EAAC,CAAC;EAE/B,MAAMC,EAAE,GAAG,IAAAC,oBAAW,EACrB,CAAE,GAAGC,UAAkD,KAAM;IAC5D,IAAKJ,KAAK,KAAK,IAAI,EAAG;MACrB,MAAM,IAAIK,KAAK,CACd,2EACD,CAAC;IACF;IAEA,OAAO,IAAAC,OAAO,EACb,GAAGF,UAAU,CAACG,GAAG,CAAIC,GAAG,IAAM;MAC7B,IAAKb,kBAAkB,CAAEa,GAAI,CAAC,EAAG;QAChC,IAAAC,mBAAY,EAAET,KAAK,EAAEQ,GAAG,EAAE,KAAM,CAAC;QACjC,OAAO,GAAIR,KAAK,CAACU,GAAG,IAAMF,GAAG,CAACG,IAAI,EAAG;MACtC;MACA,OAAOH,GAAG;IACX,CAAE,CACH,CAAC;EACF,CAAC,EACD,CAAER,KAAK,CACR,CAAC;EAED,OAAOE,EAAE;AACV,CAAC;AAACU,OAAA,CAAAb,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {