@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":["_radioCell","_interopRequireDefault","require","_jsxRuntime","RadioControl","onChange","selected","options","props","jsx","Fragment","children","map","option","index","default","label","onPress","value","_default","exports"],"sources":["@wordpress/components/src/radio-control/index.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport RadioCell from '../mobile/bottom-sheet/radio-cell';\n\nfunction RadioControl( { onChange, selected, options = [], ...props } ) {\n\treturn (\n\t\t<>\n\t\t\t{ options.map( ( option, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<RadioCell\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\tonPress={ () => onChange( option.value ) }\n\t\t\t\t\t\tselected={ option.value === selected }\n\t\t\t\t\t\tkey={ `${ option.value }-${ index }` }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,IAAAC,WAAA,GAAAD,OAAA;AAH1D;AACA;AACA;;AAGA,SAASE,YAAYA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,OAAO,GAAG,EAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EACvE,oBACC,IAAAL,WAAA,CAAAM,GAAA,EAAAN,WAAA,CAAAO,QAAA;IAAAC,QAAA,EACGJ,OAAO,CAACK,GAAG,CAAE,CAAEC,MAAM,EAAEC,KAAK,KAAM;MACnC,oBACC,IAAAX,WAAA,CAAAM,GAAA,EAACT,UAAA,CAAAe,OAAS;QACTC,KAAK,EAAGH,MAAM,CAACG,KAAO;QACtBC,OAAO,EAAGA,CAAA,KAAMZ,QAAQ,CAAEQ,MAAM,CAACK,KAAM,CAAG;QAC1CZ,QAAQ,EAAGO,MAAM,CAACK,KAAK,KAAKZ,QAAU;QAAA,GAEjCE;MAAK,GADJ,GAAIK,MAAM,CAACK,KAAK,IAAMJ,KAAK,EAEjC,CAAC;IAEJ,CAAE;EAAC,CACF,CAAC;AAEL;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEcX,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["_radioCell","_interopRequireDefault","require","_jsxRuntime","RadioControl","onChange","selected","options","props","jsx","Fragment","children","map","option","index","default","label","onPress","value","_default","exports"],"sources":["@wordpress/components/src/radio-control/index.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport RadioCell from '../mobile/bottom-sheet/radio-cell';\n\nfunction RadioControl( { onChange, selected, options = [], ...props } ) {\n\treturn (\n\t\t<>\n\t\t\t{ options.map( ( option, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<RadioCell\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\tonPress={ () => onChange( option.value ) }\n\t\t\t\t\t\tselected={ option.value === selected }\n\t\t\t\t\t\tkey={ `${ option.value }-${ index }` }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default RadioControl;\n"],"mappings":";;;;;;;AAGA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,IAAAC,WAAA,GAAAD,OAAA;AAH1D;AACA;AACA;;AAGA,SAASE,YAAYA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,OAAO,GAAG,EAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EACvE,oBACC,IAAAL,WAAA,CAAAM,GAAA,EAAAN,WAAA,CAAAO,QAAA;IAAAC,QAAA,EACGJ,OAAO,CAACK,GAAG,CAAE,CAAEC,MAAM,EAAEC,KAAK,KAAM;MACnC,oBACC,IAAAX,WAAA,CAAAM,GAAA,EAACT,UAAA,CAAAe,OAAS;QACTC,KAAK,EAAGH,MAAM,CAACG,KAAO;QACtBC,OAAO,EAAGA,CAAA,KAAMZ,QAAQ,CAAEQ,MAAM,CAACK,KAAM,CAAG;QAC1CZ,QAAQ,EAAGO,MAAM,CAACK,KAAK,KAAKZ,QAAU;QAAA,GAEjCE;MAAK,GADJ,GAAIK,MAAM,CAACK,KAAK,IAAMJ,KAAK,EAEjC,CAAC;IAEJ,CAAE;EAAC,CACF,CAAC;AAEL;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEcX,YAAY","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_mark","_interopRequireDefault","_rangeControlStyles","_jsxRuntime","_react","RangeRail","props","disabled","marks","min","max","step","value","restProps","jsxs","Fragment","children","jsx","Rail","Marks","stepProp","marksData","useMarks","MarksWrapper","className","map","mark","createElement","default","key","range","Array","isArray","count","Math","round","push","length","placedMarks","forEach","index","isFilled","offset","offsetStyle","isRTL","style"],"sources":["@wordpress/components/src/range-control/rail.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport RangeMark from './mark';\nimport { MarksWrapper, Rail } from './styles/range-control-styles';\n\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tMarksProps,\n\tRangeMarkProps,\n\tRailProps,\n\tUseMarksArgs,\n} from './types';\n\nexport default function RangeRail(\n\tprops: WordPressComponentProps< RailProps, 'span' >\n) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep = 1,\n\t\tvalue = 0,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<>\n\t\t\t<Rail disabled={ disabled } { ...restProps } />\n\t\t\t{ marks && (\n\t\t\t\t<Marks\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Marks( props: WordPressComponentProps< MarksProps, 'span' > ) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep: stepProp = 1,\n\t\tvalue = 0,\n\t} = props;\n\n\tconst step = stepProp === 'any' ? 1 : stepProp;\n\tconst marksData = useMarks( { marks, min, max, step, value } );\n\n\treturn (\n\t\t<MarksWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-range-control__marks\"\n\t\t>\n\t\t\t{ marksData.map( ( mark ) => (\n\t\t\t\t<RangeMark\n\t\t\t\t\t{ ...mark }\n\t\t\t\t\tkey={ mark.key }\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</MarksWrapper>\n\t);\n}\n\nfunction useMarks( {\n\tmarks,\n\tmin = 0,\n\tmax = 100,\n\tstep = 1,\n\tvalue = 0,\n}: UseMarksArgs ) {\n\tif ( ! marks ) {\n\t\treturn [];\n\t}\n\n\tconst range = max - min;\n\tif ( ! Array.isArray( marks ) ) {\n\t\tmarks = [];\n\t\tconst count = 1 + Math.round( range / step );\n\t\twhile ( count > marks.push( { value: step * marks.length + min } ) ) {}\n\t}\n\n\tconst placedMarks: RangeMarkProps[] = [];\n\tmarks.forEach( ( mark, index ) => {\n\t\tif ( mark.value < min || mark.value > max ) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = `mark-${ index }`;\n\t\tconst isFilled = mark.value <= value;\n\t\tconst offset = `${ ( ( mark.value - min ) / range ) * 100 }%`;\n\n\t\tconst offsetStyle = {\n\t\t\t[ isRTL() ? 'right' : 'left' ]: offset,\n\t\t};\n\n\t\tplacedMarks.push( {\n\t\t\t...mark,\n\t\t\tisFilled,\n\t\t\tkey,\n\t\t\tstyle: offsetStyle,\n\t\t} );\n\t} );\n\n\treturn placedMarks;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_mark","_interopRequireDefault","_rangeControlStyles","_jsxRuntime","_react","RangeRail","props","disabled","marks","min","max","step","value","restProps","jsxs","Fragment","children","jsx","Rail","Marks","stepProp","marksData","useMarks","MarksWrapper","className","map","mark","createElement","default","key","range","Array","isArray","count","Math","round","push","length","placedMarks","forEach","index","isFilled","offset","offsetStyle","isRTL","style"],"sources":["@wordpress/components/src/range-control/rail.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport RangeMark from './mark';\nimport { MarksWrapper, Rail } from './styles/range-control-styles';\n\nimport type { WordPressComponentProps } from '../context';\nimport type {\n\tMarksProps,\n\tRangeMarkProps,\n\tRailProps,\n\tUseMarksArgs,\n} from './types';\n\nexport default function RangeRail(\n\tprops: WordPressComponentProps< RailProps, 'span' >\n) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep = 1,\n\t\tvalue = 0,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<>\n\t\t\t<Rail disabled={ disabled } { ...restProps } />\n\t\t\t{ marks && (\n\t\t\t\t<Marks\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tmin={ min }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction Marks( props: WordPressComponentProps< MarksProps, 'span' > ) {\n\tconst {\n\t\tdisabled = false,\n\t\tmarks = false,\n\t\tmin = 0,\n\t\tmax = 100,\n\t\tstep: stepProp = 1,\n\t\tvalue = 0,\n\t} = props;\n\n\tconst step = stepProp === 'any' ? 1 : stepProp;\n\tconst marksData = useMarks( { marks, min, max, step, value } );\n\n\treturn (\n\t\t<MarksWrapper\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"components-range-control__marks\"\n\t\t>\n\t\t\t{ marksData.map( ( mark ) => (\n\t\t\t\t<RangeMark\n\t\t\t\t\t{ ...mark }\n\t\t\t\t\tkey={ mark.key }\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</MarksWrapper>\n\t);\n}\n\nfunction useMarks( {\n\tmarks,\n\tmin = 0,\n\tmax = 100,\n\tstep = 1,\n\tvalue = 0,\n}: UseMarksArgs ) {\n\tif ( ! marks ) {\n\t\treturn [];\n\t}\n\n\tconst range = max - min;\n\tif ( ! Array.isArray( marks ) ) {\n\t\tmarks = [];\n\t\tconst count = 1 + Math.round( range / step );\n\t\twhile ( count > marks.push( { value: step * marks.length + min } ) ) {}\n\t}\n\n\tconst placedMarks: RangeMarkProps[] = [];\n\tmarks.forEach( ( mark, index ) => {\n\t\tif ( mark.value < min || mark.value > max ) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = `mark-${ index }`;\n\t\tconst isFilled = mark.value <= value;\n\t\tconst offset = `${ ( ( mark.value - min ) / range ) * 100 }%`;\n\n\t\tconst offsetStyle = {\n\t\t\t[ isRTL() ? 'right' : 'left' ]: offset,\n\t\t};\n\n\t\tplacedMarks.push( {\n\t\t\t...mark,\n\t\t\tisFilled,\n\t\t\tkey,\n\t\t\tstyle: offsetStyle,\n\t\t} );\n\t} );\n\n\treturn placedMarks;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_clsx","_interopRequireDefault","_reResizable","_resizeTooltip","_jsxRuntime","HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","clsx","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ref","jsxs","Resizable","handleComponent","Object","fromEntries","keys","map","key","jsx","tabIndex","handleClasses","handleStyles","default","ResizableBox","exports","forwardRef","_default"],"sources":["@wordpress/components/src/resizable-box/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// Add a focusable element within the drag handle. Unfortunately,\n\t\t\t// `re-resizable` does not make them properly focusable by default,\n\t\t\t// causing focus to move the the block wrapper which triggers block\n\t\t\t// drag.\n\t\t\thandleComponent={ Object.fromEntries(\n\t\t\t\tObject.keys( HANDLE_CLASSES ).map( ( key ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\t<div key={ key } tabIndex={ -1 } />,\n\t\t\t\t] )\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_clsx","_interopRequireDefault","_reResizable","_resizeTooltip","_jsxRuntime","HANDLE_CLASS_NAME","SIDE_HANDLE_CLASS_NAME","CORNER_HANDLE_CLASS_NAME","HANDLE_CLASSES","top","clsx","right","bottom","left","topLeft","topRight","bottomRight","bottomLeft","HANDLE_STYLES_OVERRIDES","width","undefined","height","HANDLE_STYLES","UnforwardedResizableBox","className","children","showHandle","__experimentalShowTooltip","showTooltip","__experimentalTooltipProps","tooltipProps","props","ref","jsxs","Resizable","handleComponent","Object","fromEntries","keys","map","key","jsx","tabIndex","handleClasses","handleStyles","default","ResizableBox","exports","forwardRef","_default"],"sources":["@wordpress/components/src/resizable-box/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport { Resizable } from 're-resizable';\nimport type { ResizableProps } from 're-resizable';\nimport type { ReactNode, ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ResizeTooltip from './resize-tooltip';\n\nconst HANDLE_CLASS_NAME = 'components-resizable-box__handle';\nconst SIDE_HANDLE_CLASS_NAME = 'components-resizable-box__side-handle';\nconst CORNER_HANDLE_CLASS_NAME = 'components-resizable-box__corner-handle';\n\nconst HANDLE_CLASSES = {\n\ttop: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top'\n\t),\n\tright: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottom: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom'\n\t),\n\tleft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tSIDE_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-left'\n\t),\n\ttopRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-top',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomRight: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-right'\n\t),\n\tbottomLeft: clsx(\n\t\tHANDLE_CLASS_NAME,\n\t\tCORNER_HANDLE_CLASS_NAME,\n\t\t'components-resizable-box__handle-bottom',\n\t\t'components-resizable-box__handle-left'\n\t),\n};\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDES = {\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\nconst HANDLE_STYLES = {\n\ttop: HANDLE_STYLES_OVERRIDES,\n\tright: HANDLE_STYLES_OVERRIDES,\n\tbottom: HANDLE_STYLES_OVERRIDES,\n\tleft: HANDLE_STYLES_OVERRIDES,\n\ttopLeft: HANDLE_STYLES_OVERRIDES,\n\ttopRight: HANDLE_STYLES_OVERRIDES,\n\tbottomRight: HANDLE_STYLES_OVERRIDES,\n\tbottomLeft: HANDLE_STYLES_OVERRIDES,\n};\n\ntype ResizableBoxProps = ResizableProps & {\n\tchildren: ReactNode;\n\tshowHandle?: boolean;\n\t__experimentalShowTooltip?: boolean;\n\t__experimentalTooltipProps?: Parameters< typeof ResizeTooltip >[ 0 ];\n};\n\nfunction UnforwardedResizableBox(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tshowHandle = true,\n\t\t__experimentalShowTooltip: showTooltip = false,\n\t\t__experimentalTooltipProps: tooltipProps = {},\n\t\t...props\n\t}: ResizableBoxProps,\n\tref: ForwardedRef< Resizable >\n): JSX.Element {\n\treturn (\n\t\t<Resizable\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tshowHandle && 'has-show-handle',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// Add a focusable element within the drag handle. Unfortunately,\n\t\t\t// `re-resizable` does not make them properly focusable by default,\n\t\t\t// causing focus to move the the block wrapper which triggers block\n\t\t\t// drag.\n\t\t\thandleComponent={ Object.fromEntries(\n\t\t\t\tObject.keys( HANDLE_CLASSES ).map( ( key ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\t<div key={ key } tabIndex={ -1 } />,\n\t\t\t\t] )\n\t\t\t) }\n\t\t\thandleClasses={ HANDLE_CLASSES }\n\t\t\thandleStyles={ HANDLE_STYLES }\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ showTooltip && <ResizeTooltip { ...tooltipProps } /> }\n\t\t</Resizable>\n\t);\n}\n\nexport const ResizableBox = forwardRef( UnforwardedResizableBox );\n\nexport default ResizableBox;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_jsxRuntime","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","tabIndex","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","jsxs","lang","documentElement","className","children","jsx","dangerouslySetInnerHTML","__html","map","i","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(\n\t\t\t\t\t\truleOrNode.style[ style ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n\ttabIndex,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_compose","_jsxRuntime","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","tabIndex","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","jsxs","lang","documentElement","className","children","jsx","dangerouslySetInnerHTML","__html","map","i","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(\n\t\t\t\t\t\truleOrNode.style[ style ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n\ttabIndex,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeWebview","_element","_compose","_style","_interopRequireDefault","_jsxRuntime","observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","forwardRef","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","onWindowEvents","viewportProps","onLoadEnd","testID","ref","colorScheme","usePreferredColorScheme","height","setHeight","useState","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","useRef","key","Platform","select","android","ios","addViewportProps","trim","replace","htmlDoc","jsxs","children","jsx","name","content","dangerouslySetInnerHTML","__html","map","rules","i","className","src","renderToString","getInjectedJavaScript","useCallback","injectedJS","Object","keys","forEach","eventType","updateContentHtml","forceRerender","newContentHtml","setImmediate","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","onMessage","message","data","nativeEvent","JSON","parse","e","action","console","warn","useEffect","dimensionsChangeSubscription","addEventListener","remove","current","WebView","sandboxStyles","injectedJavaScript","source","baseUrl","originWhitelist","isAndroid","workaroundStyles","webView","scrollEnabled","setBuiltInZoomControls","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","mediaPlaybackRequiresUserAction","StyleSheet","create","opacity","_default","exports","default","memo"],"sources":["@wordpress/components/src/sandbox/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlatform,\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n\tforwardRef,\n\tuseCallback,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t(function() {\n\t\tconst { MutationObserver } = window;\n\n\t\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library\n\t\t\t// to communicate between React Native and the WebView, in this case,\n\t\t\t// we use it for notifying resize changes.\n\t\t\twindow.ReactNativeWebView.postMessage(\n\t\t\t\tJSON.stringify( {\n\t\t\t\t\taction: 'resize',\n\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst observer = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif ( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function (\n\t\t\t\t\tstyle\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t\t) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.querySelectorAll( '[style]' ),\n\t\t\tremoveViewportStyles\n\t\t);\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.styleSheets,\n\t\t\tfunction ( stylesheet ) {\n\t\t\t\tArray.prototype.forEach.call(\n\t\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\t\tremoveViewportStyles\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\twindow.addEventListener( 'orientationchange', sendResize, true );\n\t})();\n`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t *\n\t * These styles have been copied from the web version (https://github.com/WordPress/gutenberg/blob/7901895ca20cf61e402925e31571d659dab64721/packages/block-library/src/embed/style.scss#L42-L89) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nconst Sandbox = forwardRef( function Sandbox(\n\t{\n\t\tcontainerStyle,\n\t\tcustomJS,\n\t\thtml = '',\n\t\tlang = 'en',\n\t\tproviderUrl = '',\n\t\tscripts = EMPTY_ARRAY,\n\t\tstyles = EMPTY_ARRAY,\n\t\ttitle = '',\n\t\ttype,\n\t\turl,\n\t\tonWindowEvents = {},\n\t\tviewportProps = '',\n\t\tonLoadEnd = () => {},\n\t\ttestID,\n\t},\n\tref\n) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\n\t\t// Avoid comma issues with props.viewportProps.\n\t\tconst addViewportProps = viewportProps\n\t\t\t.trim()\n\t\t\t.replace( /(^[^,])/, ', $1' );\n\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent={ `width=device-width, initial-scale=1${ addViewportProps }` }\n\t\t\t\t\t></meta>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tconst getInjectedJavaScript = useCallback( () => {\n\t\t// Allow parent to override the resize observers with prop.customJS (legacy support)\n\t\tlet injectedJS = customJS || observeAndResizeJS;\n\n\t\t// Add any event listeners that were passed in.\n\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\tinjectedJS += `\n\t\t\t\twindow.addEventListener( '${ eventType }', function( event ) {\n\t\t\t\t\twindow.ReactNativeWebView.postMessage( JSON.stringify( { type: '${ eventType }', ...event.data } ) );\n\t\t\t\t});`;\n\t\t} );\n\n\t\treturn injectedJS;\n\t}, [ customJS, onWindowEvents ] );\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tconst onMessage = useCallback(\n\t\t( message ) => {\n\t\t\tlet data = message?.nativeEvent?.data;\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check for resize event\n\t\t\tif ( 'resize' === data?.action ) {\n\t\t\t\tsetHeight( data.height );\n\t\t\t}\n\n\t\t\t// Forward the event to parent event listeners\n\t\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\t\tif ( data?.type === eventType ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tonWindowEvents[ eventType ]( data );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Error handling event ${ eventType }`,\n\t\t\t\t\t\t\te\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onWindowEvents ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonChangeDimensions\n\t\t);\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tinjectedJavaScript={ getInjectedJavaScript() }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t\tPlatform.isAndroid && workaroundStyles.webView,\n\t\t\t] }\n\t\t\tonMessage={ onMessage }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t\tmediaPlaybackRequiresUserAction={ false }\n\t\t\tonLoadEnd={ onLoadEnd }\n\t\t\ttestID={ testID }\n\t\t/>\n\t);\n} );\n\nconst workaroundStyles = StyleSheet.create( {\n\twebView: {\n\t\t/**\n\t\t * The slight opacity below is a workaround for an Android crash caused from combining Android\n\t\t * 12's new scroll overflow behavior and webviews.\n\t\t * https://github.com/react-native-webview/react-native-webview/issues/1915#issuecomment-808869253\n\t\t */\n\t\topacity: 0.99,\n\t},\n} );\n\nexport default memo( Sandbox );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAUA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAyC,IAAAM,WAAA,GAAAN,OAAA;AAxBzC;AACA;AACA;;AAIA;AACA;AACA;;AAaA;AACA;AACA;;AAGA,MAAMO,kBAAkB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,KAAK,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,OAAO,GAAG,IAAAC,mBAAU,EAAE,SAASD,OAAOA,CAC3C;EACCE,cAAc;EACdC,QAAQ;EACRC,IAAI,GAAG,EAAE;EACTC,IAAI,GAAG,IAAI;EACXC,WAAW,GAAG,EAAE;EAChBC,OAAO,GAAGR,WAAW;EACrBS,MAA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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeWebview","_element","_compose","_style","_interopRequireDefault","_jsxRuntime","observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","forwardRef","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","onWindowEvents","viewportProps","onLoadEnd","testID","ref","colorScheme","usePreferredColorScheme","height","setHeight","useState","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","useRef","key","Platform","select","android","ios","addViewportProps","trim","replace","htmlDoc","jsxs","children","jsx","name","content","dangerouslySetInnerHTML","__html","map","rules","i","className","src","renderToString","getInjectedJavaScript","useCallback","injectedJS","Object","keys","forEach","eventType","updateContentHtml","forceRerender","newContentHtml","setImmediate","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","onMessage","message","data","nativeEvent","JSON","parse","e","action","console","warn","useEffect","dimensionsChangeSubscription","addEventListener","remove","current","WebView","sandboxStyles","injectedJavaScript","source","baseUrl","originWhitelist","isAndroid","workaroundStyles","webView","scrollEnabled","setBuiltInZoomControls","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","mediaPlaybackRequiresUserAction","StyleSheet","create","opacity","_default","exports","default","memo"],"sources":["@wordpress/components/src/sandbox/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlatform,\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n\tforwardRef,\n\tuseCallback,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t(function() {\n\t\tconst { MutationObserver } = window;\n\n\t\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library\n\t\t\t// to communicate between React Native and the WebView, in this case,\n\t\t\t// we use it for notifying resize changes.\n\t\t\twindow.ReactNativeWebView.postMessage(\n\t\t\t\tJSON.stringify( {\n\t\t\t\t\taction: 'resize',\n\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\n\t\tconst observer = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif ( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function (\n\t\t\t\t\tstyle\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t/^\\\\d+(vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t\t) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.querySelectorAll( '[style]' ),\n\t\t\tremoveViewportStyles\n\t\t);\n\t\tArray.prototype.forEach.call(\n\t\t\tdocument.styleSheets,\n\t\t\tfunction ( stylesheet ) {\n\t\t\t\tArray.prototype.forEach.call(\n\t\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\t\tremoveViewportStyles\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\twindow.addEventListener( 'orientationchange', sendResize, true );\n\t})();\n`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n\n\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t *\n\t * These styles have been copied from the web version (https://github.com/WordPress/gutenberg/blob/7901895ca20cf61e402925e31571d659dab64721/packages/block-library/src/embed/style.scss#L42-L89) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nconst Sandbox = forwardRef( function Sandbox(\n\t{\n\t\tcontainerStyle,\n\t\tcustomJS,\n\t\thtml = '',\n\t\tlang = 'en',\n\t\tproviderUrl = '',\n\t\tscripts = EMPTY_ARRAY,\n\t\tstyles = EMPTY_ARRAY,\n\t\ttitle = '',\n\t\ttype,\n\t\turl,\n\t\tonWindowEvents = {},\n\t\tviewportProps = '',\n\t\tonLoadEnd = () => {},\n\t\ttestID,\n\t},\n\tref\n) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\n\t\t// Avoid comma issues with props.viewportProps.\n\t\tconst addViewportProps = viewportProps\n\t\t\t.trim()\n\t\t\t.replace( /(^[^,])/, ', $1' );\n\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent={ `width=device-width, initial-scale=1${ addViewportProps }` }\n\t\t\t\t\t></meta>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tconst getInjectedJavaScript = useCallback( () => {\n\t\t// Allow parent to override the resize observers with prop.customJS (legacy support)\n\t\tlet injectedJS = customJS || observeAndResizeJS;\n\n\t\t// Add any event listeners that were passed in.\n\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\tinjectedJS += `\n\t\t\t\twindow.addEventListener( '${ eventType }', function( event ) {\n\t\t\t\t\twindow.ReactNativeWebView.postMessage( JSON.stringify( { type: '${ eventType }', ...event.data } ) );\n\t\t\t\t});`;\n\t\t} );\n\n\t\treturn injectedJS;\n\t}, [ customJS, onWindowEvents ] );\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tconst onMessage = useCallback(\n\t\t( message ) => {\n\t\t\tlet data = message?.nativeEvent?.data;\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check for resize event\n\t\t\tif ( 'resize' === data?.action ) {\n\t\t\t\tsetHeight( data.height );\n\t\t\t}\n\n\t\t\t// Forward the event to parent event listeners\n\t\t\tObject.keys( onWindowEvents ).forEach( ( eventType ) => {\n\t\t\t\tif ( data?.type === eventType ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tonWindowEvents[ eventType ]( data );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`Error handling event ${ eventType }`,\n\t\t\t\t\t\t\te\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onWindowEvents ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonChangeDimensions\n\t\t);\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tinjectedJavaScript={ getInjectedJavaScript() }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t\tPlatform.isAndroid && workaroundStyles.webView,\n\t\t\t] }\n\t\t\tonMessage={ onMessage }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t\tmediaPlaybackRequiresUserAction={ false }\n\t\t\tonLoadEnd={ onLoadEnd }\n\t\t\ttestID={ testID }\n\t\t/>\n\t);\n} );\n\nconst workaroundStyles = StyleSheet.create( {\n\twebView: {\n\t\t/**\n\t\t * The slight opacity below is a workaround for an Android crash caused from combining Android\n\t\t * 12's new scroll overflow behavior and webviews.\n\t\t * https://github.com/react-native-webview/react-native-webview/issues/1915#issuecomment-808869253\n\t\t */\n\t\topacity: 0.99,\n\t},\n} );\n\nexport default memo( Sandbox );\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAUA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAyC,IAAAM,WAAA,GAAAN,OAAA;AAxBzC;AACA;AACA;;AAIA;AACA;AACA;;AAaA;AACA;AACA;;AAGA,MAAMO,kBAAkB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,KAAK,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,OAAO,GAAG,IAAAC,mBAAU,EAAE,SAASD,OAAOA,CAC3C;EACCE,cAAc;EACdC,QAAQ;EACRC,IAAI,GAAG,EAAE;EACTC,IAAI,GAAG,IAAI;EACXC,WAAW,GAAG,EAAE;EAChBC,OAAO,GAAGR,WAAW;EACrBS,MAAM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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_i18n","_icons","_style","_interopRequireDefault","_platformStyle","_button","_gridicons","_jsxRuntime","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","jsx","default","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","children","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","jsxs","TextInput","ref","placeholderTextColor","onChangeText","_default","exports"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\nimport Button from '../button';\nimport Gridicons from '../mobile/gridicons';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAaA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAUA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,cAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,OAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,UAAA,GAAAH,sBAAA,CAAAL,OAAA;AAA4C,IAAAS,WAAA,GAAAT,OAAA;AArC5C;AACA;AACA;;AAWA;AACA;AACA;;AAgBA;AACA;AACA;;AAMA;AACA,MAAMU,UAAU,GAAG;EAAE,GAAGC;AAAU,CAAC;AACnC,KAAM,MAAMC,QAAQ,IAAIC,sBAAc,EAAG;EACxCH,UAAU,CAAEE,QAAQ,CAAE,GAAG;IACxB,GAAGF,UAAU,CAAEE,QAAQ,CAAE;IACzB,GAAGC,sBAAc,CAAED,QAAQ;EAC5B,CAAC;AACF;AAEA,SAASE,oBAAoBA,CAAEC,MAAM,EAAEC,QAAQ,EAAG;EACjD,MAAMC,eAAe,GAAG,IAAIC,MAAM,CAAE,KAAMF,QAAQ,GAAK,CAAC;EACxD,MAAMG,iBAAiB,GAAGC,MAAM,CAACC,IAAI,CAAEN,MAAO,CAAC,CAACO,MAAM,CAAIV,QAAQ,IACjEA,QAAQ,CAACW,KAAK,CAAEN,eAAgB,CACjC,CAAC;EAED,OAAOE,iBAAiB,CAACK,MAAM,CAAE,CAAEC,cAAc,EAAEC,gBAAgB,KAAM;IACxE,MAAMC,oBAAoB,GAAGD,gBAAgB,CAACE,KAAK,CAAE,IAAK,CAAC,CAAE,CAAC,CAAE;IAChEH,cAAc,CAAEE,oBAAoB,CAAE,GAAGZ,MAAM,CAAEW,gBAAgB,CAAE;IACnE,OAAOD,cAAc;EACtB,CAAC,EAAE,CAAC,CAAE,CAAC;AACR;AAEA,SAASI,WAAWA,CAAEd,MAAM,EAAEe,YAAY,EAAEC,SAAS,EAAG;EACvDA,SAAS,CAACC,OAAO,CAAIpB,QAAQ,IAAM;IAClCG,MAAM,CAAEH,QAAQ,CAAE,GAAG;MACpB,GAAGG,MAAM,CAAEH,QAAQ,CAAE;MACrB,GAAGkB,YAAY,CAAElB,QAAQ;IAC1B,CAAC;EACF,CAAE,CAAC;EAEH,OAAOG,MAAM;AACd;AAEA,SAASkB,aAAaA,CAAE;EACvBC,KAAK;EACLC,QAAQ;EACRC,WAAW,GAAG,IAAAC,QAAE,EAAE,eAAgB;AACnC,CAAC,EAAG;EACH,MAAM,CAAEC,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACnD,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAF,iBAAQ,EAAE9B,UAAW,CAAC;EAElE,MAAMiC,MAAM,GAAG,IAAAC,2BAAc,EAAC,CAAC,KAAK,MAAM;EAC1C,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAC,CAAC;EACzB,MAAMC,aAAa,GAAG,IAAAD,eAAM,EAAC,CAAC;EAE9B,MAAME,KAAK,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;EAEnC,MAAMC,UAAU,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACjC,OAAOtC,oBAAoB,CAAEJ,UAAU,EAAE,MAAO,CAAC;EAClD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM2C,YAAY,GAAG,IAAAD,gBAAO,EAAE,MAAM;IACnC,OAAOtC,oBAAoB,CAAEJ,UAAU,EAAE,QAAS,CAAC;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM4C,gBAAgB,GAAG,IAAAF,gBAAO,EAAE,MAAM;IACvC,OAAOtC,oBAAoB,CAAEJ,UAAU,EAAE,aAAc,CAAC;EACzD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAA6C,kBAAS,EAAE,MAAM;IAChB,IAAIC,YAAY,GAAG;MAAE,GAAG9C;IAAW,CAAC;IAEpC,SAAS+C,iBAAiBA,CAAEhC,cAAc,EAAEiC,mBAAmB,EAAG;MACjE,MAAMC,iBAAiB,GAAGD,mBAAmB,CAACE,KAAK,CAChDC,MAAM,IAAMA,MACf,CAAC;MAED,MAAMC,aAAa,GAAGH,iBAAiB,GACpClC,cAAc,GACd+B,YAAY;MAEf,MAAMzB,SAAS,GAAGX,MAAM,CAACC,IAAI,CAAEI,cAAe,CAAC;MAE/C+B,YAAY,GAAG3B,WAAW,CACzB2B,YAAY,EACZM,aAAa,EACb/B,SACD,CAAC;IACF;IAEA0B,iBAAiB,CAAEJ,YAAY,EAAE,CAAEf,QAAQ,CAAG,CAAC;IAC/CmB,iBAAiB,CAAEN,UAAU,EAAE,CAAER,MAAM,CAAG,CAAC;IAC3Cc,iBAAiB,CAAEH,gBAAgB,EAAE,CAAEhB,QAAQ,EAAEK,MAAM,CAAG,CAAC;IAE3DD,gBAAgB,CAAEc,YAAa,CAAC;IAChC;EACD,CAAC,EAAE,CAAElB,QAAQ,EAAEK,MAAM,CAAG,CAAC;EAEzB,MAAMoB,UAAU,GAAG,IAAAC,oBAAW,EAAE,MAAM;IACrC7B,QAAQ,CAAE,EAAG,CAAC;EACf,CAAC,EAAE,CAAEA,QAAQ,CAAG,CAAC;EAEjB,MAAM8B,OAAO,GAAG,IAAAD,oBAAW,EAAE,MAAM;IAClCzB,WAAW,CAAE,IAAK,CAAC;IACnBM,QAAQ,CAACqB,OAAO,EAAEC,KAAK,CAAC,CAAC;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,OAAO,GAAG,IAAAJ,oBAAW,EAAE,MAAM;IAClCzB,WAAW,CAAE,IAAK,CAAC;EACpB,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM8B,QAAQ,GAAG,IAAAL,oBAAW,EAAE,MAAM;IACnCM,YAAY,CAAEvB,aAAa,CAACmB,OAAQ,CAAC;IACrCnB,aAAa,CAACmB,OAAO,GAAGK,UAAU,CAAE,MAAM;MACzC1B,QAAQ,CAACqB,OAAO,EAAEM,IAAI,CAAC,CAAC;MACxBT,UAAU,CAAC,CAAC;MACZxB,WAAW,CAAE,KAAM,CAAC;IACrB,CAAC,EAAE,CAAE,CAAC;EACP,CAAC,EAAE,CAAEwB,UAAU,CAAG,CAAC;EAEnB,MAAMU,iBAAiB,GAAG,IAAAT,oBAAW,EAAE,MAAM;IAC5C,IAAK,CAAEhB,KAAK,EAAG;MACdqB,QAAQ,CAAC,CAAC;IACX;EACD,CAAC,EAAE,CAAErB,KAAK,EAAEqB,QAAQ,CAAG,CAAC;EAExB,IAAAd,kBAAS,EAAE,MAAM;IAChB,MAAMmB,wBAAwB,GAAGC,qBAAQ,CAACC,WAAW,CACpD,iBAAiB,EACjBH,iBACD,CAAC;IACD,OAAO,MAAM;MACZH,YAAY,CAAEvB,aAAa,CAACmB,OAAQ,CAAC;MACrCQ,wBAAwB,CAACG,MAAM,CAAC,CAAC;IAClC,CAAC;EACF,CAAC,EAAE,CAAEJ,iBAAiB,CAAG,CAAC;EAE1B,MAAM;IACL,2BAA2B,EAAEK,cAAc;IAC3C,iCAAiC,EAAEC,mBAAmB;IACtD,iCAAiC,EAAEC,mBAAmB;IACtD,4BAA4B,EAAEC,cAAc;IAC5C,wCAAwC,EAAEC,gBAAgB;IAC1D,8BAA8B,EAAEC,gBAAgB;IAChD,mCAAmC,EAAEC,oBAAoB;IACzD,oCAAoC,EAAEC,qBAAqB;IAC3D,+BAA+B,EAAEC,iBAAiB;IAClD,oCAAoC,EAAEC,qBAAqB;IAC3D,sBAAsB,EAAEC,SAAS;IACjC,4BAA4B,EAAEC;EAC/B,CAAC,GAAGhD,aAAa;EAEjB,SAASiD,gBAAgBA,CAAA,EAAG;IAC3B,MAAMC,MAAM,GACX,CAAE3C,KAAK,IAAIV,QAAQ,gBAClB,IAAA7B,WAAA,CAAAmF,GAAA,EAACrF,OAAA,CAAAsF,OAAM;MACNC,KAAK,EAAG,IAAAzD,QAAE,EAAE,eAAgB,CAAG;MAC/B0D,IAAI,EAAGC,gBAAe;MACtBC,OAAO,EAAG5B,QAAU;MACpB6B,KAAK,EAAGV;IAAW,CACnB,CAAC,gBAEF,IAAA/E,WAAA,CAAAmF,GAAA,EAACzF,MAAA,CAAAgG,IAAI;MAACJ,IAAI,EAAGK,kBAAS,CAACC,MAAQ;MAACC,IAAI,EAAGd,SAAS,EAAEe;IAAO,CAAE,CAC3D;IAEF,oBACC,IAAA9F,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAyG,IAAI;MAACN,KAAK,EAAG,CAAEf,gBAAgB,EAAEC,oBAAoB,CAAI;MAAAqB,QAAA,EACvDd;IAAM,CACH,CAAC;EAET;EAEA,SAASe,iBAAiBA,CAAA,EAAG;IAC5B,IAAIf,MAAM;;IAEV;IACA,IAAK3C,KAAK,IAAI,CAAEV,QAAQ,EAAG;MAC1BqD,MAAM,gBAAG,IAAAlF,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAyG,IAAI,IAAE,CAAC;IAClB;IAEA,IAAK,CAAC,CAAEtE,KAAK,EAAG;MACfyD,MAAM,gBACL,IAAAlF,WAAA,CAAAmF,GAAA,EAACrF,OAAA,CAAAsF,OAAM;QACNC,KAAK,EAAG,IAAAzD,QAAE,EAAE,cAAe,CAAG;QAC9B0D,IAAI,EAAG/C,KAAK,GAAG2D,yBAAsB,GAAGC,YAAW;QACnDX,OAAO,EAAGlC,UAAY;QACtBmC,KAAK,EAAG,CAAEV,SAAS,EAAEC,cAAc;MAAI,CACvC,CACD;IACF;IAEA,oBACC,IAAAhF,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAyG,IAAI;MAACN,KAAK,EAAG,CAAEf,gBAAgB,EAAEE,qBAAqB,CAAI;MAAAoB,QAAA,EACxDd;IAAM,CACH,CAAC;EAET;EAEA,SAASkB,YAAYA,CAAA,EAAG;IACvB,IAAK,CAAE7D,KAAK,EAAG;MACd,OAAO,IAAI;IACZ;IACA,oBACC,IAAAvC,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAyG,IAAI;MAACN,KAAK,EAAGZ,iBAAmB;MAAAmB,QAAA,eAChC,IAAAhG,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAA+G,IAAI;QACJ7C,OAAO,EAAGI,QAAU;QACpB6B,KAAK,EAAGX,qBAAuB;QAC/BwB,UAAU;QACVC,iBAAiB,EAAC,QAAQ;QAC1BC,kBAAkB,EAAG,IAAA5E,QAAE,EAAE,eAAgB,CAAG;QAC5C6E,iBAAiB,EAAG,IAAA7E,QAAE,EAAE,eAAgB,CAAG;QAAAoE,QAAA,EAEzC,IAAApE,QAAE,EAAE,QAAS;MAAC,CACX;IAAC,CACF,CAAC;EAET;EAEA,oBACC,IAAA5B,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAoH,gBAAgB;IAChBjB,KAAK,EAAGpB,cAAgB;IACxBb,OAAO,EAAGA,OAAS;IACnBmD,aAAa,EAAG,CAAG;IAAAX,QAAA,eAEnB,IAAAhG,WAAA,CAAA4G,IAAA,EAACtH,YAAA,CAAAyG,IAAI;MAACN,KAAK,EAAGnB,mBAAqB;MAAA0B,QAAA,gBAClC,IAAAhG,WAAA,CAAA4G,IAAA,EAACtH,YAAA,CAAAyG,IAAI;QAACN,KAAK,EAAGlB,mBAAqB;QAAAyB,QAAA,GAChCf,gBAAgB,CAAC,CAAC,eACpB,IAAAjF,WAAA,CAAAmF,GAAA,EAAC7F,YAAA,CAAAuH,SAAS;UACTC,GAAG,EAAG1E,QAAU;UAChBqD,KAAK,EAAGjB,cAAgB;UACxBuC,oBAAoB,EAAGtC,gBAAgB,EAAEqB,KAAO;UAChDkB,YAAY,EAAGtF,QAAU;UACzBiC,OAAO,EAAGA,OAAS;UACnBlC,KAAK,EAAGA,KAAO;UACfE,WAAW,EAAGA;QAAa,CAC3B,CAAC,EACAsE,iBAAiB,CAAC,CAAC;MAAA,CAChB,CAAC,EACLpE,QAAQ,IAAIuE,YAAY,CAAC,CAAC;IAAA,CACvB;EAAC,CACU,CAAC;AAErB;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEc5D,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_element","_i18n","_icons","_style","_interopRequireDefault","_platformStyle","_button","_gridicons","_jsxRuntime","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","jsx","default","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","children","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","jsxs","TextInput","ref","placeholderTextColor","onChangeText","_default","exports"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\nimport Button from '../button';\nimport Gridicons from '../mobile/gridicons';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// See https://github.com/WordPress/gutenberg/pull/41166\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_baseControl","_selectControlStyles","_chevronDown","_useDeprecatedProps","_deprecated36pxSize","_jsxRuntime","useUniqueId","idProp","instanceId","useInstanceId","SelectControl","id","SelectOptions","options","map","label","value","optionProps","index","key","jsx","children","UnforwardedSelectControl","props","ref","className","disabled","help","hideLabelFromVision","multiple","onChange","size","valueProp","labelPosition","prefix","suffix","variant","__next40pxDefaultSize","__nextHasNoMarginBottom","__shouldNotWarnDeprecated36pxSize","restProps","useDeprecated36pxDefaultSizeProp","helpId","undefined","length","handleOnChange","event","selectedOptions","Array","from","target","filter","selected","newValues","classes","clsx","maybeWarnDeprecated36pxSize","componentName","default","__associatedWPComponentName","StyledInputBase","isBorderless","__unstableInputWidth","Select","selectSize","exports","forwardRef","_default"],"sources":["@wordpress/components/src/select-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport { Select, StyledInputBase } from './styles/select-control-styles';\nimport type { WordPressComponentProps } from '../context';\nimport type { SelectControlProps } from './types';\nimport SelectControlChevronDown from './chevron-down';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( SelectControl );\n\tconst id = `inspector-select-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nfunction SelectOptions( {\n\toptions,\n}: {\n\toptions: NonNullable< SelectControlProps[ 'options' ] >;\n} ) {\n\treturn options.map( ( { id, label, value, ...optionProps }, index ) => {\n\t\tconst key = id || `${ label }-${ value }-${ index }`;\n\n\t\treturn (\n\t\t\t<option key={ key } value={ value } { ...optionProps }>\n\t\t\t\t{ label }\n\t\t\t</option>\n\t\t);\n\t} );\n}\n\nfunction UnforwardedSelectControl< V extends string >(\n\tprops: WordPressComponentProps< SelectControlProps< V >, 'select', false >,\n\tref: React.ForwardedRef< HTMLSelectElement >\n) {\n\tconst {\n\t\tclassName,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision,\n\t\tid: idProp,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonChange,\n\t\toptions = [],\n\t\tsize = 'default',\n\t\tvalue: valueProp,\n\t\tlabelPosition = 'top',\n\t\tchildren,\n\t\tprefix,\n\t\tsuffix,\n\t\tvariant = 'default',\n\t\t__next40pxDefaultSize = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\tconst id = useUniqueId( idProp );\n\tconst helpId = help ? `${ id }__help` : undefined;\n\n\t// Disable reason: A select with an onchange throws a warning.\n\tif ( ! options?.length && ! children ) {\n\t\treturn null;\n\t}\n\n\tconst handleOnChange = (\n\t\tevent: React.ChangeEvent< HTMLSelectElement >\n\t) => {\n\t\tif ( props.multiple ) {\n\t\t\tconst selectedOptions = Array.from( event.target.options ).filter(\n\t\t\t\t( { selected } ) => selected\n\t\t\t);\n\t\t\tconst newValues = selectedOptions.map(\n\t\t\t\t( { value } ) => value as V\n\t\t\t);\n\t\t\tprops.onChange?.( newValues, { event } );\n\t\t\treturn;\n\t\t}\n\n\t\tprops.onChange?.( event.target.value as V, { event } );\n\t};\n\n\tconst classes = clsx( 'components-select-control', className );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'SelectControl',\n\t\t__next40pxDefaultSize,\n\t\tsize,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t} );\n\n\treturn (\n\t\t<BaseControl\n\t\t\thelp={ help }\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t__associatedWPComponentName=\"SelectControl\"\n\t\t>\n\t\t\t<StyledInputBase\n\t\t\t\tclassName={ classes }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\tisBorderless={ variant === 'minimal' }\n\t\t\t\tlabel={ label }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={\n\t\t\t\t\tsuffix || ( ! multiple && <SelectControlChevronDown /> )\n\t\t\t\t}\n\t\t\t\tprefix={ prefix }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t__unstableInputWidth={\n\t\t\t\t\tvariant === 'minimal' ? 'auto' : undefined\n\t\t\t\t}\n\t\t\t\tvariant={ variant }\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t>\n\t\t\t\t<Select\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\taria-describedby={ helpId }\n\t\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tselectSize={ size }\n\t\t\t\t\tvalue={ valueProp }\n\t\t\t\t\tvariant={ variant }\n\t\t\t\t>\n\t\t\t\t\t{ children || <SelectOptions options={ options } /> }\n\t\t\t\t</Select>\n\t\t\t</StyledInputBase>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `SelectControl` allows users to select from a single or multiple option menu.\n * It functions as a wrapper around the browser's native `<select>` element.\n *\n * ```jsx\n * import { SelectControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MySelectControl = () => {\n * const [ size, setSize ] = useState( '50%' );\n *\n * return (\n * <SelectControl\n * __next40pxDefaultSize\n * __nextHasNoMarginBottom\n * label=\"Size\"\n * value={ size }\n * options={ [\n * { label: 'Big', value: '100%' },\n * { label: 'Medium', value: '50%' },\n * { label: 'Small', value: '25%' },\n * ] }\n * onChange={ setSize }\n * />\n * );\n * };\n * ```\n */\nexport const SelectControl = forwardRef( UnforwardedSelectControl ) as <\n\tV extends string,\n>(\n\tprops: WordPressComponentProps<\n\t\tSelectControlProps< V >,\n\t\t'select',\n\t\tfalse\n\t> & { ref?: React.Ref< HTMLSelectElement > }\n) => React.JSX.Element | null;\n\nexport default SelectControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_baseControl","_selectControlStyles","_chevronDown","_useDeprecatedProps","_deprecated36pxSize","_jsxRuntime","useUniqueId","idProp","instanceId","useInstanceId","SelectControl","id","SelectOptions","options","map","label","value","optionProps","index","key","jsx","children","UnforwardedSelectControl","props","ref","className","disabled","help","hideLabelFromVision","multiple","onChange","size","valueProp","labelPosition","prefix","suffix","variant","__next40pxDefaultSize","__nextHasNoMarginBottom","__shouldNotWarnDeprecated36pxSize","restProps","useDeprecated36pxDefaultSizeProp","helpId","undefined","length","handleOnChange","event","selectedOptions","Array","from","target","filter","selected","newValues","classes","clsx","maybeWarnDeprecated36pxSize","componentName","default","__associatedWPComponentName","StyledInputBase","isBorderless","__unstableInputWidth","Select","selectSize","exports","forwardRef","_default"],"sources":["@wordpress/components/src/select-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport { Select, StyledInputBase } from './styles/select-control-styles';\nimport type { WordPressComponentProps } from '../context';\nimport type { SelectControlProps } from './types';\nimport SelectControlChevronDown from './chevron-down';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( SelectControl );\n\tconst id = `inspector-select-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nfunction SelectOptions( {\n\toptions,\n}: {\n\toptions: NonNullable< SelectControlProps[ 'options' ] >;\n} ) {\n\treturn options.map( ( { id, label, value, ...optionProps }, index ) => {\n\t\tconst key = id || `${ label }-${ value }-${ index }`;\n\n\t\treturn (\n\t\t\t<option key={ key } value={ value } { ...optionProps }>\n\t\t\t\t{ label }\n\t\t\t</option>\n\t\t);\n\t} );\n}\n\nfunction UnforwardedSelectControl< V extends string >(\n\tprops: WordPressComponentProps< SelectControlProps< V >, 'select', false >,\n\tref: React.ForwardedRef< HTMLSelectElement >\n) {\n\tconst {\n\t\tclassName,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision,\n\t\tid: idProp,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonChange,\n\t\toptions = [],\n\t\tsize = 'default',\n\t\tvalue: valueProp,\n\t\tlabelPosition = 'top',\n\t\tchildren,\n\t\tprefix,\n\t\tsuffix,\n\t\tvariant = 'default',\n\t\t__next40pxDefaultSize = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\tconst id = useUniqueId( idProp );\n\tconst helpId = help ? `${ id }__help` : undefined;\n\n\t// Disable reason: A select with an onchange throws a warning.\n\tif ( ! options?.length && ! children ) {\n\t\treturn null;\n\t}\n\n\tconst handleOnChange = (\n\t\tevent: React.ChangeEvent< HTMLSelectElement >\n\t) => {\n\t\tif ( props.multiple ) {\n\t\t\tconst selectedOptions = Array.from( event.target.options ).filter(\n\t\t\t\t( { selected } ) => selected\n\t\t\t);\n\t\t\tconst newValues = selectedOptions.map(\n\t\t\t\t( { value } ) => value as V\n\t\t\t);\n\t\t\tprops.onChange?.( newValues, { event } );\n\t\t\treturn;\n\t\t}\n\n\t\tprops.onChange?.( event.target.value as V, { event } );\n\t};\n\n\tconst classes = clsx( 'components-select-control', className );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'SelectControl',\n\t\t__next40pxDefaultSize,\n\t\tsize,\n\t\t__shouldNotWarnDeprecated36pxSize,\n\t} );\n\n\treturn (\n\t\t<BaseControl\n\t\t\thelp={ help }\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t__associatedWPComponentName=\"SelectControl\"\n\t\t>\n\t\t\t<StyledInputBase\n\t\t\t\tclassName={ classes }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\tisBorderless={ variant === 'minimal' }\n\t\t\t\tlabel={ label }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={\n\t\t\t\t\tsuffix || ( ! multiple && <SelectControlChevronDown /> )\n\t\t\t\t}\n\t\t\t\tprefix={ prefix }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t__unstableInputWidth={\n\t\t\t\t\tvariant === 'minimal' ? 'auto' : undefined\n\t\t\t\t}\n\t\t\t\tvariant={ variant }\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t>\n\t\t\t\t<Select\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\taria-describedby={ helpId }\n\t\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tselectSize={ size }\n\t\t\t\t\tvalue={ valueProp }\n\t\t\t\t\tvariant={ variant }\n\t\t\t\t>\n\t\t\t\t\t{ children || <SelectOptions options={ options } /> }\n\t\t\t\t</Select>\n\t\t\t</StyledInputBase>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `SelectControl` allows users to select from a single or multiple option menu.\n * It functions as a wrapper around the browser's native `<select>` element.\n *\n * ```jsx\n * import { SelectControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MySelectControl = () => {\n * const [ size, setSize ] = useState( '50%' );\n *\n * return (\n * <SelectControl\n * __next40pxDefaultSize\n * __nextHasNoMarginBottom\n * label=\"Size\"\n * value={ size }\n * options={ [\n * { label: 'Big', value: '100%' },\n * { label: 'Medium', value: '50%' },\n * { label: 'Small', value: '25%' },\n * ] }\n * onChange={ setSize }\n * />\n * );\n * };\n * ```\n */\nexport const SelectControl = forwardRef( UnforwardedSelectControl ) as <\n\tV extends string,\n>(\n\tprops: WordPressComponentProps<\n\t\tSelectControlProps< V >,\n\t\t'select',\n\t\tfalse\n\t> & { ref?: React.Ref< HTMLSelectElement > }\n) => React.JSX.Element | null;\n\nexport default SelectControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_isShallowEqual","_interopRequireDefault","_compose","_slotFillContext","_jsxRuntime","createSlotRegistry","slots","observableMap","fills","registerSlot","name","ref","fillProps","set","unregisterSlot","slot","get","delete","updateSlot","isShallowEqual","registerFill","unregisterFill","fillsForName","filter","fillRef","SlotFillProvider","children","registry","useState","jsx","default","Provider","value"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { observableMap } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './slot-fill-context';\nimport type {\n\tSlotFillProviderProps,\n\tSlotFillBubblesVirtuallyContext,\n} from '../types';\n\nfunction createSlotRegistry(): SlotFillBubblesVirtuallyContext {\n\tconst slots: SlotFillBubblesVirtuallyContext[ 'slots' ] = observableMap();\n\tconst fills: SlotFillBubblesVirtuallyContext[ 'fills' ] = observableMap();\n\n\tconst registerSlot: SlotFillBubblesVirtuallyContext[ 'registerSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tslots.set( name, { ref, fillProps } );\n\t};\n\n\tconst unregisterSlot: SlotFillBubblesVirtuallyContext[ 'unregisterSlot' ] =\n\t\t( name, ref ) => {\n\t\t\tconst slot = slots.get( name );\n\t\t\tif ( ! slot ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Make sure we're not unregistering a slot registered by another element\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\t\t\tif ( slot.ref !== ref ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tslots.delete( name );\n\t\t};\n\n\tconst updateSlot: SlotFillBubblesVirtuallyContext[ 'updateSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\t\tif ( ! slot ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( slot.ref !== ref ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShallowEqual( slot.fillProps, fillProps ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslots.set( name, { ref, fillProps } );\n\t};\n\n\tconst registerFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tfills.set( name, [ ...( fills.get( name ) || [] ), ref ] );\n\t};\n\n\tconst unregisterFill: SlotFillBubblesVirtuallyContext[ 'unregisterFill' ] =\n\t\t( name, ref ) => {\n\t\t\tconst fillsForName = fills.get( name );\n\t\t\tif ( ! fillsForName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfills.set(\n\t\t\t\tname,\n\t\t\t\tfillsForName.filter( ( fillRef ) => fillRef !== ref )\n\t\t\t);\n\t\t};\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tupdateSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t};\n}\n\nexport default function SlotFillProvider( {\n\tchildren,\n}: SlotFillProviderProps ) {\n\tconst [ registry ] = useState( createSlotRegistry );\n\treturn (\n\t\t<SlotFillContext.Provider value={ registry }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAkD,IAAAK,WAAA,GAAAL,OAAA;AAVlD;AACA;AACA;;AAKA;AACA;AACA;;AAOA,SAASM,kBAAkBA,CAAA,EAAoC;EAC9D,MAAMC,KAAiD,GAAG,IAAAC,sBAAa,EAAC,CAAC;EACzE,MAAMC,KAAiD,GAAG,IAAAD,sBAAa,EAAC,CAAC;EAEzE,MAAME,YAA+D,GAAGA,CACvEC,IAAI,EACJC,GAAG,EACHC,SAAS,KACL;IACJN,KAAK,CAACO,GAAG,CAAEH,IAAI,EAAE;MAAEC,GAAG;MAAEC;IAAU,CAAE,CAAC;EACtC,CAAC;EAED,MAAME,cAAmE,GACxEA,CAAEJ,IAAI,EAAEC,GAAG,KAAM;IAChB,MAAMI,IAAI,GAAGT,KAAK,CAACU,GAAG,CAAEN,IAAK,CAAC;IAC9B,IAAK,CAAEK,IAAI,EAAG;MACb;IACD;;IAEA;IACA;IACA,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,EAAG;MACvB;IACD;IAEAL,KAAK,CAACW,MAAM,CAAEP,IAAK,CAAC;EACrB,CAAC;EAEF,MAAMQ,UAA2D,GAAGA,CACnER,IAAI,EACJC,GAAG,EACHC,SAAS,KACL;IACJ,MAAMG,IAAI,GAAGT,KAAK,CAACU,GAAG,CAAEN,IAAK,CAAC;IAC9B,IAAK,CAAEK,IAAI,EAAG;MACb;IACD;IAEA,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,EAAG;MACvB;IACD;IAEA,IAAK,IAAAQ,uBAAc,EAAEJ,IAAI,CAACH,SAAS,EAAEA,SAAU,CAAC,EAAG;MAClD;IACD;IAEAN,KAAK,CAACO,GAAG,CAAEH,IAAI,EAAE;MAAEC,GAAG;MAAEC;IAAU,CAAE,CAAC;EACtC,CAAC;EAED,MAAMQ,YAA+D,GAAGA,CACvEV,IAAI,EACJC,GAAG,KACC;IACJH,KAAK,CAACK,GAAG,CAAEH,IAAI,EAAE,CAAE,IAAKF,KAAK,CAACQ,GAAG,CAAEN,IAAK,CAAC,IAAI,EAAE,CAAE,EAAEC,GAAG,CAAG,CAAC;EAC3D,CAAC;EAED,MAAMU,cAAmE,GACxEA,CAAEX,IAAI,EAAEC,GAAG,KAAM;IAChB,MAAMW,YAAY,GAAGd,KAAK,CAACQ,GAAG,CAAEN,IAAK,CAAC;IACtC,IAAK,CAAEY,YAAY,EAAG;MACrB;IACD;IAEAd,KAAK,CAACK,GAAG,CACRH,IAAI,EACJY,YAAY,CAACC,MAAM,CAAIC,OAAO,IAAMA,OAAO,KAAKb,GAAI,CACrD,CAAC;EACF,CAAC;EAEF,OAAO;IACNL,KAAK;IACLE,KAAK;IACLC,YAAY;IACZS,UAAU;IACVJ,cAAc;IACdM,YAAY;IACZC;EACD,CAAC;AACF;AAEe,SAASI,gBAAgBA,CAAE;EACzCC;AACsB,CAAC,EAAG;EAC1B,MAAM,CAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAEvB,kBAAmB,CAAC;EACnD,oBACC,IAAAD,WAAA,CAAAyB,GAAA,EAAC1B,gBAAA,CAAA2B,OAAe,CAACC,QAAQ;IAACC,KAAK,EAAGL,QAAU;IAAAD,QAAA,EACzCA;EAAQ,CACe,CAAC;AAE7B","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_isShallowEqual","_interopRequireDefault","_compose","_slotFillContext","_jsxRuntime","createSlotRegistry","slots","observableMap","fills","registerSlot","name","ref","fillProps","set","unregisterSlot","slot","get","delete","updateSlot","isShallowEqual","registerFill","unregisterFill","fillsForName","filter","fillRef","SlotFillProvider","children","registry","useState","jsx","default","Provider","value"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { observableMap } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './slot-fill-context';\nimport type {\n\tSlotFillProviderProps,\n\tSlotFillBubblesVirtuallyContext,\n} from '../types';\n\nfunction createSlotRegistry(): SlotFillBubblesVirtuallyContext {\n\tconst slots: SlotFillBubblesVirtuallyContext[ 'slots' ] = observableMap();\n\tconst fills: SlotFillBubblesVirtuallyContext[ 'fills' ] = observableMap();\n\n\tconst registerSlot: SlotFillBubblesVirtuallyContext[ 'registerSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tslots.set( name, { ref, fillProps } );\n\t};\n\n\tconst unregisterSlot: SlotFillBubblesVirtuallyContext[ 'unregisterSlot' ] =\n\t\t( name, ref ) => {\n\t\t\tconst slot = slots.get( name );\n\t\t\tif ( ! slot ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Make sure we're not unregistering a slot registered by another element\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412\n\t\t\tif ( slot.ref !== ref ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tslots.delete( name );\n\t\t};\n\n\tconst updateSlot: SlotFillBubblesVirtuallyContext[ 'updateSlot' ] = (\n\t\tname,\n\t\tref,\n\t\tfillProps\n\t) => {\n\t\tconst slot = slots.get( name );\n\t\tif ( ! slot ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( slot.ref !== ref ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShallowEqual( slot.fillProps, fillProps ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslots.set( name, { ref, fillProps } );\n\t};\n\n\tconst registerFill: SlotFillBubblesVirtuallyContext[ 'registerFill' ] = (\n\t\tname,\n\t\tref\n\t) => {\n\t\tfills.set( name, [ ...( fills.get( name ) || [] ), ref ] );\n\t};\n\n\tconst unregisterFill: SlotFillBubblesVirtuallyContext[ 'unregisterFill' ] =\n\t\t( name, ref ) => {\n\t\t\tconst fillsForName = fills.get( name );\n\t\t\tif ( ! fillsForName ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfills.set(\n\t\t\t\tname,\n\t\t\t\tfillsForName.filter( ( fillRef ) => fillRef !== ref )\n\t\t\t);\n\t\t};\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tupdateSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t};\n}\n\nexport default function SlotFillProvider( {\n\tchildren,\n}: SlotFillProviderProps ) {\n\tconst [ registry ] = useState( createSlotRegistry );\n\treturn (\n\t\t<SlotFillContext.Provider value={ registry }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAkD,IAAAK,WAAA,GAAAL,OAAA;AAVlD;AACA;AACA;;AAKA;AACA;AACA;;AAOA,SAASM,kBAAkBA,CAAA,EAAoC;EAC9D,MAAMC,KAAiD,GAAG,IAAAC,sBAAa,EAAC,CAAC;EACzE,MAAMC,KAAiD,GAAG,IAAAD,sBAAa,EAAC,CAAC;EAEzE,MAAME,YAA+D,GAAGA,CACvEC,IAAI,EACJC,GAAG,EACHC,SAAS,KACL;IACJN,KAAK,CAACO,GAAG,CAAEH,IAAI,EAAE;MAAEC,GAAG;MAAEC;IAAU,CAAE,CAAC;EACtC,CAAC;EAED,MAAME,cAAmE,GACxEA,CAAEJ,IAAI,EAAEC,GAAG,KAAM;IAChB,MAAMI,IAAI,GAAGT,KAAK,CAACU,GAAG,CAAEN,IAAK,CAAC;IAC9B,IAAK,CAAEK,IAAI,EAAG;MACb;IACD;;IAEA;IACA;IACA,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,EAAG;MACvB;IACD;IAEAL,KAAK,CAACW,MAAM,CAAEP,IAAK,CAAC;EACrB,CAAC;EAEF,MAAMQ,UAA2D,GAAGA,CACnER,IAAI,EACJC,GAAG,EACHC,SAAS,KACL;IACJ,MAAMG,IAAI,GAAGT,KAAK,CAACU,GAAG,CAAEN,IAAK,CAAC;IAC9B,IAAK,CAAEK,IAAI,EAAG;MACb;IACD;IAEA,IAAKA,IAAI,CAACJ,GAAG,KAAKA,GAAG,EAAG;MACvB;IACD;IAEA,IAAK,IAAAQ,uBAAc,EAAEJ,IAAI,CAACH,SAAS,EAAEA,SAAU,CAAC,EAAG;MAClD;IACD;IAEAN,KAAK,CAACO,GAAG,CAAEH,IAAI,EAAE;MAAEC,GAAG;MAAEC;IAAU,CAAE,CAAC;EACtC,CAAC;EAED,MAAMQ,YAA+D,GAAGA,CACvEV,IAAI,EACJC,GAAG,KACC;IACJH,KAAK,CAACK,GAAG,CAAEH,IAAI,EAAE,CAAE,IAAKF,KAAK,CAACQ,GAAG,CAAEN,IAAK,CAAC,IAAI,EAAE,CAAE,EAAEC,GAAG,CAAG,CAAC;EAC3D,CAAC;EAED,MAAMU,cAAmE,GACxEA,CAAEX,IAAI,EAAEC,GAAG,KAAM;IAChB,MAAMW,YAAY,GAAGd,KAAK,CAACQ,GAAG,CAAEN,IAAK,CAAC;IACtC,IAAK,CAAEY,YAAY,EAAG;MACrB;IACD;IAEAd,KAAK,CAACK,GAAG,CACRH,IAAI,EACJY,YAAY,CAACC,MAAM,CAAIC,OAAO,IAAMA,OAAO,KAAKb,GAAI,CACrD,CAAC;EACF,CAAC;EAEF,OAAO;IACNL,KAAK;IACLE,KAAK;IACLC,YAAY;IACZS,UAAU;IACVJ,cAAc;IACdM,YAAY;IACZC;EACD,CAAC;AACF;AAEe,SAASI,gBAAgBA,CAAE;EACzCC;AACsB,CAAC,EAAG;EAC1B,MAAM,CAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAEvB,kBAAmB,CAAC;EACnD,oBACC,IAAAD,WAAA,CAAAyB,GAAA,EAAC1B,gBAAA,CAAA2B,OAAe,CAACC,QAAQ;IAACC,KAAK,EAAGL,QAAU;IAAAD,QAAA,EACzCA;EAAQ,CACe,CAAC;AAE7B","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_context","_interopRequireDefault","_compose","_jsxRuntime","createSlotRegistry","slots","observableMap","fills","registerSlot","name","instance","set","unregisterSlot","get","delete","registerFill","children","unregisterFill","fillsForName","filter","fill","updateFill","fillForInstance","find","f","map","SlotFillProvider","contextValue","useState","jsx","default","Provider","value","_default","exports"],"sources":["@wordpress/components/src/slot-fill/provider.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './context';\nimport type {\n\tFillInstance,\n\tFillChildren,\n\tBaseSlotInstance,\n\tBaseSlotFillContext,\n\tSlotFillProviderProps,\n\tSlotKey,\n} from './types';\nimport { observableMap } from '@wordpress/compose';\n\nfunction createSlotRegistry(): BaseSlotFillContext {\n\tconst slots = observableMap< SlotKey, BaseSlotInstance >();\n\tconst fills = observableMap<\n\t\tSlotKey,\n\t\t{ instance: FillInstance; children: FillChildren }[]\n\t>();\n\n\tfunction registerSlot( name: SlotKey, instance: BaseSlotInstance ) {\n\t\tslots.set( name, instance );\n\t}\n\n\tfunction unregisterSlot( name: SlotKey, instance: BaseSlotInstance ) {\n\t\t// If a previous instance of a Slot by this name unmounts, do nothing,\n\t\t// as the slot and its fills should only be removed for the current\n\t\t// known instance.\n\t\tif ( slots.get( name ) !== instance ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslots.delete( name );\n\t}\n\n\tfunction registerFill(\n\t\tname: SlotKey,\n\t\tinstance: FillInstance,\n\t\tchildren: FillChildren\n\t) {\n\t\tfills.set( name, [\n\t\t\t...( fills.get( name ) || [] ),\n\t\t\t{ instance, children },\n\t\t] );\n\t}\n\n\tfunction unregisterFill( name: SlotKey, instance: FillInstance ) {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tfillsForName.filter( ( fill ) => fill.instance !== instance )\n\t\t);\n\t}\n\n\tfunction updateFill(\n\t\tname: SlotKey,\n\t\tinstance: FillInstance,\n\t\tchildren: FillChildren\n\t) {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fillForInstance = fillsForName.find(\n\t\t\t( f ) => f.instance === instance\n\t\t);\n\t\tif ( ! fillForInstance ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fillForInstance.children === children ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tfillsForName.map( ( f ) => {\n\t\t\t\tif ( f.instance === instance ) {\n\t\t\t\t\t// Replace with new record with updated `children`.\n\t\t\t\t\treturn { instance, children };\n\t\t\t\t}\n\n\t\t\t\treturn f;\n\t\t\t} )\n\t\t);\n\t}\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t\tupdateFill,\n\t};\n}\n\nexport function SlotFillProvider( { children }: SlotFillProviderProps ) {\n\tconst [ contextValue ] = useState( createSlotRegistry );\n\treturn (\n\t\t<SlotFillContext.Provider value={ contextValue }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n\nexport default SlotFillProvider;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AASA,IAAAG,QAAA,GAAAH,OAAA;AAAmD,IAAAI,WAAA,GAAAJ,OAAA;AAjBnD;AACA;AACA;;AAGA;AACA;AACA;;AAYA,SAASK,kBAAkBA,CAAA,EAAwB;EAClD,MAAMC,KAAK,GAAG,IAAAC,sBAAa,EAA8B,CAAC;EAC1D,MAAMC,KAAK,GAAG,IAAAD,sBAAa,EAGzB,CAAC;EAEH,SAASE,YAAYA,CAAEC,IAAa,EAAEC,QAA0B,EAAG;IAClEL,KAAK,CAACM,GAAG,CAAEF,IAAI,EAAEC,QAAS,CAAC;EAC5B;EAEA,SAASE,cAAcA,CAAEH,IAAa,EAAEC,QAA0B,EAAG;IACpE;IACA;IACA;IACA,IAAKL,KAAK,CAACQ,GAAG,CAAEJ,IAAK,CAAC,KAAKC,QAAQ,EAAG;MACrC;IACD;IAEAL,KAAK,CAACS,MAAM,CAAEL,IAAK,CAAC;EACrB;EAEA,SAASM,YAAYA,CACpBN,IAAa,EACbC,QAAsB,EACtBM,QAAsB,EACrB;IACDT,KAAK,CAACI,GAAG,CAAEF,IAAI,EAAE,CAChB,IAAKF,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC,IAAI,EAAE,CAAE,EAC9B;MAAEC,QAAQ;MAAEM;IAAS,CAAC,CACrB,CAAC;EACJ;EAEA,SAASC,cAAcA,CAAER,IAAa,EAAEC,QAAsB,EAAG;IAChE,MAAMQ,YAAY,GAAGX,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC;IACtC,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEAX,KAAK,CAACI,GAAG,CACRF,IAAI,EACJS,YAAY,CAACC,MAAM,CAAIC,IAAI,IAAMA,IAAI,CAACV,QAAQ,KAAKA,QAAS,CAC7D,CAAC;EACF;EAEA,SAASW,UAAUA,CAClBZ,IAAa,EACbC,QAAsB,EACtBM,QAAsB,EACrB;IACD,MAAME,YAAY,GAAGX,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC;IACtC,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEA,MAAMI,eAAe,GAAGJ,YAAY,CAACK,IAAI,CACtCC,CAAC,IAAMA,CAAC,CAACd,QAAQ,KAAKA,QACzB,CAAC;IACD,IAAK,CAAEY,eAAe,EAAG;MACxB;IACD;IAEA,IAAKA,eAAe,CAACN,QAAQ,KAAKA,QAAQ,EAAG;MAC5C;IACD;IAEAT,KAAK,CAACI,GAAG,CACRF,IAAI,EACJS,YAAY,CAACO,GAAG,CAAID,CAAC,IAAM;MAC1B,IAAKA,CAAC,CAACd,QAAQ,KAAKA,QAAQ,EAAG;QAC9B;QACA,OAAO;UAAEA,QAAQ;UAAEM;QAAS,CAAC;MAC9B;MAEA,OAAOQ,CAAC;IACT,CAAE,CACH,CAAC;EACF;EAEA,OAAO;IACNnB,KAAK;IACLE,KAAK;IACLC,YAAY;IACZI,cAAc;IACdG,YAAY;IACZE,cAAc;IACdI;EACD,CAAC;AACF;AAEO,SAASK,gBAAgBA,CAAE;EAAEV;AAAgC,CAAC,EAAG;EACvE,MAAM,CAAEW,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAExB,kBAAmB,CAAC;EACvD,oBACC,IAAAD,WAAA,CAAA0B,GAAA,EAAC7B,QAAA,CAAA8B,OAAe,CAACC,QAAQ;IAACC,KAAK,EAAGL,YAAc;IAAAX,QAAA,EAC7CA;EAAQ,CACe,CAAC;AAE7B;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcJ,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_context","_interopRequireDefault","_compose","_jsxRuntime","createSlotRegistry","slots","observableMap","fills","registerSlot","name","instance","set","unregisterSlot","get","delete","registerFill","children","unregisterFill","fillsForName","filter","fill","updateFill","fillForInstance","find","f","map","SlotFillProvider","contextValue","useState","jsx","default","Provider","value","_default","exports"],"sources":["@wordpress/components/src/slot-fill/provider.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './context';\nimport type {\n\tFillInstance,\n\tFillChildren,\n\tBaseSlotInstance,\n\tBaseSlotFillContext,\n\tSlotFillProviderProps,\n\tSlotKey,\n} from './types';\nimport { observableMap } from '@wordpress/compose';\n\nfunction createSlotRegistry(): BaseSlotFillContext {\n\tconst slots = observableMap< SlotKey, BaseSlotInstance >();\n\tconst fills = observableMap<\n\t\tSlotKey,\n\t\t{ instance: FillInstance; children: FillChildren }[]\n\t>();\n\n\tfunction registerSlot( name: SlotKey, instance: BaseSlotInstance ) {\n\t\tslots.set( name, instance );\n\t}\n\n\tfunction unregisterSlot( name: SlotKey, instance: BaseSlotInstance ) {\n\t\t// If a previous instance of a Slot by this name unmounts, do nothing,\n\t\t// as the slot and its fills should only be removed for the current\n\t\t// known instance.\n\t\tif ( slots.get( name ) !== instance ) {\n\t\t\treturn;\n\t\t}\n\n\t\tslots.delete( name );\n\t}\n\n\tfunction registerFill(\n\t\tname: SlotKey,\n\t\tinstance: FillInstance,\n\t\tchildren: FillChildren\n\t) {\n\t\tfills.set( name, [\n\t\t\t...( fills.get( name ) || [] ),\n\t\t\t{ instance, children },\n\t\t] );\n\t}\n\n\tfunction unregisterFill( name: SlotKey, instance: FillInstance ) {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tfillsForName.filter( ( fill ) => fill.instance !== instance )\n\t\t);\n\t}\n\n\tfunction updateFill(\n\t\tname: SlotKey,\n\t\tinstance: FillInstance,\n\t\tchildren: FillChildren\n\t) {\n\t\tconst fillsForName = fills.get( name );\n\t\tif ( ! fillsForName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst fillForInstance = fillsForName.find(\n\t\t\t( f ) => f.instance === instance\n\t\t);\n\t\tif ( ! fillForInstance ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fillForInstance.children === children ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfills.set(\n\t\t\tname,\n\t\t\tfillsForName.map( ( f ) => {\n\t\t\t\tif ( f.instance === instance ) {\n\t\t\t\t\t// Replace with new record with updated `children`.\n\t\t\t\t\treturn { instance, children };\n\t\t\t\t}\n\n\t\t\t\treturn f;\n\t\t\t} )\n\t\t);\n\t}\n\n\treturn {\n\t\tslots,\n\t\tfills,\n\t\tregisterSlot,\n\t\tunregisterSlot,\n\t\tregisterFill,\n\t\tunregisterFill,\n\t\tupdateFill,\n\t};\n}\n\nexport function SlotFillProvider( { children }: SlotFillProviderProps ) {\n\tconst [ contextValue ] = useState( createSlotRegistry );\n\treturn (\n\t\t<SlotFillContext.Provider value={ contextValue }>\n\t\t\t{ children }\n\t\t</SlotFillContext.Provider>\n\t);\n}\n\nexport default SlotFillProvider;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AASA,IAAAG,QAAA,GAAAH,OAAA;AAAmD,IAAAI,WAAA,GAAAJ,OAAA;AAjBnD;AACA;AACA;;AAGA;AACA;AACA;;AAYA,SAASK,kBAAkBA,CAAA,EAAwB;EAClD,MAAMC,KAAK,GAAG,IAAAC,sBAAa,EAA8B,CAAC;EAC1D,MAAMC,KAAK,GAAG,IAAAD,sBAAa,EAGzB,CAAC;EAEH,SAASE,YAAYA,CAAEC,IAAa,EAAEC,QAA0B,EAAG;IAClEL,KAAK,CAACM,GAAG,CAAEF,IAAI,EAAEC,QAAS,CAAC;EAC5B;EAEA,SAASE,cAAcA,CAAEH,IAAa,EAAEC,QAA0B,EAAG;IACpE;IACA;IACA;IACA,IAAKL,KAAK,CAACQ,GAAG,CAAEJ,IAAK,CAAC,KAAKC,QAAQ,EAAG;MACrC;IACD;IAEAL,KAAK,CAACS,MAAM,CAAEL,IAAK,CAAC;EACrB;EAEA,SAASM,YAAYA,CACpBN,IAAa,EACbC,QAAsB,EACtBM,QAAsB,EACrB;IACDT,KAAK,CAACI,GAAG,CAAEF,IAAI,EAAE,CAChB,IAAKF,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC,IAAI,EAAE,CAAE,EAC9B;MAAEC,QAAQ;MAAEM;IAAS,CAAC,CACrB,CAAC;EACJ;EAEA,SAASC,cAAcA,CAAER,IAAa,EAAEC,QAAsB,EAAG;IAChE,MAAMQ,YAAY,GAAGX,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC;IACtC,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEAX,KAAK,CAACI,GAAG,CACRF,IAAI,EACJS,YAAY,CAACC,MAAM,CAAIC,IAAI,IAAMA,IAAI,CAACV,QAAQ,KAAKA,QAAS,CAC7D,CAAC;EACF;EAEA,SAASW,UAAUA,CAClBZ,IAAa,EACbC,QAAsB,EACtBM,QAAsB,EACrB;IACD,MAAME,YAAY,GAAGX,KAAK,CAACM,GAAG,CAAEJ,IAAK,CAAC;IACtC,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEA,MAAMI,eAAe,GAAGJ,YAAY,CAACK,IAAI,CACtCC,CAAC,IAAMA,CAAC,CAACd,QAAQ,KAAKA,QACzB,CAAC;IACD,IAAK,CAAEY,eAAe,EAAG;MACxB;IACD;IAEA,IAAKA,eAAe,CAACN,QAAQ,KAAKA,QAAQ,EAAG;MAC5C;IACD;IAEAT,KAAK,CAACI,GAAG,CACRF,IAAI,EACJS,YAAY,CAACO,GAAG,CAAID,CAAC,IAAM;MAC1B,IAAKA,CAAC,CAACd,QAAQ,KAAKA,QAAQ,EAAG;QAC9B;QACA,OAAO;UAAEA,QAAQ;UAAEM;QAAS,CAAC;MAC9B;MAEA,OAAOQ,CAAC;IACT,CAAE,CACH,CAAC;EACF;EAEA,OAAO;IACNnB,KAAK;IACLE,KAAK;IACLC,YAAY;IACZI,cAAc;IACdG,YAAY;IACZE,cAAc;IACdI;EACD,CAAC;AACF;AAEO,SAASK,gBAAgBA,CAAE;EAAEV;AAAgC,CAAC,EAAG;EACvE,MAAM,CAAEW,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAExB,kBAAmB,CAAC;EACvD,oBACC,IAAAD,WAAA,CAAA0B,GAAA,EAAC7B,QAAA,CAAA8B,OAAe,CAACC,QAAQ;IAACC,KAAK,EAAGL,YAAc;IAAAX,QAAA,EAC7CA;EAAQ,CACe,CAAC;AAE7B;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcJ,gBAAgB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_element","_context","_interopRequireDefault","_jsxRuntime","isFunction","maybeFunc","addKeysToChildren","children","Children","map","child","childIndex","childKey","key","cloneElement","Slot","props","_useObservableValue","registry","useContext","SlotFillContext","instanceRef","useRef","name","fillProps","useLayoutEffect","instance","current","registerSlot","unregisterSlot","fills","useObservableValue","currentSlot","slots","renderedFills","fill","fillChildren","filter","element","isEmptyElement","jsx","Fragment","_default","exports","default"],"sources":["@wordpress/components/src/slot-fill/slot.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement, ReactNode, Key } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useObservableValue } from '@wordpress/compose';\nimport {\n\tuseContext,\n\tuseLayoutEffect,\n\tuseRef,\n\tChildren,\n\tcloneElement,\n\tisEmptyElement,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './context';\nimport type { SlotComponentProps } from './types';\n\n/**\n * Whether the argument is a function.\n *\n * @param maybeFunc The argument to check.\n * @return True if the argument is a function, false otherwise.\n */\nfunction isFunction( maybeFunc: any ): maybeFunc is Function {\n\treturn typeof maybeFunc === 'function';\n}\n\nfunction addKeysToChildren( children: ReactNode ) {\n\treturn Children.map( children, ( child, childIndex ) => {\n\t\tif ( ! child || typeof child === 'string' ) {\n\t\t\treturn child;\n\t\t}\n\t\tlet childKey: Key = childIndex;\n\t\tif ( typeof child === 'object' && 'key' in child && child?.key ) {\n\t\t\tchildKey = child.key;\n\t\t}\n\n\t\treturn cloneElement( child as ReactElement, {\n\t\t\tkey: childKey,\n\t\t} );\n\t} );\n}\n\nfunction Slot( props: Omit< SlotComponentProps, 'bubblesVirtually' > ) {\n\tconst registry = useContext( SlotFillContext );\n\tconst instanceRef = useRef( {} );\n\n\tconst { name, children, fillProps = {} } = props;\n\n\tuseLayoutEffect( () => {\n\t\tconst instance = instanceRef.current;\n\t\tregistry.registerSlot( name, instance );\n\t\treturn () => registry.unregisterSlot( name, instance );\n\t}, [ registry, name ] );\n\n\tlet fills = useObservableValue( registry.fills, name ) ?? [];\n\tconst currentSlot = useObservableValue( registry.slots, name );\n\n\t// Fills should only be rendered in the currently registered instance of the slot.\n\tif ( currentSlot !== instanceRef.current ) {\n\t\tfills = [];\n\t}\n\n\tconst renderedFills = fills\n\t\t.map( ( fill ) => {\n\t\t\tconst fillChildren = isFunction( fill.children )\n\t\t\t\t? fill.children( fillProps )\n\t\t\t\t: fill.children;\n\t\t\treturn addKeysToChildren( fillChildren );\n\t\t} )\n\t\t.filter(\n\t\t\t// In some cases fills are rendered only when some conditions apply.\n\t\t\t// This ensures that we only use non-empty fills when rendering, i.e.,\n\t\t\t// it allows us to render wrappers only when the fills are actually present.\n\t\t\t( element ) => ! isEmptyElement( element )\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isFunction( children )\n\t\t\t\t? children( renderedFills )\n\t\t\t\t: renderedFills }\n\t\t</>\n\t);\n}\n\nexport default Slot;\n"],"mappings":";;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwC,IAAAI,WAAA,GAAAJ,OAAA;AArBxC;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,UAAUA,CAAEC,SAAc,EAA0B;EAC5D,OAAO,OAAOA,SAAS,KAAK,UAAU;AACvC;AAEA,SAASC,iBAAiBA,CAAEC,QAAmB,EAAG;EACjD,OAAOC,iBAAQ,CAACC,GAAG,CAAEF,QAAQ,EAAE,CAAEG,KAAK,EAAEC,UAAU,KAAM;IACvD,IAAK,CAAED,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAC3C,OAAOA,KAAK;IACb;IACA,IAAIE,QAAa,GAAGD,UAAU;IAC9B,IAAK,OAAOD,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAIA,KAAK,IAAIA,KAAK,EAAEG,GAAG,EAAG;MAChED,QAAQ,GAAGF,KAAK,CAACG,GAAG;IACrB;IAEA,OAAO,IAAAC,qBAAY,EAAEJ,KAAK,EAAkB;MAC3CG,GAAG,EAAED;IACN,CAAE,CAAC;EACJ,CAAE,CAAC;AACJ;AAEA,SAASG,IAAIA,CAAEC,KAAqD,EAAG;EAAA,IAAAC,mBAAA;EACtE,MAAMC,QAAQ,GAAG,IAAAC,mBAAU,EAAEC,gBAAgB,CAAC;EAC9C,MAAMC,WAAW,GAAG,IAAAC,eAAM,EAAE,CAAC,CAAE,CAAC;EAEhC,MAAM;IAAEC,IAAI;IAAEhB,QAAQ;IAAEiB,SAAS,GAAG,CAAC;EAAE,CAAC,GAAGR,KAAK;EAEhD,IAAAS,wBAAe,EAAE,MAAM;IACtB,MAAMC,QAAQ,GAAGL,WAAW,CAACM,OAAO;IACpCT,QAAQ,CAACU,YAAY,CAAEL,IAAI,EAAEG,QAAS,CAAC;IACvC,OAAO,MAAMR,QAAQ,CAACW,cAAc,CAAEN,IAAI,EAAEG,QAAS,CAAC;EACvD,CAAC,EAAE,CAAER,QAAQ,EAAEK,IAAI,CAAG,CAAC;EAEvB,IAAIO,KAAK,IAAAb,mBAAA,GAAG,IAAAc,2BAAkB,EAAEb,QAAQ,CAACY,KAAK,EAAEP,IAAK,CAAC,cAAAN,mBAAA,cAAAA,mBAAA,GAAI,EAAE;EAC5D,MAAMe,WAAW,GAAG,IAAAD,2BAAkB,EAAEb,QAAQ,CAACe,KAAK,EAAEV,IAAK,CAAC;;EAE9D;EACA,IAAKS,WAAW,KAAKX,WAAW,CAACM,OAAO,EAAG;IAC1CG,KAAK,GAAG,EAAE;EACX;EAEA,MAAMI,aAAa,GAAGJ,KAAK,CACzBrB,GAAG,CAAI0B,IAAI,IAAM;IACjB,MAAMC,YAAY,GAAGhC,UAAU,CAAE+B,IAAI,CAAC5B,QAAS,CAAC,GAC7C4B,IAAI,CAAC5B,QAAQ,CAAEiB,SAAU,CAAC,GAC1BW,IAAI,CAAC5B,QAAQ;IAChB,OAAOD,iBAAiB,CAAE8B,YAAa,CAAC;EACzC,CAAE,CAAC,CACFC,MAAM;EACN;EACA;EACA;EACEC,OAAO,IAAM,CAAE,IAAAC,uBAAc,EAAED,OAAQ,CAC1C,CAAC;EAEF,oBACC,IAAAnC,WAAA,CAAAqC,GAAA,EAAArC,WAAA,CAAAsC,QAAA;IAAAlC,QAAA,EACGH,UAAU,CAAEG,QAAS,CAAC,GACrBA,QAAQ,CAAE2B,aAAc,CAAC,GACzBA;EAAa,CACf,CAAC;AAEL;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["_compose","require","_element","_context","_interopRequireDefault","_jsxRuntime","isFunction","maybeFunc","addKeysToChildren","children","Children","map","child","childIndex","childKey","key","cloneElement","Slot","props","_useObservableValue","registry","useContext","SlotFillContext","instanceRef","useRef","name","fillProps","useLayoutEffect","instance","current","registerSlot","unregisterSlot","fills","useObservableValue","currentSlot","slots","renderedFills","fill","fillChildren","filter","element","isEmptyElement","jsx","Fragment","_default","exports","default"],"sources":["@wordpress/components/src/slot-fill/slot.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement, ReactNode, Key } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useObservableValue } from '@wordpress/compose';\nimport {\n\tuseContext,\n\tuseLayoutEffect,\n\tuseRef,\n\tChildren,\n\tcloneElement,\n\tisEmptyElement,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './context';\nimport type { SlotComponentProps } from './types';\n\n/**\n * Whether the argument is a function.\n *\n * @param maybeFunc The argument to check.\n * @return True if the argument is a function, false otherwise.\n */\nfunction isFunction( maybeFunc: any ): maybeFunc is Function {\n\treturn typeof maybeFunc === 'function';\n}\n\nfunction addKeysToChildren( children: ReactNode ) {\n\treturn Children.map( children, ( child, childIndex ) => {\n\t\tif ( ! child || typeof child === 'string' ) {\n\t\t\treturn child;\n\t\t}\n\t\tlet childKey: Key = childIndex;\n\t\tif ( typeof child === 'object' && 'key' in child && child?.key ) {\n\t\t\tchildKey = child.key;\n\t\t}\n\n\t\treturn cloneElement( child as ReactElement, {\n\t\t\tkey: childKey,\n\t\t} );\n\t} );\n}\n\nfunction Slot( props: Omit< SlotComponentProps, 'bubblesVirtually' > ) {\n\tconst registry = useContext( SlotFillContext );\n\tconst instanceRef = useRef( {} );\n\n\tconst { name, children, fillProps = {} } = props;\n\n\tuseLayoutEffect( () => {\n\t\tconst instance = instanceRef.current;\n\t\tregistry.registerSlot( name, instance );\n\t\treturn () => registry.unregisterSlot( name, instance );\n\t}, [ registry, name ] );\n\n\tlet fills = useObservableValue( registry.fills, name ) ?? [];\n\tconst currentSlot = useObservableValue( registry.slots, name );\n\n\t// Fills should only be rendered in the currently registered instance of the slot.\n\tif ( currentSlot !== instanceRef.current ) {\n\t\tfills = [];\n\t}\n\n\tconst renderedFills = fills\n\t\t.map( ( fill ) => {\n\t\t\tconst fillChildren = isFunction( fill.children )\n\t\t\t\t? fill.children( fillProps )\n\t\t\t\t: fill.children;\n\t\t\treturn addKeysToChildren( fillChildren );\n\t\t} )\n\t\t.filter(\n\t\t\t// In some cases fills are rendered only when some conditions apply.\n\t\t\t// This ensures that we only use non-empty fills when rendering, i.e.,\n\t\t\t// it allows us to render wrappers only when the fills are actually present.\n\t\t\t( element ) => ! isEmptyElement( element )\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ isFunction( children )\n\t\t\t\t? children( renderedFills )\n\t\t\t\t: renderedFills }\n\t\t</>\n\t);\n}\n\nexport default Slot;\n"],"mappings":";;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwC,IAAAI,WAAA,GAAAJ,OAAA;AArBxC;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,UAAUA,CAAEC,SAAc,EAA0B;EAC5D,OAAO,OAAOA,SAAS,KAAK,UAAU;AACvC;AAEA,SAASC,iBAAiBA,CAAEC,QAAmB,EAAG;EACjD,OAAOC,iBAAQ,CAACC,GAAG,CAAEF,QAAQ,EAAE,CAAEG,KAAK,EAAEC,UAAU,KAAM;IACvD,IAAK,CAAED,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAC3C,OAAOA,KAAK;IACb;IACA,IAAIE,QAAa,GAAGD,UAAU;IAC9B,IAAK,OAAOD,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAIA,KAAK,IAAIA,KAAK,EAAEG,GAAG,EAAG;MAChED,QAAQ,GAAGF,KAAK,CAACG,GAAG;IACrB;IAEA,OAAO,IAAAC,qBAAY,EAAEJ,KAAK,EAAkB;MAC3CG,GAAG,EAAED;IACN,CAAE,CAAC;EACJ,CAAE,CAAC;AACJ;AAEA,SAASG,IAAIA,CAAEC,KAAqD,EAAG;EAAA,IAAAC,mBAAA;EACtE,MAAMC,QAAQ,GAAG,IAAAC,mBAAU,EAAEC,gBAAgB,CAAC;EAC9C,MAAMC,WAAW,GAAG,IAAAC,eAAM,EAAE,CAAC,CAAE,CAAC;EAEhC,MAAM;IAAEC,IAAI;IAAEhB,QAAQ;IAAEiB,SAAS,GAAG,CAAC;EAAE,CAAC,GAAGR,KAAK;EAEhD,IAAAS,wBAAe,EAAE,MAAM;IACtB,MAAMC,QAAQ,GAAGL,WAAW,CAACM,OAAO;IACpCT,QAAQ,CAACU,YAAY,CAAEL,IAAI,EAAEG,QAAS,CAAC;IACvC,OAAO,MAAMR,QAAQ,CAACW,cAAc,CAAEN,IAAI,EAAEG,QAAS,CAAC;EACvD,CAAC,EAAE,CAAER,QAAQ,EAAEK,IAAI,CAAG,CAAC;EAEvB,IAAIO,KAAK,IAAAb,mBAAA,GAAG,IAAAc,2BAAkB,EAAEb,QAAQ,CAACY,KAAK,EAAEP,IAAK,CAAC,cAAAN,mBAAA,cAAAA,mBAAA,GAAI,EAAE;EAC5D,MAAMe,WAAW,GAAG,IAAAD,2BAAkB,EAAEb,QAAQ,CAACe,KAAK,EAAEV,IAAK,CAAC;;EAE9D;EACA,IAAKS,WAAW,KAAKX,WAAW,CAACM,OAAO,EAAG;IAC1CG,KAAK,GAAG,EAAE;EACX;EAEA,MAAMI,aAAa,GAAGJ,KAAK,CACzBrB,GAAG,CAAI0B,IAAI,IAAM;IACjB,MAAMC,YAAY,GAAGhC,UAAU,CAAE+B,IAAI,CAAC5B,QAAS,CAAC,GAC7C4B,IAAI,CAAC5B,QAAQ,CAAEiB,SAAU,CAAC,GAC1BW,IAAI,CAAC5B,QAAQ;IAChB,OAAOD,iBAAiB,CAAE8B,YAAa,CAAC;EACzC,CAAE,CAAC,CACFC,MAAM;EACN;EACA;EACA;EACEC,OAAO,IAAM,CAAE,IAAAC,uBAAc,EAAED,OAAQ,CAC1C,CAAC;EAEF,oBACC,IAAAnC,WAAA,CAAAqC,GAAA,EAAArC,WAAA,CAAAsC,QAAA;IAAAlC,QAAA,EACGH,UAAU,CAAEG,QAAS,CAAC,GACrBA,QAAQ,CAAE2B,aAAc,CAAC,GACzBA;EAAa,CACf,CAAC;AAEL;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,IAAI","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");