@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
@@ -12,11 +12,11 @@ import { useState } from '@wordpress/element';
12
12
  import { Icon, chevronRight, check } from '@wordpress/icons';
13
13
  import { __, sprintf } from '@wordpress/i18n';
14
14
  import { BottomSheet } from '@wordpress/components';
15
- import { getPxFromCssUnit } from '@wordpress/block-editor';
16
15
 
17
16
  /**
18
17
  * Internal dependencies
19
18
  */
19
+ import { default as getPxFromCssUnit } from '../mobile/utils/get-px-from-css-unit';
20
20
  import { default as UnitControl, useCustomUnits } from '../unit-control';
21
21
  import styles from './style.scss';
22
22
  const DEFAULT_FONT_SIZE = 16;
@@ -62,6 +62,9 @@ function FontSizePicker({
62
62
  const units = useCustomUnits({
63
63
  availableUnits: ['px', 'em', 'rem']
64
64
  });
65
+ const accessibilityLabel = sprintf(
66
+ // translators: %1$s: Font size name e.g. Small
67
+ __('Font Size, %1$s'), selectedOption.name);
65
68
  return createElement(BottomSheet.SubSheet, {
66
69
  navigationButton: createElement(BottomSheet.Cell, {
67
70
  label: label,
@@ -71,7 +74,7 @@ function FontSizePicker({
71
74
  __('%1$s (%2$s)'), selectedOption.name, selectedPxValue) : __('Default'),
72
75
  onPress: openSubSheet,
73
76
  accessibilityRole: 'button',
74
- accessibilityLabel: selectedOption.name,
77
+ accessibilityLabel: accessibilityLabel,
75
78
  accessibilityHint: sprintf(
76
79
  // translators: %s: Select control button label e.g. Small
77
80
  __('Navigates to select %s'), selectedOption.name)
@@ -1 +1 @@
1
- {"version":3,"names":["View","useWindowDimensions","useNavigation","useState","Icon","chevronRight","check","__","sprintf","BottomSheet","getPxFromCssUnit","default","UnitControl","useCustomUnits","styles","DEFAULT_FONT_SIZE","FontSizePicker","fontSizes","disableCustomFontSizes","onChange","value","selectedValue","_fontSizes$find","showSubSheet","setShowSubSheet","navigation","height","width","cssUnitOptions","fontSize","selectedPxValue","onChangeValue","goBack","selectedOption","find","option","sizePx","name","openSubSheet","navigate","SubSheet","screenName","label","units","availableUnits","createElement","navigationButton","Cell","separatorType","onPress","accessibilityRole","accessibilityLabel","accessibilityHint","icon","showSheet","Fragment","NavBar","BackButton","Heading","style","customActionButton","undefined","leftAlign","key","map","item","index","parseFloat","subLabel","min","max","step","nextSize"],"sources":["@wordpress/components/src/font-size-picker/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport styles from './style.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nfunction FontSizePicker( {\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue: selectedValue,\n} ) {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst { height, width } = useWindowDimensions();\n\tconst cssUnitOptions = { height, width, fontSize: DEFAULT_FONT_SIZE };\n\t// We need to always convert to px units because the selected value\n\t// could be coming from the web where it could be stored as a different unit.\n\tconst selectedPxValue = getPxFromCssUnit( selectedValue, cssUnitOptions );\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = fontSizes.find(\n\t\t( option ) => option.sizePx === selectedPxValue\n\t) ?? { name: 'Custom' };\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\tconst label = __( 'Font Size' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tselectedValue\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px\n\t\t\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\t\t\tselectedOption.name,\n\t\t\t\t\t\t\t\t\tselectedPxValue\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Default' )\n\t\t\t\t\t}\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ selectedOption.name }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. Small\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles[ 'components-font-size-picker' ] }>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\tonPress={ onChangeValue( undefined ) }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tkey={ 'default' }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Selected: Default' ) }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to select default font size'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t{ selectedValue === undefined && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t{ fontSizes.map( ( item, index ) => {\n\t\t\t\t\t\t// Only display a choice that we can currenly select.\n\t\t\t\t\t\tif ( ! parseFloat( item.sizePx ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\t\tlabel={ item.name }\n\t\t\t\t\t\t\t\tsubLabel={ item.sizePx }\n\t\t\t\t\t\t\t\tonPress={ onChangeValue( item.sizePx ) }\n\t\t\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\titem.sizePx === selectedValue\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select font size option value e.g: \"Selected: Large\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t\t'Double tap to select font size'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t{ item.sizePx === selectedPxValue && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 200 }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( nextSize );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n}\n\nexport default FontSizePicker;\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","useWindowDimensions","useNavigation","useState","Icon","chevronRight","check","__","sprintf","BottomSheet","default","getPxFromCssUnit","UnitControl","useCustomUnits","styles","DEFAULT_FONT_SIZE","FontSizePicker","fontSizes","disableCustomFontSizes","onChange","value","selectedValue","_fontSizes$find","showSubSheet","setShowSubSheet","navigation","height","width","cssUnitOptions","fontSize","selectedPxValue","onChangeValue","goBack","selectedOption","find","option","sizePx","name","openSubSheet","navigate","SubSheet","screenName","label","units","availableUnits","accessibilityLabel","createElement","navigationButton","Cell","separatorType","onPress","accessibilityRole","accessibilityHint","icon","showSheet","Fragment","NavBar","BackButton","Heading","style","customActionButton","undefined","leftAlign","key","map","item","index","parseFloat","subLabel","min","max","step","nextSize"],"sources":["@wordpress/components/src/font-size-picker/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { default as getPxFromCssUnit } from '../mobile/utils/get-px-from-css-unit';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport styles from './style.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nfunction FontSizePicker( {\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue: selectedValue,\n} ) {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst { height, width } = useWindowDimensions();\n\tconst cssUnitOptions = { height, width, fontSize: DEFAULT_FONT_SIZE };\n\t// We need to always convert to px units because the selected value\n\t// could be coming from the web where it could be stored as a different unit.\n\tconst selectedPxValue = getPxFromCssUnit( selectedValue, cssUnitOptions );\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = fontSizes.find(\n\t\t( option ) => option.sizePx === selectedPxValue\n\t) ?? { name: 'Custom' };\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\tconst label = __( 'Font Size' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\tconst accessibilityLabel = sprintf(\n\t\t// translators: %1$s: Font size name e.g. Small\n\t\t__( 'Font Size, %1$s' ),\n\t\tselectedOption.name\n\t);\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tselectedValue\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px\n\t\t\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\t\t\tselectedOption.name,\n\t\t\t\t\t\t\t\t\tselectedPxValue\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Default' )\n\t\t\t\t\t}\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. Small\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles[ 'components-font-size-picker' ] }>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\tonPress={ onChangeValue( undefined ) }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tkey={ 'default' }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Selected: Default' ) }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to select default font size'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t{ selectedValue === undefined && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t{ fontSizes.map( ( item, index ) => {\n\t\t\t\t\t\t// Only display a choice that we can currenly select.\n\t\t\t\t\t\tif ( ! parseFloat( item.sizePx ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\t\tlabel={ item.name }\n\t\t\t\t\t\t\t\tsubLabel={ item.sizePx }\n\t\t\t\t\t\t\t\tonPress={ onChangeValue( item.sizePx ) }\n\t\t\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\titem.sizePx === selectedValue\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select font size option value e.g: \"Selected: Large\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t\t'Double tap to select font size'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t{ item.sizePx === selectedPxValue && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 200 }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( nextSize );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n}\n\nexport default FontSizePicker;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/font-size-picker/types.ts"],"sourcesContent":["export type FontSizePickerProps = {\n\t/**\n\t * If `true`, it will not be possible to choose a custom fontSize. The user\n\t * will be forced to pick one of the pre-defined sizes passed in fontSizes.\n\t *\n\t * @default false\n\t */\n\tdisableCustomFontSizes?: boolean;\n\t/**\n\t * If no value exists, this prop defines the starting position for the font\n\t * size picker slider. Only relevant if `withSlider` is `true`.\n\t */\n\tfallbackFontSize?: number;\n\t/**\n\t * An array of font size objects. The object should contain properties size,\n\t * name, and slug.\n\t */\n\tfontSizes?: FontSize[];\n\t/**\n\t * A function that receives the new font size value.\n\t * If onChange is called without any parameter, it should reset the value,\n\t * attending to what reset means in that context, e.g., set the font size to\n\t * undefined or set the font size a starting value.\n\t */\n\tonChange?: (\n\t\tvalue: number | string | undefined,\n\t\tselectedItem?: FontSize\n\t) => void;\n\t/**\n\t * Available units for custom font size selection.\n\t */\n\tunits?: string[];\n\t/**\n\t * The current font size value.\n\t */\n\tvalue?: number | string;\n\t/**\n\t * If `true`, the UI will contain a slider, instead of a numeric text input\n\t * field. If `false`, no slider will be present.\n\t *\n\t * @default false\n\t */\n\twithSlider?: boolean;\n\t/**\n\t * If `true`, a reset button will be displayed alongside the input field\n\t * when a custom font size is active. Has no effect when\n\t * `disableCustomFontSizes` or `withSlider` is `true`.\n\t *\n\t * @default true\n\t */\n\twithReset?: boolean;\n\t/**\n\t * Start opting into the new margin-free styles that will become the default\n\t * in a future version, currently scheduled to be WordPress 6.4. (The prop\n\t * can be safely removed once this happens.)\n\t *\n\t * @default false\n\t */\n\t__nextHasNoMarginBottom?: boolean;\n\t/**\n\t * Size of the control.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: 'default' | '__unstable-large';\n};\n\nexport type FontSize = {\n\t/**\n\t * The property `size` contains a number with the font size value, in `px` or\n\t * a string specifying the font size CSS property that should be used eg:\n\t * \"13px\", \"1em\", or \"clamp(12px, 5vw, 100px)\".\n\t */\n\tsize: number | string;\n\t/**\n\t * The `name` property includes a label for that font size e.g.: `Small`.\n\t */\n\tname?: string;\n\t/**\n\t * The `slug` property is a string with a unique identifier for the font\n\t * size. Used for the class generation process.\n\t */\n\tslug: string;\n};\n\nexport type FontSizePickerSelectProps = Pick<\n\tFontSizePickerProps,\n\t'value' | 'size'\n> & {\n\tfontSizes: NonNullable< FontSizePickerProps[ 'fontSizes' ] >;\n\tdisableCustomFontSizes: NonNullable<\n\t\tFontSizePickerProps[ 'disableCustomFontSizes' ]\n\t>;\n\tonChange: NonNullable< FontSizePickerProps[ 'onChange' ] >;\n\tonSelectCustom: () => void;\n};\n\nexport type FontSizePickerSelectOption = {\n\tkey: string;\n\tname: string;\n\tvalue?: FontSize[ 'size' ];\n\t__experimentalHint?: string;\n};\n\nexport type FontSizePickerToggleGroupProps = Pick<\n\tFontSizePickerProps,\n\t'value' | 'size' | '__nextHasNoMarginBottom'\n> & {\n\tfontSizes: NonNullable< FontSizePickerProps[ 'fontSizes' ] >;\n\tonChange: NonNullable< FontSizePickerProps[ 'onChange' ] >;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/font-size-picker/types.ts"],"sourcesContent":["export type FontSizePickerProps = {\n\t/**\n\t * If `true`, it will not be possible to choose a custom fontSize. The user\n\t * will be forced to pick one of the pre-defined sizes passed in fontSizes.\n\t *\n\t * @default false\n\t */\n\tdisableCustomFontSizes?: boolean;\n\t/**\n\t * If no value exists, this prop defines the starting position for the font\n\t * size picker slider. Only relevant if `withSlider` is `true`.\n\t */\n\tfallbackFontSize?: number;\n\t/**\n\t * An array of font size objects. The object should contain properties size,\n\t * name, and slug.\n\t */\n\tfontSizes?: FontSize[];\n\t/**\n\t * A function that receives the new font size value.\n\t * If onChange is called without any parameter, it should reset the value,\n\t * attending to what reset means in that context, e.g., set the font size to\n\t * undefined or set the font size a starting value.\n\t */\n\tonChange?: (\n\t\tvalue: number | string | undefined,\n\t\tselectedItem?: FontSize\n\t) => void;\n\t/**\n\t * Available units for custom font size selection.\n\t */\n\tunits?: string[];\n\t/**\n\t * The current font size value.\n\t */\n\tvalue?: number | string;\n\t/**\n\t * If `true`, the UI will contain a slider, instead of a numeric text input\n\t * field. If `false`, no slider will be present.\n\t *\n\t * @default false\n\t */\n\twithSlider?: boolean;\n\t/**\n\t * If `true`, a reset button will be displayed alongside the input field\n\t * when a custom font size is active. Has no effect when\n\t * `disableCustomFontSizes` or `withSlider` is `true`.\n\t *\n\t * @default true\n\t */\n\twithReset?: boolean;\n\t/**\n\t * Start opting into the new margin-free styles that will become the default\n\t * in a future version, currently scheduled to be WordPress 6.4. (The prop\n\t * can be safely removed once this happens.)\n\t *\n\t * @default false\n\t */\n\t__nextHasNoMarginBottom?: boolean;\n\t/**\n\t * Start opting into the larger default height that will become the default size in a future version.\n\t *\n\t * @default false\n\t */\n\t__next40pxDefaultSize?: boolean;\n\t/**\n\t * Size of the control.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: 'default' | '__unstable-large';\n};\n\nexport type FontSize = {\n\t/**\n\t * The property `size` contains a number with the font size value, in `px` or\n\t * a string specifying the font size CSS property that should be used eg:\n\t * \"13px\", \"1em\", or \"clamp(12px, 5vw, 100px)\".\n\t */\n\tsize: number | string;\n\t/**\n\t * The `name` property includes a label for that font size e.g.: `Small`.\n\t */\n\tname?: string;\n\t/**\n\t * The `slug` property is a string with a unique identifier for the font\n\t * size. Used for the class generation process.\n\t */\n\tslug: string;\n};\n\nexport type FontSizePickerSelectProps = Pick<\n\tFontSizePickerProps,\n\t'value' | 'size'\n> & {\n\tfontSizes: NonNullable< FontSizePickerProps[ 'fontSizes' ] >;\n\tdisableCustomFontSizes: NonNullable<\n\t\tFontSizePickerProps[ 'disableCustomFontSizes' ]\n\t>;\n\tonChange: NonNullable< FontSizePickerProps[ 'onChange' ] >;\n\tonSelectCustom: () => void;\n\t__next40pxDefaultSize: boolean;\n};\n\nexport type FontSizePickerSelectOption = {\n\tkey: string;\n\tname: string;\n\tvalue?: FontSize[ 'size' ];\n\t__experimentalHint?: string;\n};\n\nexport type FontSizePickerToggleGroupProps = Pick<\n\tFontSizePickerProps,\n\t'value' | 'size' | '__nextHasNoMarginBottom' | '__next40pxDefaultSize'\n> & {\n\tfontSizes: NonNullable< FontSizePickerProps[ 'fontSizes' ] >;\n\tonChange: NonNullable< FontSizePickerProps[ 'onChange' ] >;\n};\n"],"mappings":""}
@@ -144,11 +144,16 @@ export function FormTokenField(props) {
144
144
  setIncompleteTokenValue('');
145
145
  setInputOffsetFromEnd(0);
146
146
  setIsActive(false);
147
-
148
- // If `__experimentalExpandOnFocus` is true, don't close the suggestions list when
149
- // the user clicks on it (`tokensAndInput` will be the element that caused the blur).
150
- const shouldKeepSuggestionsExpanded = !__experimentalExpandOnFocus || __experimentalExpandOnFocus && event.relatedTarget === tokensAndInput.current;
151
- setIsExpanded(shouldKeepSuggestionsExpanded);
147
+ if (__experimentalExpandOnFocus) {
148
+ // If `__experimentalExpandOnFocus` is true, don't close the suggestions list when
149
+ // the user clicks on it (`tokensAndInput` will be the element that caused the blur).
150
+ const hasFocusWithin = event.relatedTarget === tokensAndInput.current;
151
+ setIsExpanded(hasFocusWithin);
152
+ } else {
153
+ // Else collapse the suggestion list. This will result in the suggestion list closing
154
+ // after a suggestion has been submitted since that causes a blur.
155
+ setIsExpanded(false);
156
+ }
152
157
  setSelectedSuggestionIndex(-1);
153
158
  setSelectedSuggestionScroll(false);
154
159
  }
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useEffect","useRef","useState","__","_n","sprintf","useDebounce","useInstanceId","usePrevious","speak","isShallowEqual","Token","TokenInput","TokensAndInputWrapperFlex","SuggestionsList","FlexItem","StyledHelp","StyledLabel","Spacer","useDeprecated36pxDefaultSizeProp","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next40pxDefaultSize","__experimentalAutoSelectFirstMatch","__nextHasNoMarginBottom","tokenizeOnBlur","instanceId","incompleteTokenValue","setIncompleteTokenValue","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","prevValue","input","tokensAndInput","debouncedSpeak","hasFocus","focus","suggestionsDidUpdate","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","addNewToken","shouldKeepSuggestionsExpanded","relatedTarget","onKeyDown","preventDefault","defaultPrevented","nativeEvent","isComposing","keyCode","key","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","map","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","some","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","shouldExpandIfFocuses","message","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","createElement","title","onClickRemove","onMouseEnter","onMouseLeave","inputProps","ref","classes","tokenFieldProps","tabIndex","Object","assign","htmlFor","onMouseDown","onTouchStart","justify","align","gap","wrap","hasTokens","selectedIndex","scrollIntoView","onHover","onSelect","marginBottom","id"],"sources":["@wordpress/components/src/form-token-field/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent, FocusEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport {\n\tStyledHelp,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { Spacer } from '../spacer';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](http://facebook.github.io/react/docs/forms.html) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next40pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\ttokenizeOnBlur = false,\n\t} = useDeprecated36pxDefaultSizeProp< FormTokenFieldProps >(\n\t\tprops,\n\t\t'wp.components.FormTokenField'\n\t);\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ __experimentalAutoSelectFirstMatch ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur( event: FocusEvent ) {\n\t\tif (\n\t\t\tinputHasValidValue() &&\n\t\t\t__experimentalValidateInput( incompleteTokenValue )\n\t\t) {\n\t\t\tsetIsActive( false );\n\t\t\tif ( tokenizeOnBlur && inputHasValidValue() ) {\n\t\t\t\taddNewToken( incompleteTokenValue );\n\t\t\t}\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\n\t\t\t// If `__experimentalExpandOnFocus` is true, don't close the suggestions list when\n\t\t\t// the user clicks on it (`tokensAndInput` will be the element that caused the blur).\n\t\t\tconst shouldKeepSuggestionsExpanded =\n\t\t\t\t! __experimentalExpandOnFocus ||\n\t\t\t\t( __experimentalExpandOnFocus &&\n\t\t\t\t\tevent.relatedTarget === tokensAndInput.current );\n\t\t\tsetIsExpanded( shouldKeepSuggestionsExpanded );\n\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'Backspace':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Space':\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.key ) {\n\t\t\tcase ',':\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = items[ items.length - 1 ] || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = [ ...value ];\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive && ! tokenizeOnBlur ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn value.some( ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst shouldExpandIfFocuses = hasFocus() && __experimentalExpandOnFocus;\n\t\tsetIsExpanded(\n\t\t\tshouldExpandIfFocuses ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = value.map( renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap={ true }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! __nextHasNoMarginBottom && <Spacer marginBottom={ 2 } /> }\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AAGnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AAChE,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,WAAW,EAAEC,aAAa,EAAEC,WAAW,QAAQ,oBAAoB;AAC5E,SAASC,KAAK,QAAQ,iBAAiB;AACvC,OAAOC,cAAc,MAAM,6BAA6B;;AAExD;AACA;AACA;AACA,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,UAAU,MAAM,eAAe;AACtC,SAASC,yBAAyB,QAAQ,UAAU;AACpD,OAAOC,eAAe,MAAM,oBAAoB;AAEhD,SAASC,QAAQ,QAAQ,SAAS;AAClC,SACCC,UAAU,EACVC,WAAW,QACL,4CAA4C;AACnD,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,gCAAgC,QAAQ,+BAA+B;AAEhF,MAAMC,QAAQ,GAAKC,KAAa,IAAMA,KAAK;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAEC,KAA0B,EAAG;EAC5D,MAAM;IACLC,cAAc;IACdC,YAAY;IACZC,SAAS;IACTC,WAAW;IACXC,KAAK,GAAGzB,EAAE,CAAE,UAAW,CAAC;IACxB0B,SAAS;IACTC,WAAW,GAAG,EAAE;IAChBC,cAAc,GAAG,GAAG;IACpBV,KAAK,GAAG,EAAE;IACVW,gBAAgB,GAAGZ,QAAQ;IAC3Ba,aAAa,GAAKC,KAAK,IAAMA,KAAK,CAACC,IAAI,CAAC,CAAC;IACzCC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,aAAa,GAAGA,CAAA,KAAM,CAAC,CAAC;IACxBC,OAAO,GAAGC,SAAS;IACnBC,YAAY,GAAG,KAAK;IACpBC,QAAQ,GAAG,KAAK;IAChBC,eAAe,GAAG,KAAK;IACvBC,QAAQ,GAAG;MACVC,KAAK,EAAEzC,EAAE,CAAE,aAAc,CAAC;MAC1B0C,OAAO,EAAE1C,EAAE,CAAE,eAAgB,CAAC;MAC9B2C,MAAM,EAAE3C,EAAE,CAAE,aAAc,CAAC;MAC3B4C,qBAAqB,EAAE5C,EAAE,CAAE,cAAe;IAC3C,CAAC;IACD6C,wBAAwB;IACxBC,2BAA2B,GAAG,KAAK;IACnCC,2BAA2B,GAAGA,CAAA,KAAM,IAAI;IACxCC,uBAAuB,GAAG,IAAI;IAC9BC,qBAAqB,GAAG,KAAK;IAC7BC,kCAAkC,GAAG,KAAK;IAC1CC,uBAAuB,GAAG,KAAK;IAC/BC,cAAc,GAAG;EAClB,CAAC,GAAGpC,gCAAgC,CACnCI,KAAK,EACL,8BACD,CAAC;EAED,MAAMiC,UAAU,GAAGjD,aAAa,CAAEe,cAAe,CAAC;;EAElD;EACA,MAAM,CAAEmC,oBAAoB,EAAEC,uBAAuB,CAAE,GAAGxD,QAAQ,CAAE,EAAG,CAAC;EACxE,MAAM,CAAEyD,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG1D,QAAQ,CAAE,CAAE,CAAC;EACnE,MAAM,CAAE2D,QAAQ,EAAEC,WAAW,CAAE,GAAG5D,QAAQ,CAAE,KAAM,CAAC;EACnD,MAAM,CAAE6D,UAAU,EAAEC,aAAa,CAAE,GAAG9D,QAAQ,CAAE,KAAM,CAAC;EACvD,MAAM,CAAE+D,uBAAuB,EAAEC,0BAA0B,CAAE,GAC5DhE,QAAQ,CAAE,CAAC,CAAE,CAAC;EACf,MAAM,CAAEiE,wBAAwB,EAAEC,2BAA2B,CAAE,GAC9DlE,QAAQ,CAAE,KAAM,CAAC;EAElB,MAAMmE,eAAe,GAAG7D,WAAW,CAAcsB,WAAY,CAAC;EAC9D,MAAMwC,SAAS,GAAG9D,WAAW,CAA8Ba,KAAM,CAAC;EAElE,MAAMkD,KAAK,GAAGtE,MAAM,CAAsB,IAAK,CAAC;EAChD,MAAMuE,cAAc,GAAGvE,MAAM,CAAsB,IAAK,CAAC;EAEzD,MAAMwE,cAAc,GAAGnE,WAAW,CAAEG,KAAK,EAAE,GAAI,CAAC;EAEhDT,SAAS,CAAE,MAAM;IAChB;IACA,IAAK6D,QAAQ,IAAI,CAAEa,QAAQ,CAAC,CAAC,EAAG;MAC/BC,KAAK,CAAC,CAAC;IACR;EACD,CAAC,EAAE,CAAEd,QAAQ,CAAG,CAAC;EAEjB7D,SAAS,CAAE,MAAM;IAChB,MAAM4E,oBAAoB,GAAG,CAAElE,cAAc,CAC5CoB,WAAW,EACXuC,eAAe,IAAI,EACpB,CAAC;IAED,IAAKO,oBAAoB,IAAIvD,KAAK,KAAKiD,SAAS,EAAG;MAClDO,iBAAiB,CAAED,oBAAqB,CAAC;IAC1C;;IAEA;IACA;EACD,CAAC,EAAE,CAAE9C,WAAW,EAAEuC,eAAe,EAAEhD,KAAK,EAAEiD,SAAS,CAAG,CAAC;EAEvDtE,SAAS,CAAE,MAAM;IAChB6E,iBAAiB,CAAC,CAAC;IACnB;EACD,CAAC,EAAE,CAAEpB,oBAAoB,CAAG,CAAC;EAE7BzD,SAAS,CAAE,MAAM;IAChB6E,iBAAiB,CAAC,CAAC;IACnB;EACD,CAAC,EAAE,CAAExB,kCAAkC,CAAG,CAAC;EAE3C,IAAKZ,QAAQ,IAAIoB,QAAQ,EAAG;IAC3BC,WAAW,CAAE,KAAM,CAAC;IACpBJ,uBAAuB,CAAE,EAAG,CAAC;EAC9B;EAEA,SAASiB,KAAKA,CAAA,EAAG;IAChBJ,KAAK,CAACO,OAAO,EAAEH,KAAK,CAAC,CAAC;EACvB;EAEA,SAASD,QAAQA,CAAA,EAAG;IACnB,OAAOH,KAAK,CAACO,OAAO,KAAKP,KAAK,CAACO,OAAO,EAAEC,aAAa,CAACC,aAAa;EACpE;EAEA,SAASC,cAAcA,CAAEC,KAAiB,EAAG;IAC5C;IACA,IAAKR,QAAQ,CAAC,CAAC,IAAIQ,KAAK,CAACC,MAAM,KAAKX,cAAc,CAACM,OAAO,EAAG;MAC5DhB,WAAW,CAAE,IAAK,CAAC;MACnBE,aAAa,CAAEf,2BAA2B,IAAIc,UAAW,CAAC;IAC3D,CAAC,MAAM;MACN;AACH;AACA;AACA;AACA;MACGD,WAAW,CAAE,KAAM,CAAC;IACrB;IAEA,IAAK,UAAU,KAAK,OAAOxB,OAAO,EAAG;MACpCA,OAAO,CAAE4C,KAAM,CAAC;IACjB;EACD;EAEA,SAASE,MAAMA,CAAEF,KAAiB,EAAG;IACpC,IACCG,kBAAkB,CAAC,CAAC,IACpBnC,2BAA2B,CAAEO,oBAAqB,CAAC,EAClD;MACDK,WAAW,CAAE,KAAM,CAAC;MACpB,IAAKP,cAAc,IAAI8B,kBAAkB,CAAC,CAAC,EAAG;QAC7CC,WAAW,CAAE7B,oBAAqB,CAAC;MACpC;IACD,CAAC,MAAM;MACN;MACAC,uBAAuB,CAAE,EAAG,CAAC;MAC7BE,qBAAqB,CAAE,CAAE,CAAC;MAC1BE,WAAW,CAAE,KAAM,CAAC;;MAEpB;MACA;MACA,MAAMyB,6BAA6B,GAClC,CAAEtC,2BAA2B,IAC3BA,2BAA2B,IAC5BiC,KAAK,CAACM,aAAa,KAAKhB,cAAc,CAACM,OAAS;MAClDd,aAAa,CAAEuB,6BAA8B,CAAC;MAE9CrB,0BAA0B,CAAE,CAAC,CAAE,CAAC;MAChCE,2BAA2B,CAAE,KAAM,CAAC;IACrC;EACD;EAEA,SAASqB,SAASA,CAAEP,KAAoB,EAAG;IAC1C,IAAIQ,cAAc,GAAG,KAAK;IAE1B,IACCR,KAAK,CAACS,gBAAgB;IACtB;IACAT,KAAK,CAACU,WAAW,CAACC,WAAW;IAC7B;IACA;IACA;IACAX,KAAK,CAACY,OAAO,KAAK,GAAG,EACpB;MACD;IACD;IACA,QAASZ,KAAK,CAACa,GAAG;MACjB,KAAK,WAAW;QACfL,cAAc,GAAGM,eAAe,CAAEC,sBAAuB,CAAC;QAC1D;MACD,KAAK,OAAO;QACXP,cAAc,GAAGQ,eAAe,CAAC,CAAC;QAClC;MACD,KAAK,WAAW;QACfR,cAAc,GAAGS,kBAAkB,CAAC,CAAC;QACrC;MACD,KAAK,SAAS;QACbT,cAAc,GAAGU,gBAAgB,CAAC,CAAC;QACnC;MACD,KAAK,YAAY;QAChBV,cAAc,GAAGW,mBAAmB,CAAC,CAAC;QACtC;MACD,KAAK,WAAW;QACfX,cAAc,GAAGY,kBAAkB,CAAC,CAAC;QACrC;MACD,KAAK,QAAQ;QACZZ,cAAc,GAAGM,eAAe,CAAEO,qBAAsB,CAAC;QACzD;MACD,KAAK,OAAO;QACX,IAAK7D,eAAe,EAAG;UACtBgD,cAAc,GAAGQ,eAAe,CAAC,CAAC;QACnC;QACA;MACD,KAAK,QAAQ;QACZR,cAAc,GAAGc,eAAe,CAAEtB,KAAM,CAAC;QACzC;MACD;QACC;IACF;IAEA,IAAKQ,cAAc,EAAG;MACrBR,KAAK,CAACQ,cAAc,CAAC,CAAC;IACvB;EACD;EAEA,SAASe,UAAUA,CAAEvB,KAAoB,EAAG;IAC3C,IAAIQ,cAAc,GAAG,KAAK;IAE1B,QAASR,KAAK,CAACa,GAAG;MACjB,KAAK,GAAG;QACPL,cAAc,GAAGgB,cAAc,CAAC,CAAC;QACjC;MACD;QACC;IACF;IAEA,IAAKhB,cAAc,EAAG;MACrBR,KAAK,CAACQ,cAAc,CAAC,CAAC;IACvB;EACD;EAEA,SAASiB,kBAAkBA,CAAEzB,KAA8B,EAAG;IAC7D;IACA;IACA,IAAKA,KAAK,CAACC,MAAM,KAAKX,cAAc,CAACM,OAAO,IAAIjB,QAAQ,EAAG;MAC1DqB,KAAK,CAACQ,cAAc,CAAC,CAAC;IACvB;EACD;EAEA,SAASkB,kBAAkBA,CAAE1B,KAAwB,EAAG;IACvD2B,WAAW,CAAE3B,KAAK,CAAC7D,KAAM,CAAC;IAC1BsD,KAAK,CAAC,CAAC;EACR;EAEA,SAASmC,mBAAmBA,CAAEC,UAAkB,EAAG;IAClD,MAAMC,KAAK,GAAGC,sBAAsB,CAAC,CAAC,CAACC,OAAO,CAAEH,UAAW,CAAC;IAE5D,IAAKC,KAAK,IAAI,CAAC,EAAG;MACjB9C,0BAA0B,CAAE8C,KAAM,CAAC;MACnC5C,2BAA2B,CAAE,KAAM,CAAC;IACrC;EACD;EAEA,SAAS+C,oBAAoBA,CAAEJ,UAAkB,EAAG;IACnDzB,WAAW,CAAEyB,UAAW,CAAC;EAC1B;EAEA,SAASK,oBAAoBA,CAAElC,KAAwB,EAAG;IACzD,MAAMmC,IAAI,GAAGnC,KAAK,CAAC7D,KAAK;IACxB,MAAMiG,SAAS,GAAG5E,eAAe,GAAG,SAAS,GAAG,QAAQ;IACxD,MAAM6E,KAAK,GAAGF,IAAI,CAACG,KAAK,CAAEF,SAAU,CAAC;IACrC,MAAMG,UAAU,GAAGF,KAAK,CAAEA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAE,IAAI,EAAE;IAElD,IAAKH,KAAK,CAACG,MAAM,GAAG,CAAC,EAAG;MACvBC,YAAY,CAAEJ,KAAK,CAACK,KAAK,CAAE,CAAC,EAAE,CAAC,CAAE,CAAE,CAAC;IACrC;IACAlE,uBAAuB,CAAE+D,UAAW,CAAC;IACrCpF,aAAa,CAAEoF,UAAW,CAAC;EAC5B;EAEA,SAASzB,eAAeA,CAAE6B,YAAwB,EAAG;IACpD,IAAInC,cAAc,GAAG,KAAK;IAC1B,IAAKhB,QAAQ,CAAC,CAAC,IAAIoD,YAAY,CAAC,CAAC,EAAG;MACnCD,YAAY,CAAC,CAAC;MACdnC,cAAc,GAAG,IAAI;IACtB;IAEA,OAAOA,cAAc;EACtB;EAEA,SAASS,kBAAkBA,CAAA,EAAG;IAC7B,IAAIT,cAAc,GAAG,KAAK;IAC1B,IAAKoC,YAAY,CAAC,CAAC,EAAG;MACrBC,4BAA4B,CAAC,CAAC;MAC9BrC,cAAc,GAAG,IAAI;IACtB;IAEA,OAAOA,cAAc;EACtB;EAEA,SAASW,mBAAmBA,CAAA,EAAG;IAC9B,IAAIX,cAAc,GAAG,KAAK;IAC1B,IAAKoC,YAAY,CAAC,CAAC,EAAG;MACrBE,uBAAuB,CAAC,CAAC;MACzBtC,cAAc,GAAG,IAAI;IACtB;IAEA,OAAOA,cAAc;EACtB;EAEA,SAASU,gBAAgBA,CAAA,EAAG;IAC3BlC,0BAA0B,CAAI8C,KAAK,IAAM;MACxC,OACC,CAAEA,KAAK,KAAK,CAAC,GACVC,sBAAsB,CACtBxD,oBAAoB,EACpB3B,WAAW,EACXT,KAAK,EACLU,cAAc,EACdE,aACA,CAAC,CAACyF,MAAM,GACRV,KAAK,IAAK,CAAC;IAEhB,CAAE,CAAC;IACH5C,2BAA2B,CAAE,IAAK,CAAC;IAEnC,OAAO,IAAI,CAAC,CAAC;EACd;;EAEA,SAASkC,kBAAkBA,CAAA,EAAG;IAC7BpC,0BAA0B,CAAI8C,KAAK,IAAM;MACxC,OACC,CAAEA,KAAK,GAAG,CAAC,IACXC,sBAAsB,CACrBxD,oBAAoB,EACpB3B,WAAW,EACXT,KAAK,EACLU,cAAc,EACdE,aACD,CAAC,CAACyF,MAAM;IAEV,CAAE,CAAC;IAEHtD,2BAA2B,CAAE,IAAK,CAAC;IACnC,OAAO,IAAI,CAAC,CAAC;EACd;;EAEA,SAASoC,eAAeA,CAAEtB,KAAoB,EAAG;IAChD,IAAKA,KAAK,CAACC,MAAM,YAAY8C,gBAAgB,EAAG;MAC/CvE,uBAAuB,CAAEwB,KAAK,CAACC,MAAM,CAAC9D,KAAM,CAAC;MAC7C2C,aAAa,CAAE,KAAM,CAAC;MACtBE,0BAA0B,CAAE,CAAC,CAAE,CAAC;MAChCE,2BAA2B,CAAE,KAAM,CAAC;IACrC;IAEA,OAAO,IAAI,CAAC,CAAC;EACd;;EAEA,SAASsC,cAAcA,CAAA,EAAG;IACzB,IAAKrB,kBAAkB,CAAC,CAAC,EAAG;MAC3BC,WAAW,CAAE7B,oBAAqB,CAAC;IACpC;IAEA,OAAO,IAAI,CAAC,CAAC;EACd;;EAEA,SAASyE,gBAAgBA,CAAElB,KAAa,EAAG;IAC1CpD,qBAAqB,CAAEvC,KAAK,CAACqG,MAAM,GAAGS,IAAI,CAACC,GAAG,CAAEpB,KAAK,EAAE,CAAC,CAAE,CAAC,GAAG,CAAE,CAAC;EAClE;EAEA,SAASe,4BAA4BA,CAAA,EAAG;IACvCnE,qBAAqB,CAAIyE,sBAAsB,IAAM;MACpD,OAAOF,IAAI,CAACG,GAAG,CAAED,sBAAsB,GAAG,CAAC,EAAEhH,KAAK,CAACqG,MAAO,CAAC;IAC5D,CAAE,CAAC;EACJ;EAEA,SAASM,uBAAuBA,CAAA,EAAG;IAClCpE,qBAAqB,CAAIyE,sBAAsB,IAAM;MACpD,OAAOF,IAAI,CAACC,GAAG,CAAEC,sBAAsB,GAAG,CAAC,EAAE,CAAE,CAAC;IACjD,CAAE,CAAC;EACJ;EAEA,SAASpC,sBAAsBA,CAAA,EAAG;IACjC,MAAMe,KAAK,GAAGuB,eAAe,CAAC,CAAC,GAAG,CAAC;IAEnC,IAAKvB,KAAK,GAAG,CAAC,CAAC,EAAG;MACjBH,WAAW,CAAExF,KAAK,CAAE2F,KAAK,CAAG,CAAC;IAC9B;EACD;EAEA,SAAST,qBAAqBA,CAAA,EAAG;IAChC,MAAMS,KAAK,GAAGuB,eAAe,CAAC,CAAC;IAE/B,IAAKvB,KAAK,GAAG3F,KAAK,CAACqG,MAAM,EAAG;MAC3Bb,WAAW,CAAExF,KAAK,CAAE2F,KAAK,CAAG,CAAC;MAC7B;MACAkB,gBAAgB,CAAElB,KAAM,CAAC;IAC1B;EACD;EAEA,SAASd,eAAeA,CAAA,EAAG;IAC1B,IAAIR,cAAc,GAAG,KAAK;IAC1B,MAAM8C,kBAAkB,GAAGC,qBAAqB,CAAC,CAAC;IAElD,IAAKD,kBAAkB,EAAG;MACzBlD,WAAW,CAAEkD,kBAAmB,CAAC;MACjC9C,cAAc,GAAG,IAAI;IACtB,CAAC,MAAM,IAAKL,kBAAkB,CAAC,CAAC,EAAG;MAClCC,WAAW,CAAE7B,oBAAqB,CAAC;MACnCiC,cAAc,GAAG,IAAI;IACtB;IAEA,OAAOA,cAAc;EACtB;EAEA,SAASiC,YAAYA,CAAEe,MAAgB,EAAG;IACzC,MAAMC,WAAW,GAAG,CACnB,GAAG,IAAIC,GAAG,CACTF,MAAM,CACJG,GAAG,CAAE5G,aAAc,CAAC,CACpB6G,MAAM,CAAEC,OAAQ,CAAC,CACjBD,MAAM,CAAI5G,KAAK,IAAM,CAAE8G,kBAAkB,CAAE9G,KAAM,CAAE,CACtD,CAAC,CACD;IAED,IAAKyG,WAAW,CAACjB,MAAM,GAAG,CAAC,EAAG;MAC7B,MAAMuB,QAAQ,GAAG,CAAE,GAAG5H,KAAK,CAAE;MAC7B4H,QAAQ,CAACC,MAAM,CAAEX,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,GAAGI,WAAY,CAAC;MACvDvG,QAAQ,CAAE6G,QAAS,CAAC;IACrB;EACD;EAEA,SAAS3D,WAAWA,CAAEpD,KAAa,EAAG;IACrC,IAAK,CAAEgB,2BAA2B,CAAEhB,KAAM,CAAC,EAAG;MAC7CzB,KAAK,CAAEkC,QAAQ,CAACI,qBAAqB,EAAE,WAAY,CAAC;MACpD;IACD;IACA4E,YAAY,CAAE,CAAEzF,KAAK,CAAG,CAAC;IACzBzB,KAAK,CAAEkC,QAAQ,CAACC,KAAK,EAAE,WAAY,CAAC;IAEpCc,uBAAuB,CAAE,EAAG,CAAC;IAC7BQ,0BAA0B,CAAE,CAAC,CAAE,CAAC;IAChCE,2BAA2B,CAAE,KAAM,CAAC;IACpCJ,aAAa,CAAE,CAAEf,2BAA4B,CAAC;IAE9C,IAAKY,QAAQ,IAAI,CAAEN,cAAc,EAAG;MACnCoB,KAAK,CAAC,CAAC;IACR;EACD;EAEA,SAASkC,WAAWA,CAAE3E,KAAyB,EAAG;IACjD,MAAMiH,SAAS,GAAG9H,KAAK,CAACyH,MAAM,CAAIM,IAAI,IAAM;MAC3C,OAAOC,aAAa,CAAED,IAAK,CAAC,KAAKC,aAAa,CAAEnH,KAAM,CAAC;IACxD,CAAE,CAAC;IACHE,QAAQ,CAAE+G,SAAU,CAAC;IACrB1I,KAAK,CAAEkC,QAAQ,CAACE,OAAO,EAAE,WAAY,CAAC;EACvC;EAEA,SAASwG,aAAaA,CAAEnH,KAAiC,EAAG;IAC3D,IAAK,QAAQ,KAAK,OAAOA,KAAK,EAAG;MAChC,OAAOA,KAAK,CAACb,KAAK;IACnB;IAEA,OAAOa,KAAK;EACb;EAEA,SAAS+E,sBAAsBA,CAC9BqC,WAAW,GAAG7F,oBAAoB,EAClC8F,YAAY,GAAGzH,WAAW,EAC1B0H,MAAM,GAAGnI,KAAK,EACdoI,eAAe,GAAG1H,cAAc,EAChC2H,cAAc,GAAGzH,aAAa,EAC7B;IACD,IAAI0H,KAAK,GAAGD,cAAc,CAAEJ,WAAY,CAAC;IACzC,MAAMM,eAAyB,GAAG,EAAE;IACpC,MAAMC,aAAuB,GAAG,EAAE;IAClC,MAAMC,eAAe,GAAGN,MAAM,CAACX,GAAG,CAAIO,IAAI,IAAM;MAC/C,IAAK,OAAOA,IAAI,KAAK,QAAQ,EAAG;QAC/B,OAAOA,IAAI;MACZ;MACA,OAAOA,IAAI,CAAC/H,KAAK;IAClB,CAAE,CAAC;IAEH,IAAKsI,KAAK,CAACjC,MAAM,KAAK,CAAC,EAAG;MACzB6B,YAAY,GAAGA,YAAY,CAACT,MAAM,CAC/B/B,UAAU,IAAM,CAAE+C,eAAe,CAACC,QAAQ,CAAEhD,UAAW,CAC1D,CAAC;IACF,CAAC,MAAM;MACN4C,KAAK,GAAGA,KAAK,CAACK,iBAAiB,CAAC,CAAC;MAEjCT,YAAY,CAACU,OAAO,CAAIlD,UAAU,IAAM;QACvC,MAAMC,KAAK,GAAGD,UAAU,CAACiD,iBAAiB,CAAC,CAAC,CAAC9C,OAAO,CAAEyC,KAAM,CAAC;QAC7D,IAAKG,eAAe,CAAC5C,OAAO,CAAEH,UAAW,CAAC,KAAK,CAAC,CAAC,EAAG;UACnD,IAAKC,KAAK,KAAK,CAAC,EAAG;YAClB4C,eAAe,CAACM,IAAI,CAAEnD,UAAW,CAAC;UACnC,CAAC,MAAM,IAAKC,KAAK,GAAG,CAAC,EAAG;YACvB6C,aAAa,CAACK,IAAI,CAAEnD,UAAW,CAAC;UACjC;QACD;MACD,CAAE,CAAC;MAEHwC,YAAY,GAAGK,eAAe,CAACO,MAAM,CAAEN,aAAc,CAAC;IACvD;IAEA,OAAON,YAAY,CAAC3B,KAAK,CAAE,CAAC,EAAE6B,eAAgB,CAAC;EAChD;EAEA,SAAShB,qBAAqBA,CAAA,EAAG;IAChC,IAAKxE,uBAAuB,KAAK,CAAC,CAAC,EAAG;MACrC,OAAOgD,sBAAsB,CAAC,CAAC,CAAEhD,uBAAuB,CAAE;IAC3D;IAEA,OAAO1B,SAAS;EACjB;EAEA,SAASyG,kBAAkBA,CAAE9G,KAAa,EAAG;IAC5C,OAAOb,KAAK,CAAC+I,IAAI,CAAIhB,IAAI,IAAM;MAC9B,OAAOC,aAAa,CAAEnH,KAAM,CAAC,KAAKmH,aAAa,CAAED,IAAK,CAAC;IACxD,CAAE,CAAC;EACJ;EAEA,SAASb,eAAeA,CAAA,EAAG;IAC1B,OAAOlH,KAAK,CAACqG,MAAM,GAAG/D,kBAAkB;EACzC;EAEA,SAASmE,YAAYA,CAAA,EAAG;IACvB,OAAOrE,oBAAoB,CAACiE,MAAM,KAAK,CAAC;EACzC;EAEA,SAASrC,kBAAkBA,CAAA,EAAG;IAC7B,OAAOpD,aAAa,CAAEwB,oBAAqB,CAAC,CAACiE,MAAM,GAAG,CAAC;EACxD;EAEA,SAAS7C,iBAAiBA,CAAEwF,uBAAuB,GAAG,IAAI,EAAG;IAC5D,MAAMC,oBAAoB,GAAG7G,oBAAoB,CAACtB,IAAI,CAAC,CAAC,CAACuF,MAAM,GAAG,CAAC;IACnE,MAAM6C,mBAAmB,GACxBtD,sBAAsB,CAAExD,oBAAqB,CAAC;IAC/C,MAAM+G,sBAAsB,GAAGD,mBAAmB,CAAC7C,MAAM,GAAG,CAAC;IAE7D,MAAM+C,qBAAqB,GAAG/F,QAAQ,CAAC,CAAC,IAAIzB,2BAA2B;IACvEe,aAAa,CACZyG,qBAAqB,IAClBH,oBAAoB,IAAIE,sBAC5B,CAAC;IAED,IAAKH,uBAAuB,EAAG;MAC9B,IACChH,kCAAkC,IAClCiH,oBAAoB,IACpBE,sBAAsB,EACrB;QACDtG,0BAA0B,CAAE,CAAE,CAAC;QAC/BE,2BAA2B,CAAE,IAAK,CAAC;MACpC,CAAC,MAAM;QACNF,0BAA0B,CAAE,CAAC,CAAE,CAAC;QAChCE,2BAA2B,CAAE,KAAM,CAAC;MACrC;IACD;IAEA,IAAKkG,oBAAoB,EAAG;MAC3B,MAAMI,OAAO,GAAGF,sBAAsB,GACnCnK,OAAO,EACP;MACAD,EAAE,CACD,0DAA0D,EAC1D,2DAA2D,EAC3DmK,mBAAmB,CAAC7C,MACrB,CAAC,EACD6C,mBAAmB,CAAC7C,MACpB,CAAC,GACDvH,EAAE,CAAE,aAAc,CAAC;MAEtBsE,cAAc,CAAEiG,OAAO,EAAE,WAAY,CAAC;IACvC;EACD;EAEA,SAASC,oBAAoBA,CAAA,EAAG;IAC/B,MAAMC,UAAU,GAAGvJ,KAAK,CAACwH,GAAG,CAAEgC,WAAY,CAAC;IAC3CD,UAAU,CAAC1B,MAAM,CAAEX,eAAe,CAAC,CAAC,EAAE,CAAC,EAAEuC,WAAW,CAAC,CAAE,CAAC;IAExD,OAAOF,UAAU;EAClB;EAEA,SAASC,WAAWA,CACnB3I,KAAyB,EACzB8E,KAAa,EACb0B,MAAgC,EAC/B;IACD,MAAMc,MAAM,GAAGH,aAAa,CAAEnH,KAAM,CAAC;IACrC,MAAM6I,MAAM,GAAG,OAAO7I,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAAC6I,MAAM,GAAGxI,SAAS;IACnE,MAAMyI,YAAY,GAAGhE,KAAK,GAAG,CAAC;IAC9B,MAAMiE,UAAU,GAAGvC,MAAM,CAAChB,MAAM;IAEhC,OACCwD,aAAA,CAACnK,QAAQ;MAACgF,GAAG,EAAG,QAAQ,GAAGyD;IAAQ,GAClC0B,aAAA,CAACvK,KAAK;MACLU,KAAK,EAAGmI,MAAQ;MAChBuB,MAAM,EAAGA,MAAQ;MACjBI,KAAK,EACJ,OAAOjJ,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACiJ,KAAK,GAAG5I,SAC1C;MACDP,gBAAgB,EAAGA,gBAAkB;MACrCoJ,aAAa,EAAGxE,kBAAoB;MACpCpE,YAAY,EACT,OAAON,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACM,YAAY,IACjDA,YACA;MACD6I,YAAY,EACX,OAAOnJ,KAAK,KAAK,QAAQ,GACtBA,KAAK,CAACmJ,YAAY,GAClB9I,SACH;MACD+I,YAAY,EACX,OAAOpJ,KAAK,KAAK,QAAQ,GACtBA,KAAK,CAACoJ,YAAY,GAClB/I,SACH;MACDE,QAAQ,EAAG,OAAO,KAAKsI,MAAM,IAAItI,QAAU;MAC3CE,QAAQ,EAAGA,QAAU;MACrBsI,UAAU,EAAGA,UAAY;MACzBD,YAAY,EAAGA;IAAc,CAC7B,CACQ,CAAC;EAEb;EAEA,SAASF,WAAWA,CAAA,EAAG;IACtB,MAAMS,UAAU,GAAG;MAClB/H,UAAU;MACVhC,cAAc;MACdC,YAAY;MACZE,WAAW,EAAEN,KAAK,CAACqG,MAAM,KAAK,CAAC,GAAG/F,WAAW,GAAG,EAAE;MAClDoE,GAAG,EAAE,OAAO;MACZtD,QAAQ;MACRpB,KAAK,EAAEoC,oBAAoB;MAC3B2B,MAAM;MACNrB,UAAU;MACVE;IACD,CAAC;IAED,OACCiH,aAAA,CAACtK,UAAU;MAAA,GACL2K,UAAU;MACfnJ,QAAQ,EACP,EAAIV,SAAS,IAAIL,KAAK,CAACqG,MAAM,IAAIhG,SAAS,CAAE,GACzC0F,oBAAoB,GACpB7E,SACH;MACDiJ,GAAG,EAAGjH;IAAO,CACb,CAAC;EAEJ;EAEA,MAAMkH,OAAO,GAAG1L,UAAU,CACzB8B,SAAS,EACT,8CAA8C,EAC9C;IACC,WAAW,EAAEgC,QAAQ;IACrB,aAAa,EAAEpB;EAChB,CACD,CAAC;EAED,IAAIiJ,eAAe,GAAG;IACrB7J,SAAS,EAAE,6BAA6B;IACxC8J,QAAQ,EAAE,CAAC;EACZ,CAAC;EACD,MAAMpB,mBAAmB,GAAGtD,sBAAsB,CAAC,CAAC;EAEpD,IAAK,CAAExE,QAAQ,EAAG;IACjBiJ,eAAe,GAAGE,MAAM,CAACC,MAAM,CAAE,CAAC,CAAC,EAAEH,eAAe,EAAE;MACrDjG,SAAS;MACTgB,UAAU;MACVnE,OAAO,EAAE2C;IACV,CAAE,CAAC;EACJ;;EAEA;EACA;EACA;EACA;EACA,OACCiG,aAAA;IAAA,GAAUQ;EAAe,GACxBR,aAAA,CAACjK,WAAW;IACX6K,OAAO,EAAI,+BAA+BtI,UAAY,EAAG;IACzD3B,SAAS,EAAC;EAAoC,GAE5CD,KACU,CAAC,EACdsJ,aAAA;IACCM,GAAG,EAAGhH,cAAgB;IACtB3C,SAAS,EAAG4J,OAAS;IACrBE,QAAQ,EAAG,CAAC,CAAG;IACfI,WAAW,EAAGpF,kBAAoB;IAClCqF,YAAY,EAAGrF;EAAoB,GAEnCuE,aAAA,CAACrK,yBAAyB;IACzBoL,OAAO,EAAC,YAAY;IACpBC,KAAK,EAAC,QAAQ;IACdC,GAAG,EAAG,CAAG;IACTC,IAAI,EAAG,IAAM;IACbhJ,qBAAqB,EAAGA,qBAAuB;IAC/CiJ,SAAS,EAAG,CAAC,CAAEhL,KAAK,CAACqG;EAAQ,GAE3BiD,oBAAoB,CAAC,CACG,CAAC,EAC1B5G,UAAU,IACXmH,aAAA,CAACpK,eAAe;IACf0C,UAAU,EAAGA,UAAY;IACzBmG,KAAK,EAAG1H,aAAa,CAAEwB,oBAAqB,CAAG;IAC/CzB,gBAAgB,EAAGA,gBAAkB;IACrCF,WAAW,EAAGyI,mBAAqB;IACnC+B,aAAa,EAAGrI,uBAAyB;IACzCsI,cAAc,EAAGpI,wBAA0B;IAC3CqI,OAAO,EAAG1F,mBAAqB;IAC/B2F,QAAQ,EAAGtF,oBAAsB;IACjCnE,wBAAwB,EAAGA;EAA0B,CACrD,CAEE,CAAC,EACJ,CAAEM,uBAAuB,IAAI4H,aAAA,CAAChK,MAAM;IAACwL,YAAY,EAAG;EAAG,CAAE,CAAC,EAC1DvJ,uBAAuB,IACxB+H,aAAA,CAAClK,UAAU;IACV2L,EAAE,EAAI,2CAA2CnJ,UAAY,EAAG;IAChE3B,SAAS,EAAC,mCAAmC;IAC7CyB,uBAAuB,EAAGA;EAAyB,GAEjDZ,eAAe,GACdvC,EAAE,CACF,iDACA,CAAC,GACDA,EAAE,CAAE,wCAAyC,CACrC,CAET,CAAC;EAEP;AACD;;AAEA,eAAemB,cAAc"}
1
+ {"version":3,"names":["classnames","useEffect","useRef","useState","__","_n","sprintf","useDebounce","useInstanceId","usePrevious","speak","isShallowEqual","Token","TokenInput","TokensAndInputWrapperFlex","SuggestionsList","FlexItem","StyledHelp","StyledLabel","Spacer","useDeprecated36pxDefaultSizeProp","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next40pxDefaultSize","__experimentalAutoSelectFirstMatch","__nextHasNoMarginBottom","tokenizeOnBlur","instanceId","incompleteTokenValue","setIncompleteTokenValue","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","prevValue","input","tokensAndInput","debouncedSpeak","hasFocus","focus","suggestionsDidUpdate","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","addNewToken","hasFocusWithin","relatedTarget","onKeyDown","preventDefault","defaultPrevented","nativeEvent","isComposing","keyCode","key","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","map","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","some","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","shouldExpandIfFocuses","message","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","createElement","title","onClickRemove","onMouseEnter","onMouseLeave","inputProps","ref","classes","tokenFieldProps","tabIndex","Object","assign","htmlFor","onMouseDown","onTouchStart","justify","align","gap","wrap","hasTokens","selectedIndex","scrollIntoView","onHover","onSelect","marginBottom","id"],"sources":["@wordpress/components/src/form-token-field/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent, FocusEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport {\n\tStyledHelp,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { Spacer } from '../spacer';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](http://facebook.github.io/react/docs/forms.html) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next40pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\ttokenizeOnBlur = false,\n\t} = useDeprecated36pxDefaultSizeProp< FormTokenFieldProps >(\n\t\tprops,\n\t\t'wp.components.FormTokenField'\n\t);\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ __experimentalAutoSelectFirstMatch ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur( event: FocusEvent ) {\n\t\tif (\n\t\t\tinputHasValidValue() &&\n\t\t\t__experimentalValidateInput( incompleteTokenValue )\n\t\t) {\n\t\t\tsetIsActive( false );\n\t\t\tif ( tokenizeOnBlur && inputHasValidValue() ) {\n\t\t\t\taddNewToken( incompleteTokenValue );\n\t\t\t}\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\n\t\t\tif ( __experimentalExpandOnFocus ) {\n\t\t\t\t// If `__experimentalExpandOnFocus` is true, don't close the suggestions list when\n\t\t\t\t// the user clicks on it (`tokensAndInput` will be the element that caused the blur).\n\t\t\t\tconst hasFocusWithin =\n\t\t\t\t\tevent.relatedTarget === tokensAndInput.current;\n\t\t\t\tsetIsExpanded( hasFocusWithin );\n\t\t\t} else {\n\t\t\t\t// Else collapse the suggestion list. This will result in the suggestion list closing\n\t\t\t\t// after a suggestion has been submitted since that causes a blur.\n\t\t\t\tsetIsExpanded( false );\n\t\t\t}\n\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\t// Ignore keydowns from IMEs\n\t\t\tevent.nativeEvent.isComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'Backspace':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Space':\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.key ) {\n\t\t\tcase ',':\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = items[ items.length - 1 ] || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = [ ...value ];\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive && ! tokenizeOnBlur ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn value.some( ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst shouldExpandIfFocuses = hasFocus() && __experimentalExpandOnFocus;\n\t\tsetIsExpanded(\n\t\t\tshouldExpandIfFocuses ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = value.map( renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap={ true }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! __nextHasNoMarginBottom && <Spacer marginBottom={ 2 } /> }\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"],"mappings":"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"}
@@ -61,6 +61,7 @@ export default function Token({
61
61
  className: "components-form-token-field__remove-token",
62
62
  icon: closeSmall,
63
63
  onClick: !disabled ? onClick : undefined,
64
+ disabled: disabled,
64
65
  label: messages.remove,
65
66
  "aria-describedby": `components-form-token-field__token-text-${instanceId}`
66
67
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useInstanceId","__","sprintf","closeSmall","Button","VisuallyHidden","noop","Token","value","status","title","displayTransform","isBorderless","disabled","onClickRemove","onMouseEnter","onMouseLeave","messages","termPosition","termsCount","instanceId","tokenClasses","onClick","transformedValue","termPositionAndCount","createElement","className","id","as","icon","undefined","label","remove"],"sources":["@wordpress/components/src/form-token-field/token.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { VisuallyHidden } from '../visually-hidden';\nimport type { TokenProps } from './types';\n\nconst noop = () => {};\n\nexport default function Token( {\n\tvalue,\n\tstatus,\n\ttitle,\n\tdisplayTransform,\n\tisBorderless = false,\n\tdisabled = false,\n\tonClickRemove = noop,\n\tonMouseEnter,\n\tonMouseLeave,\n\tmessages,\n\ttermPosition,\n\ttermsCount,\n}: TokenProps ) {\n\tconst instanceId = useInstanceId( Token );\n\tconst tokenClasses = classnames( 'components-form-token-field__token', {\n\t\t'is-error': 'error' === status,\n\t\t'is-success': 'success' === status,\n\t\t'is-validating': 'validating' === status,\n\t\t'is-borderless': isBorderless,\n\t\t'is-disabled': disabled,\n\t} );\n\n\tconst onClick = () => onClickRemove( { value } );\n\n\tconst transformedValue = displayTransform( value );\n\tconst termPositionAndCount = sprintf(\n\t\t/* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n\t\t__( '%1$s (%2$s of %3$s)' ),\n\t\ttransformedValue,\n\t\ttermPosition,\n\t\ttermsCount\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclassName={ tokenClasses }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"components-form-token-field__token-text\"\n\t\t\t\tid={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t>\n\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t{ termPositionAndCount }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<span aria-hidden=\"true\">{ transformedValue }</span>\n\t\t\t</span>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"components-form-token-field__remove-token\"\n\t\t\t\ticon={ closeSmall }\n\t\t\t\tonClick={ ! disabled ? onClick : undefined }\n\t\t\t\tlabel={ messages.remove }\n\t\t\t\taria-describedby={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t/>\n\t\t</span>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,QAAQ,kBAAkB;;AAE7C;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,cAAc,QAAQ,oBAAoB;AAGnD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,eAAe,SAASC,KAAKA,CAAE;EAC9BC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC,YAAY,GAAG,KAAK;EACpBC,QAAQ,GAAG,KAAK;EAChBC,aAAa,GAAGR,IAAI;EACpBS,YAAY;EACZC,YAAY;EACZC,QAAQ;EACRC,YAAY;EACZC;AACW,CAAC,EAAG;EACf,MAAMC,UAAU,GAAGpB,aAAa,CAAEO,KAAM,CAAC;EACzC,MAAMc,YAAY,GAAGtB,UAAU,CAAE,oCAAoC,EAAE;IACtE,UAAU,EAAE,OAAO,KAAKU,MAAM;IAC9B,YAAY,EAAE,SAAS,KAAKA,MAAM;IAClC,eAAe,EAAE,YAAY,KAAKA,MAAM;IACxC,eAAe,EAAEG,YAAY;IAC7B,aAAa,EAAEC;EAChB,CAAE,CAAC;EAEH,MAAMS,OAAO,GAAGA,CAAA,KAAMR,aAAa,CAAE;IAAEN;EAAM,CAAE,CAAC;EAEhD,MAAMe,gBAAgB,GAAGZ,gBAAgB,CAAEH,KAAM,CAAC;EAClD,MAAMgB,oBAAoB,GAAGtB,OAAO,EACnC;EACAD,EAAE,CAAE,qBAAsB,CAAC,EAC3BsB,gBAAgB,EAChBL,YAAY,EACZC,UACD,CAAC;EAED,OACCM,aAAA;IACCC,SAAS,EAAGL,YAAc;IAC1BN,YAAY,EAAGA,YAAc;IAC7BC,YAAY,EAAGA,YAAc;IAC7BN,KAAK,EAAGA;EAAO,GAEfe,aAAA;IACCC,SAAS,EAAC,yCAAyC;IACnDC,EAAE,EAAI,2CAA2CP,UAAY;EAAG,GAEhEK,aAAA,CAACpB,cAAc;IAACuB,EAAE,EAAC;EAAM,GACtBJ,oBACa,CAAC,EACjBC,aAAA;IAAM,eAAY;EAAM,GAAGF,gBAAwB,CAC9C,CAAC,EAEPE,aAAA,CAACrB,MAAM;IACNsB,SAAS,EAAC,2CAA2C;IACrDG,IAAI,EAAG1B,UAAY;IACnBmB,OAAO,EAAG,CAAET,QAAQ,GAAGS,OAAO,GAAGQ,SAAW;IAC5CC,KAAK,EAAGd,QAAQ,CAACe,MAAQ;IACzB,oBAAoB,2CAA2CZ,UAAY;EAAG,CAC9E,CACI,CAAC;AAET"}
1
+ {"version":3,"names":["classnames","useInstanceId","__","sprintf","closeSmall","Button","VisuallyHidden","noop","Token","value","status","title","displayTransform","isBorderless","disabled","onClickRemove","onMouseEnter","onMouseLeave","messages","termPosition","termsCount","instanceId","tokenClasses","onClick","transformedValue","termPositionAndCount","createElement","className","id","as","icon","undefined","label","remove"],"sources":["@wordpress/components/src/form-token-field/token.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { VisuallyHidden } from '../visually-hidden';\nimport type { TokenProps } from './types';\n\nconst noop = () => {};\n\nexport default function Token( {\n\tvalue,\n\tstatus,\n\ttitle,\n\tdisplayTransform,\n\tisBorderless = false,\n\tdisabled = false,\n\tonClickRemove = noop,\n\tonMouseEnter,\n\tonMouseLeave,\n\tmessages,\n\ttermPosition,\n\ttermsCount,\n}: TokenProps ) {\n\tconst instanceId = useInstanceId( Token );\n\tconst tokenClasses = classnames( 'components-form-token-field__token', {\n\t\t'is-error': 'error' === status,\n\t\t'is-success': 'success' === status,\n\t\t'is-validating': 'validating' === status,\n\t\t'is-borderless': isBorderless,\n\t\t'is-disabled': disabled,\n\t} );\n\n\tconst onClick = () => onClickRemove( { value } );\n\n\tconst transformedValue = displayTransform( value );\n\tconst termPositionAndCount = sprintf(\n\t\t/* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n\t\t__( '%1$s (%2$s of %3$s)' ),\n\t\ttransformedValue,\n\t\ttermPosition,\n\t\ttermsCount\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclassName={ tokenClasses }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"components-form-token-field__token-text\"\n\t\t\t\tid={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t>\n\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t{ termPositionAndCount }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<span aria-hidden=\"true\">{ transformedValue }</span>\n\t\t\t</span>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"components-form-token-field__remove-token\"\n\t\t\t\ticon={ closeSmall }\n\t\t\t\tonClick={ ! disabled ? onClick : undefined }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\tlabel={ messages.remove }\n\t\t\t\taria-describedby={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t/>\n\t\t</span>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,QAAQ,kBAAkB;;AAE7C;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,cAAc,QAAQ,oBAAoB;AAGnD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,eAAe,SAASC,KAAKA,CAAE;EAC9BC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC,YAAY,GAAG,KAAK;EACpBC,QAAQ,GAAG,KAAK;EAChBC,aAAa,GAAGR,IAAI;EACpBS,YAAY;EACZC,YAAY;EACZC,QAAQ;EACRC,YAAY;EACZC;AACW,CAAC,EAAG;EACf,MAAMC,UAAU,GAAGpB,aAAa,CAAEO,KAAM,CAAC;EACzC,MAAMc,YAAY,GAAGtB,UAAU,CAAE,oCAAoC,EAAE;IACtE,UAAU,EAAE,OAAO,KAAKU,MAAM;IAC9B,YAAY,EAAE,SAAS,KAAKA,MAAM;IAClC,eAAe,EAAE,YAAY,KAAKA,MAAM;IACxC,eAAe,EAAEG,YAAY;IAC7B,aAAa,EAAEC;EAChB,CAAE,CAAC;EAEH,MAAMS,OAAO,GAAGA,CAAA,KAAMR,aAAa,CAAE;IAAEN;EAAM,CAAE,CAAC;EAEhD,MAAMe,gBAAgB,GAAGZ,gBAAgB,CAAEH,KAAM,CAAC;EAClD,MAAMgB,oBAAoB,GAAGtB,OAAO,EACnC;EACAD,EAAE,CAAE,qBAAsB,CAAC,EAC3BsB,gBAAgB,EAChBL,YAAY,EACZC,UACD,CAAC;EAED,OACCM,aAAA;IACCC,SAAS,EAAGL,YAAc;IAC1BN,YAAY,EAAGA,YAAc;IAC7BC,YAAY,EAAGA,YAAc;IAC7BN,KAAK,EAAGA;EAAO,GAEfe,aAAA;IACCC,SAAS,EAAC,yCAAyC;IACnDC,EAAE,EAAI,2CAA2CP,UAAY;EAAG,GAEhEK,aAAA,CAACpB,cAAc;IAACuB,EAAE,EAAC;EAAM,GACtBJ,oBACa,CAAC,EACjBC,aAAA;IAAM,eAAY;EAAM,GAAGF,gBAAwB,CAC9C,CAAC,EAEPE,aAAA,CAACrB,MAAM;IACNsB,SAAS,EAAC,2CAA2C;IACrDG,IAAI,EAAG1B,UAAY;IACnBmB,OAAO,EAAG,CAAET,QAAQ,GAAGS,OAAO,GAAGQ,SAAW;IAC5CjB,QAAQ,EAAGA,QAAU;IACrBkB,KAAK,EAAGd,QAAQ,CAACe,MAAQ;IACzB,oBAAoB,2CAA2CZ,UAAY;EAAG,CAC9E,CACI,CAAC;AAET"}
@@ -32,9 +32,10 @@ function SingleOrigin({
32
32
  const gradientOptions = useMemo(() => {
33
33
  return gradients.map(({
34
34
  gradient,
35
- name
35
+ name,
36
+ slug
36
37
  }, index) => createElement(CircularOptionPicker.Option, {
37
- key: gradient,
38
+ key: slug,
38
39
  value: gradient,
39
40
  isSelected: value === gradient,
40
41
  tooltipText: name ||
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","useInstanceId","useCallback","useMemo","deprecated","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","Spacer","isMultipleOriginObject","obj","Array","isArray","gradients","isMultipleOriginArray","arr","length","every","gradientObj","SingleOrigin","className","clearGradient","onChange","value","additionalProps","gradientOptions","map","gradient","name","index","createElement","Option","key","isSelected","tooltipText","style","color","background","onClick","OptionGroup","options","MultipleOrigin","headingLevel","instanceId","spacing","gradientSet","id","level","Component","props","asButtons","loop","actions","ariaLabel","ariaLabelledby","metaProps","_metaProps","GradientPicker","__nextHasNoMargin","clearable","disableCustomGradients","__experimentalIsRenderedInSidebar","undefined","since","version","hint","deprecatedMarginSpacerProps","marginTop","marginBottom","ButtonAction"],"sources":["@wordpress/components/src/gradient-picker/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\nimport { Spacer } from '../spacer';\nimport type {\n\tGradientPickerComponentProps,\n\tPickerProps,\n\tOriginObject,\n\tGradientObject,\n} from './types';\n\n// The Multiple Origin Gradients have a `gradients` property (an array of\n// gradient objects), while Single Origin ones have a `gradient` property.\nconst isMultipleOriginObject = (\n\tobj: Record< string, any >\n): obj is OriginObject =>\n\tArray.isArray( obj.gradients ) && ! ( 'gradient' in obj );\n\nconst isMultipleOriginArray = ( arr: any[] ): arr is OriginObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( gradientObj ) => isMultipleOriginObject( gradientObj ) )\n\t);\n};\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: PickerProps< GradientObject > ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn gradients.map( ( { gradient, name }, index ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ gradient }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient, index )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: PickerProps< OriginObject > ) {\n\tconst instanceId = useInstanceId( MultipleOrigin );\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\tconst id = `color-palette-${ instanceId }-${ index }`;\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading level={ headingLevel } id={ id }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ ( gradient ) =>\n\t\t\t\t\t\t\t\tonChange( gradient, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\taria-labelledby={ id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nfunction Component( props: PickerProps< any > ) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tactions,\n\t\theadingLevel,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst options = isMultipleOriginArray( props.gradients ) ? (\n\t\t<MultipleOrigin headingLevel={ headingLevel } { ...additionalProps } />\n\t) : (\n\t\t<SingleOrigin { ...additionalProps } />\n\t);\n\n\tlet metaProps:\n\t\t| { asButtons: false; loop?: boolean; 'aria-label': string }\n\t\t| { asButtons: false; loop?: boolean; 'aria-labelledby': string }\n\t\t| { asButtons: true };\n\n\tif ( asButtons ) {\n\t\tmetaProps = { asButtons: true };\n\t} else {\n\t\tconst _metaProps: { asButtons: false; loop?: boolean } = {\n\t\t\tasButtons: false,\n\t\t\tloop,\n\t\t};\n\n\t\tif ( ariaLabel ) {\n\t\t\tmetaProps = { ..._metaProps, 'aria-label': ariaLabel };\n\t\t} else if ( ariaLabelledby ) {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-labelledby': ariaLabelledby,\n\t\t\t};\n\t\t} else {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-label': __( 'Custom color picker.' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\t{ ...metaProps }\n\t\t\tactions={ actions }\n\t\t\toptions={ options }\n\t\t/>\n\t);\n}\n\n/**\n * GradientPicker is a React component that renders a color gradient picker to\n * define a multi step gradient. There's either a _linear_ or a _radial_ type\n * available.\n *\n * ```jsx\n *import { GradientPicker } from '@wordpress/components';\n *import { useState } from '@wordpress/element';\n *\n *const myGradientPicker = () => {\n *\tconst [ gradient, setGradient ] = useState( null );\n *\n *\treturn (\n *\t\t<GradientPicker\n *\t\t\t__nextHasNoMargin\n *\t\t\tvalue={ gradient }\n *\t\t\tonChange={ ( currentGradient ) => setGradient( currentGradient ) }\n *\t\t\tgradients={ [\n *\t\t\t\t{\n *\t\t\t\t\tname: 'JShine',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',\n *\t\t\t\t\tslug: 'jshine',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Moonlit Asteroid',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',\n *\t\t\t\t\tslug: 'moonlit-asteroid',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Rastafarie',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',\n *\t\t\t\t\tslug: 'rastafari',\n *\t\t\t\t},\n *\t\t\t] }\n *\t\t/>\n *\t);\n *};\n *```\n *\n */\nexport function GradientPicker( {\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMargin = false,\n\tclassName,\n\tgradients = [],\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalIsRenderedInSidebar,\n\theadingLevel = 2,\n\t...additionalProps\n}: GradientPickerComponentProps ) {\n\tconst clearGradient = useCallback(\n\t\t() => onChange( undefined ),\n\t\t[ onChange ]\n\t);\n\n\tif ( ! __nextHasNoMargin ) {\n\t\tdeprecated( 'Outer margin styles for wp.components.GradientPicker', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.4',\n\t\t\thint: 'Set the `__nextHasNoMargin` prop to true to start opting into the new styles, which will become the default in a future version',\n\t\t} );\n\t}\n\n\tconst deprecatedMarginSpacerProps = ! __nextHasNoMargin\n\t\t? {\n\t\t\t\tmarginTop: ! gradients.length ? 3 : undefined,\n\t\t\t\tmarginBottom: ! clearable ? 6 : 0,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t// Outmost Spacer wrapper can be removed when deprecation period is over\n\t\t<Spacer marginBottom={ 0 } { ...deprecatedMarginSpacerProps }>\n\t\t\t<VStack spacing={ gradients.length ? 4 : 0 }>\n\t\t\t\t{ ! disableCustomGradients && (\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( gradients.length > 0 || clearable ) && (\n\t\t\t\t\t<Component\n\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\tclearable &&\n\t\t\t\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</Spacer>\n\t);\n}\n\nexport default GradientPicker;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","sprintf","useInstanceId","useCallback","useMemo","deprecated","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","Spacer","isMultipleOriginObject","obj","Array","isArray","gradients","isMultipleOriginArray","arr","length","every","gradientObj","SingleOrigin","className","clearGradient","onChange","value","additionalProps","gradientOptions","map","gradient","name","slug","index","createElement","Option","key","isSelected","tooltipText","style","color","background","onClick","OptionGroup","options","MultipleOrigin","headingLevel","instanceId","spacing","gradientSet","id","level","Component","props","asButtons","loop","actions","ariaLabel","ariaLabelledby","metaProps","_metaProps","GradientPicker","__nextHasNoMargin","clearable","disableCustomGradients","__experimentalIsRenderedInSidebar","undefined","since","version","hint","deprecatedMarginSpacerProps","marginTop","marginBottom","ButtonAction"],"sources":["@wordpress/components/src/gradient-picker/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\nimport { Spacer } from '../spacer';\nimport type {\n\tGradientPickerComponentProps,\n\tPickerProps,\n\tOriginObject,\n\tGradientObject,\n} from './types';\n\n// The Multiple Origin Gradients have a `gradients` property (an array of\n// gradient objects), while Single Origin ones have a `gradient` property.\nconst isMultipleOriginObject = (\n\tobj: Record< string, any >\n): obj is OriginObject =>\n\tArray.isArray( obj.gradients ) && ! ( 'gradient' in obj );\n\nconst isMultipleOriginArray = ( arr: any[] ): arr is OriginObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( gradientObj ) => isMultipleOriginObject( gradientObj ) )\n\t);\n};\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: PickerProps< GradientObject > ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn gradients.map( ( { gradient, name, slug }, index ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ slug }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient, index )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: PickerProps< OriginObject > ) {\n\tconst instanceId = useInstanceId( MultipleOrigin );\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\tconst id = `color-palette-${ instanceId }-${ index }`;\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading level={ headingLevel } id={ id }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ ( gradient ) =>\n\t\t\t\t\t\t\t\tonChange( gradient, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\taria-labelledby={ id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nfunction Component( props: PickerProps< any > ) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tactions,\n\t\theadingLevel,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst options = isMultipleOriginArray( props.gradients ) ? (\n\t\t<MultipleOrigin headingLevel={ headingLevel } { ...additionalProps } />\n\t) : (\n\t\t<SingleOrigin { ...additionalProps } />\n\t);\n\n\tlet metaProps:\n\t\t| { asButtons: false; loop?: boolean; 'aria-label': string }\n\t\t| { asButtons: false; loop?: boolean; 'aria-labelledby': string }\n\t\t| { asButtons: true };\n\n\tif ( asButtons ) {\n\t\tmetaProps = { asButtons: true };\n\t} else {\n\t\tconst _metaProps: { asButtons: false; loop?: boolean } = {\n\t\t\tasButtons: false,\n\t\t\tloop,\n\t\t};\n\n\t\tif ( ariaLabel ) {\n\t\t\tmetaProps = { ..._metaProps, 'aria-label': ariaLabel };\n\t\t} else if ( ariaLabelledby ) {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-labelledby': ariaLabelledby,\n\t\t\t};\n\t\t} else {\n\t\t\tmetaProps = {\n\t\t\t\t..._metaProps,\n\t\t\t\t'aria-label': __( 'Custom color picker.' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\t{ ...metaProps }\n\t\t\tactions={ actions }\n\t\t\toptions={ options }\n\t\t/>\n\t);\n}\n\n/**\n * GradientPicker is a React component that renders a color gradient picker to\n * define a multi step gradient. There's either a _linear_ or a _radial_ type\n * available.\n *\n * ```jsx\n *import { GradientPicker } from '@wordpress/components';\n *import { useState } from '@wordpress/element';\n *\n *const myGradientPicker = () => {\n *\tconst [ gradient, setGradient ] = useState( null );\n *\n *\treturn (\n *\t\t<GradientPicker\n *\t\t\t__nextHasNoMargin\n *\t\t\tvalue={ gradient }\n *\t\t\tonChange={ ( currentGradient ) => setGradient( currentGradient ) }\n *\t\t\tgradients={ [\n *\t\t\t\t{\n *\t\t\t\t\tname: 'JShine',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#12c2e9 0%,#c471ed 50%,#f64f59 100%)',\n *\t\t\t\t\tslug: 'jshine',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Moonlit Asteroid',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#0F2027 0%, #203A43 0%, #2c5364 100%)',\n *\t\t\t\t\tslug: 'moonlit-asteroid',\n *\t\t\t\t},\n *\t\t\t\t{\n *\t\t\t\t\tname: 'Rastafarie',\n *\t\t\t\t\tgradient:\n *\t\t\t\t\t\t'linear-gradient(135deg,#1E9600 0%, #FFF200 0%, #FF0000 100%)',\n *\t\t\t\t\tslug: 'rastafari',\n *\t\t\t\t},\n *\t\t\t] }\n *\t\t/>\n *\t);\n *};\n *```\n *\n */\nexport function GradientPicker( {\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMargin = false,\n\tclassName,\n\tgradients = [],\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalIsRenderedInSidebar,\n\theadingLevel = 2,\n\t...additionalProps\n}: GradientPickerComponentProps ) {\n\tconst clearGradient = useCallback(\n\t\t() => onChange( undefined ),\n\t\t[ onChange ]\n\t);\n\n\tif ( ! __nextHasNoMargin ) {\n\t\tdeprecated( 'Outer margin styles for wp.components.GradientPicker', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.4',\n\t\t\thint: 'Set the `__nextHasNoMargin` prop to true to start opting into the new styles, which will become the default in a future version',\n\t\t} );\n\t}\n\n\tconst deprecatedMarginSpacerProps = ! __nextHasNoMargin\n\t\t? {\n\t\t\t\tmarginTop: ! gradients.length ? 3 : undefined,\n\t\t\t\tmarginBottom: ! clearable ? 6 : 0,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t// Outmost Spacer wrapper can be removed when deprecation period is over\n\t\t<Spacer marginBottom={ 0 } { ...deprecatedMarginSpacerProps }>\n\t\t\t<VStack spacing={ gradients.length ? 4 : 0 }>\n\t\t\t\t{ ! disableCustomGradients && (\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( gradients.length > 0 || clearable ) && (\n\t\t\t\t\t<Component\n\t\t\t\t\t\t{ ...additionalProps }\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\tclearable &&\n\t\t\t\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</Spacer>\n\t);\n}\n\nexport default GradientPicker;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;AACzD,OAAOC,UAAU,MAAM,uBAAuB;;AAE9C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,OAAOC,oBAAoB,MAAM,2BAA2B;AAC5D,SAASC,MAAM,QAAQ,YAAY;AACnC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,MAAM,QAAQ,WAAW;AAQlC;AACA;AACA,MAAMC,sBAAsB,GAC3BC,GAA0B,IAE1BC,KAAK,CAACC,OAAO,CAAEF,GAAG,CAACG,SAAU,CAAC,IAAI,EAAI,UAAU,IAAIH,GAAG,CAAE;AAE1D,MAAMI,qBAAqB,GAAKC,GAAU,IAA6B;EACtE,OACCA,GAAG,CAACC,MAAM,GAAG,CAAC,IACdD,GAAG,CAACE,KAAK,CAAIC,WAAW,IAAMT,sBAAsB,CAAES,WAAY,CAAE,CAAC;AAEvE,CAAC;AAED,SAASC,YAAYA,CAAE;EACtBC,SAAS;EACTC,aAAa;EACbR,SAAS;EACTS,QAAQ;EACRC,KAAK;EACL,GAAGC;AAC2B,CAAC,EAAG;EAClC,MAAMC,eAAe,GAAGvB,OAAO,CAAE,MAAM;IACtC,OAAOW,SAAS,CAACa,GAAG,CAAE,CAAE;MAAEC,QAAQ;MAAEC,IAAI;MAAEC;IAAK,CAAC,EAAEC,KAAK,KACtDC,aAAA,CAAC3B,oBAAoB,CAAC4B,MAAM;MAC3BC,GAAG,EAAGJ,IAAM;MACZN,KAAK,EAAGI,QAAU;MAClBO,UAAU,EAAGX,KAAK,KAAKI,QAAU;MACjCQ,WAAW,EACVP,IAAI;MACJ;MACA7B,OAAO,CAAED,EAAE,CAAE,mBAAoB,CAAC,EAAE6B,QAAS,CAC7C;MACDS,KAAK,EAAG;QAAEC,KAAK,EAAE,iBAAiB;QAAEC,UAAU,EAAEX;MAAS,CAAG;MAC5DY,OAAO,EACNhB,KAAK,KAAKI,QAAQ,GACfN,aAAa,GACb,MAAMC,QAAQ,CAAEK,QAAQ,EAAEG,KAAM,CACnC;MACD,cACCF,IAAI;MACD;MACA7B,OAAO,CAAED,EAAE,CAAE,cAAe,CAAC,EAAE8B,IAAK,CAAC;MACrC;MACA7B,OAAO,CAAED,EAAE,CAAE,mBAAoB,CAAC,EAAE6B,QAAS;IAChD,CACD,CACA,CAAC;EACJ,CAAC,EAAE,CAAEd,SAAS,EAAEU,KAAK,EAAED,QAAQ,EAAED,aAAa,CAAG,CAAC;EAClD,OACCU,aAAA,CAAC3B,oBAAoB,CAACoC,WAAW;IAChCpB,SAAS,EAAGA,SAAW;IACvBqB,OAAO,EAAGhB,eAAiB;IAAA,GACtBD;EAAe,CACpB,CAAC;AAEJ;AAEA,SAASkB,cAAcA,CAAE;EACxBtB,SAAS;EACTC,aAAa;EACbR,SAAS;EACTS,QAAQ;EACRC,KAAK;EACLoB;AAC4B,CAAC,EAAG;EAChC,MAAMC,UAAU,GAAG5C,aAAa,CAAE0C,cAAe,CAAC;EAElD,OACCX,aAAA,CAACzB,MAAM;IAACuC,OAAO,EAAG,CAAG;IAACzB,SAAS,EAAGA;EAAW,GAC1CP,SAAS,CAACa,GAAG,CAAE,CAAE;IAAEE,IAAI;IAAEf,SAAS,EAAEiC;EAAY,CAAC,EAAEhB,KAAK,KAAM;IAC/D,MAAMiB,EAAE,GAAI,iBAAiBH,UAAY,IAAId,KAAO,EAAC;IACrD,OACCC,aAAA,CAACzB,MAAM;MAACuC,OAAO,EAAG,CAAG;MAACZ,GAAG,EAAGH;IAAO,GAClCC,aAAA,CAACxB,YAAY;MAACyC,KAAK,EAAGL,YAAc;MAACI,EAAE,EAAGA;IAAI,GAC3CnB,IACW,CAAC,EACfG,aAAA,CAACZ,YAAY;MACZE,aAAa,EAAGA,aAAe;MAC/BR,SAAS,EAAGiC,WAAa;MACzBxB,QAAQ,EAAKK,QAAQ,IACpBL,QAAQ,CAAEK,QAAQ,EAAEG,KAAM,CAC1B;MACDP,KAAK,EAAGA,KAAO;MACf,mBAAkBwB;IAAI,CACtB,CACM,CAAC;EAEX,CAAE,CACK,CAAC;AAEX;AAEA,SAASE,SAASA,CAAEC,KAAyB,EAAG;EAC/C,MAAM;IACLC,SAAS;IACTC,IAAI;IACJC,OAAO;IACPV,YAAY;IACZ,YAAY,EAAEW,SAAS;IACvB,iBAAiB,EAAEC,cAAc;IACjC,GAAG/B;EACJ,CAAC,GAAG0B,KAAK;EACT,MAAMT,OAAO,GAAG3B,qBAAqB,CAAEoC,KAAK,CAACrC,SAAU,CAAC,GACvDkB,aAAA,CAACW,cAAc;IAACC,YAAY,EAAGA,YAAc;IAAA,GAAMnB;EAAe,CAAI,CAAC,GAEvEO,aAAA,CAACZ,YAAY;IAAA,GAAMK;EAAe,CAAI,CACtC;EAED,IAAIgC,SAGkB;EAEtB,IAAKL,SAAS,EAAG;IAChBK,SAAS,GAAG;MAAEL,SAAS,EAAE;IAAK,CAAC;EAChC,CAAC,MAAM;IACN,MAAMM,UAAgD,GAAG;MACxDN,SAAS,EAAE,KAAK;MAChBC;IACD,CAAC;IAED,IAAKE,SAAS,EAAG;MAChBE,SAAS,GAAG;QAAE,GAAGC,UAAU;QAAE,YAAY,EAAEH;MAAU,CAAC;IACvD,CAAC,MAAM,IAAKC,cAAc,EAAG;MAC5BC,SAAS,GAAG;QACX,GAAGC,UAAU;QACb,iBAAiB,EAAEF;MACpB,CAAC;IACF,CAAC,MAAM;MACNC,SAAS,GAAG;QACX,GAAGC,UAAU;QACb,YAAY,EAAE3D,EAAE,CAAE,sBAAuB;MAC1C,CAAC;IACF;EACD;EAEA,OACCiC,aAAA,CAAC3B,oBAAoB;IAAA,GACfoD,SAAS;IACdH,OAAO,EAAGA,OAAS;IACnBZ,OAAO,EAAGA;EAAS,CACnB,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,cAAcA,CAAE;EAC/B;EACAC,iBAAiB,GAAG,KAAK;EACzBvC,SAAS;EACTP,SAAS,GAAG,EAAE;EACdS,QAAQ;EACRC,KAAK;EACLqC,SAAS,GAAG,IAAI;EAChBC,sBAAsB,GAAG,KAAK;EAC9BC,iCAAiC;EACjCnB,YAAY,GAAG,CAAC;EAChB,GAAGnB;AAC0B,CAAC,EAAG;EACjC,MAAMH,aAAa,GAAGpB,WAAW,CAChC,MAAMqB,QAAQ,CAAEyC,SAAU,CAAC,EAC3B,CAAEzC,QAAQ,CACX,CAAC;EAED,IAAK,CAAEqC,iBAAiB,EAAG;IAC1BxD,UAAU,CAAE,sDAAsD,EAAE;MACnE6D,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;EAEA,MAAMC,2BAA2B,GAAG,CAAER,iBAAiB,GACpD;IACAS,SAAS,EAAE,CAAEvD,SAAS,CAACG,MAAM,GAAG,CAAC,GAAG+C,SAAS;IAC7CM,YAAY,EAAE,CAAET,SAAS,GAAG,CAAC,GAAG;EAChC,CAAC,GACD,CAAC,CAAC;EAEL;IACC;IACA7B,aAAA,CAACvB,MAAM;MAAC6D,YAAY,EAAG,CAAG;MAAA,GAAMF;IAA2B,GAC1DpC,aAAA,CAACzB,MAAM;MAACuC,OAAO,EAAGhC,SAAS,CAACG,MAAM,GAAG,CAAC,GAAG;IAAG,GACzC,CAAE6C,sBAAsB,IACzB9B,aAAA,CAAC1B,oBAAoB;MACpBsD,iBAAiB;MACjBG,iCAAiC,EAChCA,iCACA;MACDvC,KAAK,EAAGA,KAAO;MACfD,QAAQ,EAAGA;IAAU,CACrB,CACD,EACC,CAAET,SAAS,CAACG,MAAM,GAAG,CAAC,IAAI4C,SAAS,KACpC7B,aAAA,CAACkB,SAAS;MAAA,GACJzB,eAAe;MACpBJ,SAAS,EAAGA,SAAW;MACvBC,aAAa,EAAGA,aAAe;MAC/BR,SAAS,EAAGA,SAAW;MACvBS,QAAQ,EAAGA,QAAU;MACrBC,KAAK,EAAGA,KAAO;MACf8B,OAAO,EACNO,SAAS,IACT,CAAEC,sBAAsB,IACvB9B,aAAA,CAAC3B,oBAAoB,CAACkE,YAAY;QACjC/B,OAAO,EAAGlB;MAAe,GAEvBvB,EAAE,CAAE,OAAQ,CACoB,CAEpC;MACD6C,YAAY,EAAGA;IAAc,CAC7B,CAEK,CACD;EAAC;AAEX;AAEA,eAAee,cAAc"}
@@ -71,11 +71,10 @@ export { default as LinkPickerScreen } from './mobile/link-picker/link-picker-sc
71
71
  export { default as LinkSettings } from './mobile/link-settings';
72
72
  export { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';
73
73
  export { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';
74
- export { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';
75
74
  export { default as SegmentedControl } from './mobile/segmented-control';
76
- export { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';
75
+ export { default as Image } from './mobile/image';
76
+ export { IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image/constants';
77
77
  export { default as ImageEditingButton } from './mobile/image/image-editing-button';
78
- export { default as InserterButton } from './mobile/inserter-button';
79
78
  export { setClipboard, getClipboard } from './mobile/clipboard';
80
79
  export { default as AudioPlayer } from './mobile/audio-player';
81
80
  export { default as Badge } from './mobile/badge';
@@ -84,9 +83,13 @@ export { default as Gridicons } from './mobile/gridicons';
84
83
  // Utils.
85
84
  export { colorsUtils } from './mobile/color-settings/utils';
86
85
  export { WIDE_ALIGNMENTS, ALIGNMENT_BREAKPOINTS, alignmentHelpers } from './mobile/utils/alignments';
86
+ export { default as getPxFromCssUnit } from './mobile/utils/get-px-from-css-unit';
87
87
 
88
88
  // Hooks.
89
89
  export { convertUnitToMobile, useConvertUnitToMobile, getValueAndUnit } from './mobile/utils/use-unit-converter-to-mobile';
90
90
  export { default as GlobalStylesContext, useGlobalStyles, withGlobalStyles, getMergedGlobalStyles } from './mobile/global-styles-context';
91
91
  export { getGlobalStyles, getColorsAndGradients, useMobileGlobalStylesColors, useEditorColorScheme } from './mobile/global-styles-context/utils';
92
+
93
+ // Private APIs.
94
+ export { privateApis } from './private-apis';
92
95
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","ToolbarContext","__experimentalToolbarContext","ToolbarDropdownMenu","ToolbarGroup","ToolbarItem","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","hasSplitBorders","__experimentalHasSplitBorders","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","Draggable","DraggableTrigger","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","ImageLinkDestinationsScreen","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","InserterButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles","getColorsAndGradients","useMobileGlobalStylesColors","useEditorColorScheme"],"sources":["@wordpress/components/src/index.native.js"],"sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport {\n\tToolbar,\n\tToolbarButton,\n\tToolbarContext as __experimentalToolbarContext,\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tToolbarItem,\n} from './toolbar';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { hasSplitBorders as __experimentalHasSplitBorders } from './border-box-control/utils';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable, DraggableTrigger } from './draggable';\n\n// Higher-Order Components.\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components.\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as ImageLinkDestinationsScreen } from './mobile/link-settings/image-link-destinations-screen';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image, IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { default as InserterButton } from './mobile/inserter-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils.\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\n\n// Hooks.\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport {\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n\tuseMobileGlobalStylesColors,\n\tuseEditorColorScheme,\n} from './mobile/global-styles-context/utils';\n"],"mappings":"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"}
1
+ {"version":3,"names":["SVG","Path","Circle","Polygon","Rect","G","HorizontalRule","BlockQuotation","default","ColorIndicator","ColorPalette","ColorPicker","Dashicon","Dropdown","DropdownMenu","FocalPointPicker","Toolbar","ToolbarButton","ToolbarContext","__experimentalToolbarContext","ToolbarDropdownMenu","ToolbarGroup","ToolbarItem","Tooltip","Icon","Spinner","createSlotFill","Slot","Fill","Provider","SlotFillProvider","__experimentalStyleProvider","BaseControl","hasSplitBorders","__experimentalHasSplitBorders","TextareaControl","PanelBody","PanelActions","Button","__experimentalText","ExternalLink","TextControl","ToggleControl","SandBox","SearchControl","SelectControl","RangeControl","ResizableBox","FooterMessageControl","ColorControl","QueryControls","Notice","NoticeList","RadioControl","UnitControl","useCustomUnits","__experimentalUseCustomUnits","CSS_UNITS","filterUnitsWithSettings","Disabled","Draggable","DraggableTrigger","withConstrainedTabbing","withFallbackStyles","withFilters","FontSizePicker","withFocusOutside","withFocusReturn","withNotices","withSpokenMessages","__unstableAutocompletionItemsFill","__unstableAutocompletionItemsSlot","Autocomplete","BottomSheet","BottomSheetConsumer","BottomSheetProvider","BottomSheetContext","BottomSheetSelectControl","HTMLTextInput","KeyboardAvoidingView","KeyboardAwareFlatList","Picker","CycleSelectControl","Gradient","ColorSettings","SegmentedControls","FocalPointSettingsPanel","BottomSheetTextControl","FooterMessageLink","LinkPicker","LinkPickerScreen","LinkSettings","LinkSettingsScreen","LinkSettingsNavigation","SegmentedControl","Image","IMAGE_DEFAULT_FOCAL_POINT","ImageEditingButton","setClipboard","getClipboard","AudioPlayer","Badge","Gridicons","colorsUtils","WIDE_ALIGNMENTS","ALIGNMENT_BREAKPOINTS","alignmentHelpers","getPxFromCssUnit","convertUnitToMobile","useConvertUnitToMobile","getValueAndUnit","GlobalStylesContext","useGlobalStyles","withGlobalStyles","getMergedGlobalStyles","getGlobalStyles","getColorsAndGradients","useMobileGlobalStylesColors","useEditorColorScheme","privateApis"],"sources":["@wordpress/components/src/index.native.js"],"sourcesContent":["export {\n\tSVG,\n\tPath,\n\tCircle,\n\tPolygon,\n\tRect,\n\tG,\n\tHorizontalRule,\n\tBlockQuotation,\n} from '@wordpress/primitives';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as FocalPointPicker } from './focal-point-picker';\nexport {\n\tToolbar,\n\tToolbarButton,\n\tToolbarContext as __experimentalToolbarContext,\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tToolbarItem,\n} from './toolbar';\nexport { default as Tooltip } from './tooltip';\nexport { default as Icon } from './icon';\nexport { default as Spinner } from './spinner';\nexport {\n\tcreateSlotFill,\n\tSlot,\n\tFill,\n\tProvider as SlotFillProvider,\n} from './slot-fill';\n\nexport { default as __experimentalStyleProvider } from './style-provider';\nexport { default as BaseControl } from './base-control';\nexport { hasSplitBorders as __experimentalHasSplitBorders } from './border-box-control/utils';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelActions } from './panel/actions';\nexport { default as Button } from './button';\nexport { default as __experimentalText } from './text';\nexport { default as ExternalLink } from './external-link';\nexport { default as TextControl } from './text-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as SandBox } from './sandbox';\nexport { default as SearchControl } from './search-control';\nexport { default as SelectControl } from './select-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as FooterMessageControl } from './footer-message-control';\nexport { default as ColorControl } from './color-control';\nexport { default as QueryControls } from './query-controls';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as RadioControl } from './radio-control';\nexport {\n\tdefault as UnitControl,\n\tuseCustomUnits as __experimentalUseCustomUnits,\n} from './unit-control';\nexport {\n\tCSS_UNITS as CSS_UNITS,\n\tfilterUnitsWithSettings as filterUnitsWithSettings,\n} from './unit-control/utils';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable, DraggableTrigger } from './draggable';\n\n// Higher-Order Components.\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as FontSizePicker } from './font-size-picker'; // Intentionally called after slot-fill and withFilters.\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\nexport * from './text';\n\n// Mobile Components.\nexport {\n\t__unstableAutocompletionItemsFill,\n\t__unstableAutocompletionItemsSlot,\n} from './mobile/autocompletion-items';\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BottomSheet } from './mobile/bottom-sheet';\nexport {\n\tBottomSheetConsumer,\n\tBottomSheetProvider,\n\tBottomSheetContext,\n} from './mobile/bottom-sheet/bottom-sheet-context';\nexport { default as BottomSheetSelectControl } from './mobile/bottom-sheet-select-control';\nexport { default as HTMLTextInput } from './mobile/html-text-input';\nexport { default as KeyboardAvoidingView } from './mobile/keyboard-avoiding-view';\nexport { default as KeyboardAwareFlatList } from './mobile/keyboard-aware-flat-list';\nexport { default as Picker } from './mobile/picker';\nexport { default as CycleSelectControl } from './mobile/cycle-select-control';\nexport { default as Gradient } from './mobile/gradient';\nexport { default as ColorSettings } from './mobile/color-settings';\nexport { default as SegmentedControls } from './mobile/segmented-control';\nexport { default as FocalPointSettingsPanel } from './mobile/focal-point-settings-panel';\nexport { default as BottomSheetTextControl } from './mobile/bottom-sheet-text-control';\nexport { default as FooterMessageLink } from './mobile/bottom-sheet/footer-message-link/footer-message-link';\nexport { LinkPicker } from './mobile/link-picker';\nexport { default as LinkPickerScreen } from './mobile/link-picker/link-picker-screen';\nexport { default as LinkSettings } from './mobile/link-settings';\nexport { default as LinkSettingsScreen } from './mobile/link-settings/link-settings-screen';\nexport { default as LinkSettingsNavigation } from './mobile/link-settings/link-settings-navigation';\nexport { default as SegmentedControl } from './mobile/segmented-control';\nexport { default as Image } from './mobile/image';\nexport { IMAGE_DEFAULT_FOCAL_POINT } from './mobile/image/constants';\nexport { default as ImageEditingButton } from './mobile/image/image-editing-button';\nexport { setClipboard, getClipboard } from './mobile/clipboard';\nexport { default as AudioPlayer } from './mobile/audio-player';\nexport { default as Badge } from './mobile/badge';\nexport { default as Gridicons } from './mobile/gridicons';\n\n// Utils.\nexport { colorsUtils } from './mobile/color-settings/utils';\nexport {\n\tWIDE_ALIGNMENTS,\n\tALIGNMENT_BREAKPOINTS,\n\talignmentHelpers,\n} from './mobile/utils/alignments';\nexport { default as getPxFromCssUnit } from './mobile/utils/get-px-from-css-unit';\n\n// Hooks.\nexport {\n\tconvertUnitToMobile,\n\tuseConvertUnitToMobile,\n\tgetValueAndUnit,\n} from './mobile/utils/use-unit-converter-to-mobile';\n\nexport {\n\tdefault as GlobalStylesContext,\n\tuseGlobalStyles,\n\twithGlobalStyles,\n\tgetMergedGlobalStyles,\n} from './mobile/global-styles-context';\nexport {\n\tgetGlobalStyles,\n\tgetColorsAndGradients,\n\tuseMobileGlobalStylesColors,\n\tuseEditorColorScheme,\n} from './mobile/global-styles-context/utils';\n\n// Private APIs.\nexport { privateApis } from './private-apis';\n"],"mappings":"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"}