@wordpress/components 25.6.0 → 25.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (864) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +3 -8
  4. package/build/color-palette/utils.js +2 -9
  5. package/build/color-palette/utils.js.map +1 -1
  6. package/build/color-picker/hsv-color-picker.native.js +92 -0
  7. package/build/color-picker/hsv-color-picker.native.js.map +1 -0
  8. package/build/color-picker/hue-picker.native.js +195 -0
  9. package/build/color-picker/hue-picker.native.js.map +1 -0
  10. package/build/color-picker/index.native.js +3 -2
  11. package/build/color-picker/index.native.js.map +1 -1
  12. package/build/color-picker/saturation-picker.native.js +178 -0
  13. package/build/color-picker/saturation-picker.native.js.map +1 -0
  14. package/build/item-group/item/component.js +0 -1
  15. package/build/item-group/item/component.js.map +1 -1
  16. package/build/item-group/item-group/component.js +0 -1
  17. package/build/item-group/item-group/component.js.map +1 -1
  18. package/build/menu-item/index.js +6 -4
  19. package/build/menu-item/index.js.map +1 -1
  20. package/build/menu-item/types.js.map +1 -1
  21. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -1
  22. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  23. package/build/navigation/index.js +0 -1
  24. package/build/navigation/index.js.map +1 -1
  25. package/build/navigator/navigator-provider/component.js +1 -2
  26. package/build/navigator/navigator-provider/component.js.map +1 -1
  27. package/build/palette-edit/styles.js +10 -10
  28. package/build/palette-edit/styles.js.map +1 -1
  29. package/build/popover/index.js +38 -75
  30. package/build/popover/index.js.map +1 -1
  31. package/build/popover/overlay-middlewares.js.map +1 -1
  32. package/build/popover/types.js.map +1 -1
  33. package/build/popover/utils.js +5 -50
  34. package/build/popover/utils.js.map +1 -1
  35. package/build/progress-bar/styles.js +6 -5
  36. package/build/progress-bar/styles.js.map +1 -1
  37. package/build/sandbox/index.js +1 -1
  38. package/build/sandbox/index.js.map +1 -1
  39. package/build/search-control/index.native.js +27 -24
  40. package/build/search-control/index.native.js.map +1 -1
  41. package/build/shortcut/index.js +13 -0
  42. package/build/shortcut/index.js.map +1 -1
  43. package/build/slot-fill/bubbles-virtually/slot-fill-context.js +4 -2
  44. package/build/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  45. package/build/slot-fill/bubbles-virtually/slot.js +14 -8
  46. package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
  47. package/build/slot-fill/index.js +5 -0
  48. package/build/slot-fill/index.js.map +1 -1
  49. package/build/snackbar/index.js +1 -1
  50. package/build/snackbar/index.js.map +1 -1
  51. package/build/spinner/index.js +0 -1
  52. package/build/spinner/index.js.map +1 -1
  53. package/build/theme/color-algorithms.js +2 -2
  54. package/build/theme/color-algorithms.js.map +1 -1
  55. package/build/theme/index.js +0 -1
  56. package/build/theme/index.js.map +1 -1
  57. package/build/toolbar/toolbar-item/index.js +1 -1
  58. package/build/toolbar/toolbar-item/index.js.map +1 -1
  59. package/build/toolbar/toolbar-item/index.native.js +1 -1
  60. package/build/toolbar/toolbar-item/index.native.js.map +1 -1
  61. package/build/tools-panel/tools-panel/component.js +0 -1
  62. package/build/tools-panel/tools-panel/component.js.map +1 -1
  63. package/build/tools-panel/tools-panel-header/component.js +5 -1
  64. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  65. package/build/tree-select/index.js +0 -1
  66. package/build/tree-select/index.js.map +1 -1
  67. package/build/ui/context/constants.js +2 -6
  68. package/build/ui/context/constants.js.map +1 -1
  69. package/build/ui/context/context-connect.js +1 -1
  70. package/build/ui/context/context-connect.js.map +1 -1
  71. package/build/ui/context/context-system-provider.js +1 -1
  72. package/build/ui/context/context-system-provider.js.map +1 -1
  73. package/build/ui/context/use-context-system.js +1 -1
  74. package/build/ui/context/use-context-system.js.map +1 -1
  75. package/build/unit-control/index.js +0 -1
  76. package/build/unit-control/index.js.map +1 -1
  77. package/build/utils/hooks/use-cx.js +2 -1
  78. package/build/utils/hooks/use-cx.js.map +1 -1
  79. package/build/utils/math.js +0 -12
  80. package/build/utils/math.js.map +1 -1
  81. package/build/utils/values.js +3 -66
  82. package/build/utils/values.js.map +1 -1
  83. package/build/view/component.js +1 -2
  84. package/build/view/component.js.map +1 -1
  85. package/build-module/color-palette/utils.js +0 -6
  86. package/build-module/color-palette/utils.js.map +1 -1
  87. package/build-module/color-picker/hsv-color-picker.native.js +84 -0
  88. package/build-module/color-picker/hsv-color-picker.native.js.map +1 -0
  89. package/build-module/color-picker/hue-picker.native.js +185 -0
  90. package/build-module/color-picker/hue-picker.native.js.map +1 -0
  91. package/build-module/color-picker/index.native.js +2 -1
  92. package/build-module/color-picker/index.native.js.map +1 -1
  93. package/build-module/color-picker/saturation-picker.native.js +168 -0
  94. package/build-module/color-picker/saturation-picker.native.js.map +1 -0
  95. package/build-module/item-group/item/component.js +0 -1
  96. package/build-module/item-group/item/component.js.map +1 -1
  97. package/build-module/item-group/item-group/component.js +0 -1
  98. package/build-module/item-group/item-group/component.js.map +1 -1
  99. package/build-module/menu-item/index.js +4 -2
  100. package/build-module/menu-item/index.js.map +1 -1
  101. package/build-module/menu-item/types.js.map +1 -1
  102. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -1
  103. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  104. package/build-module/navigation/index.js +0 -1
  105. package/build-module/navigation/index.js.map +1 -1
  106. package/build-module/navigator/navigator-provider/component.js +1 -2
  107. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  108. package/build-module/palette-edit/styles.js +10 -10
  109. package/build-module/palette-edit/styles.js.map +1 -1
  110. package/build-module/popover/index.js +42 -79
  111. package/build-module/popover/index.js.map +1 -1
  112. package/build-module/popover/overlay-middlewares.js.map +1 -1
  113. package/build-module/popover/types.js.map +1 -1
  114. package/build-module/popover/utils.js +4 -47
  115. package/build-module/popover/utils.js.map +1 -1
  116. package/build-module/progress-bar/styles.js +6 -5
  117. package/build-module/progress-bar/styles.js.map +1 -1
  118. package/build-module/sandbox/index.js +1 -1
  119. package/build-module/sandbox/index.js.map +1 -1
  120. package/build-module/search-control/index.native.js +28 -25
  121. package/build-module/search-control/index.native.js.map +1 -1
  122. package/build-module/shortcut/index.js +13 -0
  123. package/build-module/shortcut/index.js.map +1 -1
  124. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js +4 -2
  125. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  126. package/build-module/slot-fill/bubbles-virtually/slot.js +14 -8
  127. package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
  128. package/build-module/slot-fill/index.js +6 -1
  129. package/build-module/slot-fill/index.js.map +1 -1
  130. package/build-module/snackbar/index.js +1 -1
  131. package/build-module/snackbar/index.js.map +1 -1
  132. package/build-module/spinner/index.js +0 -1
  133. package/build-module/spinner/index.js.map +1 -1
  134. package/build-module/theme/color-algorithms.js +2 -2
  135. package/build-module/theme/color-algorithms.js.map +1 -1
  136. package/build-module/theme/index.js +0 -1
  137. package/build-module/theme/index.js.map +1 -1
  138. package/build-module/toolbar/toolbar-item/index.js +1 -1
  139. package/build-module/toolbar/toolbar-item/index.js.map +1 -1
  140. package/build-module/toolbar/toolbar-item/index.native.js +1 -1
  141. package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
  142. package/build-module/tools-panel/tools-panel/component.js +0 -1
  143. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  144. package/build-module/tools-panel/tools-panel-header/component.js +5 -1
  145. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  146. package/build-module/tree-select/index.js +0 -1
  147. package/build-module/tree-select/index.js.map +1 -1
  148. package/build-module/ui/context/constants.js +0 -2
  149. package/build-module/ui/context/constants.js.map +1 -1
  150. package/build-module/ui/context/context-connect.js +1 -1
  151. package/build-module/ui/context/context-connect.js.map +1 -1
  152. package/build-module/ui/context/context-system-provider.js +1 -1
  153. package/build-module/ui/context/context-system-provider.js.map +1 -1
  154. package/build-module/ui/context/use-context-system.js +1 -1
  155. package/build-module/ui/context/use-context-system.js.map +1 -1
  156. package/build-module/unit-control/index.js +0 -1
  157. package/build-module/unit-control/index.js.map +1 -1
  158. package/build-module/utils/hooks/use-cx.js +2 -1
  159. package/build-module/utils/hooks/use-cx.js.map +1 -1
  160. package/build-module/utils/math.js +0 -11
  161. package/build-module/utils/math.js.map +1 -1
  162. package/build-module/utils/values.js +0 -60
  163. package/build-module/utils/values.js.map +1 -1
  164. package/build-module/view/component.js +1 -2
  165. package/build-module/view/component.js.map +1 -1
  166. package/build-types/alignment-matrix-control/stories/index.story.d.ts +2 -2
  167. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  168. package/build-types/angle-picker-control/stories/index.story.d.ts +2 -2
  169. package/build-types/angle-picker-control/stories/index.story.d.ts.map +1 -1
  170. package/build-types/animate/stories/index.story.d.ts +9 -9
  171. package/build-types/animate/stories/index.story.d.ts.map +1 -1
  172. package/build-types/base-control/stories/index.story.d.ts +4 -4
  173. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  174. package/build-types/border-box-control/stories/index.story.d.ts +2 -2
  175. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  176. package/build-types/border-control/stories/index.story.d.ts +2 -2
  177. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  178. package/build-types/button/stories/e2e/index.story.d.ts +3 -3
  179. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  180. package/build-types/button/stories/index.story.d.ts +10 -9
  181. package/build-types/button/stories/index.story.d.ts.map +1 -1
  182. package/build-types/button-group/stories/index.story.d.ts +3 -3
  183. package/build-types/button-group/stories/index.story.d.ts.map +1 -1
  184. package/build-types/card/stories/index.story.d.ts +2 -2
  185. package/build-types/card/stories/index.story.d.ts.map +1 -1
  186. package/build-types/checkbox-control/stories/index.story.d.ts +4 -4
  187. package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
  188. package/build-types/circular-option-picker/stories/index.story.d.ts +2 -2
  189. package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
  190. package/build-types/color-indicator/stories/index.story.d.ts +3 -3
  191. package/build-types/color-indicator/stories/index.story.d.ts.map +1 -1
  192. package/build-types/color-palette/stories/index.story.d.ts +3 -3
  193. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  194. package/build-types/color-palette/styles.d.ts +1 -1
  195. package/build-types/color-palette/utils.d.ts +0 -1
  196. package/build-types/color-palette/utils.d.ts.map +1 -1
  197. package/build-types/color-picker/stories/index.story.d.ts +2 -2
  198. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  199. package/build-types/combobox-control/stories/index.story.d.ts +2 -2
  200. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  201. package/build-types/custom-gradient-picker/stories/index.story.d.ts +2 -2
  202. package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
  203. package/build-types/date-time/date/styles.d.ts +1 -1
  204. package/build-types/date-time/stories/date-time.story.d.ts +5 -5
  205. package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
  206. package/build-types/date-time/stories/date.story.d.ts +5 -5
  207. package/build-types/date-time/stories/date.story.d.ts.map +1 -1
  208. package/build-types/date-time/stories/time.story.d.ts +3 -3
  209. package/build-types/date-time/stories/time.story.d.ts.map +1 -1
  210. package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
  211. package/build-types/disabled/stories/index.story.d.ts +4 -4
  212. package/build-types/disabled/stories/index.story.d.ts.map +1 -1
  213. package/build-types/divider/stories/index.story.d.ts +5 -5
  214. package/build-types/divider/stories/index.story.d.ts.map +1 -1
  215. package/build-types/draggable/stories/index.story.d.ts +4 -4
  216. package/build-types/draggable/stories/index.story.d.ts.map +1 -1
  217. package/build-types/drop-zone/stories/index.story.d.ts +2 -2
  218. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  219. package/build-types/dropdown/stories/index.story.d.ts +6 -5
  220. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  221. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  222. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  223. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +2 -2
  224. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  225. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +2 -2
  226. package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
  227. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +2 -2
  228. package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
  229. package/build-types/elevation/stories/index.story.d.ts +5 -5
  230. package/build-types/elevation/stories/index.story.d.ts.map +1 -1
  231. package/build-types/external-link/stories/index.story.d.ts +3 -3
  232. package/build-types/external-link/stories/index.story.d.ts.map +1 -1
  233. package/build-types/flex/stories/index.story.d.ts +4 -4
  234. package/build-types/flex/stories/index.story.d.ts.map +1 -1
  235. package/build-types/focal-point-picker/stories/index.story.d.ts +2 -2
  236. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  237. package/build-types/font-size-picker/stories/e2e/index.story.d.ts +2 -2
  238. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  239. package/build-types/font-size-picker/stories/index.story.d.ts +8 -8
  240. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  241. package/build-types/form-file-upload/stories/index.story.d.ts +2 -2
  242. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  243. package/build-types/form-toggle/stories/index.story.d.ts +3 -3
  244. package/build-types/form-toggle/stories/index.story.d.ts.map +1 -1
  245. package/build-types/form-token-field/stories/index.story.d.ts +7 -7
  246. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  247. package/build-types/gradient-picker/stories/index.story.d.ts +2 -2
  248. package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
  249. package/build-types/grid/stories/index.story.d.ts +3 -3
  250. package/build-types/grid/stories/index.story.d.ts.map +1 -1
  251. package/build-types/guide/stories/index.story.d.ts +2 -2
  252. package/build-types/guide/stories/index.story.d.ts.map +1 -1
  253. package/build-types/h-stack/stories/e2e/index.story.d.ts +3 -3
  254. package/build-types/h-stack/stories/e2e/index.story.d.ts.map +1 -1
  255. package/build-types/h-stack/stories/index.story.d.ts +3 -3
  256. package/build-types/h-stack/stories/index.story.d.ts.map +1 -1
  257. package/build-types/heading/stories/index.story.d.ts +3 -3
  258. package/build-types/heading/stories/index.story.d.ts.map +1 -1
  259. package/build-types/icon/stories/index.story.d.ts +4 -4
  260. package/build-types/icon/stories/index.story.d.ts.map +1 -1
  261. package/build-types/input-control/stories/index.story.d.ts +2 -2
  262. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  263. package/build-types/item-group/item/component.d.ts +0 -1
  264. package/build-types/item-group/item/component.d.ts.map +1 -1
  265. package/build-types/item-group/item/hook.d.ts +1 -1
  266. package/build-types/item-group/item-group/component.d.ts +0 -1
  267. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  268. package/build-types/item-group/stories/index.story.d.ts +6 -6
  269. package/build-types/item-group/stories/index.story.d.ts.map +1 -1
  270. package/build-types/keyboard-shortcuts/stories/index.story.d.ts +2 -2
  271. package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
  272. package/build-types/menu-group/stories/index.story.d.ts +3 -3
  273. package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
  274. package/build-types/menu-item/index.d.ts +5 -58
  275. package/build-types/menu-item/index.d.ts.map +1 -1
  276. package/build-types/menu-item/stories/index.story.d.ts +74 -0
  277. package/build-types/menu-item/stories/index.story.d.ts.map +1 -0
  278. package/build-types/menu-item/types.d.ts +3 -2
  279. package/build-types/menu-item/types.d.ts.map +1 -1
  280. package/build-types/menu-items-choice/stories/index.story.d.ts +3 -3
  281. package/build-types/menu-items-choice/stories/index.story.d.ts.map +1 -1
  282. package/build-types/modal/stories/index.story.d.ts +4 -4
  283. package/build-types/modal/stories/index.story.d.ts.map +1 -1
  284. package/build-types/navigable-container/stories/navigable-menu.story.d.ts +3 -3
  285. package/build-types/navigable-container/stories/navigable-menu.story.d.ts.map +1 -1
  286. package/build-types/navigable-container/stories/tabbable-container.story.d.ts +3 -3
  287. package/build-types/navigable-container/stories/tabbable-container.story.d.ts.map +1 -1
  288. package/build-types/navigation/index.d.ts +0 -1
  289. package/build-types/navigation/index.d.ts.map +1 -1
  290. package/build-types/navigation/stories/index.story.d.ts +2 -2
  291. package/build-types/navigation/stories/index.story.d.ts.map +1 -1
  292. package/build-types/navigation/stories/utils/controlled-state.d.ts +2 -2
  293. package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -1
  294. package/build-types/navigation/stories/utils/default.d.ts +2 -2
  295. package/build-types/navigation/stories/utils/default.d.ts.map +1 -1
  296. package/build-types/navigation/stories/utils/group.d.ts +2 -2
  297. package/build-types/navigation/stories/utils/group.d.ts.map +1 -1
  298. package/build-types/navigation/stories/utils/hide-if-empty.d.ts +2 -2
  299. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
  300. package/build-types/navigation/stories/utils/more-examples.d.ts +2 -2
  301. package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -1
  302. package/build-types/navigation/stories/utils/search.d.ts +2 -2
  303. package/build-types/navigation/stories/utils/search.d.ts.map +1 -1
  304. package/build-types/navigation/styles/navigation-styles.d.ts +1 -1
  305. package/build-types/navigator/navigator-provider/component.d.ts +0 -1
  306. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  307. package/build-types/navigator/stories/index.story.d.ts +5 -5
  308. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  309. package/build-types/notice/stories/index.story.d.ts +3 -3
  310. package/build-types/notice/stories/index.story.d.ts.map +1 -1
  311. package/build-types/number-control/stories/index.story.d.ts +2 -2
  312. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  313. package/build-types/palette-edit/stories/index.story.d.ts +2 -2
  314. package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
  315. package/build-types/palette-edit/styles.d.ts +1 -1
  316. package/build-types/palette-edit/styles.d.ts.map +1 -1
  317. package/build-types/panel/stories/index.story.d.ts +6 -6
  318. package/build-types/panel/stories/index.story.d.ts.map +1 -1
  319. package/build-types/placeholder/stories/index.story.d.ts +3 -3
  320. package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
  321. package/build-types/popover/index.d.ts.map +1 -1
  322. package/build-types/popover/overlay-middlewares.d.ts +2 -2
  323. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  324. package/build-types/popover/stories/index.story.d.ts +7 -7
  325. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  326. package/build-types/popover/types.d.ts +6 -0
  327. package/build-types/popover/types.d.ts.map +1 -1
  328. package/build-types/popover/utils.d.ts +1 -21
  329. package/build-types/popover/utils.d.ts.map +1 -1
  330. package/build-types/progress-bar/stories/index.story.d.ts +3 -3
  331. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  332. package/build-types/progress-bar/styles.d.ts.map +1 -1
  333. package/build-types/query-controls/stories/index.story.d.ts +4 -4
  334. package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
  335. package/build-types/radio-control/stories/index.story.d.ts +3 -3
  336. package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
  337. package/build-types/range-control/stories/index.story.d.ts +9 -9
  338. package/build-types/range-control/stories/index.story.d.ts.map +1 -1
  339. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  340. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  341. package/build-types/responsive-wrapper/stories/index.story.d.ts +3 -3
  342. package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
  343. package/build-types/sandbox/index.d.ts.map +1 -1
  344. package/build-types/sandbox/stories/index.story.d.ts +2 -2
  345. package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
  346. package/build-types/scroll-lock/stories/index.story.d.ts +3 -3
  347. package/build-types/scroll-lock/stories/index.story.d.ts.map +1 -1
  348. package/build-types/scrollable/stories/index.story.d.ts +3 -3
  349. package/build-types/scrollable/stories/index.story.d.ts.map +1 -1
  350. package/build-types/search-control/stories/index.story.d.ts +2 -16
  351. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  352. package/build-types/select-control/stories/index.story.d.ts +2 -2
  353. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  354. package/build-types/shortcut/index.d.ts +13 -0
  355. package/build-types/shortcut/index.d.ts.map +1 -1
  356. package/build-types/shortcut/stories/index.story.d.ts +13 -0
  357. package/build-types/shortcut/stories/index.story.d.ts.map +1 -0
  358. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +1 -0
  359. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
  360. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -6
  361. package/build-types/slot-fill/index.d.ts +1 -1
  362. package/build-types/slot-fill/index.d.ts.map +1 -1
  363. package/build-types/snackbar/stories/index.story.d.ts +7 -7
  364. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  365. package/build-types/snackbar/stories/list.story.d.ts +3 -3
  366. package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
  367. package/build-types/spacer/stories/index.story.d.ts +3 -3
  368. package/build-types/spacer/stories/index.story.d.ts.map +1 -1
  369. package/build-types/spinner/index.d.ts +0 -1
  370. package/build-types/spinner/index.d.ts.map +1 -1
  371. package/build-types/spinner/stories/index.story.d.ts +4 -4
  372. package/build-types/spinner/stories/index.story.d.ts.map +1 -1
  373. package/build-types/surface/stories/index.story.d.ts +3 -3
  374. package/build-types/surface/stories/index.story.d.ts.map +1 -1
  375. package/build-types/tab-panel/stories/index.story.d.ts +2 -2
  376. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  377. package/build-types/text-control/stories/index.story.d.ts +4 -4
  378. package/build-types/text-control/stories/index.story.d.ts.map +1 -1
  379. package/build-types/text-highlight/stories/index.story.d.ts +3 -3
  380. package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
  381. package/build-types/textarea-control/stories/index.story.d.ts +3 -3
  382. package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
  383. package/build-types/theme/index.d.ts +0 -1
  384. package/build-types/theme/index.d.ts.map +1 -1
  385. package/build-types/theme/stories/index.story.d.ts +4 -4
  386. package/build-types/theme/stories/index.story.d.ts.map +1 -1
  387. package/build-types/tip/stories/index.story.d.ts +3 -3
  388. package/build-types/tip/stories/index.story.d.ts.map +1 -1
  389. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  390. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  391. package/build-types/toggle-group-control/stories/index.story.d.ts +6 -6
  392. package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
  393. package/build-types/toolbar/stories/index.story.d.ts +2 -2
  394. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  395. package/build-types/tools-panel/stories/index.story.d.ts +8 -8
  396. package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
  397. package/build-types/tools-panel/tools-panel/component.d.ts +0 -1
  398. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  399. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  400. package/build-types/tree-grid/stories/index.story.d.ts +2 -2
  401. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  402. package/build-types/tree-select/index.d.ts +0 -1
  403. package/build-types/tree-select/index.d.ts.map +1 -1
  404. package/build-types/tree-select/stories/index.story.d.ts +2 -2
  405. package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
  406. package/build-types/truncate/stories/index.story.d.ts +4 -4
  407. package/build-types/truncate/stories/index.story.d.ts.map +1 -1
  408. package/build-types/ui/context/constants.d.ts +0 -2
  409. package/build-types/ui/context/constants.d.ts.map +1 -1
  410. package/build-types/unit-control/index.d.ts +0 -1
  411. package/build-types/unit-control/index.d.ts.map +1 -1
  412. package/build-types/unit-control/stories/index.story.d.ts +7 -7
  413. package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
  414. package/build-types/utils/hooks/use-cx.d.ts +2 -1
  415. package/build-types/utils/hooks/use-cx.d.ts.map +1 -1
  416. package/build-types/utils/math.d.ts +0 -8
  417. package/build-types/utils/math.d.ts.map +1 -1
  418. package/build-types/utils/values.d.ts +0 -13
  419. package/build-types/utils/values.d.ts.map +1 -1
  420. package/build-types/v-stack/stories/e2e/index.story.d.ts +3 -3
  421. package/build-types/v-stack/stories/e2e/index.story.d.ts.map +1 -1
  422. package/build-types/v-stack/stories/index.story.d.ts +2 -2
  423. package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
  424. package/build-types/view/component.d.ts +0 -1
  425. package/build-types/view/component.d.ts.map +1 -1
  426. package/build-types/view/stories/index.story.d.ts +3 -3
  427. package/build-types/view/stories/index.story.d.ts.map +1 -1
  428. package/build-types/visually-hidden/stories/index.story.d.ts +5 -5
  429. package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -1
  430. package/build-types/z-stack/stories/index.story.d.ts +3 -3
  431. package/build-types/z-stack/stories/index.story.d.ts.map +1 -1
  432. package/package.json +20 -20
  433. package/src/alignment-matrix-control/stories/index.story.tsx +8 -4
  434. package/src/alignment-matrix-control/test/index.tsx +6 -2
  435. package/src/angle-picker-control/stories/index.story.tsx +4 -4
  436. package/src/animate/stories/index.story.tsx +13 -11
  437. package/src/base-control/stories/index.story.tsx +6 -10
  438. package/src/border-box-control/stories/index.story.tsx +6 -10
  439. package/src/border-control/stories/index.story.tsx +9 -15
  440. package/src/button/stories/e2e/index.story.tsx +3 -3
  441. package/src/button/stories/index.story.tsx +11 -11
  442. package/src/button-group/stories/index.story.tsx +5 -7
  443. package/src/card/stories/index.story.tsx +6 -6
  444. package/src/checkbox-control/stories/index.story.tsx +8 -7
  445. package/src/circular-option-picker/stories/index.story.tsx +20 -5
  446. package/src/color-indicator/stories/index.story.tsx +5 -7
  447. package/src/color-palette/stories/index.story.tsx +13 -22
  448. package/src/color-palette/test/index.tsx +15 -9
  449. package/src/color-palette/test/utils.ts +0 -15
  450. package/src/color-palette/utils.ts +0 -7
  451. package/src/color-picker/hsv-color-picker.native.js +88 -0
  452. package/src/color-picker/hue-picker.native.js +194 -0
  453. package/src/color-picker/index.native.js +2 -1
  454. package/src/color-picker/saturation-picker.native.js +163 -0
  455. package/src/color-picker/stories/index.story.tsx +4 -4
  456. package/src/color-picker/style.native.scss +23 -0
  457. package/src/combobox-control/stories/index.story.tsx +4 -4
  458. package/src/confirm-dialog/stories/index.story.js +1 -1
  459. package/src/custom-gradient-picker/stories/index.story.tsx +4 -4
  460. package/src/date-time/stories/date-time.story.tsx +9 -11
  461. package/src/date-time/stories/date.story.tsx +9 -10
  462. package/src/date-time/stories/time.story.tsx +5 -5
  463. package/src/dimension-control/stories/index.story.tsx +4 -4
  464. package/src/disabled/stories/index.story.tsx +5 -5
  465. package/src/divider/stories/index.story.tsx +7 -7
  466. package/src/draggable/stories/index.story.tsx +5 -7
  467. package/src/drop-zone/stories/index.story.tsx +4 -4
  468. package/src/dropdown/stories/index.story.tsx +8 -6
  469. package/src/dropdown-menu/stories/index.story.tsx +4 -4
  470. package/src/dropdown-menu-v2/stories/index.story.tsx +28 -11
  471. package/src/duotone-picker/stories/duotone-picker.story.tsx +4 -7
  472. package/src/duotone-picker/stories/duotone-swatch.story.tsx +4 -4
  473. package/src/elevation/stories/index.story.tsx +8 -8
  474. package/src/external-link/stories/index.story.tsx +5 -7
  475. package/src/flex/stories/index.story.tsx +7 -7
  476. package/src/focal-point-picker/stories/index.story.tsx +4 -4
  477. package/src/font-size-picker/stories/e2e/index.story.tsx +3 -3
  478. package/src/font-size-picker/stories/index.story.tsx +11 -11
  479. package/src/form-file-upload/stories/index.story.tsx +4 -4
  480. package/src/form-toggle/stories/index.story.tsx +5 -8
  481. package/src/form-token-field/stories/index.story.tsx +11 -12
  482. package/src/gradient-picker/stories/index.story.tsx +4 -4
  483. package/src/grid/stories/index.story.tsx +5 -5
  484. package/src/guide/stories/index.story.tsx +3 -3
  485. package/src/h-stack/stories/e2e/index.story.tsx +4 -4
  486. package/src/h-stack/stories/index.story.tsx +5 -5
  487. package/src/heading/stories/index.story.tsx +4 -4
  488. package/src/icon/stories/index.story.tsx +6 -6
  489. package/src/input-control/stories/index.story.tsx +6 -4
  490. package/src/item-group/item/component.tsx +0 -1
  491. package/src/item-group/item-group/component.tsx +0 -1
  492. package/src/item-group/stories/index.story.tsx +12 -13
  493. package/src/keyboard-shortcuts/stories/index.story.tsx +4 -4
  494. package/src/menu-group/stories/index.story.tsx +6 -6
  495. package/src/menu-item/README.md +1 -1
  496. package/src/menu-item/index.tsx +5 -2
  497. package/src/menu-item/stories/index.story.tsx +80 -0
  498. package/src/menu-item/types.ts +3 -2
  499. package/src/menu-items-choice/stories/index.story.tsx +5 -7
  500. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -1
  501. package/src/modal/stories/index.story.tsx +5 -10
  502. package/src/navigable-container/stories/navigable-menu.story.tsx +4 -4
  503. package/src/navigable-container/stories/tabbable-container.story.tsx +4 -4
  504. package/src/navigation/index.tsx +0 -1
  505. package/src/navigation/stories/index.story.tsx +17 -3
  506. package/src/navigation/stories/utils/controlled-state.tsx +2 -2
  507. package/src/navigation/stories/utils/default.tsx +2 -2
  508. package/src/navigation/stories/utils/group.tsx +2 -2
  509. package/src/navigation/stories/utils/hide-if-empty.tsx +2 -2
  510. package/src/navigation/stories/utils/more-examples.tsx +2 -2
  511. package/src/navigation/stories/utils/search.tsx +2 -2
  512. package/src/navigator/navigator-provider/component.tsx +0 -1
  513. package/src/navigator/stories/index.story.tsx +10 -11
  514. package/src/notice/stories/index.story.tsx +7 -7
  515. package/src/number-control/stories/index.story.tsx +4 -4
  516. package/src/palette-edit/stories/index.story.tsx +4 -4
  517. package/src/palette-edit/styles.js +0 -1
  518. package/src/panel/stories/index.story.tsx +10 -12
  519. package/src/placeholder/stories/index.story.tsx +5 -7
  520. package/src/popover/README.md +2 -2
  521. package/src/popover/index.tsx +69 -103
  522. package/src/popover/overlay-middlewares.tsx +2 -2
  523. package/src/popover/stories/index.story.tsx +8 -10
  524. package/src/popover/test/index.tsx +15 -1
  525. package/src/popover/types.ts +6 -0
  526. package/src/popover/utils.ts +5 -56
  527. package/src/progress-bar/stories/index.story.tsx +5 -7
  528. package/src/progress-bar/styles.ts +4 -1
  529. package/src/query-controls/stories/index.story.tsx +6 -7
  530. package/src/radio-control/stories/index.story.tsx +5 -7
  531. package/src/radio-group/stories/index.story.js +1 -0
  532. package/src/range-control/stories/index.story.tsx +13 -19
  533. package/src/resizable-box/stories/index.story.tsx +4 -4
  534. package/src/responsive-wrapper/stories/index.story.tsx +5 -6
  535. package/src/sandbox/index.tsx +4 -1
  536. package/src/sandbox/stories/index.story.tsx +4 -6
  537. package/src/scroll-lock/stories/index.story.tsx +4 -4
  538. package/src/scrollable/stories/index.story.tsx +5 -5
  539. package/src/search-control/index.native.js +39 -27
  540. package/src/search-control/stories/index.story.tsx +4 -4
  541. package/src/select-control/stories/index.story.tsx +4 -4
  542. package/src/shortcut/index.tsx +13 -0
  543. package/src/shortcut/stories/index.story.tsx +33 -0
  544. package/src/slot-fill/README.md +5 -5
  545. package/src/slot-fill/bubbles-virtually/slot-fill-context.js +3 -0
  546. package/src/slot-fill/bubbles-virtually/slot.js +17 -5
  547. package/src/slot-fill/index.js +6 -1
  548. package/src/slot-fill/stories/index.story.js +3 -1
  549. package/src/slot-fill/test/__snapshots__/slot.js.snap +12 -4
  550. package/src/snackbar/stories/index.story.tsx +11 -14
  551. package/src/snackbar/stories/list.story.tsx +4 -4
  552. package/src/spacer/stories/index.story.tsx +5 -5
  553. package/src/spinner/index.tsx +0 -1
  554. package/src/spinner/stories/index.story.tsx +6 -6
  555. package/src/surface/stories/index.story.tsx +5 -5
  556. package/src/tab-panel/stories/index.story.tsx +6 -14
  557. package/src/tab-panel/test/index.tsx +9 -25
  558. package/src/text/test/index.tsx +1 -1
  559. package/src/text-control/stories/index.story.tsx +8 -7
  560. package/src/text-highlight/stories/index.story.tsx +5 -7
  561. package/src/textarea-control/stories/index.story.tsx +5 -7
  562. package/src/theme/index.tsx +0 -1
  563. package/src/theme/stories/index.story.tsx +7 -7
  564. package/src/tip/stories/index.story.tsx +5 -5
  565. package/src/toggle-control/stories/index.story.tsx +4 -4
  566. package/src/toggle-group-control/stories/index.story.tsx +18 -12
  567. package/src/toolbar/stories/index.story.tsx +14 -4
  568. package/src/tools-panel/stories/index.story.tsx +18 -13
  569. package/src/tools-panel/tools-panel/component.tsx +0 -1
  570. package/src/tools-panel/tools-panel-header/component.tsx +3 -0
  571. package/src/tooltip/stories/index.story.js +1 -1
  572. package/src/tree-grid/stories/index.story.tsx +5 -3
  573. package/src/tree-select/index.tsx +0 -1
  574. package/src/tree-select/stories/index.story.tsx +4 -4
  575. package/src/truncate/stories/index.story.tsx +6 -8
  576. package/src/ui/context/constants.js +0 -2
  577. package/src/unit-control/index.tsx +0 -1
  578. package/src/unit-control/stories/index.story.tsx +11 -10
  579. package/src/utils/hooks/use-cx.ts +2 -1
  580. package/src/utils/math.js +0 -11
  581. package/src/utils/values.js +0 -81
  582. package/src/v-stack/stories/e2e/index.story.tsx +4 -4
  583. package/src/v-stack/stories/index.story.tsx +4 -4
  584. package/src/view/component.tsx +0 -1
  585. package/src/view/stories/index.story.tsx +5 -5
  586. package/src/visually-hidden/stories/index.story.tsx +8 -8
  587. package/src/z-stack/stories/index.story.tsx +5 -5
  588. package/tsconfig.tsbuildinfo +1 -1
  589. package/build/popover/limit-shift.js +0 -129
  590. package/build/popover/limit-shift.js.map +0 -1
  591. package/build/ui/utils/get-high-dpi.js +0 -16
  592. package/build/ui/utils/get-high-dpi.js.map +0 -1
  593. package/build/utils/browsers.js +0 -32
  594. package/build/utils/browsers.js.map +0 -1
  595. package/build/utils/events.js +0 -43
  596. package/build/utils/events.js.map +0 -1
  597. package/build-module/popover/limit-shift.js +0 -122
  598. package/build-module/popover/limit-shift.js.map +0 -1
  599. package/build-module/ui/utils/get-high-dpi.js +0 -11
  600. package/build-module/ui/utils/get-high-dpi.js.map +0 -1
  601. package/build-module/utils/browsers.js +0 -25
  602. package/build-module/utils/browsers.js.map +0 -1
  603. package/build-module/utils/events.js +0 -37
  604. package/build-module/utils/events.js.map +0 -1
  605. package/build-types/alignment-matrix-control/stories/index.d.ts +0 -14
  606. package/build-types/alignment-matrix-control/stories/index.d.ts.map +0 -1
  607. package/build-types/angle-picker-control/stories/index.d.ts +0 -15
  608. package/build-types/angle-picker-control/stories/index.d.ts.map +0 -1
  609. package/build-types/animate/stories/index.d.ts +0 -18
  610. package/build-types/animate/stories/index.d.ts.map +0 -1
  611. package/build-types/base-control/stories/index.d.ts +0 -25
  612. package/build-types/base-control/stories/index.d.ts.map +0 -1
  613. package/build-types/border-box-control/stories/index.d.ts +0 -17
  614. package/build-types/border-box-control/stories/index.d.ts.map +0 -1
  615. package/build-types/border-control/stories/index.d.ts +0 -119
  616. package/build-types/border-control/stories/index.d.ts.map +0 -1
  617. package/build-types/button/stories/e2e/index.d.ts +0 -15
  618. package/build-types/button/stories/e2e/index.d.ts.map +0 -1
  619. package/build-types/button/stories/index.d.ts +0 -20
  620. package/build-types/button/stories/index.d.ts.map +0 -1
  621. package/build-types/button-group/stories/index.d.ts +0 -12
  622. package/build-types/button-group/stories/index.d.ts.map +0 -1
  623. package/build-types/card/stories/index.d.ts +0 -32
  624. package/build-types/card/stories/index.d.ts.map +0 -1
  625. package/build-types/checkbox-control/stories/index.d.ts +0 -13
  626. package/build-types/checkbox-control/stories/index.d.ts.map +0 -1
  627. package/build-types/circular-option-picker/stories/index.d.ts +0 -14
  628. package/build-types/circular-option-picker/stories/index.d.ts.map +0 -1
  629. package/build-types/color-indicator/stories/index.d.ts +0 -12
  630. package/build-types/color-indicator/stories/index.d.ts.map +0 -1
  631. package/build-types/color-palette/stories/index.d.ts +0 -46
  632. package/build-types/color-palette/stories/index.d.ts.map +0 -1
  633. package/build-types/color-picker/stories/index.d.ts +0 -19
  634. package/build-types/color-picker/stories/index.d.ts.map +0 -1
  635. package/build-types/combobox-control/stories/index.d.ts +0 -18
  636. package/build-types/combobox-control/stories/index.d.ts.map +0 -1
  637. package/build-types/custom-gradient-picker/stories/index.d.ts +0 -12
  638. package/build-types/custom-gradient-picker/stories/index.d.ts.map +0 -1
  639. package/build-types/date-time/stories/date-time.d.ts +0 -14
  640. package/build-types/date-time/stories/date-time.d.ts.map +0 -1
  641. package/build-types/date-time/stories/date.d.ts +0 -14
  642. package/build-types/date-time/stories/date.d.ts.map +0 -1
  643. package/build-types/date-time/stories/time.d.ts +0 -12
  644. package/build-types/date-time/stories/time.d.ts.map +0 -1
  645. package/build-types/dimension-control/stories/index.d.ts +0 -12
  646. package/build-types/dimension-control/stories/index.d.ts.map +0 -1
  647. package/build-types/disabled/stories/index.d.ts +0 -13
  648. package/build-types/disabled/stories/index.d.ts.map +0 -1
  649. package/build-types/divider/stories/index.d.ts +0 -11
  650. package/build-types/divider/stories/index.d.ts.map +0 -1
  651. package/build-types/draggable/stories/index.d.ts +0 -20
  652. package/build-types/draggable/stories/index.d.ts.map +0 -1
  653. package/build-types/drop-zone/stories/index.d.ts +0 -12
  654. package/build-types/drop-zone/stories/index.d.ts.map +0 -1
  655. package/build-types/dropdown/stories/index.d.ts +0 -23
  656. package/build-types/dropdown/stories/index.d.ts.map +0 -1
  657. package/build-types/dropdown-menu/stories/index.d.ts +0 -14
  658. package/build-types/dropdown-menu/stories/index.d.ts.map +0 -1
  659. package/build-types/dropdown-menu-v2/stories/index.d.ts +0 -11
  660. package/build-types/dropdown-menu-v2/stories/index.d.ts.map +0 -1
  661. package/build-types/duotone-picker/stories/duotone-picker.d.ts +0 -12
  662. package/build-types/duotone-picker/stories/duotone-picker.d.ts.map +0 -1
  663. package/build-types/duotone-picker/stories/duotone-swatch.d.ts +0 -14
  664. package/build-types/duotone-picker/stories/duotone-swatch.d.ts.map +0 -1
  665. package/build-types/elevation/stories/index.d.ts +0 -22
  666. package/build-types/elevation/stories/index.d.ts.map +0 -1
  667. package/build-types/external-link/stories/index.d.ts +0 -12
  668. package/build-types/external-link/stories/index.d.ts.map +0 -1
  669. package/build-types/flex/stories/index.d.ts +0 -13
  670. package/build-types/flex/stories/index.d.ts.map +0 -1
  671. package/build-types/focal-point-picker/stories/index.d.ts +0 -15
  672. package/build-types/focal-point-picker/stories/index.d.ts.map +0 -1
  673. package/build-types/font-size-picker/stories/e2e/index.d.ts +0 -16
  674. package/build-types/font-size-picker/stories/e2e/index.d.ts.map +0 -1
  675. package/build-types/font-size-picker/stories/index.d.ts +0 -31
  676. package/build-types/font-size-picker/stories/index.d.ts.map +0 -1
  677. package/build-types/form-file-upload/stories/index.d.ts +0 -23
  678. package/build-types/form-file-upload/stories/index.d.ts.map +0 -1
  679. package/build-types/form-toggle/stories/index.d.ts +0 -12
  680. package/build-types/form-toggle/stories/index.d.ts.map +0 -1
  681. package/build-types/form-token-field/stories/index.d.ts +0 -26
  682. package/build-types/form-token-field/stories/index.d.ts.map +0 -1
  683. package/build-types/gradient-picker/stories/index.d.ts +0 -14
  684. package/build-types/gradient-picker/stories/index.d.ts.map +0 -1
  685. package/build-types/grid/stories/index.d.ts +0 -9
  686. package/build-types/grid/stories/index.d.ts.map +0 -1
  687. package/build-types/guide/stories/index.d.ts +0 -9
  688. package/build-types/guide/stories/index.d.ts.map +0 -1
  689. package/build-types/h-stack/stories/e2e/index.d.ts +0 -9
  690. package/build-types/h-stack/stories/e2e/index.d.ts.map +0 -1
  691. package/build-types/h-stack/stories/index.d.ts +0 -9
  692. package/build-types/h-stack/stories/index.d.ts.map +0 -1
  693. package/build-types/heading/stories/index.d.ts +0 -12
  694. package/build-types/heading/stories/index.d.ts.map +0 -1
  695. package/build-types/icon/stories/index.d.ts +0 -22
  696. package/build-types/icon/stories/index.d.ts.map +0 -1
  697. package/build-types/input-control/stories/index.d.ts +0 -28
  698. package/build-types/input-control/stories/index.d.ts.map +0 -1
  699. package/build-types/item-group/stories/index.d.ts +0 -15
  700. package/build-types/item-group/stories/index.d.ts.map +0 -1
  701. package/build-types/keyboard-shortcuts/stories/index.d.ts +0 -12
  702. package/build-types/keyboard-shortcuts/stories/index.d.ts.map +0 -1
  703. package/build-types/menu-group/stories/index.d.ts +0 -17
  704. package/build-types/menu-group/stories/index.d.ts.map +0 -1
  705. package/build-types/menu-items-choice/stories/index.d.ts +0 -12
  706. package/build-types/menu-items-choice/stories/index.d.ts.map +0 -1
  707. package/build-types/modal/stories/index.d.ts +0 -10
  708. package/build-types/modal/stories/index.d.ts.map +0 -1
  709. package/build-types/navigable-container/stories/navigable-menu.d.ts +0 -12
  710. package/build-types/navigable-container/stories/navigable-menu.d.ts.map +0 -1
  711. package/build-types/navigable-container/stories/tabbable-container.d.ts +0 -12
  712. package/build-types/navigable-container/stories/tabbable-container.d.ts.map +0 -1
  713. package/build-types/navigation/stories/index.d.ts +0 -18
  714. package/build-types/navigation/stories/index.d.ts.map +0 -1
  715. package/build-types/navigator/stories/index.d.ts +0 -11
  716. package/build-types/navigator/stories/index.d.ts.map +0 -1
  717. package/build-types/notice/stories/index.d.ts +0 -17
  718. package/build-types/notice/stories/index.d.ts.map +0 -1
  719. package/build-types/number-control/stories/index.d.ts +0 -25
  720. package/build-types/number-control/stories/index.d.ts.map +0 -1
  721. package/build-types/palette-edit/stories/index.d.ts +0 -13
  722. package/build-types/palette-edit/stories/index.d.ts.map +0 -1
  723. package/build-types/panel/stories/index.d.ts +0 -19
  724. package/build-types/panel/stories/index.d.ts.map +0 -1
  725. package/build-types/placeholder/stories/index.d.ts +0 -12
  726. package/build-types/placeholder/stories/index.d.ts.map +0 -1
  727. package/build-types/popover/limit-shift.d.ts +0 -87
  728. package/build-types/popover/limit-shift.d.ts.map +0 -1
  729. package/build-types/popover/stories/e2e/index.d.ts +0 -8
  730. package/build-types/popover/stories/e2e/index.d.ts.map +0 -1
  731. package/build-types/popover/stories/index.d.ts +0 -13
  732. package/build-types/popover/stories/index.d.ts.map +0 -1
  733. package/build-types/progress-bar/stories/index.d.ts +0 -12
  734. package/build-types/progress-bar/stories/index.d.ts.map +0 -1
  735. package/build-types/query-controls/stories/index.d.ts +0 -13
  736. package/build-types/query-controls/stories/index.d.ts.map +0 -1
  737. package/build-types/radio-control/stories/index.d.ts +0 -12
  738. package/build-types/radio-control/stories/index.d.ts.map +0 -1
  739. package/build-types/range-control/stories/index.d.ts +0 -48
  740. package/build-types/range-control/stories/index.d.ts.map +0 -1
  741. package/build-types/resizable-box/stories/index.d.ts +0 -61
  742. package/build-types/resizable-box/stories/index.d.ts.map +0 -1
  743. package/build-types/responsive-wrapper/stories/index.d.ts +0 -22
  744. package/build-types/responsive-wrapper/stories/index.d.ts.map +0 -1
  745. package/build-types/sandbox/stories/index.d.ts +0 -12
  746. package/build-types/sandbox/stories/index.d.ts.map +0 -1
  747. package/build-types/scroll-lock/stories/index.d.ts +0 -9
  748. package/build-types/scroll-lock/stories/index.d.ts.map +0 -1
  749. package/build-types/scrollable/stories/index.d.ts +0 -9
  750. package/build-types/scrollable/stories/index.d.ts.map +0 -1
  751. package/build-types/search-control/stories/index.d.ts +0 -47
  752. package/build-types/search-control/stories/index.d.ts.map +0 -1
  753. package/build-types/select-control/stories/index.d.ts +0 -19
  754. package/build-types/select-control/stories/index.d.ts.map +0 -1
  755. package/build-types/snackbar/stories/index.d.ts +0 -16
  756. package/build-types/snackbar/stories/index.d.ts.map +0 -1
  757. package/build-types/snackbar/stories/list.d.ts +0 -12
  758. package/build-types/snackbar/stories/list.d.ts.map +0 -1
  759. package/build-types/spacer/stories/index.d.ts +0 -12
  760. package/build-types/spacer/stories/index.d.ts.map +0 -1
  761. package/build-types/spinner/stories/index.d.ts +0 -13
  762. package/build-types/spinner/stories/index.d.ts.map +0 -1
  763. package/build-types/surface/stories/index.d.ts +0 -12
  764. package/build-types/surface/stories/index.d.ts.map +0 -1
  765. package/build-types/tab-panel/stories/index.d.ts +0 -16
  766. package/build-types/tab-panel/stories/index.d.ts.map +0 -1
  767. package/build-types/text-control/stories/index.d.ts +0 -13
  768. package/build-types/text-control/stories/index.d.ts.map +0 -1
  769. package/build-types/text-highlight/stories/index.d.ts +0 -12
  770. package/build-types/text-highlight/stories/index.d.ts.map +0 -1
  771. package/build-types/textarea-control/stories/index.d.ts +0 -12
  772. package/build-types/textarea-control/stories/index.d.ts.map +0 -1
  773. package/build-types/theme/stories/index.d.ts +0 -17
  774. package/build-types/theme/stories/index.d.ts.map +0 -1
  775. package/build-types/tip/stories/index.d.ts +0 -12
  776. package/build-types/tip/stories/index.d.ts.map +0 -1
  777. package/build-types/toggle-control/stories/index.d.ts +0 -13
  778. package/build-types/toggle-control/stories/index.d.ts.map +0 -1
  779. package/build-types/toggle-group-control/stories/index.d.ts +0 -27
  780. package/build-types/toggle-group-control/stories/index.d.ts.map +0 -1
  781. package/build-types/toolbar/stories/index.d.ts +0 -14
  782. package/build-types/toolbar/stories/index.d.ts.map +0 -1
  783. package/build-types/tools-panel/stories/index.d.ts +0 -17
  784. package/build-types/tools-panel/stories/index.d.ts.map +0 -1
  785. package/build-types/tree-grid/stories/index.d.ts +0 -13
  786. package/build-types/tree-grid/stories/index.d.ts.map +0 -1
  787. package/build-types/tree-select/stories/index.d.ts +0 -12
  788. package/build-types/tree-select/stories/index.d.ts.map +0 -1
  789. package/build-types/truncate/stories/index.d.ts +0 -13
  790. package/build-types/truncate/stories/index.d.ts.map +0 -1
  791. package/build-types/ui/control-group/component.d.ts +0 -27
  792. package/build-types/ui/control-group/component.d.ts.map +0 -1
  793. package/build-types/ui/control-group/context.d.ts +0 -4
  794. package/build-types/ui/control-group/context.d.ts.map +0 -1
  795. package/build-types/ui/control-group/hook.d.ts +0 -266
  796. package/build-types/ui/control-group/hook.d.ts.map +0 -1
  797. package/build-types/ui/control-group/index.d.ts +0 -4
  798. package/build-types/ui/control-group/index.d.ts.map +0 -1
  799. package/build-types/ui/control-group/styles.d.ts +0 -8
  800. package/build-types/ui/control-group/styles.d.ts.map +0 -1
  801. package/build-types/ui/control-group/types.d.ts +0 -27
  802. package/build-types/ui/control-group/types.d.ts.map +0 -1
  803. package/build-types/ui/control-label/component.d.ts +0 -23
  804. package/build-types/ui/control-label/component.d.ts.map +0 -1
  805. package/build-types/ui/control-label/hook.d.ts +0 -265
  806. package/build-types/ui/control-label/hook.d.ts.map +0 -1
  807. package/build-types/ui/control-label/index.d.ts +0 -3
  808. package/build-types/ui/control-label/index.d.ts.map +0 -1
  809. package/build-types/ui/control-label/styles.d.ts +0 -7
  810. package/build-types/ui/control-label/styles.d.ts.map +0 -1
  811. package/build-types/ui/control-label/types.d.ts +0 -9
  812. package/build-types/ui/control-label/types.d.ts.map +0 -1
  813. package/build-types/ui/form-group/form-group-content.d.ts +0 -7
  814. package/build-types/ui/form-group/form-group-content.d.ts.map +0 -1
  815. package/build-types/ui/form-group/form-group-context.d.ts +0 -11
  816. package/build-types/ui/form-group/form-group-context.d.ts.map +0 -1
  817. package/build-types/ui/form-group/form-group-help.d.ts +0 -18
  818. package/build-types/ui/form-group/form-group-help.d.ts.map +0 -1
  819. package/build-types/ui/form-group/form-group-label.d.ts +0 -8
  820. package/build-types/ui/form-group/form-group-label.d.ts.map +0 -1
  821. package/build-types/ui/form-group/form-group-styles.d.ts +0 -2
  822. package/build-types/ui/form-group/form-group-styles.d.ts.map +0 -1
  823. package/build-types/ui/form-group/form-group.d.ts +0 -53
  824. package/build-types/ui/form-group/form-group.d.ts.map +0 -1
  825. package/build-types/ui/form-group/index.d.ts +0 -4
  826. package/build-types/ui/form-group/index.d.ts.map +0 -1
  827. package/build-types/ui/form-group/types.d.ts +0 -30
  828. package/build-types/ui/form-group/types.d.ts.map +0 -1
  829. package/build-types/ui/form-group/use-form-group.d.ts +0 -593
  830. package/build-types/ui/form-group/use-form-group.d.ts.map +0 -1
  831. package/build-types/ui/index.d.ts +0 -6
  832. package/build-types/ui/index.d.ts.map +0 -1
  833. package/build-types/ui/spinner/component.d.ts +0 -13
  834. package/build-types/ui/spinner/component.d.ts.map +0 -1
  835. package/build-types/ui/spinner/index.d.ts +0 -2
  836. package/build-types/ui/spinner/index.d.ts.map +0 -1
  837. package/build-types/ui/spinner/styles.d.ts +0 -13
  838. package/build-types/ui/spinner/styles.d.ts.map +0 -1
  839. package/build-types/ui/spinner/utils.d.ts +0 -3
  840. package/build-types/ui/spinner/utils.d.ts.map +0 -1
  841. package/build-types/ui/utils/get-high-dpi.d.ts +0 -3
  842. package/build-types/ui/utils/get-high-dpi.d.ts.map +0 -1
  843. package/build-types/unit-control/stories/index.d.ts +0 -33
  844. package/build-types/unit-control/stories/index.d.ts.map +0 -1
  845. package/build-types/utils/browsers.d.ts +0 -11
  846. package/build-types/utils/browsers.d.ts.map +0 -1
  847. package/build-types/utils/events.d.ts +0 -11
  848. package/build-types/utils/events.d.ts.map +0 -1
  849. package/build-types/v-stack/stories/e2e/index.d.ts +0 -9
  850. package/build-types/v-stack/stories/e2e/index.d.ts.map +0 -1
  851. package/build-types/v-stack/stories/index.d.ts +0 -13
  852. package/build-types/v-stack/stories/index.d.ts.map +0 -1
  853. package/build-types/view/stories/index.d.ts +0 -12
  854. package/build-types/view/stories/index.d.ts.map +0 -1
  855. package/build-types/visually-hidden/stories/index.d.ts +0 -14
  856. package/build-types/visually-hidden/stories/index.d.ts.map +0 -1
  857. package/build-types/z-stack/stories/index.d.ts +0 -6
  858. package/build-types/z-stack/stories/index.d.ts.map +0 -1
  859. package/src/popover/limit-shift.ts +0 -205
  860. package/src/ui/utils/get-high-dpi.ts +0 -20
  861. package/src/utils/browsers.js +0 -36
  862. package/src/utils/events.ts +0 -50
  863. package/src/utils/test/events.js +0 -63
  864. package/src/utils/test/values.js +0 -101
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","createElement","lang","documentElement","className","dangerouslySetInnerHTML","__html","map","i","key","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_compose","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","createElement","lang","documentElement","className","dangerouslySetInnerHTML","__html","map","i","key","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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"}
@@ -90,20 +90,36 @@ function SearchControl({
90
90
  // see https://github.com/WordPress/gutenberg/pull/41166
91
91
  // eslint-disable-next-line react-hooks/exhaustive-deps
92
92
  }, [isActive, isDark]);
