@wordpress/components 25.13.0 → 25.15.1-next.79a6196f.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 (743) hide show
  1. package/CHANGELOG.md +89 -1
  2. package/CONTRIBUTING.md +57 -115
  3. package/LICENSE.md +1 -1
  4. package/build/base-control/index.js +17 -13
  5. package/build/base-control/index.js.map +1 -1
  6. package/build/border-box-control/border-box-control-linked-button/component.js +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  8. package/build/border-control/border-control-dropdown/component.js +4 -2
  9. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  10. package/build/border-control/border-control-dropdown/hook.js +3 -2
  11. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  12. package/build/border-control/border-control-style-picker/component.js +1 -1
  13. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  14. package/build/border-control/styles.js +17 -17
  15. package/build/border-control/styles.js.map +1 -1
  16. package/build/box-control/index.js +1 -1
  17. package/build/box-control/index.js.map +1 -1
  18. package/build/box-control/linked-button.js +1 -1
  19. package/build/box-control/linked-button.js.map +1 -1
  20. package/build/button/index.js +1 -1
  21. package/build/button/index.js.map +1 -1
  22. package/build/checkbox-control/index.js +1 -1
  23. package/build/checkbox-control/index.js.map +1 -1
  24. package/build/checkbox-control/types.js.map +1 -1
  25. package/build/color-palette/index.native.js +11 -7
  26. package/build/color-palette/index.native.js.map +1 -1
  27. package/build/color-picker/color-copy-button.js +1 -1
  28. package/build/color-picker/color-copy-button.js.map +1 -1
  29. package/build/context/wordpress-component.js.map +1 -1
  30. package/build/custom-select-control-v2/index.js +11 -10
  31. package/build/custom-select-control-v2/index.js.map +1 -1
  32. package/build/date-time/date/styles.js +8 -8
  33. package/build/date-time/date/styles.js.map +1 -1
  34. package/build/date-time/time/timezone.js +11 -2
  35. package/build/date-time/time/timezone.js.map +1 -1
  36. package/build/dimension-control/index.js +2 -0
  37. package/build/dimension-control/index.js.map +1 -1
  38. package/build/dimension-control/types.js.map +1 -1
  39. package/build/dropdown-menu-v2/index.js +205 -159
  40. package/build/dropdown-menu-v2/index.js.map +1 -1
  41. package/build/dropdown-menu-v2/styles.js +86 -77
  42. package/build/dropdown-menu-v2/styles.js.map +1 -1
  43. package/build/dropdown-menu-v2/types.js.map +1 -1
  44. package/build/duotone-picker/duotone-picker.js +4 -3
  45. package/build/duotone-picker/duotone-picker.js.map +1 -1
  46. package/build/focal-point-picker/controls.js +5 -1
  47. package/build/focal-point-picker/controls.js.map +1 -1
  48. package/build/focal-point-picker/index.js +2 -0
  49. package/build/focal-point-picker/index.js.map +1 -1
  50. package/build/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  51. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  52. package/build/focal-point-picker/types.js.map +1 -1
  53. package/build/font-size-picker/font-size-picker-select.js +2 -0
  54. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  55. package/build/font-size-picker/font-size-picker-toggle-group.js +2 -0
  56. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  57. package/build/font-size-picker/index.js +10 -3
  58. package/build/font-size-picker/index.js.map +1 -1
  59. package/build/font-size-picker/index.native.js +6 -3
  60. package/build/font-size-picker/index.native.js.map +1 -1
  61. package/build/font-size-picker/types.js.map +1 -1
  62. package/build/form-token-field/index.js +10 -5
  63. package/build/form-token-field/index.js.map +1 -1
  64. package/build/form-token-field/token.js +1 -0
  65. package/build/form-token-field/token.js.map +1 -1
  66. package/build/gradient-picker/index.js +3 -2
  67. package/build/gradient-picker/index.js.map +1 -1
  68. package/build/index.native.js +20 -19
  69. package/build/index.native.js.map +1 -1
  70. package/build/input-control/styles/input-control-styles.js +32 -29
  71. package/build/input-control/styles/input-control-styles.js.map +1 -1
  72. package/build/input-control/types.js.map +1 -1
  73. package/build/lock-unlock.js +18 -0
  74. package/build/lock-unlock.js.map +1 -0
  75. package/build/mobile/bottom-sheet/index.native.js +8 -0
  76. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  77. package/build/mobile/color-settings/palette.screen.native.js +8 -4
  78. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  79. package/build/mobile/global-styles-context/utils.native.js +39 -13
  80. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  81. package/build/mobile/image/constants.js +12 -0
  82. package/build/mobile/image/constants.js.map +1 -0
  83. package/build/mobile/image/index.native.js +26 -18
  84. package/build/mobile/image/index.native.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/index.android.js +40 -8
  86. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  87. package/build/mobile/keyboard-aware-flat-list/index.ios.js +44 -68
  88. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  89. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +39 -0
  90. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  91. package/build/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -29
  92. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  93. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js +93 -0
  94. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  95. package/build/mobile/utils/get-px-from-css-unit.native.js +302 -0
  96. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  97. package/build/modal/index.js +18 -13
  98. package/build/modal/index.js.map +1 -1
  99. package/build/navigation/menu/menu-title.js +1 -1
  100. package/build/navigation/menu/menu-title.js.map +1 -1
  101. package/build/navigator/navigator-provider/component.js +13 -15
  102. package/build/navigator/navigator-provider/component.js.map +1 -1
  103. package/build/navigator/navigator-screen/component.js +23 -63
  104. package/build/navigator/navigator-screen/component.js.map +1 -1
  105. package/build/navigator/styles.js +52 -0
  106. package/build/navigator/styles.js.map +1 -0
  107. package/build/number-control/index.js +4 -8
  108. package/build/number-control/index.js.map +1 -1
  109. package/build/number-control/types.js.map +1 -1
  110. package/build/palette-edit/index.js +15 -34
  111. package/build/palette-edit/index.js.map +1 -1
  112. package/build/private-apis.js +11 -26
  113. package/build/private-apis.js.map +1 -1
  114. package/build/private-apis.native.js +21 -0
  115. package/build/private-apis.native.js.map +1 -0
  116. package/build/query-controls/author-select.js +3 -1
  117. package/build/query-controls/author-select.js.map +1 -1
  118. package/build/query-controls/category-select.js +3 -1
  119. package/build/query-controls/category-select.js.map +1 -1
  120. package/build/query-controls/index.js +6 -1
  121. package/build/query-controls/index.js.map +1 -1
  122. package/build/query-controls/types.js.map +1 -1
  123. package/build/radio-control/index.js +1 -0
  124. package/build/radio-control/index.js.map +1 -1
  125. package/build/range-control/index.js +1 -1
  126. package/build/range-control/index.js.map +1 -1
  127. package/build/select-control/styles/select-control-styles.js +15 -25
  128. package/build/select-control/styles/select-control-styles.js.map +1 -1
  129. package/build/slot-fill/index.js +3 -2
  130. package/build/slot-fill/index.js.map +1 -1
  131. package/build/slot-fill/types.js.map +1 -1
  132. package/build/snackbar/types.js.map +1 -1
  133. package/build/tabs/index.js +18 -1
  134. package/build/tabs/index.js.map +1 -1
  135. package/build/tabs/styles.js +3 -3
  136. package/build/tabs/styles.js.map +1 -1
  137. package/build/tabs/tab.js +2 -2
  138. package/build/tabs/tab.js.map +1 -1
  139. package/build/tabs/tabpanel.js +11 -8
  140. package/build/tabs/tabpanel.js.map +1 -1
  141. package/build/tabs/types.js.map +1 -1
  142. package/build/toggle-group-control/toggle-group-control/component.js +4 -4
  143. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  144. package/build/toggle-group-control/toggle-group-control/styles.js +29 -15
  145. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  146. package/build/toggle-group-control/toggle-group-control/utils.js +17 -17
  147. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  148. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  149. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  150. package/build/tools-panel/tools-panel/component.js +3 -1
  151. package/build/tools-panel/tools-panel/component.js.map +1 -1
  152. package/build/tools-panel/tools-panel-header/component.js +9 -8
  153. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  154. package/build/tools-panel/tools-panel-item/hook.js +11 -11
  155. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  156. package/build/tools-panel/types.js.map +1 -1
  157. package/build/tooltip/index.js +34 -10
  158. package/build/tooltip/index.js.map +1 -1
  159. package/build/tooltip/types.js.map +1 -1
  160. package/build/truncate/hook.js +10 -4
  161. package/build/truncate/hook.js.map +1 -1
  162. package/build/truncate/types.js.map +1 -1
  163. package/build/unit-control/index.js +1 -1
  164. package/build/unit-control/index.js.map +1 -1
  165. package/build/utils/strings.js +34 -3
  166. package/build/utils/strings.js.map +1 -1
  167. package/build-module/base-control/index.js +16 -12
  168. package/build-module/base-control/index.js.map +1 -1
  169. package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -1
  170. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  171. package/build-module/border-control/border-control-dropdown/component.js +4 -2
  172. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  173. package/build-module/border-control/border-control-dropdown/hook.js +3 -2
  174. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  175. package/build-module/border-control/border-control-style-picker/component.js +1 -1
  176. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  177. package/build-module/border-control/styles.js +17 -17
  178. package/build-module/border-control/styles.js.map +1 -1
  179. package/build-module/box-control/index.js +1 -1
  180. package/build-module/box-control/index.js.map +1 -1
  181. package/build-module/box-control/linked-button.js +1 -1
  182. package/build-module/box-control/linked-button.js.map +1 -1
  183. package/build-module/button/index.js +1 -1
  184. package/build-module/button/index.js.map +1 -1
  185. package/build-module/checkbox-control/index.js +1 -1
  186. package/build-module/checkbox-control/index.js.map +1 -1
  187. package/build-module/checkbox-control/types.js.map +1 -1
  188. package/build-module/color-palette/index.native.js +11 -7
  189. package/build-module/color-palette/index.native.js.map +1 -1
  190. package/build-module/color-picker/color-copy-button.js +1 -1
  191. package/build-module/color-picker/color-copy-button.js.map +1 -1
  192. package/build-module/context/wordpress-component.js.map +1 -1
  193. package/build-module/custom-select-control-v2/index.js +11 -10
  194. package/build-module/custom-select-control-v2/index.js.map +1 -1
  195. package/build-module/date-time/date/styles.js +8 -8
  196. package/build-module/date-time/date/styles.js.map +1 -1
  197. package/build-module/date-time/time/timezone.js +11 -2
  198. package/build-module/date-time/time/timezone.js.map +1 -1
  199. package/build-module/dimension-control/index.js +2 -0
  200. package/build-module/dimension-control/index.js.map +1 -1
  201. package/build-module/dimension-control/types.js.map +1 -1
  202. package/build-module/dropdown-menu-v2/index.js +201 -154
  203. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  204. package/build-module/dropdown-menu-v2/styles.js +68 -61
  205. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  206. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  207. package/build-module/duotone-picker/duotone-picker.js +4 -3
  208. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  209. package/build-module/focal-point-picker/controls.js +5 -1
  210. package/build-module/focal-point-picker/controls.js.map +1 -1
  211. package/build-module/focal-point-picker/index.js +2 -0
  212. package/build-module/focal-point-picker/index.js.map +1 -1
  213. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  214. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  215. package/build-module/focal-point-picker/types.js.map +1 -1
  216. package/build-module/font-size-picker/font-size-picker-select.js +2 -0
  217. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  218. package/build-module/font-size-picker/font-size-picker-toggle-group.js +2 -0
  219. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  220. package/build-module/font-size-picker/index.js +10 -3
  221. package/build-module/font-size-picker/index.js.map +1 -1
  222. package/build-module/font-size-picker/index.native.js +5 -2
  223. package/build-module/font-size-picker/index.native.js.map +1 -1
  224. package/build-module/font-size-picker/types.js.map +1 -1
  225. package/build-module/form-token-field/index.js +10 -5
  226. package/build-module/form-token-field/index.js.map +1 -1
  227. package/build-module/form-token-field/token.js +1 -0
  228. package/build-module/form-token-field/token.js.map +1 -1
  229. package/build-module/gradient-picker/index.js +3 -2
  230. package/build-module/gradient-picker/index.js.map +1 -1
  231. package/build-module/index.native.js +6 -3
  232. package/build-module/index.native.js.map +1 -1
  233. package/build-module/input-control/styles/input-control-styles.js +31 -29
  234. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  235. package/build-module/input-control/types.js.map +1 -1
  236. package/build-module/lock-unlock.js +9 -0
  237. package/build-module/lock-unlock.js.map +1 -0
  238. package/build-module/mobile/bottom-sheet/index.native.js +9 -1
  239. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  240. package/build-module/mobile/color-settings/palette.screen.native.js +8 -4
  241. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  242. package/build-module/mobile/global-styles-context/utils.native.js +38 -13
  243. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  244. package/build-module/mobile/image/constants.js +5 -0
  245. package/build-module/mobile/image/constants.js.map +1 -0
  246. package/build-module/mobile/image/index.native.js +25 -16
  247. package/build-module/mobile/image/index.native.js.map +1 -1
  248. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +40 -6
  249. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  250. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -68
  251. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  252. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +33 -0
  253. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  254. package/build-module/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +21 -27
  255. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  256. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js +86 -0
  257. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  258. package/build-module/mobile/utils/get-px-from-css-unit.native.js +294 -0
  259. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  260. package/build-module/modal/index.js +18 -13
  261. package/build-module/modal/index.js.map +1 -1
  262. package/build-module/navigation/menu/menu-title.js +1 -1
  263. package/build-module/navigation/menu/menu-title.js.map +1 -1
  264. package/build-module/navigator/navigator-provider/component.js +3 -16
  265. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  266. package/build-module/navigator/navigator-screen/component.js +16 -70
  267. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  268. package/build-module/navigator/styles.js +47 -0
  269. package/build-module/navigator/styles.js.map +1 -0
  270. package/build-module/number-control/index.js +4 -8
  271. package/build-module/number-control/index.js.map +1 -1
  272. package/build-module/number-control/types.js.map +1 -1
  273. package/build-module/palette-edit/index.js +14 -33
  274. package/build-module/palette-edit/index.js.map +1 -1
  275. package/build-module/private-apis.js +10 -23
  276. package/build-module/private-apis.js.map +1 -1
  277. package/build-module/private-apis.native.js +14 -0
  278. package/build-module/private-apis.native.js.map +1 -0
  279. package/build-module/query-controls/author-select.js +3 -1
  280. package/build-module/query-controls/author-select.js.map +1 -1
  281. package/build-module/query-controls/category-select.js +3 -1
  282. package/build-module/query-controls/category-select.js.map +1 -1
  283. package/build-module/query-controls/index.js +6 -1
  284. package/build-module/query-controls/index.js.map +1 -1
  285. package/build-module/query-controls/types.js.map +1 -1
  286. package/build-module/radio-control/index.js +1 -0
  287. package/build-module/radio-control/index.js.map +1 -1
  288. package/build-module/range-control/index.js +1 -1
  289. package/build-module/range-control/index.js.map +1 -1
  290. package/build-module/select-control/styles/select-control-styles.js +15 -25
  291. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  292. package/build-module/slot-fill/index.js +3 -2
  293. package/build-module/slot-fill/index.js.map +1 -1
  294. package/build-module/slot-fill/types.js.map +1 -1
  295. package/build-module/snackbar/types.js.map +1 -1
  296. package/build-module/tabs/index.js +18 -1
  297. package/build-module/tabs/index.js.map +1 -1
  298. package/build-module/tabs/styles.js +3 -3
  299. package/build-module/tabs/styles.js.map +1 -1
  300. package/build-module/tabs/tab.js +2 -2
  301. package/build-module/tabs/tab.js.map +1 -1
  302. package/build-module/tabs/tabpanel.js +11 -8
  303. package/build-module/tabs/tabpanel.js.map +1 -1
  304. package/build-module/tabs/types.js.map +1 -1
  305. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -4
  306. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  307. package/build-module/toggle-group-control/toggle-group-control/styles.js +29 -15
  308. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  309. package/build-module/toggle-group-control/toggle-group-control/utils.js +17 -17
  310. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  311. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  312. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  313. package/build-module/tools-panel/tools-panel/component.js +3 -1
  314. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  315. package/build-module/tools-panel/tools-panel-header/component.js +9 -8
  316. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  317. package/build-module/tools-panel/tools-panel-item/hook.js +11 -11
  318. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  319. package/build-module/tools-panel/types.js.map +1 -1
  320. package/build-module/tooltip/index.js +34 -12
  321. package/build-module/tooltip/index.js.map +1 -1
  322. package/build-module/tooltip/types.js.map +1 -1
  323. package/build-module/truncate/hook.js +10 -4
  324. package/build-module/truncate/hook.js.map +1 -1
  325. package/build-module/truncate/types.js.map +1 -1
  326. package/build-module/unit-control/index.js +1 -1
  327. package/build-module/unit-control/index.js.map +1 -1
  328. package/build-module/utils/strings.js +32 -2
  329. package/build-module/utils/strings.js.map +1 -1
  330. package/build-style/style-rtl.css +30 -6
  331. package/build-style/style.css +30 -6
  332. package/build-types/base-control/index.d.ts +3 -27
  333. package/build-types/base-control/index.d.ts.map +1 -1
  334. package/build-types/base-control/stories/index.story.d.ts +4 -1
  335. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  336. package/build-types/border-box-control/border-box-control/hook.d.ts +4 -4
  337. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +6 -6
  338. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -4
  339. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +4 -4
  340. package/build-types/border-box-control/stories/index.story.d.ts +1 -1
  341. package/build-types/border-control/border-control/hook.d.ts +4 -4
  342. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  343. package/build-types/border-control/border-control-dropdown/hook.d.ts +5 -4
  344. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  345. package/build-types/border-control/border-control-style-picker/hook.d.ts +4 -4
  346. package/build-types/border-control/stories/index.story.d.ts +6 -6
  347. package/build-types/border-control/styles.d.ts +1 -1
  348. package/build-types/border-control/styles.d.ts.map +1 -1
  349. package/build-types/box-control/stories/index.story.d.ts +42 -42
  350. package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
  351. package/build-types/button/deprecated.d.ts +3 -3
  352. package/build-types/card/card/hook.d.ts +4 -4
  353. package/build-types/card/card-body/hook.d.ts +4 -4
  354. package/build-types/card/card-divider/hook.d.ts +4 -4
  355. package/build-types/card/card-footer/hook.d.ts +4 -4
  356. package/build-types/card/card-header/hook.d.ts +4 -4
  357. package/build-types/card/card-media/hook.d.ts +4 -4
  358. package/build-types/checkbox-control/index.d.ts.map +1 -1
  359. package/build-types/checkbox-control/types.d.ts +3 -2
  360. package/build-types/checkbox-control/types.d.ts.map +1 -1
  361. package/build-types/color-palette/styles.d.ts +2 -2
  362. package/build-types/color-picker/component.d.ts +2 -2
  363. package/build-types/color-picker/stories/index.story.d.ts +1 -1
  364. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  365. package/build-types/color-picker/styles.d.ts +3 -3
  366. package/build-types/composite/test/index.d.ts.map +1 -0
  367. package/build-types/context/wordpress-component.d.ts +3 -3
  368. package/build-types/context/wordpress-component.d.ts.map +1 -1
  369. package/build-types/custom-select-control-v2/index.d.ts +3 -2
  370. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  371. package/build-types/custom-select-control-v2/stories/index.story.d.ts +4 -3
  372. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  373. package/build-types/date-time/date/styles.d.ts +3 -3
  374. package/build-types/date-time/date-time/styles.d.ts +1 -1
  375. package/build-types/date-time/time/styles.d.ts +4 -4
  376. package/build-types/date-time/time/timezone.d.ts.map +1 -1
  377. package/build-types/dimension-control/index.d.ts.map +1 -1
  378. package/build-types/dimension-control/types.d.ts +6 -0
  379. package/build-types/dimension-control/types.d.ts.map +1 -1
  380. package/build-types/dropdown/index.d.ts +1 -1
  381. package/build-types/dropdown/index.d.ts.map +1 -1
  382. package/build-types/dropdown/stories/index.story.d.ts +3 -3
  383. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  384. package/build-types/dropdown-menu/index.d.ts +1 -1
  385. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  386. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  387. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  388. package/build-types/dropdown-menu-v2/index.d.ts +18 -15
  389. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  390. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +7 -2
  391. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  392. package/build-types/dropdown-menu-v2/styles.d.ts +77 -23
  393. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  394. package/build-types/dropdown-menu-v2/types.d.ts +89 -173
  395. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  396. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  397. package/build-types/elevation/hook.d.ts +4 -4
  398. package/build-types/flex/flex/hook.d.ts +4 -4
  399. package/build-types/flex/flex-block/hook.d.ts +4 -4
  400. package/build-types/flex/flex-item/hook.d.ts +4 -4
  401. package/build-types/focal-point-picker/controls.d.ts +1 -1
  402. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  403. package/build-types/focal-point-picker/index.d.ts +1 -1
  404. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  405. package/build-types/focal-point-picker/stories/index.story.d.ts +8 -4
  406. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  407. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
  408. package/build-types/focal-point-picker/types.d.ts +7 -0
  409. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  410. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  411. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  412. package/build-types/font-size-picker/index.d.ts.map +1 -1
  413. package/build-types/font-size-picker/styles.d.ts +1 -1
  414. package/build-types/font-size-picker/types.d.ts +8 -1
  415. package/build-types/font-size-picker/types.d.ts.map +1 -1
  416. package/build-types/form-token-field/index.d.ts.map +1 -1
  417. package/build-types/form-token-field/token.d.ts.map +1 -1
  418. package/build-types/grid/hook.d.ts +4 -4
  419. package/build-types/h-stack/hook.d.ts +4 -4
  420. package/build-types/heading/component.d.ts +1 -1
  421. package/build-types/heading/hook.d.ts +4 -4
  422. package/build-types/input-control/styles/input-control-styles.d.ts +11 -0
  423. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  424. package/build-types/input-control/types.d.ts +1 -1
  425. package/build-types/input-control/types.d.ts.map +1 -1
  426. package/build-types/item-group/item/hook.d.ts +4 -4
  427. package/build-types/item-group/item-group/hook.d.ts +4 -4
  428. package/build-types/lock-unlock.d.ts +3 -0
  429. package/build-types/lock-unlock.d.ts.map +1 -0
  430. package/build-types/menu-item/index.d.ts +1 -1
  431. package/build-types/menu-item/stories/index.story.d.ts +4 -4
  432. package/build-types/mobile/image/constants.d.ts +5 -0
  433. package/build-types/mobile/image/constants.d.ts.map +1 -0
  434. package/build-types/modal/index.d.ts.map +1 -1
  435. package/build-types/navigation/styles/navigation-styles.d.ts +3 -3
  436. package/build-types/navigator/navigator-back-button/hook.d.ts +6 -6
  437. package/build-types/navigator/navigator-button/hook.d.ts +6 -6
  438. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  439. package/build-types/navigator/navigator-screen/component.d.ts +1 -7
  440. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  441. package/build-types/navigator/styles.d.ts +9 -0
  442. package/build-types/navigator/styles.d.ts.map +1 -0
  443. package/build-types/number-control/index.d.ts +1 -1
  444. package/build-types/number-control/index.d.ts.map +1 -1
  445. package/build-types/number-control/stories/index.story.d.ts +1 -1
  446. package/build-types/number-control/types.d.ts +1 -1
  447. package/build-types/palette-edit/index.d.ts +2 -2
  448. package/build-types/palette-edit/index.d.ts.map +1 -1
  449. package/build-types/palette-edit/styles.d.ts +3 -3
  450. package/build-types/popover/index.d.ts +1 -1
  451. package/build-types/popover/index.d.ts.map +1 -1
  452. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  453. package/build-types/private-apis.d.ts +0 -1
  454. package/build-types/private-apis.d.ts.map +1 -1
  455. package/build-types/query-controls/author-select.d.ts +1 -1
  456. package/build-types/query-controls/author-select.d.ts.map +1 -1
  457. package/build-types/query-controls/category-select.d.ts +1 -1
  458. package/build-types/query-controls/category-select.d.ts.map +1 -1
  459. package/build-types/query-controls/index.d.ts +1 -1
  460. package/build-types/query-controls/index.d.ts.map +1 -1
  461. package/build-types/query-controls/types.d.ts +9 -0
  462. package/build-types/query-controls/types.d.ts.map +1 -1
  463. package/build-types/radio-control/index.d.ts.map +1 -1
  464. package/build-types/range-control/index.d.ts +1 -1
  465. package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
  466. package/build-types/resizable-box/index.d.ts +1 -1
  467. package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
  468. package/build-types/resizable-box/stories/index.story.d.ts +2 -2
  469. package/build-types/scrollable/hook.d.ts +4 -4
  470. package/build-types/search-control/index.d.ts +1 -1
  471. package/build-types/search-control/stories/index.story.d.ts +2 -2
  472. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  473. package/build-types/slot-fill/index.d.ts +1 -1
  474. package/build-types/slot-fill/index.d.ts.map +1 -1
  475. package/build-types/slot-fill/types.d.ts +4 -0
  476. package/build-types/slot-fill/types.d.ts.map +1 -1
  477. package/build-types/snackbar/index.d.ts +2 -2
  478. package/build-types/snackbar/stories/index.story.d.ts +0 -3
  479. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  480. package/build-types/snackbar/types.d.ts +1 -1
  481. package/build-types/snackbar/types.d.ts.map +1 -1
  482. package/build-types/spacer/hook.d.ts +4 -4
  483. package/build-types/surface/hook.d.ts +4 -4
  484. package/build-types/tabs/index.d.ts +2 -2
  485. package/build-types/tabs/index.d.ts.map +1 -1
  486. package/build-types/tabs/styles.d.ts.map +1 -1
  487. package/build-types/tabs/tab.d.ts +2 -1
  488. package/build-types/tabs/tab.d.ts.map +1 -1
  489. package/build-types/tabs/tabpanel.d.ts +3 -2
  490. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  491. package/build-types/tabs/types.d.ts +8 -3
  492. package/build-types/tabs/types.d.ts.map +1 -1
  493. package/build-types/text/hook.d.ts +4 -4
  494. package/build-types/text-control/index.d.ts +1 -1
  495. package/build-types/textarea-control/index.d.ts +1 -1
  496. package/build-types/toggle-control/stories/index.story.d.ts +2 -2
  497. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +1 -1
  498. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +1 -1
  499. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  500. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  501. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  502. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -1
  503. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
  504. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +1 -1
  505. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  506. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  507. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
  508. package/build-types/toolbar/toolbar-button/index.d.ts +3 -3
  509. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  510. package/build-types/tools-panel/tools-panel/hook.d.ts +5 -4
  511. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  512. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  513. package/build-types/tools-panel/tools-panel-header/hook.d.ts +5 -4
  514. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  515. package/build-types/tools-panel/tools-panel-item/hook.d.ts +4 -4
  516. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  517. package/build-types/tools-panel/types.d.ts +9 -0
  518. package/build-types/tools-panel/types.d.ts.map +1 -1
  519. package/build-types/tooltip/index.d.ts +1 -1
  520. package/build-types/tooltip/index.d.ts.map +1 -1
  521. package/build-types/tooltip/stories/index.story.d.ts +10 -1
  522. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  523. package/build-types/tooltip/types.d.ts +3 -0
  524. package/build-types/tooltip/types.d.ts.map +1 -1
  525. package/build-types/truncate/hook.d.ts +5 -5
  526. package/build-types/truncate/hook.d.ts.map +1 -1
  527. package/build-types/truncate/types.d.ts +4 -0
  528. package/build-types/truncate/types.d.ts.map +1 -1
  529. package/build-types/unit-control/index.d.ts +1 -1
  530. package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
  531. package/build-types/utils/strings.d.ts +14 -2
  532. package/build-types/utils/strings.d.ts.map +1 -1
  533. package/build-types/v-stack/hook.d.ts +4 -4
  534. package/build-types/v-stack/stories/index.story.d.ts +1 -1
  535. package/package.json +20 -21
  536. package/src/alignment-matrix-control/test/index.tsx +10 -16
  537. package/src/base-control/index.tsx +21 -16
  538. package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -1
  539. package/src/border-control/border-control-dropdown/component.tsx +3 -1
  540. package/src/border-control/border-control-dropdown/hook.ts +3 -2
  541. package/src/border-control/border-control-style-picker/component.tsx +1 -1
  542. package/src/border-control/styles.ts +2 -9
  543. package/src/box-control/index.tsx +1 -1
  544. package/src/box-control/linked-button.tsx +1 -1
  545. package/src/button/README.md +32 -6
  546. package/src/button/index.tsx +1 -1
  547. package/src/button-group/README.md +0 -6
  548. package/src/card/card/README.md +1 -1
  549. package/src/checkbox-control/README.md +3 -10
  550. package/src/checkbox-control/index.tsx +8 -6
  551. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +3 -8
  552. package/src/checkbox-control/test/index.tsx +7 -0
  553. package/src/checkbox-control/types.ts +3 -2
  554. package/src/color-palette/index.native.js +18 -7
  555. package/src/color-picker/color-copy-button.tsx +1 -1
  556. package/src/combobox-control/README.md +0 -6
  557. package/src/composite/test/index.tsx +576 -0
  558. package/src/context/wordpress-component.ts +11 -6
  559. package/src/custom-select-control/README.md +0 -6
  560. package/src/custom-select-control/test/index.js +367 -35
  561. package/src/custom-select-control-v2/index.tsx +13 -12
  562. package/src/date-time/date/styles.ts +3 -3
  563. package/src/date-time/time/timezone.tsx +15 -3
  564. package/src/dimension-control/index.tsx +2 -0
  565. package/src/dimension-control/test/__snapshots__/index.test.js.snap +2 -2
  566. package/src/dimension-control/types.ts +6 -0
  567. package/src/dropdown-menu/README.md +0 -5
  568. package/src/dropdown-menu-v2/README.md +75 -136
  569. package/src/dropdown-menu-v2/index.tsx +321 -231
  570. package/src/dropdown-menu-v2/stories/index.story.tsx +522 -126
  571. package/src/dropdown-menu-v2/styles.ts +226 -151
  572. package/src/dropdown-menu-v2/test/index.tsx +480 -188
  573. package/src/dropdown-menu-v2/types.ts +98 -184
  574. package/src/duotone-picker/duotone-picker.tsx +7 -3
  575. package/src/focal-point-picker/controls.tsx +4 -0
  576. package/src/focal-point-picker/index.tsx +2 -0
  577. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  578. package/src/focal-point-picker/types.ts +7 -0
  579. package/src/font-size-picker/font-size-picker-select.tsx +2 -0
  580. package/src/font-size-picker/font-size-picker-toggle-group.tsx +9 -1
  581. package/src/font-size-picker/index.native.js +8 -2
  582. package/src/font-size-picker/index.tsx +15 -5
  583. package/src/font-size-picker/types.ts +8 -1
  584. package/src/form-toggle/README.md +0 -6
  585. package/src/form-toggle/style.scss +4 -2
  586. package/src/form-token-field/index.tsx +11 -7
  587. package/src/form-token-field/test/index.tsx +97 -0
  588. package/src/form-token-field/token.tsx +1 -0
  589. package/src/gradient-picker/index.tsx +2 -2
  590. package/src/index.native.js +6 -3
  591. package/src/input-control/styles/input-control-styles.tsx +10 -8
  592. package/src/input-control/types.ts +1 -1
  593. package/src/lock-unlock.js +10 -0
  594. package/src/menu-group/README.md +0 -8
  595. package/src/menu-items-choice/README.md +0 -7
  596. package/src/mobile/bottom-sheet/index.native.js +15 -1
  597. package/src/mobile/color-settings/palette.screen.native.js +7 -5
  598. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +0 -20
  599. package/src/mobile/global-styles-context/test/utils.native.js +22 -0
  600. package/src/mobile/global-styles-context/utils.native.js +42 -19
  601. package/src/mobile/image/constants.js +1 -0
  602. package/src/mobile/image/index.native.js +55 -18
  603. package/src/mobile/image/style.native.scss +35 -9
  604. package/src/mobile/keyboard-aware-flat-list/index.android.js +50 -5
  605. package/src/mobile/keyboard-aware-flat-list/index.ios.js +65 -91
  606. package/src/mobile/keyboard-aware-flat-list/test/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +27 -25
  607. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +71 -0
  608. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +41 -0
  609. package/src/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -27
  610. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +100 -0
  611. package/src/mobile/link-settings/style.native.scss +0 -17
  612. package/src/mobile/utils/get-px-from-css-unit.native.js +329 -0
  613. package/src/mobile/utils/test/get-px-from-css-unit.native.js +172 -0
  614. package/src/modal/README.md +0 -6
  615. package/src/modal/index.tsx +18 -16
  616. package/src/modal/test/index.tsx +90 -1
  617. package/src/navigation/menu/menu-title.tsx +1 -1
  618. package/src/navigator/navigator-provider/component.tsx +3 -4
  619. package/src/navigator/navigator-screen/component.tsx +15 -93
  620. package/src/navigator/styles.ts +71 -0
  621. package/src/navigator/test/index.tsx +0 -64
  622. package/src/notice/README.md +0 -6
  623. package/src/number-control/README.md +2 -2
  624. package/src/number-control/index.tsx +4 -8
  625. package/src/number-control/types.ts +1 -1
  626. package/src/palette-edit/index.tsx +14 -43
  627. package/src/palette-edit/style.scss +2 -2
  628. package/src/panel/README.md +0 -6
  629. package/src/private-apis.native.js +13 -0
  630. package/src/private-apis.ts +12 -37
  631. package/src/query-controls/author-select.tsx +2 -0
  632. package/src/query-controls/category-select.tsx +2 -0
  633. package/src/query-controls/index.tsx +6 -1
  634. package/src/query-controls/types.ts +9 -0
  635. package/src/radio-control/README.md +0 -6
  636. package/src/radio-control/index.tsx +4 -1
  637. package/src/radio-control/style.scss +29 -2
  638. package/src/radio-group/README.md +0 -6
  639. package/src/range-control/README.md +1 -9
  640. package/src/range-control/index.tsx +1 -1
  641. package/src/search-control/README.md +1 -5
  642. package/src/select-control/README.md +0 -6
  643. package/src/select-control/styles/select-control-styles.ts +10 -28
  644. package/src/slot-fill/index.tsx +5 -2
  645. package/src/slot-fill/types.ts +5 -0
  646. package/src/snackbar/README.md +0 -6
  647. package/src/snackbar/stories/index.story.tsx +7 -5
  648. package/src/snackbar/style.scss +4 -3
  649. package/src/snackbar/types.ts +2 -1
  650. package/src/spacer/README.md +0 -2
  651. package/src/spinner/README.md +2 -0
  652. package/src/tab-panel/README.md +0 -5
  653. package/src/tab-panel/test/index.tsx +39 -56
  654. package/src/tabs/README.md +4 -4
  655. package/src/tabs/index.tsx +22 -1
  656. package/src/tabs/stories/index.story.tsx +48 -48
  657. package/src/tabs/styles.ts +7 -1
  658. package/src/tabs/tab.tsx +3 -3
  659. package/src/tabs/tabpanel.tsx +13 -8
  660. package/src/tabs/test/index.tsx +236 -106
  661. package/src/tabs/types.ts +8 -3
  662. package/src/text-control/README.md +0 -6
  663. package/src/textarea-control/README.md +0 -6
  664. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +12 -16
  665. package/src/toggle-group-control/test/index.tsx +107 -41
  666. package/src/toggle-group-control/toggle-group-control/component.tsx +5 -4
  667. package/src/toggle-group-control/toggle-group-control/styles.ts +13 -19
  668. package/src/toggle-group-control/toggle-group-control/utils.ts +15 -20
  669. package/src/toggle-group-control/toggle-group-control-option/README.md +1 -1
  670. package/src/toggle-group-control/toggle-group-control-option-base/README.md +1 -1
  671. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +3 -2
  672. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  673. package/src/toolbar/toolbar/README.md +0 -6
  674. package/src/tools-panel/test/index.tsx +12 -20
  675. package/src/tools-panel/tools-panel/README.md +7 -0
  676. package/src/tools-panel/tools-panel/component.tsx +2 -0
  677. package/src/tools-panel/tools-panel-header/README.md +7 -0
  678. package/src/tools-panel/tools-panel-header/component.tsx +20 -13
  679. package/src/tools-panel/tools-panel-item/hook.ts +10 -21
  680. package/src/tools-panel/types.ts +9 -0
  681. package/src/tooltip/README.md +4 -0
  682. package/src/tooltip/index.tsx +48 -10
  683. package/src/tooltip/stories/index.story.tsx +18 -1
  684. package/src/tooltip/test/index.tsx +404 -254
  685. package/src/tooltip/types.ts +4 -0
  686. package/src/tree-grid/README.md +0 -4
  687. package/src/truncate/README.md +8 -0
  688. package/src/truncate/hook.ts +17 -10
  689. package/src/truncate/test/index.tsx +54 -27
  690. package/src/truncate/types.ts +4 -0
  691. package/src/unit-control/index.tsx +1 -1
  692. package/src/utils/strings.ts +30 -2
  693. package/src/utils/test/strings.js +96 -1
  694. package/tsconfig.tsbuildinfo +1 -1
  695. package/build/dropdown-menu-v2-ariakit/index.js +0 -256
  696. package/build/dropdown-menu-v2-ariakit/index.js.map +0 -1
  697. package/build/dropdown-menu-v2-ariakit/styles.js +0 -180
  698. package/build/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  699. package/build/dropdown-menu-v2-ariakit/types.js +0 -6
  700. package/build/dropdown-menu-v2-ariakit/types.js.map +0 -1
  701. package/build/mobile/inserter-button/index.native.js +0 -98
  702. package/build/mobile/inserter-button/index.native.js.map +0 -1
  703. package/build/mobile/inserter-button/sparkles.js +0 -23
  704. package/build/mobile/inserter-button/sparkles.js.map +0 -1
  705. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  706. package/build/mobile/link-settings/image-link-destinations-screen.native.js +0 -119
  707. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  708. package/build-module/dropdown-menu-v2-ariakit/index.js +0 -237
  709. package/build-module/dropdown-menu-v2-ariakit/index.js.map +0 -1
  710. package/build-module/dropdown-menu-v2-ariakit/styles.js +0 -165
  711. package/build-module/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  712. package/build-module/dropdown-menu-v2-ariakit/types.js +0 -2
  713. package/build-module/dropdown-menu-v2-ariakit/types.js.map +0 -1
  714. package/build-module/mobile/inserter-button/index.native.js +0 -89
  715. package/build-module/mobile/inserter-button/index.native.js.map +0 -1
  716. package/build-module/mobile/inserter-button/sparkles.js +0 -15
  717. package/build-module/mobile/inserter-button/sparkles.js.map +0 -1
  718. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  719. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +0 -110
  720. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  721. package/build-types/dropdown-menu-v2-ariakit/index.d.ts +0 -20
  722. package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +0 -1
  723. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts +0 -16
  724. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +0 -1
  725. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts +0 -96
  726. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts.map +0 -1
  727. package/build-types/dropdown-menu-v2-ariakit/test/index.d.ts.map +0 -1
  728. package/build-types/dropdown-menu-v2-ariakit/types.d.ts +0 -168
  729. package/build-types/dropdown-menu-v2-ariakit/types.d.ts.map +0 -1
  730. package/build-types/mobile/inserter-button/sparkles.d.ts +0 -3
  731. package/build-types/mobile/inserter-button/sparkles.d.ts.map +0 -1
  732. package/src/dropdown-menu-v2-ariakit/README.md +0 -331
  733. package/src/dropdown-menu-v2-ariakit/index.tsx +0 -383
  734. package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +0 -617
  735. package/src/dropdown-menu-v2-ariakit/styles.ts +0 -333
  736. package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -1108
  737. package/src/dropdown-menu-v2-ariakit/types.ts +0 -179
  738. package/src/mobile/inserter-button/README.md +0 -62
  739. package/src/mobile/inserter-button/index.native.js +0 -116
  740. package/src/mobile/inserter-button/sparkles.js +0 -15
  741. package/src/mobile/inserter-button/style.native.scss +0 -72
  742. package/src/mobile/link-settings/image-link-destinations-screen.native.js +0 -152
  743. /package/build-types/{dropdown-menu-v2-ariakit → composite}/test/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/tools-panel/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { HeadingSize } from '../heading/types';\n\nexport type ResetAllFilter = ( attributes?: any ) => any;\ntype ResetAll = ( filters?: ResetAllFilter[] ) => void;\n\nexport type ToolsPanelProps = {\n\t/**\n\t * The child elements.\n\t */\n\tchildren: ReactNode;\n\t/**\n\t * Flags that the items in this ToolsPanel will be contained within an inner\n\t * wrapper element allowing the panel to lay them out accordingly.\n\t *\n\t * @default false\n\t */\n\thasInnerWrapper?: boolean;\n\t/**\n\t * The heading level of the panel's header.\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Text to be displayed within the panel's header and as the `aria-label`\n\t * for the panel's dropdown menu.\n\t */\n\tlabel: string;\n\t/**\n\t * If a `panelId` is set, it is passed through the `ToolsPanelContext` and\n\t * used to restrict panel items. When a `panelId` is set, items can only\n\t * register themselves if the `panelId` is explicitly `null` or the item's\n\t * `panelId` matches exactly.\n\t */\n\tpanelId?: string | null;\n\t/**\n\t * A function to call when the `Reset all` menu option is selected. As an\n\t * argument, it receives an array containing the `resetAllFilter` callbacks\n\t * of all the valid registered `ToolsPanelItems`.\n\t */\n\tresetAll: ResetAll;\n\t/**\n\t * Advises the `ToolsPanel` that its child `ToolsPanelItem`s should render\n\t * placeholder content instead of null when they are toggled off and hidden.\n\t * Note that placeholder items won't apply the `className` that would be\n\t * normally applied to a visible `ToolsPanelItem` via the `className` prop.\n\t *\n\t * @default false\n\t */\n\tshouldRenderPlaceholderItems?: boolean;\n\t/**\n\t * Experimental prop allowing for a custom CSS class to be applied to the\n\t * first visible `ToolsPanelItem` within the `ToolsPanel`.\n\t */\n\t__experimentalFirstVisibleItemClass?: string;\n\t/**\n\t * Experimental prop allowing for a custom CSS class to be applied to the\n\t * last visible `ToolsPanelItem` within the `ToolsPanel`.\n\t */\n\t__experimentalLastVisibleItemClass?: string;\n};\n\nexport type ToolsPanelHeaderProps = {\n\t/**\n\t * The heading level of the panel's header.\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Text to be displayed within the panel header. It is also passed along as\n\t * the `label` for the panel header's `DropdownMenu`.\n\t */\n\tlabel: string;\n\t/**\n\t * The `resetAll` prop provides the callback to execute when the \"Reset all\"\n\t * menu item is selected. Its purpose is to facilitate resetting any control\n\t * values for items contained within this header's panel.\n\t */\n\tresetAll: ResetAll;\n\t/**\n\t * This is executed when an individual control's menu item is toggled. It\n\t * will update the panel's menu item state and call the panel item's\n\t * `onSelect` or `onDeselect` callbacks as appropriate.\n\t */\n\ttoggleItem: ( label: string ) => void;\n};\n\nexport type ToolsPanelItem = {\n\t/**\n\t * This is called when building the `ToolsPanel` menu to determine the\n\t * item's initial checked state.\n\t */\n\thasValue: () => boolean;\n\t/**\n\t * This prop identifies the current item as being displayed by default. This\n\t * means it will show regardless of whether it has a value set or is toggled\n\t * on in the panel's menu.\n\t *\n\t * @default false\n\t */\n\tisShownByDefault?: boolean;\n\t/**\n\t * The supplied label is dual purpose. It is used as:\n\t * 1. the human-readable label for the panel's dropdown menu\n\t * 2. a key to locate the corresponding item in the panel's menu context to\n\t * determine if the panel item should be displayed.\n\t * A panel item's `label` should be unique among all items within a single\n\t * panel.\n\t */\n\tlabel: string;\n\t/**\n\t * Panel items will ensure they are only registering with their intended panel\n\t * by comparing the `panelId` props set on both the item and the panel itself,\n\t * or if the `panelId` is explicitly `null`. This allows items to be injected\n\t * from a shared source.\n\t */\n\tpanelId?: string | null;\n};\n\nexport type ToolsPanelItemProps = ToolsPanelItem & {\n\t/**\n\t * The child elements.\n\t */\n\tchildren?: ReactNode;\n\t/**\n\t * Called when this item is deselected in the `ToolsPanel` menu. This is\n\t * normally used to reset the panel item control's value.\n\t */\n\tonDeselect?: () => void;\n\t/**\n\t * A callback to take action when this item is selected in the `ToolsPanel`\n\t * menu.\n\t */\n\tonSelect?: () => void;\n\n\t/**\n\t * A `ToolsPanel` will collect each item's `resetAllFilter` and pass an\n\t * array of these functions through to the panel's `resetAll` callback. They\n\t * can then be iterated over to perform additional tasks.\n\t *\n\t * @default noop\n\t */\n\tresetAllFilter?: ResetAllFilter;\n};\n\nexport type ToolsPanelMenuItemKey = 'default' | 'optional';\n\nexport type ToolsPanelMenuItems = {\n\t[ menuItemKey in ToolsPanelMenuItemKey ]: { [ key: string ]: boolean };\n};\n\nexport type ToolsPanelContext = {\n\tpanelId?: string | null;\n\tmenuItems: ToolsPanelMenuItems;\n\thasMenuItems: boolean;\n\tregisterPanelItem: ( item: ToolsPanelItem ) => void;\n\tderegisterPanelItem: ( label: string ) => void;\n\tregisterResetAllFilter: ( filter: ResetAllFilter ) => void;\n\tderegisterResetAllFilter: ( filter: ResetAllFilter ) => void;\n\tflagItemCustomization: (\n\t\tlabel: string,\n\t\tgroup?: ToolsPanelMenuItemKey\n\t) => void;\n\tisResetting: boolean;\n\tshouldRenderPlaceholderItems: boolean;\n\tareAllOptionalControlsHidden: boolean;\n\tfirstDisplayedItem?: string;\n\tlastDisplayedItem?: string;\n\t__experimentalFirstVisibleItemClass?: string;\n\t__experimentalLastVisibleItemClass?: string;\n};\n\nexport type ToolsPanelControlsGroupProps = {\n\titemClassName?: string;\n\titems: [ string, boolean ][];\n\ttoggleItem: ( label: string ) => void;\n};\n\nexport type ToolsPanelMenuItemsConfig = {\n\tpanelItems: ToolsPanelItem[];\n\tshouldReset: boolean;\n\tcurrentMenuItems?: ToolsPanelMenuItems;\n\tmenuItemOrder: string[];\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/tools-panel/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { HeadingSize } from '../heading/types';\nimport type { DropdownMenu } from '../dropdown-menu';\n\nexport type ResetAllFilter = ( attributes?: any ) => any;\ntype ResetAll = ( filters?: ResetAllFilter[] ) => void;\n\nexport type ToolsPanelProps = {\n\t/**\n\t * The child elements.\n\t */\n\tchildren: ReactNode;\n\t/**\n\t * The dropdown menu props to configure the panel's `DropdownMenu`.\n\t */\n\tdropdownMenuProps?: React.ComponentProps< typeof DropdownMenu >;\n\t/**\n\t * Flags that the items in this ToolsPanel will be contained within an inner\n\t * wrapper element allowing the panel to lay them out accordingly.\n\t *\n\t * @default false\n\t */\n\thasInnerWrapper?: boolean;\n\t/**\n\t * The heading level of the panel's header.\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Text to be displayed within the panel's header and as the `aria-label`\n\t * for the panel's dropdown menu.\n\t */\n\tlabel: string;\n\t/**\n\t * If a `panelId` is set, it is passed through the `ToolsPanelContext` and\n\t * used to restrict panel items. When a `panelId` is set, items can only\n\t * register themselves if the `panelId` is explicitly `null` or the item's\n\t * `panelId` matches exactly.\n\t */\n\tpanelId?: string | null;\n\t/**\n\t * A function to call when the `Reset all` menu option is selected. As an\n\t * argument, it receives an array containing the `resetAllFilter` callbacks\n\t * of all the valid registered `ToolsPanelItems`.\n\t */\n\tresetAll: ResetAll;\n\t/**\n\t * Advises the `ToolsPanel` that its child `ToolsPanelItem`s should render\n\t * placeholder content instead of null when they are toggled off and hidden.\n\t * Note that placeholder items won't apply the `className` that would be\n\t * normally applied to a visible `ToolsPanelItem` via the `className` prop.\n\t *\n\t * @default false\n\t */\n\tshouldRenderPlaceholderItems?: boolean;\n\t/**\n\t * Experimental prop allowing for a custom CSS class to be applied to the\n\t * first visible `ToolsPanelItem` within the `ToolsPanel`.\n\t */\n\t__experimentalFirstVisibleItemClass?: string;\n\t/**\n\t * Experimental prop allowing for a custom CSS class to be applied to the\n\t * last visible `ToolsPanelItem` within the `ToolsPanel`.\n\t */\n\t__experimentalLastVisibleItemClass?: string;\n};\n\nexport type ToolsPanelHeaderProps = {\n\t/**\n\t * The dropdown menu props to configure the panel's `DropdownMenu`.\n\t */\n\tdropdownMenuProps?: React.ComponentProps< typeof DropdownMenu >;\n\t/**\n\t * The heading level of the panel's header.\n\t *\n\t * @default 2\n\t */\n\theadingLevel?: HeadingSize;\n\t/**\n\t * Text to be displayed within the panel header. It is also passed along as\n\t * the `label` for the panel header's `DropdownMenu`.\n\t */\n\tlabel: string;\n\t/**\n\t * The `resetAll` prop provides the callback to execute when the \"Reset all\"\n\t * menu item is selected. Its purpose is to facilitate resetting any control\n\t * values for items contained within this header's panel.\n\t */\n\tresetAll: ResetAll;\n\t/**\n\t * This is executed when an individual control's menu item is toggled. It\n\t * will update the panel's menu item state and call the panel item's\n\t * `onSelect` or `onDeselect` callbacks as appropriate.\n\t */\n\ttoggleItem: ( label: string ) => void;\n};\n\nexport type ToolsPanelItem = {\n\t/**\n\t * This is called when building the `ToolsPanel` menu to determine the\n\t * item's initial checked state.\n\t */\n\thasValue: () => boolean;\n\t/**\n\t * This prop identifies the current item as being displayed by default. This\n\t * means it will show regardless of whether it has a value set or is toggled\n\t * on in the panel's menu.\n\t *\n\t * @default false\n\t */\n\tisShownByDefault?: boolean;\n\t/**\n\t * The supplied label is dual purpose. It is used as:\n\t * 1. the human-readable label for the panel's dropdown menu\n\t * 2. a key to locate the corresponding item in the panel's menu context to\n\t * determine if the panel item should be displayed.\n\t * A panel item's `label` should be unique among all items within a single\n\t * panel.\n\t */\n\tlabel: string;\n\t/**\n\t * Panel items will ensure they are only registering with their intended panel\n\t * by comparing the `panelId` props set on both the item and the panel itself,\n\t * or if the `panelId` is explicitly `null`. This allows items to be injected\n\t * from a shared source.\n\t */\n\tpanelId?: string | null;\n};\n\nexport type ToolsPanelItemProps = ToolsPanelItem & {\n\t/**\n\t * The child elements.\n\t */\n\tchildren?: ReactNode;\n\t/**\n\t * Called when this item is deselected in the `ToolsPanel` menu. This is\n\t * normally used to reset the panel item control's value.\n\t */\n\tonDeselect?: () => void;\n\t/**\n\t * A callback to take action when this item is selected in the `ToolsPanel`\n\t * menu.\n\t */\n\tonSelect?: () => void;\n\n\t/**\n\t * A `ToolsPanel` will collect each item's `resetAllFilter` and pass an\n\t * array of these functions through to the panel's `resetAll` callback. They\n\t * can then be iterated over to perform additional tasks.\n\t *\n\t * @default noop\n\t */\n\tresetAllFilter?: ResetAllFilter;\n};\n\nexport type ToolsPanelMenuItemKey = 'default' | 'optional';\n\nexport type ToolsPanelMenuItems = {\n\t[ menuItemKey in ToolsPanelMenuItemKey ]: { [ key: string ]: boolean };\n};\n\nexport type ToolsPanelContext = {\n\tpanelId?: string | null;\n\tmenuItems: ToolsPanelMenuItems;\n\thasMenuItems: boolean;\n\tregisterPanelItem: ( item: ToolsPanelItem ) => void;\n\tderegisterPanelItem: ( label: string ) => void;\n\tregisterResetAllFilter: ( filter: ResetAllFilter ) => void;\n\tderegisterResetAllFilter: ( filter: ResetAllFilter ) => void;\n\tflagItemCustomization: (\n\t\tlabel: string,\n\t\tgroup?: ToolsPanelMenuItemKey\n\t) => void;\n\tisResetting: boolean;\n\tshouldRenderPlaceholderItems: boolean;\n\tareAllOptionalControlsHidden: boolean;\n\tfirstDisplayedItem?: string;\n\tlastDisplayedItem?: string;\n\t__experimentalFirstVisibleItemClass?: string;\n\t__experimentalLastVisibleItemClass?: string;\n};\n\nexport type ToolsPanelControlsGroupProps = {\n\titemClassName?: string;\n\titems: [ string, boolean ][];\n\ttoggleItem: ( label: string ) => void;\n};\n\nexport type ToolsPanelMenuItemsConfig = {\n\tpanelItems: ToolsPanelItem[];\n\tshouldReset: boolean;\n\tcurrentMenuItems?: ToolsPanelMenuItems;\n\tmenuItemOrder: string[];\n};\n"],"mappings":""}
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.TOOLTIP_DELAY = void 0;
7
+ exports.default = exports.Tooltip = exports.TOOLTIP_DELAY = void 0;
8
8
  var _react = require("react");
9
9
  var Ariakit = _interopRequireWildcard(require("@ariakit/react"));
10
10
  var _compose = require("@wordpress/compose");
@@ -12,6 +12,7 @@ var _element = require("@wordpress/element");
12
12
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
13
13
  var _shortcut = _interopRequireDefault(require("../shortcut"));
14
14
  var _utils = require("../popover/utils");
15
+ var _context = require("../context");
15
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
18
  /**
@@ -28,7 +29,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
29
  */
29
30
  const TOOLTIP_DELAY = 700;
30
31
  exports.TOOLTIP_DELAY = TOOLTIP_DELAY;
31
- function Tooltip(props) {
32
+ const CONTEXT_VALUE = {
33
+ Tooltip: {
34
+ isNestedInTooltip: true
35
+ }
36
+ };
37
+ function UnconnectedTooltip(props, ref) {
32
38
  const {
33
39
  children,
34
40
  delay = TOOLTIP_DELAY,
@@ -36,8 +42,11 @@ function Tooltip(props) {
36
42
  placement,
37
43
  position,
38
44
  shortcut,
39
- text
40
- } = props;
45
+ text,
46
+ // From Internal Context system
47
+ isNestedInTooltip,
48
+ ...restProps
49
+ } = (0, _context.useContextSystem)(props, 'Tooltip');
41
50
  const baseId = (0, _compose.useInstanceId)(Tooltip, 'tooltip');
42
51
  const describedById = text || shortcut ? baseId : undefined;
43
52
  const isOnlyChild = _element.Children.count(children) === 1;
@@ -45,7 +54,7 @@ function Tooltip(props) {
45
54
  if (!isOnlyChild) {
46
55
  if ('development' === process.env.NODE_ENV) {
47
56
  // eslint-disable-next-line no-console
48
- console.error('Tooltip should be called with only a single child element.');
57
+ console.error('wp-components.Tooltip should be called with only a single child element.');
49
58
  }
50
59
  }
51
60
 
@@ -64,17 +73,30 @@ function Tooltip(props) {
64
73
  });
65
74
  }
66
75
  computedPlacement = computedPlacement || 'bottom';
67
- const tooltipStore = Ariakit.useTooltipStore({
76
+
77
+ // Removing the `Ariakit` namespace from the hook name allows ESLint to
78
+ // properly identify the hook, and apply the correct linting rules.
79
+ const useAriakitTooltipStore = Ariakit.useTooltipStore;
80
+ const tooltipStore = useAriakitTooltipStore({
68
81
  placement: computedPlacement,
69
- timeout: delay
82
+ showTimeout: delay
70
83
  });
71
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(Ariakit.TooltipAnchor, {
84
+ if (isNestedInTooltip) {
85
+ return isOnlyChild ? (0, _element.cloneElement)(children, {
86
+ ...restProps,
87
+ ref
88
+ }) : children;
89
+ }
90
+ return (0, _react.createElement)(_context.ContextSystemProvider, {
91
+ value: CONTEXT_VALUE
92
+ }, (0, _react.createElement)(Ariakit.TooltipAnchor, {
72
93
  onClick: hideOnClick ? tooltipStore.hide : undefined,
73
94
  store: tooltipStore,
74
- render: isOnlyChild ? children : undefined
95
+ render: isOnlyChild ? children : undefined,
96
+ ref: ref
75
97
  }, isOnlyChild ? undefined : children), isOnlyChild && (text || shortcut) && (0, _react.createElement)(Ariakit.Tooltip, {
98
+ ...restProps,
76
99
  unmountOnHide: true,
77
- className: "components-tooltip",
78
100
  gutter: 4,
79
101
  id: describedById,
80
102
  overflowPadding: 0.5,
@@ -84,6 +106,8 @@ function Tooltip(props) {
84
106
  shortcut: shortcut
85
107
  })));
86
108
  }
109
+ const Tooltip = (0, _context.contextConnect)(UnconnectedTooltip, 'Tooltip');
110
+ exports.Tooltip = Tooltip;
87
111
  var _default = Tooltip;
88
112
  exports.default = _default;
89
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_compose","_element","_deprecated","_interopRequireDefault","_shortcut","_utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TOOLTIP_DELAY","exports","Tooltip","props","children","delay","hideOnClick","placement","position","shortcut","text","baseId","useInstanceId","describedById","undefined","isOnlyChild","Children","count","process","env","NODE_ENV","console","error","computedPlacement","positionToPlacement","deprecated","since","alternative","tooltipStore","useTooltipStore","timeout","_react","createElement","Fragment","TooltipAnchor","onClick","hide","store","render","unmountOnHide","className","gutter","id","overflowPadding","_default"],"sources":["@wordpress/components/src/tooltip/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { Children } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport type { TooltipProps } from './types';\nimport Shortcut from '../shortcut';\nimport { positionToPlacement } from '../popover/utils';\n\n/**\n * Time over anchor to wait before showing tooltip\n */\nexport const TOOLTIP_DELAY = 700;\n\nfunction Tooltip( props: TooltipProps ) {\n\tconst {\n\t\tchildren,\n\t\tdelay = TOOLTIP_DELAY,\n\t\thideOnClick = true,\n\t\tplacement,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\t} = props;\n\n\tconst baseId = useInstanceId( Tooltip, 'tooltip' );\n\tconst describedById = text || shortcut ? baseId : undefined;\n\n\tconst isOnlyChild = Children.count( children ) === 1;\n\t// console error if more than one child element is added\n\tif ( ! isOnlyChild ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\t}\n\n\t// Compute tooltip's placement:\n\t// - give priority to `placement` prop, if defined\n\t// - otherwise, compute it from the legacy `position` prop (if defined)\n\t// - finally, fallback to the default placement: 'bottom'\n\tlet computedPlacement;\n\tif ( placement !== undefined ) {\n\t\tcomputedPlacement = placement;\n\t} else if ( position !== undefined ) {\n\t\tcomputedPlacement = positionToPlacement( position );\n\t\tdeprecated( '`position` prop in wp.components.tooltip', {\n\t\t\tsince: '6.4',\n\t\t\talternative: '`placement` prop',\n\t\t} );\n\t}\n\tcomputedPlacement = computedPlacement || 'bottom';\n\n\tconst tooltipStore = Ariakit.useTooltipStore( {\n\t\tplacement: computedPlacement,\n\t\ttimeout: delay,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<Ariakit.TooltipAnchor\n\t\t\t\tonClick={ hideOnClick ? tooltipStore.hide : undefined }\n\t\t\t\tstore={ tooltipStore }\n\t\t\t\trender={ isOnlyChild ? children : undefined }\n\t\t\t>\n\t\t\t\t{ isOnlyChild ? undefined : children }\n\t\t\t</Ariakit.TooltipAnchor>\n\t\t\t{ isOnlyChild && ( text || shortcut ) && (\n\t\t\t\t<Ariakit.Tooltip\n\t\t\t\t\tunmountOnHide\n\t\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\t\tgutter={ 4 }\n\t\t\t\t\tid={ describedById }\n\t\t\t\t\toverflowPadding={ 0.5 }\n\t\t\t\t\tstore={ tooltipStore }\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t\t{ shortcut && (\n\t\t\t\t\t\t<Shortcut\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\ttext ? 'components-tooltip__shortcut' : ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Ariakit.Tooltip>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Tooltip;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_compose","_element","_deprecated","_interopRequireDefault","_shortcut","_utils","_context","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TOOLTIP_DELAY","exports","CONTEXT_VALUE","Tooltip","isNestedInTooltip","UnconnectedTooltip","props","ref","children","delay","hideOnClick","placement","position","shortcut","text","restProps","useContextSystem","baseId","useInstanceId","describedById","undefined","isOnlyChild","Children","count","process","env","NODE_ENV","console","error","computedPlacement","positionToPlacement","deprecated","since","alternative","useAriakitTooltipStore","useTooltipStore","tooltipStore","showTimeout","cloneElement","_react","createElement","ContextSystemProvider","value","TooltipAnchor","onClick","hide","store","render","unmountOnHide","gutter","id","overflowPadding","className","contextConnect","_default"],"sources":["@wordpress/components/src/tooltip/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { Children, cloneElement } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport type { TooltipProps, TooltipInternalContext } from './types';\nimport Shortcut from '../shortcut';\nimport { positionToPlacement } from '../popover/utils';\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tContextSystemProvider,\n} from '../context';\nimport type { WordPressComponentProps } from '../context';\n\n/**\n * Time over anchor to wait before showing tooltip\n */\nexport const TOOLTIP_DELAY = 700;\n\nconst CONTEXT_VALUE = {\n\tTooltip: {\n\t\tisNestedInTooltip: true,\n\t},\n};\n\nfunction UnconnectedTooltip(\n\tprops: WordPressComponentProps< TooltipProps, 'div', false >,\n\tref: React.ForwardedRef< any >\n) {\n\tconst {\n\t\tchildren,\n\t\tdelay = TOOLTIP_DELAY,\n\t\thideOnClick = true,\n\t\tplacement,\n\t\tposition,\n\t\tshortcut,\n\t\ttext,\n\n\t\t// From Internal Context system\n\t\tisNestedInTooltip,\n\n\t\t...restProps\n\t} = useContextSystem< typeof props & TooltipInternalContext >(\n\t\tprops,\n\t\t'Tooltip'\n\t);\n\n\tconst baseId = useInstanceId( Tooltip, 'tooltip' );\n\tconst describedById = text || shortcut ? baseId : undefined;\n\n\tconst isOnlyChild = Children.count( children ) === 1;\n\t// console error if more than one child element is added\n\tif ( ! isOnlyChild ) {\n\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t'wp-components.Tooltip should be called with only a single child element.'\n\t\t\t);\n\t\t}\n\t}\n\n\t// Compute tooltip's placement:\n\t// - give priority to `placement` prop, if defined\n\t// - otherwise, compute it from the legacy `position` prop (if defined)\n\t// - finally, fallback to the default placement: 'bottom'\n\tlet computedPlacement;\n\tif ( placement !== undefined ) {\n\t\tcomputedPlacement = placement;\n\t} else if ( position !== undefined ) {\n\t\tcomputedPlacement = positionToPlacement( position );\n\t\tdeprecated( '`position` prop in wp.components.tooltip', {\n\t\t\tsince: '6.4',\n\t\t\talternative: '`placement` prop',\n\t\t} );\n\t}\n\tcomputedPlacement = computedPlacement || 'bottom';\n\n\t// Removing the `Ariakit` namespace from the hook name allows ESLint to\n\t// properly identify the hook, and apply the correct linting rules.\n\tconst useAriakitTooltipStore = Ariakit.useTooltipStore;\n\tconst tooltipStore = useAriakitTooltipStore( {\n\t\tplacement: computedPlacement,\n\t\tshowTimeout: delay,\n\t} );\n\n\tif ( isNestedInTooltip ) {\n\t\treturn isOnlyChild\n\t\t\t? cloneElement( children, {\n\t\t\t\t\t...restProps,\n\t\t\t\t\tref,\n\t\t\t } )\n\t\t\t: children;\n\t}\n\n\treturn (\n\t\t<ContextSystemProvider value={ CONTEXT_VALUE }>\n\t\t\t<Ariakit.TooltipAnchor\n\t\t\t\tonClick={ hideOnClick ? tooltipStore.hide : undefined }\n\t\t\t\tstore={ tooltipStore }\n\t\t\t\trender={ isOnlyChild ? children : undefined }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t{ isOnlyChild ? undefined : children }\n\t\t\t</Ariakit.TooltipAnchor>\n\t\t\t{ isOnlyChild && ( text || shortcut ) && (\n\t\t\t\t<Ariakit.Tooltip\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\tunmountOnHide\n\t\t\t\t\tgutter={ 4 }\n\t\t\t\t\tid={ describedById }\n\t\t\t\t\toverflowPadding={ 0.5 }\n\t\t\t\t\tstore={ tooltipStore }\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t\t{ shortcut && (\n\t\t\t\t\t\t<Shortcut\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\ttext ? 'components-tooltip__shortcut' : ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Ariakit.Tooltip>\n\t\t\t) }\n\t\t</ContextSystemProvider>\n\t);\n}\n\nexport const Tooltip = contextConnect( UnconnectedTooltip, 'Tooltip' );\n\nexport default Tooltip;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/tooltip/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { Placement } from '@floating-ui/react-dom';\n\n/**\n * Internal dependencies\n */\nimport type { PopoverProps } from '../popover/types';\nimport type { ShortcutProps } from '../shortcut/types';\n\nexport type TooltipProps = {\n\t/**\n\t * The anchor for the tooltip.\n\t *\n\t * **Note**: Accepts only one child element.\n\t */\n\tchildren: React.ReactElement;\n\t/**\n\t * Option to hide the tooltip when the anchor is clicked.\n\t *\n\t * @default true\n\t */\n\thideOnClick?: boolean;\n\t/**\n\t * The amount of time in milliseconds to wait before showing the tooltip.\n\t *\n\t * @default 700\n\t */\n\tdelay?: number;\n\t/**\n\t * Where the tooltip should be positioned relative to its parent.\n\t *\n\t * @default bottom\n\t */\n\tplacement?: Placement;\n\t/**\n\t * _Note: this prop is deprecated. Please use the `placement` prop instead._\n\t *\n\t * Legacy way of specifying the tooltip's position relative to its parent.\n\t *\n\t * Specify y- and x-axis as a space-separated string. Supports `\"top\"`,\n\t * `\"bottom\"` y axis, and `\"left\"`, `\"center\"`, `\"right\"` x axis.\n\t *\n\t * @deprecated\n\t * @default bottom\n\t */\n\tposition?: PopoverProps[ 'position' ];\n\t/**\n\t * An option for adding accessible keyboard shortcuts.\n\t *\n\t * If shortcut is a string, it is expecting the display text. If shortcut is an\n\t * object, it will accept the properties of `display` (string) and `ariaLabel`\n\t * (string).\n\t */\n\tshortcut?: ShortcutProps[ 'shortcut' ];\n\t/**\n\t * The text shown in the tooltip when anchor element is focused or hovered.\n\t */\n\ttext?: string;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/tooltip/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { Placement } from '@floating-ui/react-dom';\n\n/**\n * Internal dependencies\n */\nimport type { PopoverProps } from '../popover/types';\nimport type { ShortcutProps } from '../shortcut/types';\n\nexport type TooltipProps = {\n\t/**\n\t * The anchor for the tooltip.\n\t *\n\t * **Note**: Accepts only one child element.\n\t */\n\tchildren: React.ReactElement;\n\t/**\n\t * Option to hide the tooltip when the anchor is clicked.\n\t *\n\t * @default true\n\t */\n\thideOnClick?: boolean;\n\t/**\n\t * The amount of time in milliseconds to wait before showing the tooltip.\n\t *\n\t * @default 700\n\t */\n\tdelay?: number;\n\t/**\n\t * Where the tooltip should be positioned relative to its parent.\n\t *\n\t * @default bottom\n\t */\n\tplacement?: Placement;\n\t/**\n\t * _Note: this prop is deprecated. Please use the `placement` prop instead._\n\t *\n\t * Legacy way of specifying the tooltip's position relative to its parent.\n\t *\n\t * Specify y- and x-axis as a space-separated string. Supports `\"top\"`,\n\t * `\"bottom\"` y axis, and `\"left\"`, `\"center\"`, `\"right\"` x axis.\n\t *\n\t * @deprecated\n\t * @default bottom\n\t */\n\tposition?: PopoverProps[ 'position' ];\n\t/**\n\t * An option for adding accessible keyboard shortcuts.\n\t *\n\t * If shortcut is a string, it is expecting the display text. If shortcut is an\n\t * object, it will accept the properties of `display` (string) and `ariaLabel`\n\t * (string).\n\t */\n\tshortcut?: ShortcutProps[ 'shortcut' ];\n\t/**\n\t * The text shown in the tooltip when anchor element is focused or hovered.\n\t */\n\ttext?: string;\n};\n\nexport type TooltipInternalContext = {\n\tisNestedInTooltip?: boolean;\n};\n"],"mappings":""}
@@ -31,15 +31,21 @@ function useTruncate(props) {
31
31
  ...otherProps
32
32
  } = (0, _context.useContextSystem)(props, 'Truncate');
33
33
  const cx = (0, _useCx.useCx)();
34
- const truncatedContent = (0, _utils.truncateContent)(typeof children === 'string' ? children : '', {
34
+ let childrenAsText;
35
+ if (typeof children === 'string') {
36
+ childrenAsText = children;
37
+ } else if (typeof children === 'number') {
38
+ childrenAsText = children.toString();
39
+ }
40
+ const truncatedContent = childrenAsText ? (0, _utils.truncateContent)(childrenAsText, {
35
41
  ellipsis,
36
42
  ellipsizeMode,
37
43
  limit,
38
44
  numberOfLines
39
- });
40
- const shouldTruncate = ellipsizeMode === _utils.TRUNCATE_TYPE.auto;
45
+ }) : children;
46
+ const shouldTruncate = !!childrenAsText && ellipsizeMode === _utils.TRUNCATE_TYPE.auto;
41
47
  const classes = (0, _element.useMemo)(() => {
42
- const truncateLines = /*#__PURE__*/(0, _react.css)("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:truncateLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRDJCIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgdHlwZSB7IFdvcmRQcmVzc0NvbXBvbmVudFByb3BzIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgVFJVTkNBVEVfRUxMSVBTSVMsIFRSVU5DQVRFX1RZUEUsIHRydW5jYXRlQ29udGVudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi91dGlscy9ob29rcy91c2UtY3gnO1xuaW1wb3J0IHR5cGUgeyBUcnVuY2F0ZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVRydW5jYXRlKFxuXHRwcm9wczogV29yZFByZXNzQ29tcG9uZW50UHJvcHM8IFRydW5jYXRlUHJvcHMsICdzcGFuJyA+XG4pIHtcblx0Y29uc3Qge1xuXHRcdGNsYXNzTmFtZSxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpcyA9IFRSVU5DQVRFX0VMTElQU0lTLFxuXHRcdGVsbGlwc2l6ZU1vZGUgPSBUUlVOQ0FURV9UWVBFLmF1dG8sXG5cdFx0bGltaXQgPSAwLFxuXHRcdG51bWJlck9mTGluZXMgPSAwLFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVHJ1bmNhdGUnICk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXG5cdGNvbnN0IHRydW5jYXRlZENvbnRlbnQgPSB0cnVuY2F0ZUNvbnRlbnQoXG5cdFx0dHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyA/IGNoaWxkcmVuIDogJycsXG5cdFx0e1xuXHRcdFx0ZWxsaXBzaXMsXG5cdFx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdFx0bGltaXQsXG5cdFx0XHRudW1iZXJPZkxpbmVzLFxuXHRcdH1cblx0KTtcblxuXHRjb25zdCBzaG91bGRUcnVuY2F0ZSA9IGVsbGlwc2l6ZU1vZGUgPT09IFRSVU5DQVRFX1RZUEUuYXV0bztcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHRydW5jYXRlTGluZXMgPSBjc3NgXG5cdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAkeyBudW1iZXJPZkxpbmVzIH07XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YDtcblxuXHRcdHJldHVybiBjeChcblx0XHRcdHNob3VsZFRydW5jYXRlICYmICEgbnVtYmVyT2ZMaW5lcyAmJiBzdHlsZXMuVHJ1bmNhdGUsXG5cdFx0XHRzaG91bGRUcnVuY2F0ZSAmJiAhISBudW1iZXJPZkxpbmVzICYmIHRydW5jYXRlTGluZXMsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbIGNsYXNzTmFtZSwgY3gsIG51bWJlck9mTGluZXMsIHNob3VsZFRydW5jYXRlIF0gKTtcblxuXHRyZXR1cm4geyAuLi5vdGhlclByb3BzLCBjbGFzc05hbWU6IGNsYXNzZXMsIGNoaWxkcmVuOiB0cnVuY2F0ZWRDb250ZW50IH07XG59XG4iXX0= */");
48
+ const truncateLines = /*#__PURE__*/(0, _react.css)("-webkit-box-orient:vertical;-webkit-line-clamp:", numberOfLines, ";display:-webkit-box;overflow:hidden;" + (process.env.NODE_ENV === "production" ? "" : ";label:truncateLines;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1RDJCIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvdHJ1bmNhdGUvaG9vay50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgdHlwZSB7IFdvcmRQcmVzc0NvbXBvbmVudFByb3BzIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgKiBhcyBzdHlsZXMgZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgVFJVTkNBVEVfRUxMSVBTSVMsIFRSVU5DQVRFX1RZUEUsIHRydW5jYXRlQ29udGVudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlQ3ggfSBmcm9tICcuLi91dGlscy9ob29rcy91c2UtY3gnO1xuaW1wb3J0IHR5cGUgeyBUcnVuY2F0ZVByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVRydW5jYXRlKFxuXHRwcm9wczogV29yZFByZXNzQ29tcG9uZW50UHJvcHM8IFRydW5jYXRlUHJvcHMsICdzcGFuJyA+XG4pIHtcblx0Y29uc3Qge1xuXHRcdGNsYXNzTmFtZSxcblx0XHRjaGlsZHJlbixcblx0XHRlbGxpcHNpcyA9IFRSVU5DQVRFX0VMTElQU0lTLFxuXHRcdGVsbGlwc2l6ZU1vZGUgPSBUUlVOQ0FURV9UWVBFLmF1dG8sXG5cdFx0bGltaXQgPSAwLFxuXHRcdG51bWJlck9mTGluZXMgPSAwLFxuXHRcdC4uLm90aGVyUHJvcHNcblx0fSA9IHVzZUNvbnRleHRTeXN0ZW0oIHByb3BzLCAnVHJ1bmNhdGUnICk7XG5cblx0Y29uc3QgY3ggPSB1c2VDeCgpO1xuXG5cdGxldCBjaGlsZHJlbkFzVGV4dDtcblx0aWYgKCB0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnICkge1xuXHRcdGNoaWxkcmVuQXNUZXh0ID0gY2hpbGRyZW47XG5cdH0gZWxzZSBpZiAoIHR5cGVvZiBjaGlsZHJlbiA9PT0gJ251bWJlcicgKSB7XG5cdFx0Y2hpbGRyZW5Bc1RleHQgPSBjaGlsZHJlbi50b1N0cmluZygpO1xuXHR9XG5cblx0Y29uc3QgdHJ1bmNhdGVkQ29udGVudCA9IGNoaWxkcmVuQXNUZXh0XG5cdFx0PyB0cnVuY2F0ZUNvbnRlbnQoIGNoaWxkcmVuQXNUZXh0LCB7XG5cdFx0XHRcdGVsbGlwc2lzLFxuXHRcdFx0XHRlbGxpcHNpemVNb2RlLFxuXHRcdFx0XHRsaW1pdCxcblx0XHRcdFx0bnVtYmVyT2ZMaW5lcyxcblx0XHQgIH0gKVxuXHRcdDogY2hpbGRyZW47XG5cblx0Y29uc3Qgc2hvdWxkVHJ1bmNhdGUgPVxuXHRcdCEhIGNoaWxkcmVuQXNUZXh0ICYmIGVsbGlwc2l6ZU1vZGUgPT09IFRSVU5DQVRFX1RZUEUuYXV0bztcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IHRydW5jYXRlTGluZXMgPSBjc3NgXG5cdFx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAkeyBudW1iZXJPZkxpbmVzIH07XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YDtcblxuXHRcdHJldHVybiBjeChcblx0XHRcdHNob3VsZFRydW5jYXRlICYmICEgbnVtYmVyT2ZMaW5lcyAmJiBzdHlsZXMuVHJ1bmNhdGUsXG5cdFx0XHRzaG91bGRUcnVuY2F0ZSAmJiAhISBudW1iZXJPZkxpbmVzICYmIHRydW5jYXRlTGluZXMsXG5cdFx0XHRjbGFzc05hbWVcblx0XHQpO1xuXHR9LCBbIGNsYXNzTmFtZSwgY3gsIG51bWJlck9mTGluZXMsIHNob3VsZFRydW5jYXRlIF0gKTtcblxuXHRyZXR1cm4geyAuLi5vdGhlclByb3BzLCBjbGFzc05hbWU6IGNsYXNzZXMsIGNoaWxkcmVuOiB0cnVuY2F0ZWRDb250ZW50IH07XG59XG4iXX0= */");
43
49
  return cx(shouldTruncate && !numberOfLines && styles.Truncate, shouldTruncate && !!numberOfLines && truncateLines, className);
44
50
  }, [className, cx, numberOfLines, shouldTruncate]);
45
51
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_element","_context","styles","_interopRequireWildcard","_utils","_useCx","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTruncate","props","className","children","ellipsis","TRUNCATE_ELLIPSIS","ellipsizeMode","TRUNCATE_TYPE","auto","limit","numberOfLines","otherProps","useContextSystem","cx","useCx","truncatedContent","truncateContent","shouldTruncate","classes","useMemo","truncateLines","css","process","env","NODE_ENV","Truncate"],"sources":["@wordpress/components/src/truncate/hook.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { useContextSystem } from '../context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\nimport type { TruncateProps } from './types';\n\nexport default function useTruncate(\n\tprops: WordPressComponentProps< TruncateProps, 'span' >\n) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tconst truncatedContent = truncateContent(\n\t\ttypeof children === 'string' ? children : '',\n\t\t{\n\t\t\tellipsis,\n\t\t\tellipsizeMode,\n\t\t\tlimit,\n\t\t\tnumberOfLines,\n\t\t}\n\t);\n\n\tconst shouldTruncate = ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\tconst truncateLines = css`\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && truncateLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, cx, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_element","_context","styles","_interopRequireWildcard","_utils","_useCx","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTruncate","props","className","children","ellipsis","TRUNCATE_ELLIPSIS","ellipsizeMode","TRUNCATE_TYPE","auto","limit","numberOfLines","otherProps","useContextSystem","cx","useCx","childrenAsText","toString","truncatedContent","truncateContent","shouldTruncate","classes","useMemo","truncateLines","css","process","env","NODE_ENV","Truncate"],"sources":["@wordpress/components/src/truncate/hook.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { css } from '@emotion/react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { useContextSystem } from '../context';\nimport * as styles from './styles';\nimport { TRUNCATE_ELLIPSIS, TRUNCATE_TYPE, truncateContent } from './utils';\nimport { useCx } from '../utils/hooks/use-cx';\nimport type { TruncateProps } from './types';\n\nexport default function useTruncate(\n\tprops: WordPressComponentProps< TruncateProps, 'span' >\n) {\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tellipsis = TRUNCATE_ELLIPSIS,\n\t\tellipsizeMode = TRUNCATE_TYPE.auto,\n\t\tlimit = 0,\n\t\tnumberOfLines = 0,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Truncate' );\n\n\tconst cx = useCx();\n\n\tlet childrenAsText;\n\tif ( typeof children === 'string' ) {\n\t\tchildrenAsText = children;\n\t} else if ( typeof children === 'number' ) {\n\t\tchildrenAsText = children.toString();\n\t}\n\n\tconst truncatedContent = childrenAsText\n\t\t? truncateContent( childrenAsText, {\n\t\t\t\tellipsis,\n\t\t\t\tellipsizeMode,\n\t\t\t\tlimit,\n\t\t\t\tnumberOfLines,\n\t\t } )\n\t\t: children;\n\n\tconst shouldTruncate =\n\t\t!! childrenAsText && ellipsizeMode === TRUNCATE_TYPE.auto;\n\n\tconst classes = useMemo( () => {\n\t\tconst truncateLines = css`\n\t\t\t-webkit-box-orient: vertical;\n\t\t\t-webkit-line-clamp: ${ numberOfLines };\n\t\t\tdisplay: -webkit-box;\n\t\t\toverflow: hidden;\n\t\t`;\n\n\t\treturn cx(\n\t\t\tshouldTruncate && ! numberOfLines && styles.Truncate,\n\t\t\tshouldTruncate && !! numberOfLines && truncateLines,\n\t\t\tclassName\n\t\t);\n\t}, [ className, cx, numberOfLines, shouldTruncate ] );\n\n\treturn { ...otherProps, className: classes, children: truncatedContent };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/truncate/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\nexport type TruncateEllipsizeMode =\n\t| 'auto'\n\t| 'head'\n\t| 'tail'\n\t| 'middle'\n\t| 'none';\n\nexport type TruncateProps = {\n\t/**\n\t * The ellipsis string when truncating the text by the `limit` prop's value.\n\t *\n\t * @default '…'\n\t */\n\tellipsis?: string;\n\t/**\n\t * Determines where to truncate. For example, we can truncate text right in\n\t * the middle. To do this, we need to set `ellipsizeMode` to `middle` and a\n\t * text `limit`.\n\t *\n\t * * `auto`: Trims content at the end automatically without a `limit`.\n\t * * `head`: Trims content at the beginning. Requires a `limit`.\n\t * * `middle`: Trims content in the middle. Requires a `limit`.\n\t * * `tail`: Trims content at the end. Requires a `limit`.\n\t *\n\t * @default 'auto'\n\t */\n\tellipsizeMode?: TruncateEllipsizeMode;\n\t/**\n\t * Determines the max number of characters to be displayed before the rest\n\t * of the text gets truncated. Requires `ellipsizeMode` to assume values\n\t * different from `auto` and `none`.\n\t *\n\t * @default 0\n\t */\n\tlimit?: number;\n\t/**\n\t * Clamps the text content to the specified `numberOfLines`, adding an\n\t * ellipsis at the end. Note: this feature ignores the value of the\n\t * `ellipsis` prop and always displays the default `…` ellipsis.\n\t *\n\t * @default 0\n\t */\n\tnumberOfLines?: number;\n\t/**\n\t * The children elements.\n\t */\n\tchildren: ReactNode;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/truncate/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\nexport type TruncateEllipsizeMode =\n\t| 'auto'\n\t| 'head'\n\t| 'tail'\n\t| 'middle'\n\t| 'none';\n\nexport type TruncateProps = {\n\t/**\n\t * The ellipsis string when truncating the text by the `limit` prop's value.\n\t *\n\t * @default '…'\n\t */\n\tellipsis?: string;\n\t/**\n\t * Determines where to truncate. For example, we can truncate text right in\n\t * the middle. To do this, we need to set `ellipsizeMode` to `middle` and a\n\t * text `limit`.\n\t *\n\t * * `auto`: Trims content at the end automatically without a `limit`.\n\t * * `head`: Trims content at the beginning. Requires a `limit`.\n\t * * `middle`: Trims content in the middle. Requires a `limit`.\n\t * * `tail`: Trims content at the end. Requires a `limit`.\n\t *\n\t * @default 'auto'\n\t */\n\tellipsizeMode?: TruncateEllipsizeMode;\n\t/**\n\t * Determines the max number of characters to be displayed before the rest\n\t * of the text gets truncated. Requires `ellipsizeMode` to assume values\n\t * different from `auto` and `none`.\n\t *\n\t * @default 0\n\t */\n\tlimit?: number;\n\t/**\n\t * Clamps the text content to the specified `numberOfLines`, adding an\n\t * ellipsis at the end. Note: this feature ignores the value of the\n\t * `ellipsis` prop and always displays the default `…` ellipsis.\n\t *\n\t * @default 0\n\t */\n\tnumberOfLines?: number;\n\t/**\n\t * The children elements.\n\t *\n\t * Note: text truncation will be attempted only if the `children` are either\n\t * of type `string` or `number`. In any other scenarios, the component will\n\t * not attempt to truncate the text, and will pass through the `children`.\n\t */\n\tchildren: ReactNode;\n};\n"],"mappings":""}
@@ -139,7 +139,7 @@ function UnforwardedUnitControl(unitControlProps, forwardedRef) {
139
139
  disabled: disabled,
140
140
  isUnitSelectTabbable: isUnitSelectTabbable,
141
141
  onChange: handleOnUnitChange,
142
- size: size === 'small' || size === 'default' && !props.__next40pxDefaultSize ? 'small' : 'default',
142
+ size: ['small', 'compact'].includes(size) || size === 'default' && !props.__next40pxDefaultSize ? 'small' : 'default',
143
143
  unit: unit,
144
144
  units: units,
145
145
  onFocus: onFocusProp,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_element","_i18n","_unitControlStyles","_unitSelectControl","_utils","_hooks","_strings","_useDeprecatedProps","UnforwardedUnitControl","unitControlProps","forwardedRef","__unstableStateReducer","autoComplete","children","className","disabled","disableUnits","isPressEnterToChange","isResetValueOnUnitChange","isUnitSelectTabbable","label","onChange","onChangeProp","onUnitChange","size","unit","unitProp","units","unitsProp","CSS_UNITS","value","valueProp","onFocus","onFocusProp","props","useDeprecated36pxDefaultSizeProp","deprecated","since","hint","version","nonNullValueProp","undefined","reFirstCharacterOfUnits","useMemo","list","getUnitsWithCurrentUnit","firstUnitValue","rest","firstCharacters","reduce","carry","first","escapeRegExp","substring","includes","RegExp","parsedQuantity","parsedUnit","getParsedQuantityAndUnit","setUnit","useControlledState","length","initial","fallback","useEffect","classes","classnames","handleOnQuantityChange","nextQuantityValue","changeProps","onChangeValue","getValidParsedQuantityAndUnit","join","handleOnUnitChange","nextUnitValue","data","nextValue","default","handleOnKeyDown","event","onKeyDown","metaKey","test","key","refInputSuffix","current","focus","useRef","inputSuffix","_react","createElement","ref","__","__next40pxDefaultSize","onBlur","step","_activeUnit$step","activeUnit","find","option","ValueInput","spinControls","suffix","type","UnitControl","forwardRef","exports","_default"],"sources":["@wordpress/components/src/unit-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { KeyboardEvent, ForwardedRef, SyntheticEvent } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef, useMemo, useRef, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { ValueInput } from './styles/unit-control-styles';\nimport UnitSelectControl from './unit-select-control';\nimport {\n\tCSS_UNITS,\n\tgetParsedQuantityAndUnit,\n\tgetUnitsWithCurrentUnit,\n\tgetValidParsedQuantityAndUnit,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\nimport { escapeRegExp } from '../utils/strings';\nimport type { UnitControlProps, UnitControlOnChangeCallback } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nfunction UnforwardedUnitControl(\n\tunitControlProps: WordPressComponentProps<\n\t\tUnitControlProps,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer,\n\t\tautoComplete = 'off',\n\t\t// @ts-expect-error Ensure that children is omitted from restProps\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tdisableUnits = false,\n\t\tisPressEnterToChange = false,\n\t\tisResetValueOnUnitChange = false,\n\t\tisUnitSelectTabbable = true,\n\t\tlabel,\n\t\tonChange: onChangeProp,\n\t\tonUnitChange,\n\t\tsize = 'default',\n\t\tunit: unitProp,\n\t\tunits: unitsProp = CSS_UNITS,\n\t\tvalue: valueProp,\n\t\tonFocus: onFocusProp,\n\t\t...props\n\t} = useDeprecated36pxDefaultSizeProp(\n\t\tunitControlProps,\n\t\t'wp.components.UnitControl',\n\t\t'6.4'\n\t);\n\n\tif ( 'unit' in unitControlProps ) {\n\t\tdeprecated( 'UnitControl unit prop', {\n\t\t\tsince: '5.6',\n\t\t\thint: 'The unit should be provided within the `value` prop.',\n\t\t\tversion: '6.2',\n\t\t} );\n\t}\n\n\t// The `value` prop, in theory, should not be `null`, but the following line\n\t// ensures it fallback to `undefined` in case a consumer of `UnitControl`\n\t// still passes `null` as a `value`.\n\tconst nonNullValueProp = valueProp ?? undefined;\n\tconst [ units, reFirstCharacterOfUnits ] = useMemo( () => {\n\t\tconst list = getUnitsWithCurrentUnit(\n\t\t\tnonNullValueProp,\n\t\t\tunitProp,\n\t\t\tunitsProp\n\t\t);\n\t\tconst [ { value: firstUnitValue = '' } = {}, ...rest ] = list;\n\t\tconst firstCharacters = rest.reduce(\n\t\t\t( carry, { value } ) => {\n\t\t\t\tconst first = escapeRegExp( value?.substring( 0, 1 ) || '' );\n\t\t\t\treturn carry.includes( first )\n\t\t\t\t\t? carry\n\t\t\t\t\t: `${ carry }|${ first }`;\n\t\t\t},\n\t\t\tescapeRegExp( firstUnitValue.substring( 0, 1 ) )\n\t\t);\n\t\treturn [ list, new RegExp( `^(?:${ firstCharacters })$`, 'i' ) ];\n\t}, [ nonNullValueProp, unitProp, unitsProp ] );\n\tconst [ parsedQuantity, parsedUnit ] = getParsedQuantityAndUnit(\n\t\tnonNullValueProp,\n\t\tunitProp,\n\t\tunits\n\t);\n\n\tconst [ unit, setUnit ] = useControlledState< string | undefined >(\n\t\tunits.length === 1 ? units[ 0 ].value : unitProp,\n\t\t{\n\t\t\tinitial: parsedUnit,\n\t\t\tfallback: '',\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( parsedUnit !== undefined ) {\n\t\t\tsetUnit( parsedUnit );\n\t\t}\n\t}, [ parsedUnit, setUnit ] );\n\n\tconst classes = classnames(\n\t\t'components-unit-control',\n\t\t// This class is added for legacy purposes to maintain it on the outer\n\t\t// wrapper. See: https://github.com/WordPress/gutenberg/pull/45139\n\t\t'components-unit-control-wrapper',\n\t\tclassName\n\t);\n\n\tconst handleOnQuantityChange = (\n\t\tnextQuantityValue: number | string | undefined,\n\t\tchangeProps: {\n\t\t\tevent: SyntheticEvent;\n\t\t}\n\t) => {\n\t\tif (\n\t\t\tnextQuantityValue === '' ||\n\t\t\ttypeof nextQuantityValue === 'undefined' ||\n\t\t\tnextQuantityValue === null\n\t\t) {\n\t\t\tonChangeProp?.( '', changeProps );\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Customizing the onChange callback.\n\t\t * This allows as to broadcast a combined value+unit to onChange.\n\t\t */\n\t\tconst onChangeValue = getValidParsedQuantityAndUnit(\n\t\t\tnextQuantityValue,\n\t\t\tunits,\n\t\t\tparsedQuantity,\n\t\t\tunit\n\t\t).join( '' );\n\n\t\tonChangeProp?.( onChangeValue, changeProps );\n\t};\n\n\tconst handleOnUnitChange: UnitControlOnChangeCallback = (\n\t\tnextUnitValue,\n\t\tchangeProps\n\t) => {\n\t\tconst { data } = changeProps;\n\n\t\tlet nextValue = `${ parsedQuantity ?? '' }${ nextUnitValue }`;\n\n\t\tif ( isResetValueOnUnitChange && data?.default !== undefined ) {\n\t\t\tnextValue = `${ data.default }${ nextUnitValue }`;\n\t\t}\n\n\t\tonChangeProp?.( nextValue, changeProps );\n\t\tonUnitChange?.( nextUnitValue, changeProps );\n\n\t\tsetUnit( nextUnitValue );\n\t};\n\n\tlet handleOnKeyDown;\n\tif ( ! disableUnits && isUnitSelectTabbable && units.length ) {\n\t\thandleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\t\tprops.onKeyDown?.( event );\n\t\t\t// Unless the meta key was pressed (to avoid interfering with\n\t\t\t// shortcuts, e.g. pastes), moves focus to the unit select if a key\n\t\t\t// matches the first character of a unit.\n\t\t\tif ( ! event.metaKey && reFirstCharacterOfUnits.test( event.key ) )\n\t\t\t\trefInputSuffix.current?.focus();\n\t\t};\n\t}\n\n\tconst refInputSuffix = useRef< HTMLSelectElement >( null );\n\tconst inputSuffix = ! disableUnits ? (\n\t\t<UnitSelectControl\n\t\t\tref={ refInputSuffix }\n\t\t\taria-label={ __( 'Select unit' ) }\n\t\t\tdisabled={ disabled }\n\t\t\tisUnitSelectTabbable={ isUnitSelectTabbable }\n\t\t\tonChange={ handleOnUnitChange }\n\t\t\tsize={\n\t\t\t\tsize === 'small' ||\n\t\t\t\t( size === 'default' && ! props.__next40pxDefaultSize )\n\t\t\t\t\t? 'small'\n\t\t\t\t\t: 'default'\n\t\t\t}\n\t\t\tunit={ unit }\n\t\t\tunits={ units }\n\t\t\tonFocus={ onFocusProp }\n\t\t\tonBlur={ unitControlProps.onBlur }\n\t\t/>\n\t) : null;\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\treturn (\n\t\t<ValueInput\n\t\t\t{ ...props }\n\t\t\tautoComplete={ autoComplete }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tspinControls=\"none\"\n\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\tlabel={ label }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonChange={ handleOnQuantityChange }\n\t\t\tref={ forwardedRef }\n\t\t\tsize={ size }\n\t\t\tsuffix={ inputSuffix }\n\t\t\ttype={ isPressEnterToChange ? 'text' : 'number' }\n\t\t\tvalue={ parsedQuantity ?? '' }\n\t\t\tstep={ step }\n\t\t\tonFocus={ onFocusProp }\n\t\t\t__unstableStateReducer={ __unstableStateReducer }\n\t\t/>\n\t);\n}\n\n/**\n * `UnitControl` allows the user to set a numeric quantity as well as a unit (e.g. `px`).\n *\n *\n * ```jsx\n * import { __experimentalUnitControl as UnitControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '10px' );\n *\n * return <UnitControl onChange={ setValue } value={ value } />;\n * };\n * ```\n */\nexport const UnitControl = forwardRef( UnforwardedUnitControl );\n\nexport { parseQuantityAndUnitFromRawValue, useCustomUnits } from './utils';\nexport default UnitControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_element","_i18n","_unitControlStyles","_unitSelectControl","_utils","_hooks","_strings","_useDeprecatedProps","UnforwardedUnitControl","unitControlProps","forwardedRef","__unstableStateReducer","autoComplete","children","className","disabled","disableUnits","isPressEnterToChange","isResetValueOnUnitChange","isUnitSelectTabbable","label","onChange","onChangeProp","onUnitChange","size","unit","unitProp","units","unitsProp","CSS_UNITS","value","valueProp","onFocus","onFocusProp","props","useDeprecated36pxDefaultSizeProp","deprecated","since","hint","version","nonNullValueProp","undefined","reFirstCharacterOfUnits","useMemo","list","getUnitsWithCurrentUnit","firstUnitValue","rest","firstCharacters","reduce","carry","first","escapeRegExp","substring","includes","RegExp","parsedQuantity","parsedUnit","getParsedQuantityAndUnit","setUnit","useControlledState","length","initial","fallback","useEffect","classes","classnames","handleOnQuantityChange","nextQuantityValue","changeProps","onChangeValue","getValidParsedQuantityAndUnit","join","handleOnUnitChange","nextUnitValue","data","nextValue","default","handleOnKeyDown","event","onKeyDown","metaKey","test","key","refInputSuffix","current","focus","useRef","inputSuffix","_react","createElement","ref","__","__next40pxDefaultSize","onBlur","step","_activeUnit$step","activeUnit","find","option","ValueInput","spinControls","suffix","type","UnitControl","forwardRef","exports","_default"],"sources":["@wordpress/components/src/unit-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { KeyboardEvent, ForwardedRef, SyntheticEvent } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef, useMemo, useRef, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { ValueInput } from './styles/unit-control-styles';\nimport UnitSelectControl from './unit-select-control';\nimport {\n\tCSS_UNITS,\n\tgetParsedQuantityAndUnit,\n\tgetUnitsWithCurrentUnit,\n\tgetValidParsedQuantityAndUnit,\n} from './utils';\nimport { useControlledState } from '../utils/hooks';\nimport { escapeRegExp } from '../utils/strings';\nimport type { UnitControlProps, UnitControlOnChangeCallback } from './types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nfunction UnforwardedUnitControl(\n\tunitControlProps: WordPressComponentProps<\n\t\tUnitControlProps,\n\t\t'input',\n\t\tfalse\n\t>,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer,\n\t\tautoComplete = 'off',\n\t\t// @ts-expect-error Ensure that children is omitted from restProps\n\t\tchildren,\n\t\tclassName,\n\t\tdisabled = false,\n\t\tdisableUnits = false,\n\t\tisPressEnterToChange = false,\n\t\tisResetValueOnUnitChange = false,\n\t\tisUnitSelectTabbable = true,\n\t\tlabel,\n\t\tonChange: onChangeProp,\n\t\tonUnitChange,\n\t\tsize = 'default',\n\t\tunit: unitProp,\n\t\tunits: unitsProp = CSS_UNITS,\n\t\tvalue: valueProp,\n\t\tonFocus: onFocusProp,\n\t\t...props\n\t} = useDeprecated36pxDefaultSizeProp(\n\t\tunitControlProps,\n\t\t'wp.components.UnitControl',\n\t\t'6.4'\n\t);\n\n\tif ( 'unit' in unitControlProps ) {\n\t\tdeprecated( 'UnitControl unit prop', {\n\t\t\tsince: '5.6',\n\t\t\thint: 'The unit should be provided within the `value` prop.',\n\t\t\tversion: '6.2',\n\t\t} );\n\t}\n\n\t// The `value` prop, in theory, should not be `null`, but the following line\n\t// ensures it fallback to `undefined` in case a consumer of `UnitControl`\n\t// still passes `null` as a `value`.\n\tconst nonNullValueProp = valueProp ?? undefined;\n\tconst [ units, reFirstCharacterOfUnits ] = useMemo( () => {\n\t\tconst list = getUnitsWithCurrentUnit(\n\t\t\tnonNullValueProp,\n\t\t\tunitProp,\n\t\t\tunitsProp\n\t\t);\n\t\tconst [ { value: firstUnitValue = '' } = {}, ...rest ] = list;\n\t\tconst firstCharacters = rest.reduce(\n\t\t\t( carry, { value } ) => {\n\t\t\t\tconst first = escapeRegExp( value?.substring( 0, 1 ) || '' );\n\t\t\t\treturn carry.includes( first )\n\t\t\t\t\t? carry\n\t\t\t\t\t: `${ carry }|${ first }`;\n\t\t\t},\n\t\t\tescapeRegExp( firstUnitValue.substring( 0, 1 ) )\n\t\t);\n\t\treturn [ list, new RegExp( `^(?:${ firstCharacters })$`, 'i' ) ];\n\t}, [ nonNullValueProp, unitProp, unitsProp ] );\n\tconst [ parsedQuantity, parsedUnit ] = getParsedQuantityAndUnit(\n\t\tnonNullValueProp,\n\t\tunitProp,\n\t\tunits\n\t);\n\n\tconst [ unit, setUnit ] = useControlledState< string | undefined >(\n\t\tunits.length === 1 ? units[ 0 ].value : unitProp,\n\t\t{\n\t\t\tinitial: parsedUnit,\n\t\t\tfallback: '',\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( parsedUnit !== undefined ) {\n\t\t\tsetUnit( parsedUnit );\n\t\t}\n\t}, [ parsedUnit, setUnit ] );\n\n\tconst classes = classnames(\n\t\t'components-unit-control',\n\t\t// This class is added for legacy purposes to maintain it on the outer\n\t\t// wrapper. See: https://github.com/WordPress/gutenberg/pull/45139\n\t\t'components-unit-control-wrapper',\n\t\tclassName\n\t);\n\n\tconst handleOnQuantityChange = (\n\t\tnextQuantityValue: number | string | undefined,\n\t\tchangeProps: {\n\t\t\tevent: SyntheticEvent;\n\t\t}\n\t) => {\n\t\tif (\n\t\t\tnextQuantityValue === '' ||\n\t\t\ttypeof nextQuantityValue === 'undefined' ||\n\t\t\tnextQuantityValue === null\n\t\t) {\n\t\t\tonChangeProp?.( '', changeProps );\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Customizing the onChange callback.\n\t\t * This allows as to broadcast a combined value+unit to onChange.\n\t\t */\n\t\tconst onChangeValue = getValidParsedQuantityAndUnit(\n\t\t\tnextQuantityValue,\n\t\t\tunits,\n\t\t\tparsedQuantity,\n\t\t\tunit\n\t\t).join( '' );\n\n\t\tonChangeProp?.( onChangeValue, changeProps );\n\t};\n\n\tconst handleOnUnitChange: UnitControlOnChangeCallback = (\n\t\tnextUnitValue,\n\t\tchangeProps\n\t) => {\n\t\tconst { data } = changeProps;\n\n\t\tlet nextValue = `${ parsedQuantity ?? '' }${ nextUnitValue }`;\n\n\t\tif ( isResetValueOnUnitChange && data?.default !== undefined ) {\n\t\t\tnextValue = `${ data.default }${ nextUnitValue }`;\n\t\t}\n\n\t\tonChangeProp?.( nextValue, changeProps );\n\t\tonUnitChange?.( nextUnitValue, changeProps );\n\n\t\tsetUnit( nextUnitValue );\n\t};\n\n\tlet handleOnKeyDown;\n\tif ( ! disableUnits && isUnitSelectTabbable && units.length ) {\n\t\thandleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\t\tprops.onKeyDown?.( event );\n\t\t\t// Unless the meta key was pressed (to avoid interfering with\n\t\t\t// shortcuts, e.g. pastes), moves focus to the unit select if a key\n\t\t\t// matches the first character of a unit.\n\t\t\tif ( ! event.metaKey && reFirstCharacterOfUnits.test( event.key ) )\n\t\t\t\trefInputSuffix.current?.focus();\n\t\t};\n\t}\n\n\tconst refInputSuffix = useRef< HTMLSelectElement >( null );\n\tconst inputSuffix = ! disableUnits ? (\n\t\t<UnitSelectControl\n\t\t\tref={ refInputSuffix }\n\t\t\taria-label={ __( 'Select unit' ) }\n\t\t\tdisabled={ disabled }\n\t\t\tisUnitSelectTabbable={ isUnitSelectTabbable }\n\t\t\tonChange={ handleOnUnitChange }\n\t\t\tsize={\n\t\t\t\t[ 'small', 'compact' ].includes( size ) ||\n\t\t\t\t( size === 'default' && ! props.__next40pxDefaultSize )\n\t\t\t\t\t? 'small'\n\t\t\t\t\t: 'default'\n\t\t\t}\n\t\t\tunit={ unit }\n\t\t\tunits={ units }\n\t\t\tonFocus={ onFocusProp }\n\t\t\tonBlur={ unitControlProps.onBlur }\n\t\t/>\n\t) : null;\n\n\tlet step = props.step;\n\n\t/*\n\t * If no step prop has been passed, lookup the active unit and\n\t * try to get step from `units`, or default to a value of `1`\n\t */\n\tif ( ! step && units ) {\n\t\tconst activeUnit = units.find( ( option ) => option.value === unit );\n\t\tstep = activeUnit?.step ?? 1;\n\t}\n\n\treturn (\n\t\t<ValueInput\n\t\t\t{ ...props }\n\t\t\tautoComplete={ autoComplete }\n\t\t\tclassName={ classes }\n\t\t\tdisabled={ disabled }\n\t\t\tspinControls=\"none\"\n\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\tlabel={ label }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonChange={ handleOnQuantityChange }\n\t\t\tref={ forwardedRef }\n\t\t\tsize={ size }\n\t\t\tsuffix={ inputSuffix }\n\t\t\ttype={ isPressEnterToChange ? 'text' : 'number' }\n\t\t\tvalue={ parsedQuantity ?? '' }\n\t\t\tstep={ step }\n\t\t\tonFocus={ onFocusProp }\n\t\t\t__unstableStateReducer={ __unstableStateReducer }\n\t\t/>\n\t);\n}\n\n/**\n * `UnitControl` allows the user to set a numeric quantity as well as a unit (e.g. `px`).\n *\n *\n * ```jsx\n * import { __experimentalUnitControl as UnitControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '10px' );\n *\n * return <UnitControl onChange={ setValue } value={ value } />;\n * };\n * ```\n */\nexport const UnitControl = forwardRef( UnforwardedUnitControl );\n\nexport { parseQuantityAndUnitFromRawValue, useCustomUnits } from './utils';\nexport default UnitControl;\n"],"mappings":"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"}
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.escapeRegExp = escapeRegExp;
8
+ exports.kebabCase = kebabCase;
8
9
  exports.normalizeTextString = void 0;
9
10
  var _removeAccents = _interopRequireDefault(require("remove-accents"));
11
+ var _changeCase = require("change-case");
10
12
  /**
11
13
  * External dependencies
12
14
  */
@@ -73,13 +75,42 @@ const normalizeTextString = value => {
73
75
  };
74
76
 
75
77
  /**
76
- * Escapes the RegExp special characters.
78
+ * Converts any string to kebab case.
79
+ * Backwards compatible with Lodash's `_.kebabCase()`.
80
+ * Backwards compatible with `_wp_to_kebab_case()`.
77
81
  *
78
- * @param {string} string Input string.
82
+ * @see https://lodash.com/docs/4.17.15#kebabCase
83
+ * @see https://developer.wordpress.org/reference/functions/_wp_to_kebab_case/
79
84
  *
80
- * @return {string} Regex-escaped string.
85
+ * @param str String to convert.
86
+ * @return Kebab-cased string
81
87
  */
82
88
  exports.normalizeTextString = normalizeTextString;
89
+ function kebabCase(str) {
90
+ var _str$toString;
91
+ let input = (_str$toString = str?.toString?.()) !== null && _str$toString !== void 0 ? _str$toString : '';
92
+
93
+ // See https://github.com/lodash/lodash/blob/b185fcee26b2133bd071f4aaca14b455c2ed1008/lodash.js#L4970
94
+ input = input.replace(/['\u2019]/, '');
95
+ return (0, _changeCase.paramCase)(input, {
96
+ splitRegexp: [/(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g,
97
+ // fooBar => foo-bar, 3Bar => 3-bar
98
+ /(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g,
99
+ // 3bar => 3-bar
100
+ /([A-Za-z])([0-9])/g,
101
+ // Foo3 => foo-3, foo3 => foo-3
102
+ /([A-Z])([A-Z][a-z])/g // FOOBar => foo-bar
103
+ ]
104
+ });
105
+ }
106
+
107
+ /**
108
+ * Escapes the RegExp special characters.
109
+ *
110
+ * @param string Input string.
111
+ *
112
+ * @return Regex-escaped string.
113
+ */
83
114
  function escapeRegExp(string) {
84
115
  return string.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&');
85
116
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_removeAccents","_interopRequireDefault","require","ALL_UNICODE_DASH_CHARACTERS","RegExp","join","normalizeTextString","value","removeAccents","toLocaleLowerCase","replace","exports","escapeRegExp","string"],"sources":["@wordpress/components/src/utils/strings.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\nconst ALL_UNICODE_DASH_CHARACTERS = new RegExp(\n\t`[${ [\n\t\t// - (hyphen-minus)\n\t\t'\\u002d',\n\t\t// ~ (tilde)\n\t\t'\\u007e',\n\t\t// ­ (soft hyphen)\n\t\t'\\u00ad',\n\t\t// ֊ (armenian hyphen)\n\t\t'\\u058a',\n\t\t// ־ (hebrew punctuation maqaf)\n\t\t'\\u05be',\n\t\t// ᐀ (canadian syllabics hyphen)\n\t\t'\\u1400',\n\t\t// ᠆ (mongolian todo soft hyphen)\n\t\t'\\u1806',\n\t\t// ‐ (hyphen)\n\t\t'\\u2010',\n\t\t// non-breaking hyphen)\n\t\t'\\u2011',\n\t\t// ‒ (figure dash)\n\t\t'\\u2012',\n\t\t// – (en dash)\n\t\t'\\u2013',\n\t\t// — (em dash)\n\t\t'\\u2014',\n\t\t// ― (horizontal bar)\n\t\t'\\u2015',\n\t\t// ⁓ (swung dash)\n\t\t'\\u2053',\n\t\t// superscript minus)\n\t\t'\\u207b',\n\t\t// subscript minus)\n\t\t'\\u208b',\n\t\t// − (minus sign)\n\t\t'\\u2212',\n\t\t// ⸗ (double oblique hyphen)\n\t\t'\\u2e17',\n\t\t// ⸺ (two-em dash)\n\t\t'\\u2e3a',\n\t\t// ⸻ (three-em dash)\n\t\t'\\u2e3b',\n\t\t// 〜 (wave dash)\n\t\t'\\u301c',\n\t\t// 〰 (wavy dash)\n\t\t'\\u3030',\n\t\t// ゠ (katakana-hiragana double hyphen)\n\t\t'\\u30a0',\n\t\t// ︱ (presentation form for vertical em dash)\n\t\t'\\ufe31',\n\t\t// ︲ (presentation form for vertical en dash)\n\t\t'\\ufe32',\n\t\t// ﹘ (small em dash)\n\t\t'\\ufe58',\n\t\t// ﹣ (small hyphen-minus)\n\t\t'\\ufe63',\n\t\t// - (fullwidth hyphen-minus)\n\t\t'\\uff0d',\n\t].join( '' ) }]`,\n\t'g'\n);\n\nexport const normalizeTextString = ( value: string ): string => {\n\treturn removeAccents( value )\n\t\t.toLocaleLowerCase()\n\t\t.replace( ALL_UNICODE_DASH_CHARACTERS, '-' );\n};\n\n/**\n * Escapes the RegExp special characters.\n *\n * @param {string} string Input string.\n *\n * @return {string} Regex-escaped string.\n */\nexport function escapeRegExp( string: string ): string {\n\treturn string.replace( /[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&' );\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,2BAA2B,GAAG,IAAIC,MAAM,CAC5C,IAAI;AACJ;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ,CACR,CAACC,IAAI,CAAE,EAAG,CAAG,GAAE,EAChB,GACD,CAAC;AAEM,MAAMC,mBAAmB,GAAKC,KAAa,IAAc;EAC/D,OAAO,IAAAC,sBAAa,EAAED,KAAM,CAAC,CAC3BE,iBAAiB,CAAC,CAAC,CACnBC,OAAO,CAAEP,2BAA2B,EAAE,GAAI,CAAC;AAC9C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAQ,OAAA,CAAAL,mBAAA,GAAAA,mBAAA;AAOO,SAASM,YAAYA,CAAEC,MAAc,EAAW;EACtD,OAAOA,MAAM,CAACH,OAAO,CAAE,qBAAqB,EAAE,MAAO,CAAC;AACvD"}
1
+ {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","ALL_UNICODE_DASH_CHARACTERS","RegExp","join","normalizeTextString","value","removeAccents","toLocaleLowerCase","replace","exports","kebabCase","str","_str$toString","input","toString","paramCase","splitRegexp","escapeRegExp","string"],"sources":["@wordpress/components/src/utils/strings.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { paramCase } from 'change-case';\n\nconst ALL_UNICODE_DASH_CHARACTERS = new RegExp(\n\t`[${ [\n\t\t// - (hyphen-minus)\n\t\t'\\u002d',\n\t\t// ~ (tilde)\n\t\t'\\u007e',\n\t\t// ­ (soft hyphen)\n\t\t'\\u00ad',\n\t\t// ֊ (armenian hyphen)\n\t\t'\\u058a',\n\t\t// ־ (hebrew punctuation maqaf)\n\t\t'\\u05be',\n\t\t// ᐀ (canadian syllabics hyphen)\n\t\t'\\u1400',\n\t\t// ᠆ (mongolian todo soft hyphen)\n\t\t'\\u1806',\n\t\t// ‐ (hyphen)\n\t\t'\\u2010',\n\t\t// non-breaking hyphen)\n\t\t'\\u2011',\n\t\t// ‒ (figure dash)\n\t\t'\\u2012',\n\t\t// – (en dash)\n\t\t'\\u2013',\n\t\t// — (em dash)\n\t\t'\\u2014',\n\t\t// ― (horizontal bar)\n\t\t'\\u2015',\n\t\t// ⁓ (swung dash)\n\t\t'\\u2053',\n\t\t// superscript minus)\n\t\t'\\u207b',\n\t\t// subscript minus)\n\t\t'\\u208b',\n\t\t// − (minus sign)\n\t\t'\\u2212',\n\t\t// ⸗ (double oblique hyphen)\n\t\t'\\u2e17',\n\t\t// ⸺ (two-em dash)\n\t\t'\\u2e3a',\n\t\t// ⸻ (three-em dash)\n\t\t'\\u2e3b',\n\t\t// 〜 (wave dash)\n\t\t'\\u301c',\n\t\t// 〰 (wavy dash)\n\t\t'\\u3030',\n\t\t// ゠ (katakana-hiragana double hyphen)\n\t\t'\\u30a0',\n\t\t// ︱ (presentation form for vertical em dash)\n\t\t'\\ufe31',\n\t\t// ︲ (presentation form for vertical en dash)\n\t\t'\\ufe32',\n\t\t// ﹘ (small em dash)\n\t\t'\\ufe58',\n\t\t// ﹣ (small hyphen-minus)\n\t\t'\\ufe63',\n\t\t// - (fullwidth hyphen-minus)\n\t\t'\\uff0d',\n\t].join( '' ) }]`,\n\t'g'\n);\n\nexport const normalizeTextString = ( value: string ): string => {\n\treturn removeAccents( value )\n\t\t.toLocaleLowerCase()\n\t\t.replace( ALL_UNICODE_DASH_CHARACTERS, '-' );\n};\n\n/**\n * Converts any string to kebab case.\n * Backwards compatible with Lodash's `_.kebabCase()`.\n * Backwards compatible with `_wp_to_kebab_case()`.\n *\n * @see https://lodash.com/docs/4.17.15#kebabCase\n * @see https://developer.wordpress.org/reference/functions/_wp_to_kebab_case/\n *\n * @param str String to convert.\n * @return Kebab-cased string\n */\nexport function kebabCase( str: unknown ) {\n\tlet input = str?.toString?.() ?? '';\n\n\t// See https://github.com/lodash/lodash/blob/b185fcee26b2133bd071f4aaca14b455c2ed1008/lodash.js#L4970\n\tinput = input.replace( /['\\u2019]/, '' );\n\n\treturn paramCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g, // fooBar => foo-bar, 3Bar => 3-bar\n\t\t\t/(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g, // 3bar => 3-bar\n\t\t\t/([A-Za-z])([0-9])/g, // Foo3 => foo-3, foo3 => foo-3\n\t\t\t/([A-Z])([A-Z][a-z])/g, // FOOBar => foo-bar\n\t\t],\n\t} );\n}\n\n/**\n * Escapes the RegExp special characters.\n *\n * @param string Input string.\n *\n * @return Regex-escaped string.\n */\nexport function escapeRegExp( string: string ): string {\n\treturn string.replace( /[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&' );\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,2BAA2B,GAAG,IAAIC,MAAM,CAC5C,IAAI;AACJ;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ,CACR,CAACC,IAAI,CAAE,EAAG,CAAG,GAAE,EAChB,GACD,CAAC;AAEM,MAAMC,mBAAmB,GAAKC,KAAa,IAAc;EAC/D,OAAO,IAAAC,sBAAa,EAAED,KAAM,CAAC,CAC3BE,iBAAiB,CAAC,CAAC,CACnBC,OAAO,CAAEP,2BAA2B,EAAE,GAAI,CAAC;AAC9C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVAQ,OAAA,CAAAL,mBAAA,GAAAA,mBAAA;AAWO,SAASM,SAASA,CAAEC,GAAY,EAAG;EAAA,IAAAC,aAAA;EACzC,IAAIC,KAAK,IAAAD,aAAA,GAAGD,GAAG,EAAEG,QAAQ,GAAG,CAAC,cAAAF,aAAA,cAAAA,aAAA,GAAI,EAAE;;EAEnC;EACAC,KAAK,GAAGA,KAAK,CAACL,OAAO,CAAE,WAAW,EAAE,EAAG,CAAC;EAExC,OAAO,IAAAO,qBAAS,EAAEF,KAAK,EAAE;IACxBG,WAAW,EAAE,CACZ,wDAAwD;IAAE;IAC1D,qDAAqD;IAAE;IACvD,oBAAoB;IAAE;IACtB,sBAAsB,CAAE;IAAA;EAE1B,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAAEC,MAAc,EAAW;EACtD,OAAOA,MAAM,CAACV,OAAO,CAAE,qBAAqB,EAAE,MAAO,CAAC;AACvD"}
@@ -9,6 +9,7 @@ import classnames from 'classnames';
9
9
  */
10
10
  import { VisuallyHidden } from '../visually-hidden';
11
11
  import { Wrapper, StyledField, StyledLabel, StyledHelp, StyledVisualLabel } from './styles/base-control-styles';
12
+ import { contextConnectWithoutRef, useContextSystem } from '../context';
12
13
  export { useBaseControlProps } from './hooks';
13
14
 
14
15
  /**
@@ -34,17 +35,18 @@ export { useBaseControlProps } from './hooks';
34
35
  * );
35
36
  * ```
36
37
  */
37
- export const BaseControl = ({
38
- __nextHasNoMarginBottom = false,
39
- id,
40
- label,
41
- hideLabelFromVision = false,
42
- help,
43
- className,
44
- children
45
- }) => {
38
+ const UnconnectedBaseControl = props => {
39
+ const {
40
+ __nextHasNoMarginBottom = false,
41
+ id,
42
+ label,
43
+ hideLabelFromVision = false,
44
+ help,
45
+ className,
46
+ children
47
+ } = useContextSystem(props, 'BaseControl');
46
48
  return createElement(Wrapper, {
47
- className: classnames('components-base-control', className)
49
+ className: className
48
50
  }, createElement(StyledField, {
49
51
  className: "components-base-control__field"
50
52
  // TODO: Official deprecation for this should start after all internal usages have been migrated
@@ -58,7 +60,7 @@ export const BaseControl = ({
58
60
  htmlFor: id
59
61
  }, label)), label && !id && (hideLabelFromVision ? createElement(VisuallyHidden, {
60
62
  as: "label"
61
- }, label) : createElement(BaseControl.VisualLabel, null, label)), children), !!help && createElement(StyledHelp, {
63
+ }, label) : createElement(VisualLabel, null, label)), children), !!help && createElement(StyledHelp, {
62
64
  id: id ? id + '__help' : undefined,
63
65
  className: "components-base-control__help",
64
66
  __nextHasNoMarginBottom: __nextHasNoMarginBottom
@@ -92,6 +94,8 @@ export const VisualLabel = ({
92
94
  className: classnames('components-base-control__label', className)
93
95
  }, children);
94
96
  };
95
- BaseControl.VisualLabel = VisualLabel;
97
+ export const BaseControl = Object.assign(contextConnectWithoutRef(UnconnectedBaseControl, 'BaseControl'), {
98
+ VisualLabel
99
+ });
96
100
  export default BaseControl;
97
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","VisuallyHidden","Wrapper","StyledField","StyledLabel","StyledHelp","StyledVisualLabel","useBaseControlProps","BaseControl","__nextHasNoMarginBottom","id","label","hideLabelFromVision","help","className","children","createElement","as","htmlFor","VisualLabel","undefined","props"],"sources":["@wordpress/components/src/base-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '../visually-hidden';\nimport type { BaseControlProps, BaseControlVisualLabelProps } from './types';\nimport {\n\tWrapper,\n\tStyledField,\n\tStyledLabel,\n\tStyledHelp,\n\tStyledVisualLabel,\n} from './styles/base-control-styles';\nimport type { WordPressComponentProps } from '../context';\n\nexport { useBaseControlProps } from './hooks';\n\n/**\n * `BaseControl` is a component used to generate labels and help text for components handling user inputs.\n *\n * ```jsx\n * import { BaseControl, useBaseControlProps } from '@wordpress/components';\n *\n * // Render a `BaseControl` for a textarea input\n * const MyCustomTextareaControl = ({ children, ...baseProps }) => (\n * \t// `useBaseControlProps` is a convenience hook to get the props for the `BaseControl`\n * \t// and the inner control itself. Namely, it takes care of generating a unique `id`,\n * \t// properly associating it with the `label` and `help` elements.\n * \tconst { baseControlProps, controlProps } = useBaseControlProps( baseProps );\n *\n * \treturn (\n * \t\t<BaseControl { ...baseControlProps } __nextHasNoMarginBottom={ true }>\n * \t\t\t<textarea { ...controlProps }>\n * \t\t\t { children }\n * \t\t\t</textarea>\n * \t\t</BaseControl>\n * \t);\n * );\n * ```\n */\nexport const BaseControl = ( {\n\t__nextHasNoMarginBottom = false,\n\tid,\n\tlabel,\n\thideLabelFromVision = false,\n\thelp,\n\tclassName,\n\tchildren,\n}: BaseControlProps ) => {\n\treturn (\n\t\t<Wrapper\n\t\t\tclassName={ classnames( 'components-base-control', className ) }\n\t\t>\n\t\t\t<StyledField\n\t\t\t\tclassName=\"components-base-control__field\"\n\t\t\t\t// TODO: Official deprecation for this should start after all internal usages have been migrated\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t>\n\t\t\t\t{ label &&\n\t\t\t\t\tid &&\n\t\t\t\t\t( hideLabelFromVision ? (\n\t\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ id }>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<StyledLabel\n\t\t\t\t\t\t\tclassName=\"components-base-control__label\"\n\t\t\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</StyledLabel>\n\t\t\t\t\t) ) }\n\t\t\t\t{ label &&\n\t\t\t\t\t! id &&\n\t\t\t\t\t( hideLabelFromVision ? (\n\t\t\t\t\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) ) }\n\t\t\t\t{ children }\n\t\t\t</StyledField>\n\t\t\t{ !! help && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ id ? id + '__help' : undefined }\n\t\t\t\t\tclassName=\"components-base-control__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ help }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n};\n\n/**\n * `BaseControl.VisualLabel` is used to render a purely visual label inside a `BaseControl` component.\n *\n * It should only be used in cases where the children being rendered inside `BaseControl` are already accessibly labeled,\n * e.g., a button, but we want an additional visual label for that section equivalent to the labels `BaseControl` would\n * otherwise use if the `label` prop was passed.\n *\n * @example\n * import { BaseControl } from '@wordpress/components';\n *\n * const MyBaseControl = () => (\n * \t<BaseControl help=\"This button is already accessibly labeled.\">\n * \t\t<BaseControl.VisualLabel>Author</BaseControl.VisualLabel>\n * \t\t<Button>Select an author</Button>\n * \t</BaseControl>\n * );\n */\nexport const VisualLabel = ( {\n\tclassName,\n\tchildren,\n\t...props\n}: WordPressComponentProps< BaseControlVisualLabelProps, 'span' > ) => {\n\treturn (\n\t\t<StyledVisualLabel\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-base-control__label',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledVisualLabel>\n\t);\n};\nBaseControl.VisualLabel = VisualLabel;\n\nexport default BaseControl;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,cAAc,QAAQ,oBAAoB;AAEnD,SACCC,OAAO,EACPC,WAAW,EACXC,WAAW,EACXC,UAAU,EACVC,iBAAiB,QACX,8BAA8B;AAGrC,SAASC,mBAAmB,QAAQ,SAAS;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGA,CAAE;EAC5BC,uBAAuB,GAAG,KAAK;EAC/BC,EAAE;EACFC,KAAK;EACLC,mBAAmB,GAAG,KAAK;EAC3BC,IAAI;EACJC,SAAS;EACTC;AACiB,CAAC,KAAM;EACxB,OACCC,aAAA,CAACd,OAAO;IACPY,SAAS,EAAGd,UAAU,CAAE,yBAAyB,EAAEc,SAAU;EAAG,GAEhEE,aAAA,CAACb,WAAW;IACXW,SAAS,EAAC;IACV;IAAA;IACAL,uBAAuB,EAAGA;EAAyB,GAEjDE,KAAK,IACND,EAAE,KACAE,mBAAmB,GACpBI,aAAA,CAACf,cAAc;IAACgB,EAAE,EAAC,OAAO;IAACC,OAAO,EAAGR;EAAI,GACtCC,KACa,CAAC,GAEjBK,aAAA,CAACZ,WAAW;IACXU,SAAS,EAAC,gCAAgC;IAC1CI,OAAO,EAAGR;EAAI,GAEZC,KACU,CACb,CAAE,EACFA,KAAK,IACN,CAAED,EAAE,KACFE,mBAAmB,GACpBI,aAAA,CAACf,cAAc;IAACgB,EAAE,EAAC;EAAO,GAAGN,KAAuB,CAAC,GAErDK,aAAA,CAACR,WAAW,CAACW,WAAW,QACrBR,KACsB,CACzB,CAAE,EACFI,QACU,CAAC,EACZ,CAAC,CAAEF,IAAI,IACRG,aAAA,CAACX,UAAU;IACVK,EAAE,EAAGA,EAAE,GAAGA,EAAE,GAAG,QAAQ,GAAGU,SAAW;IACrCN,SAAS,EAAC,+BAA+B;IACzCL,uBAAuB,EAAGA;EAAyB,GAEjDI,IACS,CAEL,CAAC;AAEZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,WAAW,GAAGA,CAAE;EAC5BL,SAAS;EACTC,QAAQ;EACR,GAAGM;AAC4D,CAAC,KAAM;EACtE,OACCL,aAAA,CAACV,iBAAiB;IAAA,GACZe,KAAK;IACVP,SAAS,EAAGd,UAAU,CACrB,gCAAgC,EAChCc,SACD;EAAG,GAEDC,QACgB,CAAC;AAEtB,CAAC;AACDP,WAAW,CAACW,WAAW,GAAGA,WAAW;AAErC,eAAeX,WAAW"}
1
+ {"version":3,"names":["classnames","VisuallyHidden","Wrapper","StyledField","StyledLabel","StyledHelp","StyledVisualLabel","contextConnectWithoutRef","useContextSystem","useBaseControlProps","UnconnectedBaseControl","props","__nextHasNoMarginBottom","id","label","hideLabelFromVision","help","className","children","createElement","as","htmlFor","VisualLabel","undefined","BaseControl","Object","assign"],"sources":["@wordpress/components/src/base-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '../visually-hidden';\nimport type { BaseControlProps, BaseControlVisualLabelProps } from './types';\nimport {\n\tWrapper,\n\tStyledField,\n\tStyledLabel,\n\tStyledHelp,\n\tStyledVisualLabel,\n} from './styles/base-control-styles';\nimport type { WordPressComponentProps } from '../context';\nimport { contextConnectWithoutRef, useContextSystem } from '../context';\n\nexport { useBaseControlProps } from './hooks';\n\n/**\n * `BaseControl` is a component used to generate labels and help text for components handling user inputs.\n *\n * ```jsx\n * import { BaseControl, useBaseControlProps } from '@wordpress/components';\n *\n * // Render a `BaseControl` for a textarea input\n * const MyCustomTextareaControl = ({ children, ...baseProps }) => (\n * \t// `useBaseControlProps` is a convenience hook to get the props for the `BaseControl`\n * \t// and the inner control itself. Namely, it takes care of generating a unique `id`,\n * \t// properly associating it with the `label` and `help` elements.\n * \tconst { baseControlProps, controlProps } = useBaseControlProps( baseProps );\n *\n * \treturn (\n * \t\t<BaseControl { ...baseControlProps } __nextHasNoMarginBottom={ true }>\n * \t\t\t<textarea { ...controlProps }>\n * \t\t\t { children }\n * \t\t\t</textarea>\n * \t\t</BaseControl>\n * \t);\n * );\n * ```\n */\nconst UnconnectedBaseControl = (\n\tprops: WordPressComponentProps< BaseControlProps, null >\n) => {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tid,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tclassName,\n\t\tchildren,\n\t} = useContextSystem( props, 'BaseControl' );\n\n\treturn (\n\t\t<Wrapper className={ className }>\n\t\t\t<StyledField\n\t\t\t\tclassName=\"components-base-control__field\"\n\t\t\t\t// TODO: Official deprecation for this should start after all internal usages have been migrated\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t>\n\t\t\t\t{ label &&\n\t\t\t\t\tid &&\n\t\t\t\t\t( hideLabelFromVision ? (\n\t\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ id }>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<StyledLabel\n\t\t\t\t\t\t\tclassName=\"components-base-control__label\"\n\t\t\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</StyledLabel>\n\t\t\t\t\t) ) }\n\t\t\t\t{ label &&\n\t\t\t\t\t! id &&\n\t\t\t\t\t( hideLabelFromVision ? (\n\t\t\t\t\t\t<VisuallyHidden as=\"label\">{ label }</VisuallyHidden>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<VisualLabel>{ label }</VisualLabel>\n\t\t\t\t\t) ) }\n\t\t\t\t{ children }\n\t\t\t</StyledField>\n\t\t\t{ !! help && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ id ? id + '__help' : undefined }\n\t\t\t\t\tclassName=\"components-base-control__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ help }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n};\n\n/**\n * `BaseControl.VisualLabel` is used to render a purely visual label inside a `BaseControl` component.\n *\n * It should only be used in cases where the children being rendered inside `BaseControl` are already accessibly labeled,\n * e.g., a button, but we want an additional visual label for that section equivalent to the labels `BaseControl` would\n * otherwise use if the `label` prop was passed.\n *\n * @example\n * import { BaseControl } from '@wordpress/components';\n *\n * const MyBaseControl = () => (\n * \t<BaseControl help=\"This button is already accessibly labeled.\">\n * \t\t<BaseControl.VisualLabel>Author</BaseControl.VisualLabel>\n * \t\t<Button>Select an author</Button>\n * \t</BaseControl>\n * );\n */\nexport const VisualLabel = ( {\n\tclassName,\n\tchildren,\n\t...props\n}: WordPressComponentProps< BaseControlVisualLabelProps, 'span' > ) => {\n\treturn (\n\t\t<StyledVisualLabel\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-base-control__label',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledVisualLabel>\n\t);\n};\n\nexport const BaseControl = Object.assign(\n\tcontextConnectWithoutRef( UnconnectedBaseControl, 'BaseControl' ),\n\t{ VisualLabel }\n);\n\nexport default BaseControl;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,cAAc,QAAQ,oBAAoB;AAEnD,SACCC,OAAO,EACPC,WAAW,EACXC,WAAW,EACXC,UAAU,EACVC,iBAAiB,QACX,8BAA8B;AAErC,SAASC,wBAAwB,EAAEC,gBAAgB,QAAQ,YAAY;AAEvE,SAASC,mBAAmB,QAAQ,SAAS;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAC3BC,KAAwD,IACpD;EACJ,MAAM;IACLC,uBAAuB,GAAG,KAAK;IAC/BC,EAAE;IACFC,KAAK;IACLC,mBAAmB,GAAG,KAAK;IAC3BC,IAAI;IACJC,SAAS;IACTC;EACD,CAAC,GAAGV,gBAAgB,CAAEG,KAAK,EAAE,aAAc,CAAC;EAE5C,OACCQ,aAAA,CAACjB,OAAO;IAACe,SAAS,EAAGA;EAAW,GAC/BE,aAAA,CAAChB,WAAW;IACXc,SAAS,EAAC;IACV;IAAA;IACAL,uBAAuB,EAAGA;EAAyB,GAEjDE,KAAK,IACND,EAAE,KACAE,mBAAmB,GACpBI,aAAA,CAAClB,cAAc;IAACmB,EAAE,EAAC,OAAO;IAACC,OAAO,EAAGR;EAAI,GACtCC,KACa,CAAC,GAEjBK,aAAA,CAACf,WAAW;IACXa,SAAS,EAAC,gCAAgC;IAC1CI,OAAO,EAAGR;EAAI,GAEZC,KACU,CACb,CAAE,EACFA,KAAK,IACN,CAAED,EAAE,KACFE,mBAAmB,GACpBI,aAAA,CAAClB,cAAc;IAACmB,EAAE,EAAC;EAAO,GAAGN,KAAuB,CAAC,GAErDK,aAAA,CAACG,WAAW,QAAGR,KAAoB,CACnC,CAAE,EACFI,QACU,CAAC,EACZ,CAAC,CAAEF,IAAI,IACRG,aAAA,CAACd,UAAU;IACVQ,EAAE,EAAGA,EAAE,GAAGA,EAAE,GAAG,QAAQ,GAAGU,SAAW;IACrCN,SAAS,EAAC,+BAA+B;IACzCL,uBAAuB,EAAGA;EAAyB,GAEjDI,IACS,CAEL,CAAC;AAEZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,WAAW,GAAGA,CAAE;EAC5BL,SAAS;EACTC,QAAQ;EACR,GAAGP;AAC4D,CAAC,KAAM;EACtE,OACCQ,aAAA,CAACb,iBAAiB;IAAA,GACZK,KAAK;IACVM,SAAS,EAAGjB,UAAU,CACrB,gCAAgC,EAChCiB,SACD;EAAG,GAEDC,QACgB,CAAC;AAEtB,CAAC;AAED,OAAO,MAAMM,WAAW,GAAGC,MAAM,CAACC,MAAM,CACvCnB,wBAAwB,CAAEG,sBAAsB,EAAE,aAAc,CAAC,EACjE;EAAEY;AAAY,CACf,CAAC;AAED,eAAeE,WAAW"}
@@ -26,7 +26,7 @@ const BorderBoxControlLinkedButton = (props, forwardedRef) => {
26
26
  className: className
27
27
  }, createElement(Button, {
28
28
  ...buttonProps,
29
- isSmall: true,
29
+ size: "small",
30
30
  icon: isLinked ? link : linkOff,
31
31
  iconSize: 24,
32
32
  "aria-label": label,
@@ -1 +1 @@
1
- {"version":3,"names":["link","linkOff","__","Button","Tooltip","View","contextConnect","useBorderBoxControlLinkedButton","BorderBoxControlLinkedButton","props","forwardedRef","className","isLinked","buttonProps","label","createElement","text","isSmall","icon","iconSize","ref","ConnectedBorderBoxControlLinkedButton"],"sources":["@wordpress/components/src/border-box-control/border-box-control-linked-button/component.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { link, linkOff } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport Tooltip from '../../tooltip';\nimport { View } from '../../view';\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControlLinkedButton } from './hook';\n\nimport type { LinkedButtonProps } from '../types';\n\nconst BorderBoxControlLinkedButton = (\n\tprops: WordPressComponentProps< LinkedButtonProps, 'button' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst { className, isLinked, ...buttonProps } =\n\t\tuseBorderBoxControlLinkedButton( props );\n\tconst label = isLinked ? __( 'Unlink sides' ) : __( 'Link sides' );\n\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<View className={ className }>\n\t\t\t\t<Button\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t\tisSmall\n\t\t\t\t\ticon={ isLinked ? link : linkOff }\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</Tooltip>\n\t);\n};\n\nconst ConnectedBorderBoxControlLinkedButton = contextConnect(\n\tBorderBoxControlLinkedButton,\n\t'BorderBoxControlLinkedButton'\n);\nexport default ConnectedBorderBoxControlLinkedButton;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,OAAO,MAAM,eAAe;AACnC,SAASC,IAAI,QAAQ,YAAY;AAEjC,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,+BAA+B,QAAQ,QAAQ;AAIxD,MAAMC,4BAA4B,GAAGA,CACpCC,KAA6D,EAC7DC,YAAuC,KACnC;EACJ,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAY,CAAC,GAC5CN,+BAA+B,CAAEE,KAAM,CAAC;EACzC,MAAMK,KAAK,GAAGF,QAAQ,GAAGV,EAAE,CAAE,cAAe,CAAC,GAAGA,EAAE,CAAE,YAAa,CAAC;EAElE,OACCa,aAAA,CAACX,OAAO;IAACY,IAAI,EAAGF;EAAO,GACtBC,aAAA,CAACV,IAAI;IAACM,SAAS,EAAGA;EAAW,GAC5BI,aAAA,CAACZ,MAAM;IAAA,GACDU,WAAW;IAChBI,OAAO;IACPC,IAAI,EAAGN,QAAQ,GAAGZ,IAAI,GAAGC,OAAS;IAClCkB,QAAQ,EAAG,EAAI;IACf,cAAaL,KAAO;IACpBM,GAAG,EAAGV;EAAc,CACpB,CACI,CACE,CAAC;AAEZ,CAAC;AAED,MAAMW,qCAAqC,GAAGf,cAAc,CAC3DE,4BAA4B,EAC5B,8BACD,CAAC;AACD,eAAea,qCAAqC"}
1
+ {"version":3,"names":["link","linkOff","__","Button","Tooltip","View","contextConnect","useBorderBoxControlLinkedButton","BorderBoxControlLinkedButton","props","forwardedRef","className","isLinked","buttonProps","label","createElement","text","size","icon","iconSize","ref","ConnectedBorderBoxControlLinkedButton"],"sources":["@wordpress/components/src/border-box-control/border-box-control-linked-button/component.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { link, linkOff } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../../button';\nimport Tooltip from '../../tooltip';\nimport { View } from '../../view';\nimport type { WordPressComponentProps } from '../../context';\nimport { contextConnect } from '../../context';\nimport { useBorderBoxControlLinkedButton } from './hook';\n\nimport type { LinkedButtonProps } from '../types';\n\nconst BorderBoxControlLinkedButton = (\n\tprops: WordPressComponentProps< LinkedButtonProps, 'button' >,\n\tforwardedRef: React.ForwardedRef< any >\n) => {\n\tconst { className, isLinked, ...buttonProps } =\n\t\tuseBorderBoxControlLinkedButton( props );\n\tconst label = isLinked ? __( 'Unlink sides' ) : __( 'Link sides' );\n\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<View className={ className }>\n\t\t\t\t<Button\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ticon={ isLinked ? link : linkOff }\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</Tooltip>\n\t);\n};\n\nconst ConnectedBorderBoxControlLinkedButton = contextConnect(\n\tBorderBoxControlLinkedButton,\n\t'BorderBoxControlLinkedButton'\n);\nexport default ConnectedBorderBoxControlLinkedButton;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,OAAO,MAAM,eAAe;AACnC,SAASC,IAAI,QAAQ,YAAY;AAEjC,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,+BAA+B,QAAQ,QAAQ;AAIxD,MAAMC,4BAA4B,GAAGA,CACpCC,KAA6D,EAC7DC,YAAuC,KACnC;EACJ,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAY,CAAC,GAC5CN,+BAA+B,CAAEE,KAAM,CAAC;EACzC,MAAMK,KAAK,GAAGF,QAAQ,GAAGV,EAAE,CAAE,cAAe,CAAC,GAAGA,EAAE,CAAE,YAAa,CAAC;EAElE,OACCa,aAAA,CAACX,OAAO;IAACY,IAAI,EAAGF;EAAO,GACtBC,aAAA,CAACV,IAAI;IAACM,SAAS,EAAGA;EAAW,GAC5BI,aAAA,CAACZ,MAAM;IAAA,GACDU,WAAW;IAChBI,IAAI,EAAC,OAAO;IACZC,IAAI,EAAGN,QAAQ,GAAGZ,IAAI,GAAGC,OAAS;IAClCkB,QAAQ,EAAG,EAAI;IACf,cAAaL,KAAO;IACpBM,GAAG,EAAGV;EAAc,CACpB,CACI,CACE,CAAC;AAEZ,CAAC;AAED,MAAMW,qCAAqC,GAAGf,cAAc,CAC3DE,4BAA4B,EAC5B,8BACD,CAAC;AACD,eAAea,qCAAqC"}
@@ -97,6 +97,7 @@ const BorderControlDropdown = (props, forwardedRef) => {
97
97
  popoverControlsClassName,
98
98
  resetButtonClassName,
99
99
  showDropdownHeader,
100
+ size,
100
101
  __unstablePopoverProps,
101
102
  ...otherProps
102
103
  } = useBorderControlDropdown(props);
@@ -116,7 +117,8 @@ const BorderControlDropdown = (props, forwardedRef) => {
116
117
  "aria-label": toggleAriaLabel,
117
118
  tooltipPosition: dropdownPosition,
118
119
  label: __('Border color and style picker'),
119
- showTooltip: true
120
+ showTooltip: true,
121
+ __next40pxDefaultSize: size === '__unstable-large' ? true : false
120
122
  }, createElement("span", {
121
123
  className: indicatorWrapperClassName
122
124
  }, createElement(ColorIndicator, {
@@ -131,7 +133,7 @@ const BorderControlDropdown = (props, forwardedRef) => {
131
133
  className: popoverControlsClassName,
132
134
  spacing: 6
133
135
  }, showDropdownHeader ? createElement(HStack, null, createElement(StyledLabel, null, __('Border color')), createElement(Button, {
134
- isSmall: true,
136
+ size: "small",
135
137
  label: __('Close border color'),
136
138
  icon: closeSmall,
137
139
  onClick: onClose