@wordpress/components 19.0.0 → 19.0.4

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 (1440) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CONTRIBUTING.md +12 -12
  3. package/README.md +1 -0
  4. package/build/alignment-matrix-control/cell.js +6 -5
  5. package/build/alignment-matrix-control/cell.js.map +1 -1
  6. package/build/alignment-matrix-control/icon.js +9 -8
  7. package/build/alignment-matrix-control/icon.js.map +1 -1
  8. package/build/alignment-matrix-control/index.js +11 -10
  9. package/build/alignment-matrix-control/index.js.map +1 -1
  10. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +9 -7
  11. package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  12. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -7
  13. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  14. package/build/alignment-matrix-control/utils.js +5 -4
  15. package/build/alignment-matrix-control/utils.js.map +1 -1
  16. package/build/angle-picker-control/angle-circle.js +6 -5
  17. package/build/angle-picker-control/angle-circle.js.map +1 -1
  18. package/build/angle-picker-control/index.js +11 -7
  19. package/build/angle-picker-control/index.js.map +1 -1
  20. package/build/angle-picker-control/styles/angle-picker-control-styles.js +5 -5
  21. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  22. package/build/animate/index.js +7 -6
  23. package/build/animate/index.js.map +1 -1
  24. package/build/animation/index.js +6 -6
  25. package/build/autocomplete/autocompleter-ui.js +13 -12
  26. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  27. package/build/autocomplete/autocompleter-ui.native.js +15 -12
  28. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  29. package/build/autocomplete/background-view.android.js +4 -3
  30. package/build/autocomplete/background-view.android.js.map +1 -1
  31. package/build/autocomplete/background-view.ios.js +4 -3
  32. package/build/autocomplete/background-view.ios.js.map +1 -1
  33. package/build/autocomplete/get-default-use-items.js +3 -1
  34. package/build/autocomplete/get-default-use-items.js.map +1 -1
  35. package/build/autocomplete/index.js +20 -17
  36. package/build/autocomplete/index.js.map +1 -1
  37. package/build/base-control/index.js +15 -13
  38. package/build/base-control/index.js.map +1 -1
  39. package/build/base-control/index.native.js +6 -5
  40. package/build/base-control/index.native.js.map +1 -1
  41. package/build/base-control/styles/base-control-styles.js +1 -1
  42. package/build/base-field/hook.js +4 -2
  43. package/build/base-field/hook.js.map +1 -1
  44. package/build/base-field/styles.js +1 -1
  45. package/build/box-control/all-input-control.js +12 -11
  46. package/build/box-control/all-input-control.js.map +1 -1
  47. package/build/box-control/axial-input-controls.js +13 -11
  48. package/build/box-control/axial-input-controls.js.map +1 -1
  49. package/build/box-control/icon.js +8 -6
  50. package/build/box-control/icon.js.map +1 -1
  51. package/build/box-control/index.js +22 -18
  52. package/build/box-control/index.js.map +1 -1
  53. package/build/box-control/input-controls.js +17 -14
  54. package/build/box-control/input-controls.js.map +1 -1
  55. package/build/box-control/linked-button.js +5 -4
  56. package/build/box-control/linked-button.js.map +1 -1
  57. package/build/box-control/styles/box-control-icon-styles.js +5 -4
  58. package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
  59. package/build/box-control/styles/box-control-styles.js +13 -10
  60. package/build/box-control/styles/box-control-styles.js.map +1 -1
  61. package/build/box-control/styles/box-control-visualizer-styles.js +12 -8
  62. package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  63. package/build/box-control/unit-control.js +22 -18
  64. package/build/box-control/unit-control.js.map +1 -1
  65. package/build/box-control/utils.js +10 -6
  66. package/build/box-control/utils.js.map +1 -1
  67. package/build/box-control/visualizer.js +32 -26
  68. package/build/box-control/visualizer.js.map +1 -1
  69. package/build/button/deprecated.js +8 -7
  70. package/build/button/deprecated.js.map +1 -1
  71. package/build/button/index.js +10 -9
  72. package/build/button/index.js.map +1 -1
  73. package/build/button-group/index.js +5 -4
  74. package/build/button-group/index.js.map +1 -1
  75. package/build/card/card/component.js +4 -2
  76. package/build/card/card/component.js.map +1 -1
  77. package/build/card/card/hook.js +11 -7
  78. package/build/card/card/hook.js.map +1 -1
  79. package/build/card/card-body/hook.js +4 -2
  80. package/build/card/card-body/hook.js.map +1 -1
  81. package/build/card/card-divider/hook.js +4 -2
  82. package/build/card/card-divider/hook.js.map +1 -1
  83. package/build/card/card-footer/hook.js +4 -2
  84. package/build/card/card-footer/hook.js.map +1 -1
  85. package/build/card/card-header/hook.js +4 -2
  86. package/build/card/card-header/hook.js.map +1 -1
  87. package/build/card/card-media/hook.js +4 -2
  88. package/build/card/card-media/hook.js.map +1 -1
  89. package/build/card/index.js +24 -22
  90. package/build/card/index.js.map +1 -1
  91. package/build/card/styles.js +1 -1
  92. package/build/card/types.js +4 -0
  93. package/build/checkbox-control/index.js +11 -9
  94. package/build/checkbox-control/index.js.map +1 -1
  95. package/build/circular-option-picker/index.js +40 -33
  96. package/build/circular-option-picker/index.js.map +1 -1
  97. package/build/clipboard-button/index.js +9 -8
  98. package/build/clipboard-button/index.js.map +1 -1
  99. package/build/color-control/index.native.js +8 -7
  100. package/build/color-control/index.native.js.map +1 -1
  101. package/build/color-edit/index.js +203 -209
  102. package/build/color-edit/index.js.map +1 -1
  103. package/build/color-edit/styles.js +112 -0
  104. package/build/color-edit/styles.js.map +1 -0
  105. package/build/color-indicator/index.js +13 -10
  106. package/build/color-indicator/index.js.map +1 -1
  107. package/build/color-indicator/index.native.js +12 -10
  108. package/build/color-indicator/index.native.js.map +1 -1
  109. package/build/color-list-picker/index.js +22 -15
  110. package/build/color-list-picker/index.js.map +1 -1
  111. package/build/color-palette/index.js +102 -29
  112. package/build/color-palette/index.js.map +1 -1
  113. package/build/color-palette/index.native.js +23 -20
  114. package/build/color-palette/index.native.js.map +1 -1
  115. package/build/color-palette/styles.js +31 -0
  116. package/build/color-palette/styles.js.map +1 -0
  117. package/build/color-picker/color-display.js +35 -27
  118. package/build/color-picker/color-display.js.map +1 -1
  119. package/build/color-picker/color-input.js +7 -6
  120. package/build/color-picker/color-input.js.map +1 -1
  121. package/build/color-picker/component.js +7 -18
  122. package/build/color-picker/component.js.map +1 -1
  123. package/build/color-picker/hex-input.js +7 -5
  124. package/build/color-picker/hex-input.js.map +1 -1
  125. package/build/color-picker/hsl-input.js +6 -5
  126. package/build/color-picker/hsl-input.js.map +1 -1
  127. package/build/color-picker/index.native.js +23 -20
  128. package/build/color-picker/index.native.js.map +1 -1
  129. package/build/color-picker/input-with-slider.js +9 -8
  130. package/build/color-picker/input-with-slider.js.map +1 -1
  131. package/build/color-picker/picker.js +9 -8
  132. package/build/color-picker/picker.js.map +1 -1
  133. package/build/color-picker/rgb-input.js +6 -5
  134. package/build/color-picker/rgb-input.js.map +1 -1
  135. package/build/color-picker/styles.js +1 -1
  136. package/build/color-picker/types.js +4 -0
  137. package/build/combobox-control/index.js +17 -15
  138. package/build/combobox-control/index.js.map +1 -1
  139. package/build/custom-gradient-bar/constants.js +1 -1
  140. package/build/custom-gradient-bar/control-points.js +120 -108
  141. package/build/custom-gradient-bar/control-points.js.map +1 -1
  142. package/build/custom-gradient-bar/index.js +13 -11
  143. package/build/custom-gradient-bar/index.js.map +1 -1
  144. package/build/custom-gradient-bar/utils.js +9 -7
  145. package/build/custom-gradient-bar/utils.js.map +1 -1
  146. package/build/custom-gradient-picker/constants.js +1 -1
  147. package/build/custom-gradient-picker/index.js +17 -14
  148. package/build/custom-gradient-picker/index.js.map +1 -1
  149. package/build/custom-gradient-picker/index.native.js +6 -5
  150. package/build/custom-gradient-picker/index.native.js.map +1 -1
  151. package/build/custom-gradient-picker/serializer.js +20 -16
  152. package/build/custom-gradient-picker/serializer.js.map +1 -1
  153. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
  154. package/build/custom-gradient-picker/utils.js +7 -6
  155. package/build/custom-gradient-picker/utils.js.map +1 -1
  156. package/build/custom-select-control/index.js +22 -18
  157. package/build/custom-select-control/index.js.map +1 -1
  158. package/build/dashicon/index.js +6 -5
  159. package/build/dashicon/index.js.map +1 -1
  160. package/build/dashicon/index.native.js +9 -6
  161. package/build/dashicon/index.native.js.map +1 -1
  162. package/build/dashicon/types.js +4 -0
  163. package/build/date-time/date.js +5 -4
  164. package/build/date-time/date.js.map +1 -1
  165. package/build/date-time/index.js +9 -8
  166. package/build/date-time/index.js.map +1 -1
  167. package/build/date-time/time.js +14 -11
  168. package/build/date-time/time.js.map +1 -1
  169. package/build/dimension-control/index.js +14 -9
  170. package/build/dimension-control/index.js.map +1 -1
  171. package/build/dimension-control/sizes.js +1 -1
  172. package/build/disabled/index.js +8 -6
  173. package/build/disabled/index.js.map +1 -1
  174. package/build/disabled/index.native.js +4 -3
  175. package/build/disabled/index.native.js.map +1 -1
  176. package/build/divider/styles.js +7 -5
  177. package/build/divider/styles.js.map +1 -1
  178. package/build/divider/types.js +4 -0
  179. package/build/draggable/index.js +13 -11
  180. package/build/draggable/index.js.map +1 -1
  181. package/build/drop-zone/index.js +8 -7
  182. package/build/drop-zone/index.js.map +1 -1
  183. package/build/drop-zone/provider.js +4 -3
  184. package/build/drop-zone/provider.js.map +1 -1
  185. package/build/dropdown/index.js +14 -13
  186. package/build/dropdown/index.js.map +1 -1
  187. package/build/dropdown-menu/index.js +9 -5
  188. package/build/dropdown-menu/index.js.map +1 -1
  189. package/build/dropdown-menu/index.native.js +26 -19
  190. package/build/dropdown-menu/index.native.js.map +1 -1
  191. package/build/duotone-picker/custom-duotone-bar.js +5 -5
  192. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  193. package/build/duotone-picker/duotone-picker.js +16 -13
  194. package/build/duotone-picker/duotone-picker.js.map +1 -1
  195. package/build/duotone-picker/duotone-swatch.js +4 -3
  196. package/build/duotone-picker/duotone-swatch.js.map +1 -1
  197. package/build/duotone-picker/utils.js +29 -16
  198. package/build/duotone-picker/utils.js.map +1 -1
  199. package/build/elevation/hook.js +4 -2
  200. package/build/elevation/hook.js.map +1 -1
  201. package/build/elevation/types.js +4 -0
  202. package/build/external-link/index.js +8 -7
  203. package/build/external-link/index.js.map +1 -1
  204. package/build/external-link/index.native.js +5 -4
  205. package/build/external-link/index.native.js.map +1 -1
  206. package/build/flex/flex/hook.js +10 -6
  207. package/build/flex/flex/hook.js.map +1 -1
  208. package/build/flex/flex-item/hook.js +4 -2
  209. package/build/flex/flex-item/hook.js.map +1 -1
  210. package/build/flex/index.js +12 -10
  211. package/build/flex/index.js.map +1 -1
  212. package/build/flex/styles.js +1 -1
  213. package/build/flex/types.js +4 -0
  214. package/build/flyout/styles.js +5 -3
  215. package/build/flyout/styles.js.map +1 -1
  216. package/build/flyout/types.js +4 -0
  217. package/build/flyout/utils.js +4 -3
  218. package/build/flyout/utils.js.map +1 -1
  219. package/build/focal-point-picker/controls.js +8 -7
  220. package/build/focal-point-picker/controls.js.map +1 -1
  221. package/build/focal-point-picker/focal-point.js +8 -7
  222. package/build/focal-point-picker/focal-point.js.map +1 -1
  223. package/build/focal-point-picker/focal-point.native.js +6 -5
  224. package/build/focal-point-picker/focal-point.native.js.map +1 -1
  225. package/build/focal-point-picker/grid.js +6 -5
  226. package/build/focal-point-picker/grid.js.map +1 -1
  227. package/build/focal-point-picker/index.js +2 -1
  228. package/build/focal-point-picker/index.js.map +1 -1
  229. package/build/focal-point-picker/media.js +19 -16
  230. package/build/focal-point-picker/media.js.map +1 -1
  231. package/build/focal-point-picker/styles/focal-point-picker-style.js +8 -5
  232. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  233. package/build/focal-point-picker/styles/focal-point-style.js +7 -4
  234. package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
  235. package/build/focal-point-picker/tooltip/index.native.js +18 -15
  236. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  237. package/build/focal-point-picker/utils.js +6 -4
  238. package/build/focal-point-picker/utils.js.map +1 -1
  239. package/build/focusable-iframe/index.js +5 -4
  240. package/build/focusable-iframe/index.js.map +1 -1
  241. package/build/font-size-picker/index.js +24 -17
  242. package/build/font-size-picker/index.js.map +1 -1
  243. package/build/font-size-picker/index.native.js +11 -8
  244. package/build/font-size-picker/index.native.js.map +1 -1
  245. package/build/font-size-picker/utils.js +22 -18
  246. package/build/font-size-picker/utils.js.map +1 -1
  247. package/build/footer-message-control/index.native.js +3 -2
  248. package/build/footer-message-control/index.native.js.map +1 -1
  249. package/build/form-file-upload/index.js +9 -8
  250. package/build/form-file-upload/index.js.map +1 -1
  251. package/build/form-toggle/index.js +9 -8
  252. package/build/form-toggle/index.js.map +1 -1
  253. package/build/form-token-field/index.js +8 -2
  254. package/build/form-token-field/index.js.map +1 -1
  255. package/build/form-token-field/token.js +15 -14
  256. package/build/form-token-field/token.js.map +1 -1
  257. package/build/gradient-picker/index.js +99 -32
  258. package/build/gradient-picker/index.js.map +1 -1
  259. package/build/grid/types.js +4 -0
  260. package/build/guide/icons.js +16 -13
  261. package/build/guide/icons.js.map +1 -1
  262. package/build/guide/index.js +9 -8
  263. package/build/guide/index.js.map +1 -1
  264. package/build/guide/page-control.js +6 -5
  265. package/build/guide/page-control.js.map +1 -1
  266. package/build/h-stack/types.js +4 -0
  267. package/build/h-stack/utils.js +3 -1
  268. package/build/h-stack/utils.js.map +1 -1
  269. package/build/higher-order/navigate-regions/index.js +20 -14
  270. package/build/higher-order/navigate-regions/index.js.map +1 -1
  271. package/build/higher-order/with-focus-return/index.js +18 -14
  272. package/build/higher-order/with-focus-return/index.js.map +1 -1
  273. package/build/icon/index.js +7 -5
  274. package/build/icon/index.js.map +1 -1
  275. package/build/index.js +314 -312
  276. package/build/index.js.map +1 -1
  277. package/build/index.native.js +227 -216
  278. package/build/index.native.js.map +1 -1
  279. package/build/input-control/backdrop.js +5 -4
  280. package/build/input-control/backdrop.js.map +1 -1
  281. package/build/input-control/index.js +20 -19
  282. package/build/input-control/index.js.map +1 -1
  283. package/build/input-control/input-base.js +16 -15
  284. package/build/input-control/input-base.js.map +1 -1
  285. package/build/input-control/input-field.js +24 -23
  286. package/build/input-control/input-field.js.map +1 -1
  287. package/build/input-control/label.js +7 -6
  288. package/build/input-control/label.js.map +1 -1
  289. package/build/input-control/reducer/actions.js +1 -1
  290. package/build/input-control/reducer/reducer.js +20 -7
  291. package/build/input-control/reducer/reducer.js.map +1 -1
  292. package/build/input-control/reducer/state.js +1 -1
  293. package/build/input-control/styles/input-control-styles.js +49 -37
  294. package/build/input-control/styles/input-control-styles.js.map +1 -1
  295. package/build/input-control/types.js +4 -0
  296. package/build/isolated-event-container/index.js +5 -4
  297. package/build/isolated-event-container/index.js.map +1 -1
  298. package/build/item-group/item/hook.js +4 -2
  299. package/build/item-group/item/hook.js.map +1 -1
  300. package/build/item-group/item-group/hook.js +4 -2
  301. package/build/item-group/item-group/hook.js.map +1 -1
  302. package/build/item-group/styles.js +1 -1
  303. package/build/item-group/types.js +4 -0
  304. package/build/keyboard-shortcuts/index.js +15 -13
  305. package/build/keyboard-shortcuts/index.js.map +1 -1
  306. package/build/menu-items-choice/index.js +7 -6
  307. package/build/menu-items-choice/index.js.map +1 -1
  308. package/build/mobile/audio-player/index.native.js +8 -7
  309. package/build/mobile/audio-player/index.native.js.map +1 -1
  310. package/build/mobile/badge/index.native.js +6 -5
  311. package/build/mobile/badge/index.native.js.map +1 -1
  312. package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +1 -1
  313. package/build/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +1 -1
  314. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  315. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  316. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  317. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  318. package/build/mobile/bottom-sheet/button.native.js +21 -18
  319. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  320. package/build/mobile/bottom-sheet/cell.native.js +4 -2
  321. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  322. package/build/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  323. package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  324. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  325. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  326. package/build/mobile/bottom-sheet/index.native.js +24 -17
  327. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  328. package/build/mobile/bottom-sheet/link-cell.native.js +9 -7
  329. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  330. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  331. package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  332. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  333. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  334. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  335. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  336. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  337. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  338. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  339. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  340. package/build/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  341. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  342. package/build/mobile/bottom-sheet/range-text-input.native.js +6 -5
  343. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  344. package/build/mobile/bottom-sheet/ripple.native.js +11 -10
  345. package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
  346. package/build/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  347. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  348. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  349. package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  350. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  351. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  352. package/build/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  353. package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  354. package/build/mobile/bottom-sheet-select-control/index.native.js +8 -7
  355. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  356. package/build/mobile/bottom-sheet-text-control/index.native.js +9 -8
  357. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  358. package/build/mobile/clipboard/index.native.js +1 -1
  359. package/build/mobile/color-settings/index.native.js +11 -10
  360. package/build/mobile/color-settings/index.native.js.map +1 -1
  361. package/build/mobile/cycle-select-control/index.native.js +12 -11
  362. package/build/mobile/cycle-select-control/index.native.js.map +1 -1
  363. package/build/mobile/dashicons/index.native.js +1 -1
  364. package/build/mobile/focal-point-settings-panel/index.native.js +7 -6
  365. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  366. package/build/mobile/global-styles-context/index.native.js +1 -1
  367. package/build/mobile/global-styles-context/utils.native.js +9 -7
  368. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  369. package/build/mobile/gradient/index.native.js +14 -13
  370. package/build/mobile/gradient/index.native.js.map +1 -1
  371. package/build/mobile/gridicons/index.native.js +1 -1
  372. package/build/mobile/html-text-input/container.android.js +12 -9
  373. package/build/mobile/html-text-input/container.android.js.map +1 -1
  374. package/build/mobile/image/image-editing-button.native.js +26 -22
  375. package/build/mobile/image/image-editing-button.native.js.map +1 -1
  376. package/build/mobile/image/index.native.js +23 -22
  377. package/build/mobile/image/index.native.js.map +1 -1
  378. package/build/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  379. package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  380. package/build/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  381. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  382. package/build/mobile/layout-animation/index.native.js +3 -1
  383. package/build/mobile/layout-animation/index.native.js.map +1 -1
  384. package/build/mobile/link-picker/index.native.js +13 -11
  385. package/build/mobile/link-picker/index.native.js.map +1 -1
  386. package/build/mobile/link-picker/link-picker-results.native.js +48 -34
  387. package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
  388. package/build/mobile/link-picker/link-picker-screen.native.js +9 -7
  389. package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  390. package/build/mobile/link-settings/image-link-destinations-screen.native.js +141 -0
  391. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  392. package/build/mobile/link-settings/index.native.js +59 -57
  393. package/build/mobile/link-settings/index.native.js.map +1 -1
  394. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  395. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  396. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  397. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  398. package/build/mobile/media-edit/index.native.js +1 -1
  399. package/build/mobile/picker/index.android.js +4 -2
  400. package/build/mobile/picker/index.android.js.map +1 -1
  401. package/build/mobile/picker/index.ios.js +6 -3
  402. package/build/mobile/picker/index.ios.js.map +1 -1
  403. package/build/mobile/readable-content-view/index.native.js +12 -9
  404. package/build/mobile/readable-content-view/index.native.js.map +1 -1
  405. package/build/mobile/segmented-control/index.native.js +16 -14
  406. package/build/mobile/segmented-control/index.native.js.map +1 -1
  407. package/build/mobile/utils/alignments.native.js +1 -1
  408. package/build/mobile/utils/index.native.js +2 -1
  409. package/build/mobile/utils/index.native.js.map +1 -1
  410. package/build/mobile/utils/use-unit-converter-to-mobile.native.js +5 -4
  411. package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  412. package/build/modal/aria-helper.js +1 -1
  413. package/build/modal/index.js +40 -30
  414. package/build/modal/index.js.map +1 -1
  415. package/build/navigable-container/menu.js +7 -5
  416. package/build/navigable-container/menu.js.map +1 -1
  417. package/build/navigable-container/tabbable.js +6 -4
  418. package/build/navigable-container/tabbable.js.map +1 -1
  419. package/build/navigation/back-button/index.js +8 -7
  420. package/build/navigation/back-button/index.js.map +1 -1
  421. package/build/navigation/group/index.js +7 -7
  422. package/build/navigation/group/index.js.map +1 -1
  423. package/build/navigation/index.js +11 -8
  424. package/build/navigation/index.js.map +1 -1
  425. package/build/navigation/menu/menu-title-search.js +16 -34
  426. package/build/navigation/menu/menu-title-search.js.map +1 -1
  427. package/build/navigation/menu/menu-title.js +10 -9
  428. package/build/navigation/menu/menu-title.js.map +1 -1
  429. package/build/navigation/menu/search-no-results-found.js +4 -3
  430. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  431. package/build/navigation/styles/navigation-styles.js +34 -29
  432. package/build/navigation/styles/navigation-styles.js.map +1 -1
  433. package/build/navigator/types.js +4 -0
  434. package/build/notice/index.js +26 -24
  435. package/build/notice/index.js.map +1 -1
  436. package/build/notice/index.native.js +7 -6
  437. package/build/notice/index.native.js.map +1 -1
  438. package/build/notice/list.js +8 -6
  439. package/build/notice/list.js.map +1 -1
  440. package/build/number-control/index.js +22 -19
  441. package/build/number-control/index.js.map +1 -1
  442. package/build/number-control/styles/number-control-styles.js +4 -3
  443. package/build/number-control/styles/number-control-styles.js.map +1 -1
  444. package/build/panel/actions.native.js +10 -8
  445. package/build/panel/actions.native.js.map +1 -1
  446. package/build/panel/body.js +19 -17
  447. package/build/panel/body.js.map +1 -1
  448. package/build/panel/body.native.js +7 -6
  449. package/build/panel/body.native.js.map +1 -1
  450. package/build/panel/bottom-separator-cover.native.js +4 -3
  451. package/build/panel/bottom-separator-cover.native.js.map +1 -1
  452. package/build/panel/header.js +5 -4
  453. package/build/panel/header.js.map +1 -1
  454. package/build/panel/index.js +6 -5
  455. package/build/panel/index.js.map +1 -1
  456. package/build/panel/row.js +10 -7
  457. package/build/panel/row.js.map +1 -1
  458. package/build/placeholder/index.js +12 -11
  459. package/build/placeholder/index.js.map +1 -1
  460. package/build/popover/index.js +49 -39
  461. package/build/popover/index.js.map +1 -1
  462. package/build/popover/utils.js +10 -2
  463. package/build/popover/utils.js.map +1 -1
  464. package/build/query-controls/author-select.js +8 -7
  465. package/build/query-controls/author-select.js.map +1 -1
  466. package/build/query-controls/category-select.js +9 -8
  467. package/build/query-controls/category-select.js.map +1 -1
  468. package/build/query-controls/index.js +19 -18
  469. package/build/query-controls/index.js.map +1 -1
  470. package/build/query-controls/index.native.js +14 -13
  471. package/build/query-controls/index.native.js.map +1 -1
  472. package/build/radio/index.js +6 -5
  473. package/build/radio/index.js.map +1 -1
  474. package/build/radio-control/index.js +11 -10
  475. package/build/radio-control/index.js.map +1 -1
  476. package/build/radio-control/index.native.js +7 -6
  477. package/build/radio-control/index.native.js.map +1 -1
  478. package/build/radio-group/index.js +9 -8
  479. package/build/radio-group/index.js.map +1 -1
  480. package/build/range-control/index.js +33 -32
  481. package/build/range-control/index.js.map +1 -1
  482. package/build/range-control/index.native.js +20 -18
  483. package/build/range-control/index.native.js.map +1 -1
  484. package/build/range-control/input-range.js +11 -10
  485. package/build/range-control/input-range.js.map +1 -1
  486. package/build/range-control/mark.js +8 -7
  487. package/build/range-control/mark.js.map +1 -1
  488. package/build/range-control/rail.js +29 -24
  489. package/build/range-control/rail.js.map +1 -1
  490. package/build/range-control/styles/range-control-styles.js +81 -63
  491. package/build/range-control/styles/range-control-styles.js.map +1 -1
  492. package/build/range-control/tooltip.js +17 -15
  493. package/build/range-control/tooltip.js.map +1 -1
  494. package/build/range-control/utils.js +15 -13
  495. package/build/range-control/utils.js.map +1 -1
  496. package/build/resizable-box/index.js +9 -8
  497. package/build/resizable-box/index.js.map +1 -1
  498. package/build/resizable-box/resize-tooltip/index.js +13 -12
  499. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  500. package/build/resizable-box/resize-tooltip/label.js +7 -6
  501. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  502. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  503. package/build/resizable-box/resize-tooltip/utils.js +20 -17
  504. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  505. package/build/responsive-wrapper/index.js +7 -6
  506. package/build/responsive-wrapper/index.js.map +1 -1
  507. package/build/sandbox/index.js +12 -9
  508. package/build/sandbox/index.js.map +1 -1
  509. package/build/sandbox/index.native.js +15 -13
  510. package/build/sandbox/index.native.js.map +1 -1
  511. package/build/scrollable/hook.js +4 -2
  512. package/build/scrollable/hook.js.map +1 -1
  513. package/build/scrollable/styles.js +1 -1
  514. package/build/scrollable/types.js +4 -0
  515. package/build/search-control/index.js +45 -21
  516. package/build/search-control/index.js.map +1 -1
  517. package/build/search-control/index.native.js +6 -5
  518. package/build/search-control/index.native.js.map +1 -1
  519. package/build/select-control/index.js +33 -26
  520. package/build/select-control/index.js.map +1 -1
  521. package/build/select-control/index.native.js +12 -11
  522. package/build/select-control/index.native.js.map +1 -1
  523. package/build/select-control/styles/select-control-styles.js +13 -10
  524. package/build/select-control/styles/select-control-styles.js.map +1 -1
  525. package/build/select-control/types.js +4 -0
  526. package/build/shortcut/index.js +6 -4
  527. package/build/shortcut/index.js.map +1 -1
  528. package/build/slot-fill/bubbles-virtually/fill.js +5 -4
  529. package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
  530. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  531. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  532. package/build/slot-fill/bubbles-virtually/slot.js +7 -6
  533. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  534. package/build/slot-fill/fill.js +17 -13
  535. package/build/slot-fill/fill.js.map +1 -1
  536. package/build/slot-fill/index.js +12 -9
  537. package/build/slot-fill/index.js.map +1 -1
  538. package/build/slot-fill/index.native.js +2 -2
  539. package/build/slot-fill/slot.js +12 -9
  540. package/build/slot-fill/slot.js.map +1 -1
  541. package/build/snackbar/index.js +22 -20
  542. package/build/snackbar/index.js.map +1 -1
  543. package/build/snackbar/list.js +7 -6
  544. package/build/snackbar/list.js.map +1 -1
  545. package/build/spacer/types.js +4 -0
  546. package/build/style-provider/index.js +10 -6
  547. package/build/style-provider/index.js.map +1 -1
  548. package/build/style-provider/index.native.js +4 -3
  549. package/build/style-provider/index.native.js.map +1 -1
  550. package/build/surface/hook.js +4 -2
  551. package/build/surface/hook.js.map +1 -1
  552. package/build/surface/styles.js +9 -7
  553. package/build/surface/styles.js.map +1 -1
  554. package/build/surface/types.js +4 -0
  555. package/build/swatch/index.js +4 -3
  556. package/build/swatch/index.js.map +1 -1
  557. package/build/tab-panel/index.js +27 -23
  558. package/build/tab-panel/index.js.map +1 -1
  559. package/build/text/hook.js +4 -2
  560. package/build/text/hook.js.map +1 -1
  561. package/build/text/styles/text-mixins.native.js +3 -1
  562. package/build/text/styles/text-mixins.native.js.map +1 -1
  563. package/build/text/styles.js +8 -8
  564. package/build/text/styles.js.map +1 -1
  565. package/build/text/types.js +4 -0
  566. package/build/text/utils.js +17 -16
  567. package/build/text/utils.js.map +1 -1
  568. package/build/text-control/index.js +13 -12
  569. package/build/text-control/index.js.map +1 -1
  570. package/build/text-control/index.native.js +13 -12
  571. package/build/text-control/index.native.js.map +1 -1
  572. package/build/text-highlight/index.js +5 -4
  573. package/build/text-highlight/index.js.map +1 -1
  574. package/build/textarea-control/index.js +11 -10
  575. package/build/textarea-control/index.js.map +1 -1
  576. package/build/textarea-control/index.native.js +8 -7
  577. package/build/textarea-control/index.native.js.map +1 -1
  578. package/build/toggle-control/index.js +10 -8
  579. package/build/toggle-control/index.js.map +1 -1
  580. package/build/toggle-control/index.native.js +10 -9
  581. package/build/toggle-control/index.native.js.map +1 -1
  582. package/build/toggle-group-control/context.js +1 -1
  583. package/build/toggle-group-control/toggle-group-control/component.js +4 -2
  584. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  585. package/build/toggle-group-control/toggle-group-control/styles.js +1 -1
  586. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  587. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  588. package/build/toggle-group-control/toggle-group-control-option/component.js +4 -2
  589. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
  590. package/build/toggle-group-control/toggle-group-control-option/styles.js +1 -1
  591. package/build/toggle-group-control/types.js +4 -0
  592. package/build/toolbar/index.js +7 -5
  593. package/build/toolbar/index.js.map +1 -1
  594. package/build/toolbar/toolbar-container.js +5 -4
  595. package/build/toolbar/toolbar-container.js.map +1 -1
  596. package/build/toolbar/toolbar-container.native.js +6 -3
  597. package/build/toolbar/toolbar-container.native.js.map +1 -1
  598. package/build/toolbar-button/index.js +11 -10
  599. package/build/toolbar-button/index.js.map +1 -1
  600. package/build/toolbar-group/index.js +9 -8
  601. package/build/toolbar-group/index.js.map +1 -1
  602. package/build/toolbar-group/toolbar-group-collapsed.js +6 -5
  603. package/build/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  604. package/build/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  605. package/build/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  606. package/build/toolbar-group/toolbar-group-container.js +10 -7
  607. package/build/toolbar-group/toolbar-group-container.js.map +1 -1
  608. package/build/toolbar-group/toolbar-group-container.native.js +10 -7
  609. package/build/toolbar-group/toolbar-group-container.native.js.map +1 -1
  610. package/build/toolbar-item/index.js +6 -5
  611. package/build/toolbar-item/index.js.map +1 -1
  612. package/build/toolbar-item/index.native.js +6 -4
  613. package/build/toolbar-item/index.native.js.map +1 -1
  614. package/build/tools-panel/index.js +4 -4
  615. package/build/tools-panel/styles.js +19 -24
  616. package/build/tools-panel/styles.js.map +1 -1
  617. package/build/tools-panel/tools-panel/component.js +10 -7
  618. package/build/tools-panel/tools-panel/component.js.map +1 -1
  619. package/build/tools-panel/tools-panel/hook.js +24 -14
  620. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  621. package/build/tools-panel/tools-panel-header/component.js +41 -29
  622. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  623. package/build/tools-panel/tools-panel-header/hook.js +4 -2
  624. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  625. package/build/tools-panel/tools-panel-item/hook.js +4 -2
  626. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  627. package/build/tools-panel/types.js +4 -0
  628. package/build/tooltip/index.js +52 -41
  629. package/build/tooltip/index.js.map +1 -1
  630. package/build/tooltip/index.native.js +16 -13
  631. package/build/tooltip/index.native.js.map +1 -1
  632. package/build/tree-grid/cell.js +6 -5
  633. package/build/tree-grid/cell.js.map +1 -1
  634. package/build/tree-grid/index.js +13 -12
  635. package/build/tree-grid/index.js.map +1 -1
  636. package/build/tree-grid/item.js +5 -4
  637. package/build/tree-grid/item.js.map +1 -1
  638. package/build/tree-grid/roving-tab-index-context.js +1 -1
  639. package/build/tree-grid/roving-tab-index-item.js +6 -5
  640. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  641. package/build/tree-grid/roving-tab-index.js +4 -3
  642. package/build/tree-grid/roving-tab-index.js.map +1 -1
  643. package/build/tree-grid/row.js +9 -8
  644. package/build/tree-grid/row.js.map +1 -1
  645. package/build/tree-select/index.js +11 -9
  646. package/build/tree-select/index.js.map +1 -1
  647. package/build/truncate/hook.js +4 -2
  648. package/build/truncate/hook.js.map +1 -1
  649. package/build/truncate/types.js +4 -0
  650. package/build/truncate/utils.js +5 -3
  651. package/build/truncate/utils.js.map +1 -1
  652. package/build/ui/__storybook-utils/example-grid.js +40 -30
  653. package/build/ui/__storybook-utils/example-grid.js.map +1 -1
  654. package/build/ui/__storybook-utils/page.js +5 -4
  655. package/build/ui/__storybook-utils/page.js.map +1 -1
  656. package/build/ui/context/constants.js +1 -1
  657. package/build/ui/context/context-connect.js +3 -1
  658. package/build/ui/context/context-connect.js.map +1 -1
  659. package/build/ui/context/context-system-provider.js +10 -8
  660. package/build/ui/context/context-system-provider.js.map +1 -1
  661. package/build/ui/context/index.js +6 -6
  662. package/build/ui/context/utils.js +1 -1
  663. package/build/ui/context/wordpress-component.js +4 -0
  664. package/build/ui/control-group/hook.js +4 -2
  665. package/build/ui/control-group/hook.js.map +1 -1
  666. package/build/ui/control-group/styles.js +1 -1
  667. package/build/ui/control-group/types.js +4 -0
  668. package/build/ui/control-label/hook.js +4 -2
  669. package/build/ui/control-label/hook.js.map +1 -1
  670. package/build/ui/control-label/styles.js +1 -1
  671. package/build/ui/control-label/types.js +4 -0
  672. package/build/ui/form-group/form-group-content.js +13 -12
  673. package/build/ui/form-group/form-group-content.js.map +1 -1
  674. package/build/ui/form-group/form-group-help.js +4 -3
  675. package/build/ui/form-group/form-group-help.js.map +1 -1
  676. package/build/ui/form-group/form-group-label.js +7 -6
  677. package/build/ui/form-group/form-group-label.js.map +1 -1
  678. package/build/ui/form-group/types.js +4 -0
  679. package/build/ui/form-group/use-form-group.js +4 -2
  680. package/build/ui/form-group/use-form-group.js.map +1 -1
  681. package/build/ui/spinner/styles.js +1 -1
  682. package/build/ui/tooltip/content.js +4 -2
  683. package/build/ui/tooltip/content.js.map +1 -1
  684. package/build/ui/tooltip/styles.js +5 -3
  685. package/build/ui/tooltip/styles.js.map +1 -1
  686. package/build/ui/tooltip/types.js +4 -0
  687. package/build/ui/utils/font-size.js +7 -3
  688. package/build/ui/utils/font-size.js.map +1 -1
  689. package/build/ui/utils/get-high-dpi.js +5 -1
  690. package/build/ui/utils/get-high-dpi.js.map +1 -1
  691. package/build/ui/utils/types.js +4 -0
  692. package/build/ui/utils/use-responsive-value.js +5 -3
  693. package/build/ui/utils/use-responsive-value.js.map +1 -1
  694. package/build/unit-control/index.js +25 -22
  695. package/build/unit-control/index.js.map +1 -1
  696. package/build/unit-control/index.native.js +17 -16
  697. package/build/unit-control/index.native.js.map +1 -1
  698. package/build/unit-control/styles/unit-control-styles.js +13 -10
  699. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  700. package/build/unit-control/types.js +4 -0
  701. package/build/unit-control/unit-select-control.js +11 -9
  702. package/build/unit-control/unit-select-control.js.map +1 -1
  703. package/build/unit-control/utils.js +20 -13
  704. package/build/unit-control/utils.js.map +1 -1
  705. package/build/utils/browsers.js +10 -2
  706. package/build/utils/browsers.js.map +1 -1
  707. package/build/utils/colors-values.js +1 -1
  708. package/build/utils/colors.js +3 -1
  709. package/build/utils/colors.js.map +1 -1
  710. package/build/utils/hooks/emotion.d.js +4 -0
  711. package/build/utils/hooks/index.js +12 -4
  712. package/build/utils/hooks/index.js.map +1 -1
  713. package/build/utils/hooks/use-combined-ref.js +32 -0
  714. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  715. package/build/utils/hooks/use-controlled-state.js +2 -1
  716. package/build/utils/hooks/use-controlled-state.js.map +1 -1
  717. package/build/utils/hooks/use-controlled-value.js +6 -5
  718. package/build/utils/hooks/use-controlled-value.js.map +1 -1
  719. package/build/utils/hooks/use-cx.js +5 -1
  720. package/build/utils/hooks/use-cx.js.map +1 -1
  721. package/build/utils/input/base.js +1 -1
  722. package/build/utils/math.js +19 -7
  723. package/build/utils/math.js.map +1 -1
  724. package/build/utils/reduce-motion.js +2 -1
  725. package/build/utils/reduce-motion.js.map +1 -1
  726. package/build/utils/rtl.js +6 -3
  727. package/build/utils/rtl.js.map +1 -1
  728. package/build/utils/style-mixins.js +12 -12
  729. package/build/utils/types.js +4 -0
  730. package/build/utils/unit-values.js +1 -1
  731. package/build/utils/values.js +10 -6
  732. package/build/utils/values.js.map +1 -1
  733. package/build/v-stack/types.js +4 -0
  734. package/build/z-stack/styles.js +24 -15
  735. package/build/z-stack/styles.js.map +1 -1
  736. package/build-module/alignment-matrix-control/cell.js +6 -5
  737. package/build-module/alignment-matrix-control/cell.js.map +1 -1
  738. package/build-module/alignment-matrix-control/icon.js +9 -8
  739. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  740. package/build-module/alignment-matrix-control/index.js +11 -10
  741. package/build-module/alignment-matrix-control/index.js.map +1 -1
  742. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +8 -6
  743. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
  744. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -6
  745. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  746. package/build-module/alignment-matrix-control/utils.js +2 -1
  747. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  748. package/build-module/angle-picker-control/angle-circle.js +6 -5
  749. package/build-module/angle-picker-control/angle-circle.js.map +1 -1
  750. package/build-module/angle-picker-control/index.js +11 -7
  751. package/build-module/angle-picker-control/index.js.map +1 -1
  752. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
  753. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  754. package/build-module/animate/index.js +6 -5
  755. package/build-module/animate/index.js.map +1 -1
  756. package/build-module/autocomplete/autocompleter-ui.js +13 -12
  757. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  758. package/build-module/autocomplete/autocompleter-ui.native.js +14 -11
  759. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  760. package/build-module/autocomplete/background-view.android.js +4 -3
  761. package/build-module/autocomplete/background-view.android.js.map +1 -1
  762. package/build-module/autocomplete/background-view.ios.js +4 -3
  763. package/build-module/autocomplete/background-view.ios.js.map +1 -1
  764. package/build-module/autocomplete/get-default-use-items.js +3 -1
  765. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  766. package/build-module/autocomplete/index.js +19 -16
  767. package/build-module/autocomplete/index.js.map +1 -1
  768. package/build-module/base-control/index.js +15 -13
  769. package/build-module/base-control/index.js.map +1 -1
  770. package/build-module/base-control/index.native.js +6 -5
  771. package/build-module/base-control/index.native.js.map +1 -1
  772. package/build-module/box-control/all-input-control.js +12 -11
  773. package/build-module/box-control/all-input-control.js.map +1 -1
  774. package/build-module/box-control/axial-input-controls.js +13 -11
  775. package/build-module/box-control/axial-input-controls.js.map +1 -1
  776. package/build-module/box-control/icon.js +8 -6
  777. package/build-module/box-control/icon.js.map +1 -1
  778. package/build-module/box-control/index.js +22 -18
  779. package/build-module/box-control/index.js.map +1 -1
  780. package/build-module/box-control/input-controls.js +17 -14
  781. package/build-module/box-control/input-controls.js.map +1 -1
  782. package/build-module/box-control/linked-button.js +5 -4
  783. package/build-module/box-control/linked-button.js.map +1 -1
  784. package/build-module/box-control/styles/box-control-icon-styles.js +4 -3
  785. package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
  786. package/build-module/box-control/styles/box-control-styles.js +12 -9
  787. package/build-module/box-control/styles/box-control-styles.js.map +1 -1
  788. package/build-module/box-control/styles/box-control-visualizer-styles.js +11 -7
  789. package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
  790. package/build-module/box-control/unit-control.js +22 -18
  791. package/build-module/box-control/unit-control.js.map +1 -1
  792. package/build-module/box-control/utils.js +6 -2
  793. package/build-module/box-control/utils.js.map +1 -1
  794. package/build-module/box-control/visualizer.js +32 -26
  795. package/build-module/box-control/visualizer.js.map +1 -1
  796. package/build-module/button/deprecated.js +8 -7
  797. package/build-module/button/deprecated.js.map +1 -1
  798. package/build-module/button/index.js +10 -9
  799. package/build-module/button/index.js.map +1 -1
  800. package/build-module/button-group/index.js +5 -4
  801. package/build-module/button-group/index.js.map +1 -1
  802. package/build-module/card/card/hook.js +7 -5
  803. package/build-module/card/card/hook.js.map +1 -1
  804. package/build-module/card/types.js +1 -1
  805. package/build-module/checkbox-control/index.js +11 -9
  806. package/build-module/checkbox-control/index.js.map +1 -1
  807. package/build-module/circular-option-picker/index.js +40 -33
  808. package/build-module/circular-option-picker/index.js.map +1 -1
  809. package/build-module/clipboard-button/index.js +9 -8
  810. package/build-module/clipboard-button/index.js.map +1 -1
  811. package/build-module/color-control/index.native.js +8 -7
  812. package/build-module/color-control/index.native.js.map +1 -1
  813. package/build-module/color-edit/index.js +197 -210
  814. package/build-module/color-edit/index.js.map +1 -1
  815. package/build-module/color-edit/styles.js +90 -0
  816. package/build-module/color-edit/styles.js.map +1 -0
  817. package/build-module/color-indicator/index.js +13 -10
  818. package/build-module/color-indicator/index.js.map +1 -1
  819. package/build-module/color-indicator/index.native.js +12 -10
  820. package/build-module/color-indicator/index.native.js.map +1 -1
  821. package/build-module/color-list-picker/index.js +22 -15
  822. package/build-module/color-list-picker/index.js.map +1 -1
  823. package/build-module/color-palette/index.js +101 -30
  824. package/build-module/color-palette/index.js.map +1 -1
  825. package/build-module/color-palette/index.native.js +23 -20
  826. package/build-module/color-palette/index.native.js.map +1 -1
  827. package/build-module/color-palette/styles.js +27 -0
  828. package/build-module/color-palette/styles.js.map +1 -0
  829. package/build-module/color-picker/color-display.js +35 -27
  830. package/build-module/color-picker/color-display.js.map +1 -1
  831. package/build-module/color-picker/color-input.js +7 -6
  832. package/build-module/color-picker/color-input.js.map +1 -1
  833. package/build-module/color-picker/component.js +7 -16
  834. package/build-module/color-picker/component.js.map +1 -1
  835. package/build-module/color-picker/hex-input.js +7 -5
  836. package/build-module/color-picker/hex-input.js.map +1 -1
  837. package/build-module/color-picker/hsl-input.js +6 -5
  838. package/build-module/color-picker/hsl-input.js.map +1 -1
  839. package/build-module/color-picker/index.native.js +23 -20
  840. package/build-module/color-picker/index.native.js.map +1 -1
  841. package/build-module/color-picker/input-with-slider.js +9 -8
  842. package/build-module/color-picker/input-with-slider.js.map +1 -1
  843. package/build-module/color-picker/picker.js +10 -9
  844. package/build-module/color-picker/picker.js.map +1 -1
  845. package/build-module/color-picker/rgb-input.js +6 -5
  846. package/build-module/color-picker/rgb-input.js.map +1 -1
  847. package/build-module/color-picker/types.js +1 -1
  848. package/build-module/combobox-control/index.js +17 -15
  849. package/build-module/combobox-control/index.js.map +1 -1
  850. package/build-module/custom-gradient-bar/control-points.js +118 -106
  851. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  852. package/build-module/custom-gradient-bar/index.js +13 -11
  853. package/build-module/custom-gradient-bar/index.js.map +1 -1
  854. package/build-module/custom-gradient-bar/utils.js +6 -4
  855. package/build-module/custom-gradient-bar/utils.js.map +1 -1
  856. package/build-module/custom-gradient-picker/index.js +17 -14
  857. package/build-module/custom-gradient-picker/index.js.map +1 -1
  858. package/build-module/custom-gradient-picker/index.native.js +6 -5
  859. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  860. package/build-module/custom-gradient-picker/serializer.js +18 -14
  861. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  862. package/build-module/custom-gradient-picker/utils.js +5 -4
  863. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  864. package/build-module/custom-select-control/index.js +22 -18
  865. package/build-module/custom-select-control/index.js.map +1 -1
  866. package/build-module/dashicon/index.js +6 -5
  867. package/build-module/dashicon/index.js.map +1 -1
  868. package/build-module/dashicon/index.native.js +5 -4
  869. package/build-module/dashicon/index.native.js.map +1 -1
  870. package/build-module/dashicon/types.js +1 -1
  871. package/build-module/date-time/date.js +5 -4
  872. package/build-module/date-time/date.js.map +1 -1
  873. package/build-module/date-time/index.js +9 -8
  874. package/build-module/date-time/index.js.map +1 -1
  875. package/build-module/date-time/time.js +14 -11
  876. package/build-module/date-time/time.js.map +1 -1
  877. package/build-module/dimension-control/index.js +10 -7
  878. package/build-module/dimension-control/index.js.map +1 -1
  879. package/build-module/disabled/index.js +8 -6
  880. package/build-module/disabled/index.js.map +1 -1
  881. package/build-module/disabled/index.native.js +4 -3
  882. package/build-module/disabled/index.native.js.map +1 -1
  883. package/build-module/divider/styles.js +7 -5
  884. package/build-module/divider/styles.js.map +1 -1
  885. package/build-module/divider/types.js +1 -1
  886. package/build-module/draggable/index.js +13 -11
  887. package/build-module/draggable/index.js.map +1 -1
  888. package/build-module/drop-zone/index.js +8 -7
  889. package/build-module/drop-zone/index.js.map +1 -1
  890. package/build-module/drop-zone/provider.js +4 -3
  891. package/build-module/drop-zone/provider.js.map +1 -1
  892. package/build-module/dropdown/index.js +14 -13
  893. package/build-module/dropdown/index.js.map +1 -1
  894. package/build-module/dropdown-menu/index.js +9 -5
  895. package/build-module/dropdown-menu/index.js.map +1 -1
  896. package/build-module/dropdown-menu/index.native.js +26 -19
  897. package/build-module/dropdown-menu/index.native.js.map +1 -1
  898. package/build-module/duotone-picker/custom-duotone-bar.js +5 -5
  899. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  900. package/build-module/duotone-picker/duotone-picker.js +16 -13
  901. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  902. package/build-module/duotone-picker/duotone-swatch.js +4 -3
  903. package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
  904. package/build-module/duotone-picker/utils.js +27 -14
  905. package/build-module/duotone-picker/utils.js.map +1 -1
  906. package/build-module/elevation/types.js +1 -1
  907. package/build-module/external-link/index.js +8 -7
  908. package/build-module/external-link/index.js.map +1 -1
  909. package/build-module/external-link/index.native.js +5 -4
  910. package/build-module/external-link/index.native.js.map +1 -1
  911. package/build-module/flex/flex/hook.js +6 -4
  912. package/build-module/flex/flex/hook.js.map +1 -1
  913. package/build-module/flex/types.js +1 -1
  914. package/build-module/flyout/types.js +1 -1
  915. package/build-module/flyout/utils.js +4 -3
  916. package/build-module/flyout/utils.js.map +1 -1
  917. package/build-module/focal-point-picker/controls.js +8 -7
  918. package/build-module/focal-point-picker/controls.js.map +1 -1
  919. package/build-module/focal-point-picker/focal-point.js +8 -7
  920. package/build-module/focal-point-picker/focal-point.js.map +1 -1
  921. package/build-module/focal-point-picker/focal-point.native.js +6 -5
  922. package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
  923. package/build-module/focal-point-picker/grid.js +6 -5
  924. package/build-module/focal-point-picker/grid.js.map +1 -1
  925. package/build-module/focal-point-picker/index.js +2 -1
  926. package/build-module/focal-point-picker/index.js.map +1 -1
  927. package/build-module/focal-point-picker/media.js +19 -16
  928. package/build-module/focal-point-picker/media.js.map +1 -1
  929. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +7 -4
  930. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  931. package/build-module/focal-point-picker/styles/focal-point-style.js +6 -3
  932. package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
  933. package/build-module/focal-point-picker/tooltip/index.native.js +18 -15
  934. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  935. package/build-module/focal-point-picker/utils.js +4 -2
  936. package/build-module/focal-point-picker/utils.js.map +1 -1
  937. package/build-module/focusable-iframe/index.js +5 -4
  938. package/build-module/focusable-iframe/index.js.map +1 -1
  939. package/build-module/font-size-picker/index.js +20 -15
  940. package/build-module/font-size-picker/index.js.map +1 -1
  941. package/build-module/font-size-picker/index.native.js +7 -6
  942. package/build-module/font-size-picker/index.native.js.map +1 -1
  943. package/build-module/font-size-picker/utils.js +19 -15
  944. package/build-module/font-size-picker/utils.js.map +1 -1
  945. package/build-module/footer-message-control/index.native.js +3 -2
  946. package/build-module/footer-message-control/index.native.js.map +1 -1
  947. package/build-module/form-file-upload/index.js +9 -8
  948. package/build-module/form-file-upload/index.js.map +1 -1
  949. package/build-module/form-toggle/index.js +9 -8
  950. package/build-module/form-toggle/index.js.map +1 -1
  951. package/build-module/form-token-field/index.js +8 -2
  952. package/build-module/form-token-field/index.js.map +1 -1
  953. package/build-module/form-token-field/token.js +15 -14
  954. package/build-module/form-token-field/token.js.map +1 -1
  955. package/build-module/gradient-picker/index.js +97 -32
  956. package/build-module/gradient-picker/index.js.map +1 -1
  957. package/build-module/grid/types.js +1 -1
  958. package/build-module/guide/icons.js +16 -13
  959. package/build-module/guide/icons.js.map +1 -1
  960. package/build-module/guide/index.js +9 -8
  961. package/build-module/guide/index.js.map +1 -1
  962. package/build-module/guide/page-control.js +6 -5
  963. package/build-module/guide/page-control.js.map +1 -1
  964. package/build-module/h-stack/types.js +1 -1
  965. package/build-module/h-stack/utils.js +3 -1
  966. package/build-module/h-stack/utils.js.map +1 -1
  967. package/build-module/higher-order/navigate-regions/index.js +19 -13
  968. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  969. package/build-module/higher-order/with-focus-return/index.js +17 -13
  970. package/build-module/higher-order/with-focus-return/index.js.map +1 -1
  971. package/build-module/icon/index.js +7 -5
  972. package/build-module/icon/index.js.map +1 -1
  973. package/build-module/index.native.js +1 -0
  974. package/build-module/index.native.js.map +1 -1
  975. package/build-module/input-control/backdrop.js +5 -4
  976. package/build-module/input-control/backdrop.js.map +1 -1
  977. package/build-module/input-control/index.js +20 -19
  978. package/build-module/input-control/index.js.map +1 -1
  979. package/build-module/input-control/input-base.js +16 -15
  980. package/build-module/input-control/input-base.js.map +1 -1
  981. package/build-module/input-control/input-field.js +24 -23
  982. package/build-module/input-control/input-field.js.map +1 -1
  983. package/build-module/input-control/label.js +7 -6
  984. package/build-module/input-control/label.js.map +1 -1
  985. package/build-module/input-control/reducer/reducer.js +15 -4
  986. package/build-module/input-control/reducer/reducer.js.map +1 -1
  987. package/build-module/input-control/styles/input-control-styles.js +48 -36
  988. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  989. package/build-module/input-control/types.js +1 -1
  990. package/build-module/isolated-event-container/index.js +5 -4
  991. package/build-module/isolated-event-container/index.js.map +1 -1
  992. package/build-module/item-group/types.js +1 -1
  993. package/build-module/keyboard-shortcuts/index.js +15 -13
  994. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  995. package/build-module/menu-items-choice/index.js +7 -6
  996. package/build-module/menu-items-choice/index.js.map +1 -1
  997. package/build-module/mobile/audio-player/index.native.js +8 -7
  998. package/build-module/mobile/audio-player/index.native.js.map +1 -1
  999. package/build-module/mobile/badge/index.native.js +6 -5
  1000. package/build-module/mobile/badge/index.native.js.map +1 -1
  1001. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
  1002. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  1003. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
  1004. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  1005. package/build-module/mobile/bottom-sheet/button.native.js +21 -18
  1006. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  1007. package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
  1008. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  1009. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
  1010. package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
  1011. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
  1012. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  1013. package/build-module/mobile/bottom-sheet/index.native.js +24 -17
  1014. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  1015. package/build-module/mobile/bottom-sheet/link-cell.native.js +9 -7
  1016. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  1017. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
  1018. package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
  1019. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
  1020. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
  1021. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
  1022. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
  1023. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
  1024. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
  1025. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
  1026. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
  1027. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
  1028. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
  1029. package/build-module/mobile/bottom-sheet/range-text-input.native.js +6 -5
  1030. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  1031. package/build-module/mobile/bottom-sheet/ripple.native.js +11 -10
  1032. package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
  1033. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
  1034. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  1035. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
  1036. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
  1037. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
  1038. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  1039. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
  1040. package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
  1041. package/build-module/mobile/bottom-sheet-select-control/index.native.js +8 -7
  1042. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  1043. package/build-module/mobile/bottom-sheet-text-control/index.native.js +9 -8
  1044. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  1045. package/build-module/mobile/color-settings/index.native.js +11 -10
  1046. package/build-module/mobile/color-settings/index.native.js.map +1 -1
  1047. package/build-module/mobile/cycle-select-control/index.native.js +12 -11
  1048. package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
  1049. package/build-module/mobile/focal-point-settings-panel/index.native.js +7 -6
  1050. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  1051. package/build-module/mobile/global-styles-context/utils.native.js +5 -3
  1052. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  1053. package/build-module/mobile/gradient/index.native.js +11 -10
  1054. package/build-module/mobile/gradient/index.native.js.map +1 -1
  1055. package/build-module/mobile/html-text-input/container.android.js +12 -9
  1056. package/build-module/mobile/html-text-input/container.android.js.map +1 -1
  1057. package/build-module/mobile/image/image-editing-button.native.js +26 -22
  1058. package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
  1059. package/build-module/mobile/image/index.native.js +23 -22
  1060. package/build-module/mobile/image/index.native.js.map +1 -1
  1061. package/build-module/mobile/keyboard-avoiding-view/index.ios.js +29 -22
  1062. package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
  1063. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
  1064. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  1065. package/build-module/mobile/layout-animation/index.native.js +2 -1
  1066. package/build-module/mobile/layout-animation/index.native.js.map +1 -1
  1067. package/build-module/mobile/link-picker/index.native.js +12 -10
  1068. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  1069. package/build-module/mobile/link-picker/link-picker-results.native.js +48 -34
  1070. package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
  1071. package/build-module/mobile/link-picker/link-picker-screen.native.js +9 -7
  1072. package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
  1073. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +122 -0
  1074. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  1075. package/build-module/mobile/link-settings/index.native.js +59 -57
  1076. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  1077. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1078. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  1079. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  1080. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  1081. package/build-module/mobile/picker/index.android.js +4 -2
  1082. package/build-module/mobile/picker/index.android.js.map +1 -1
  1083. package/build-module/mobile/picker/index.ios.js +6 -3
  1084. package/build-module/mobile/picker/index.ios.js.map +1 -1
  1085. package/build-module/mobile/readable-content-view/index.native.js +11 -9
  1086. package/build-module/mobile/readable-content-view/index.native.js.map +1 -1
  1087. package/build-module/mobile/segmented-control/index.native.js +16 -14
  1088. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  1089. package/build-module/mobile/utils/index.native.js +2 -1
  1090. package/build-module/mobile/utils/index.native.js.map +1 -1
  1091. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -3
  1092. package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
  1093. package/build-module/modal/index.js +35 -28
  1094. package/build-module/modal/index.js.map +1 -1
  1095. package/build-module/navigable-container/menu.js +7 -5
  1096. package/build-module/navigable-container/menu.js.map +1 -1
  1097. package/build-module/navigable-container/tabbable.js +6 -4
  1098. package/build-module/navigable-container/tabbable.js.map +1 -1
  1099. package/build-module/navigation/back-button/index.js +8 -7
  1100. package/build-module/navigation/back-button/index.js.map +1 -1
  1101. package/build-module/navigation/group/index.js +7 -7
  1102. package/build-module/navigation/group/index.js.map +1 -1
  1103. package/build-module/navigation/index.js +11 -8
  1104. package/build-module/navigation/index.js.map +1 -1
  1105. package/build-module/navigation/menu/menu-title-search.js +16 -31
  1106. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  1107. package/build-module/navigation/menu/menu-title.js +11 -10
  1108. package/build-module/navigation/menu/menu-title.js.map +1 -1
  1109. package/build-module/navigation/menu/search-no-results-found.js +4 -3
  1110. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  1111. package/build-module/navigation/styles/navigation-styles.js +31 -27
  1112. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  1113. package/build-module/navigator/types.js +1 -1
  1114. package/build-module/notice/index.js +26 -24
  1115. package/build-module/notice/index.js.map +1 -1
  1116. package/build-module/notice/index.native.js +7 -6
  1117. package/build-module/notice/index.native.js.map +1 -1
  1118. package/build-module/notice/list.js +8 -6
  1119. package/build-module/notice/list.js.map +1 -1
  1120. package/build-module/number-control/index.js +18 -17
  1121. package/build-module/number-control/index.js.map +1 -1
  1122. package/build-module/number-control/styles/number-control-styles.js +4 -3
  1123. package/build-module/number-control/styles/number-control-styles.js.map +1 -1
  1124. package/build-module/panel/actions.native.js +10 -8
  1125. package/build-module/panel/actions.native.js.map +1 -1
  1126. package/build-module/panel/body.js +19 -17
  1127. package/build-module/panel/body.js.map +1 -1
  1128. package/build-module/panel/body.native.js +7 -6
  1129. package/build-module/panel/body.native.js.map +1 -1
  1130. package/build-module/panel/bottom-separator-cover.native.js +4 -3
  1131. package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
  1132. package/build-module/panel/header.js +5 -4
  1133. package/build-module/panel/header.js.map +1 -1
  1134. package/build-module/panel/index.js +6 -5
  1135. package/build-module/panel/index.js.map +1 -1
  1136. package/build-module/panel/row.js +10 -7
  1137. package/build-module/panel/row.js.map +1 -1
  1138. package/build-module/placeholder/index.js +12 -11
  1139. package/build-module/placeholder/index.js.map +1 -1
  1140. package/build-module/popover/index.js +49 -39
  1141. package/build-module/popover/index.js.map +1 -1
  1142. package/build-module/popover/utils.js +9 -1
  1143. package/build-module/popover/utils.js.map +1 -1
  1144. package/build-module/query-controls/author-select.js +8 -7
  1145. package/build-module/query-controls/author-select.js.map +1 -1
  1146. package/build-module/query-controls/category-select.js +9 -8
  1147. package/build-module/query-controls/category-select.js.map +1 -1
  1148. package/build-module/query-controls/index.js +19 -18
  1149. package/build-module/query-controls/index.js.map +1 -1
  1150. package/build-module/query-controls/index.native.js +14 -13
  1151. package/build-module/query-controls/index.native.js.map +1 -1
  1152. package/build-module/radio/index.js +6 -5
  1153. package/build-module/radio/index.js.map +1 -1
  1154. package/build-module/radio-control/index.js +11 -10
  1155. package/build-module/radio-control/index.js.map +1 -1
  1156. package/build-module/radio-control/index.native.js +7 -6
  1157. package/build-module/radio-control/index.native.js.map +1 -1
  1158. package/build-module/radio-group/index.js +9 -8
  1159. package/build-module/radio-group/index.js.map +1 -1
  1160. package/build-module/range-control/index.js +33 -32
  1161. package/build-module/range-control/index.js.map +1 -1
  1162. package/build-module/range-control/index.native.js +20 -18
  1163. package/build-module/range-control/index.native.js.map +1 -1
  1164. package/build-module/range-control/input-range.js +11 -10
  1165. package/build-module/range-control/input-range.js.map +1 -1
  1166. package/build-module/range-control/mark.js +8 -7
  1167. package/build-module/range-control/mark.js.map +1 -1
  1168. package/build-module/range-control/rail.js +29 -24
  1169. package/build-module/range-control/rail.js.map +1 -1
  1170. package/build-module/range-control/styles/range-control-styles.js +81 -63
  1171. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  1172. package/build-module/range-control/tooltip.js +17 -15
  1173. package/build-module/range-control/tooltip.js.map +1 -1
  1174. package/build-module/range-control/utils.js +15 -13
  1175. package/build-module/range-control/utils.js.map +1 -1
  1176. package/build-module/resizable-box/index.js +9 -8
  1177. package/build-module/resizable-box/index.js.map +1 -1
  1178. package/build-module/resizable-box/resize-tooltip/index.js +13 -12
  1179. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  1180. package/build-module/resizable-box/resize-tooltip/label.js +7 -6
  1181. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  1182. package/build-module/resizable-box/resize-tooltip/utils.js +19 -16
  1183. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  1184. package/build-module/responsive-wrapper/index.js +7 -6
  1185. package/build-module/responsive-wrapper/index.js.map +1 -1
  1186. package/build-module/sandbox/index.js +12 -9
  1187. package/build-module/sandbox/index.js.map +1 -1
  1188. package/build-module/sandbox/index.native.js +15 -13
  1189. package/build-module/sandbox/index.native.js.map +1 -1
  1190. package/build-module/scrollable/types.js +1 -1
  1191. package/build-module/search-control/index.js +44 -22
  1192. package/build-module/search-control/index.js.map +1 -1
  1193. package/build-module/search-control/index.native.js +6 -5
  1194. package/build-module/search-control/index.native.js.map +1 -1
  1195. package/build-module/select-control/index.js +33 -26
  1196. package/build-module/select-control/index.js.map +1 -1
  1197. package/build-module/select-control/index.native.js +12 -11
  1198. package/build-module/select-control/index.native.js.map +1 -1
  1199. package/build-module/select-control/styles/select-control-styles.js +12 -9
  1200. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  1201. package/build-module/select-control/types.js +1 -1
  1202. package/build-module/shortcut/index.js +6 -4
  1203. package/build-module/shortcut/index.js.map +1 -1
  1204. package/build-module/slot-fill/bubbles-virtually/fill.js +5 -4
  1205. package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
  1206. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
  1207. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  1208. package/build-module/slot-fill/bubbles-virtually/slot.js +7 -6
  1209. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  1210. package/build-module/slot-fill/fill.js +17 -13
  1211. package/build-module/slot-fill/fill.js.map +1 -1
  1212. package/build-module/slot-fill/index.js +11 -8
  1213. package/build-module/slot-fill/index.js.map +1 -1
  1214. package/build-module/slot-fill/slot.js +12 -9
  1215. package/build-module/slot-fill/slot.js.map +1 -1
  1216. package/build-module/snackbar/index.js +22 -20
  1217. package/build-module/snackbar/index.js.map +1 -1
  1218. package/build-module/snackbar/list.js +7 -6
  1219. package/build-module/snackbar/list.js.map +1 -1
  1220. package/build-module/spacer/types.js +1 -1
  1221. package/build-module/style-provider/index.js +6 -4
  1222. package/build-module/style-provider/index.js.map +1 -1
  1223. package/build-module/style-provider/index.native.js +4 -3
  1224. package/build-module/style-provider/index.native.js.map +1 -1
  1225. package/build-module/surface/styles.js +7 -6
  1226. package/build-module/surface/styles.js.map +1 -1
  1227. package/build-module/surface/types.js +1 -1
  1228. package/build-module/swatch/index.js +4 -3
  1229. package/build-module/swatch/index.js.map +1 -1
  1230. package/build-module/tab-panel/index.js +26 -22
  1231. package/build-module/tab-panel/index.js.map +1 -1
  1232. package/build-module/text/styles/text-mixins.native.js +3 -1
  1233. package/build-module/text/styles/text-mixins.native.js.map +1 -1
  1234. package/build-module/text/styles.js +7 -7
  1235. package/build-module/text/styles.js.map +1 -1
  1236. package/build-module/text/types.js +1 -1
  1237. package/build-module/text/utils.js +17 -16
  1238. package/build-module/text/utils.js.map +1 -1
  1239. package/build-module/text-control/index.js +13 -12
  1240. package/build-module/text-control/index.js.map +1 -1
  1241. package/build-module/text-control/index.native.js +13 -12
  1242. package/build-module/text-control/index.native.js.map +1 -1
  1243. package/build-module/text-highlight/index.js +5 -4
  1244. package/build-module/text-highlight/index.js.map +1 -1
  1245. package/build-module/textarea-control/index.js +11 -10
  1246. package/build-module/textarea-control/index.js.map +1 -1
  1247. package/build-module/textarea-control/index.native.js +8 -7
  1248. package/build-module/textarea-control/index.native.js.map +1 -1
  1249. package/build-module/toggle-control/index.js +10 -8
  1250. package/build-module/toggle-control/index.js.map +1 -1
  1251. package/build-module/toggle-control/index.native.js +10 -9
  1252. package/build-module/toggle-control/index.native.js.map +1 -1
  1253. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
  1254. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
  1255. package/build-module/toggle-group-control/types.js +1 -1
  1256. package/build-module/toolbar/index.js +7 -5
  1257. package/build-module/toolbar/index.js.map +1 -1
  1258. package/build-module/toolbar/toolbar-container.js +5 -4
  1259. package/build-module/toolbar/toolbar-container.js.map +1 -1
  1260. package/build-module/toolbar/toolbar-container.native.js +6 -3
  1261. package/build-module/toolbar/toolbar-container.native.js.map +1 -1
  1262. package/build-module/toolbar-button/index.js +11 -10
  1263. package/build-module/toolbar-button/index.js.map +1 -1
  1264. package/build-module/toolbar-group/index.js +9 -8
  1265. package/build-module/toolbar-group/index.js.map +1 -1
  1266. package/build-module/toolbar-group/toolbar-group-collapsed.js +6 -5
  1267. package/build-module/toolbar-group/toolbar-group-collapsed.js.map +1 -1
  1268. package/build-module/toolbar-group/toolbar-group-collapsed.native.js +7 -6
  1269. package/build-module/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
  1270. package/build-module/toolbar-group/toolbar-group-container.js +10 -7
  1271. package/build-module/toolbar-group/toolbar-group-container.js.map +1 -1
  1272. package/build-module/toolbar-group/toolbar-group-container.native.js +10 -7
  1273. package/build-module/toolbar-group/toolbar-group-container.native.js.map +1 -1
  1274. package/build-module/toolbar-item/index.js +6 -5
  1275. package/build-module/toolbar-item/index.js.map +1 -1
  1276. package/build-module/toolbar-item/index.native.js +6 -4
  1277. package/build-module/toolbar-item/index.native.js.map +1 -1
  1278. package/build-module/tools-panel/styles.js +16 -23
  1279. package/build-module/tools-panel/styles.js.map +1 -1
  1280. package/build-module/tools-panel/tools-panel/component.js +10 -6
  1281. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  1282. package/build-module/tools-panel/tools-panel/hook.js +19 -12
  1283. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  1284. package/build-module/tools-panel/tools-panel-header/component.js +41 -29
  1285. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  1286. package/build-module/tools-panel/types.js +1 -1
  1287. package/build-module/tooltip/index.js +52 -41
  1288. package/build-module/tooltip/index.js.map +1 -1
  1289. package/build-module/tooltip/index.native.js +16 -13
  1290. package/build-module/tooltip/index.native.js.map +1 -1
  1291. package/build-module/tree-grid/cell.js +6 -5
  1292. package/build-module/tree-grid/cell.js.map +1 -1
  1293. package/build-module/tree-grid/index.js +7 -6
  1294. package/build-module/tree-grid/index.js.map +1 -1
  1295. package/build-module/tree-grid/item.js +5 -4
  1296. package/build-module/tree-grid/item.js.map +1 -1
  1297. package/build-module/tree-grid/roving-tab-index-item.js +6 -5
  1298. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  1299. package/build-module/tree-grid/roving-tab-index.js +4 -3
  1300. package/build-module/tree-grid/roving-tab-index.js.map +1 -1
  1301. package/build-module/tree-grid/row.js +9 -8
  1302. package/build-module/tree-grid/row.js.map +1 -1
  1303. package/build-module/tree-select/index.js +11 -9
  1304. package/build-module/tree-select/index.js.map +1 -1
  1305. package/build-module/truncate/types.js +1 -1
  1306. package/build-module/truncate/utils.js +3 -1
  1307. package/build-module/truncate/utils.js.map +1 -1
  1308. package/build-module/ui/__storybook-utils/example-grid.js +40 -30
  1309. package/build-module/ui/__storybook-utils/example-grid.js.map +1 -1
  1310. package/build-module/ui/__storybook-utils/page.js +5 -4
  1311. package/build-module/ui/__storybook-utils/page.js.map +1 -1
  1312. package/build-module/ui/context/context-connect.js +3 -1
  1313. package/build-module/ui/context/context-connect.js.map +1 -1
  1314. package/build-module/ui/context/context-system-provider.js +9 -7
  1315. package/build-module/ui/context/context-system-provider.js.map +1 -1
  1316. package/build-module/ui/context/wordpress-component.js +1 -1
  1317. package/build-module/ui/control-group/types.js +1 -1
  1318. package/build-module/ui/control-label/types.js +1 -1
  1319. package/build-module/ui/form-group/form-group-content.js +13 -12
  1320. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  1321. package/build-module/ui/form-group/form-group-help.js +4 -3
  1322. package/build-module/ui/form-group/form-group-help.js.map +1 -1
  1323. package/build-module/ui/form-group/form-group-label.js +7 -6
  1324. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  1325. package/build-module/ui/form-group/types.js +1 -1
  1326. package/build-module/ui/tooltip/types.js +1 -1
  1327. package/build-module/ui/utils/font-size.js +6 -2
  1328. package/build-module/ui/utils/font-size.js.map +1 -1
  1329. package/build-module/ui/utils/get-high-dpi.js +5 -1
  1330. package/build-module/ui/utils/get-high-dpi.js.map +1 -1
  1331. package/build-module/ui/utils/types.js +1 -1
  1332. package/build-module/ui/utils/use-responsive-value.js +4 -2
  1333. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  1334. package/build-module/unit-control/index.js +20 -19
  1335. package/build-module/unit-control/index.js.map +1 -1
  1336. package/build-module/unit-control/index.native.js +16 -15
  1337. package/build-module/unit-control/index.native.js.map +1 -1
  1338. package/build-module/unit-control/styles/unit-control-styles.js +12 -9
  1339. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  1340. package/build-module/unit-control/types.js +1 -1
  1341. package/build-module/unit-control/unit-select-control.js +11 -9
  1342. package/build-module/unit-control/unit-select-control.js.map +1 -1
  1343. package/build-module/unit-control/utils.js +14 -8
  1344. package/build-module/unit-control/utils.js.map +1 -1
  1345. package/build-module/utils/browsers.js +10 -2
  1346. package/build-module/utils/browsers.js.map +1 -1
  1347. package/build-module/utils/colors.js +3 -1
  1348. package/build-module/utils/colors.js.map +1 -1
  1349. package/build-module/utils/hooks/emotion.d.js +1 -1
  1350. package/build-module/utils/hooks/index.js +1 -0
  1351. package/build-module/utils/hooks/index.js.map +1 -1
  1352. package/build-module/utils/hooks/use-combined-ref.js +29 -0
  1353. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  1354. package/build-module/utils/hooks/use-controlled-state.js +2 -1
  1355. package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
  1356. package/build-module/utils/hooks/use-controlled-value.js +6 -5
  1357. package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
  1358. package/build-module/utils/hooks/use-cx.js +5 -1
  1359. package/build-module/utils/hooks/use-cx.js.map +1 -1
  1360. package/build-module/utils/math.js +17 -5
  1361. package/build-module/utils/math.js.map +1 -1
  1362. package/build-module/utils/reduce-motion.js +2 -1
  1363. package/build-module/utils/reduce-motion.js.map +1 -1
  1364. package/build-module/utils/rtl.js +5 -2
  1365. package/build-module/utils/rtl.js.map +1 -1
  1366. package/build-module/utils/types.js +1 -1
  1367. package/build-module/utils/values.js +9 -5
  1368. package/build-module/utils/values.js.map +1 -1
  1369. package/build-module/v-stack/types.js +1 -1
  1370. package/build-module/z-stack/styles.js +23 -14
  1371. package/build-module/z-stack/styles.js.map +1 -1
  1372. package/build-style/style-rtl.css +39 -51
  1373. package/build-style/style.css +39 -51
  1374. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  1375. package/build-types/tools-panel/styles.d.ts +1 -1
  1376. package/build-types/tools-panel/styles.d.ts.map +1 -1
  1377. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  1378. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  1379. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  1380. package/build-types/utils/hooks/index.d.ts +1 -0
  1381. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  1382. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  1383. package/package.json +16 -16
  1384. package/src/angle-picker-control/index.js +3 -1
  1385. package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
  1386. package/src/base-control/index.js +1 -1
  1387. package/src/circular-option-picker/style.scss +3 -5
  1388. package/src/color-edit/index.js +248 -274
  1389. package/src/color-edit/style.scss +4 -45
  1390. package/src/color-edit/styles.js +97 -0
  1391. package/src/color-list-picker/index.js +5 -0
  1392. package/src/color-list-picker/style.scss +4 -0
  1393. package/src/color-palette/index.js +90 -26
  1394. package/src/color-palette/style.scss +18 -0
  1395. package/src/color-palette/styles.js +19 -0
  1396. package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
  1397. package/src/color-picker/component.tsx +6 -17
  1398. package/src/color-picker/picker.tsx +6 -4
  1399. package/src/color-picker/test/index.js +0 -15
  1400. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  1401. package/src/duotone-picker/duotone-picker.js +1 -0
  1402. package/src/gradient-picker/index.js +79 -11
  1403. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  1404. package/src/index.native.js +1 -0
  1405. package/src/mobile/bottom-sheet/cell.native.js +7 -2
  1406. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  1407. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  1408. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  1409. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
  1410. package/src/mobile/global-styles-context/utils.native.js +1 -1
  1411. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  1412. package/src/mobile/link-settings/index.native.js +3 -2
  1413. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1414. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  1415. package/src/mobile/link-settings/style.native.scss +17 -0
  1416. package/src/mobile/picker/index.android.js +2 -1
  1417. package/src/modal/README.md +8 -0
  1418. package/src/modal/index.js +60 -45
  1419. package/src/modal/style.scss +5 -0
  1420. package/src/navigation/group/index.js +1 -2
  1421. package/src/navigation/menu/menu-title-search.js +11 -26
  1422. package/src/navigation/menu/menu-title.js +4 -4
  1423. package/src/navigation/styles/navigation-styles.js +29 -52
  1424. package/src/popover/index.js +2 -2
  1425. package/src/range-control/styles/range-control-styles.js +4 -1
  1426. package/src/resizable-box/style.scss +5 -0
  1427. package/src/search-control/index.js +47 -23
  1428. package/src/style.scss +1 -0
  1429. package/src/text/styles.js +1 -1
  1430. package/src/text/test/__snapshots__/index.js.snap +2 -2
  1431. package/src/tools-panel/stories/index.js +21 -19
  1432. package/src/tools-panel/styles.ts +18 -26
  1433. package/src/tools-panel/tools-panel/component.tsx +7 -4
  1434. package/src/tools-panel/tools-panel/hook.ts +4 -1
  1435. package/src/tools-panel/tools-panel-header/component.tsx +1 -0
  1436. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  1437. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  1438. package/src/utils/hooks/index.js +1 -0
  1439. package/src/utils/hooks/use-combined-ref.ts +29 -0
  1440. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/sandbox/index.js"],"names":["observeAndResizeJS","style","Sandbox","html","title","type","styles","scripts","onFocus","ref","width","setWidth","height","setHeight","isFrameAccessible","current","contentDocument","body","e","trySandbox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","rules","i","src","open","write","close","tryNoForceSandbox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","action","defaultView","addEventListener","removeEventListener","Math","ceil"],"mappings":";;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;AASA,MAAMA,kBAAkB,GAAI;AAC5B;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,OAzDA;AA2DA,MAAMC,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CArBA;;AAuBe,SAASC,OAAT,CAAkB;AAChCC,EAAAA,IAAI,GAAG,EADyB;AAEhCC,EAAAA,KAAK,GAAG,EAFwB;AAGhCC,EAAAA,IAHgC;AAIhCC,EAAAA,MAAM,GAAG,EAJuB;AAKhCC,EAAAA,OAAO,GAAG,EALsB;AAMhCC,EAAAA;AANgC,CAAlB,EAOX;AACH,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,KAAF,EAASC,QAAT,IAAsB,uBAAU,CAAV,CAA5B;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;;AAEA,WAASC,iBAAT,GAA6B;AAC5B,QAAI;AACH,aAAO,CAAC,CAAEL,GAAG,CAACM,OAAJ,CAAYC,eAAZ,CAA4BC,IAAtC;AACA,KAFD,CAEE,OAAQC,CAAR,EAAY;AACb,aAAO,KAAP;AACA;AACD;;AAED,WAASC,UAAT,CAAqBC,aAAa,GAAG,KAArC,EAA6C;AAC5C,QAAK,CAAEN,iBAAiB,EAAxB,EAA6B;AAC5B;AACA;;AAED,UAAM;AAAEE,MAAAA,eAAF;AAAmBK,MAAAA;AAAnB,QAAqCZ,GAAG,CAACM,OAA/C;AACA,UAAM;AAAEE,MAAAA;AAAF,QAAWD,eAAjB;;AAEA,QACC,CAAEI,aAAF,IACA,SAASH,IAAI,CAACK,YAAL,CAAmB,iCAAnB,CAFV,EAGE;AACD;AACA,KAb2C,CAe5C;AACA;AACA;AACA;;;AACA,UAAMC,OAAO,GACZ;AACC,MAAA,IAAI,EAAGF,aAAa,CAACG,eAAd,CAA8BC,IADtC;AAEC,MAAA,SAAS,EAAGpB;AAFb,OAIC,0CACC,2CAASD,KAAT,CADD,EAEC;AAAO,MAAA,uBAAuB,EAAG;AAAEsB,QAAAA,MAAM,EAAEzB;AAAV;AAAjC,MAFD,EAGGK,MAAM,CAACqB,GAAP,CAAY,CAAEC,KAAF,EAASC,CAAT,KACb;AACC,MAAA,GAAG,EAAGA,CADP;AAEC,MAAA,uBAAuB,EAAG;AAAEH,QAAAA,MAAM,EAAEE;AAAV;AAF3B,MADC,CAHH,CAJD,EAcC;AACC,yCAAgC,iCADjC;AAEC,MAAA,SAAS,EAAGvB;AAFb,OAIC;AAAK,MAAA,uBAAuB,EAAG;AAAEqB,QAAAA,MAAM,EAAEvB;AAAV;AAA/B,MAJD,EAKC;AACC,MAAA,IAAI,EAAC,iBADN;AAEC,MAAA,uBAAuB,EAAG;AACzBuB,QAAAA,MAAM,EAAE1B;AADiB;AAF3B,MALD,EAWGO,OAAO,CAACoB,GAAR,CAAeG,GAAF,IACd;AAAQ,MAAA,GAAG,EAAGA,GAAd;AAAoB,MAAA,GAAG,EAAGA;AAA1B,MADC,CAXH,CAdD,CADD,CAnB4C,CAoD5C;AACA;AACA;;AACAd,IAAAA,eAAe,CAACe,IAAhB;AACAf,IAAAA,eAAe,CAACgB,KAAhB,CAAuB,oBAAoB,6BAAgBT,OAAhB,CAA3C;AACAP,IAAAA,eAAe,CAACiB,KAAhB;AACA;;AAED,0BAAW,MAAM;AAChBd,IAAAA,UAAU;;AAEV,aAASe,iBAAT,GAA6B;AAC5Bf,MAAAA,UAAU,CAAE,KAAF,CAAV;AACA;;AAED,aAASgB,qBAAT,CAAgCC,KAAhC,EAAwC;AACvC,YAAMC,MAAM,GAAG5B,GAAG,CAACM,OAAnB,CADuC,CAGvC;;AACA,UAAK,CAAEsB,MAAF,IAAYA,MAAM,CAACC,aAAP,KAAyBF,KAAK,CAACG,MAAhD,EAAyD;AACxD;AACA,OANsC,CAQvC;;;AACA,UAAIC,IAAI,GAAGJ,KAAK,CAACI,IAAN,IAAc,EAAzB;;AAEA,UAAK,aAAa,OAAOA,IAAzB,EAAgC;AAC/B,YAAI;AACHA,UAAAA,IAAI,GAAGC,IAAI,CAACC,KAAL,CAAYF,IAAZ,CAAP;AACA,SAFD,CAEE,OAAQtB,CAAR,EAAY,CAAE;AAChB,OAfsC,CAiBvC;AACA;;;AACA,UAAK,aAAasB,IAAI,CAACG,MAAvB,EAAgC;AAC/B;AACA;;AAEDhC,MAAAA,QAAQ,CAAE6B,IAAI,CAAC9B,KAAP,CAAR;AACAG,MAAAA,SAAS,CAAE2B,IAAI,CAAC5B,MAAP,CAAT;AACA;;AAED,UAAM;AAAES,MAAAA;AAAF,QAAoBZ,GAAG,CAACM,OAA9B;AACA,UAAM;AAAE6B,MAAAA;AAAF,QAAkBvB,aAAxB,CAnCgB,CAqChB;AACA;AACA;AACA;;AACAZ,IAAAA,GAAG,CAACM,OAAJ,CAAY8B,gBAAZ,CAA8B,MAA9B,EAAsCX,iBAAtC,EAAyD,KAAzD;AACAU,IAAAA,WAAW,CAACC,gBAAZ,CAA8B,SAA9B,EAAyCV,qBAAzC;AAEA,WAAO,MAAM;AAAA;;AACZ,sBAAA1B,GAAG,CAACM,OAAJ,8DAAa+B,mBAAb,CACC,MADD,EAECZ,iBAFD,EAGC,KAHD;AAKAU,MAAAA,WAAW,CAACC,gBAAZ,CAA8B,SAA9B,EAAyCV,qBAAzC;AACA,KAPD;AAQA,GApDD,EAoDG,EApDH;AAsDA,0BAAW,MAAM;AAChBhB,IAAAA,UAAU;AACV,GAFD,EAEG,CAAEf,KAAF,EAASC,IAAT,EAAeC,MAAf,EAAuBC,OAAvB,CAFH;AAIA,0BAAW,MAAM;AAChBY,IAAAA,UAAU,CAAE,IAAF,CAAV;AACA,GAFD,EAEG,CAAEhB,IAAF,CAFH;AAIA,SACC;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEM,GAAF,EAAO,kCAAP,CAAd,CADP;AAEC,IAAA,KAAK,EAAGL,KAFT;AAGC,IAAA,SAAS,EAAC,oBAHX;AAIC,IAAA,OAAO,EAAC,oDAJT;AAKC,IAAA,OAAO,EAAGI,OALX;AAMC,IAAA,KAAK,EAAGuC,IAAI,CAACC,IAAL,CAAWtC,KAAX,CANT;AAOC,IAAA,MAAM,EAAGqC,IAAI,CAACC,IAAL,CAAWpC,MAAX;AAPV,IADD;AAWA","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\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\twindow.parent.postMessage( {\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}\n\n\t\tobserver = 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( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\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( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\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} )();`;\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\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\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\nexport default function Sandbox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n} ) {\n\tconst ref = useRef();\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 } = ref.current;\n\t\tconst { body } = contentDocument;\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !== body.getAttribute( 'data-resizable-iframe-connected' )\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,\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 ) {\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 { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\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\tref.current.addEventListener( 'load', tryNoForceSandbox, false );\n\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tref.current?.removeEventListener(\n\t\t\t\t'load',\n\t\t\t\ttryNoForceSandbox,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandbox();\n\t}, [ title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandbox( true );\n\t}, [ html ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/sandbox/index.js"],"names":["observeAndResizeJS","style","Sandbox","html","title","type","styles","scripts","onFocus","ref","width","setWidth","height","setHeight","isFrameAccessible","current","contentDocument","body","e","trySandbox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","rules","i","src","open","write","close","tryNoForceSandbox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","action","defaultView","addEventListener","removeEventListener","Math","ceil"],"mappings":"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","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\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\twindow.parent.postMessage( {\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}\n\n\t\tobserver = 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( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\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( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\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} )();`;\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\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\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\nexport default function Sandbox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n} ) {\n\tconst ref = useRef();\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 } = ref.current;\n\t\tconst { body } = contentDocument;\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !== body.getAttribute( 'data-resizable-iframe-connected' )\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,\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 ) {\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 { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\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\tref.current.addEventListener( 'load', tryNoForceSandbox, false );\n\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tref.current?.removeEventListener(\n\t\t\t\t'load',\n\t\t\t\ttryNoForceSandbox,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandbox();\n\t}, [ title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandbox( true );\n\t}, [ html ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\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"]}
@@ -157,18 +157,19 @@ const style = `
157
157
  `;
158
158
  const EMPTY_ARRAY = [];
159
159
 
160
- function Sandbox({
161
- containerStyle,
162
- customJS,
163
- html = '',
164
- lang = 'en',
165
- providerUrl = '',
166
- scripts = EMPTY_ARRAY,
167
- styles = EMPTY_ARRAY,
168
- title = '',
169
- type,
170
- url
171
- }) {
160
+ function Sandbox(_ref) {
161
+ let {
162
+ containerStyle,
163
+ customJS,
164
+ html = '',
165
+ lang = 'en',
166
+ providerUrl = '',
167
+ scripts = EMPTY_ARRAY,
168
+ styles = EMPTY_ARRAY,
169
+ title = '',
170
+ type,
171
+ url
172
+ } = _ref;
172
173
  const colorScheme = (0, _compose.usePreferredColorScheme)();
173
174
  const ref = (0, _element.useRef)();
174
175
  const [height, setHeight] = (0, _element.useState)(0);
@@ -225,7 +226,8 @@ function Sandbox({
225
226
  return '<!DOCTYPE html>' + (0, _element.renderToString)(htmlDoc);
226
227
  }
227
228
 
228
- function updateContentHtml(forceRerender = false) {
229
+ function updateContentHtml() {
230
+ let forceRerender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
229
231
  const newContentHtml = getHtmlDoc();
230
232
 
231
233
  if (forceRerender && contentHtml === newContentHtml) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","addEventListener","removeEventListener","current","sandboxStyles","baseUrl"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAYA;;AAKA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;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,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;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,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,CAAkB;AACjBC,EAAAA,cADiB;AAEjBC,EAAAA,QAFiB;AAGjBC,EAAAA,IAAI,GAAG,EAHU;AAIjBC,EAAAA,IAAI,GAAG,IAJU;AAKjBC,EAAAA,WAAW,GAAG,EALG;AAMjBC,EAAAA,OAAO,GAAGP,WANO;AAOjBQ,EAAAA,MAAM,GAAGR,WAPQ;AAQjBS,EAAAA,KAAK,GAAG,EARS;AASjBC,EAAAA,IATiB;AAUjBC,EAAAA;AAViB,CAAlB,EAWI;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM,CA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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, Platform } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\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\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar 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 window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = 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( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\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( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\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} )();`;\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://git.io/JEFcX) 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\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\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\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\"\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<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: customJS || observeAndResizeJS,\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\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\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 checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\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\tuseEffect( () => {\n\t\tDimensions.addEventListener( 'change', onChangeDimensions );\n\t\treturn () => {\n\t\t\tDimensions.removeEventListener( 'change', onChangeDimensions );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\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\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] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nexport default memo( Sandbox );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","addEventListener","removeEventListener","current","sandboxStyles","baseUrl"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAYA;;AAKA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;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,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;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,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,OAWI;AAAA,MAXc;AACjBC,IAAAA,cADiB;AAEjBC,IAAAA,QAFiB;AAGjBC,IAAAA,IAAI,GAAG,EAHU;AAIjBC,IAAAA,IAAI,GAAG,IAJU;AAKjBC,IAAAA,WAAW,GAAG,EALG;AAMjBC,IAAAA,OAAO,GAAGP,WANO;AAOjBQ,IAAAA,MAAM,GAAGR,WAPQ;AAQjBS,IAAAA,KAAK,GAAG,EARS;AASjBC,IAAAA,IATiB;AAUjBC,IAAAA;AAViB,GAWd;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, Platform } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\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\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar 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 window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = 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( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\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( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\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} )();`;\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://git.io/JEFcX) 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\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\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\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\"\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<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: customJS || observeAndResizeJS,\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\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\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 checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\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\tuseEffect( () => {\n\t\tDimensions.addEventListener( 'change', onChangeDimensions );\n\t\treturn () => {\n\t\t\tDimensions.removeEventListener( 'change', onChangeDimensions );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\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\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] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nexport default memo( Sandbox );\n"]}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -15,6 +13,10 @@ var styles = _interopRequireWildcard(require("./styles"));
15
13
 
16
14
  var _useCx = require("../utils/hooks/use-cx");
17
15
 
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
18
20
  /**
19
21
  * WordPress dependencies
20
22
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/scrollable/hook.js"],"names":["useScrollable","props","className","scrollDirection","smoothScroll","otherProps","cx","classes","styles","Scrollable","scrollableScrollbar","scrollX","scrollY","scrollAuto"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;;AACA;AACA;AACA;;AACA;AACO,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,eAAe,GAAG,GAFb;AAGLC,IAAAA,YAAY,GAAG,KAHV;AAIL,OAAGC;AAJE,MAKF,+BAAkBJ,KAAlB,EAAyB,YAAzB,CALJ;AAOA,QAAMK,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDE,MAAM,CAACC,UADN,EAEDD,MAAM,CAACE,mBAFN,EAGDN,YAAY,IAAII,MAAM,CAACJ,YAHtB,EAIDD,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACG,OAJjC,EAKDR,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACI,OALjC,EAMDT,eAAe,KAAK,MAApB,IAA8BK,MAAM,CAACK,UANpC,EAODX,SAPC,CAFY,EAWf,CAAEA,SAAF,EAAaC,eAAb,EAA8BC,YAA9B,CAXe,CAAhB;AAcA,SAAO,EAAE,GAAGC,UAAL;AAAiBH,IAAAA,SAAS,EAAEK;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\n/* eslint-enable jsdoc/valid-types */\nexport function useScrollable( props ) {\n\tconst {\n\t\tclassName,\n\t\tscrollDirection = 'y',\n\t\tsmoothScroll = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Scrollable' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.Scrollable,\n\t\t\t\tstyles.scrollableScrollbar,\n\t\t\t\tsmoothScroll && styles.smoothScroll,\n\t\t\t\tscrollDirection === 'x' && styles.scrollX,\n\t\t\t\tscrollDirection === 'y' && styles.scrollY,\n\t\t\t\tscrollDirection === 'auto' && styles.scrollAuto,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, scrollDirection, smoothScroll ]\n\t);\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/scrollable/hook.js"],"names":["useScrollable","props","className","scrollDirection","smoothScroll","otherProps","cx","classes","styles","Scrollable","scrollableScrollbar","scrollX","scrollY","scrollAuto"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;;;;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;;AACA;AACA;AACA;;AACA;AACO,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,eAAe,GAAG,GAFb;AAGLC,IAAAA,YAAY,GAAG,KAHV;AAIL,OAAGC;AAJE,MAKF,+BAAkBJ,KAAlB,EAAyB,YAAzB,CALJ;AAOA,QAAMK,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDE,MAAM,CAACC,UADN,EAEDD,MAAM,CAACE,mBAFN,EAGDN,YAAY,IAAII,MAAM,CAACJ,YAHtB,EAIDD,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACG,OAJjC,EAKDR,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACI,OALjC,EAMDT,eAAe,KAAK,MAApB,IAA8BK,MAAM,CAACK,UANpC,EAODX,SAPC,CAFY,EAWf,CAAEA,SAAF,EAAaC,eAAb,EAA8BC,YAA9B,CAXe,CAAhB;AAcA,SAAO,EAAE,GAAGC,UAAL;AAAiBH,IAAAA,SAAS,EAAEK;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\n/* eslint-enable jsdoc/valid-types */\nexport function useScrollable( props ) {\n\tconst {\n\t\tclassName,\n\t\tscrollDirection = 'y',\n\t\tsmoothScroll = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Scrollable' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.Scrollable,\n\t\t\t\tstyles.scrollableScrollbar,\n\t\t\t\tsmoothScroll && styles.smoothScroll,\n\t\t\t\tscrollDirection === 'x' && styles.scrollX,\n\t\t\t\tscrollDirection === 'y' && styles.scrollY,\n\t\t\t\tscrollDirection === 'auto' && styles.scrollAuto,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, scrollDirection, smoothScroll ]\n\t);\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.scrollAuto = exports.scrollY = exports.scrollX = exports.smoothScroll = exports.Content = exports.Scrollable = exports.scrollableScrollbar = void 0;
6
+ exports.smoothScroll = exports.scrollableScrollbar = exports.scrollY = exports.scrollX = exports.scrollAuto = exports.Scrollable = exports.Content = void 0;
7
7
 
8
8
  var _react = require("@emotion/react");
9
9
 
@@ -1,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=types.js.map
@@ -21,6 +21,8 @@ var _ = require("../");
21
21
 
22
22
  var _baseControl = _interopRequireDefault(require("../base-control"));
23
23
 
24
+ var _utils = require("../utils");
25
+
24
26
  /**
25
27
  * External dependencies
26
28
  */
@@ -32,18 +34,47 @@ var _baseControl = _interopRequireDefault(require("../base-control"));
32
34
  /**
33
35
  * Internal dependencies
34
36
  */
35
- function SearchControl({
36
- className,
37
- onChange,
38
- value,
39
- label,
40
- placeholder = (0, _i18n.__)('Search'),
41
- hideLabelFromVision = true,
42
- help
43
- }) {
37
+ function SearchControl(_ref, ref) {
38
+ let {
39
+ className,
40
+ onChange,
41
+ onKeyDown,
42
+ value,
43
+ label,
44
+ placeholder = (0, _i18n.__)('Search'),
45
+ hideLabelFromVision = true,
46
+ help,
47
+ onClose
48
+ } = _ref;
44
49
  const instanceId = (0, _compose.useInstanceId)(SearchControl);
45
- const searchInput = (0, _element.useRef)();
50
+ const searchInput = (0, _utils.useCombinedRef)(ref);
46
51
  const id = `components-search-control-${instanceId}`;
52
+
53
+ const renderRightButton = () => {
54
+ if (onClose) {
55
+ return (0, _element.createElement)(_.Button, {
56
+ icon: _icons.closeSmall,
57
+ label: (0, _i18n.__)('Close search'),
58
+ onClick: onClose
59
+ });
60
+ }
61
+
62
+ if (!!value) {
63
+ return (0, _element.createElement)(_.Button, {
64
+ icon: _icons.closeSmall,
65
+ label: (0, _i18n.__)('Reset search'),
66
+ onClick: () => {
67
+ onChange('');
68
+ searchInput.current.focus();
69
+ }
70
+ });
71
+ }
72
+
73
+ return (0, _element.createElement)(_icons.Icon, {
74
+ icon: _icons.search
75
+ });
76
+ };
77
+
47
78
  return (0, _element.createElement)(_baseControl.default, {
48
79
  label: label,
49
80
  id: id,
@@ -59,22 +90,15 @@ function SearchControl({
59
90
  type: "search",
60
91
  placeholder: placeholder,
61
92
  onChange: event => onChange(event.target.value),
93
+ onKeyDown: onKeyDown,
62
94
  autoComplete: "off",
63
95
  value: value || ''
64
96
  }), (0, _element.createElement)("div", {
65
97
  className: "components-search-control__icon"
66
- }, !!value && (0, _element.createElement)(_.Button, {
67
- icon: _icons.closeSmall,
68
- label: (0, _i18n.__)('Reset search'),
69
- onClick: () => {
70
- onChange('');
71
- searchInput.current.focus();
72
- }
73
- }), !value && (0, _element.createElement)(_icons.Icon, {
74
- icon: _icons.search
75
- }))));
98
+ }, renderRightButton())));
76
99
  }
77
100
 
78
- var _default = SearchControl;
101
+ var _default = (0, _element.forwardRef)(SearchControl);
102
+
79
103
  exports.default = _default;
80
104
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/search-control/index.js"],"names":["SearchControl","className","onChange","value","label","placeholder","hideLabelFromVision","help","instanceId","searchInput","id","event","target","closeSmall","current","focus","search"],"mappings":";;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAIA,SAASA,aAAT,CAAwB;AACvBC,EAAAA,SADuB;AAEvBC,EAAAA,QAFuB;AAGvBC,EAAAA,KAHuB;AAIvBC,EAAAA,KAJuB;AAKvBC,EAAAA,WAAW,GAAG,cAAI,QAAJ,CALS;AAMvBC,EAAAA,mBAAmB,GAAG,IANC;AAOvBC,EAAAA;AAPuB,CAAxB,EAQI;AACH,QAAMC,UAAU,GAAG,4BAAeR,aAAf,CAAnB;AACA,QAAMS,WAAW,GAAG,sBAApB;AACA,QAAMC,EAAE,GAAI,6BAA6BF,UAAY,EAArD;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGJ,KADT;AAEC,IAAA,EAAE,EAAGM,EAFN;AAGC,IAAA,mBAAmB,EAAGJ,mBAHvB;AAIC,IAAA,IAAI,EAAGC,IAJR;AAKC,IAAA,SAAS,EAAG,yBAAYN,SAAZ,EAAuB,2BAAvB;AALb,KAOC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AACC,IAAA,GAAG,EAAGQ,WADP;AAEC,IAAA,SAAS,EAAC,kCAFX;AAGC,IAAA,EAAE,EAAGC,EAHN;AAIC,IAAA,IAAI,EAAC,QAJN;AAKC,IAAA,WAAW,EAAGL,WALf;AAMC,IAAA,QAAQ,EAAKM,KAAF,IAAaT,QAAQ,CAAES,KAAK,CAACC,MAAN,CAAaT,KAAf,CANjC;AAOC,IAAA,YAAY,EAAC,KAPd;AAQC,IAAA,KAAK,EAAGA,KAAK,IAAI;AARlB,IADD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,CAAC,CAAEA,KAAH,IACD,4BAAC,QAAD;AACC,IAAA,IAAI,EAAGU,iBADR;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAM;AACfX,MAAAA,QAAQ,CAAE,EAAF,CAAR;AACAO,MAAAA,WAAW,CAACK,OAAZ,CAAoBC,KAApB;AACA;AANF,IAFF,EAWG,CAAEZ,KAAF,IAAW,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGa;AAAb,IAXd,CAXD,CAPD,CADD;AAmCA;;eAEchB,a","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, search, closeSmall } from '@wordpress/icons';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Button } from '../';\nimport BaseControl from '../base-control';\n\nfunction SearchControl( {\n\tclassName,\n\tonChange,\n\tvalue,\n\tlabel,\n\tplaceholder = __( 'Search' ),\n\thideLabelFromVision = true,\n\thelp,\n} ) {\n\tconst instanceId = useInstanceId( SearchControl );\n\tconst searchInput = useRef();\n\tconst id = `components-search-control-${ instanceId }`;\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( className, 'components-search-control' ) }\n\t\t>\n\t\t\t<div className=\"components-search-control__input-wrapper\">\n\t\t\t\t<input\n\t\t\t\t\tref={ searchInput }\n\t\t\t\t\tclassName=\"components-search-control__input\"\n\t\t\t\t\tid={ id }\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t/>\n\t\t\t\t<div className=\"components-search-control__icon\">\n\t\t\t\t\t{ !! value && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Reset search' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( '' );\n\t\t\t\t\t\t\t\tsearchInput.current.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! value && <Icon icon={ search } /> }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</BaseControl>\n\t);\n}\n\nexport default SearchControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/search-control/index.js"],"names":["SearchControl","ref","className","onChange","onKeyDown","value","label","placeholder","hideLabelFromVision","help","onClose","instanceId","searchInput","id","renderRightButton","closeSmall","current","focus","search","event","target"],"mappings":";;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAKA,SAASA,aAAT,OAYCC,GAZD,EAaE;AAAA,MAZD;AACCC,IAAAA,SADD;AAECC,IAAAA,QAFD;AAGCC,IAAAA,SAHD;AAICC,IAAAA,KAJD;AAKCC,IAAAA,KALD;AAMCC,IAAAA,WAAW,GAAG,cAAI,QAAJ,CANf;AAOCC,IAAAA,mBAAmB,GAAG,IAPvB;AAQCC,IAAAA,IARD;AASCC,IAAAA;AATD,GAYC;AACD,QAAMC,UAAU,GAAG,4BAAeX,aAAf,CAAnB;AACA,QAAMY,WAAW,GAAG,2BAAgBX,GAAhB,CAApB;AACA,QAAMY,EAAE,GAAI,6BAA6BF,UAAY,EAArD;;AAEA,QAAMG,iBAAiB,GAAG,MAAM;AAC/B,QAAKJ,OAAL,EAAe;AACd,aACC,4BAAC,QAAD;AACC,QAAA,IAAI,EAAGK,iBADR;AAEC,QAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,QAAA,OAAO,EAAGL;AAHX,QADD;AAOA;;AAED,QAAK,CAAC,CAAEL,KAAR,EAAgB;AACf,aACC,4BAAC,QAAD;AACC,QAAA,IAAI,EAAGU,iBADR;AAEC,QAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,QAAA,OAAO,EAAG,MAAM;AACfZ,UAAAA,QAAQ,CAAE,EAAF,CAAR;AACAS,UAAAA,WAAW,CAACI,OAAZ,CAAoBC,KAApB;AACA;AANF,QADD;AAUA;;AAED,WAAO,4BAAC,WAAD;AAAM,MAAA,IAAI,EAAGC;AAAb,MAAP;AACA,GAzBD;;AA2BA,SACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGZ,KADT;AAEC,IAAA,EAAE,EAAGO,EAFN;AAGC,IAAA,mBAAmB,EAAGL,mBAHvB;AAIC,IAAA,IAAI,EAAGC,IAJR;AAKC,IAAA,SAAS,EAAG,yBAAYP,SAAZ,EAAuB,2BAAvB;AALb,KAOC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AACC,IAAA,GAAG,EAAGU,WADP;AAEC,IAAA,SAAS,EAAC,kCAFX;AAGC,IAAA,EAAE,EAAGC,EAHN;AAIC,IAAA,IAAI,EAAC,QAJN;AAKC,IAAA,WAAW,EAAGN,WALf;AAMC,IAAA,QAAQ,EAAKY,KAAF,IAAahB,QAAQ,CAAEgB,KAAK,CAACC,MAAN,CAAaf,KAAf,CANjC;AAOC,IAAA,SAAS,EAAGD,SAPb;AAQC,IAAA,YAAY,EAAC,KARd;AASC,IAAA,KAAK,EAAGC,KAAK,IAAI;AATlB,IADD,EAYC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGS,iBAAiB,EADpB,CAZD,CAPD,CADD;AA0BA;;eAEc,yBAAYd,aAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, search, closeSmall } from '@wordpress/icons';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Button } from '../';\nimport BaseControl from '../base-control';\nimport { useCombinedRef } from '../utils';\n\nfunction SearchControl(\n\t{\n\t\tclassName,\n\t\tonChange,\n\t\tonKeyDown,\n\t\tvalue,\n\t\tlabel,\n\t\tplaceholder = __( 'Search' ),\n\t\thideLabelFromVision = true,\n\t\thelp,\n\t\tonClose,\n\t},\n\tref\n) {\n\tconst instanceId = useInstanceId( SearchControl );\n\tconst searchInput = useCombinedRef( ref );\n\tconst id = `components-search-control-${ instanceId }`;\n\n\tconst renderRightButton = () => {\n\t\tif ( onClose ) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close search' ) }\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Reset search' ) }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChange( '' );\n\t\t\t\t\t\tsearchInput.current.focus();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn <Icon icon={ search } />;\n\t};\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( className, 'components-search-control' ) }\n\t\t>\n\t\t\t<div className=\"components-search-control__input-wrapper\">\n\t\t\t\t<input\n\t\t\t\t\tref={ searchInput }\n\t\t\t\t\tclassName=\"components-search-control__input\"\n\t\t\t\t\tid={ id }\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t/>\n\t\t\t\t<div className=\"components-search-control__icon\">\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</BaseControl>\n\t);\n}\n\nexport default forwardRef( SearchControl );\n"]}
@@ -61,11 +61,12 @@ function mergeStyles(styles, updateStyles, selectors) {
61
61
  return styles;
62
62
  }
63
63
 
64
- function SearchControl({
65
- value,
66
- onChange,
67
- placeholder = (0, _i18n.__)('Search blocks')
68
- }) {
64
+ function SearchControl(_ref) {
65
+ let {
66
+ value,
67
+ onChange,
68
+ placeholder = (0, _i18n.__)('Search blocks')
69
+ } = _ref;
69
70
  const [isActive, setIsActive] = (0, _element.useState)(false);
70
71
  const [currentStyles, setCurrentStyles] = (0, _element.useState)(baseStyles);
71
72
  const isDark = (0, _reactNative.useColorScheme)() === 'dark';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/search-control/index.native.js"],"names":["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","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","Platform","OS","darkStyles","activeStyles","activeDarkStyles","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","keyboardHideSubscription","Keyboard","addListener","onCancel","clearTimeout","current","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","clearInput","setTimeout","blur","renderLeftButton","button","arrowLeftIcon","Gridicons","search","color","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","focus"],"mappings":"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","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 { useState, useRef, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\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';\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}, [ isActive, isDark ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\t() => {\n\t\t\t\tif ( ! isIOS ) {\n\t\t\t\t\tonCancel();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [] );\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 clearInput() {\n\t\tonChange( '' );\n\t}\n\n\tfunction onCancel() {\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}\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={ true }\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={ () => {\n\t\t\t\tsetIsActive( true );\n\t\t\t\tinputRef.current.focus();\n\t\t\t} }\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={ () => setIsActive( true ) }\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"]}
1
+ {"version":3,"sources":["@wordpress/components/src/search-control/index.native.js"],"names":["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","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","Platform","OS","darkStyles","activeStyles","activeDarkStyles","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","keyboardHideSubscription","Keyboard","addListener","onCancel","clearTimeout","current","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","clearInput","setTimeout","blur","renderLeftButton","button","arrowLeftIcon","Gridicons","search","color","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","focus"],"mappings":"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","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 { useState, useRef, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\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';\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}, [ isActive, isDark ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\t() => {\n\t\t\t\tif ( ! isIOS ) {\n\t\t\t\t\tonCancel();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [] );\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 clearInput() {\n\t\tonChange( '' );\n\t}\n\n\tfunction onCancel() {\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}\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={ true }\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={ () => {\n\t\t\t\tsetIsActive( true );\n\t\t\t\tinputRef.current.focus();\n\t\t\t} }\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={ () => setIsActive( true ) }\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"]}
@@ -42,26 +42,27 @@ function useUniqueId(idProp) {
42
42
  return idProp || id;
43
43
  }
44
44
 
45
- function SelectControl({
46
- className,
47
- disabled = false,
48
- help,
49
- hideLabelFromVision,
50
- id: idProp,
51
- label,
52
- multiple = false,
53
- onBlur = _lodash.noop,
54
- onChange = _lodash.noop,
55
- onFocus = _lodash.noop,
56
- options = [],
57
- size = 'default',
58
- value: valueProp,
59
- labelPosition = 'top',
60
- children,
61
- prefix,
62
- suffix,
63
- ...props
64
- }, ref) {
45
+ function SelectControl(_ref, ref) {
46
+ let {
47
+ className,
48
+ disabled = false,
49
+ help,
50
+ hideLabelFromVision,
51
+ id: idProp,
52
+ label,
53
+ multiple = false,
54
+ onBlur = _lodash.noop,
55
+ onChange = _lodash.noop,
56
+ onFocus = _lodash.noop,
57
+ options = [],
58
+ size = 'default',
59
+ value: valueProp,
60
+ labelPosition = 'top',
61
+ children,
62
+ prefix,
63
+ suffix,
64
+ ...props
65
+ } = _ref;
65
66
  const [isFocused, setIsFocused] = (0, _element.useState)(false);
66
67
  const id = useUniqueId(idProp);
67
68
  const helpId = help ? `${id}__help` : undefined; // Disable reason: A select with an onchange throws a warning
@@ -80,12 +81,18 @@ function SelectControl({
80
81
 
81
82
  const handleOnChange = event => {
82
83
  if (multiple) {
83
- const selectedOptions = Array.from(event.target.options).filter(({
84
- selected
85
- }) => selected);
86
- const newValues = selectedOptions.map(({
87
- value
88
- }) => value);
84
+ const selectedOptions = Array.from(event.target.options).filter(_ref2 => {
85
+ let {
86
+ selected
87
+ } = _ref2;
88
+ return selected;
89
+ });
90
+ const newValues = selectedOptions.map(_ref3 => {
91
+ let {
92
+ value
93
+ } = _ref3;
94
+ return value;
95
+ });
89
96
  onChange(newValues);
90
97
  return;
91
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/select-control/index.tsx"],"names":["useUniqueId","idProp","instanceId","SelectControl","id","className","disabled","help","hideLabelFromVision","label","multiple","onBlur","noop","onChange","onFocus","options","size","value","valueProp","labelPosition","children","prefix","suffix","props","ref","isFocused","setIsFocused","helpId","undefined","handleOnBlur","event","handleOnFocus","handleOnChange","selectedOptions","Array","from","target","filter","selected","newValues","map","classes","chevronDown","option","index","key","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, noop } from 'lodash';\nimport classNames from 'classnames';\n// eslint-disable-next-line no-restricted-imports\nimport type { ChangeEvent, FocusEvent, Ref } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\nimport { Icon, chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport InputBase from '../input-control/input-base';\nimport type { InputBaseProps, LabelPosition } from '../input-control/types';\nimport { Select, DownArrowWrapper } from './styles/select-control-styles';\nimport type { Size } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( SelectControl );\n\tconst id = `inspector-select-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport interface SelectControlProps\n\textends Omit< InputBaseProps, 'isFocused' > {\n\thelp?: string;\n\thideLabelFromVision?: boolean;\n\tmultiple?: boolean;\n\tonBlur?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonFocus?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonChange?: (\n\t\tvalue: string | string[],\n\t\textra?: { event?: ChangeEvent< HTMLSelectElement > }\n\t) => void;\n\toptions?: {\n\t\tlabel: string;\n\t\tvalue: string;\n\t\tid?: string;\n\t\tdisabled?: boolean;\n\t}[];\n\tsize?: Size;\n\tvalue?: string | string[];\n\tlabelPosition?: LabelPosition;\n}\n\nfunction SelectControl(\n\t{\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\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\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\t...props\n\t}: WordPressComponentProps< SelectControlProps, 'select', false >,\n\tref: Ref< HTMLSelectElement >\n) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\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 ( isEmpty( options ) && ! children ) return null;\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLSelectElement > ) => {\n\t\tif ( 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( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( event.target.value, { event } );\n\t};\n\n\tconst classes = classNames( 'components-select-control', className );\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn (\n\t\t<BaseControl help={ help } id={ id }>\n\t\t\t<InputBase\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\tisFocused={ isFocused }\n\t\t\t\tlabel={ label }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={\n\t\t\t\t\tsuffix || (\n\t\t\t\t\t\t<DownArrowWrapper>\n\t\t\t\t\t\t\t<Icon icon={ chevronDown } size={ 18 } />\n\t\t\t\t\t\t</DownArrowWrapper>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tprefix={ prefix }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t>\n\t\t\t\t<Select\n\t\t\t\t\t{ ...props }\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\tonBlur={ handleOnBlur }\n\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\tonFocus={ handleOnFocus }\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>\n\t\t\t\t\t{ children ||\n\t\t\t\t\t\toptions.map( ( option, index ) => {\n\t\t\t\t\t\t\tconst key =\n\t\t\t\t\t\t\t\toption.id ||\n\t\t\t\t\t\t\t\t`${ option.label }-${ option.value }-${ index }`;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t</Select>\n\t\t\t</InputBase>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nconst ForwardedComponent = forwardRef( SelectControl );\n\nexport default ForwardedComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/select-control/index.tsx"],"names":["useUniqueId","idProp","instanceId","SelectControl","id","ref","className","disabled","help","hideLabelFromVision","label","multiple","onBlur","noop","onChange","onFocus","options","size","value","valueProp","labelPosition","children","prefix","suffix","props","isFocused","setIsFocused","helpId","undefined","handleOnBlur","event","handleOnFocus","handleOnChange","selectedOptions","Array","from","target","filter","selected","newValues","map","classes","chevronDown","option","index","key","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, noop } from 'lodash';\nimport classNames from 'classnames';\n// eslint-disable-next-line no-restricted-imports\nimport type { ChangeEvent, FocusEvent, Ref } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\nimport { Icon, chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport InputBase from '../input-control/input-base';\nimport type { InputBaseProps, LabelPosition } from '../input-control/types';\nimport { Select, DownArrowWrapper } from './styles/select-control-styles';\nimport type { Size } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( SelectControl );\n\tconst id = `inspector-select-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport interface SelectControlProps\n\textends Omit< InputBaseProps, 'isFocused' > {\n\thelp?: string;\n\thideLabelFromVision?: boolean;\n\tmultiple?: boolean;\n\tonBlur?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonFocus?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonChange?: (\n\t\tvalue: string | string[],\n\t\textra?: { event?: ChangeEvent< HTMLSelectElement > }\n\t) => void;\n\toptions?: {\n\t\tlabel: string;\n\t\tvalue: string;\n\t\tid?: string;\n\t\tdisabled?: boolean;\n\t}[];\n\tsize?: Size;\n\tvalue?: string | string[];\n\tlabelPosition?: LabelPosition;\n}\n\nfunction SelectControl(\n\t{\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\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\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\t...props\n\t}: WordPressComponentProps< SelectControlProps, 'select', false >,\n\tref: Ref< HTMLSelectElement >\n) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\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 ( isEmpty( options ) && ! children ) return null;\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLSelectElement > ) => {\n\t\tif ( 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( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( event.target.value, { event } );\n\t};\n\n\tconst classes = classNames( 'components-select-control', className );\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn (\n\t\t<BaseControl help={ help } id={ id }>\n\t\t\t<InputBase\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\tisFocused={ isFocused }\n\t\t\t\tlabel={ label }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={\n\t\t\t\t\tsuffix || (\n\t\t\t\t\t\t<DownArrowWrapper>\n\t\t\t\t\t\t\t<Icon icon={ chevronDown } size={ 18 } />\n\t\t\t\t\t\t</DownArrowWrapper>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tprefix={ prefix }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t>\n\t\t\t\t<Select\n\t\t\t\t\t{ ...props }\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\tonBlur={ handleOnBlur }\n\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\tonFocus={ handleOnFocus }\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>\n\t\t\t\t\t{ children ||\n\t\t\t\t\t\toptions.map( ( option, index ) => {\n\t\t\t\t\t\t\tconst key =\n\t\t\t\t\t\t\t\toption.id ||\n\t\t\t\t\t\t\t\t`${ option.label }-${ option.value }-${ index }`;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t</Select>\n\t\t\t</InputBase>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nconst ForwardedComponent = forwardRef( SelectControl );\n\nexport default ForwardedComponent;\n"]}
@@ -20,17 +20,18 @@ var _pickerCell = _interopRequireDefault(require("../mobile/bottom-sheet/picker-
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- const SelectControl = (0, _element.memo)(({
24
- help,
25
- instanceId,
26
- label,
27
- multiple = false,
28
- onChange,
29
- options = [],
30
- className,
31
- hideLabelFromVision,
32
- ...props
33
- }) => {
23
+ const SelectControl = (0, _element.memo)(_ref => {
24
+ let {
25
+ help,
26
+ instanceId,
27
+ label,
28
+ multiple = false,
29
+ onChange,
30
+ options = [],
31
+ className,
32
+ hideLabelFromVision,
33
+ ...props
34
+ } = _ref;
34
35
  const id = `inspector-select-control-${instanceId}`;
35
36
  return (0, _element.createElement)(_pickerCell.default, (0, _extends2.default)({
36
37
  label: label,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/select-control/index.native.js"],"names":["SelectControl","help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision","props","id","undefined"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,MAAMA,aAAa,GAAG,mBACrB,CAAE;AACDC,EAAAA,IADC;AAEDC,EAAAA,UAFC;AAGDC,EAAAA,KAHC;AAIDC,EAAAA,QAAQ,GAAG,KAJV;AAKDC,EAAAA,QALC;AAMDC,EAAAA,OAAO,GAAG,EANT;AAODC,EAAAA,SAPC;AAQDC,EAAAA,mBARC;AASD,KAAGC;AATF,CAAF,KAUO;AACN,QAAMC,EAAE,GAAI,4BAA4BR,UAAY,EAApD;AAEA,SACC,4BAAC,mBAAD;AACC,IAAA,KAAK,EAAGC,KADT;AAEC,IAAA,mBAAmB,EAAGK,mBAFvB;AAGC,IAAA,EAAE,EAAGE,EAHN;AAIC,IAAA,IAAI,EAAGT,IAJR;AAKC,IAAA,SAAS,EAAGM,SALb;AAMC,IAAA,aAAa,EAAGF,QANjB;AAOC,wBAAmB,CAAC,CAAEJ,IAAH,GAAW,GAAGS,EAAI,QAAlB,GAA4BC,SAPhD;AAQC,IAAA,QAAQ,EAAGP,QARZ;AASC,IAAA,OAAO,EAAGE;AATX,KAUMG,KAVN,EADD;AAcA,CA5BoB,CAAtB;eA+BeT,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport PickerCell from '../mobile/bottom-sheet/picker-cell';\n\nconst SelectControl = memo(\n\t( {\n\t\thelp,\n\t\tinstanceId,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonChange,\n\t\toptions = [],\n\t\tclassName,\n\t\thideLabelFromVision,\n\t\t...props\n\t} ) => {\n\t\tconst id = `inspector-select-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<PickerCell\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ className }\n\t\t\t\tonChangeValue={ onChange }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\toptions={ options }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nexport default SelectControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/select-control/index.native.js"],"names":["SelectControl","help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision","props","id","undefined"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,MAAMA,aAAa,GAAG,mBACrB,QAUO;AAAA,MAVL;AACDC,IAAAA,IADC;AAEDC,IAAAA,UAFC;AAGDC,IAAAA,KAHC;AAIDC,IAAAA,QAAQ,GAAG,KAJV;AAKDC,IAAAA,QALC;AAMDC,IAAAA,OAAO,GAAG,EANT;AAODC,IAAAA,SAPC;AAQDC,IAAAA,mBARC;AASD,OAAGC;AATF,GAUK;AACN,QAAMC,EAAE,GAAI,4BAA4BR,UAAY,EAApD;AAEA,SACC,4BAAC,mBAAD;AACC,IAAA,KAAK,EAAGC,KADT;AAEC,IAAA,mBAAmB,EAAGK,mBAFvB;AAGC,IAAA,EAAE,EAAGE,EAHN;AAIC,IAAA,IAAI,EAAGT,IAJR;AAKC,IAAA,SAAS,EAAGM,SALb;AAMC,IAAA,aAAa,EAAGF,QANjB;AAOC,wBAAmB,CAAC,CAAEJ,IAAH,GAAW,GAAGS,EAAI,QAAlB,GAA4BC,SAPhD;AAQC,IAAA,QAAQ,EAAGP,QARZ;AASC,IAAA,OAAO,EAAGE;AATX,KAUMG,KAVN,EADD;AAcA,CA5BoB,CAAtB;eA+BeT,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport PickerCell from '../mobile/bottom-sheet/picker-cell';\n\nconst SelectControl = memo(\n\t( {\n\t\thelp,\n\t\tinstanceId,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonChange,\n\t\toptions = [],\n\t\tclassName,\n\t\thideLabelFromVision,\n\t\t...props\n\t} ) => {\n\t\tconst id = `inspector-select-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<PickerCell\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ className }\n\t\t\t\tonChangeValue={ onChange }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\toptions={ options }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nexport default SelectControl;\n"]}