93
+ const clearInput = (0, _element.useCallback)(() => {
94
+ onChange('');
95
+ }, [onChange]);
96
+ const onPress = (0, _element.useCallback)(() => {
97
+ setIsActive(true);
98
+ inputRef.current?.focus();
99
+ }, []);
100
+ const onFocus = (0, _element.useCallback)(() => {
101
+ setIsActive(true);
102
+ }, []);
103
+ const onCancel = (0, _element.useCallback)(() => {
104
+ clearTimeout(onCancelTimer.current);
105
+ onCancelTimer.current = setTimeout(() => {
106
+ inputRef.current?.blur();
107
+ clearInput();
108
+ setIsActive(false);
109
+ }, 0);
110
+ }, [clearInput]);
111
+ const onKeyboardDidHide = (0, _element.useCallback)(() => {
112
+ if (!isIOS) {
113
+ onCancel();
114
+ }
115
+ }, [isIOS, onCancel]);
93
116
  (0, _element.useEffect)(() => {
94
- const keyboardHideSubscription = _reactNative.Keyboard.addListener('keyboardDidHide', () => {
95
- if (!isIOS) {
96
- onCancel();
97
- }
98
- });
117
+ const keyboardHideSubscription = _reactNative.Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);
99
118
  return () => {
100
119
  clearTimeout(onCancelTimer.current);
101
120
  keyboardHideSubscription.remove();
102
121
  };
103
- // Disable reason: deferring this refactor to the native team.
104
- // see https://github.com/WordPress/gutenberg/pull/41166
105
- // eslint-disable-next-line react-hooks/exhaustive-deps
106
- }, []);
122
+ }, [onKeyboardDidHide]);
107
123
  const {
108
124
  'search-control__container': containerStyle,
109
125
  'search-control__inner-container': innerContainerStyle,
@@ -118,16 +134,6 @@ function SearchControl({
118
134
  'search-control__icon': iconStyle,
119
135
  'search-control__right-icon': rightIconStyle
120
136
  } = currentStyles;
121
- function clearInput() {
122
- onChange('');
123
- }
124
- function onCancel() {
125
- onCancelTimer.current = setTimeout(() => {
126
- inputRef.current.blur();
127
- clearInput();
128
- setIsActive(false);
129
- }, 0);
130
- }
131
137
  function renderLeftButton() {
132
138
  const button = !isIOS && isActive ? (0, _element.createElement)(_components.Button, {
133
139
  label: (0, _i18n.__)('Cancel search'),
@@ -178,10 +184,7 @@ function SearchControl({
178
184
  }
179
185
  return (0, _element.createElement)(_reactNative.TouchableOpacity, {
180
186
  style: containerStyle,
181
- onPress: () => {
182
- setIsActive(true);
183
- inputRef.current.focus();
184
- },
187
+ onPress: onPress,
185
188
  activeOpacity: 1
186
189
  }, (0, _element.createElement)(_reactNative.View, {
187
190
  style: innerContainerStyle
@@ -192,7 +195,7 @@ function SearchControl({
192
195
  style: formInputStyle,
193
196
  placeholderTextColor: placeholderStyle?.color,
194
197
  onChangeText: onChange,
195
- onFocus: () => setIsActive(true),
198
+ onFocus: onFocus,
196
199
  value: value,
197
200
  placeholder: placeholder
198
201
  }), renderRightButton()), isActive && renderCancel()));
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_reactNative","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","keyboardHideSubscription","Keyboard","addListener","onCancel","clearTimeout","current","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","clearInput","setTimeout","blur","renderLeftButton","button","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","onPress","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","focus","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","onFocus","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\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"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_reactNative","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { 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\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible={ 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={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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"}
@@ -9,6 +9,19 @@ var _element = require("@wordpress/element");
9
9
  * Internal dependencies
10
10
  */
11
11
 
12
+ /**
13
+ * Shortcut component is used to display keyboard shortcuts, and it can be customized with a custom display and aria label if needed.
14
+ *
15
+ * ```jsx
16
+ * import { Shortcut } from '@wordpress/components';
17
+ *
18
+ * const MyShortcut = () => {
19
+ * return (
20
+ * <Shortcut shortcut={{ display: 'Ctrl + S', ariaLabel: 'Save' }} />
21
+ * );
22
+ * };
23
+ * ```
24
+ */
12
25
  function Shortcut(props) {
13
26
  const {
14
27
  shortcut,
@@ -1 +1 @@
1
- {"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","_element","createElement","_default","exports","default"],"sources":["@wordpress/components/src/shortcut/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { ShortcutProps } from './types';\n\nfunction Shortcut( props: ShortcutProps ) {\n\tconst { shortcut, className } = props;\n\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( typeof shortcut === 'string' ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( shortcut !== null && typeof shortcut === 'object' ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA,SAASA,QAAQA,CAAEC,KAAoB,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGF,KAAK;EAErC,IAAK,CAAEC,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,IAAIE,WAAW;EACf,IAAIC,SAAS;EAEb,IAAK,OAAOH,QAAQ,KAAK,QAAQ,EAAG;IACnCE,WAAW,GAAGF,QAAQ;EACvB;EAEA,IAAKA,QAAQ,KAAK,IAAI,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACxDE,WAAW,GAAGF,QAAQ,CAACI,OAAO;IAC9BD,SAAS,GAAGH,QAAQ,CAACG,SAAS;EAC/B;EAEA,OACC,IAAAE,QAAA,CAAAC,aAAA;IAAML,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAAC,IAAAK,QAAA,GAEcT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","_element","createElement","_default","exports","default"],"sources":["@wordpress/components/src/shortcut/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { ShortcutProps } from './types';\n\n/**\n * Shortcut component is used to display keyboard shortcuts, and it can be customized with a custom display and aria label if needed.\n *\n * ```jsx\n * import { Shortcut } from '@wordpress/components';\n *\n * const MyShortcut = () => {\n * \treturn (\n * \t\t<Shortcut shortcut={{ display: 'Ctrl + S', ariaLabel: 'Save' }} />\n * \t);\n * };\n * ```\n */\nfunction Shortcut( props: ShortcutProps ) {\n\tconst { shortcut, className } = props;\n\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( typeof shortcut === 'string' ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( shortcut !== null && typeof shortcut === 'object' ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAAEC,KAAoB,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGF,KAAK;EAErC,IAAK,CAAEC,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,IAAIE,WAAW;EACf,IAAIC,SAAS;EAEb,IAAK,OAAOH,QAAQ,KAAK,QAAQ,EAAG;IACnCE,WAAW,GAAGF,QAAQ;EACvB;EAEA,IAAKA,QAAQ,KAAK,IAAI,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACxDE,WAAW,GAAGF,QAAQ,CAACI,OAAO;IAC9BD,SAAS,GAAGH,QAAQ,CAACG,SAAS;EAC/B;EAEA,OACC,IAAAE,QAAA,CAAAC,aAAA;IAAML,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAAC,IAAAK,QAAA,GAEcT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -21,12 +21,14 @@ const SlotFillContext = (0, _element.createContext)({
21
21
  slots: (0, _utils.proxyMap)(),
22
22
  fills: (0, _utils.proxyMap)(),
23
23
  registerSlot: () => {
24
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
24
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
25
25
  },
26
26
  updateSlot: () => {},
27
27
  unregisterSlot: () => {},
28
28
  registerFill: () => {},
29
- unregisterFill: () => {}
29
+ unregisterFill: () => {},
30
+ // This helps the provider know if it's using the default context value or not.
31
+ isDefault: true
30
32
  });
31
33
  var _default = SlotFillContext;
32
34
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_element","_warning","_interopRequireDefault","SlotFillContext","createContext","slots","proxyMap","fills","registerSlot","process","env","NODE_ENV","warning","updateSlot","unregisterSlot","registerFill","unregisterFill","_default","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-context.js"],"sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { proxyMap } from 'valtio/utils';\n/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\nconst SlotFillContext = createContext( {\n\tslots: proxyMap(),\n\tfills: proxyMap(),\n\tregisterSlot: () => {\n\t\twarning(\n\t\t\t'Components must be wrapped within `SlotFillProvider`. ' +\n\t\t\t\t'See https://developer.wordpress.org/block-editor/components/slot-fill/'\n\t\t);\n\t},\n\tupdateSlot: () => {},\n\tunregisterSlot: () => {},\n\tregisterFill: () => {},\n\tunregisterFill: () => {},\n} );\n\nexport default SlotFillContext;\n"],"mappings":";;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAIA,MAAMI,eAAe,GAAG,IAAAC,sBAAa,EAAE;EACtCC,KAAK,EAAE,IAAAC,eAAQ,EAAC,CAAC;EACjBC,KAAK,EAAE,IAAAD,eAAQ,EAAC,CAAC;EACjBE,YAAY,EAAEA,CAAA,KAAM;IACnB,OAAAC,OAAA,oBAAAA,OAAA,CAAAC,GAAA,IAAAD,OAAA,CAAAC,GAAA,CAAAC,QAAA,wBAAAC,gBAAO,EACN,wDAAwD,GACvD,wEACF,CAAC;EACF,CAAC;EACDC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,cAAc,EAAEA,CAAA,KAAM,CAAC;AACxB,CAAE,CAAC;AAAC,IAAAC,QAAA,GAEWd,eAAe;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_utils","require","_element","_warning","_interopRequireDefault","SlotFillContext","createContext","slots","proxyMap","fills","registerSlot","SCRIPT_DEBUG","warning","updateSlot","unregisterSlot","registerFill","unregisterFill","isDefault","_default","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-context.js"],"sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { proxyMap } from 'valtio/utils';\n/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\nconst SlotFillContext = createContext( {\n\tslots: proxyMap(),\n\tfills: proxyMap(),\n\tregisterSlot: () => {\n\t\twarning(\n\t\t\t'Components must be wrapped within `SlotFillProvider`. ' +\n\t\t\t\t'See https://developer.wordpress.org/block-editor/components/slot-fill/'\n\t\t);\n\t},\n\tupdateSlot: () => {},\n\tunregisterSlot: () => {},\n\tregisterFill: () => {},\n\tunregisterFill: () => {},\n\n\t// This helps the provider know if it's using the default context value or not.\n\tisDefault: true,\n} );\n\nexport default SlotFillContext;\n"],"mappings":";;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAIA,MAAMI,eAAe,GAAG,IAAAC,sBAAa,EAAE;EACtCC,KAAK,EAAE,IAAAC,eAAQ,EAAC,CAAC;EACjBC,KAAK,EAAE,IAAAD,eAAQ,EAAC,CAAC;EACjBE,YAAY,EAAEA,CAAA,KAAM;IACnB,OAAAC,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EACN,wDAAwD,GACvD,wEACF,CAAC;EACF,CAAC;EACDC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EAExB;EACAC,SAAS,EAAE;AACZ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAEWb,eAAe;AAAAc,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _element = require("@wordpress/element");
9
9
  var _compose = require("@wordpress/compose");
10
+ var _view = require("../../view");
10
11
  var _slotFillContext = _interopRequireDefault(require("./slot-fill-context"));
11
12
  // @ts-nocheck
12
13
  /**
@@ -17,12 +18,16 @@ var _slotFillContext = _interopRequireDefault(require("./slot-fill-context"));
17
18
  * Internal dependencies
18
19
  */
19
20
 
20
- function Slot({
21
- name,
22
- fillProps = {},
23
- as: Component = 'div',
24
- ...props
25
- }, forwardedRef) {
21
+ function Slot(props, forwardedRef) {
22
+ const {
23
+ name,
24
+ fillProps = {},
25
+ as,
26
+ // `children` is not allowed. However, if it is passed,
27
+ // it will be displayed as is, so remove `children`.
28
+ children,
29
+ ...restProps
30
+ } = props;
26
31
  const {
27
32
  registerSlot,
28
33
  unregisterSlot,
@@ -45,9 +50,10 @@ function Slot({
45
50
  (0, _element.useLayoutEffect)(() => {
46
51
  registry.updateSlot(name, fillProps);
47
52
  });
48
- return (0, _element.createElement)(Component, {
53
+ return (0, _element.createElement)(_view.View, {
54
+ as: as,
49
55
  ref: (0, _compose.useMergeRefs)([forwardedRef, ref]),
50
- ...props
56
+ ...restProps
51
57
  });
52
58
  }
53
59
  var _default = (0, _element.forwardRef)(Slot);
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_slotFillContext","_interopRequireDefault","Slot","name","fillProps","as","Component","props","forwardedRef","registerSlot","unregisterSlot","registry","useContext","SlotFillContext","ref","useRef","useLayoutEffect","updateSlot","createElement","useMergeRefs","_default","forwardRef","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tuseContext,\n\tforwardRef,\n} from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SlotFillContext from './slot-fill-context';\n\nfunction Slot(\n\t{ name, fillProps = {}, as: Component = 'div', ...props },\n\tforwardedRef\n) {\n\tconst { registerSlot, unregisterSlot, ...registry } =\n\t\tuseContext( SlotFillContext );\n\tconst ref = useRef();\n\n\tuseLayoutEffect( () => {\n\t\tregisterSlot( name, ref, fillProps );\n\t\treturn () => {\n\t\t\tunregisterSlot( name, ref );\n\t\t};\n\t\t// Ignore reason: We don't want to unregister and register the slot whenever\n\t\t// `fillProps` change, which would cause the fill to be re-mounted. Instead,\n\t\t// we can just update the slot (see hook below).\n\t\t// For more context, see https://github.com/WordPress/gutenberg/pull/44403#discussion_r994415973\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ registerSlot, unregisterSlot, name ] );\n\t// fillProps may be an update that interacts with the layout, so we\n\t// useLayoutEffect.\n\tuseLayoutEffect( () => {\n\t\tregistry.updateSlot( name, fillProps );\n\t} );\n\n\treturn (\n\t\t<Component ref={ useMergeRefs( [ forwardedRef, ref ] ) } { ...props } />\n\t);\n}\n\nexport default forwardRef( Slot );\n"],"mappings":";;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,gBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAfA;AACA;AACA;AACA;;AASA;AACA;AACA;;AAGA,SAASI,IAAIA,CACZ;EAAEC,IAAI;EAAEC,SAAS,GAAG,CAAC,CAAC;EAAEC,EAAE,EAAEC,SAAS,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EACzDC,YAAY,EACX;EACD,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAE,GAAGC;EAAS,CAAC,GAClD,IAAAC,mBAAU,EAAEC,wBAAgB,CAAC;EAC9B,MAAMC,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EAEpB,IAAAC,wBAAe,EAAE,MAAM;IACtBP,YAAY,CAAEN,IAAI,EAAEW,GAAG,EAAEV,SAAU,CAAC;IACpC,OAAO,MAAM;MACZM,cAAc,CAAEP,IAAI,EAAEW,GAAI,CAAC;IAC5B,CAAC;IACD;IACA;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEL,YAAY,EAAEC,cAAc,EAAEP,IAAI,CAAG,CAAC;EAC3C;EACA;EACA,IAAAa,wBAAe,EAAE,MAAM;IACtBL,QAAQ,CAACM,UAAU,CAAEd,IAAI,EAAEC,SAAU,CAAC;EACvC,CAAE,CAAC;EAEH,OACC,IAAAP,QAAA,CAAAqB,aAAA,EAACZ,SAAS;IAACQ,GAAG,EAAG,IAAAK,qBAAY,EAAE,CAAEX,YAAY,EAAEM,GAAG,CAAG,CAAG;IAAA,GAAMP;EAAK,CAAI,CAAC;AAE1E;AAAC,IAAAa,QAAA,GAEc,IAAAC,mBAAU,EAAEnB,IAAK,CAAC;AAAAoB,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
1
+ {"version":3,"names":["_element","require","_compose","_view","_slotFillContext","_interopRequireDefault","Slot","props","forwardedRef","name","fillProps","as","children","restProps","registerSlot","unregisterSlot","registry","useContext","SlotFillContext","ref","useRef","useLayoutEffect","updateSlot","createElement","View","useMergeRefs","_default","forwardRef","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tuseContext,\n\tforwardRef,\n} from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { View } from '../../view';\nimport SlotFillContext from './slot-fill-context';\n\nfunction Slot( props, forwardedRef ) {\n\tconst {\n\t\tname,\n\t\tfillProps = {},\n\t\tas,\n\t\t// `children` is not allowed. However, if it is passed,\n\t\t// it will be displayed as is, so remove `children`.\n\t\tchildren,\n\t\t...restProps\n\t} = props;\n\n\tconst { registerSlot, unregisterSlot, ...registry } =\n\t\tuseContext( SlotFillContext );\n\tconst ref = useRef();\n\n\tuseLayoutEffect( () => {\n\t\tregisterSlot( name, ref, fillProps );\n\t\treturn () => {\n\t\t\tunregisterSlot( name, ref );\n\t\t};\n\t\t// Ignore reason: We don't want to unregister and register the slot whenever\n\t\t// `fillProps` change, which would cause the fill to be re-mounted. Instead,\n\t\t// we can just update the slot (see hook below).\n\t\t// For more context, see https://github.com/WordPress/gutenberg/pull/44403#discussion_r994415973\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ registerSlot, unregisterSlot, name ] );\n\t// fillProps may be an update that interacts with the layout, so we\n\t// useLayoutEffect.\n\tuseLayoutEffect( () => {\n\t\tregistry.updateSlot( name, fillProps );\n\t} );\n\n\treturn (\n\t\t<View\n\t\t\tas={ as }\n\t\t\tref={ useMergeRefs( [ forwardedRef, ref ] ) }\n\t\t\t{ ...restProps }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( Slot );\n"],"mappings":";;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAhBA;AACA;AACA;AACA;;AASA;AACA;AACA;;AAIA,SAASK,IAAIA,CAAEC,KAAK,EAAEC,YAAY,EAAG;EACpC,MAAM;IACLC,IAAI;IACJC,SAAS,GAAG,CAAC,CAAC;IACdC,EAAE;IACF;IACA;IACAC,QAAQ;IACR,GAAGC;EACJ,CAAC,GAAGN,KAAK;EAET,MAAM;IAAEO,YAAY;IAAEC,cAAc;IAAE,GAAGC;EAAS,CAAC,GAClD,IAAAC,mBAAU,EAAEC,wBAAgB,CAAC;EAC9B,MAAMC,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EAEpB,IAAAC,wBAAe,EAAE,MAAM;IACtBP,YAAY,CAAEL,IAAI,EAAEU,GAAG,EAAET,SAAU,CAAC;IACpC,OAAO,MAAM;MACZK,cAAc,CAAEN,IAAI,EAAEU,GAAI,CAAC;IAC5B,CAAC;IACD;IACA;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEL,YAAY,EAAEC,cAAc,EAAEN,IAAI,CAAG,CAAC;EAC3C;EACA;EACA,IAAAY,wBAAe,EAAE,MAAM;IACtBL,QAAQ,CAACM,UAAU,CAAEb,IAAI,EAAEC,SAAU,CAAC;EACvC,CAAE,CAAC;EAEH,OACC,IAAAV,QAAA,CAAAuB,aAAA,EAACpB,KAAA,CAAAqB,IAAI;IACJb,EAAE,EAAGA,EAAI;IACTQ,GAAG,EAAG,IAAAM,qBAAY,EAAE,CAAEjB,YAAY,EAAEW,GAAG,CAAG,CAAG;IAAA,GACxCN;EAAS,CACd,CAAC;AAEJ;AAAC,IAAAa,QAAA,GAEc,IAAAC,mBAAU,EAAErB,IAAK,CAAC;AAAAsB,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
@@ -27,6 +27,7 @@ var _fill2 = _interopRequireDefault(require("./bubbles-virtually/fill"));
27
27
  var _slot2 = _interopRequireDefault(require("./bubbles-virtually/slot"));
28
28
  var _slotFillProvider = _interopRequireDefault(require("./bubbles-virtually/slot-fill-provider"));
29
29
  var _provider = _interopRequireDefault(require("./provider"));
30
+ var _slotFillContext = _interopRequireDefault(require("./bubbles-virtually/slot-fill-context"));
30
31
  var _useSlot = _interopRequireDefault(require("./bubbles-virtually/use-slot"));
31
32
  var _useSlotFills = _interopRequireDefault(require("./bubbles-virtually/use-slot-fills"));
32
33
  // @ts-nocheck
@@ -67,6 +68,10 @@ function Provider({
67
68
  children,
68
69
  ...props
69
70
  }) {
71
+ const parent = (0, _element.useContext)(_slotFillContext.default);
72
+ if (!parent.isDefault) {
73
+ return children;
74
+ }
70
75
  return (0, _element.createElement)(_provider.default, {
71
76
  ...props
72
77
  }, (0, _element.createElement)(_slotFillProvider.default, null, children));
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_fill","_interopRequireDefault","_slot","_fill2","_slot2","_slotFillProvider","_provider","_useSlot","_useSlotFills","Fill","props","createElement","Fragment","default","Slot","forwardRef","bubblesVirtually","ref","exports","Provider","children","createSlotFill","key","baseName","description","FillComponent","name","displayName","SlotComponent","__unstableName","createPrivateSlotFill","privateKey","Symbol","privateSlotFill"],"sources":["@wordpress/components/src/slot-fill/index.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseFill from './fill';\nimport BaseSlot from './slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallySlotFillProvider from './bubbles-virtually/slot-fill-provider';\nimport SlotFillProvider from './provider';\nexport { default as useSlot } from './bubbles-virtually/use-slot';\nexport { default as useSlotFills } from './bubbles-virtually/use-slot-fills';\n\nexport function Fill( props ) {\n\t// We're adding both Fills here so they can register themselves before\n\t// their respective slot has been registered. Only the Fill that has a slot\n\t// will render. The other one will return null.\n\treturn (\n\t\t<>\n\t\t\t<BaseFill { ...props } />\n\t\t\t<BubblesVirtuallyFill { ...props } />\n\t\t</>\n\t);\n}\nexport const Slot = forwardRef( ( { bubblesVirtually, ...props }, ref ) => {\n\tif ( bubblesVirtually ) {\n\t\treturn <BubblesVirtuallySlot { ...props } ref={ ref } />;\n\t}\n\treturn <BaseSlot { ...props } />;\n} );\n\nexport function Provider( { children, ...props } ) {\n\treturn (\n\t\t<SlotFillProvider { ...props }>\n\t\t\t<BubblesVirtuallySlotFillProvider>\n\t\t\t\t{ children }\n\t\t\t</BubblesVirtuallySlotFillProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport function createSlotFill( key ) {\n\tconst baseName = typeof key === 'symbol' ? key.description : key;\n\tconst FillComponent = ( props ) => <Fill name={ key } { ...props } />;\n\tFillComponent.displayName = `${ baseName }Fill`;\n\n\tconst SlotComponent = ( props ) => <Slot name={ key } { ...props } />;\n\tSlotComponent.displayName = `${ baseName }Slot`;\n\tSlotComponent.__unstableName = key;\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n\nexport const createPrivateSlotFill = ( name ) => {\n\tconst privateKey = Symbol( name );\n\tconst privateSlotFill = createSlotFill( privateKey );\n\n\treturn { privateKey, ...privateSlotFill };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,SAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,QAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AAhBA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAUO,SAASU,IAAIA,CAAEC,KAAK,EAAG;EAC7B;EACA;EACA;EACA,OACC,IAAAZ,QAAA,CAAAa,aAAA,EAAAb,QAAA,CAAAc,QAAA,QACC,IAAAd,QAAA,CAAAa,aAAA,EAACX,KAAA,CAAAa,OAAQ;IAAA,GAAMH;EAAK,CAAI,CAAC,EACzB,IAAAZ,QAAA,CAAAa,aAAA,EAACR,MAAA,CAAAU,OAAoB;IAAA,GAAMH;EAAK,CAAI,CACnC,CAAC;AAEL;AACO,MAAMI,IAAI,GAAG,IAAAC,mBAAU,EAAE,CAAE;EAAEC,gBAAgB;EAAE,GAAGN;AAAM,CAAC,EAAEO,GAAG,KAAM;EAC1E,IAAKD,gBAAgB,EAAG;IACvB,OAAO,IAAAlB,QAAA,CAAAa,aAAA,EAACP,MAAA,CAAAS,OAAoB;MAAA,GAAMH,KAAK;MAAGO,GAAG,EAAGA;IAAK,CAAE,CAAC;EACzD;EACA,OAAO,IAAAnB,QAAA,CAAAa,aAAA,EAACT,KAAA,CAAAW,OAAQ;IAAA,GAAMH;EAAK,CAAI,CAAC;AACjC,CAAE,CAAC;AAACQ,OAAA,CAAAJ,IAAA,GAAAA,IAAA;AAEG,SAASK,QAAQA,CAAE;EAAEC,QAAQ;EAAE,GAAGV;AAAM,CAAC,EAAG;EAClD,OACC,IAAAZ,QAAA,CAAAa,aAAA,EAACL,SAAA,CAAAO,OAAgB;IAAA,GAAMH;EAAK,GAC3B,IAAAZ,QAAA,CAAAa,aAAA,EAACN,iBAAA,CAAAQ,OAAgC,QAC9BO,QAC+B,CACjB,CAAC;AAErB;AAEO,SAASC,cAAcA,CAAEC,GAAG,EAAG;EACrC,MAAMC,QAAQ,GAAG,OAAOD,GAAG,KAAK,QAAQ,GAAGA,GAAG,CAACE,WAAW,GAAGF,GAAG;EAChE,MAAMG,aAAa,GAAKf,KAAK,IAAM,IAAAZ,QAAA,CAAAa,aAAA,EAACF,IAAI;IAACiB,IAAI,EAAGJ,GAAK;IAAA,GAAMZ;EAAK,CAAI,CAAC;EACrEe,aAAa,CAACE,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAE/C,MAAMK,aAAa,GAAKlB,KAAK,IAAM,IAAAZ,QAAA,CAAAa,aAAA,EAACG,IAAI;IAACY,IAAI,EAAGJ,GAAK;IAAA,GAAMZ;EAAK,CAAI,CAAC;EACrEkB,aAAa,CAACD,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAC/CK,aAAa,CAACC,cAAc,GAAGP,GAAG;EAElC,OAAO;IACNb,IAAI,EAAEgB,aAAa;IACnBX,IAAI,EAAEc;EACP,CAAC;AACF;AAEO,MAAME,qBAAqB,GAAKJ,IAAI,IAAM;EAChD,MAAMK,UAAU,GAAGC,MAAM,CAAEN,IAAK,CAAC;EACjC,MAAMO,eAAe,GAAGZ,cAAc,CAAEU,UAAW,CAAC;EAEpD,OAAO;IAAEA,UAAU;IAAE,GAAGE;EAAgB,CAAC;AAC1C,CAAC;AAACf,OAAA,CAAAY,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["_element","require","_fill","_interopRequireDefault","_slot","_fill2","_slot2","_slotFillProvider","_provider","_slotFillContext","_useSlot","_useSlotFills","Fill","props","createElement","Fragment","default","Slot","forwardRef","bubblesVirtually","ref","exports","Provider","children","parent","useContext","SlotFillContext","isDefault","createSlotFill","key","baseName","description","FillComponent","name","displayName","SlotComponent","__unstableName","createPrivateSlotFill","privateKey","Symbol","privateSlotFill"],"sources":["@wordpress/components/src/slot-fill/index.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseFill from './fill';\nimport BaseSlot from './slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallySlotFillProvider from './bubbles-virtually/slot-fill-provider';\nimport SlotFillProvider from './provider';\nimport SlotFillContext from './bubbles-virtually/slot-fill-context';\nexport { default as useSlot } from './bubbles-virtually/use-slot';\nexport { default as useSlotFills } from './bubbles-virtually/use-slot-fills';\n\nexport function Fill( props ) {\n\t// We're adding both Fills here so they can register themselves before\n\t// their respective slot has been registered. Only the Fill that has a slot\n\t// will render. The other one will return null.\n\treturn (\n\t\t<>\n\t\t\t<BaseFill { ...props } />\n\t\t\t<BubblesVirtuallyFill { ...props } />\n\t\t</>\n\t);\n}\nexport const Slot = forwardRef( ( { bubblesVirtually, ...props }, ref ) => {\n\tif ( bubblesVirtually ) {\n\t\treturn <BubblesVirtuallySlot { ...props } ref={ ref } />;\n\t}\n\treturn <BaseSlot { ...props } />;\n} );\n\nexport function Provider( { children, ...props } ) {\n\tconst parent = useContext( SlotFillContext );\n\tif ( ! parent.isDefault ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<SlotFillProvider { ...props }>\n\t\t\t<BubblesVirtuallySlotFillProvider>\n\t\t\t\t{ children }\n\t\t\t</BubblesVirtuallySlotFillProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport function createSlotFill( key ) {\n\tconst baseName = typeof key === 'symbol' ? key.description : key;\n\tconst FillComponent = ( props ) => <Fill name={ key } { ...props } />;\n\tFillComponent.displayName = `${ baseName }Fill`;\n\n\tconst SlotComponent = ( props ) => <Slot name={ key } { ...props } />;\n\tSlotComponent.displayName = `${ baseName }Slot`;\n\tSlotComponent.__unstableName = key;\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n\nexport const createPrivateSlotFill = ( name ) => {\n\tconst privateKey = Symbol( name );\n\tconst privateSlotFill = createSlotFill( privateKey );\n\n\treturn { privateKey, ...privateSlotFill };\n};\n"],"mappings":"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"}
@@ -89,7 +89,7 @@ function UnforwardedSnackbar({
89
89
  });
90
90
  if (actions && actions.length > 1) {
91
91
  // We need to inform developers that snackbar only accepts 1 action.
92
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0;
92
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0;
93
93
  // return first element only while keeping it inside an array
94
94
  actions = [actions[0]];
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_a11y","_i18n","_warning","_button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","classnames","length","process","env","NODE_ENV","warning","snackbarContentClassnames","createElement","undefined","tabIndex","role","onKeyPress","__","map","label","url","index","default","key","href","variant","Snackbar","forwardRef","exports","_default"],"sources":["@wordpress/components/src/snackbar/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { useEffect, forwardRef, renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { SnackbarProps } from './types';\nimport type { NoticeAction } from '../notice/types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nconst NOTICE_TIMEOUT = 10000;\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n *\n * @param message Message to announce.\n * @param politeness Politeness to announce.\n */\nfunction useSpokenMessage(\n\tmessage: SnackbarProps[ 'spokenMessage' ],\n\tpoliteness: NonNullable< SnackbarProps[ 'politeness' ] >\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction UnforwardedSnackbar(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tspokenMessage = children,\n\t\tpoliteness = 'polite',\n\t\tactions = [],\n\t\tonRemove,\n\t\ticon = null,\n\t\texplicitDismiss = false,\n\t\t// onDismiss is a callback executed when the snackbar is dismissed.\n\t\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t\t// actually the function to call to remove the snackbar from the UI.\n\t\tonDismiss,\n\t\tlistRef,\n\t}: WordPressComponentProps< SnackbarProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tfunction dismissMe( event: KeyboardEvent | MouseEvent ) {\n\t\tif ( event && event.preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\t// Prevent focus loss by moving it to the list element.\n\t\tlistRef?.current?.focus();\n\n\t\tonDismiss?.();\n\t\tonRemove?.();\n\t}\n\n\tfunction onActionClick(\n\t\tevent: MouseEvent< HTMLButtonElement >,\n\t\tonClick: NoticeAction[ 'onClick' ]\n\t) {\n\t\tevent.stopPropagation();\n\n\t\tonRemove?.();\n\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\t// Only set up the timeout dismiss if we're not explicitly dismissing.\n\tuseEffect( () => {\n\t\tconst timeoutHandle = setTimeout( () => {\n\t\t\tif ( ! explicitDismiss ) {\n\t\t\t\tonDismiss?.();\n\t\t\t\tonRemove?.();\n\t\t\t}\n\t\t}, NOTICE_TIMEOUT );\n\n\t\treturn () => clearTimeout( timeoutHandle );\n\t}, [ onDismiss, onRemove, explicitDismiss ] );\n\n\tconst classes = classnames( className, 'components-snackbar', {\n\t\t'components-snackbar-explicit-dismiss': !! explicitDismiss,\n\t} );\n\tif ( actions && actions.length > 1 ) {\n\t\t// We need to inform developers that snackbar only accepts 1 action.\n\t\twarning(\n\t\t\t'Snackbar can only have 1 action, use Notice if your message require many messages'\n\t\t);\n\t\t// return first element only while keeping it inside an array\n\t\tactions = [ actions[ 0 ] ];\n\t}\n\n\tconst snackbarContentClassnames = classnames(\n\t\t'components-snackbar__content',\n\t\t{\n\t\t\t'components-snackbar__content-with-icon': !! icon,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonClick={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\ttabIndex={ 0 }\n\t\t\trole={ ! explicitDismiss ? 'button' : '' }\n\t\t\tonKeyPress={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\taria-label={ ! explicitDismiss ? __( 'Dismiss this notice' ) : '' }\n\t\t>\n\t\t\t<div className={ snackbarContentClassnames }>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<div className=\"components-snackbar__icon\">{ icon }</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, onClick, url }, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\tevent: MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t) => onActionClick( event, onClick ) }\n\t\t\t\t\t\t\tclassName=\"components-snackbar__action\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ explicitDismiss && (\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label=\"Dismiss this notice\"\n\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\tclassName=\"components-snackbar__dismiss-button\"\n\t\t\t\t\t\tonClick={ dismissMe }\n\t\t\t\t\t\tonKeyPress={ dismissMe }\n\t\t\t\t\t>\n\t\t\t\t\t\t&#x2715;\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * A Snackbar displays a succinct message that is cleared out after a small delay.\n *\n * It can also offer the user options, like viewing a published post.\n * But these options should also be available elsewhere in the UI.\n *\n * ```jsx\n * const MySnackbarNotice = () => (\n * <Snackbar>Post published successfully.</Snackbar>\n * );\n * ```\n */\nexport const Snackbar = forwardRef( UnforwardedSnackbar );\n\nexport default Snackbar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_a11y","_i18n","_warning","_button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","classnames","length","SCRIPT_DEBUG","warning","snackbarContentClassnames","createElement","undefined","tabIndex","role","onKeyPress","__","map","label","url","index","default","key","href","variant","Snackbar","forwardRef","exports","_default"],"sources":["@wordpress/components/src/snackbar/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { useEffect, forwardRef, renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { SnackbarProps } from './types';\nimport type { NoticeAction } from '../notice/types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nconst NOTICE_TIMEOUT = 10000;\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n *\n * @param message Message to announce.\n * @param politeness Politeness to announce.\n */\nfunction useSpokenMessage(\n\tmessage: SnackbarProps[ 'spokenMessage' ],\n\tpoliteness: NonNullable< SnackbarProps[ 'politeness' ] >\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction UnforwardedSnackbar(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tspokenMessage = children,\n\t\tpoliteness = 'polite',\n\t\tactions = [],\n\t\tonRemove,\n\t\ticon = null,\n\t\texplicitDismiss = false,\n\t\t// onDismiss is a callback executed when the snackbar is dismissed.\n\t\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t\t// actually the function to call to remove the snackbar from the UI.\n\t\tonDismiss,\n\t\tlistRef,\n\t}: WordPressComponentProps< SnackbarProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tfunction dismissMe( event: KeyboardEvent | MouseEvent ) {\n\t\tif ( event && event.preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\t// Prevent focus loss by moving it to the list element.\n\t\tlistRef?.current?.focus();\n\n\t\tonDismiss?.();\n\t\tonRemove?.();\n\t}\n\n\tfunction onActionClick(\n\t\tevent: MouseEvent< HTMLButtonElement >,\n\t\tonClick: NoticeAction[ 'onClick' ]\n\t) {\n\t\tevent.stopPropagation();\n\n\t\tonRemove?.();\n\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\t// Only set up the timeout dismiss if we're not explicitly dismissing.\n\tuseEffect( () => {\n\t\tconst timeoutHandle = setTimeout( () => {\n\t\t\tif ( ! explicitDismiss ) {\n\t\t\t\tonDismiss?.();\n\t\t\t\tonRemove?.();\n\t\t\t}\n\t\t}, NOTICE_TIMEOUT );\n\n\t\treturn () => clearTimeout( timeoutHandle );\n\t}, [ onDismiss, onRemove, explicitDismiss ] );\n\n\tconst classes = classnames( className, 'components-snackbar', {\n\t\t'components-snackbar-explicit-dismiss': !! explicitDismiss,\n\t} );\n\tif ( actions && actions.length > 1 ) {\n\t\t// We need to inform developers that snackbar only accepts 1 action.\n\t\twarning(\n\t\t\t'Snackbar can only have 1 action, use Notice if your message require many messages'\n\t\t);\n\t\t// return first element only while keeping it inside an array\n\t\tactions = [ actions[ 0 ] ];\n\t}\n\n\tconst snackbarContentClassnames = classnames(\n\t\t'components-snackbar__content',\n\t\t{\n\t\t\t'components-snackbar__content-with-icon': !! icon,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonClick={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\ttabIndex={ 0 }\n\t\t\trole={ ! explicitDismiss ? 'button' : '' }\n\t\t\tonKeyPress={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\taria-label={ ! explicitDismiss ? __( 'Dismiss this notice' ) : '' }\n\t\t>\n\t\t\t<div className={ snackbarContentClassnames }>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<div className=\"components-snackbar__icon\">{ icon }</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, onClick, url }, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\tevent: MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t) => onActionClick( event, onClick ) }\n\t\t\t\t\t\t\tclassName=\"components-snackbar__action\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ explicitDismiss && (\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label=\"Dismiss this notice\"\n\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\tclassName=\"components-snackbar__dismiss-button\"\n\t\t\t\t\t\tonClick={ dismissMe }\n\t\t\t\t\t\tonKeyPress={ dismissMe }\n\t\t\t\t\t>\n\t\t\t\t\t\t&#x2715;\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * A Snackbar displays a succinct message that is cleared out after a small delay.\n *\n * It can also offer the user options, like viewing a published post.\n * But these options should also be available elsewhere in the UI.\n *\n * ```jsx\n * const MySnackbarNotice = () => (\n * <Snackbar>Post published successfully.</Snackbar>\n * );\n * ```\n */\nexport const Snackbar = forwardRef( UnforwardedSnackbar );\n\nexport default Snackbar;\n"],"mappings":"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"}
@@ -49,7 +49,6 @@ function UnforwardedSpinner({
49
49
  /**
50
50
  * `Spinner` is a component used to notify users that their action is being processed.
51
51
  *
52
- * @example
53
52
  * ```js
54
53
  * import { Spinner } from '@wordpress/components';
55
54
  *
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_styles","UnforwardedSpinner","className","props","forwardedRef","createElement","StyledSpinner","classNames","viewBox","width","height","xmlns","role","focusable","ref","SpinnerTrack","cx","cy","r","vectorEffect","SpinnerIndicator","d","Spinner","forwardRef","exports","_default","default"],"sources":["@wordpress/components/src/spinner/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { StyledSpinner, SpinnerTrack, SpinnerIndicator } from './styles';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nexport function UnforwardedSpinner(\n\t{ className, ...props }: WordPressComponentProps< {}, 'svg', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\treturn (\n\t\t<StyledSpinner\n\t\t\tclassName={ classNames( 'components-spinner', className ) }\n\t\t\tviewBox=\"0 0 100 100\"\n\t\t\twidth=\"16\"\n\t\t\theight=\"16\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\trole=\"presentation\"\n\t\t\tfocusable=\"false\"\n\t\t\t{ ...props }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ /* Gray circular background */ }\n\t\t\t<SpinnerTrack\n\t\t\t\tcx=\"50\"\n\t\t\t\tcy=\"50\"\n\t\t\t\tr=\"50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\n\t\t\t{ /* Theme-colored arc */ }\n\t\t\t<SpinnerIndicator\n\t\t\t\td=\"m 50 0 a 50 50 0 0 1 50 50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\t\t</StyledSpinner>\n\t);\n}\n/**\n * `Spinner` is a component used to notify users that their action is being processed.\n *\n * @example\n * ```js\n * import { Spinner } from '@wordpress/components';\n *\n * function Example() {\n * return <Spinner />;\n * }\n * ```\n */\nexport const Spinner = forwardRef( UnforwardedSpinner );\nexport default Spinner;\n"],"mappings":";;;;;;;;;AAeA,IAAAA,QAAA,GAAAC,OAAA;AAZA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,IAAAG,OAAA,GAAAH,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,SAASI,kBAAkBA,CACjC;EAAEC,SAAS;EAAE,GAAGC;AAAmD,CAAC,EACpEC,YAAiC,EAChC;EACD,OACC,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAM,aAAa;IACbJ,SAAS,EAAG,IAAAK,mBAAU,EAAE,oBAAoB,EAAEL,SAAU,CAAG;IAC3DM,OAAO,EAAC,aAAa;IACrBC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBC,SAAS,EAAC,OAAO;IAAA,GACZV,KAAK;IACVW,GAAG,EAAGV;EAAc,GAGpB,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAe,YAAY;IACZC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC,IAAI;IACNC,YAAY,EAAC;EAAoB,CACjC,CAAC,EAGF,IAAAvB,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAoB,gBAAgB;IAChBC,CAAC,EAAC,4BAA4B;IAC9BF,YAAY,EAAC;EAAoB,CACjC,CACa,CAAC;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAG,IAAAC,mBAAU,EAAEtB,kBAAmB,CAAC;AAACuB,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAA,IAAAG,QAAA,GACzCH,OAAO;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_styles","UnforwardedSpinner","className","props","forwardedRef","createElement","StyledSpinner","classNames","viewBox","width","height","xmlns","role","focusable","ref","SpinnerTrack","cx","cy","r","vectorEffect","SpinnerIndicator","d","Spinner","forwardRef","exports","_default","default"],"sources":["@wordpress/components/src/spinner/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { StyledSpinner, SpinnerTrack, SpinnerIndicator } from './styles';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nexport function UnforwardedSpinner(\n\t{ className, ...props }: WordPressComponentProps< {}, 'svg', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\treturn (\n\t\t<StyledSpinner\n\t\t\tclassName={ classNames( 'components-spinner', className ) }\n\t\t\tviewBox=\"0 0 100 100\"\n\t\t\twidth=\"16\"\n\t\t\theight=\"16\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\trole=\"presentation\"\n\t\t\tfocusable=\"false\"\n\t\t\t{ ...props }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ /* Gray circular background */ }\n\t\t\t<SpinnerTrack\n\t\t\t\tcx=\"50\"\n\t\t\t\tcy=\"50\"\n\t\t\t\tr=\"50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\n\t\t\t{ /* Theme-colored arc */ }\n\t\t\t<SpinnerIndicator\n\t\t\t\td=\"m 50 0 a 50 50 0 0 1 50 50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\t\t</StyledSpinner>\n\t);\n}\n/**\n * `Spinner` is a component used to notify users that their action is being processed.\n *\n * ```js\n * import { Spinner } from '@wordpress/components';\n *\n * function Example() {\n * return <Spinner />;\n * }\n * ```\n */\nexport const Spinner = forwardRef( UnforwardedSpinner );\nexport default Spinner;\n"],"mappings":";;;;;;;;;AAeA,IAAAA,QAAA,GAAAC,OAAA;AAZA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,IAAAG,OAAA,GAAAH,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,SAASI,kBAAkBA,CACjC;EAAEC,SAAS;EAAE,GAAGC;AAAmD,CAAC,EACpEC,YAAiC,EAChC;EACD,OACC,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAM,aAAa;IACbJ,SAAS,EAAG,IAAAK,mBAAU,EAAE,oBAAoB,EAAEL,SAAU,CAAG;IAC3DM,OAAO,EAAC,aAAa;IACrBC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBC,SAAS,EAAC,OAAO;IAAA,GACZV,KAAK;IACVW,GAAG,EAAGV;EAAc,GAGpB,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAe,YAAY;IACZC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC,IAAI;IACNC,YAAY,EAAC;EAAoB,CACjC,CAAC,EAGF,IAAAvB,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAoB,gBAAgB;IAChBC,CAAC,EAAC,4BAA4B;IAC9BF,YAAY,EAAC;EAAoB,CACjC,CACa,CAAC;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAG,IAAAC,mBAAU,EAAEtB,kBAAmB,CAAC;AAACuB,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAA,IAAAG,QAAA,GACzCH,OAAO;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
@@ -35,7 +35,7 @@ function generateThemeVariables(inputs) {
35
35
  function validateInputs(inputs) {
36
36
  for (const [key, value] of Object.entries(inputs)) {
37
37
  if (typeof value !== 'undefined' && !(0, _colord.colord)(value).isValid()) {
38
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)(`wp.components.Theme: "${value}" is not a valid color value for the '${key}' prop.`) : void 0;
38
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)(`wp.components.Theme: "${value}" is not a valid color value for the '${key}' prop.`) : void 0;
39
39
  }
40
40
  }
41
41
  }
@@ -53,7 +53,7 @@ function checkContrasts(inputs, outputs) {
53
53
  function warnContrastIssues(issues) {
54
54
  for (const error of Object.values(issues)) {
55
55
  if (error) {
56
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)('wp.components.Theme: ' + error) : void 0;
56
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('wp.components.Theme: ' + error) : void 0;
57
57
  }
58
58
  }
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_colord","require","_a11y","_interopRequireDefault","_names","_warning","_utils","extend","namesPlugin","a11yPlugin","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","colord","isValid","process","env","NODE_ENV","warning","outputs","COLORS","white","foreground","gray","isReadable","undefined","grays","contrast","issues","error","values","accentDarker10","darken","toHex","accentDarker20","accentInverted","getForegroundForColor","foregroundInverted","generateShades","color","isDark","SHADES","limit","direction","range","Math","abs","toHsl","l","result","forEach","parseInt"],"sources":["@wordpress/components/src/theme/color-algorithms.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { ThemeInputValues, ThemeOutputValues } from './types';\nimport { COLORS } from '../utils';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nexport function generateThemeVariables(\n\tinputs: ThemeInputValues\n): ThemeOutputValues {\n\tvalidateInputs( inputs );\n\n\tconst generatedColors = {\n\t\t...generateAccentDependentColors( inputs.accent ),\n\t\t...generateBackgroundDependentColors( inputs.background ),\n\t};\n\n\twarnContrastIssues( checkContrasts( inputs, generatedColors ) );\n\n\treturn { colors: generatedColors };\n}\n\nfunction validateInputs( inputs: ThemeInputValues ) {\n\tfor ( const [ key, value ] of Object.entries( inputs ) ) {\n\t\tif ( typeof value !== 'undefined' && ! colord( value ).isValid() ) {\n\t\t\twarning(\n\t\t\t\t`wp.components.Theme: \"${ value }\" is not a valid color value for the '${ key }' prop.`\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport function checkContrasts(\n\tinputs: ThemeInputValues,\n\toutputs: ThemeOutputValues[ 'colors' ]\n) {\n\tconst background = inputs.background || COLORS.white;\n\tconst accent = inputs.accent || '#3858e9';\n\tconst foreground = outputs.foreground || COLORS.gray[ 900 ];\n\tconst gray = outputs.gray || COLORS.gray;\n\n\treturn {\n\t\taccent: colord( background ).isReadable( accent )\n\t\t\t? undefined\n\t\t\t: `The background color (\"${ background }\") does not have sufficient contrast against the accent color (\"${ accent }\").`,\n\t\tforeground: colord( background ).isReadable( foreground )\n\t\t\t? undefined\n\t\t\t: `The background color provided (\"${ background }\") does not have sufficient contrast against the standard foreground colors.`,\n\t\tgrays:\n\t\t\tcolord( background ).contrast( gray[ 600 ] ) >= 3 &&\n\t\t\tcolord( background ).contrast( gray[ 700 ] ) >= 4.5\n\t\t\t\t? undefined\n\t\t\t\t: `The background color provided (\"${ background }\") cannot generate a set of grayscale foreground colors with sufficient contrast. Try adjusting the color to be lighter or darker.`,\n\t};\n}\n\nfunction warnContrastIssues( issues: ReturnType< typeof checkContrasts > ) {\n\tfor ( const error of Object.values( issues ) ) {\n\t\tif ( error ) {\n\t\t\twarning( 'wp.components.Theme: ' + error );\n\t\t}\n\t}\n}\n\nfunction generateAccentDependentColors( accent?: string ) {\n\tif ( ! accent ) return {};\n\n\treturn {\n\t\taccent,\n\t\taccentDarker10: colord( accent ).darken( 0.1 ).toHex(),\n\t\taccentDarker20: colord( accent ).darken( 0.2 ).toHex(),\n\t\taccentInverted: getForegroundForColor( accent ),\n\t};\n}\n\nfunction generateBackgroundDependentColors( background?: string ) {\n\tif ( ! background ) return {};\n\n\tconst foreground = getForegroundForColor( background );\n\n\treturn {\n\t\tbackground,\n\t\tforeground,\n\t\tforegroundInverted: getForegroundForColor( foreground ),\n\t\tgray: generateShades( background, foreground ),\n\t};\n}\n\nfunction getForegroundForColor( color: string ) {\n\treturn colord( color ).isDark() ? COLORS.white : COLORS.gray[ 900 ];\n}\n\nexport function generateShades( background: string, foreground: string ) {\n\t// How much darkness you need to add to #fff to get the COLORS.gray[n] color\n\tconst SHADES = {\n\t\t100: 0.06,\n\t\t200: 0.121,\n\t\t300: 0.132,\n\t\t400: 0.2,\n\t\t600: 0.42,\n\t\t700: 0.543,\n\t\t800: 0.821,\n\t};\n\n\t// Darkness of COLORS.gray[ 900 ], relative to #fff\n\tconst limit = 0.884;\n\n\tconst direction = colord( background ).isDark() ? 'lighten' : 'darken';\n\n\t// Lightness delta between the background and foreground colors\n\tconst range =\n\t\tMath.abs(\n\t\t\tcolord( background ).toHsl().l - colord( foreground ).toHsl().l\n\t\t) / 100;\n\n\tconst result: Record< number, string > = {};\n\n\tObject.entries( SHADES ).forEach( ( [ key, value ] ) => {\n\t\tresult[ parseInt( key ) ] = colord( background )\n\t\t\t[ direction ]( ( value / limit ) * range )\n\t\t\t.toHex();\n\t} );\n\n\treturn result as NonNullable< ThemeOutputValues[ 'colors' ][ 'gray' ] >;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_colord","require","_a11y","_interopRequireDefault","_names","_warning","_utils","extend","namesPlugin","a11yPlugin","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","colord","isValid","SCRIPT_DEBUG","warning","outputs","COLORS","white","foreground","gray","isReadable","undefined","grays","contrast","issues","error","values","accentDarker10","darken","toHex","accentDarker20","accentInverted","getForegroundForColor","foregroundInverted","generateShades","color","isDark","SHADES","limit","direction","range","Math","abs","toHsl","l","result","forEach","parseInt"],"sources":["@wordpress/components/src/theme/color-algorithms.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { ThemeInputValues, ThemeOutputValues } from './types';\nimport { COLORS } from '../utils';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nexport function generateThemeVariables(\n\tinputs: ThemeInputValues\n): ThemeOutputValues {\n\tvalidateInputs( inputs );\n\n\tconst generatedColors = {\n\t\t...generateAccentDependentColors( inputs.accent ),\n\t\t...generateBackgroundDependentColors( inputs.background ),\n\t};\n\n\twarnContrastIssues( checkContrasts( inputs, generatedColors ) );\n\n\treturn { colors: generatedColors };\n}\n\nfunction validateInputs( inputs: ThemeInputValues ) {\n\tfor ( const [ key, value ] of Object.entries( inputs ) ) {\n\t\tif ( typeof value !== 'undefined' && ! colord( value ).isValid() ) {\n\t\t\twarning(\n\t\t\t\t`wp.components.Theme: \"${ value }\" is not a valid color value for the '${ key }' prop.`\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport function checkContrasts(\n\tinputs: ThemeInputValues,\n\toutputs: ThemeOutputValues[ 'colors' ]\n) {\n\tconst background = inputs.background || COLORS.white;\n\tconst accent = inputs.accent || '#3858e9';\n\tconst foreground = outputs.foreground || COLORS.gray[ 900 ];\n\tconst gray = outputs.gray || COLORS.gray;\n\n\treturn {\n\t\taccent: colord( background ).isReadable( accent )\n\t\t\t? undefined\n\t\t\t: `The background color (\"${ background }\") does not have sufficient contrast against the accent color (\"${ accent }\").`,\n\t\tforeground: colord( background ).isReadable( foreground )\n\t\t\t? undefined\n\t\t\t: `The background color provided (\"${ background }\") does not have sufficient contrast against the standard foreground colors.`,\n\t\tgrays:\n\t\t\tcolord( background ).contrast( gray[ 600 ] ) >= 3 &&\n\t\t\tcolord( background ).contrast( gray[ 700 ] ) >= 4.5\n\t\t\t\t? undefined\n\t\t\t\t: `The background color provided (\"${ background }\") cannot generate a set of grayscale foreground colors with sufficient contrast. Try adjusting the color to be lighter or darker.`,\n\t};\n}\n\nfunction warnContrastIssues( issues: ReturnType< typeof checkContrasts > ) {\n\tfor ( const error of Object.values( issues ) ) {\n\t\tif ( error ) {\n\t\t\twarning( 'wp.components.Theme: ' + error );\n\t\t}\n\t}\n}\n\nfunction generateAccentDependentColors( accent?: string ) {\n\tif ( ! accent ) return {};\n\n\treturn {\n\t\taccent,\n\t\taccentDarker10: colord( accent ).darken( 0.1 ).toHex(),\n\t\taccentDarker20: colord( accent ).darken( 0.2 ).toHex(),\n\t\taccentInverted: getForegroundForColor( accent ),\n\t};\n}\n\nfunction generateBackgroundDependentColors( background?: string ) {\n\tif ( ! background ) return {};\n\n\tconst foreground = getForegroundForColor( background );\n\n\treturn {\n\t\tbackground,\n\t\tforeground,\n\t\tforegroundInverted: getForegroundForColor( foreground ),\n\t\tgray: generateShades( background, foreground ),\n\t};\n}\n\nfunction getForegroundForColor( color: string ) {\n\treturn colord( color ).isDark() ? COLORS.white : COLORS.gray[ 900 ];\n}\n\nexport function generateShades( background: string, foreground: string ) {\n\t// How much darkness you need to add to #fff to get the COLORS.gray[n] color\n\tconst SHADES = {\n\t\t100: 0.06,\n\t\t200: 0.121,\n\t\t300: 0.132,\n\t\t400: 0.2,\n\t\t600: 0.42,\n\t\t700: 0.543,\n\t\t800: 0.821,\n\t};\n\n\t// Darkness of COLORS.gray[ 900 ], relative to #fff\n\tconst limit = 0.884;\n\n\tconst direction = colord( background ).isDark() ? 'lighten' : 'darken';\n\n\t// Lightness delta between the background and foreground colors\n\tconst range =\n\t\tMath.abs(\n\t\t\tcolord( background ).toHsl().l - colord( foreground ).toHsl().l\n\t\t) / 100;\n\n\tconst result: Record< number, string > = {};\n\n\tObject.entries( SHADES ).forEach( ( [ key, value ] ) => {\n\t\tresult[ parseInt( key ) ] = colord( background )\n\t\t\t[ direction ]( ( value / limit ) * range )\n\t\t\t.toHex();\n\t} );\n\n\treturn result as NonNullable< ThemeOutputValues[ 'colors' ][ 'gray' ] >;\n}\n"],"mappings":"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"}
@@ -18,7 +18,6 @@ var _utils = require("../utils");
18
18
  * Multiple `Theme` components can be nested in order to override specific theme variables.
19
19
  *
20
20
  *
21
- * @example
22
21
  * ```jsx
23
22
  * const Example = () => {
24
23
  * return (