@wordpress/components 29.3.0 → 29.5.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 (568) hide show
  1. package/CHANGELOG.md +30 -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/utils.js +0 -1
  15. package/build/border-box-control/utils.js.map +1 -1
  16. package/build/border-control/border-control-dropdown/component.js +19 -22
  17. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/hook.js +3 -3
  19. package/build/border-control/border-control-dropdown/hook.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/border-control/styles.js +24 -19
  23. package/build/border-control/styles.js.map +1 -1
  24. package/build/box-control/index.js +0 -1
  25. package/build/box-control/index.js.map +1 -1
  26. package/build/box-control/input-control.js +0 -1
  27. package/build/box-control/input-control.js.map +1 -1
  28. package/build/box-control/utils.js +0 -1
  29. package/build/box-control/utils.js.map +1 -1
  30. package/build/button/index.native.js +0 -1
  31. package/build/button/index.native.js.map +1 -1
  32. package/build/circular-option-picker/circular-option-picker.js +1 -0
  33. package/build/circular-option-picker/circular-option-picker.js.map +1 -1
  34. package/build/circular-option-picker/index.js +7 -0
  35. package/build/circular-option-picker/index.js.map +1 -1
  36. package/build/circular-option-picker/types.js.map +1 -1
  37. package/build/circular-option-picker/utils.js +31 -0
  38. package/build/circular-option-picker/utils.js.map +1 -0
  39. package/build/color-indicator/index.native.js +0 -1
  40. package/build/color-indicator/index.native.js.map +1 -1
  41. package/build/color-palette/index.js +9 -30
  42. package/build/color-palette/index.js.map +1 -1
  43. package/build/color-palette/index.native.js +0 -1
  44. package/build/color-palette/index.native.js.map +1 -1
  45. package/build/color-palette/utils.js +0 -1
  46. package/build/color-palette/utils.js.map +1 -1
  47. package/build/combobox-control/index.js +4 -3
  48. package/build/combobox-control/index.js.map +1 -1
  49. package/build/combobox-control/types.js.map +1 -1
  50. package/build/composite/legacy/index.js +0 -1
  51. package/build/composite/legacy/index.js.map +1 -1
  52. package/build/context/context-connect.js +0 -1
  53. package/build/context/context-connect.js.map +1 -1
  54. package/build/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  55. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  56. package/build/custom-gradient-picker/gradient-bar/index.js +0 -1
  57. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  58. package/build/custom-gradient-picker/gradient-bar/utils.js +0 -1
  59. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  60. package/build/custom-gradient-picker/index.js +0 -1
  61. package/build/custom-gradient-picker/index.js.map +1 -1
  62. package/build/custom-gradient-picker/serializer.js +0 -1
  63. package/build/custom-gradient-picker/serializer.js.map +1 -1
  64. package/build/custom-gradient-picker/utils.js +0 -1
  65. package/build/custom-gradient-picker/utils.js.map +1 -1
  66. package/build/custom-select-control/index.js +0 -1
  67. package/build/custom-select-control/index.js.map +1 -1
  68. package/build/dashicon/index.js +0 -1
  69. package/build/dashicon/index.js.map +1 -1
  70. package/build/date-time/date/index.js +0 -1
  71. package/build/date-time/date/index.js.map +1 -1
  72. package/build/date-time/date/use-lilius/index.js +0 -1
  73. package/build/date-time/date/use-lilius/index.js.map +1 -1
  74. package/build/date-time/time/index.js +0 -1
  75. package/build/date-time/time/index.js.map +1 -1
  76. package/build/dimension-control/index.js +0 -1
  77. package/build/dimension-control/index.js.map +1 -1
  78. package/build/dimension-control/sizes.js +0 -1
  79. package/build/dimension-control/sizes.js.map +1 -1
  80. package/build/draggable/index.js +0 -1
  81. package/build/draggable/index.js.map +1 -1
  82. package/build/draggable/index.native.js +0 -1
  83. package/build/draggable/index.native.js.map +1 -1
  84. package/build/dropdown-menu/index.js +0 -1
  85. package/build/dropdown-menu/index.js.map +1 -1
  86. package/build/dropdown-menu/index.native.js +0 -1
  87. package/build/dropdown-menu/index.native.js.map +1 -1
  88. package/build/duotone-picker/color-list-picker/index.js +0 -1
  89. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  90. package/build/duotone-picker/duotone-picker.js +8 -29
  91. package/build/duotone-picker/duotone-picker.js.map +1 -1
  92. package/build/duotone-picker/utils.js +0 -1
  93. package/build/duotone-picker/utils.js.map +1 -1
  94. package/build/external-link/index.js +0 -1
  95. package/build/external-link/index.js.map +1 -1
  96. package/build/font-size-picker/font-size-picker-select.js +4 -15
  97. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  98. package/build/font-size-picker/font-size-picker-toggle-group.js +0 -1
  99. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  100. package/build/font-size-picker/index.js +0 -1
  101. package/build/font-size-picker/index.js.map +1 -1
  102. package/build/font-size-picker/index.native.js +0 -1
  103. package/build/font-size-picker/index.native.js.map +1 -1
  104. package/build/font-size-picker/types.js.map +1 -1
  105. package/build/font-size-picker/utils.js +0 -1
  106. package/build/font-size-picker/utils.js.map +1 -1
  107. package/build/form-token-field/index.js +0 -1
  108. package/build/form-token-field/index.js.map +1 -1
  109. package/build/form-token-field/suggestions-list.js +0 -1
  110. package/build/form-token-field/suggestions-list.js.map +1 -1
  111. package/build/gradient-picker/index.js +8 -29
  112. package/build/gradient-picker/index.js.map +1 -1
  113. package/build/guide/index.js +0 -1
  114. package/build/guide/index.js.map +1 -1
  115. package/build/guide/page-control.js +0 -1
  116. package/build/guide/page-control.js.map +1 -1
  117. package/build/h-stack/hook.js +0 -1
  118. package/build/h-stack/hook.js.map +1 -1
  119. package/build/higher-order/navigate-regions/index.js +0 -1
  120. package/build/higher-order/navigate-regions/index.js.map +1 -1
  121. package/build/higher-order/with-fallback-styles/index.js +0 -1
  122. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  123. package/build/higher-order/with-filters/index.js +0 -1
  124. package/build/higher-order/with-filters/index.js.map +1 -1
  125. package/build/higher-order/with-notices/index.js +0 -1
  126. package/build/higher-order/with-notices/index.js.map +1 -1
  127. package/build/input-control/styles/input-control-styles.js +22 -22
  128. package/build/input-control/styles/input-control-styles.js.map +1 -1
  129. package/build/keyboard-shortcuts/index.js +0 -1
  130. package/build/keyboard-shortcuts/index.js.map +1 -1
  131. package/build/menu-items-choice/index.js +0 -1
  132. package/build/menu-items-choice/index.js.map +1 -1
  133. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  134. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  135. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  136. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  137. package/build/mobile/bottom-sheet/picker-cell.native.js +0 -1
  138. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  139. package/build/mobile/bottom-sheet/switch-cell.native.js +1 -1
  140. package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  141. package/build/mobile/bottom-sheet-select-control/index.native.js +0 -1
  142. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  143. package/build/mobile/color-settings/palette.screen.native.js +0 -1
  144. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  145. package/build/mobile/gradient/index.native.js +0 -1
  146. package/build/mobile/gradient/index.native.js.map +1 -1
  147. package/build/mobile/media-edit/index.native.js +0 -1
  148. package/build/mobile/media-edit/index.native.js.map +1 -1
  149. package/build/mobile/picker/index.android.js +0 -1
  150. package/build/mobile/picker/index.android.js.map +1 -1
  151. package/build/mobile/picker/index.ios.js +0 -1
  152. package/build/mobile/picker/index.ios.js.map +1 -1
  153. package/build/mobile/segmented-control/index.native.js +0 -1
  154. package/build/mobile/segmented-control/index.native.js.map +1 -1
  155. package/build/mobile/utils/get-px-from-css-unit.native.js +0 -1
  156. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  157. package/build/navigable-container/container.js +0 -1
  158. package/build/navigable-container/container.js.map +1 -1
  159. package/build/navigation/group/index.js +0 -1
  160. package/build/navigation/group/index.js.map +1 -1
  161. package/build/navigation/menu/menu-title-search.js +0 -1
  162. package/build/navigation/menu/menu-title-search.js.map +1 -1
  163. package/build/navigation/menu/search-no-results-found.js +0 -1
  164. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  165. package/build/navigator/navigator/component.js +0 -1
  166. package/build/navigator/navigator/component.js.map +1 -1
  167. package/build/navigator/navigator-screen/component.js +0 -1
  168. package/build/navigator/navigator-screen/component.js.map +1 -1
  169. package/build/navigator/utils/router.js +0 -1
  170. package/build/navigator/utils/router.js.map +1 -1
  171. package/build/notice/index.js +0 -1
  172. package/build/notice/index.js.map +1 -1
  173. package/build/notice/list.js +0 -1
  174. package/build/notice/list.js.map +1 -1
  175. package/build/notice/list.native.js +0 -1
  176. package/build/notice/list.native.js.map +1 -1
  177. package/build/number-control/index.js +2 -2
  178. package/build/number-control/index.js.map +1 -1
  179. package/build/palette-edit/index.js +0 -1
  180. package/build/palette-edit/index.js.map +1 -1
  181. package/build/panel/actions.native.js +0 -1
  182. package/build/panel/actions.native.js.map +1 -1
  183. package/build/query-controls/index.js +0 -1
  184. package/build/query-controls/index.js.map +1 -1
  185. package/build/query-controls/terms.js +0 -1
  186. package/build/query-controls/terms.js.map +1 -1
  187. package/build/radio-control/index.js +0 -1
  188. package/build/radio-control/index.js.map +1 -1
  189. package/build/radio-control/index.native.js +0 -1
  190. package/build/radio-control/index.native.js.map +1 -1
  191. package/build/range-control/rail.js +0 -1
  192. package/build/range-control/rail.js.map +1 -1
  193. package/build/resizable-box/index.js +0 -1
  194. package/build/resizable-box/index.js.map +1 -1
  195. package/build/sandbox/index.js +0 -1
  196. package/build/sandbox/index.js.map +1 -1
  197. package/build/sandbox/index.native.js +0 -1
  198. package/build/sandbox/index.native.js.map +1 -1
  199. package/build/search-control/index.native.js +0 -1
  200. package/build/search-control/index.native.js.map +1 -1
  201. package/build/select-control/index.js +0 -1
  202. package/build/select-control/index.js.map +1 -1
  203. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  204. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  205. package/build/slot-fill/provider.js +0 -1
  206. package/build/slot-fill/provider.js.map +1 -1
  207. package/build/slot-fill/slot.js +0 -1
  208. package/build/slot-fill/slot.js.map +1 -1
  209. package/build/snackbar/index.js +0 -1
  210. package/build/snackbar/index.js.map +1 -1
  211. package/build/snackbar/list.js +0 -1
  212. package/build/snackbar/list.js.map +1 -1
  213. package/build/tab-panel/index.js +0 -1
  214. package/build/tab-panel/index.js.map +1 -1
  215. package/build/tabs/index.js +0 -1
  216. package/build/tabs/index.js.map +1 -1
  217. package/build/text/utils.js +0 -1
  218. package/build/text/utils.js.map +1 -1
  219. package/build/textarea-control/styles/textarea-control-styles.js +3 -3
  220. package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
  221. package/build/theme/color-algorithms.js +0 -1
  222. package/build/theme/color-algorithms.js.map +1 -1
  223. package/build/toolbar/toolbar-group/index.js +0 -1
  224. package/build/toolbar/toolbar-group/index.js.map +1 -1
  225. package/build/tools-panel/tools-panel/hook.js +0 -1
  226. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  227. package/build/tools-panel/tools-panel-header/component.js +0 -1
  228. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  229. package/build/tree-grid/index.js +0 -1
  230. package/build/tree-grid/index.js.map +1 -1
  231. package/build/tree-select/index.js +0 -1
  232. package/build/tree-select/index.js.map +1 -1
  233. package/build/unit-control/index.js +0 -1
  234. package/build/unit-control/index.js.map +1 -1
  235. package/build/unit-control/index.native.js +0 -1
  236. package/build/unit-control/index.native.js.map +1 -1
  237. package/build/unit-control/unit-select-control.js +0 -1
  238. package/build/unit-control/unit-select-control.js.map +1 -1
  239. package/build/unit-control/utils.js +0 -1
  240. package/build/unit-control/utils.js.map +1 -1
  241. package/build/utils/get-valid-children.js +0 -1
  242. package/build/utils/get-valid-children.js.map +1 -1
  243. package/build/utils/hooks/use-animated-offset-rect.js +0 -1
  244. package/build/utils/hooks/use-animated-offset-rect.js.map +1 -1
  245. package/build/utils/hooks/use-cx.js +0 -1
  246. package/build/utils/hooks/use-cx.js.map +1 -1
  247. package/build/utils/math.js +0 -1
  248. package/build/utils/math.js.map +1 -1
  249. package/build/utils/rtl.js +0 -1
  250. package/build/utils/rtl.js.map +1 -1
  251. package/build/utils/values.js +0 -1
  252. package/build/utils/values.js.map +1 -1
  253. package/build/z-stack/component.js +0 -1
  254. package/build/z-stack/component.js.map +1 -1
  255. package/build-module/alignment-matrix-control/icon.js +0 -1
  256. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  257. package/build-module/alignment-matrix-control/index.js +0 -1
  258. package/build-module/alignment-matrix-control/index.js.map +1 -1
  259. package/build-module/autocomplete/autocompleter-ui.js +0 -1
  260. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  261. package/build-module/autocomplete/autocompleter-ui.native.js +0 -1
  262. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  263. package/build-module/autocomplete/get-default-use-items.js +0 -1
  264. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  265. package/build-module/autocomplete/index.js +0 -1
  266. package/build-module/autocomplete/index.js.map +1 -1
  267. package/build-module/border-box-control/utils.js +0 -1
  268. package/build-module/border-box-control/utils.js.map +1 -1
  269. package/build-module/border-control/border-control-dropdown/component.js +19 -22
  270. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  271. package/build-module/border-control/border-control-dropdown/hook.js +3 -3
  272. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  273. package/build-module/border-control/border-control-style-picker/component.js +0 -1
  274. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  275. package/build-module/border-control/styles.js +22 -13
  276. package/build-module/border-control/styles.js.map +1 -1
  277. package/build-module/box-control/index.js +0 -1
  278. package/build-module/box-control/index.js.map +1 -1
  279. package/build-module/box-control/input-control.js +0 -1
  280. package/build-module/box-control/input-control.js.map +1 -1
  281. package/build-module/box-control/utils.js +0 -1
  282. package/build-module/box-control/utils.js.map +1 -1
  283. package/build-module/button/index.native.js +0 -1
  284. package/build-module/button/index.native.js.map +1 -1
  285. package/build-module/circular-option-picker/circular-option-picker.js +1 -0
  286. package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
  287. package/build-module/circular-option-picker/index.js +1 -0
  288. package/build-module/circular-option-picker/index.js.map +1 -1
  289. package/build-module/circular-option-picker/types.js.map +1 -1
  290. package/build-module/circular-option-picker/utils.js +25 -0
  291. package/build-module/circular-option-picker/utils.js.map +1 -0
  292. package/build-module/color-indicator/index.native.js +0 -1
  293. package/build-module/color-indicator/index.native.js.map +1 -1
  294. package/build-module/color-palette/index.js +7 -30
  295. package/build-module/color-palette/index.js.map +1 -1
  296. package/build-module/color-palette/index.native.js +0 -1
  297. package/build-module/color-palette/index.native.js.map +1 -1
  298. package/build-module/color-palette/utils.js +0 -1
  299. package/build-module/color-palette/utils.js.map +1 -1
  300. package/build-module/combobox-control/index.js +4 -3
  301. package/build-module/combobox-control/index.js.map +1 -1
  302. package/build-module/combobox-control/types.js.map +1 -1
  303. package/build-module/composite/legacy/index.js +0 -1
  304. package/build-module/composite/legacy/index.js.map +1 -1
  305. package/build-module/context/context-connect.js +0 -1
  306. package/build-module/context/context-connect.js.map +1 -1
  307. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  308. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  309. package/build-module/custom-gradient-picker/gradient-bar/index.js +0 -1
  310. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  311. package/build-module/custom-gradient-picker/gradient-bar/utils.js +0 -1
  312. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  313. package/build-module/custom-gradient-picker/index.js +0 -1
  314. package/build-module/custom-gradient-picker/index.js.map +1 -1
  315. package/build-module/custom-gradient-picker/serializer.js +0 -1
  316. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  317. package/build-module/custom-gradient-picker/utils.js +0 -1
  318. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  319. package/build-module/custom-select-control/index.js +0 -1
  320. package/build-module/custom-select-control/index.js.map +1 -1
  321. package/build-module/dashicon/index.js +0 -1
  322. package/build-module/dashicon/index.js.map +1 -1
  323. package/build-module/date-time/date/index.js +0 -1
  324. package/build-module/date-time/date/index.js.map +1 -1
  325. package/build-module/date-time/date/use-lilius/index.js +0 -1
  326. package/build-module/date-time/date/use-lilius/index.js.map +1 -1
  327. package/build-module/date-time/time/index.js +0 -1
  328. package/build-module/date-time/time/index.js.map +1 -1
  329. package/build-module/dimension-control/index.js +0 -1
  330. package/build-module/dimension-control/index.js.map +1 -1
  331. package/build-module/dimension-control/sizes.js +0 -1
  332. package/build-module/dimension-control/sizes.js.map +1 -1
  333. package/build-module/draggable/index.js +0 -1
  334. package/build-module/draggable/index.js.map +1 -1
  335. package/build-module/draggable/index.native.js +0 -1
  336. package/build-module/draggable/index.native.js.map +1 -1
  337. package/build-module/dropdown-menu/index.js +0 -1
  338. package/build-module/dropdown-menu/index.js.map +1 -1
  339. package/build-module/dropdown-menu/index.native.js +0 -1
  340. package/build-module/dropdown-menu/index.native.js.map +1 -1
  341. package/build-module/duotone-picker/color-list-picker/index.js +0 -1
  342. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  343. package/build-module/duotone-picker/duotone-picker.js +6 -29
  344. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  345. package/build-module/duotone-picker/utils.js +0 -1
  346. package/build-module/duotone-picker/utils.js.map +1 -1
  347. package/build-module/external-link/index.js +0 -1
  348. package/build-module/external-link/index.js.map +1 -1
  349. package/build-module/font-size-picker/font-size-picker-select.js +4 -15
  350. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  351. package/build-module/font-size-picker/font-size-picker-toggle-group.js +0 -1
  352. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  353. package/build-module/font-size-picker/index.js +0 -1
  354. package/build-module/font-size-picker/index.js.map +1 -1
  355. package/build-module/font-size-picker/index.native.js +0 -1
  356. package/build-module/font-size-picker/index.native.js.map +1 -1
  357. package/build-module/font-size-picker/types.js.map +1 -1
  358. package/build-module/font-size-picker/utils.js +0 -1
  359. package/build-module/font-size-picker/utils.js.map +1 -1
  360. package/build-module/form-token-field/index.js +0 -1
  361. package/build-module/form-token-field/index.js.map +1 -1
  362. package/build-module/form-token-field/suggestions-list.js +0 -1
  363. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  364. package/build-module/gradient-picker/index.js +6 -29
  365. package/build-module/gradient-picker/index.js.map +1 -1
  366. package/build-module/guide/index.js +0 -1
  367. package/build-module/guide/index.js.map +1 -1
  368. package/build-module/guide/page-control.js +0 -1
  369. package/build-module/guide/page-control.js.map +1 -1
  370. package/build-module/h-stack/hook.js +0 -1
  371. package/build-module/h-stack/hook.js.map +1 -1
  372. package/build-module/higher-order/navigate-regions/index.js +0 -1
  373. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  374. package/build-module/higher-order/with-fallback-styles/index.js +0 -1
  375. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  376. package/build-module/higher-order/with-filters/index.js +0 -1
  377. package/build-module/higher-order/with-filters/index.js.map +1 -1
  378. package/build-module/higher-order/with-notices/index.js +0 -1
  379. package/build-module/higher-order/with-notices/index.js.map +1 -1
  380. package/build-module/input-control/styles/input-control-styles.js +22 -22
  381. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  382. package/build-module/keyboard-shortcuts/index.js +0 -1
  383. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  384. package/build-module/menu-items-choice/index.js +0 -1
  385. package/build-module/menu-items-choice/index.js.map +1 -1
  386. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  387. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  388. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  389. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  390. package/build-module/mobile/bottom-sheet/picker-cell.native.js +0 -1
  391. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  392. package/build-module/mobile/bottom-sheet/switch-cell.native.js +1 -1
  393. package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
  394. package/build-module/mobile/bottom-sheet-select-control/index.native.js +0 -1
  395. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  396. package/build-module/mobile/color-settings/palette.screen.native.js +0 -1
  397. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  398. package/build-module/mobile/gradient/index.native.js +0 -1
  399. package/build-module/mobile/gradient/index.native.js.map +1 -1
  400. package/build-module/mobile/media-edit/index.native.js +0 -1
  401. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  402. package/build-module/mobile/picker/index.android.js +0 -1
  403. package/build-module/mobile/picker/index.android.js.map +1 -1
  404. package/build-module/mobile/picker/index.ios.js +0 -1
  405. package/build-module/mobile/picker/index.ios.js.map +1 -1
  406. package/build-module/mobile/segmented-control/index.native.js +0 -1
  407. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  408. package/build-module/mobile/utils/get-px-from-css-unit.native.js +0 -1
  409. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  410. package/build-module/navigable-container/container.js +0 -1
  411. package/build-module/navigable-container/container.js.map +1 -1
  412. package/build-module/navigation/group/index.js +0 -1
  413. package/build-module/navigation/group/index.js.map +1 -1
  414. package/build-module/navigation/menu/menu-title-search.js +0 -1
  415. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  416. package/build-module/navigation/menu/search-no-results-found.js +0 -1
  417. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  418. package/build-module/navigator/navigator/component.js +0 -1
  419. package/build-module/navigator/navigator/component.js.map +1 -1
  420. package/build-module/navigator/navigator-screen/component.js +0 -1
  421. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  422. package/build-module/navigator/utils/router.js +0 -1
  423. package/build-module/navigator/utils/router.js.map +1 -1
  424. package/build-module/notice/index.js +0 -1
  425. package/build-module/notice/index.js.map +1 -1
  426. package/build-module/notice/list.js +0 -1
  427. package/build-module/notice/list.js.map +1 -1
  428. package/build-module/notice/list.native.js +0 -1
  429. package/build-module/notice/list.native.js.map +1 -1
  430. package/build-module/number-control/index.js +2 -2
  431. package/build-module/number-control/index.js.map +1 -1
  432. package/build-module/palette-edit/index.js +0 -1
  433. package/build-module/palette-edit/index.js.map +1 -1
  434. package/build-module/panel/actions.native.js +0 -1
  435. package/build-module/panel/actions.native.js.map +1 -1
  436. package/build-module/query-controls/index.js +0 -1
  437. package/build-module/query-controls/index.js.map +1 -1
  438. package/build-module/query-controls/terms.js +0 -1
  439. package/build-module/query-controls/terms.js.map +1 -1
  440. package/build-module/radio-control/index.js +0 -1
  441. package/build-module/radio-control/index.js.map +1 -1
  442. package/build-module/radio-control/index.native.js +0 -1
  443. package/build-module/radio-control/index.native.js.map +1 -1
  444. package/build-module/range-control/rail.js +0 -1
  445. package/build-module/range-control/rail.js.map +1 -1
  446. package/build-module/resizable-box/index.js +0 -1
  447. package/build-module/resizable-box/index.js.map +1 -1
  448. package/build-module/sandbox/index.js +0 -1
  449. package/build-module/sandbox/index.js.map +1 -1
  450. package/build-module/sandbox/index.native.js +0 -1
  451. package/build-module/sandbox/index.native.js.map +1 -1
  452. package/build-module/search-control/index.native.js +0 -1
  453. package/build-module/search-control/index.native.js.map +1 -1
  454. package/build-module/select-control/index.js +0 -1
  455. package/build-module/select-control/index.js.map +1 -1
  456. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  457. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  458. package/build-module/slot-fill/provider.js +0 -1
  459. package/build-module/slot-fill/provider.js.map +1 -1
  460. package/build-module/slot-fill/slot.js +0 -1
  461. package/build-module/slot-fill/slot.js.map +1 -1
  462. package/build-module/snackbar/index.js +0 -1
  463. package/build-module/snackbar/index.js.map +1 -1
  464. package/build-module/snackbar/list.js +0 -1
  465. package/build-module/snackbar/list.js.map +1 -1
  466. package/build-module/tab-panel/index.js +0 -1
  467. package/build-module/tab-panel/index.js.map +1 -1
  468. package/build-module/tabs/index.js +0 -1
  469. package/build-module/tabs/index.js.map +1 -1
  470. package/build-module/text/utils.js +0 -1
  471. package/build-module/text/utils.js.map +1 -1
  472. package/build-module/textarea-control/styles/textarea-control-styles.js +3 -3
  473. package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
  474. package/build-module/theme/color-algorithms.js +0 -1
  475. package/build-module/theme/color-algorithms.js.map +1 -1
  476. package/build-module/toolbar/toolbar-group/index.js +0 -1
  477. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  478. package/build-module/tools-panel/tools-panel/hook.js +0 -1
  479. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  480. package/build-module/tools-panel/tools-panel-header/component.js +0 -1
  481. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  482. package/build-module/tree-grid/index.js +0 -1
  483. package/build-module/tree-grid/index.js.map +1 -1
  484. package/build-module/tree-select/index.js +0 -1
  485. package/build-module/tree-select/index.js.map +1 -1
  486. package/build-module/unit-control/index.js +0 -1
  487. package/build-module/unit-control/index.js.map +1 -1
  488. package/build-module/unit-control/index.native.js +0 -1
  489. package/build-module/unit-control/index.native.js.map +1 -1
  490. package/build-module/unit-control/unit-select-control.js +0 -1
  491. package/build-module/unit-control/unit-select-control.js.map +1 -1
  492. package/build-module/unit-control/utils.js +0 -1
  493. package/build-module/unit-control/utils.js.map +1 -1
  494. package/build-module/utils/get-valid-children.js +0 -1
  495. package/build-module/utils/get-valid-children.js.map +1 -1
  496. package/build-module/utils/hooks/use-animated-offset-rect.js +0 -1
  497. package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -1
  498. package/build-module/utils/hooks/use-cx.js +0 -1
  499. package/build-module/utils/hooks/use-cx.js.map +1 -1
  500. package/build-module/utils/math.js +0 -1
  501. package/build-module/utils/math.js.map +1 -1
  502. package/build-module/utils/rtl.js +0 -1
  503. package/build-module/utils/rtl.js.map +1 -1
  504. package/build-module/utils/values.js +0 -1
  505. package/build-module/utils/values.js.map +1 -1
  506. package/build-module/z-stack/component.js +0 -1
  507. package/build-module/z-stack/component.js.map +1 -1
  508. package/build-style/style-rtl.css +9 -6
  509. package/build-style/style.css +10 -6
  510. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  511. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -1
  512. package/build-types/border-control/styles.d.ts +1 -1
  513. package/build-types/border-control/styles.d.ts.map +1 -1
  514. package/build-types/circular-option-picker/index.d.ts +1 -0
  515. package/build-types/circular-option-picker/index.d.ts.map +1 -1
  516. package/build-types/circular-option-picker/types.d.ts +11 -7
  517. package/build-types/circular-option-picker/types.d.ts.map +1 -1
  518. package/build-types/circular-option-picker/utils.d.ts +17 -0
  519. package/build-types/circular-option-picker/utils.d.ts.map +1 -0
  520. package/build-types/color-palette/index.d.ts.map +1 -1
  521. package/build-types/combobox-control/index.d.ts.map +1 -1
  522. package/build-types/combobox-control/stories/index.story.d.ts +4 -0
  523. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  524. package/build-types/combobox-control/types.d.ts +7 -0
  525. package/build-types/combobox-control/types.d.ts.map +1 -1
  526. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  527. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  528. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  529. package/build-types/font-size-picker/types.d.ts +4 -0
  530. package/build-types/font-size-picker/types.d.ts.map +1 -1
  531. package/build-types/gradient-picker/index.d.ts.map +1 -1
  532. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  533. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  534. package/package.json +19 -19
  535. package/src/border-box-control/test/index.tsx +1 -1
  536. package/src/border-control/border-control-dropdown/component.tsx +8 -12
  537. package/src/border-control/border-control-dropdown/hook.ts +3 -3
  538. package/src/border-control/styles.ts +4 -10
  539. package/src/border-control/test/index.js +1 -1
  540. package/src/circular-option-picker/README.md +13 -0
  541. package/src/circular-option-picker/circular-option-picker.tsx +1 -1
  542. package/src/circular-option-picker/index.tsx +1 -0
  543. package/src/circular-option-picker/stories/index.story.tsx +1 -1
  544. package/src/circular-option-picker/test/index.tsx +1 -0
  545. package/src/circular-option-picker/types.ts +11 -10
  546. package/src/circular-option-picker/utils.tsx +27 -0
  547. package/src/color-palette/index.tsx +11 -29
  548. package/src/color-palette/test/index.tsx +1 -1
  549. package/src/combobox-control/README.md +9 -1
  550. package/src/combobox-control/index.tsx +4 -1
  551. package/src/combobox-control/style.scss +4 -1
  552. package/src/combobox-control/types.ts +7 -0
  553. package/src/duotone-picker/duotone-picker.tsx +10 -28
  554. package/src/font-size-picker/README.md +2 -0
  555. package/src/font-size-picker/font-size-picker-select.tsx +4 -23
  556. package/src/font-size-picker/stories/index.story.tsx +4 -0
  557. package/src/font-size-picker/test/index.tsx +2 -24
  558. package/src/font-size-picker/types.ts +4 -0
  559. package/src/gradient-picker/index.tsx +10 -28
  560. package/src/input-control/styles/input-control-styles.tsx +9 -1
  561. package/src/mobile/bottom-sheet/switch-cell.native.js +1 -1
  562. package/src/notice/README.md +1 -1
  563. package/src/notice/style.scss +1 -0
  564. package/src/number-control/README.md +1 -1
  565. package/src/number-control/index.tsx +2 -2
  566. package/src/text-control/style.scss +6 -0
  567. package/src/textarea-control/styles/textarea-control-styles.ts +0 -2
  568. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["ActionSheetIOS","__","Component","forwardRef","useContext","useDispatch","useSelect","usePreferredColorScheme","styles","BottomSheetContext","jsx","_jsx","Picker","presentPicker","options","onChange","title","destructiveButtonIndex","disabledButtonIndices","getAnchor","isBottomSheetOpened","closeBottomSheet","onHandleClosingBottomSheet","colorScheme","props","labels","map","label","fullOptions","concat","buttonTitleColor","color","showActionSheetWithOptions","cancelButtonIndex","anchor","tintColor","buttonIndex","selected","requiresModal","value","render","PickerComponent","ref","select","isEditorSidebarOpened","closeGeneralSidebar"],"sources":["@wordpress/components/src/mobile/picker/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActionSheetIOS } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, forwardRef, useContext } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\n\nclass Picker extends Component {\n\tpresentPicker() {\n\t\tconst {\n\t\t\toptions,\n\t\t\tonChange,\n\t\t\ttitle,\n\t\t\tdestructiveButtonIndex,\n\t\t\tdisabledButtonIndices,\n\t\t\tgetAnchor,\n\t\t\tisBottomSheetOpened,\n\t\t\tcloseBottomSheet,\n\t\t\tonHandleClosingBottomSheet,\n\t\t\tcolorScheme,\n\t\t} = this.props;\n\t\tconst labels = options.map( ( { label } ) => label );\n\t\tconst fullOptions = [ __( 'Cancel' ) ].concat( labels );\n\n\t\tconst buttonTitleColor =\n\t\t\tcolorScheme === 'light'\n\t\t\t\t? styles[ 'components-picker__button-title' ].color\n\t\t\t\t: styles[ 'components-picker__button-title--dark' ].color;\n\n\t\tActionSheetIOS.showActionSheetWithOptions(\n\t\t\t{\n\t\t\t\ttitle,\n\t\t\t\toptions: fullOptions,\n\t\t\t\tcancelButtonIndex: 0,\n\t\t\t\tdestructiveButtonIndex,\n\t\t\t\tdisabledButtonIndices,\n\t\t\t\tanchor: getAnchor && getAnchor(),\n\t\t\t\ttintColor: buttonTitleColor,\n\t\t\t},\n\t\t\t( buttonIndex ) => {\n\t\t\t\tif ( buttonIndex === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selected = options[ buttonIndex - 1 ];\n\n\t\t\t\tif ( selected.requiresModal && isBottomSheetOpened ) {\n\t\t\t\t\tonHandleClosingBottomSheet( () => {\n\t\t\t\t\t\tonChange( selected.value );\n\t\t\t\t\t} );\n\t\t\t\t\tcloseBottomSheet();\n\t\t\t\t} else {\n\t\t\t\t\tonChange( selected.value );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nconst PickerComponent = forwardRef( ( props, ref ) => {\n\tconst isBottomSheetOpened = useSelect( ( select ) =>\n\t\tselect( 'core/edit-post' ).isEditorSidebarOpened()\n\t);\n\tconst { closeGeneralSidebar } = useDispatch( 'core/edit-post' );\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\n\tconst colorScheme = usePreferredColorScheme();\n\n\treturn (\n\t\t<Picker\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tisBottomSheetOpened={ isBottomSheetOpened }\n\t\t\tcloseBottomSheet={ closeGeneralSidebar }\n\t\t\tonHandleClosingBottomSheet={ onHandleClosingBottomSheet }\n\t\t\tcolorScheme={ colorScheme }\n\t\t/>\n\t);\n} );\n\nexport default PickerComponent;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,cAAc;;AAE7C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AACtE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,uBAAuB,QAAQ,oBAAoB;;AAE5D;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAClC,SAASC,kBAAkB,QAAQ,sCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,MAAMC,MAAM,SAASV,SAAS,CAAC;EAC9BW,aAAaA,CAAA,EAAG;IACf,MAAM;MACLC,OAAO;MACPC,QAAQ;MACRC,KAAK;MACLC,sBAAsB;MACtBC,qBAAqB;MACrBC,SAAS;MACTC,mBAAmB;MACnBC,gBAAgB;MAChBC,0BAA0B;MAC1BC;IACD,CAAC,GAAG,IAAI,CAACC,KAAK;IACd,MAAMC,MAAM,GAAGX,OAAO,CAACY,GAAG,CAAE,CAAE;MAAEC;IAAM,CAAC,KAAMA,KAAM,CAAC;IACpD,MAAMC,WAAW,GAAG,CAAE3B,EAAE,CAAE,QAAS,CAAC,CAAE,CAAC4B,MAAM,CAAEJ,MAAO,CAAC;IAEvD,MAAMK,gBAAgB,GACrBP,WAAW,KAAK,OAAO,GACpBf,MAAM,CAAE,iCAAiC,CAAE,CAACuB,KAAK,GACjDvB,MAAM,CAAE,uCAAuC,CAAE,CAACuB,KAAK;IAE3D/B,cAAc,CAACgC,0BAA0B,CACxC;MACChB,KAAK;MACLF,OAAO,EAAEc,WAAW;MACpBK,iBAAiB,EAAE,CAAC;MACpBhB,sBAAsB;MACtBC,qBAAqB;MACrBgB,MAAM,EAAEf,SAAS,IAAIA,SAAS,CAAC,CAAC;MAChCgB,SAAS,EAAEL;IACZ,CAAC,EACCM,WAAW,IAAM;MAClB,IAAKA,WAAW,KAAK,CAAC,EAAG;QACxB;MACD;MACA,MAAMC,QAAQ,GAAGvB,OAAO,CAAEsB,WAAW,GAAG,CAAC,CAAE;MAE3C,IAAKC,QAAQ,CAACC,aAAa,IAAIlB,mBAAmB,EAAG;QACpDE,0BAA0B,CAAE,MAAM;UACjCP,QAAQ,CAAEsB,QAAQ,CAACE,KAAM,CAAC;QAC3B,CAAE,CAAC;QACHlB,gBAAgB,CAAC,CAAC;MACnB,CAAC,MAAM;QACNN,QAAQ,CAAEsB,QAAQ,CAACE,KAAM,CAAC;MAC3B;IACD,CACD,CAAC;EACF;EAEAC,MAAMA,CAAA,EAAG;IACR,OAAO,IAAI;EACZ;AACD;AAEA,MAAMC,eAAe,GAAGtC,UAAU,CAAE,CAAEqB,KAAK,EAAEkB,GAAG,KAAM;EACrD,MAAMtB,mBAAmB,GAAGd,SAAS,CAAIqC,MAAM,IAC9CA,MAAM,CAAE,gBAAiB,CAAC,CAACC,qBAAqB,CAAC,CAClD,CAAC;EACD,MAAM;IAAEC;EAAoB,CAAC,GAAGxC,WAAW,CAAE,gBAAiB,CAAC;EAC/D,MAAM;IAAEiB;EAA2B,CAAC,GAAGlB,UAAU,CAAEK,kBAAmB,CAAC;EAEvE,MAAMc,WAAW,GAAGhB,uBAAuB,CAAC,CAAC;EAE7C,oBACCI,IAAA,CAACC,MAAM;IACN8B,GAAG,EAAGA,GAAK;IAAA,GACNlB,KAAK;IACVJ,mBAAmB,EAAGA,mBAAqB;IAC3CC,gBAAgB,EAAGwB,mBAAqB;IACxCvB,0BAA0B,EAAGA,0BAA4B;IACzDC,WAAW,EAAGA;EAAa,CAC3B,CAAC;AAEJ,CAAE,CAAC;AAEH,eAAekB,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["ActionSheetIOS","__","Component","forwardRef","useContext","useDispatch","useSelect","usePreferredColorScheme","styles","BottomSheetContext","jsx","_jsx","Picker","presentPicker","options","onChange","title","destructiveButtonIndex","disabledButtonIndices","getAnchor","isBottomSheetOpened","closeBottomSheet","onHandleClosingBottomSheet","colorScheme","props","labels","map","label","fullOptions","concat","buttonTitleColor","color","showActionSheetWithOptions","cancelButtonIndex","anchor","tintColor","buttonIndex","selected","requiresModal","value","render","PickerComponent","ref","select","isEditorSidebarOpened","closeGeneralSidebar"],"sources":["@wordpress/components/src/mobile/picker/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActionSheetIOS } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, forwardRef, useContext } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { BottomSheetContext } from '../bottom-sheet/bottom-sheet-context';\n\nclass Picker extends Component {\n\tpresentPicker() {\n\t\tconst {\n\t\t\toptions,\n\t\t\tonChange,\n\t\t\ttitle,\n\t\t\tdestructiveButtonIndex,\n\t\t\tdisabledButtonIndices,\n\t\t\tgetAnchor,\n\t\t\tisBottomSheetOpened,\n\t\t\tcloseBottomSheet,\n\t\t\tonHandleClosingBottomSheet,\n\t\t\tcolorScheme,\n\t\t} = this.props;\n\t\tconst labels = options.map( ( { label } ) => label );\n\t\tconst fullOptions = [ __( 'Cancel' ) ].concat( labels );\n\n\t\tconst buttonTitleColor =\n\t\t\tcolorScheme === 'light'\n\t\t\t\t? styles[ 'components-picker__button-title' ].color\n\t\t\t\t: styles[ 'components-picker__button-title--dark' ].color;\n\n\t\tActionSheetIOS.showActionSheetWithOptions(\n\t\t\t{\n\t\t\t\ttitle,\n\t\t\t\toptions: fullOptions,\n\t\t\t\tcancelButtonIndex: 0,\n\t\t\t\tdestructiveButtonIndex,\n\t\t\t\tdisabledButtonIndices,\n\t\t\t\tanchor: getAnchor && getAnchor(),\n\t\t\t\ttintColor: buttonTitleColor,\n\t\t\t},\n\t\t\t( buttonIndex ) => {\n\t\t\t\tif ( buttonIndex === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selected = options[ buttonIndex - 1 ];\n\n\t\t\t\tif ( selected.requiresModal && isBottomSheetOpened ) {\n\t\t\t\t\tonHandleClosingBottomSheet( () => {\n\t\t\t\t\t\tonChange( selected.value );\n\t\t\t\t\t} );\n\t\t\t\t\tcloseBottomSheet();\n\t\t\t\t} else {\n\t\t\t\t\tonChange( selected.value );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nconst PickerComponent = forwardRef( ( props, ref ) => {\n\tconst isBottomSheetOpened = useSelect( ( select ) =>\n\t\tselect( 'core/edit-post' ).isEditorSidebarOpened()\n\t);\n\tconst { closeGeneralSidebar } = useDispatch( 'core/edit-post' );\n\tconst { onHandleClosingBottomSheet } = useContext( BottomSheetContext );\n\n\tconst colorScheme = usePreferredColorScheme();\n\n\treturn (\n\t\t<Picker\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tisBottomSheetOpened={ isBottomSheetOpened }\n\t\t\tcloseBottomSheet={ closeGeneralSidebar }\n\t\t\tonHandleClosingBottomSheet={ onHandleClosingBottomSheet }\n\t\t\tcolorScheme={ colorScheme }\n\t\t/>\n\t);\n} );\n\nexport default PickerComponent;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,cAAc;;AAE7C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AACtE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,uBAAuB,QAAQ,oBAAoB;;AAE5D;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAClC,SAASC,kBAAkB,QAAQ,sCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,MAAMC,MAAM,SAASV,SAAS,CAAC;EAC9BW,aAAaA,CAAA,EAAG;IACf,MAAM;MACLC,OAAO;MACPC,QAAQ;MACRC,KAAK;MACLC,sBAAsB;MACtBC,qBAAqB;MACrBC,SAAS;MACTC,mBAAmB;MACnBC,gBAAgB;MAChBC,0BAA0B;MAC1BC;IACD,CAAC,GAAG,IAAI,CAACC,KAAK;IACd,MAAMC,MAAM,GAAGX,OAAO,CAACY,GAAG,CAAE,CAAE;MAAEC;IAAM,CAAC,KAAMA,KAAM,CAAC;IACpD,MAAMC,WAAW,GAAG,CAAE3B,EAAE,CAAE,QAAS,CAAC,CAAE,CAAC4B,MAAM,CAAEJ,MAAO,CAAC;IAEvD,MAAMK,gBAAgB,GACrBP,WAAW,KAAK,OAAO,GACpBf,MAAM,CAAE,iCAAiC,CAAE,CAACuB,KAAK,GACjDvB,MAAM,CAAE,uCAAuC,CAAE,CAACuB,KAAK;IAE3D/B,cAAc,CAACgC,0BAA0B,CACxC;MACChB,KAAK;MACLF,OAAO,EAAEc,WAAW;MACpBK,iBAAiB,EAAE,CAAC;MACpBhB,sBAAsB;MACtBC,qBAAqB;MACrBgB,MAAM,EAAEf,SAAS,IAAIA,SAAS,CAAC,CAAC;MAChCgB,SAAS,EAAEL;IACZ,CAAC,EACCM,WAAW,IAAM;MAClB,IAAKA,WAAW,KAAK,CAAC,EAAG;QACxB;MACD;MACA,MAAMC,QAAQ,GAAGvB,OAAO,CAAEsB,WAAW,GAAG,CAAC,CAAE;MAE3C,IAAKC,QAAQ,CAACC,aAAa,IAAIlB,mBAAmB,EAAG;QACpDE,0BAA0B,CAAE,MAAM;UACjCP,QAAQ,CAAEsB,QAAQ,CAACE,KAAM,CAAC;QAC3B,CAAE,CAAC;QACHlB,gBAAgB,CAAC,CAAC;MACnB,CAAC,MAAM;QACNN,QAAQ,CAAEsB,QAAQ,CAACE,KAAM,CAAC;MAC3B;IACD,CACD,CAAC;EACF;EAEAC,MAAMA,CAAA,EAAG;IACR,OAAO,IAAI;EACZ;AACD;AAEA,MAAMC,eAAe,GAAGtC,UAAU,CAAE,CAAEqB,KAAK,EAAEkB,GAAG,KAAM;EACrD,MAAMtB,mBAAmB,GAAGd,SAAS,CAAIqC,MAAM,IAC9CA,MAAM,CAAE,gBAAiB,CAAC,CAACC,qBAAqB,CAAC,CAClD,CAAC;EACD,MAAM;IAAEC;EAAoB,CAAC,GAAGxC,WAAW,CAAE,gBAAiB,CAAC;EAC/D,MAAM;IAAEiB;EAA2B,CAAC,GAAGlB,UAAU,CAAEK,kBAAmB,CAAC;EAEvE,MAAMc,WAAW,GAAGhB,uBAAuB,CAAC,CAAC;EAE7C,oBACCI,IAAA,CAACC,MAAM;IACN8B,GAAG,EAAGA,GAAK;IAAA,GACNlB,KAAK;IACVJ,mBAAmB,EAAGA,mBAAqB;IAC3CC,gBAAgB,EAAGwB,mBAAqB;IACxCvB,0BAA0B,EAAGA,0BAA4B;IACzDC,WAAW,EAAGA;EAAa,CAC3B,CAAC;AAEJ,CAAE,CAAC;AAEH,eAAekB,eAAe","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["View","TouchableWithoutFeedback","Text","Platform","Animated","Easing","useState","useEffect","usePreferredColorSchemeStyle","performLayoutAnimation","styles","jsx","_jsx","jsxs","_jsxs","ANIMATION_DURATION","isIOS","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","segment","segmentIOS","textStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","style","children","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Value","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","TouchableWithoutFeedback","Text","Platform","Animated","Easing","useState","useEffect","usePreferredColorSchemeStyle","performLayoutAnimation","styles","jsx","_jsx","jsxs","_jsxs","ANIMATION_DURATION","isIOS","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","segment","segmentIOS","textStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","style","children","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Value","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Converts string to object { value, unit }.
4
3
  *
@@ -1 +1 @@
1
- {"version":3,"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","expressionsMatches","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","svmin","lvmin","dvmin","svmax","lvmax","dvmax","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"sources":["@wordpress/components/src/mobile/utils/get-px-from-css-unit.native.js"],"sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer ones.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluated.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluated.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tif ( cssUnitsBits ) {\n\t\tfor ( const unit of cssUnitsBits ) {\n\t\t\t// Standardize the unit to px and extract the value.\n\t\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\t\terrorFound = true;\n\t\t\t\t// End early since we are dealing with a null value.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t\t}\n\t} else {\n\t\terrorFound = true;\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tconst expressionsMatches = cssUnit.match( /(max|min|clamp)/g );\n\tif ( ! errorFound && expressionsMatches ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\trelativeUnits.svw = relativeUnits.vmin;\n\trelativeUnits.lvw = relativeUnits.vmax;\n\trelativeUnits.dvw = relativeUnits.vw;\n\trelativeUnits.svh = relativeUnits.vmin;\n\trelativeUnits.lvh = relativeUnits.vmax;\n\trelativeUnits.dvh = relativeUnits.vh;\n\trelativeUnits.vi = relativeUnits.vh;\n\trelativeUnits.svi = relativeUnits.vmin;\n\trelativeUnits.lvi = relativeUnits.vmax;\n\trelativeUnits.dvi = relativeUnits.vw;\n\trelativeUnits.vb = relativeUnits.vh;\n\trelativeUnits.svb = relativeUnits.vmin;\n\trelativeUnits.lvb = relativeUnits.vmax;\n\trelativeUnits.dvb = relativeUnits.vh;\n\trelativeUnits.svmin = relativeUnits.vmin;\n\trelativeUnits.lvmin = relativeUnits.vmin;\n\trelativeUnits.dvmin = relativeUnits.vmin;\n\trelativeUnits.svmax = relativeUnits.vmax;\n\trelativeUnits.lvmax = relativeUnits.vmax;\n\trelativeUnits.dvmax = relativeUnits.vmax;\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","expressionsMatches","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","svmin","lvmin","dvmin","svmax","lvmax","dvmax","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"sources":["@wordpress/components/src/mobile/utils/get-px-from-css-unit.native.js"],"sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer ones.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluated.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluated.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tif ( cssUnitsBits ) {\n\t\tfor ( const unit of cssUnitsBits ) {\n\t\t\t// Standardize the unit to px and extract the value.\n\t\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\t\terrorFound = true;\n\t\t\t\t// End early since we are dealing with a null value.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t\t}\n\t} else {\n\t\terrorFound = true;\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tconst expressionsMatches = cssUnit.match( /(max|min|clamp)/g );\n\tif ( ! errorFound && expressionsMatches ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\trelativeUnits.svw = relativeUnits.vmin;\n\trelativeUnits.lvw = relativeUnits.vmax;\n\trelativeUnits.dvw = relativeUnits.vw;\n\trelativeUnits.svh = relativeUnits.vmin;\n\trelativeUnits.lvh = relativeUnits.vmax;\n\trelativeUnits.dvh = relativeUnits.vh;\n\trelativeUnits.vi = relativeUnits.vh;\n\trelativeUnits.svi = relativeUnits.vmin;\n\trelativeUnits.lvi = relativeUnits.vmax;\n\trelativeUnits.dvi = relativeUnits.vw;\n\trelativeUnits.vb = relativeUnits.vh;\n\trelativeUnits.svb = relativeUnits.vmin;\n\trelativeUnits.lvb = relativeUnits.vmax;\n\trelativeUnits.dvb = relativeUnits.vh;\n\trelativeUnits.svmin = relativeUnits.vmin;\n\trelativeUnits.lvmin = relativeUnits.vmin;\n\trelativeUnits.dvmin = relativeUnits.vmin;\n\trelativeUnits.svmax = relativeUnits.vmax;\n\trelativeUnits.lvmax = relativeUnits.vmax;\n\trelativeUnits.dvmax = relativeUnits.vmax;\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["Component","forwardRef","focus","jsx","_jsx","noop","MENU_ITEM_ROLES","cycleValue","value","total","offset","nextValue","NavigableContainer","constructor","args","onKeyDown","bind","bindContainer","getFocusableContext","getFocusableIndex","componentDidMount","container","addEventListener","componentWillUnmount","removeEventListener","ref","forwardedRef","props","current","target","onlyBrowserTabstops","finder","tabbable","focusable","focusables","find","index","indexOf","event","cycle","eventToOffset","onNavigate","stopNavigationEvents","undefined","stopImmediatePropagation","targetRole","getAttribute","targetHasMenuItemRole","includes","preventDefault","activeElement","ownerDocument","context","nextIndex","length","code","render","children","restProps","forwardedNavigableContainer","displayName"],"sources":["@wordpress/components/src/navigable-container/container.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport type { NavigableContainerProps } from './types';\n\nconst noop = () => {};\nconst MENU_ITEM_ROLES = [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ];\n\nfunction cycleValue( value: number, total: number, offset: number ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component< NavigableContainerProps > {\n\tcontainer?: HTMLDivElement;\n\n\tconstructor( args: NavigableContainerProps ) {\n\t\tsuper( args );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We use DOM event listeners instead of React event listeners\n\t\t// because we want to catch events from the underlying DOM tree\n\t\t// The React Tree can be different from the DOM tree when using\n\t\t// portals. Block Toolbars for instance are rendered in a separate\n\t\t// React Trees.\n\t\tthis.container.addEventListener( 'keydown', this.onKeyDown );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( ! this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.container.removeEventListener( 'keydown', this.onKeyDown );\n\t}\n\n\tbindContainer( ref: HTMLDivElement ) {\n\t\tconst { forwardedRef } = this.props;\n\t\tthis.container = ref;\n\n\t\tif ( typeof forwardedRef === 'function' ) {\n\t\t\tforwardedRef( ref );\n\t\t} else if ( forwardedRef && 'current' in forwardedRef ) {\n\t\t\tforwardedRef.current = ref;\n\t\t}\n\t}\n\n\tgetFocusableContext( target: Element ) {\n\t\tif ( ! this.container ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables: Element[], target: Element ) {\n\t\treturn focusables.indexOf( target );\n\t}\n\n\tonKeyDown( event: KeyboardEvent ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst {\n\t\t\tcycle = true,\n\t\t\teventToOffset,\n\t\t\tonNavigate = noop,\n\t\t\tstopNavigationEvents,\n\t\t} = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component.\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering.\n\t\t\tevent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling. The preventDefault also prevents Voiceover from\n\t\t\t// 'handling' the event, as voiceover will try to use arrow keys\n\t\t\t// for highlighting text.\n\t\t\tconst targetRole = (\n\t\t\t\tevent.target as HTMLDivElement | null\n\t\t\t )?.getAttribute( 'role' );\n\t\t\tconst targetHasMenuItemRole =\n\t\t\t\t!! targetRole && MENU_ITEM_ROLES.includes( targetRole );\n\n\t\t\tif ( targetHasMenuItemRole ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeElement = ( event.target as HTMLElement | null )\n\t\t\t?.ownerDocument?.activeElement;\n\t\tif ( ! activeElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext( activeElement );\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle\n\t\t\t? cycleValue( index, focusables.length, offset )\n\t\t\t: index + offset;\n\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\n\t\t\t// `preventDefault()` on tab to avoid having the browser move the focus\n\t\t\t// after this component has already moved it.\n\t\t\tif ( event.code === 'Tab' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tchildren,\n\t\t\tstopNavigationEvents,\n\t\t\teventToOffset,\n\t\t\tonNavigate,\n\t\t\tonKeyDown,\n\t\t\tcycle,\n\t\t\tonlyBrowserTabstops,\n\t\t\tforwardedRef,\n\t\t\t...restProps\n\t\t} = this.props;\n\t\treturn (\n\t\t\t<div ref={ this.bindContainer } { ...restProps }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedNavigableContainer = (\n\tprops: NavigableContainerProps,\n\tref: ForwardedRef< HTMLDivElement >\n) => {\n\treturn <NavigableContainer { ...props } forwardedRef={ ref } />;\n};\nforwardedNavigableContainer.displayName = 'NavigableContainer';\n\nexport default forwardRef( forwardedNavigableContainer );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Component","forwardRef","focus","jsx","_jsx","noop","MENU_ITEM_ROLES","cycleValue","value","total","offset","nextValue","NavigableContainer","constructor","args","onKeyDown","bind","bindContainer","getFocusableContext","getFocusableIndex","componentDidMount","container","addEventListener","componentWillUnmount","removeEventListener","ref","forwardedRef","props","current","target","onlyBrowserTabstops","finder","tabbable","focusable","focusables","find","index","indexOf","event","cycle","eventToOffset","onNavigate","stopNavigationEvents","undefined","stopImmediatePropagation","targetRole","getAttribute","targetHasMenuItemRole","includes","preventDefault","activeElement","ownerDocument","context","nextIndex","length","code","render","children","restProps","forwardedNavigableContainer","displayName"],"sources":["@wordpress/components/src/navigable-container/container.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport type { NavigableContainerProps } from './types';\n\nconst noop = () => {};\nconst MENU_ITEM_ROLES = [ 'menuitem', 'menuitemradio', 'menuitemcheckbox' ];\n\nfunction cycleValue( value: number, total: number, offset: number ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component< NavigableContainerProps > {\n\tcontainer?: HTMLDivElement;\n\n\tconstructor( args: NavigableContainerProps ) {\n\t\tsuper( args );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We use DOM event listeners instead of React event listeners\n\t\t// because we want to catch events from the underlying DOM tree\n\t\t// The React Tree can be different from the DOM tree when using\n\t\t// portals. Block Toolbars for instance are rendered in a separate\n\t\t// React Trees.\n\t\tthis.container.addEventListener( 'keydown', this.onKeyDown );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( ! this.container ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.container.removeEventListener( 'keydown', this.onKeyDown );\n\t}\n\n\tbindContainer( ref: HTMLDivElement ) {\n\t\tconst { forwardedRef } = this.props;\n\t\tthis.container = ref;\n\n\t\tif ( typeof forwardedRef === 'function' ) {\n\t\t\tforwardedRef( ref );\n\t\t} else if ( forwardedRef && 'current' in forwardedRef ) {\n\t\t\tforwardedRef.current = ref;\n\t\t}\n\t}\n\n\tgetFocusableContext( target: Element ) {\n\t\tif ( ! this.container ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables: Element[], target: Element ) {\n\t\treturn focusables.indexOf( target );\n\t}\n\n\tonKeyDown( event: KeyboardEvent ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst {\n\t\t\tcycle = true,\n\t\t\teventToOffset,\n\t\t\tonNavigate = noop,\n\t\t\tstopNavigationEvents,\n\t\t} = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component.\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering.\n\t\t\tevent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling. The preventDefault also prevents Voiceover from\n\t\t\t// 'handling' the event, as voiceover will try to use arrow keys\n\t\t\t// for highlighting text.\n\t\t\tconst targetRole = (\n\t\t\t\tevent.target as HTMLDivElement | null\n\t\t\t )?.getAttribute( 'role' );\n\t\t\tconst targetHasMenuItemRole =\n\t\t\t\t!! targetRole && MENU_ITEM_ROLES.includes( targetRole );\n\n\t\t\tif ( targetHasMenuItemRole ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeElement = ( event.target as HTMLElement | null )\n\t\t\t?.ownerDocument?.activeElement;\n\t\tif ( ! activeElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext( activeElement );\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle\n\t\t\t? cycleValue( index, focusables.length, offset )\n\t\t\t: index + offset;\n\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\n\t\t\t// `preventDefault()` on tab to avoid having the browser move the focus\n\t\t\t// after this component has already moved it.\n\t\t\tif ( event.code === 'Tab' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tchildren,\n\t\t\tstopNavigationEvents,\n\t\t\teventToOffset,\n\t\t\tonNavigate,\n\t\t\tonKeyDown,\n\t\t\tcycle,\n\t\t\tonlyBrowserTabstops,\n\t\t\tforwardedRef,\n\t\t\t...restProps\n\t\t} = this.props;\n\t\treturn (\n\t\t\t<div ref={ this.bindContainer } { ...restProps }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedNavigableContainer = (\n\tprops: NavigableContainerProps,\n\tref: ForwardedRef< HTMLDivElement >\n) => {\n\treturn <NavigableContainer { ...props } forwardedRef={ ref } />;\n};\nforwardedNavigableContainer.displayName = 'NavigableContainer';\n\nexport default forwardRef( forwardedNavigableContainer );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","NavigationGroupContext","GroupTitleUI","useNavigationContext","jsx","_jsx","jsxs","_jsxs","uniqueId","NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","Object","values","some","item","_isVisible","Provider","value","groupTitleId","classes","id","level","role"],"sources":["@wordpress/components/src/navigation/group/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { NavigationGroupContext } from './context';\nimport { GroupTitleUI } from '../styles/navigation-styles';\nimport { useNavigationContext } from '../context';\n\nimport type { NavigationGroupProps } from '../types';\n\nlet uniqueId = 0;\n\n/**\n * @deprecated Use `Navigator` instead.\n */\nexport function NavigationGroup( {\n\tchildren,\n\tclassName,\n\ttitle,\n}: NavigationGroupProps ) {\n\tconst [ groupId ] = useState( `group-${ ++uniqueId }` );\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\n\tconst context = { group: groupId };\n\n\t// Keep the children rendered to make sure invisible items are included in the navigation tree.\n\tif (\n\t\t! Object.values( items ).some(\n\t\t\t( item ) => item.group === groupId && item._isVisible\n\t\t)\n\t) {\n\t\treturn (\n\t\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t\t{ children }\n\t\t\t</NavigationGroupContext.Provider>\n\t\t);\n\t}\n\n\tconst groupTitleId = `components-navigation__group-title-${ groupId }`;\n\tconst classes = clsx( 'components-navigation__group', className );\n\n\treturn (\n\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t<li className={ classes }>\n\t\t\t\t{ title && (\n\t\t\t\t\t<GroupTitleUI\n\t\t\t\t\t\tclassName=\"components-navigation__group-title\"\n\t\t\t\t\t\tid={ groupTitleId }\n\t\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</GroupTitleUI>\n\t\t\t\t) }\n\t\t\t\t<ul aria-labelledby={ groupTitleId } role=\"group\">\n\t\t\t\t\t{ children }\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</NavigationGroupContext.Provider>\n\t);\n}\n\nexport default NavigationGroup;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,WAAW;AAClD,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,oBAAoB,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAIlD,IAAIC,QAAQ,GAAG,CAAC;;AAEhB;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAE;EAChCC,QAAQ;EACRC,SAAS;EACTC;AACqB,CAAC,EAAG;EACzB,MAAM,CAAEC,OAAO,CAAE,GAAGb,QAAQ,CAAE,SAAU,EAAEQ,QAAQ,EAAI,CAAC;EACvD,MAAM;IACLM,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGZ,oBAAoB,CAAC,CAAC;EAE1B,MAAMa,OAAO,GAAG;IAAEC,KAAK,EAAEJ;EAAQ,CAAC;;EAElC;EACA,IACC,CAAEK,MAAM,CAACC,MAAM,CAAEJ,KAAM,CAAC,CAACK,IAAI,CAC1BC,IAAI,IAAMA,IAAI,CAACJ,KAAK,KAAKJ,OAAO,IAAIQ,IAAI,CAACC,UAC5C,CAAC,EACA;IACD,oBACCjB,IAAA,CAACJ,sBAAsB,CAACsB,QAAQ;MAACC,KAAK,EAAGR,OAAS;MAAAN,QAAA,EAC/CA;IAAQ,CACsB,CAAC;EAEpC;EAEA,MAAMe,YAAY,GAAG,sCAAuCZ,OAAO,EAAG;EACtE,MAAMa,OAAO,GAAG3B,IAAI,CAAE,8BAA8B,EAAEY,SAAU,CAAC;EAEjE,oBACCN,IAAA,CAACJ,sBAAsB,CAACsB,QAAQ;IAACC,KAAK,EAAGR,OAAS;IAAAN,QAAA,eACjDH,KAAA;MAAII,SAAS,EAAGe,OAAS;MAAAhB,QAAA,GACtBE,KAAK,iBACNP,IAAA,CAACH,YAAY;QACZS,SAAS,EAAC,oCAAoC;QAC9CgB,EAAE,EAAGF,YAAc;QACnBG,KAAK,EAAG,CAAG;QAAAlB,QAAA,EAETE;MAAK,CACM,CACd,eACDP,IAAA;QAAI,mBAAkBoB,YAAc;QAACI,IAAI,EAAC,OAAO;QAAAnB,QAAA,EAC9CA;MAAQ,CACP,CAAC;IAAA,CACF;EAAC,CAC2B,CAAC;AAEpC;AAEA,eAAeD,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","NavigationGroupContext","GroupTitleUI","useNavigationContext","jsx","_jsx","jsxs","_jsxs","uniqueId","NavigationGroup","children","className","title","groupId","navigationTree","items","context","group","Object","values","some","item","_isVisible","Provider","value","groupTitleId","classes","id","level","role"],"sources":["@wordpress/components/src/navigation/group/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { NavigationGroupContext } from './context';\nimport { GroupTitleUI } from '../styles/navigation-styles';\nimport { useNavigationContext } from '../context';\n\nimport type { NavigationGroupProps } from '../types';\n\nlet uniqueId = 0;\n\n/**\n * @deprecated Use `Navigator` instead.\n */\nexport function NavigationGroup( {\n\tchildren,\n\tclassName,\n\ttitle,\n}: NavigationGroupProps ) {\n\tconst [ groupId ] = useState( `group-${ ++uniqueId }` );\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\n\tconst context = { group: groupId };\n\n\t// Keep the children rendered to make sure invisible items are included in the navigation tree.\n\tif (\n\t\t! Object.values( items ).some(\n\t\t\t( item ) => item.group === groupId && item._isVisible\n\t\t)\n\t) {\n\t\treturn (\n\t\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t\t{ children }\n\t\t\t</NavigationGroupContext.Provider>\n\t\t);\n\t}\n\n\tconst groupTitleId = `components-navigation__group-title-${ groupId }`;\n\tconst classes = clsx( 'components-navigation__group', className );\n\n\treturn (\n\t\t<NavigationGroupContext.Provider value={ context }>\n\t\t\t<li className={ classes }>\n\t\t\t\t{ title && (\n\t\t\t\t\t<GroupTitleUI\n\t\t\t\t\t\tclassName=\"components-navigation__group-title\"\n\t\t\t\t\t\tid={ groupTitleId }\n\t\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</GroupTitleUI>\n\t\t\t\t) }\n\t\t\t\t<ul aria-labelledby={ groupTitleId } role=\"group\">\n\t\t\t\t\t{ children }\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</NavigationGroupContext.Provider>\n\t);\n}\n\nexport default NavigationGroup;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,WAAW;AAClD,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,oBAAoB,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAIlD,IAAIC,QAAQ,GAAG,CAAC;;AAEhB;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAE;EAChCC,QAAQ;EACRC,SAAS;EACTC;AACqB,CAAC,EAAG;EACzB,MAAM,CAAEC,OAAO,CAAE,GAAGb,QAAQ,CAAE,SAAU,EAAEQ,QAAQ,EAAI,CAAC;EACvD,MAAM;IACLM,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGZ,oBAAoB,CAAC,CAAC;EAE1B,MAAMa,OAAO,GAAG;IAAEC,KAAK,EAAEJ;EAAQ,CAAC;;EAElC;EACA,IACC,CAAEK,MAAM,CAACC,MAAM,CAAEJ,KAAM,CAAC,CAACK,IAAI,CAC1BC,IAAI,IAAMA,IAAI,CAACJ,KAAK,KAAKJ,OAAO,IAAIQ,IAAI,CAACC,UAC5C,CAAC,EACA;IACD,oBACCjB,IAAA,CAACJ,sBAAsB,CAACsB,QAAQ;MAACC,KAAK,EAAGR,OAAS;MAAAN,QAAA,EAC/CA;IAAQ,CACsB,CAAC;EAEpC;EAEA,MAAMe,YAAY,GAAG,sCAAuCZ,OAAO,EAAG;EACtE,MAAMa,OAAO,GAAG3B,IAAI,CAAE,8BAA8B,EAAEY,SAAU,CAAC;EAEjE,oBACCN,IAAA,CAACJ,sBAAsB,CAACsB,QAAQ;IAACC,KAAK,EAAGR,OAAS;IAAAN,QAAA,eACjDH,KAAA;MAAII,SAAS,EAAGe,OAAS;MAAAhB,QAAA,GACtBE,KAAK,iBACNP,IAAA,CAACH,YAAY;QACZS,SAAS,EAAC,oCAAoC;QAC9CgB,EAAE,EAAGF,YAAc;QACnBG,KAAK,EAAG,CAAG;QAAAlB,QAAA,EAETE;MAAK,CACM,CACd,eACDP,IAAA;QAAI,mBAAkBoB,YAAc;QAACI,IAAI,EAAC,OAAO;QAAAnB,QAAA,EAC9CA;MAAQ,CACP,CAAC;IAAA,CACF;EAAC,CAC2B,CAAC;AAEpC;AAEA,eAAeD,eAAe","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","__","_n","sprintf","withSpokenMessages","useNavigationMenuContext","useNavigationContext","SEARCH_FOCUS_DELAY","SearchControl","MenuTitleSearchControlWrapper","jsx","_jsx","MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","clearTimeout","count","Object","values","filter","item","_isVisible","length","resultsFoundMessage","onClose","onKeyDown","event","code","defaultPrevented","preventDefault","inputId","placeholder","toLowerCase","trim","children","__nextHasNoMarginBottom","className","id","onChange","value","ref"],"sources":["@wordpress/components/src/navigation/menu/menu-title-search.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport withSpokenMessages from '../../higher-order/with-spoken-messages';\nimport { useNavigationMenuContext } from './context';\nimport { useNavigationContext } from '../context';\nimport { SEARCH_FOCUS_DELAY } from '../constants';\n\nimport type { NavigationMenuTitleSearchProps } from '../types';\nimport SearchControl from '../../search-control';\nimport { MenuTitleSearchControlWrapper } from '../styles/navigation-styles';\n\nfunction MenuTitleSearch( {\n\tdebouncedSpeak,\n\tonCloseSearch,\n\tonSearch,\n\tsearch,\n\ttitle,\n}: NavigationMenuTitleSearchProps ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\tconst { menu } = useNavigationMenuContext();\n\tconst inputRef = useRef< HTMLInputElement >( null );\n\n\t// Wait for the slide-in animation to complete before autofocusing the input.\n\t// This prevents scrolling to the input during the animation.\n\tuseEffect( () => {\n\t\tconst delayedFocus = setTimeout( () => {\n\t\t\tinputRef.current?.focus();\n\t\t}, SEARCH_FOCUS_DELAY );\n\n\t\treturn () => {\n\t\t\tclearTimeout( delayedFocus );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! search ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst count = Object.values( items ).filter(\n\t\t\t( item ) => item._isVisible\n\t\t).length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t\t// Not adding deps for now, as it would require either a larger refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44090\n\t}, [ items, search ] );\n\n\tconst onClose = () => {\n\t\tonSearch?.( '' );\n\t\tonCloseSearch();\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLInputElement > = (\n\t\tevent\n\t) => {\n\t\tif ( event.code === 'Escape' && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst inputId = `components-navigation__menu-title-search-${ menu }`;\n\tconst placeholder = sprintf(\n\t\t/* translators: placeholder for menu search box. %s: menu title */\n\t\t__( 'Search %s' ),\n\t\ttitle?.toLowerCase()\n\t).trim();\n\n\treturn (\n\t\t<MenuTitleSearchControlWrapper>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"components-navigation__menu-search-input\"\n\t\t\t\tid={ inputId }\n\t\t\t\tonChange={ ( value ) => onSearch?.( value ) }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tref={ inputRef }\n\t\t\t\tvalue={ search }\n\t\t\t/>\n\t\t</MenuTitleSearchControlWrapper>\n\t);\n}\n\nexport default withSpokenMessages( MenuTitleSearch );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAEjD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,yCAAyC;AACxE,SAASC,wBAAwB,QAAQ,WAAW;AACpD,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SAASC,kBAAkB,QAAQ,cAAc;AAGjD,OAAOC,aAAa,MAAM,sBAAsB;AAChD,SAASC,6BAA6B,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5E,SAASC,eAAeA,CAAE;EACzBC,cAAc;EACdC,aAAa;EACbC,QAAQ;EACRC,MAAM;EACNC;AAC+B,CAAC,EAAG;EACnC,MAAM;IACLC,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGb,oBAAoB,CAAC,CAAC;EAC1B,MAAM;IAAEc;EAAK,CAAC,GAAGf,wBAAwB,CAAC,CAAC;EAC3C,MAAMgB,QAAQ,GAAGrB,MAAM,CAAsB,IAAK,CAAC;;EAEnD;EACA;EACAD,SAAS,CAAE,MAAM;IAChB,MAAMuB,YAAY,GAAGC,UAAU,CAAE,MAAM;MACtCF,QAAQ,CAACG,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC1B,CAAC,EAAElB,kBAAmB,CAAC;IAEvB,OAAO,MAAM;MACZmB,YAAY,CAAEJ,YAAa,CAAC;IAC7B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEPvB,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiB,MAAM,EAAG;MACf;IACD;IAEA,MAAMW,KAAK,GAAGC,MAAM,CAACC,MAAM,CAAEV,KAAM,CAAC,CAACW,MAAM,CACxCC,IAAI,IAAMA,IAAI,CAACC,UAClB,CAAC,CAACC,MAAM;IACR,MAAMC,mBAAmB,GAAG/B,OAAO,CAClC;IACAD,EAAE,CAAE,kBAAkB,EAAE,mBAAmB,EAAEyB,KAAM,CAAC,EACpDA,KACD,CAAC;IACDd,cAAc,CAAEqB,mBAAoB,CAAC;IACrC;IACA;EACD,CAAC,EAAE,CAAEf,KAAK,EAAEH,MAAM,CAAG,CAAC;EAEtB,MAAMmB,OAAO,GAAGA,CAAA,KAAM;IACrBpB,QAAQ,GAAI,EAAG,CAAC;IAChBD,aAAa,CAAC,CAAC;EAChB,CAAC;EAED,MAAMsB,SAAyD,GAC9DC,KAAK,IACD;IACJ,IAAKA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAAI,CAAED,KAAK,CAACE,gBAAgB,EAAG;MAC1DF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBL,OAAO,CAAC,CAAC;IACV;EACD,CAAC;EAED,MAAMM,OAAO,GAAG,4CAA6CrB,IAAI,EAAG;EACpE,MAAMsB,WAAW,GAAGvC,OAAO,CAC1B;EACAF,EAAE,CAAE,WAAY,CAAC,EACjBgB,KAAK,EAAE0B,WAAW,CAAC,CACpB,CAAC,CAACC,IAAI,CAAC,CAAC;EAER,oBACCjC,IAAA,CAACF,6BAA6B;IAAAoC,QAAA,eAC7BlC,IAAA,CAACH,aAAa;MACbsC,uBAAuB;MACvBC,SAAS,EAAC,0CAA0C;MACpDC,EAAE,EAAGP,OAAS;MACdQ,QAAQ,EAAKC,KAAK,IAAMnC,QAAQ,GAAImC,KAAM,CAAG;MAC7Cd,SAAS,EAAGA,SAAW;MACvBM,WAAW,EAAGA,WAAa;MAC3BP,OAAO,EAAGA,OAAS;MACnBgB,GAAG,EAAG9B,QAAU;MAChB6B,KAAK,EAAGlC;IAAQ,CAChB;EAAC,CAC4B,CAAC;AAElC;AAEA,eAAeZ,kBAAkB,CAAEQ,eAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","__","_n","sprintf","withSpokenMessages","useNavigationMenuContext","useNavigationContext","SEARCH_FOCUS_DELAY","SearchControl","MenuTitleSearchControlWrapper","jsx","_jsx","MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","clearTimeout","count","Object","values","filter","item","_isVisible","length","resultsFoundMessage","onClose","onKeyDown","event","code","defaultPrevented","preventDefault","inputId","placeholder","toLowerCase","trim","children","__nextHasNoMarginBottom","className","id","onChange","value","ref"],"sources":["@wordpress/components/src/navigation/menu/menu-title-search.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport withSpokenMessages from '../../higher-order/with-spoken-messages';\nimport { useNavigationMenuContext } from './context';\nimport { useNavigationContext } from '../context';\nimport { SEARCH_FOCUS_DELAY } from '../constants';\n\nimport type { NavigationMenuTitleSearchProps } from '../types';\nimport SearchControl from '../../search-control';\nimport { MenuTitleSearchControlWrapper } from '../styles/navigation-styles';\n\nfunction MenuTitleSearch( {\n\tdebouncedSpeak,\n\tonCloseSearch,\n\tonSearch,\n\tsearch,\n\ttitle,\n}: NavigationMenuTitleSearchProps ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\tconst { menu } = useNavigationMenuContext();\n\tconst inputRef = useRef< HTMLInputElement >( null );\n\n\t// Wait for the slide-in animation to complete before autofocusing the input.\n\t// This prevents scrolling to the input during the animation.\n\tuseEffect( () => {\n\t\tconst delayedFocus = setTimeout( () => {\n\t\t\tinputRef.current?.focus();\n\t\t}, SEARCH_FOCUS_DELAY );\n\n\t\treturn () => {\n\t\t\tclearTimeout( delayedFocus );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! search ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst count = Object.values( items ).filter(\n\t\t\t( item ) => item._isVisible\n\t\t).length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t\t// Not adding deps for now, as it would require either a larger refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44090\n\t}, [ items, search ] );\n\n\tconst onClose = () => {\n\t\tonSearch?.( '' );\n\t\tonCloseSearch();\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLInputElement > = (\n\t\tevent\n\t) => {\n\t\tif ( event.code === 'Escape' && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst inputId = `components-navigation__menu-title-search-${ menu }`;\n\tconst placeholder = sprintf(\n\t\t/* translators: placeholder for menu search box. %s: menu title */\n\t\t__( 'Search %s' ),\n\t\ttitle?.toLowerCase()\n\t).trim();\n\n\treturn (\n\t\t<MenuTitleSearchControlWrapper>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"components-navigation__menu-search-input\"\n\t\t\t\tid={ inputId }\n\t\t\t\tonChange={ ( value ) => onSearch?.( value ) }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tref={ inputRef }\n\t\t\t\tvalue={ search }\n\t\t\t/>\n\t\t</MenuTitleSearchControlWrapper>\n\t);\n}\n\nexport default withSpokenMessages( MenuTitleSearch );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAEjD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,yCAAyC;AACxE,SAASC,wBAAwB,QAAQ,WAAW;AACpD,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SAASC,kBAAkB,QAAQ,cAAc;AAGjD,OAAOC,aAAa,MAAM,sBAAsB;AAChD,SAASC,6BAA6B,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5E,SAASC,eAAeA,CAAE;EACzBC,cAAc;EACdC,aAAa;EACbC,QAAQ;EACRC,MAAM;EACNC;AAC+B,CAAC,EAAG;EACnC,MAAM;IACLC,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGb,oBAAoB,CAAC,CAAC;EAC1B,MAAM;IAAEc;EAAK,CAAC,GAAGf,wBAAwB,CAAC,CAAC;EAC3C,MAAMgB,QAAQ,GAAGrB,MAAM,CAAsB,IAAK,CAAC;;EAEnD;EACA;EACAD,SAAS,CAAE,MAAM;IAChB,MAAMuB,YAAY,GAAGC,UAAU,CAAE,MAAM;MACtCF,QAAQ,CAACG,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC1B,CAAC,EAAElB,kBAAmB,CAAC;IAEvB,OAAO,MAAM;MACZmB,YAAY,CAAEJ,YAAa,CAAC;IAC7B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEPvB,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiB,MAAM,EAAG;MACf;IACD;IAEA,MAAMW,KAAK,GAAGC,MAAM,CAACC,MAAM,CAAEV,KAAM,CAAC,CAACW,MAAM,CACxCC,IAAI,IAAMA,IAAI,CAACC,UAClB,CAAC,CAACC,MAAM;IACR,MAAMC,mBAAmB,GAAG/B,OAAO,CAClC;IACAD,EAAE,CAAE,kBAAkB,EAAE,mBAAmB,EAAEyB,KAAM,CAAC,EACpDA,KACD,CAAC;IACDd,cAAc,CAAEqB,mBAAoB,CAAC;IACrC;IACA;EACD,CAAC,EAAE,CAAEf,KAAK,EAAEH,MAAM,CAAG,CAAC;EAEtB,MAAMmB,OAAO,GAAGA,CAAA,KAAM;IACrBpB,QAAQ,GAAI,EAAG,CAAC;IAChBD,aAAa,CAAC,CAAC;EAChB,CAAC;EAED,MAAMsB,SAAyD,GAC9DC,KAAK,IACD;IACJ,IAAKA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAAI,CAAED,KAAK,CAACE,gBAAgB,EAAG;MAC1DF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBL,OAAO,CAAC,CAAC;IACV;EACD,CAAC;EAED,MAAMM,OAAO,GAAG,4CAA6CrB,IAAI,EAAG;EACpE,MAAMsB,WAAW,GAAGvC,OAAO,CAC1B;EACAF,EAAE,CAAE,WAAY,CAAC,EACjBgB,KAAK,EAAE0B,WAAW,CAAC,CACpB,CAAC,CAACC,IAAI,CAAC,CAAC;EAER,oBACCjC,IAAA,CAACF,6BAA6B;IAAAoC,QAAA,eAC7BlC,IAAA,CAACH,aAAa;MACbsC,uBAAuB;MACvBC,SAAS,EAAC,0CAA0C;MACpDC,EAAE,EAAGP,OAAS;MACdQ,QAAQ,EAAKC,KAAK,IAAMnC,QAAQ,GAAImC,KAAM,CAAG;MAC7Cd,SAAS,EAAGA,SAAW;MACvBM,WAAW,EAAGA,WAAa;MAC3BP,OAAO,EAAGA,OAAS;MACnBgB,GAAG,EAAG9B,QAAU;MAChB6B,KAAK,EAAGlC;IAAQ,CAChB;EAAC,CAC4B,CAAC;AAElC;AAEA,eAAeZ,kBAAkB,CAAEQ,eAAgB,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","useNavigationContext","ItemBaseUI","ItemUI","jsxs","_jsxs","jsx","_jsx","NavigationSearchNoResultsFound","search","navigationTree","items","resultsCount","Object","values","filter","item","_isVisible","length","children"],"sources":["@wordpress/components/src/navigation/menu/search-no-results-found.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useNavigationContext } from '../context';\nimport { ItemBaseUI, ItemUI } from '../styles/navigation-styles';\n\nimport type { NavigationSearchNoResultsFoundProps } from '../types';\n\nexport default function NavigationSearchNoResultsFound( {\n\tsearch,\n}: NavigationSearchNoResultsFoundProps ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\n\tconst resultsCount = Object.values( items ).filter(\n\t\t( item ) => item._isVisible\n\t).length;\n\n\tif ( ! search || !! resultsCount ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ItemBaseUI>\n\t\t\t<ItemUI>{ __( 'No results found.' ) } </ItemUI>\n\t\t</ItemBaseUI>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SAASC,UAAU,EAAEC,MAAM,QAAQ,6BAA6B;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAIjE,eAAe,SAASC,8BAA8BA,CAAE;EACvDC;AACoC,CAAC,EAAG;EACxC,MAAM;IACLC,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGV,oBAAoB,CAAC,CAAC;EAE1B,MAAMW,YAAY,GAAGC,MAAM,CAACC,MAAM,CAAEH,KAAM,CAAC,CAACI,MAAM,CAC/CC,IAAI,IAAMA,IAAI,CAACC,UAClB,CAAC,CAACC,MAAM;EAER,IAAK,CAAET,MAAM,IAAI,CAAC,CAAEG,YAAY,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,oBACCL,IAAA,CAACL,UAAU;IAAAiB,QAAA,eACVd,KAAA,CAACF,MAAM;MAAAgB,QAAA,GAAGnB,EAAE,CAAE,mBAAoB,CAAC,EAAE,GAAC;IAAA,CAAQ;EAAC,CACpC,CAAC;AAEf","ignoreList":[]}
1
+ {"version":3,"names":["__","useNavigationContext","ItemBaseUI","ItemUI","jsxs","_jsxs","jsx","_jsx","NavigationSearchNoResultsFound","search","navigationTree","items","resultsCount","Object","values","filter","item","_isVisible","length","children"],"sources":["@wordpress/components/src/navigation/menu/search-no-results-found.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useNavigationContext } from '../context';\nimport { ItemBaseUI, ItemUI } from '../styles/navigation-styles';\n\nimport type { NavigationSearchNoResultsFoundProps } from '../types';\n\nexport default function NavigationSearchNoResultsFound( {\n\tsearch,\n}: NavigationSearchNoResultsFoundProps ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\n\tconst resultsCount = Object.values( items ).filter(\n\t\t( item ) => item._isVisible\n\t).length;\n\n\tif ( ! search || !! resultsCount ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ItemBaseUI>\n\t\t\t<ItemUI>{ __( 'No results found.' ) } </ItemUI>\n\t\t</ItemBaseUI>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SAASC,UAAU,EAAEC,MAAM,QAAQ,6BAA6B;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAIjE,eAAe,SAASC,8BAA8BA,CAAE;EACvDC;AACoC,CAAC,EAAG;EACxC,MAAM;IACLC,cAAc,EAAE;MAAEC;IAAM;EACzB,CAAC,GAAGV,oBAAoB,CAAC,CAAC;EAE1B,MAAMW,YAAY,GAAGC,MAAM,CAACC,MAAM,CAAEH,KAAM,CAAC,CAACI,MAAM,CAC/CC,IAAI,IAAMA,IAAI,CAACC,UAClB,CAAC,CAACC,MAAM;EAER,IAAK,CAAET,MAAM,IAAI,CAAC,CAAEG,YAAY,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,oBACCL,IAAA,CAACL,UAAU;IAAAiB,QAAA,eACVd,KAAA,CAACF,MAAM;MAAAgB,QAAA,GAAGnB,EAAE,CAAE,mBAAoB,CAAC,EAAE,GAAC;IAAA,CAAQ;EAAC,CACpC,CAAC;AAEf","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useReducer","isShallowEqual","warning","contextConnect","useContextSystem","useCx","patternMatch","findParent","View","NavigatorContext","styles","deprecated","jsx","_jsx","addScreen","screens","screen","some","s","path","globalThis","SCRIPT_DEBUG","id","removeScreen","filter","goTo","state","options","_focusSelectorsCopy2","focusSelectors","currentLocation","isBack","skipFocus","replace","focusTargetSelector","restOptions","focusSelectorsCopy","getFocusSelectorsCopy","_focusSelectorsCopy","Map","set","currentFocusSelector","get","delete","isInitial","hasRestoredFocus","goToParent","currentPath","undefined","parentPath","routerReducer","action","matchedPath","restState","type","params","UnconnectedNavigator","props","forwardedRef","initialPath","initialPathProp","children","className","otherProps","routerState","dispatch","methods","goBack","since","alternative","navigatorContextValue","_matchedPath$params","location","match","cx","classes","navigatorWrapper","ref","Provider","value","Navigator"],"sources":["@wordpress/components/src/navigator/navigator/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useReducer } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { patternMatch, findParent } from '../utils/router';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport * as styles from '../styles';\nimport type {\n\tNavigatorProps,\n\tNavigatorLocation,\n\tNavigatorContext as NavigatorContextType,\n\tNavigateOptions,\n\tScreen,\n\tNavigateToParentOptions,\n} from '../types';\nimport deprecated from '@wordpress/deprecated';\n\ntype MatchedPath = ReturnType< typeof patternMatch >;\n\ntype RouterAction =\n\t| { type: 'add' | 'remove'; screen: Screen }\n\t| { type: 'goto'; path: string; options?: NavigateOptions }\n\t| { type: 'gotoparent'; options?: NavigateToParentOptions };\n\ntype RouterState = {\n\tinitialPath: string;\n\tscreens: Screen[];\n\tcurrentLocation: NavigatorLocation;\n\tmatchedPath: MatchedPath;\n\tfocusSelectors: Map< string, string >;\n};\n\nfunction addScreen( { screens }: RouterState, screen: Screen ) {\n\tif ( screens.some( ( s ) => s.path === screen.path ) ) {\n\t\twarning(\n\t\t\t`Navigator: a screen with path ${ screen.path } already exists.\nThe screen with id ${ screen.id } will not be added.`\n\t\t);\n\t\treturn screens;\n\t}\n\treturn [ ...screens, screen ];\n}\n\nfunction removeScreen( { screens }: RouterState, screen: Screen ) {\n\treturn screens.filter( ( s ) => s.id !== screen.id );\n}\n\nfunction goTo(\n\tstate: RouterState,\n\tpath: string,\n\toptions: NavigateOptions = {}\n) {\n\tconst { focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\n\tconst {\n\t\t// Default assignments\n\t\tisBack = false,\n\t\tskipFocus = false,\n\t\t// Extract to avoid forwarding\n\t\treplace,\n\t\tfocusTargetSelector,\n\t\t// Rest\n\t\t...restOptions\n\t} = options;\n\n\tif ( currentLocation.path === path ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\n\tlet focusSelectorsCopy: typeof focusSelectors | undefined;\n\tfunction getFocusSelectorsCopy() {\n\t\tfocusSelectorsCopy =\n\t\t\tfocusSelectorsCopy ?? new Map( state.focusSelectors );\n\t\treturn focusSelectorsCopy;\n\t}\n\n\t// Set a focus selector that will be used when navigating\n\t// back to the current location.\n\tif ( focusTargetSelector && currentLocation.path ) {\n\t\tgetFocusSelectorsCopy().set(\n\t\t\tcurrentLocation.path,\n\t\t\tfocusTargetSelector\n\t\t);\n\t}\n\n\t// Get the focus selector for the new location.\n\tlet currentFocusSelector;\n\tif ( focusSelectors.get( path ) ) {\n\t\tif ( isBack ) {\n\t\t\t// Use the found focus selector only when navigating back.\n\t\t\tcurrentFocusSelector = focusSelectors.get( path );\n\t\t}\n\t\t// Make a copy of the focusSelectors map to remove the focus selector\n\t\t// only if necessary (ie. a focus selector was found).\n\t\tgetFocusSelectorsCopy().delete( path );\n\t}\n\n\treturn {\n\t\tcurrentLocation: {\n\t\t\t...restOptions,\n\t\t\tisInitial: false,\n\t\t\tpath,\n\t\t\tisBack,\n\t\t\thasRestoredFocus: false,\n\t\t\tfocusTargetSelector: currentFocusSelector,\n\t\t\tskipFocus,\n\t\t},\n\t\tfocusSelectors: focusSelectorsCopy ?? focusSelectors,\n\t};\n}\n\nfunction goToParent(\n\tstate: RouterState,\n\toptions: NavigateToParentOptions = {}\n) {\n\tconst { screens, focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\tconst currentPath = currentLocation.path;\n\tif ( currentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\tconst parentPath = findParent( currentPath, screens );\n\tif ( parentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\treturn goTo( state, parentPath, {\n\t\t...options,\n\t\tisBack: true,\n\t} );\n}\n\nfunction routerReducer(\n\tstate: RouterState,\n\taction: RouterAction\n): RouterState {\n\tlet {\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t\t...restState\n\t} = state;\n\tswitch ( action.type ) {\n\t\tcase 'add':\n\t\t\tscreens = addScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'remove':\n\t\t\tscreens = removeScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'goto':\n\t\t\t( { currentLocation, focusSelectors } = goTo(\n\t\t\t\tstate,\n\t\t\t\taction.path,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t\tcase 'gotoparent':\n\t\t\t( { currentLocation, focusSelectors } = goToParent(\n\t\t\t\tstate,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t}\n\n\t// Return early in case there is no change\n\tif (\n\t\tscreens === state.screens &&\n\t\tcurrentLocation === state.currentLocation\n\t) {\n\t\treturn state;\n\t}\n\n\t// Compute the matchedPath\n\tconst currentPath = currentLocation.path;\n\tmatchedPath =\n\t\tcurrentPath !== undefined\n\t\t\t? patternMatch( currentPath, screens )\n\t\t\t: undefined;\n\n\t// If the new match is the same as the previous match,\n\t// return the previous one to keep immutability.\n\tif (\n\t\tmatchedPath &&\n\t\tstate.matchedPath &&\n\t\tmatchedPath.id === state.matchedPath.id &&\n\t\tisShallowEqual( matchedPath.params, state.matchedPath.params )\n\t) {\n\t\tmatchedPath = state.matchedPath;\n\t}\n\n\treturn {\n\t\t...restState,\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t};\n}\n\nfunction UnconnectedNavigator(\n\tprops: WordPressComponentProps< NavigatorProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tinitialPath: initialPathProp,\n\t\tchildren,\n\t\tclassName,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator' );\n\n\tconst [ routerState, dispatch ] = useReducer(\n\t\trouterReducer,\n\t\tinitialPathProp,\n\t\t( path ) => ( {\n\t\t\tscreens: [],\n\t\t\tcurrentLocation: { path, isInitial: true },\n\t\t\tmatchedPath: undefined,\n\t\t\tfocusSelectors: new Map(),\n\t\t\tinitialPath: initialPathProp,\n\t\t} )\n\t);\n\n\t// The methods are constant forever, create stable references to them.\n\tconst methods = useMemo(\n\t\t() => ( {\n\t\t\t// Note: calling goBack calls `goToParent` internally, as it was established\n\t\t\t// that `goBack` should behave like `goToParent`, and `goToParent` should\n\t\t\t// be marked as deprecated.\n\t\t\tgoBack: ( options: NavigateToParentOptions | undefined ) =>\n\t\t\t\tdispatch( { type: 'gotoparent', options } ),\n\t\t\tgoTo: ( path: string, options?: NavigateOptions ) =>\n\t\t\t\tdispatch( { type: 'goto', path, options } ),\n\t\t\tgoToParent: ( options: NavigateToParentOptions | undefined ) => {\n\t\t\t\tdeprecated( `wp.components.useNavigator().goToParent`, {\n\t\t\t\t\tsince: '6.7',\n\t\t\t\t\talternative: 'wp.components.useNavigator().goBack',\n\t\t\t\t} );\n\t\t\t\tdispatch( { type: 'gotoparent', options } );\n\t\t\t},\n\t\t\taddScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'add', screen } ),\n\t\t\tremoveScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'remove', screen } ),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { currentLocation, matchedPath } = routerState;\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: currentLocation,\n\t\t\tparams: matchedPath?.params ?? {},\n\t\t\tmatch: matchedPath?.id,\n\t\t\t...methods,\n\t\t} ),\n\t\t[ currentLocation, matchedPath, methods ]\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() => cx( styles.navigatorWrapper, className ),\n\t\t[ className, cx ]\n\t);\n\n\treturn (\n\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t<NavigatorContext.Provider value={ navigatorContextValue }>\n\t\t\t\t{ children }\n\t\t\t</NavigatorContext.Provider>\n\t\t</View>\n\t);\n}\n\nexport const Navigator = contextConnect( UnconnectedNavigator, 'Navigator' );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useReducer","isShallowEqual","warning","contextConnect","useContextSystem","useCx","patternMatch","findParent","View","NavigatorContext","styles","deprecated","jsx","_jsx","addScreen","screens","screen","some","s","path","globalThis","SCRIPT_DEBUG","id","removeScreen","filter","goTo","state","options","_focusSelectorsCopy2","focusSelectors","currentLocation","isBack","skipFocus","replace","focusTargetSelector","restOptions","focusSelectorsCopy","getFocusSelectorsCopy","_focusSelectorsCopy","Map","set","currentFocusSelector","get","delete","isInitial","hasRestoredFocus","goToParent","currentPath","undefined","parentPath","routerReducer","action","matchedPath","restState","type","params","UnconnectedNavigator","props","forwardedRef","initialPath","initialPathProp","children","className","otherProps","routerState","dispatch","methods","goBack","since","alternative","navigatorContextValue","_matchedPath$params","location","match","cx","classes","navigatorWrapper","ref","Provider","value","Navigator"],"sources":["@wordpress/components/src/navigator/navigator/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useReducer } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { patternMatch, findParent } from '../utils/router';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport * as styles from '../styles';\nimport type {\n\tNavigatorProps,\n\tNavigatorLocation,\n\tNavigatorContext as NavigatorContextType,\n\tNavigateOptions,\n\tScreen,\n\tNavigateToParentOptions,\n} from '../types';\nimport deprecated from '@wordpress/deprecated';\n\ntype MatchedPath = ReturnType< typeof patternMatch >;\n\ntype RouterAction =\n\t| { type: 'add' | 'remove'; screen: Screen }\n\t| { type: 'goto'; path: string; options?: NavigateOptions }\n\t| { type: 'gotoparent'; options?: NavigateToParentOptions };\n\ntype RouterState = {\n\tinitialPath: string;\n\tscreens: Screen[];\n\tcurrentLocation: NavigatorLocation;\n\tmatchedPath: MatchedPath;\n\tfocusSelectors: Map< string, string >;\n};\n\nfunction addScreen( { screens }: RouterState, screen: Screen ) {\n\tif ( screens.some( ( s ) => s.path === screen.path ) ) {\n\t\twarning(\n\t\t\t`Navigator: a screen with path ${ screen.path } already exists.\nThe screen with id ${ screen.id } will not be added.`\n\t\t);\n\t\treturn screens;\n\t}\n\treturn [ ...screens, screen ];\n}\n\nfunction removeScreen( { screens }: RouterState, screen: Screen ) {\n\treturn screens.filter( ( s ) => s.id !== screen.id );\n}\n\nfunction goTo(\n\tstate: RouterState,\n\tpath: string,\n\toptions: NavigateOptions = {}\n) {\n\tconst { focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\n\tconst {\n\t\t// Default assignments\n\t\tisBack = false,\n\t\tskipFocus = false,\n\t\t// Extract to avoid forwarding\n\t\treplace,\n\t\tfocusTargetSelector,\n\t\t// Rest\n\t\t...restOptions\n\t} = options;\n\n\tif ( currentLocation.path === path ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\n\tlet focusSelectorsCopy: typeof focusSelectors | undefined;\n\tfunction getFocusSelectorsCopy() {\n\t\tfocusSelectorsCopy =\n\t\t\tfocusSelectorsCopy ?? new Map( state.focusSelectors );\n\t\treturn focusSelectorsCopy;\n\t}\n\n\t// Set a focus selector that will be used when navigating\n\t// back to the current location.\n\tif ( focusTargetSelector && currentLocation.path ) {\n\t\tgetFocusSelectorsCopy().set(\n\t\t\tcurrentLocation.path,\n\t\t\tfocusTargetSelector\n\t\t);\n\t}\n\n\t// Get the focus selector for the new location.\n\tlet currentFocusSelector;\n\tif ( focusSelectors.get( path ) ) {\n\t\tif ( isBack ) {\n\t\t\t// Use the found focus selector only when navigating back.\n\t\t\tcurrentFocusSelector = focusSelectors.get( path );\n\t\t}\n\t\t// Make a copy of the focusSelectors map to remove the focus selector\n\t\t// only if necessary (ie. a focus selector was found).\n\t\tgetFocusSelectorsCopy().delete( path );\n\t}\n\n\treturn {\n\t\tcurrentLocation: {\n\t\t\t...restOptions,\n\t\t\tisInitial: false,\n\t\t\tpath,\n\t\t\tisBack,\n\t\t\thasRestoredFocus: false,\n\t\t\tfocusTargetSelector: currentFocusSelector,\n\t\t\tskipFocus,\n\t\t},\n\t\tfocusSelectors: focusSelectorsCopy ?? focusSelectors,\n\t};\n}\n\nfunction goToParent(\n\tstate: RouterState,\n\toptions: NavigateToParentOptions = {}\n) {\n\tconst { screens, focusSelectors } = state;\n\tconst currentLocation = { ...state.currentLocation };\n\tconst currentPath = currentLocation.path;\n\tif ( currentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\tconst parentPath = findParent( currentPath, screens );\n\tif ( parentPath === undefined ) {\n\t\treturn { currentLocation, focusSelectors };\n\t}\n\treturn goTo( state, parentPath, {\n\t\t...options,\n\t\tisBack: true,\n\t} );\n}\n\nfunction routerReducer(\n\tstate: RouterState,\n\taction: RouterAction\n): RouterState {\n\tlet {\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t\t...restState\n\t} = state;\n\tswitch ( action.type ) {\n\t\tcase 'add':\n\t\t\tscreens = addScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'remove':\n\t\t\tscreens = removeScreen( state, action.screen );\n\t\t\tbreak;\n\t\tcase 'goto':\n\t\t\t( { currentLocation, focusSelectors } = goTo(\n\t\t\t\tstate,\n\t\t\t\taction.path,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t\tcase 'gotoparent':\n\t\t\t( { currentLocation, focusSelectors } = goToParent(\n\t\t\t\tstate,\n\t\t\t\taction.options\n\t\t\t) );\n\t\t\tbreak;\n\t}\n\n\t// Return early in case there is no change\n\tif (\n\t\tscreens === state.screens &&\n\t\tcurrentLocation === state.currentLocation\n\t) {\n\t\treturn state;\n\t}\n\n\t// Compute the matchedPath\n\tconst currentPath = currentLocation.path;\n\tmatchedPath =\n\t\tcurrentPath !== undefined\n\t\t\t? patternMatch( currentPath, screens )\n\t\t\t: undefined;\n\n\t// If the new match is the same as the previous match,\n\t// return the previous one to keep immutability.\n\tif (\n\t\tmatchedPath &&\n\t\tstate.matchedPath &&\n\t\tmatchedPath.id === state.matchedPath.id &&\n\t\tisShallowEqual( matchedPath.params, state.matchedPath.params )\n\t) {\n\t\tmatchedPath = state.matchedPath;\n\t}\n\n\treturn {\n\t\t...restState,\n\t\tscreens,\n\t\tcurrentLocation,\n\t\tmatchedPath,\n\t\tfocusSelectors,\n\t};\n}\n\nfunction UnconnectedNavigator(\n\tprops: WordPressComponentProps< NavigatorProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tinitialPath: initialPathProp,\n\t\tchildren,\n\t\tclassName,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator' );\n\n\tconst [ routerState, dispatch ] = useReducer(\n\t\trouterReducer,\n\t\tinitialPathProp,\n\t\t( path ) => ( {\n\t\t\tscreens: [],\n\t\t\tcurrentLocation: { path, isInitial: true },\n\t\t\tmatchedPath: undefined,\n\t\t\tfocusSelectors: new Map(),\n\t\t\tinitialPath: initialPathProp,\n\t\t} )\n\t);\n\n\t// The methods are constant forever, create stable references to them.\n\tconst methods = useMemo(\n\t\t() => ( {\n\t\t\t// Note: calling goBack calls `goToParent` internally, as it was established\n\t\t\t// that `goBack` should behave like `goToParent`, and `goToParent` should\n\t\t\t// be marked as deprecated.\n\t\t\tgoBack: ( options: NavigateToParentOptions | undefined ) =>\n\t\t\t\tdispatch( { type: 'gotoparent', options } ),\n\t\t\tgoTo: ( path: string, options?: NavigateOptions ) =>\n\t\t\t\tdispatch( { type: 'goto', path, options } ),\n\t\t\tgoToParent: ( options: NavigateToParentOptions | undefined ) => {\n\t\t\t\tdeprecated( `wp.components.useNavigator().goToParent`, {\n\t\t\t\t\tsince: '6.7',\n\t\t\t\t\talternative: 'wp.components.useNavigator().goBack',\n\t\t\t\t} );\n\t\t\t\tdispatch( { type: 'gotoparent', options } );\n\t\t\t},\n\t\t\taddScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'add', screen } ),\n\t\t\tremoveScreen: ( screen: Screen ) =>\n\t\t\t\tdispatch( { type: 'remove', screen } ),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst { currentLocation, matchedPath } = routerState;\n\n\tconst navigatorContextValue: NavigatorContextType = useMemo(\n\t\t() => ( {\n\t\t\tlocation: currentLocation,\n\t\t\tparams: matchedPath?.params ?? {},\n\t\t\tmatch: matchedPath?.id,\n\t\t\t...methods,\n\t\t} ),\n\t\t[ currentLocation, matchedPath, methods ]\n\t);\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() => cx( styles.navigatorWrapper, className ),\n\t\t[ className, cx ]\n\t);\n\n\treturn (\n\t\t<View ref={ forwardedRef } className={ classes } { ...otherProps }>\n\t\t\t<NavigatorContext.Provider value={ navigatorContextValue }>\n\t\t\t\t{ children }\n\t\t\t</NavigatorContext.Provider>\n\t\t</View>\n\t);\n}\n\nexport const Navigator = contextConnect( UnconnectedNavigator, 'Navigator' );\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,UAAU,QAAQ,oBAAoB;AACxD,OAAOC,cAAc,MAAM,6BAA6B;AACxD,OAAOC,OAAO,MAAM,oBAAoB;;AAExC;AACA;AACA;;AAEA,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,eAAe;AAChE,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAC1D,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,OAAO,KAAKC,MAAM,MAAM,WAAW;AASnC,OAAOC,UAAU,MAAM,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiB/C,SAASC,SAASA,CAAE;EAAEC;AAAqB,CAAC,EAAEC,MAAc,EAAG;EAC9D,IAAKD,OAAO,CAACE,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKH,MAAM,CAACG,IAAK,CAAC,EAAG;IACtDC,UAAA,CAAAC,YAAA,YAAAnB,OAAO,CACN,iCAAkCc,MAAM,CAACG,IAAI;AAChD,qBAAsBH,MAAM,CAACM,EAAE,qBAC7B,CAAC;IACD,OAAOP,OAAO;EACf;EACA,OAAO,CAAE,GAAGA,OAAO,EAAEC,MAAM,CAAE;AAC9B;AAEA,SAASO,YAAYA,CAAE;EAAER;AAAqB,CAAC,EAAEC,MAAc,EAAG;EACjE,OAAOD,OAAO,CAACS,MAAM,CAAIN,CAAC,IAAMA,CAAC,CAACI,EAAE,KAAKN,MAAM,CAACM,EAAG,CAAC;AACrD;AAEA,SAASG,IAAIA,CACZC,KAAkB,EAClBP,IAAY,EACZQ,OAAwB,GAAG,CAAC,CAAC,EAC5B;EAAA,IAAAC,oBAAA;EACD,MAAM;IAAEC;EAAe,CAAC,GAAGH,KAAK;EAChC,MAAMI,eAAe,GAAG;IAAE,GAAGJ,KAAK,CAACI;EAAgB,CAAC;EAEpD,MAAM;IACL;IACAC,MAAM,GAAG,KAAK;IACdC,SAAS,GAAG,KAAK;IACjB;IACAC,OAAO;IACPC,mBAAmB;IACnB;IACA,GAAGC;EACJ,CAAC,GAAGR,OAAO;EAEX,IAAKG,eAAe,CAACX,IAAI,KAAKA,IAAI,EAAG;IACpC,OAAO;MAAEW,eAAe;MAAED;IAAe,CAAC;EAC3C;EAEA,IAAIO,kBAAqD;EACzD,SAASC,qBAAqBA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IAChCF,kBAAkB,IAAAE,mBAAA,GACjBF,kBAAkB,cAAAE,mBAAA,cAAAA,mBAAA,GAAI,IAAIC,GAAG,CAAEb,KAAK,CAACG,cAAe,CAAC;IACtD,OAAOO,kBAAkB;EAC1B;;EAEA;EACA;EACA,IAAKF,mBAAmB,IAAIJ,eAAe,CAACX,IAAI,EAAG;IAClDkB,qBAAqB,CAAC,CAAC,CAACG,GAAG,CAC1BV,eAAe,CAACX,IAAI,EACpBe,mBACD,CAAC;EACF;;EAEA;EACA,IAAIO,oBAAoB;EACxB,IAAKZ,cAAc,CAACa,GAAG,CAAEvB,IAAK,CAAC,EAAG;IACjC,IAAKY,MAAM,EAAG;MACb;MACAU,oBAAoB,GAAGZ,cAAc,CAACa,GAAG,CAAEvB,IAAK,CAAC;IAClD;IACA;IACA;IACAkB,qBAAqB,CAAC,CAAC,CAACM,MAAM,CAAExB,IAAK,CAAC;EACvC;EAEA,OAAO;IACNW,eAAe,EAAE;MAChB,GAAGK,WAAW;MACdS,SAAS,EAAE,KAAK;MAChBzB,IAAI;MACJY,MAAM;MACNc,gBAAgB,EAAE,KAAK;MACvBX,mBAAmB,EAAEO,oBAAoB;MACzCT;IACD,CAAC;IACDH,cAAc,GAAAD,oBAAA,GAAEQ,kBAAkB,cAAAR,oBAAA,cAAAA,oBAAA,GAAIC;EACvC,CAAC;AACF;AAEA,SAASiB,UAAUA,CAClBpB,KAAkB,EAClBC,OAAgC,GAAG,CAAC,CAAC,EACpC;EACD,MAAM;IAAEZ,OAAO;IAAEc;EAAe,CAAC,GAAGH,KAAK;EACzC,MAAMI,eAAe,GAAG;IAAE,GAAGJ,KAAK,CAACI;EAAgB,CAAC;EACpD,MAAMiB,WAAW,GAAGjB,eAAe,CAACX,IAAI;EACxC,IAAK4B,WAAW,KAAKC,SAAS,EAAG;IAChC,OAAO;MAAElB,eAAe;MAAED;IAAe,CAAC;EAC3C;EACA,MAAMoB,UAAU,GAAG1C,UAAU,CAAEwC,WAAW,EAAEhC,OAAQ,CAAC;EACrD,IAAKkC,UAAU,KAAKD,SAAS,EAAG;IAC/B,OAAO;MAAElB,eAAe;MAAED;IAAe,CAAC;EAC3C;EACA,OAAOJ,IAAI,CAAEC,KAAK,EAAEuB,UAAU,EAAE;IAC/B,GAAGtB,OAAO;IACVI,MAAM,EAAE;EACT,CAAE,CAAC;AACJ;AAEA,SAASmB,aAAaA,CACrBxB,KAAkB,EAClByB,MAAoB,EACN;EACd,IAAI;IACHpC,OAAO;IACPe,eAAe;IACfsB,WAAW;IACXvB,cAAc;IACd,GAAGwB;EACJ,CAAC,GAAG3B,KAAK;EACT,QAASyB,MAAM,CAACG,IAAI;IACnB,KAAK,KAAK;MACTvC,OAAO,GAAGD,SAAS,CAAEY,KAAK,EAAEyB,MAAM,CAACnC,MAAO,CAAC;MAC3C;IACD,KAAK,QAAQ;MACZD,OAAO,GAAGQ,YAAY,CAAEG,KAAK,EAAEyB,MAAM,CAACnC,MAAO,CAAC;MAC9C;IACD,KAAK,MAAM;MACV,CAAE;QAAEc,eAAe;QAAED;MAAe,CAAC,GAAGJ,IAAI,CAC3CC,KAAK,EACLyB,MAAM,CAAChC,IAAI,EACXgC,MAAM,CAACxB,OACR,CAAC;MACD;IACD,KAAK,YAAY;MAChB,CAAE;QAAEG,eAAe;QAAED;MAAe,CAAC,GAAGiB,UAAU,CACjDpB,KAAK,EACLyB,MAAM,CAACxB,OACR,CAAC;MACD;EACF;;EAEA;EACA,IACCZ,OAAO,KAAKW,KAAK,CAACX,OAAO,IACzBe,eAAe,KAAKJ,KAAK,CAACI,eAAe,EACxC;IACD,OAAOJ,KAAK;EACb;;EAEA;EACA,MAAMqB,WAAW,GAAGjB,eAAe,CAACX,IAAI;EACxCiC,WAAW,GACVL,WAAW,KAAKC,SAAS,GACtB1C,YAAY,CAAEyC,WAAW,EAAEhC,OAAQ,CAAC,GACpCiC,SAAS;;EAEb;EACA;EACA,IACCI,WAAW,IACX1B,KAAK,CAAC0B,WAAW,IACjBA,WAAW,CAAC9B,EAAE,KAAKI,KAAK,CAAC0B,WAAW,CAAC9B,EAAE,IACvCrB,cAAc,CAAEmD,WAAW,CAACG,MAAM,EAAE7B,KAAK,CAAC0B,WAAW,CAACG,MAAO,CAAC,EAC7D;IACDH,WAAW,GAAG1B,KAAK,CAAC0B,WAAW;EAChC;EAEA,OAAO;IACN,GAAGC,SAAS;IACZtC,OAAO;IACPe,eAAe;IACfsB,WAAW;IACXvB;EACD,CAAC;AACF;AAEA,SAAS2B,oBAAoBA,CAC5BC,KAAuD,EACvDC,YAAiC,EAChC;EACD,MAAM;IACLC,WAAW,EAAEC,eAAe;IAC5BC,QAAQ;IACRC,SAAS;IACT,GAAGC;EACJ,CAAC,GAAG3D,gBAAgB,CAAEqD,KAAK,EAAE,WAAY,CAAC;EAE1C,MAAM,CAAEO,WAAW,EAAEC,QAAQ,CAAE,GAAGjE,UAAU,CAC3CkD,aAAa,EACbU,eAAe,EACbzC,IAAI,KAAQ;IACbJ,OAAO,EAAE,EAAE;IACXe,eAAe,EAAE;MAAEX,IAAI;MAAEyB,SAAS,EAAE;IAAK,CAAC;IAC1CQ,WAAW,EAAEJ,SAAS;IACtBnB,cAAc,EAAE,IAAIU,GAAG,CAAC,CAAC;IACzBoB,WAAW,EAAEC;EACd,CAAC,CACF,CAAC;;EAED;EACA,MAAMM,OAAO,GAAGnE,OAAO,CACtB,OAAQ;IACP;IACA;IACA;IACAoE,MAAM,EAAIxC,OAA4C,IACrDsC,QAAQ,CAAE;MAAEX,IAAI,EAAE,YAAY;MAAE3B;IAAQ,CAAE,CAAC;IAC5CF,IAAI,EAAEA,CAAEN,IAAY,EAAEQ,OAAyB,KAC9CsC,QAAQ,CAAE;MAAEX,IAAI,EAAE,MAAM;MAAEnC,IAAI;MAAEQ;IAAQ,CAAE,CAAC;IAC5CmB,UAAU,EAAInB,OAA4C,IAAM;MAC/DhB,UAAU,CAAE,yCAAyC,EAAE;QACtDyD,KAAK,EAAE,KAAK;QACZC,WAAW,EAAE;MACd,CAAE,CAAC;MACHJ,QAAQ,CAAE;QAAEX,IAAI,EAAE,YAAY;QAAE3B;MAAQ,CAAE,CAAC;IAC5C,CAAC;IACDb,SAAS,EAAIE,MAAc,IAC1BiD,QAAQ,CAAE;MAAEX,IAAI,EAAE,KAAK;MAAEtC;IAAO,CAAE,CAAC;IACpCO,YAAY,EAAIP,MAAc,IAC7BiD,QAAQ,CAAE;MAAEX,IAAI,EAAE,QAAQ;MAAEtC;IAAO,CAAE;EACvC,CAAC,CAAE,EACH,EACD,CAAC;EAED,MAAM;IAAEc,eAAe;IAAEsB;EAAY,CAAC,GAAGY,WAAW;EAEpD,MAAMM,qBAA2C,GAAGvE,OAAO,CAC1D;IAAA,IAAAwE,mBAAA;IAAA,OAAQ;MACPC,QAAQ,EAAE1C,eAAe;MACzByB,MAAM,GAAAgB,mBAAA,GAAEnB,WAAW,EAAEG,MAAM,cAAAgB,mBAAA,cAAAA,mBAAA,GAAI,CAAC,CAAC;MACjCE,KAAK,EAAErB,WAAW,EAAE9B,EAAE;MACtB,GAAG4C;IACJ,CAAC;EAAA,CAAE,EACH,CAAEpC,eAAe,EAAEsB,WAAW,EAAEc,OAAO,CACxC,CAAC;EAED,MAAMQ,EAAE,GAAGrE,KAAK,CAAC,CAAC;EAClB,MAAMsE,OAAO,GAAG5E,OAAO,CACtB,MAAM2E,EAAE,CAAEhE,MAAM,CAACkE,gBAAgB,EAAEd,SAAU,CAAC,EAC9C,CAAEA,SAAS,EAAEY,EAAE,CAChB,CAAC;EAED,oBACC7D,IAAA,CAACL,IAAI;IAACqE,GAAG,EAAGnB,YAAc;IAACI,SAAS,EAAGa,OAAS;IAAA,GAAMZ,UAAU;IAAAF,QAAA,eAC/DhD,IAAA,CAACJ,gBAAgB,CAACqE,QAAQ;MAACC,KAAK,EAAGT,qBAAuB;MAAAT,QAAA,EACvDA;IAAQ,CACgB;EAAC,CACvB,CAAC;AAET;AAEA,OAAO,MAAMmB,SAAS,GAAG7E,cAAc,CAAEqD,oBAAoB,EAAE,WAAY,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["focus","useContext","useEffect","useMemo","useRef","useId","useMergeRefs","escapeAttribute","warning","contextConnect","useContextSystem","useCx","View","NavigatorContext","styles","useScreenAnimatePresence","jsx","_jsx","UnconnectedNavigatorScreen","props","forwardedRef","test","path","globalThis","SCRIPT_DEBUG","screenId","children","className","onAnimationEnd","onAnimationEndProp","otherProps","location","match","addScreen","removeScreen","isInitial","isBack","focusTargetSelector","skipFocus","isMatch","wrapperRef","skipAnimationAndFocusRestoration","screen","id","animationStyles","shouldRenderScreen","screenProps","skipAnimation","cx","classes","navigatorScreen","locationRef","current","wrapperEl","hasRestoredFocus","activeElement","ownerDocument","contains","elementToFocus","querySelector","firstTabbable","tabbable","find","mergedWrapperRef","ref","NavigatorScreen"],"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseId,\n} from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { escapeAttribute } from '@wordpress/escape-html';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport * as styles from '../styles';\nimport type { NavigatorScreenProps } from '../types';\nimport { useScreenAnimatePresence } from './use-screen-animate-presence';\n\nfunction UnconnectedNavigatorScreen(\n\tprops: WordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tif ( ! /^\\//.test( props.path ) ) {\n\t\twarning(\n\t\t\t'wp.components.Navigator.Screen: the `path` should follow a URL-like scheme; it should start with and be separated by the `/` character.'\n\t\t);\n\t}\n\n\tconst screenId = useId();\n\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tpath,\n\t\tonAnimationEnd: onAnimationEndProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator.Screen' );\n\n\tconst { location, match, addScreen, removeScreen } =\n\t\tuseContext( NavigatorContext );\n\tconst { isInitial, isBack, focusTargetSelector, skipFocus } = location;\n\n\tconst isMatch = match === screenId;\n\tconst wrapperRef = useRef< HTMLDivElement >( null );\n\tconst skipAnimationAndFocusRestoration = !! isInitial && ! isBack;\n\n\t// Register / unregister screen with the navigator context.\n\tuseEffect( () => {\n\t\tconst screen = {\n\t\t\tid: screenId,\n\t\t\tpath: escapeAttribute( path ),\n\t\t};\n\t\taddScreen( screen );\n\t\treturn () => removeScreen( screen );\n\t}, [ screenId, path, addScreen, removeScreen ] );\n\n\t// Animation.\n\tconst { animationStyles, shouldRenderScreen, screenProps } =\n\t\tuseScreenAnimatePresence( {\n\t\t\tisMatch,\n\t\t\tisBack,\n\t\t\tonAnimationEnd: onAnimationEndProp,\n\t\t\tskipAnimation: skipAnimationAndFocusRestoration,\n\t\t} );\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() => cx( styles.navigatorScreen, animationStyles, className ),\n\t\t[ className, cx, animationStyles ]\n\t);\n\n\t// Focus restoration\n\tconst locationRef = useRef( location );\n\tuseEffect( () => {\n\t\tlocationRef.current = location;\n\t}, [ location ] );\n\tuseEffect( () => {\n\t\tconst wrapperEl = wrapperRef.current;\n\t\t// Only attempt to restore focus:\n\t\t// - if the current location is not the initial one (to avoid moving focus on page load)\n\t\t// - when the screen becomes visible\n\t\t// - if the wrapper ref has been assigned\n\t\t// - if focus hasn't already been restored for the current location\n\t\t// - if the `skipFocus` option is not set to `true`. This is useful when we trigger the navigation outside of NavigatorScreen.\n\t\tif (\n\t\t\tskipAnimationAndFocusRestoration ||\n\t\t\t! isMatch ||\n\t\t\t! wrapperEl ||\n\t\t\tlocationRef.current.hasRestoredFocus ||\n\t\t\tskipFocus\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeElement = wrapperEl.ownerDocument.activeElement;\n\n\t\t// If an element is already focused within the wrapper do not focus the\n\t\t// element. This prevents inputs or buttons from losing focus unnecessarily.\n\t\tif ( wrapperEl.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elementToFocus: HTMLElement | null = null;\n\n\t\t// When navigating back, if a selector is provided, use it to look for the\n\t\t// target element (assumed to be a node inside the current NavigatorScreen)\n\t\tif ( isBack && focusTargetSelector ) {\n\t\t\telementToFocus = wrapperEl.querySelector( focusTargetSelector );\n\t\t}\n\n\t\t// If the previous query didn't run or find any element to focus, fallback\n\t\t// to the first tabbable element in the screen (or the screen itself).\n\t\tif ( ! elementToFocus ) {\n\t\t\tconst [ firstTabbable ] = focus.tabbable.find( wrapperEl );\n\t\t\telementToFocus = firstTabbable ?? wrapperEl;\n\t\t}\n\n\t\tlocationRef.current.hasRestoredFocus = true;\n\t\telementToFocus.focus();\n\t}, [\n\t\tskipAnimationAndFocusRestoration,\n\t\tisMatch,\n\t\tisBack,\n\t\tfocusTargetSelector,\n\t\tskipFocus,\n\t] );\n\n\tconst mergedWrapperRef = useMergeRefs( [ forwardedRef, wrapperRef ] );\n\n\treturn shouldRenderScreen ? (\n\t\t<View\n\t\t\tref={ mergedWrapperRef }\n\t\t\tclassName={ classes }\n\t\t\t{ ...screenProps }\n\t\t\t{ ...otherProps }\n\t\t>\n\t\t\t{ children }\n\t\t</View>\n\t) : null;\n}\n\nexport const NavigatorScreen = contextConnect(\n\tUnconnectedNavigatorScreen,\n\t'Navigator.Screen'\n);\n"],"mappings":";AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,gBAAgB;AACtC,SACCC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,KAAK,QACC,oBAAoB;AAC3B,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,eAAe,QAAQ,wBAAwB;AACxD,OAAOC,OAAO,MAAM,oBAAoB;;AAExC;AACA;AACA;;AAEA,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,eAAe;AAChE,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,OAAO,KAAKC,MAAM,MAAM,WAAW;AAEnC,SAASC,wBAAwB,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzE,SAASC,0BAA0BA,CAClCC,KAAoE,EACpEC,YAAiC,EAChC;EACD,IAAK,CAAE,KAAK,CAACC,IAAI,CAAEF,KAAK,CAACG,IAAK,CAAC,EAAG;IACjCC,UAAA,CAAAC,YAAA,YAAAhB,OAAO,CACN,yIACD,CAAC;EACF;EAEA,MAAMiB,QAAQ,GAAGpB,KAAK,CAAC,CAAC;EAExB,MAAM;IACLqB,QAAQ;IACRC,SAAS;IACTL,IAAI;IACJM,cAAc,EAAEC,kBAAkB;IAClC,GAAGC;EACJ,CAAC,GAAGpB,gBAAgB,CAAES,KAAK,EAAE,kBAAmB,CAAC;EAEjD,MAAM;IAAEY,QAAQ;IAAEC,KAAK;IAAEC,SAAS;IAAEC;EAAa,CAAC,GACjDjC,UAAU,CAAEY,gBAAiB,CAAC;EAC/B,MAAM;IAAEsB,SAAS;IAAEC,MAAM;IAAEC,mBAAmB;IAAEC;EAAU,CAAC,GAAGP,QAAQ;EAEtE,MAAMQ,OAAO,GAAGP,KAAK,KAAKP,QAAQ;EAClC,MAAMe,UAAU,GAAGpC,MAAM,CAAoB,IAAK,CAAC;EACnD,MAAMqC,gCAAgC,GAAG,CAAC,CAAEN,SAAS,IAAI,CAAEC,MAAM;;EAEjE;EACAlC,SAAS,CAAE,MAAM;IAChB,MAAMwC,MAAM,GAAG;MACdC,EAAE,EAAElB,QAAQ;MACZH,IAAI,EAAEf,eAAe,CAAEe,IAAK;IAC7B,CAAC;IACDW,SAAS,CAAES,MAAO,CAAC;IACnB,OAAO,MAAMR,YAAY,CAAEQ,MAAO,CAAC;EACpC,CAAC,EAAE,CAAEjB,QAAQ,EAAEH,IAAI,EAAEW,SAAS,EAAEC,YAAY,CAAG,CAAC;;EAEhD;EACA,MAAM;IAAEU,eAAe;IAAEC,kBAAkB;IAAEC;EAAY,CAAC,GACzD/B,wBAAwB,CAAE;IACzBwB,OAAO;IACPH,MAAM;IACNR,cAAc,EAAEC,kBAAkB;IAClCkB,aAAa,EAAEN;EAChB,CAAE,CAAC;EAEJ,MAAMO,EAAE,GAAGrC,KAAK,CAAC,CAAC;EAClB,MAAMsC,OAAO,GAAG9C,OAAO,CACtB,MAAM6C,EAAE,CAAElC,MAAM,CAACoC,eAAe,EAAEN,eAAe,EAAEjB,SAAU,CAAC,EAC9D,CAAEA,SAAS,EAAEqB,EAAE,EAAEJ,eAAe,CACjC,CAAC;;EAED;EACA,MAAMO,WAAW,GAAG/C,MAAM,CAAE2B,QAAS,CAAC;EACtC7B,SAAS,CAAE,MAAM;IAChBiD,WAAW,CAACC,OAAO,GAAGrB,QAAQ;EAC/B,CAAC,EAAE,CAAEA,QAAQ,CAAG,CAAC;EACjB7B,SAAS,CAAE,MAAM;IAChB,MAAMmD,SAAS,GAAGb,UAAU,CAACY,OAAO;IACpC;IACA;IACA;IACA;IACA;IACA;IACA,IACCX,gCAAgC,IAChC,CAAEF,OAAO,IACT,CAAEc,SAAS,IACXF,WAAW,CAACC,OAAO,CAACE,gBAAgB,IACpChB,SAAS,EACR;MACD;IACD;IAEA,MAAMiB,aAAa,GAAGF,SAAS,CAACG,aAAa,CAACD,aAAa;;IAE3D;IACA;IACA,IAAKF,SAAS,CAACI,QAAQ,CAAEF,aAAc,CAAC,EAAG;MAC1C;IACD;IAEA,IAAIG,cAAkC,GAAG,IAAI;;IAE7C;IACA;IACA,IAAKtB,MAAM,IAAIC,mBAAmB,EAAG;MACpCqB,cAAc,GAAGL,SAAS,CAACM,aAAa,CAAEtB,mBAAoB,CAAC;IAChE;;IAEA;IACA;IACA,IAAK,CAAEqB,cAAc,EAAG;MACvB,MAAM,CAAEE,aAAa,CAAE,GAAG5D,KAAK,CAAC6D,QAAQ,CAACC,IAAI,CAAET,SAAU,CAAC;MAC1DK,cAAc,GAAGE,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAIP,SAAS;IAC5C;IAEAF,WAAW,CAACC,OAAO,CAACE,gBAAgB,GAAG,IAAI;IAC3CI,cAAc,CAAC1D,KAAK,CAAC,CAAC;EACvB,CAAC,EAAE,CACFyC,gCAAgC,EAChCF,OAAO,EACPH,MAAM,EACNC,mBAAmB,EACnBC,SAAS,CACR,CAAC;EAEH,MAAMyB,gBAAgB,GAAGzD,YAAY,CAAE,CAAEc,YAAY,EAAEoB,UAAU,CAAG,CAAC;EAErE,OAAOK,kBAAkB,gBACxB5B,IAAA,CAACL,IAAI;IACJoD,GAAG,EAAGD,gBAAkB;IACxBpC,SAAS,EAAGsB,OAAS;IAAA,GAChBH,WAAW;IAAA,GACXhB,UAAU;IAAAJ,QAAA,EAEbA;EAAQ,CACL,CAAC,GACJ,IAAI;AACT;AAEA,OAAO,MAAMuC,eAAe,GAAGxD,cAAc,CAC5CS,0BAA0B,EAC1B,kBACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["focus","useContext","useEffect","useMemo","useRef","useId","useMergeRefs","escapeAttribute","warning","contextConnect","useContextSystem","useCx","View","NavigatorContext","styles","useScreenAnimatePresence","jsx","_jsx","UnconnectedNavigatorScreen","props","forwardedRef","test","path","globalThis","SCRIPT_DEBUG","screenId","children","className","onAnimationEnd","onAnimationEndProp","otherProps","location","match","addScreen","removeScreen","isInitial","isBack","focusTargetSelector","skipFocus","isMatch","wrapperRef","skipAnimationAndFocusRestoration","screen","id","animationStyles","shouldRenderScreen","screenProps","skipAnimation","cx","classes","navigatorScreen","locationRef","current","wrapperEl","hasRestoredFocus","activeElement","ownerDocument","contains","elementToFocus","querySelector","firstTabbable","tabbable","find","mergedWrapperRef","ref","NavigatorScreen"],"sources":["@wordpress/components/src/navigator/navigator-screen/component.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { focus } from '@wordpress/dom';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseId,\n} from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { escapeAttribute } from '@wordpress/escape-html';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect, useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport { View } from '../../view';\nimport { NavigatorContext } from '../context';\nimport * as styles from '../styles';\nimport type { NavigatorScreenProps } from '../types';\nimport { useScreenAnimatePresence } from './use-screen-animate-presence';\n\nfunction UnconnectedNavigatorScreen(\n\tprops: WordPressComponentProps< NavigatorScreenProps, 'div', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tif ( ! /^\\//.test( props.path ) ) {\n\t\twarning(\n\t\t\t'wp.components.Navigator.Screen: the `path` should follow a URL-like scheme; it should start with and be separated by the `/` character.'\n\t\t);\n\t}\n\n\tconst screenId = useId();\n\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tpath,\n\t\tonAnimationEnd: onAnimationEndProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Navigator.Screen' );\n\n\tconst { location, match, addScreen, removeScreen } =\n\t\tuseContext( NavigatorContext );\n\tconst { isInitial, isBack, focusTargetSelector, skipFocus } = location;\n\n\tconst isMatch = match === screenId;\n\tconst wrapperRef = useRef< HTMLDivElement >( null );\n\tconst skipAnimationAndFocusRestoration = !! isInitial && ! isBack;\n\n\t// Register / unregister screen with the navigator context.\n\tuseEffect( () => {\n\t\tconst screen = {\n\t\t\tid: screenId,\n\t\t\tpath: escapeAttribute( path ),\n\t\t};\n\t\taddScreen( screen );\n\t\treturn () => removeScreen( screen );\n\t}, [ screenId, path, addScreen, removeScreen ] );\n\n\t// Animation.\n\tconst { animationStyles, shouldRenderScreen, screenProps } =\n\t\tuseScreenAnimatePresence( {\n\t\t\tisMatch,\n\t\t\tisBack,\n\t\t\tonAnimationEnd: onAnimationEndProp,\n\t\t\tskipAnimation: skipAnimationAndFocusRestoration,\n\t\t} );\n\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() => cx( styles.navigatorScreen, animationStyles, className ),\n\t\t[ className, cx, animationStyles ]\n\t);\n\n\t// Focus restoration\n\tconst locationRef = useRef( location );\n\tuseEffect( () => {\n\t\tlocationRef.current = location;\n\t}, [ location ] );\n\tuseEffect( () => {\n\t\tconst wrapperEl = wrapperRef.current;\n\t\t// Only attempt to restore focus:\n\t\t// - if the current location is not the initial one (to avoid moving focus on page load)\n\t\t// - when the screen becomes visible\n\t\t// - if the wrapper ref has been assigned\n\t\t// - if focus hasn't already been restored for the current location\n\t\t// - if the `skipFocus` option is not set to `true`. This is useful when we trigger the navigation outside of NavigatorScreen.\n\t\tif (\n\t\t\tskipAnimationAndFocusRestoration ||\n\t\t\t! isMatch ||\n\t\t\t! wrapperEl ||\n\t\t\tlocationRef.current.hasRestoredFocus ||\n\t\t\tskipFocus\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeElement = wrapperEl.ownerDocument.activeElement;\n\n\t\t// If an element is already focused within the wrapper do not focus the\n\t\t// element. This prevents inputs or buttons from losing focus unnecessarily.\n\t\tif ( wrapperEl.contains( activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elementToFocus: HTMLElement | null = null;\n\n\t\t// When navigating back, if a selector is provided, use it to look for the\n\t\t// target element (assumed to be a node inside the current NavigatorScreen)\n\t\tif ( isBack && focusTargetSelector ) {\n\t\t\telementToFocus = wrapperEl.querySelector( focusTargetSelector );\n\t\t}\n\n\t\t// If the previous query didn't run or find any element to focus, fallback\n\t\t// to the first tabbable element in the screen (or the screen itself).\n\t\tif ( ! elementToFocus ) {\n\t\t\tconst [ firstTabbable ] = focus.tabbable.find( wrapperEl );\n\t\t\telementToFocus = firstTabbable ?? wrapperEl;\n\t\t}\n\n\t\tlocationRef.current.hasRestoredFocus = true;\n\t\telementToFocus.focus();\n\t}, [\n\t\tskipAnimationAndFocusRestoration,\n\t\tisMatch,\n\t\tisBack,\n\t\tfocusTargetSelector,\n\t\tskipFocus,\n\t] );\n\n\tconst mergedWrapperRef = useMergeRefs( [ forwardedRef, wrapperRef ] );\n\n\treturn shouldRenderScreen ? (\n\t\t<View\n\t\t\tref={ mergedWrapperRef }\n\t\t\tclassName={ classes }\n\t\t\t{ ...screenProps }\n\t\t\t{ ...otherProps }\n\t\t>\n\t\t\t{ children }\n\t\t</View>\n\t) : null;\n}\n\nexport const NavigatorScreen = contextConnect(\n\tUnconnectedNavigatorScreen,\n\t'Navigator.Screen'\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["match","matchPath","path","pattern","matchingFunction","decode","decodeURIComponent","patternMatch","screens","screen","matched","params","id","undefined","findParent","startsWith","pathParts","split","parentPath","length","pop","potentialParentPath","join","find"],"sources":["@wordpress/components/src/navigator/utils/router.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { match } from 'path-to-regexp';\n\n/**\n * Internal dependencies\n */\nimport type { Screen, MatchParams } from '../types';\n\nfunction matchPath( path: string, pattern: string ) {\n\tconst matchingFunction = match< MatchParams >( pattern, {\n\t\tdecode: decodeURIComponent,\n\t} );\n\treturn matchingFunction( path );\n}\n\nexport function patternMatch( path: string, screens: Screen[] ) {\n\tfor ( const screen of screens ) {\n\t\tconst matched = matchPath( path, screen.path );\n\t\tif ( matched ) {\n\t\t\treturn { params: matched.params, id: screen.id };\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nexport function findParent( path: string, screens: Screen[] ) {\n\tif ( ! path.startsWith( '/' ) ) {\n\t\treturn undefined;\n\t}\n\tconst pathParts = path.split( '/' );\n\tlet parentPath;\n\twhile ( pathParts.length > 1 && parentPath === undefined ) {\n\t\tpathParts.pop();\n\t\tconst potentialParentPath =\n\t\t\tpathParts.join( '/' ) === '' ? '/' : pathParts.join( '/' );\n\t\tif (\n\t\t\tscreens.find( ( screen ) => {\n\t\t\t\treturn matchPath( potentialParentPath, screen.path ) !== false;\n\t\t\t} )\n\t\t) {\n\t\t\tparentPath = potentialParentPath;\n\t\t}\n\t}\n\n\treturn parentPath;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,gBAAgB;;AAEtC;AACA;AACA;;AAGA,SAASC,SAASA,CAAEC,IAAY,EAAEC,OAAe,EAAG;EACnD,MAAMC,gBAAgB,GAAGJ,KAAK,CAAiBG,OAAO,EAAE;IACvDE,MAAM,EAAEC;EACT,CAAE,CAAC;EACH,OAAOF,gBAAgB,CAAEF,IAAK,CAAC;AAChC;AAEA,OAAO,SAASK,YAAYA,CAAEL,IAAY,EAAEM,OAAiB,EAAG;EAC/D,KAAM,MAAMC,MAAM,IAAID,OAAO,EAAG;IAC/B,MAAME,OAAO,GAAGT,SAAS,CAAEC,IAAI,EAAEO,MAAM,CAACP,IAAK,CAAC;IAC9C,IAAKQ,OAAO,EAAG;MACd,OAAO;QAAEC,MAAM,EAAED,OAAO,CAACC,MAAM;QAAEC,EAAE,EAAEH,MAAM,CAACG;MAAG,CAAC;IACjD;EACD;EAEA,OAAOC,SAAS;AACjB;AAEA,OAAO,SAASC,UAAUA,CAAEZ,IAAY,EAAEM,OAAiB,EAAG;EAC7D,IAAK,CAAEN,IAAI,CAACa,UAAU,CAAE,GAAI,CAAC,EAAG;IAC/B,OAAOF,SAAS;EACjB;EACA,MAAMG,SAAS,GAAGd,IAAI,CAACe,KAAK,CAAE,GAAI,CAAC;EACnC,IAAIC,UAAU;EACd,OAAQF,SAAS,CAACG,MAAM,GAAG,CAAC,IAAID,UAAU,KAAKL,SAAS,EAAG;IAC1DG,SAAS,CAACI,GAAG,CAAC,CAAC;IACf,MAAMC,mBAAmB,GACxBL,SAAS,CAACM,IAAI,CAAE,GAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAGN,SAAS,CAACM,IAAI,CAAE,GAAI,CAAC;IAC3D,IACCd,OAAO,CAACe,IAAI,CAAId,MAAM,IAAM;MAC3B,OAAOR,SAAS,CAAEoB,mBAAmB,EAAEZ,MAAM,CAACP,IAAK,CAAC,KAAK,KAAK;IAC/D,CAAE,CAAC,EACF;MACDgB,UAAU,GAAGG,mBAAmB;IACjC;EACD;EAEA,OAAOH,UAAU;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["match","matchPath","path","pattern","matchingFunction","decode","decodeURIComponent","patternMatch","screens","screen","matched","params","id","undefined","findParent","startsWith","pathParts","split","parentPath","length","pop","potentialParentPath","join","find"],"sources":["@wordpress/components/src/navigator/utils/router.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { match } from 'path-to-regexp';\n\n/**\n * Internal dependencies\n */\nimport type { Screen, MatchParams } from '../types';\n\nfunction matchPath( path: string, pattern: string ) {\n\tconst matchingFunction = match< MatchParams >( pattern, {\n\t\tdecode: decodeURIComponent,\n\t} );\n\treturn matchingFunction( path );\n}\n\nexport function patternMatch( path: string, screens: Screen[] ) {\n\tfor ( const screen of screens ) {\n\t\tconst matched = matchPath( path, screen.path );\n\t\tif ( matched ) {\n\t\t\treturn { params: matched.params, id: screen.id };\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nexport function findParent( path: string, screens: Screen[] ) {\n\tif ( ! path.startsWith( '/' ) ) {\n\t\treturn undefined;\n\t}\n\tconst pathParts = path.split( '/' );\n\tlet parentPath;\n\twhile ( pathParts.length > 1 && parentPath === undefined ) {\n\t\tpathParts.pop();\n\t\tconst potentialParentPath =\n\t\t\tpathParts.join( '/' ) === '' ? '/' : pathParts.join( '/' );\n\t\tif (\n\t\t\tscreens.find( ( screen ) => {\n\t\t\t\treturn matchPath( potentialParentPath, screen.path ) !== false;\n\t\t\t} )\n\t\t) {\n\t\t\tparentPath = potentialParentPath;\n\t\t}\n\t}\n\n\treturn parentPath;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,gBAAgB;;AAEtC;AACA;AACA;;AAGA,SAASC,SAASA,CAAEC,IAAY,EAAEC,OAAe,EAAG;EACnD,MAAMC,gBAAgB,GAAGJ,KAAK,CAAiBG,OAAO,EAAE;IACvDE,MAAM,EAAEC;EACT,CAAE,CAAC;EACH,OAAOF,gBAAgB,CAAEF,IAAK,CAAC;AAChC;AAEA,OAAO,SAASK,YAAYA,CAAEL,IAAY,EAAEM,OAAiB,EAAG;EAC/D,KAAM,MAAMC,MAAM,IAAID,OAAO,EAAG;IAC/B,MAAME,OAAO,GAAGT,SAAS,CAAEC,IAAI,EAAEO,MAAM,CAACP,IAAK,CAAC;IAC9C,IAAKQ,OAAO,EAAG;MACd,OAAO;QAAEC,MAAM,EAAED,OAAO,CAACC,MAAM;QAAEC,EAAE,EAAEH,MAAM,CAACG;MAAG,CAAC;IACjD;EACD;EAEA,OAAOC,SAAS;AACjB;AAEA,OAAO,SAASC,UAAUA,CAAEZ,IAAY,EAAEM,OAAiB,EAAG;EAC7D,IAAK,CAAEN,IAAI,CAACa,UAAU,CAAE,GAAI,CAAC,EAAG;IAC/B,OAAOF,SAAS;EACjB;EACA,MAAMG,SAAS,GAAGd,IAAI,CAACe,KAAK,CAAE,GAAI,CAAC;EACnC,IAAIC,UAAU;EACd,OAAQF,SAAS,CAACG,MAAM,GAAG,CAAC,IAAID,UAAU,KAAKL,SAAS,EAAG;IAC1DG,SAAS,CAACI,GAAG,CAAC,CAAC;IACf,MAAMC,mBAAmB,GACxBL,SAAS,CAACM,IAAI,CAAE,GAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAGN,SAAS,CAACM,IAAI,CAAE,GAAI,CAAC;IAC3D,IACCd,OAAO,CAACe,IAAI,CAAId,MAAM,IAAM;MAC3B,OAAOR,SAAS,CAAEoB,mBAAmB,EAAEZ,MAAM,CAACP,IAAK,CAAC,KAAK,KAAK;IAC/D,CAAE,CAAC,EACF;MACDgB,UAAU,GAAGG,mBAAmB;IACjC;EACD;EAEA,OAAOH,UAAU;AAClB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","RawHTML","useEffect","renderToString","speak","close","Button","VisuallyHidden","jsx","_jsx","jsxs","_jsxs","noop","useSpokenMessage","message","politeness","spokenMessage","getDefaultPoliteness","status","getStatusLabel","Notice","className","children","onRemove","isDismissible","actions","__unstableHTML","onDismiss","classes","onDismissNotice","map","buttonCustomClasses","label","isPrimary","variant","noDefaultClasses","onClick","url","index","computedVariant","__next40pxDefaultSize","href","undefined","size","icon"],"sources":["@wordpress/components/src/notice/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { RawHTML, useEffect, renderToString } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { NoticeAction, NoticeProps } from './types';\nimport type { DeprecatedButtonProps } from '../button/types';\nimport { VisuallyHidden } from '../visually-hidden';\n\nconst noop = () => {};\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n */\nfunction useSpokenMessage(\n\tmessage: NoticeProps[ 'spokenMessage' ],\n\tpoliteness: NoticeProps[ 'politeness' ]\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction getDefaultPoliteness( status: NoticeProps[ 'status' ] ) {\n\tswitch ( status ) {\n\t\tcase 'success':\n\t\tcase 'warning':\n\t\tcase 'info':\n\t\t\treturn 'polite';\n\t\t// The default will also catch the 'error' status.\n\t\tdefault:\n\t\t\treturn 'assertive';\n\t}\n}\n\nfunction getStatusLabel( status: NoticeProps[ 'status' ] ) {\n\tswitch ( status ) {\n\t\tcase 'warning':\n\t\t\treturn __( 'Warning notice' );\n\t\tcase 'info':\n\t\t\treturn __( 'Information notice' );\n\t\tcase 'error':\n\t\t\treturn __( 'Error notice' );\n\t\t// The default will also catch the 'success' status.\n\t\tdefault:\n\t\t\treturn __( 'Notice' );\n\t}\n}\n\n/**\n * `Notice` is a component used to communicate feedback to the user.\n *\n *```jsx\n * import { Notice } from `@wordpress/components`;\n *\n * const MyNotice = () => (\n * <Notice status=\"error\">An unknown error occurred.</Notice>\n * );\n * ```\n */\nfunction Notice( {\n\tclassName,\n\tstatus = 'info',\n\tchildren,\n\tspokenMessage = children,\n\tonRemove = noop,\n\tisDismissible = true,\n\tactions = [],\n\tpoliteness = getDefaultPoliteness( status ),\n\t__unstableHTML,\n\t// onDismiss is a callback executed when the notice is dismissed.\n\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t// actually the function to call to remove the notice from the UI.\n\tonDismiss = noop,\n}: NoticeProps ) {\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\tconst classes = clsx( className, 'components-notice', 'is-' + status, {\n\t\t'is-dismissible': isDismissible,\n\t} );\n\n\tif ( __unstableHTML && typeof children === 'string' ) {\n\t\tchildren = <RawHTML>{ children }</RawHTML>;\n\t}\n\n\tconst onDismissNotice = () => {\n\t\tonDismiss();\n\t\tonRemove();\n\t};\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t<VisuallyHidden>{ getStatusLabel( status ) }</VisuallyHidden>\n\t\t\t<div className=\"components-notice__content\">\n\t\t\t\t{ children }\n\t\t\t\t<div className=\"components-notice__actions\">\n\t\t\t\t\t{ actions.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: buttonCustomClasses,\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tisPrimary,\n\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\tnoDefaultClasses = false,\n\t\t\t\t\t\t\t\tonClick,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t}: NoticeAction &\n\t\t\t\t\t\t\t\t// `isPrimary` is a legacy prop included for\n\t\t\t\t\t\t\t\t// backcompat, but `variant` should be used\n\t\t\t\t\t\t\t\t// instead.\n\t\t\t\t\t\t\t\tPick< DeprecatedButtonProps, 'isPrimary' >,\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tlet computedVariant = variant;\n\t\t\t\t\t\t\tif ( variant !== 'primary' && ! noDefaultClasses ) {\n\t\t\t\t\t\t\t\tcomputedVariant = ! url ? 'secondary' : 'link';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof computedVariant === 'undefined' &&\n\t\t\t\t\t\t\t\tisPrimary\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcomputedVariant = 'primary';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\t\t\tvariant={ computedVariant }\n\t\t\t\t\t\t\t\t\tonClick={ url ? undefined : onClick }\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'components-notice__action',\n\t\t\t\t\t\t\t\t\t\tbuttonCustomClasses\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ isDismissible && (\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"components-notice__dismiss\"\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\tonClick={ onDismissNotice }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default Notice;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","RawHTML","useEffect","renderToString","speak","close","Button","VisuallyHidden","jsx","_jsx","jsxs","_jsxs","noop","useSpokenMessage","message","politeness","spokenMessage","getDefaultPoliteness","status","getStatusLabel","Notice","className","children","onRemove","isDismissible","actions","__unstableHTML","onDismiss","classes","onDismissNotice","map","buttonCustomClasses","label","isPrimary","variant","noDefaultClasses","onClick","url","index","computedVariant","__next40pxDefaultSize","href","undefined","size","icon"],"sources":["@wordpress/components/src/notice/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { RawHTML, useEffect, renderToString } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { NoticeAction, NoticeProps } from './types';\nimport type { DeprecatedButtonProps } from '../button/types';\nimport { VisuallyHidden } from '../visually-hidden';\n\nconst noop = () => {};\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n */\nfunction useSpokenMessage(\n\tmessage: NoticeProps[ 'spokenMessage' ],\n\tpoliteness: NoticeProps[ 'politeness' ]\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction getDefaultPoliteness( status: NoticeProps[ 'status' ] ) {\n\tswitch ( status ) {\n\t\tcase 'success':\n\t\tcase 'warning':\n\t\tcase 'info':\n\t\t\treturn 'polite';\n\t\t// The default will also catch the 'error' status.\n\t\tdefault:\n\t\t\treturn 'assertive';\n\t}\n}\n\nfunction getStatusLabel( status: NoticeProps[ 'status' ] ) {\n\tswitch ( status ) {\n\t\tcase 'warning':\n\t\t\treturn __( 'Warning notice' );\n\t\tcase 'info':\n\t\t\treturn __( 'Information notice' );\n\t\tcase 'error':\n\t\t\treturn __( 'Error notice' );\n\t\t// The default will also catch the 'success' status.\n\t\tdefault:\n\t\t\treturn __( 'Notice' );\n\t}\n}\n\n/**\n * `Notice` is a component used to communicate feedback to the user.\n *\n *```jsx\n * import { Notice } from `@wordpress/components`;\n *\n * const MyNotice = () => (\n * <Notice status=\"error\">An unknown error occurred.</Notice>\n * );\n * ```\n */\nfunction Notice( {\n\tclassName,\n\tstatus = 'info',\n\tchildren,\n\tspokenMessage = children,\n\tonRemove = noop,\n\tisDismissible = true,\n\tactions = [],\n\tpoliteness = getDefaultPoliteness( status ),\n\t__unstableHTML,\n\t// onDismiss is a callback executed when the notice is dismissed.\n\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t// actually the function to call to remove the notice from the UI.\n\tonDismiss = noop,\n}: NoticeProps ) {\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\tconst classes = clsx( className, 'components-notice', 'is-' + status, {\n\t\t'is-dismissible': isDismissible,\n\t} );\n\n\tif ( __unstableHTML && typeof children === 'string' ) {\n\t\tchildren = <RawHTML>{ children }</RawHTML>;\n\t}\n\n\tconst onDismissNotice = () => {\n\t\tonDismiss();\n\t\tonRemove();\n\t};\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t<VisuallyHidden>{ getStatusLabel( status ) }</VisuallyHidden>\n\t\t\t<div className=\"components-notice__content\">\n\t\t\t\t{ children }\n\t\t\t\t<div className=\"components-notice__actions\">\n\t\t\t\t\t{ actions.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: buttonCustomClasses,\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tisPrimary,\n\t\t\t\t\t\t\t\tvariant,\n\t\t\t\t\t\t\t\tnoDefaultClasses = false,\n\t\t\t\t\t\t\t\tonClick,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t}: NoticeAction &\n\t\t\t\t\t\t\t\t// `isPrimary` is a legacy prop included for\n\t\t\t\t\t\t\t\t// backcompat, but `variant` should be used\n\t\t\t\t\t\t\t\t// instead.\n\t\t\t\t\t\t\t\tPick< DeprecatedButtonProps, 'isPrimary' >,\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\tlet computedVariant = variant;\n\t\t\t\t\t\t\tif ( variant !== 'primary' && ! noDefaultClasses ) {\n\t\t\t\t\t\t\t\tcomputedVariant = ! url ? 'secondary' : 'link';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof computedVariant === 'undefined' &&\n\t\t\t\t\t\t\t\tisPrimary\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcomputedVariant = 'primary';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\t\t\tvariant={ computedVariant }\n\t\t\t\t\t\t\t\t\tonClick={ url ? undefined : onClick }\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'components-notice__action',\n\t\t\t\t\t\t\t\t\t\tbuttonCustomClasses\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ isDismissible && (\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"components-notice__dismiss\"\n\t\t\t\t\ticon={ close }\n\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\tonClick={ onDismissNotice }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default Notice;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */