@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
@@ -7,7 +7,7 @@ import { TextInput, Text, View, TouchableOpacity, Platform, useColorScheme, Keyb
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useState, useRef, useMemo, useEffect } from '@wordpress/element';
10
+ import { useState, useRef, useMemo, useEffect, useCallback } from '@wordpress/element';
11
11
  import { __ } from '@wordpress/i18n';
12
12
  import { Button, Gridicons } from '@wordpress/components';
13
13
  import { Icon, cancelCircleFilled as cancelCircleFilledIcon, arrowLeft as arrowLeftIcon, close as closeIcon } from '@wordpress/icons';
@@ -84,20 +84,36 @@ function SearchControl({
84
84
  // see https://github.com/WordPress/gutenberg/pull/41166
85
85
  // eslint-disable-next-line react-hooks/exhaustive-deps
86
86
  }, [isActive, isDark]);
87
+ const clearInput = useCallback(() => {
88
+ onChange('');
89
+ }, [onChange]);
90
+ const onPress = useCallback(() => {
91
+ setIsActive(true);
92
+ inputRef.current?.focus();
93
+ }, []);
94
+ const onFocus = useCallback(() => {
95
+ setIsActive(true);
96
+ }, []);
97
+ const onCancel = useCallback(() => {
98
+ clearTimeout(onCancelTimer.current);
99
+ onCancelTimer.current = setTimeout(() => {
100
+ inputRef.current?.blur();
101
+ clearInput();
102
+ setIsActive(false);
103
+ }, 0);
104
+ }, [clearInput]);
105
+ const onKeyboardDidHide = useCallback(() => {
106
+ if (!isIOS) {
107
+ onCancel();
108
+ }
109
+ }, [isIOS, onCancel]);
87
110
  useEffect(() => {
88
- const keyboardHideSubscription = Keyboard.addListener('keyboardDidHide', () => {
89
- if (!isIOS) {
90
- onCancel();
91
- }
92
- });
111
+ const keyboardHideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);
93
112
  return () => {
94
113
  clearTimeout(onCancelTimer.current);
95
114
  keyboardHideSubscription.remove();
96
115
  };
97
- // Disable reason: deferring this refactor to the native team.
98
- // see https://github.com/WordPress/gutenberg/pull/41166
99
- // eslint-disable-next-line react-hooks/exhaustive-deps
100
- }, []);
116
+ }, [onKeyboardDidHide]);
101
117
  const {
102
118
  'search-control__container': containerStyle,
103
119
  'search-control__inner-container': innerContainerStyle,
@@ -112,16 +128,6 @@ function SearchControl({
112
128
  'search-control__icon': iconStyle,
113
129
  'search-control__right-icon': rightIconStyle
114
130
  } = currentStyles;
115
- function clearInput() {
116
- onChange('');
117
- }
118
- function onCancel() {
119
- onCancelTimer.current = setTimeout(() => {
120
- inputRef.current.blur();
121
- clearInput();
122
- setIsActive(false);
123
- }, 0);
124
- }
125
131
  function renderLeftButton() {
126
132
  const button = !isIOS && isActive ? createElement(Button, {
127
133
  label: __('Cancel search'),
@@ -172,10 +178,7 @@ function SearchControl({
172
178
  }
173
179
  return createElement(TouchableOpacity, {
174
180
  style: containerStyle,
175
- onPress: () => {
176
- setIsActive(true);
177
- inputRef.current.focus();
178
- },
181
+ onPress: onPress,
179
182
  activeOpacity: 1
180
183
  }, createElement(View, {
181
184
  style: innerContainerStyle
@@ -186,7 +189,7 @@ function SearchControl({
186
189
  style: formInputStyle,
187
190
  placeholderTextColor: placeholderStyle?.color,
188
191
  onChangeText: onChange,
189
- onFocus: () => setIsActive(true),
192
+ onFocus: onFocus,
190
193
  value: value,
191
194
  placeholder: placeholder
192
195
  }), renderRightButton()), isActive && renderCancel()));
@@ -1 +1 @@
1
- {"version":3,"names":["TextInput","Text","View","TouchableOpacity","Platform","useColorScheme","Keyboard","useState","useRef","useMemo","useEffect","__","Button","Gridicons","Icon","cancelCircleFilled","cancelCircleFilledIcon","arrowLeft","arrowLeftIcon","close","closeIcon","allStyles","platformStyles","baseStyles","selector","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","isActive","setIsActive","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","OS","darkStyles","activeStyles","activeDarkStyles","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","keyboardHideSubscription","addListener","onCancel","clearTimeout","current","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","clearInput","setTimeout","blur","renderLeftButton","button","createElement","label","icon","onClick","style","search","fill","color","renderRightButton","renderCancel","onPress","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","focus","activeOpacity","ref","placeholderTextColor","onChangeText","onFocus"],"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":["TextInput","Text","View","TouchableOpacity","Platform","useColorScheme","Keyboard","useState","useRef","useMemo","useEffect","useCallback","__","Button","Gridicons","Icon","cancelCircleFilled","cancelCircleFilledIcon","arrowLeft","arrowLeftIcon","close","closeIcon","allStyles","platformStyles","baseStyles","selector","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","isActive","setIsActive","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","OS","darkStyles","activeStyles","activeDarkStyles","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","createElement","label","icon","onClick","style","search","fill","color","renderRightButton","renderCancel","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","activeOpacity","ref","placeholderTextColor","onChangeText"],"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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"}
@@ -3,6 +3,19 @@ import { createElement } from "@wordpress/element";
3
3
  * Internal dependencies
4
4
  */
5
5
 
6
+ /**
7
+ * Shortcut component is used to display keyboard shortcuts, and it can be customized with a custom display and aria label if needed.
8
+ *
9
+ * ```jsx
10
+ * import { Shortcut } from '@wordpress/components';
11
+ *
12
+ * const MyShortcut = () => {
13
+ * return (
14
+ * <Shortcut shortcut={{ display: 'Ctrl + S', ariaLabel: 'Save' }} />
15
+ * );
16
+ * };
17
+ * ```
18
+ */
6
19
  function Shortcut(props) {
7
20
  const {
8
21
  shortcut,
@@ -1 +1 @@
1
- {"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","createElement"],"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,OACCE,aAAA;IAAMJ,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAEA,eAAeJ,QAAQ"}
1
+ {"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","createElement"],"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,OACCE,aAAA;IAAMJ,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAEA,eAAeJ,QAAQ"}
@@ -12,12 +12,14 @@ const SlotFillContext = createContext({
12
12
  slots: proxyMap(),
13
13
  fills: proxyMap(),
14
14
  registerSlot: () => {
15
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
15
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
16
16
  },
17
17
  updateSlot: () => {},
18
18
  unregisterSlot: () => {},
19
19
  registerFill: () => {},
20
- unregisterFill: () => {}
20
+ unregisterFill: () => {},
21
+ // This helps the provider know if it's using the default context value or not.
22
+ isDefault: true
21
23
  });
22
24
  export default SlotFillContext;
23
25
  //# sourceMappingURL=slot-fill-context.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["proxyMap","createContext","warning","SlotFillContext","slots","fills","registerSlot","process","env","NODE_ENV","updateSlot","unregisterSlot","registerFill","unregisterFill"],"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":"AAAA;AACA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC;AACA;AACA;AACA,SAASC,aAAa,QAAQ,oBAAoB;AAClD,OAAOC,OAAO,MAAM,oBAAoB;AAExC,MAAMC,eAAe,GAAGF,aAAa,CAAE;EACtCG,KAAK,EAAEJ,QAAQ,CAAC,CAAC;EACjBK,KAAK,EAAEL,QAAQ,CAAC,CAAC;EACjBM,YAAY,EAAEA,CAAA,KAAM;IACnB,OAAAC,OAAA,oBAAAA,OAAA,CAAAC,GAAA,IAAAD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAP,OAAO,CACN,wDAAwD,GACvD,wEACF,CAAC;EACF,CAAC;EACDQ,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;AAEH,eAAeV,eAAe"}
1
+ {"version":3,"names":["proxyMap","createContext","warning","SlotFillContext","slots","fills","registerSlot","SCRIPT_DEBUG","updateSlot","unregisterSlot","registerFill","unregisterFill","isDefault"],"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":"AAAA;AACA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,cAAc;AACvC;AACA;AACA;AACA,SAASC,aAAa,QAAQ,oBAAoB;AAClD,OAAOC,OAAO,MAAM,oBAAoB;AAExC,MAAMC,eAAe,GAAGF,aAAa,CAAE;EACtCG,KAAK,EAAEJ,QAAQ,CAAC,CAAC;EACjBK,KAAK,EAAEL,QAAQ,CAAC,CAAC;EACjBM,YAAY,EAAEA,CAAA,KAAM;IACnB,OAAAC,YAAA,oBAAAA,YAAA,YAAAL,OAAO,CACN,wDAAwD,GACvD,wEACF,CAAC;EACF,CAAC;EACDM,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;AAEH,eAAeT,eAAe"}
@@ -9,13 +9,18 @@ import { useMergeRefs } from '@wordpress/compose';
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
+ import { View } from '../../view';
12
13
  import SlotFillContext from './slot-fill-context';
13
- function Slot({
14
- name,
15
- fillProps = {},
16
- as: Component = 'div',
17
- ...props
18
- }, forwardedRef) {
14
+ function Slot(props, forwardedRef) {
15
+ const {
16
+ name,
17
+ fillProps = {},
18
+ as,
19
+ // `children` is not allowed. However, if it is passed,
20
+ // it will be displayed as is, so remove `children`.
21
+ children,
22
+ ...restProps
23
+ } = props;
19
24
  const {
20
25
  registerSlot,
21
26
  unregisterSlot,
@@ -38,9 +43,10 @@ function Slot({
38
43
  useLayoutEffect(() => {
39
44
  registry.updateSlot(name, fillProps);
40
45
  });
41
- return createElement(Component, {
46
+ return createElement(View, {
47
+ as: as,
42
48
  ref: useMergeRefs([forwardedRef, ref]),
43
- ...props
49
+ ...restProps
44
50
  });
45
51
  }
46
52
  export default forwardRef(Slot);
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useLayoutEffect","useContext","forwardRef","useMergeRefs","SlotFillContext","Slot","name","fillProps","as","Component","props","forwardedRef","registerSlot","unregisterSlot","registry","ref","updateSlot","createElement"],"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":";AAAA;AACA;AACA;AACA;AACA,SACCA,MAAM,EACNC,eAAe,EACfC,UAAU,EACVC,UAAU,QACJ,oBAAoB;AAC3B,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,SAASC,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,GAClDb,UAAU,CAAEG,eAAgB,CAAC;EAC9B,MAAMW,GAAG,GAAGhB,MAAM,CAAC,CAAC;EAEpBC,eAAe,CAAE,MAAM;IACtBY,YAAY,CAAEN,IAAI,EAAES,GAAG,EAAER,SAAU,CAAC;IACpC,OAAO,MAAM;MACZM,cAAc,CAAEP,IAAI,EAAES,GAAI,CAAC;IAC5B,CAAC;IACD;IACA;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEH,YAAY,EAAEC,cAAc,EAAEP,IAAI,CAAG,CAAC;EAC3C;EACA;EACAN,eAAe,CAAE,MAAM;IACtBc,QAAQ,CAACE,UAAU,CAAEV,IAAI,EAAEC,SAAU,CAAC;EACvC,CAAE,CAAC;EAEH,OACCU,aAAA,CAACR,SAAS;IAACM,GAAG,EAAGZ,YAAY,CAAE,CAAEQ,YAAY,EAAEI,GAAG,CAAG,CAAG;IAAA,GAAML;EAAK,CAAI,CAAC;AAE1E;AAEA,eAAeR,UAAU,CAAEG,IAAK,CAAC"}
1
+ {"version":3,"names":["useRef","useLayoutEffect","useContext","forwardRef","useMergeRefs","View","SlotFillContext","Slot","props","forwardedRef","name","fillProps","as","children","restProps","registerSlot","unregisterSlot","registry","ref","updateSlot","createElement"],"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":";AAAA;AACA;AACA;AACA;AACA,SACCA,MAAM,EACNC,eAAe,EACfC,UAAU,EACVC,UAAU,QACJ,oBAAoB;AAC3B,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA,SAASC,IAAI,QAAQ,YAAY;AACjC,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,SAASC,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,GAClDf,UAAU,CAAEI,eAAgB,CAAC;EAC9B,MAAMY,GAAG,GAAGlB,MAAM,CAAC,CAAC;EAEpBC,eAAe,CAAE,MAAM;IACtBc,YAAY,CAAEL,IAAI,EAAEQ,GAAG,EAAEP,SAAU,CAAC;IACpC,OAAO,MAAM;MACZK,cAAc,CAAEN,IAAI,EAAEQ,GAAI,CAAC;IAC5B,CAAC;IACD;IACA;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEH,YAAY,EAAEC,cAAc,EAAEN,IAAI,CAAG,CAAC;EAC3C;EACA;EACAT,eAAe,CAAE,MAAM;IACtBgB,QAAQ,CAACE,UAAU,CAAET,IAAI,EAAEC,SAAU,CAAC;EACvC,CAAE,CAAC;EAEH,OACCS,aAAA,CAACf,IAAI;IACJO,EAAE,EAAGA,EAAI;IACTM,GAAG,EAAGd,YAAY,CAAE,CAAEK,YAAY,EAAES,GAAG,CAAG,CAAG;IAAA,GACxCJ;EAAS,CACd,CAAC;AAEJ;AAEA,eAAeX,UAAU,CAAEI,IAAK,CAAC"}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { forwardRef } from '@wordpress/element';
6
+ import { forwardRef, useContext } from '@wordpress/element';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
@@ -14,6 +14,7 @@ import BubblesVirtuallyFill from './bubbles-virtually/fill';
14
14
  import BubblesVirtuallySlot from './bubbles-virtually/slot';
15
15
  import BubblesVirtuallySlotFillProvider from './bubbles-virtually/slot-fill-provider';
16
16
  import SlotFillProvider from './provider';
17
+ import SlotFillContext from './bubbles-virtually/slot-fill-context';
17
18
  export { default as useSlot } from './bubbles-virtually/use-slot';
18
19
  export { default as useSlotFills } from './bubbles-virtually/use-slot-fills';
19
20
  export function Fill(props) {
@@ -44,6 +45,10 @@ export function Provider({
44
45
  children,
45
46
  ...props
46
47
  }) {
48
+ const parent = useContext(SlotFillContext);
49
+ if (!parent.isDefault) {
50
+ return children;
51
+ }
47
52
  return createElement(SlotFillProvider, {
48
53
  ...props
49
54
  }, createElement(BubblesVirtuallySlotFillProvider, null, children));
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","BaseFill","BaseSlot","BubblesVirtuallyFill","BubblesVirtuallySlot","BubblesVirtuallySlotFillProvider","SlotFillProvider","default","useSlot","useSlotFills","Fill","props","createElement","Fragment","Slot","bubblesVirtually","ref","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":";AAAA;AACA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,gCAAgC,MAAM,wCAAwC;AACrF,OAAOC,gBAAgB,MAAM,YAAY;AACzC,SAASC,OAAO,IAAIC,OAAO,QAAQ,8BAA8B;AACjE,SAASD,OAAO,IAAIE,YAAY,QAAQ,oCAAoC;AAE5E,OAAO,SAASC,IAAIA,CAAEC,KAAK,EAAG;EAC7B;EACA;EACA;EACA,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACX,QAAQ;IAAA,GAAMU;EAAK,CAAI,CAAC,EACzBC,aAAA,CAACT,oBAAoB;IAAA,GAAMQ;EAAK,CAAI,CACnC,CAAC;AAEL;AACA,OAAO,MAAMG,IAAI,GAAGd,UAAU,CAAE,CAAE;EAAEe,gBAAgB;EAAE,GAAGJ;AAAM,CAAC,EAAEK,GAAG,KAAM;EAC1E,IAAKD,gBAAgB,EAAG;IACvB,OAAOH,aAAA,CAACR,oBAAoB;MAAA,GAAMO,KAAK;MAAGK,GAAG,EAAGA;IAAK,CAAE,CAAC;EACzD;EACA,OAAOJ,aAAA,CAACV,QAAQ;IAAA,GAAMS;EAAK,CAAI,CAAC;AACjC,CAAE,CAAC;AAEH,OAAO,SAASM,QAAQA,CAAE;EAAEC,QAAQ;EAAE,GAAGP;AAAM,CAAC,EAAG;EAClD,OACCC,aAAA,CAACN,gBAAgB;IAAA,GAAMK;EAAK,GAC3BC,aAAA,CAACP,gCAAgC,QAC9Ba,QAC+B,CACjB,CAAC;AAErB;AAEA,OAAO,SAASC,cAAcA,CAAEC,GAAG,EAAG;EACrC,MAAMC,QAAQ,GAAG,OAAOD,GAAG,KAAK,QAAQ,GAAGA,GAAG,CAACE,WAAW,GAAGF,GAAG;EAChE,MAAMG,aAAa,GAAKZ,KAAK,IAAMC,aAAA,CAACF,IAAI;IAACc,IAAI,EAAGJ,GAAK;IAAA,GAAMT;EAAK,CAAI,CAAC;EACrEY,aAAa,CAACE,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAE/C,MAAMK,aAAa,GAAKf,KAAK,IAAMC,aAAA,CAACE,IAAI;IAACU,IAAI,EAAGJ,GAAK;IAAA,GAAMT;EAAK,CAAI,CAAC;EACrEe,aAAa,CAACD,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAC/CK,aAAa,CAACC,cAAc,GAAGP,GAAG;EAElC,OAAO;IACNV,IAAI,EAAEa,aAAa;IACnBT,IAAI,EAAEY;EACP,CAAC;AACF;AAEA,OAAO,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"}
1
+ {"version":3,"names":["forwardRef","useContext","BaseFill","BaseSlot","BubblesVirtuallyFill","BubblesVirtuallySlot","BubblesVirtuallySlotFillProvider","SlotFillProvider","SlotFillContext","default","useSlot","useSlotFills","Fill","props","createElement","Fragment","Slot","bubblesVirtually","ref","Provider","children","parent","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":";AAAA;AACA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;;AAE3D;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,gCAAgC,MAAM,wCAAwC;AACrF,OAAOC,gBAAgB,MAAM,YAAY;AACzC,OAAOC,eAAe,MAAM,uCAAuC;AACnE,SAASC,OAAO,IAAIC,OAAO,QAAQ,8BAA8B;AACjE,SAASD,OAAO,IAAIE,YAAY,QAAQ,oCAAoC;AAE5E,OAAO,SAASC,IAAIA,CAAEC,KAAK,EAAG;EAC7B;EACA;EACA;EACA,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACZ,QAAQ;IAAA,GAAMW;EAAK,CAAI,CAAC,EACzBC,aAAA,CAACV,oBAAoB;IAAA,GAAMS;EAAK,CAAI,CACnC,CAAC;AAEL;AACA,OAAO,MAAMG,IAAI,GAAGhB,UAAU,CAAE,CAAE;EAAEiB,gBAAgB;EAAE,GAAGJ;AAAM,CAAC,EAAEK,GAAG,KAAM;EAC1E,IAAKD,gBAAgB,EAAG;IACvB,OAAOH,aAAA,CAACT,oBAAoB;MAAA,GAAMQ,KAAK;MAAGK,GAAG,EAAGA;IAAK,CAAE,CAAC;EACzD;EACA,OAAOJ,aAAA,CAACX,QAAQ;IAAA,GAAMU;EAAK,CAAI,CAAC;AACjC,CAAE,CAAC;AAEH,OAAO,SAASM,QAAQA,CAAE;EAAEC,QAAQ;EAAE,GAAGP;AAAM,CAAC,EAAG;EAClD,MAAMQ,MAAM,GAAGpB,UAAU,CAAEO,eAAgB,CAAC;EAC5C,IAAK,CAAEa,MAAM,CAACC,SAAS,EAAG;IACzB,OAAOF,QAAQ;EAChB;EACA,OACCN,aAAA,CAACP,gBAAgB;IAAA,GAAMM;EAAK,GAC3BC,aAAA,CAACR,gCAAgC,QAC9Bc,QAC+B,CACjB,CAAC;AAErB;AAEA,OAAO,SAASG,cAAcA,CAAEC,GAAG,EAAG;EACrC,MAAMC,QAAQ,GAAG,OAAOD,GAAG,KAAK,QAAQ,GAAGA,GAAG,CAACE,WAAW,GAAGF,GAAG;EAChE,MAAMG,aAAa,GAAKd,KAAK,IAAMC,aAAA,CAACF,IAAI;IAACgB,IAAI,EAAGJ,GAAK;IAAA,GAAMX;EAAK,CAAI,CAAC;EACrEc,aAAa,CAACE,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAE/C,MAAMK,aAAa,GAAKjB,KAAK,IAAMC,aAAA,CAACE,IAAI;IAACY,IAAI,EAAGJ,GAAK;IAAA,GAAMX;EAAK,CAAI,CAAC;EACrEiB,aAAa,CAACD,WAAW,GAAI,GAAGJ,QAAU,MAAK;EAC/CK,aAAa,CAACC,cAAc,GAAGP,GAAG;EAElC,OAAO;IACNZ,IAAI,EAAEe,aAAa;IACnBX,IAAI,EAAEc;EACP,CAAC;AACF;AAEA,OAAO,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"}
@@ -83,7 +83,7 @@ function UnforwardedSnackbar({
83
83
  });
84
84
  if (actions && actions.length > 1) {
85
85
  // We need to inform developers that snackbar only accepts 1 action.
86
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0;
86
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0;
87
87
  // return first element only while keeping it inside an array
88
88
  actions = [actions[0]];
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","speak","useEffect","forwardRef","renderToString","__","warning","Button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","length","process","env","NODE_ENV","snackbarContentClassnames","createElement","undefined","tabIndex","role","onKeyPress","map","label","url","index","key","href","variant","Snackbar"],"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":["classnames","speak","useEffect","forwardRef","renderToString","__","warning","Button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","length","SCRIPT_DEBUG","snackbarContentClassnames","createElement","undefined","tabIndex","role","onKeyPress","map","label","url","index","key","href","variant","Snackbar"],"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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"}
@@ -38,7 +38,6 @@ export function UnforwardedSpinner({
38
38
  /**
39
39
  * `Spinner` is a component used to notify users that their action is being processed.
40
40
  *
41
- * @example
42
41
  * ```js
43
42
  * import { Spinner } from '@wordpress/components';
44
43
  *
@@ -1 +1 @@
1
- {"version":3,"names":["classNames","StyledSpinner","SpinnerTrack","SpinnerIndicator","forwardRef","UnforwardedSpinner","className","props","forwardedRef","createElement","viewBox","width","height","xmlns","role","focusable","ref","cx","cy","r","vectorEffect","d","Spinner"],"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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AAGnC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,UAAU;AAGxE;AACA;AACA;AACA,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,OAAO,SAASC,kBAAkBA,CACjC;EAAEC,SAAS;EAAE,GAAGC;AAAmD,CAAC,EACpEC,YAAiC,EAChC;EACD,OACCC,aAAA,CAACR,aAAa;IACbK,SAAS,EAAGN,UAAU,CAAE,oBAAoB,EAAEM,SAAU,CAAG;IAC3DI,OAAO,EAAC,aAAa;IACrBC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBC,SAAS,EAAC,OAAO;IAAA,GACZR,KAAK;IACVS,GAAG,EAAGR;EAAc,GAGpBC,aAAA,CAACP,YAAY;IACZe,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC,IAAI;IACNC,YAAY,EAAC;EAAoB,CACjC,CAAC,EAGFX,aAAA,CAACN,gBAAgB;IAChBkB,CAAC,EAAC,4BAA4B;IAC9BD,YAAY,EAAC;EAAoB,CACjC,CACa,CAAC;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,OAAO,GAAGlB,UAAU,CAAEC,kBAAmB,CAAC;AACvD,eAAeiB,OAAO"}
1
+ {"version":3,"names":["classNames","StyledSpinner","SpinnerTrack","SpinnerIndicator","forwardRef","UnforwardedSpinner","className","props","forwardedRef","createElement","viewBox","width","height","xmlns","role","focusable","ref","cx","cy","r","vectorEffect","d","Spinner"],"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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AAGnC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,UAAU;AAGxE;AACA;AACA;AACA,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,OAAO,SAASC,kBAAkBA,CACjC;EAAEC,SAAS;EAAE,GAAGC;AAAmD,CAAC,EACpEC,YAAiC,EAChC;EACD,OACCC,aAAA,CAACR,aAAa;IACbK,SAAS,EAAGN,UAAU,CAAE,oBAAoB,EAAEM,SAAU,CAAG;IAC3DI,OAAO,EAAC,aAAa;IACrBC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBC,SAAS,EAAC,OAAO;IAAA,GACZR,KAAK;IACVS,GAAG,EAAGR;EAAc,GAGpBC,aAAA,CAACP,YAAY;IACZe,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC,IAAI;IACNC,YAAY,EAAC;EAAoB,CACjC,CAAC,EAGFX,aAAA,CAACN,gBAAgB;IAChBkB,CAAC,EAAC,4BAA4B;IAC9BD,YAAY,EAAC;EAAoB,CACjC,CACa,CAAC;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,OAAO,GAAGlB,UAAU,CAAEC,kBAAmB,CAAC;AACvD,eAAeiB,OAAO"}
@@ -30,7 +30,7 @@ export function generateThemeVariables(inputs) {
30
30
  function validateInputs(inputs) {
31
31
  for (const [key, value] of Object.entries(inputs)) {
32
32
  if (typeof value !== 'undefined' && !colord(value).isValid()) {
33
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning(`wp.components.Theme: "${value}" is not a valid color value for the '${key}' prop.`) : void 0;
33
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning(`wp.components.Theme: "${value}" is not a valid color value for the '${key}' prop.`) : void 0;
34
34
  }
35
35
  }
36
36
  }
@@ -48,7 +48,7 @@ export function checkContrasts(inputs, outputs) {
48
48
  function warnContrastIssues(issues) {
49
49
  for (const error of Object.values(issues)) {
50
50
  if (error) {
51
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('wp.components.Theme: ' + error) : void 0;
51
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('wp.components.Theme: ' + error) : void 0;
52
52
  }
53
53
  }
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"names":["colord","extend","a11yPlugin","namesPlugin","warning","COLORS","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","isValid","process","env","NODE_ENV","outputs","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","extend","a11yPlugin","namesPlugin","warning","COLORS","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","isValid","SCRIPT_DEBUG","outputs","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 @@ import { useCx } from '../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 (
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","colorVariables","Wrapper","generateThemeVariables","useCx","Theme","accent","background","className","props","cx","classes","createElement"],"sources":["@wordpress/components/src/theme/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { ThemeProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\nimport { colorVariables, Wrapper } from './styles';\nimport { generateThemeVariables } from './color-algorithms';\nimport { useCx } from '../utils';\n\n/**\n * `Theme` allows defining theme variables for components in the `@wordpress/components` package.\n *\n * Multiple `Theme` components can be nested in order to override specific theme variables.\n *\n *\n * @example\n * ```jsx\n * const Example = () => {\n * return (\n * <Theme accent=\"red\">\n * <Button variant=\"primary\">I'm red</Button>\n * <Theme accent=\"blue\">\n * <Button variant=\"primary\">I'm blue</Button>\n * </Theme>\n * </Theme>\n * );\n * };\n * ```\n */\nfunction Theme( {\n\taccent,\n\tbackground,\n\tclassName,\n\t...props\n}: WordPressComponentProps< ThemeProps, 'div', true > ) {\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\t...colorVariables(\n\t\t\t\t\tgenerateThemeVariables( { accent, background } )\n\t\t\t\t),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ accent, background, className, cx ]\n\t);\n\n\treturn <Wrapper className={ classes } { ...props } />;\n}\n\nexport default Theme;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;;AAGA,SAASC,cAAc,EAAEC,OAAO,QAAQ,UAAU;AAClD,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,KAAK,QAAQ,UAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAAE;EACfC,MAAM;EACNC,UAAU;EACVC,SAAS;EACT,GAAGC;AACgD,CAAC,EAAG;EACvD,MAAMC,EAAE,GAAGN,KAAK,CAAC,CAAC;EAClB,MAAMO,OAAO,GAAGX,OAAO,CACtB,MACCU,EAAE,CACD,GAAGT,cAAc,CAChBE,sBAAsB,CAAE;IAAEG,MAAM;IAAEC;EAAW,CAAE,CAChD,CAAC,EACDC,SACD,CAAC,EACF,CAAEF,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEE,EAAE,CACpC,CAAC;EAED,OAAOE,aAAA,CAACV,OAAO;IAACM,SAAS,EAAGG,OAAS;IAAA,GAAMF;EAAK,CAAI,CAAC;AACtD;AAEA,eAAeJ,KAAK"}
1
+ {"version":3,"names":["useMemo","colorVariables","Wrapper","generateThemeVariables","useCx","Theme","accent","background","className","props","cx","classes","createElement"],"sources":["@wordpress/components/src/theme/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { ThemeProps } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\nimport { colorVariables, Wrapper } from './styles';\nimport { generateThemeVariables } from './color-algorithms';\nimport { useCx } from '../utils';\n\n/**\n * `Theme` allows defining theme variables for components in the `@wordpress/components` package.\n *\n * Multiple `Theme` components can be nested in order to override specific theme variables.\n *\n *\n * ```jsx\n * const Example = () => {\n * return (\n * <Theme accent=\"red\">\n * <Button variant=\"primary\">I'm red</Button>\n * <Theme accent=\"blue\">\n * <Button variant=\"primary\">I'm blue</Button>\n * </Theme>\n * </Theme>\n * );\n * };\n * ```\n */\nfunction Theme( {\n\taccent,\n\tbackground,\n\tclassName,\n\t...props\n}: WordPressComponentProps< ThemeProps, 'div', true > ) {\n\tconst cx = useCx();\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\t...colorVariables(\n\t\t\t\t\tgenerateThemeVariables( { accent, background } )\n\t\t\t\t),\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ accent, background, className, cx ]\n\t);\n\n\treturn <Wrapper className={ classes } { ...props } />;\n}\n\nexport default Theme;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;;AAGA,SAASC,cAAc,EAAEC,OAAO,QAAQ,UAAU;AAClD,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,KAAK,QAAQ,UAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAAE;EACfC,MAAM;EACNC,UAAU;EACVC,SAAS;EACT,GAAGC;AACgD,CAAC,EAAG;EACvD,MAAMC,EAAE,GAAGN,KAAK,CAAC,CAAC;EAClB,MAAMO,OAAO,GAAGX,OAAO,CACtB,MACCU,EAAE,CACD,GAAGT,cAAc,CAChBE,sBAAsB,CAAE;IAAEG,MAAM;IAAEC;EAAW,CAAE,CAChD,CAAC,EACDC,SACD,CAAC,EACF,CAAEF,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEE,EAAE,CACpC,CAAC;EAED,OAAOE,aAAA,CAACV,OAAO;IAACM,SAAS,EAAGG,OAAS;IAAA,GAAMF;EAAK,CAAI,CAAC;AACtD;AAEA,eAAeJ,KAAK"}
@@ -21,7 +21,7 @@ function ToolbarItem({
21
21
  const accessibleToolbarStore = useContext(ToolbarContext);
22
22
  const isRenderProp = typeof children === 'function';
23
23
  if (!isRenderProp && !Component) {
24
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component. ' + 'See https://developer.wordpress.org/block-editor/components/toolbar-item/') : void 0;
24
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component. ' + 'See https://developer.wordpress.org/block-editor/components/toolbar-item/') : void 0;
25
25
  return null;
26
26
  }
27
27
  const allProps = {
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarItem","BaseToolbarItem","forwardRef","useContext","warning","ToolbarContext","children","as","Component","props","ref","accessibleToolbarStore","isRenderProp","process","env","NODE_ENV","allProps","createElement","render","store"],"sources":["@wordpress/components/src/toolbar/toolbar-item/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ToolbarItem as BaseToolbarItem } from '@ariakit/react/toolbar';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport ToolbarContext from '../toolbar-context';\nimport type { ToolbarItemProps } from './types';\n\nfunction ToolbarItem(\n\t{ children, as: Component, ...props }: ToolbarItemProps,\n\tref: ForwardedRef< any >\n) {\n\tconst accessibleToolbarStore = useContext( ToolbarContext );\n\tconst isRenderProp = typeof children === 'function';\n\n\tif ( ! isRenderProp && ! Component ) {\n\t\twarning(\n\t\t\t'`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component. ' +\n\t\t\t\t'See https://developer.wordpress.org/block-editor/components/toolbar-item/'\n\t\t);\n\t\treturn null;\n\t}\n\n\tconst allProps = { ...props, ref, 'data-toolbar-item': true };\n\n\tif ( ! accessibleToolbarStore ) {\n\t\tif ( Component ) {\n\t\t\treturn <Component { ...allProps }>{ children }</Component>;\n\t\t}\n\t\tif ( ! isRenderProp ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn children( allProps );\n\t}\n\n\tconst render = isRenderProp ? children : Component && <Component />;\n\n\treturn (\n\t\t<BaseToolbarItem\n\t\t\t{ ...allProps }\n\t\t\tstore={ accessibleToolbarStore }\n\t\t\trender={ render }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( ToolbarItem );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,eAAe,QAAQ,wBAAwB;AAGvE;AACA;AACA;AACA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AAC3D,OAAOC,OAAO,MAAM,oBAAoB;;AAExC;AACA;AACA;AACA,OAAOC,cAAc,MAAM,oBAAoB;AAG/C,SAASL,WAAWA,CACnB;EAAEM,QAAQ;EAAEC,EAAE,EAAEC,SAAS;EAAE,GAAGC;AAAwB,CAAC,EACvDC,GAAwB,EACvB;EACD,MAAMC,sBAAsB,GAAGR,UAAU,CAAEE,cAAe,CAAC;EAC3D,MAAMO,YAAY,GAAG,OAAON,QAAQ,KAAK,UAAU;EAEnD,IAAK,CAAEM,YAAY,IAAI,CAAEJ,SAAS,EAAG;IACpC,OAAAK,OAAA,oBAAAA,OAAA,CAAAC,GAAA,IAAAD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAX,OAAO,CACN,sIAAsI,GACrI,2EACF,CAAC;IACD,OAAO,IAAI;EACZ;EAEA,MAAMY,QAAQ,GAAG;IAAE,GAAGP,KAAK;IAAEC,GAAG;IAAE,mBAAmB,EAAE;EAAK,CAAC;EAE7D,IAAK,CAAEC,sBAAsB,EAAG;IAC/B,IAAKH,SAAS,EAAG;MAChB,OAAOS,aAAA,CAACT,SAAS;QAAA,GAAMQ;MAAQ,GAAKV,QAAqB,CAAC;IAC3D;IACA,IAAK,CAAEM,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IACA,OAAON,QAAQ,CAAEU,QAAS,CAAC;EAC5B;EAEA,MAAME,MAAM,GAAGN,YAAY,GAAGN,QAAQ,GAAGE,SAAS,IAAIS,aAAA,CAACT,SAAS,MAAE,CAAC;EAEnE,OACCS,aAAA,CAAChB,eAAe;IAAA,GACVe,QAAQ;IACbG,KAAK,EAAGR,sBAAwB;IAChCO,MAAM,EAAGA;EAAQ,CACjB,CAAC;AAEJ;AAEA,eAAehB,UAAU,CAAEF,WAAY,CAAC"}
1
+ {"version":3,"names":["ToolbarItem","BaseToolbarItem","forwardRef","useContext","warning","ToolbarContext","children","as","Component","props","ref","accessibleToolbarStore","isRenderProp","SCRIPT_DEBUG","allProps","createElement","render","store"],"sources":["@wordpress/components/src/toolbar/toolbar-item/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ToolbarItem as BaseToolbarItem } from '@ariakit/react/toolbar';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport ToolbarContext from '../toolbar-context';\nimport type { ToolbarItemProps } from './types';\n\nfunction ToolbarItem(\n\t{ children, as: Component, ...props }: ToolbarItemProps,\n\tref: ForwardedRef< any >\n) {\n\tconst accessibleToolbarStore = useContext( ToolbarContext );\n\tconst isRenderProp = typeof children === 'function';\n\n\tif ( ! isRenderProp && ! Component ) {\n\t\twarning(\n\t\t\t'`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component. ' +\n\t\t\t\t'See https://developer.wordpress.org/block-editor/components/toolbar-item/'\n\t\t);\n\t\treturn null;\n\t}\n\n\tconst allProps = { ...props, ref, 'data-toolbar-item': true };\n\n\tif ( ! accessibleToolbarStore ) {\n\t\tif ( Component ) {\n\t\t\treturn <Component { ...allProps }>{ children }</Component>;\n\t\t}\n\t\tif ( ! isRenderProp ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn children( allProps );\n\t}\n\n\tconst render = isRenderProp ? children : Component && <Component />;\n\n\treturn (\n\t\t<BaseToolbarItem\n\t\t\t{ ...allProps }\n\t\t\tstore={ accessibleToolbarStore }\n\t\t\trender={ render }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( ToolbarItem );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,eAAe,QAAQ,wBAAwB;AAGvE;AACA;AACA;AACA,SAASC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AAC3D,OAAOC,OAAO,MAAM,oBAAoB;;AAExC;AACA;AACA;AACA,OAAOC,cAAc,MAAM,oBAAoB;AAG/C,SAASL,WAAWA,CACnB;EAAEM,QAAQ;EAAEC,EAAE,EAAEC,SAAS;EAAE,GAAGC;AAAwB,CAAC,EACvDC,GAAwB,EACvB;EACD,MAAMC,sBAAsB,GAAGR,UAAU,CAAEE,cAAe,CAAC;EAC3D,MAAMO,YAAY,GAAG,OAAON,QAAQ,KAAK,UAAU;EAEnD,IAAK,CAAEM,YAAY,IAAI,CAAEJ,SAAS,EAAG;IACpC,OAAAK,YAAA,oBAAAA,YAAA,YAAAT,OAAO,CACN,sIAAsI,GACrI,2EACF,CAAC;IACD,OAAO,IAAI;EACZ;EAEA,MAAMU,QAAQ,GAAG;IAAE,GAAGL,KAAK;IAAEC,GAAG;IAAE,mBAAmB,EAAE;EAAK,CAAC;EAE7D,IAAK,CAAEC,sBAAsB,EAAG;IAC/B,IAAKH,SAAS,EAAG;MAChB,OAAOO,aAAA,CAACP,SAAS;QAAA,GAAMM;MAAQ,GAAKR,QAAqB,CAAC;IAC3D;IACA,IAAK,CAAEM,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IACA,OAAON,QAAQ,CAAEQ,QAAS,CAAC;EAC5B;EAEA,MAAME,MAAM,GAAGJ,YAAY,GAAGN,QAAQ,GAAGE,SAAS,IAAIO,aAAA,CAACP,SAAS,MAAE,CAAC;EAEnE,OACCO,aAAA,CAACd,eAAe;IAAA,GACVa,QAAQ;IACbG,KAAK,EAAGN,sBAAwB;IAChCK,MAAM,EAAGA;EAAQ,CACjB,CAAC;AAEJ;AAEA,eAAed,UAAU,CAAEF,WAAY,CAAC"}
@@ -8,7 +8,7 @@ function ToolbarItem({
8
8
  ...props
9
9
  }, ref) {
10
10
  if (typeof children !== 'function') {
11
- typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('`ToolbarItem` is a generic headless component that accepts only function children props') : void 0;
11
+ typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('`ToolbarItem` is a generic headless component that accepts only function children props') : void 0;
12
12
  return null;
13
13
  }
14
14
  return children({
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","warning","ToolbarItem","children","props","ref","process","env","NODE_ENV"],"sources":["@wordpress/components/src/toolbar/toolbar-item/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\nfunction ToolbarItem( { children, ...props }, ref ) {\n\tif ( typeof children !== 'function' ) {\n\t\twarning(\n\t\t\t'`ToolbarItem` is a generic headless component that accepts only function children props'\n\t\t);\n\t\treturn null;\n\t}\n\treturn children( { ...props, ref } );\n}\n\nexport default forwardRef( ToolbarItem );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,OAAOC,OAAO,MAAM,oBAAoB;AAExC,SAASC,WAAWA,CAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,EAAG;EACnD,IAAK,OAAOF,QAAQ,KAAK,UAAU,EAAG;IACrC,OAAAG,OAAA,oBAAAA,OAAA,CAAAC,GAAA,IAAAD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAP,OAAO,CACN,yFACD,CAAC;IACD,OAAO,IAAI;EACZ;EACA,OAAOE,QAAQ,CAAE;IAAE,GAAGC,KAAK;IAAEC;EAAI,CAAE,CAAC;AACrC;AAEA,eAAeL,UAAU,CAAEE,WAAY,CAAC"}
1
+ {"version":3,"names":["forwardRef","warning","ToolbarItem","children","props","ref","SCRIPT_DEBUG"],"sources":["@wordpress/components/src/toolbar/toolbar-item/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\nfunction ToolbarItem( { children, ...props }, ref ) {\n\tif ( typeof children !== 'function' ) {\n\t\twarning(\n\t\t\t'`ToolbarItem` is a generic headless component that accepts only function children props'\n\t\t);\n\t\treturn null;\n\t}\n\treturn children( { ...props, ref } );\n}\n\nexport default forwardRef( ToolbarItem );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,OAAOC,OAAO,MAAM,oBAAoB;AAExC,SAASC,WAAWA,CAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,EAAG;EACnD,IAAK,OAAOF,QAAQ,KAAK,UAAU,EAAG;IACrC,OAAAG,YAAA,oBAAAA,YAAA,YAAAL,OAAO,CACN,yFACD,CAAC;IACD,OAAO,IAAI;EACZ;EACA,OAAOE,QAAQ,CAAE;IAAE,GAAGC,KAAK;IAAEC;EAAI,CAAE,CAAC;AACrC;AAEA,eAAeL,UAAU,CAAEE,WAAY,CAAC"}
@@ -40,7 +40,6 @@ const UnconnectedToolsPanel = (props, forwardedRef) => {
40
40
  * by a header. The header includes a dropdown menu which is automatically
41
41
  * generated from the panel's inner `ToolsPanelItems`.
42
42
  *
43
- * @example
44
43
  * ```jsx
45
44
  * import { __ } from '@wordpress/i18n';
46
45
  * import {