@wordpress/components 29.2.0 → 29.4.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 (505) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/alignment-matrix-control/icon.js +0 -1
  3. package/build/alignment-matrix-control/icon.js.map +1 -1
  4. package/build/alignment-matrix-control/index.js +0 -1
  5. package/build/alignment-matrix-control/index.js.map +1 -1
  6. package/build/autocomplete/autocompleter-ui.js +0 -1
  7. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.native.js +0 -1
  9. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  10. package/build/autocomplete/get-default-use-items.js +0 -1
  11. package/build/autocomplete/get-default-use-items.js.map +1 -1
  12. package/build/autocomplete/index.js +0 -1
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/border-box-control/border-box-control-linked-button/component.js +8 -15
  15. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  16. package/build/border-box-control/utils.js +0 -1
  17. package/build/border-box-control/utils.js.map +1 -1
  18. package/build/border-control/border-control-dropdown/component.js +0 -1
  19. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  20. package/build/border-control/border-control-style-picker/component.js +0 -1
  21. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  22. package/build/box-control/index.js +6 -1
  23. package/build/box-control/index.js.map +1 -1
  24. package/build/box-control/input-control.js +0 -1
  25. package/build/box-control/input-control.js.map +1 -1
  26. package/build/box-control/linked-button.js +7 -11
  27. package/build/box-control/linked-button.js.map +1 -1
  28. package/build/box-control/types.js.map +1 -1
  29. package/build/box-control/utils.js +0 -1
  30. package/build/box-control/utils.js.map +1 -1
  31. package/build/button/index.native.js +0 -1
  32. package/build/button/index.native.js.map +1 -1
  33. package/build/color-indicator/index.native.js +0 -1
  34. package/build/color-indicator/index.native.js.map +1 -1
  35. package/build/color-palette/index.js +0 -1
  36. package/build/color-palette/index.js.map +1 -1
  37. package/build/color-palette/index.native.js +0 -1
  38. package/build/color-palette/index.native.js.map +1 -1
  39. package/build/color-palette/utils.js +0 -1
  40. package/build/color-palette/utils.js.map +1 -1
  41. package/build/combobox-control/index.js +4 -3
  42. package/build/combobox-control/index.js.map +1 -1
  43. package/build/combobox-control/types.js.map +1 -1
  44. package/build/composite/legacy/index.js +0 -1
  45. package/build/composite/legacy/index.js.map +1 -1
  46. package/build/context/context-connect.js +0 -1
  47. package/build/context/context-connect.js.map +1 -1
  48. package/build/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  49. package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  50. package/build/custom-gradient-picker/gradient-bar/index.js +0 -1
  51. package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  52. package/build/custom-gradient-picker/gradient-bar/utils.js +0 -1
  53. package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  54. package/build/custom-gradient-picker/index.js +0 -1
  55. package/build/custom-gradient-picker/index.js.map +1 -1
  56. package/build/custom-gradient-picker/serializer.js +0 -1
  57. package/build/custom-gradient-picker/serializer.js.map +1 -1
  58. package/build/custom-gradient-picker/utils.js +0 -1
  59. package/build/custom-gradient-picker/utils.js.map +1 -1
  60. package/build/custom-select-control/index.js +0 -1
  61. package/build/custom-select-control/index.js.map +1 -1
  62. package/build/dashicon/index.js +0 -1
  63. package/build/dashicon/index.js.map +1 -1
  64. package/build/date-time/date/index.js +0 -1
  65. package/build/date-time/date/index.js.map +1 -1
  66. package/build/date-time/date/use-lilius/index.js +0 -1
  67. package/build/date-time/date/use-lilius/index.js.map +1 -1
  68. package/build/date-time/time/index.js +0 -1
  69. package/build/date-time/time/index.js.map +1 -1
  70. package/build/dimension-control/index.js +0 -1
  71. package/build/dimension-control/index.js.map +1 -1
  72. package/build/dimension-control/sizes.js +0 -1
  73. package/build/dimension-control/sizes.js.map +1 -1
  74. package/build/draggable/index.js +0 -1
  75. package/build/draggable/index.js.map +1 -1
  76. package/build/draggable/index.native.js +0 -1
  77. package/build/draggable/index.native.js.map +1 -1
  78. package/build/dropdown-menu/index.js +0 -1
  79. package/build/dropdown-menu/index.js.map +1 -1
  80. package/build/dropdown-menu/index.native.js +0 -1
  81. package/build/dropdown-menu/index.native.js.map +1 -1
  82. package/build/duotone-picker/color-list-picker/index.js +0 -1
  83. package/build/duotone-picker/color-list-picker/index.js.map +1 -1
  84. package/build/duotone-picker/duotone-picker.js +0 -1
  85. package/build/duotone-picker/duotone-picker.js.map +1 -1
  86. package/build/duotone-picker/utils.js +0 -1
  87. package/build/duotone-picker/utils.js.map +1 -1
  88. package/build/external-link/index.js +0 -1
  89. package/build/external-link/index.js.map +1 -1
  90. package/build/font-size-picker/font-size-picker-select.js +4 -15
  91. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  92. package/build/font-size-picker/font-size-picker-toggle-group.js +0 -1
  93. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  94. package/build/font-size-picker/index.js +0 -1
  95. package/build/font-size-picker/index.js.map +1 -1
  96. package/build/font-size-picker/index.native.js +0 -1
  97. package/build/font-size-picker/index.native.js.map +1 -1
  98. package/build/font-size-picker/utils.js +0 -1
  99. package/build/font-size-picker/utils.js.map +1 -1
  100. package/build/form-token-field/index.js +0 -1
  101. package/build/form-token-field/index.js.map +1 -1
  102. package/build/form-token-field/suggestions-list.js +0 -1
  103. package/build/form-token-field/suggestions-list.js.map +1 -1
  104. package/build/gradient-picker/index.js +0 -1
  105. package/build/gradient-picker/index.js.map +1 -1
  106. package/build/guide/index.js +0 -1
  107. package/build/guide/index.js.map +1 -1
  108. package/build/guide/page-control.js +0 -1
  109. package/build/guide/page-control.js.map +1 -1
  110. package/build/h-stack/hook.js +0 -1
  111. package/build/h-stack/hook.js.map +1 -1
  112. package/build/higher-order/navigate-regions/index.js +0 -1
  113. package/build/higher-order/navigate-regions/index.js.map +1 -1
  114. package/build/higher-order/with-fallback-styles/index.js +0 -1
  115. package/build/higher-order/with-fallback-styles/index.js.map +1 -1
  116. package/build/higher-order/with-filters/index.js +0 -1
  117. package/build/higher-order/with-filters/index.js.map +1 -1
  118. package/build/higher-order/with-notices/index.js +0 -1
  119. package/build/higher-order/with-notices/index.js.map +1 -1
  120. package/build/keyboard-shortcuts/index.js +0 -1
  121. package/build/keyboard-shortcuts/index.js.map +1 -1
  122. package/build/menu-items-choice/index.js +0 -1
  123. package/build/menu-items-choice/index.js.map +1 -1
  124. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  125. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  126. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  127. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  128. package/build/mobile/bottom-sheet/picker-cell.native.js +0 -1
  129. package/build/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  130. package/build/mobile/bottom-sheet-select-control/index.native.js +0 -1
  131. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  132. package/build/mobile/color-settings/palette.screen.native.js +0 -1
  133. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  134. package/build/mobile/gradient/index.native.js +0 -1
  135. package/build/mobile/gradient/index.native.js.map +1 -1
  136. package/build/mobile/media-edit/index.native.js +0 -1
  137. package/build/mobile/media-edit/index.native.js.map +1 -1
  138. package/build/mobile/picker/index.android.js +0 -1
  139. package/build/mobile/picker/index.android.js.map +1 -1
  140. package/build/mobile/picker/index.ios.js +0 -1
  141. package/build/mobile/picker/index.ios.js.map +1 -1
  142. package/build/mobile/segmented-control/index.native.js +0 -1
  143. package/build/mobile/segmented-control/index.native.js.map +1 -1
  144. package/build/mobile/utils/get-px-from-css-unit.native.js +0 -1
  145. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  146. package/build/navigable-container/container.js +0 -1
  147. package/build/navigable-container/container.js.map +1 -1
  148. package/build/navigation/group/index.js +0 -1
  149. package/build/navigation/group/index.js.map +1 -1
  150. package/build/navigation/menu/menu-title-search.js +0 -1
  151. package/build/navigation/menu/menu-title-search.js.map +1 -1
  152. package/build/navigation/menu/search-no-results-found.js +0 -1
  153. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  154. package/build/navigator/navigator/component.js +0 -1
  155. package/build/navigator/navigator/component.js.map +1 -1
  156. package/build/navigator/navigator-screen/component.js +0 -1
  157. package/build/navigator/navigator-screen/component.js.map +1 -1
  158. package/build/navigator/utils/router.js +0 -1
  159. package/build/navigator/utils/router.js.map +1 -1
  160. package/build/notice/index.js +0 -1
  161. package/build/notice/index.js.map +1 -1
  162. package/build/notice/list.js +0 -1
  163. package/build/notice/list.js.map +1 -1
  164. package/build/notice/list.native.js +0 -1
  165. package/build/notice/list.native.js.map +1 -1
  166. package/build/palette-edit/index.js +0 -1
  167. package/build/palette-edit/index.js.map +1 -1
  168. package/build/panel/actions.native.js +0 -1
  169. package/build/panel/actions.native.js.map +1 -1
  170. package/build/query-controls/index.js +0 -1
  171. package/build/query-controls/index.js.map +1 -1
  172. package/build/query-controls/terms.js +0 -1
  173. package/build/query-controls/terms.js.map +1 -1
  174. package/build/radio-control/index.js +0 -1
  175. package/build/radio-control/index.js.map +1 -1
  176. package/build/radio-control/index.native.js +0 -1
  177. package/build/radio-control/index.native.js.map +1 -1
  178. package/build/range-control/rail.js +0 -1
  179. package/build/range-control/rail.js.map +1 -1
  180. package/build/resizable-box/index.js +0 -1
  181. package/build/resizable-box/index.js.map +1 -1
  182. package/build/sandbox/index.js +0 -1
  183. package/build/sandbox/index.js.map +1 -1
  184. package/build/sandbox/index.native.js +0 -1
  185. package/build/sandbox/index.native.js.map +1 -1
  186. package/build/search-control/index.native.js +0 -1
  187. package/build/search-control/index.native.js.map +1 -1
  188. package/build/select-control/index.js +0 -1
  189. package/build/select-control/index.js.map +1 -1
  190. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  191. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  192. package/build/slot-fill/provider.js +0 -1
  193. package/build/slot-fill/provider.js.map +1 -1
  194. package/build/slot-fill/slot.js +0 -1
  195. package/build/slot-fill/slot.js.map +1 -1
  196. package/build/snackbar/index.js +0 -1
  197. package/build/snackbar/index.js.map +1 -1
  198. package/build/snackbar/list.js +0 -1
  199. package/build/snackbar/list.js.map +1 -1
  200. package/build/tab-panel/index.js +0 -1
  201. package/build/tab-panel/index.js.map +1 -1
  202. package/build/tabs/index.js +0 -1
  203. package/build/tabs/index.js.map +1 -1
  204. package/build/text/utils.js +0 -1
  205. package/build/text/utils.js.map +1 -1
  206. package/build/theme/color-algorithms.js +0 -1
  207. package/build/theme/color-algorithms.js.map +1 -1
  208. package/build/toolbar/toolbar-group/index.js +0 -1
  209. package/build/toolbar/toolbar-group/index.js.map +1 -1
  210. package/build/tools-panel/tools-panel/hook.js +0 -1
  211. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  212. package/build/tools-panel/tools-panel-header/component.js +0 -1
  213. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  214. package/build/tree-grid/index.js +0 -1
  215. package/build/tree-grid/index.js.map +1 -1
  216. package/build/tree-select/index.js +0 -1
  217. package/build/tree-select/index.js.map +1 -1
  218. package/build/unit-control/index.js +0 -1
  219. package/build/unit-control/index.js.map +1 -1
  220. package/build/unit-control/index.native.js +0 -1
  221. package/build/unit-control/index.native.js.map +1 -1
  222. package/build/unit-control/unit-select-control.js +0 -1
  223. package/build/unit-control/unit-select-control.js.map +1 -1
  224. package/build/unit-control/utils.js +0 -1
  225. package/build/unit-control/utils.js.map +1 -1
  226. package/build/utils/get-valid-children.js +0 -1
  227. package/build/utils/get-valid-children.js.map +1 -1
  228. package/build/utils/hooks/use-animated-offset-rect.js +0 -1
  229. package/build/utils/hooks/use-animated-offset-rect.js.map +1 -1
  230. package/build/utils/hooks/use-cx.js +0 -1
  231. package/build/utils/hooks/use-cx.js.map +1 -1
  232. package/build/utils/math.js +0 -1
  233. package/build/utils/math.js.map +1 -1
  234. package/build/utils/rtl.js +0 -1
  235. package/build/utils/rtl.js.map +1 -1
  236. package/build/utils/values.js +0 -1
  237. package/build/utils/values.js.map +1 -1
  238. package/build/z-stack/component.js +0 -1
  239. package/build/z-stack/component.js.map +1 -1
  240. package/build-module/alignment-matrix-control/icon.js +0 -1
  241. package/build-module/alignment-matrix-control/icon.js.map +1 -1
  242. package/build-module/alignment-matrix-control/index.js +0 -1
  243. package/build-module/alignment-matrix-control/index.js.map +1 -1
  244. package/build-module/autocomplete/autocompleter-ui.js +0 -1
  245. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  246. package/build-module/autocomplete/autocompleter-ui.native.js +0 -1
  247. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  248. package/build-module/autocomplete/get-default-use-items.js +0 -1
  249. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  250. package/build-module/autocomplete/index.js +0 -1
  251. package/build-module/autocomplete/index.js.map +1 -1
  252. package/build-module/border-box-control/border-box-control-linked-button/component.js +8 -15
  253. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  254. package/build-module/border-box-control/utils.js +0 -1
  255. package/build-module/border-box-control/utils.js.map +1 -1
  256. package/build-module/border-control/border-control-dropdown/component.js +0 -1
  257. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  258. package/build-module/border-control/border-control-style-picker/component.js +0 -1
  259. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  260. package/build-module/box-control/index.js +6 -1
  261. package/build-module/box-control/index.js.map +1 -1
  262. package/build-module/box-control/input-control.js +0 -1
  263. package/build-module/box-control/input-control.js.map +1 -1
  264. package/build-module/box-control/linked-button.js +7 -11
  265. package/build-module/box-control/linked-button.js.map +1 -1
  266. package/build-module/box-control/types.js.map +1 -1
  267. package/build-module/box-control/utils.js +0 -1
  268. package/build-module/box-control/utils.js.map +1 -1
  269. package/build-module/button/index.native.js +0 -1
  270. package/build-module/button/index.native.js.map +1 -1
  271. package/build-module/color-indicator/index.native.js +0 -1
  272. package/build-module/color-indicator/index.native.js.map +1 -1
  273. package/build-module/color-palette/index.js +0 -1
  274. package/build-module/color-palette/index.js.map +1 -1
  275. package/build-module/color-palette/index.native.js +0 -1
  276. package/build-module/color-palette/index.native.js.map +1 -1
  277. package/build-module/color-palette/utils.js +0 -1
  278. package/build-module/color-palette/utils.js.map +1 -1
  279. package/build-module/combobox-control/index.js +4 -3
  280. package/build-module/combobox-control/index.js.map +1 -1
  281. package/build-module/combobox-control/types.js.map +1 -1
  282. package/build-module/composite/legacy/index.js +0 -1
  283. package/build-module/composite/legacy/index.js.map +1 -1
  284. package/build-module/context/context-connect.js +0 -1
  285. package/build-module/context/context-connect.js.map +1 -1
  286. package/build-module/custom-gradient-picker/gradient-bar/control-points.js +0 -1
  287. package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
  288. package/build-module/custom-gradient-picker/gradient-bar/index.js +0 -1
  289. package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
  290. package/build-module/custom-gradient-picker/gradient-bar/utils.js +0 -1
  291. package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -1
  292. package/build-module/custom-gradient-picker/index.js +0 -1
  293. package/build-module/custom-gradient-picker/index.js.map +1 -1
  294. package/build-module/custom-gradient-picker/serializer.js +0 -1
  295. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  296. package/build-module/custom-gradient-picker/utils.js +0 -1
  297. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  298. package/build-module/custom-select-control/index.js +0 -1
  299. package/build-module/custom-select-control/index.js.map +1 -1
  300. package/build-module/dashicon/index.js +0 -1
  301. package/build-module/dashicon/index.js.map +1 -1
  302. package/build-module/date-time/date/index.js +0 -1
  303. package/build-module/date-time/date/index.js.map +1 -1
  304. package/build-module/date-time/date/use-lilius/index.js +0 -1
  305. package/build-module/date-time/date/use-lilius/index.js.map +1 -1
  306. package/build-module/date-time/time/index.js +0 -1
  307. package/build-module/date-time/time/index.js.map +1 -1
  308. package/build-module/dimension-control/index.js +0 -1
  309. package/build-module/dimension-control/index.js.map +1 -1
  310. package/build-module/dimension-control/sizes.js +0 -1
  311. package/build-module/dimension-control/sizes.js.map +1 -1
  312. package/build-module/draggable/index.js +0 -1
  313. package/build-module/draggable/index.js.map +1 -1
  314. package/build-module/draggable/index.native.js +0 -1
  315. package/build-module/draggable/index.native.js.map +1 -1
  316. package/build-module/dropdown-menu/index.js +0 -1
  317. package/build-module/dropdown-menu/index.js.map +1 -1
  318. package/build-module/dropdown-menu/index.native.js +0 -1
  319. package/build-module/dropdown-menu/index.native.js.map +1 -1
  320. package/build-module/duotone-picker/color-list-picker/index.js +0 -1
  321. package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
  322. package/build-module/duotone-picker/duotone-picker.js +0 -1
  323. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  324. package/build-module/duotone-picker/utils.js +0 -1
  325. package/build-module/duotone-picker/utils.js.map +1 -1
  326. package/build-module/external-link/index.js +0 -1
  327. package/build-module/external-link/index.js.map +1 -1
  328. package/build-module/font-size-picker/font-size-picker-select.js +4 -15
  329. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  330. package/build-module/font-size-picker/font-size-picker-toggle-group.js +0 -1
  331. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  332. package/build-module/font-size-picker/index.js +0 -1
  333. package/build-module/font-size-picker/index.js.map +1 -1
  334. package/build-module/font-size-picker/index.native.js +0 -1
  335. package/build-module/font-size-picker/index.native.js.map +1 -1
  336. package/build-module/font-size-picker/utils.js +0 -1
  337. package/build-module/font-size-picker/utils.js.map +1 -1
  338. package/build-module/form-token-field/index.js +0 -1
  339. package/build-module/form-token-field/index.js.map +1 -1
  340. package/build-module/form-token-field/suggestions-list.js +0 -1
  341. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  342. package/build-module/gradient-picker/index.js +0 -1
  343. package/build-module/gradient-picker/index.js.map +1 -1
  344. package/build-module/guide/index.js +0 -1
  345. package/build-module/guide/index.js.map +1 -1
  346. package/build-module/guide/page-control.js +0 -1
  347. package/build-module/guide/page-control.js.map +1 -1
  348. package/build-module/h-stack/hook.js +0 -1
  349. package/build-module/h-stack/hook.js.map +1 -1
  350. package/build-module/higher-order/navigate-regions/index.js +0 -1
  351. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  352. package/build-module/higher-order/with-fallback-styles/index.js +0 -1
  353. package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
  354. package/build-module/higher-order/with-filters/index.js +0 -1
  355. package/build-module/higher-order/with-filters/index.js.map +1 -1
  356. package/build-module/higher-order/with-notices/index.js +0 -1
  357. package/build-module/higher-order/with-notices/index.js.map +1 -1
  358. package/build-module/keyboard-shortcuts/index.js +0 -1
  359. package/build-module/keyboard-shortcuts/index.js.map +1 -1
  360. package/build-module/menu-items-choice/index.js +0 -1
  361. package/build-module/menu-items-choice/index.js.map +1 -1
  362. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +0 -1
  363. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  364. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  365. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  366. package/build-module/mobile/bottom-sheet/picker-cell.native.js +0 -1
  367. package/build-module/mobile/bottom-sheet/picker-cell.native.js.map +1 -1
  368. package/build-module/mobile/bottom-sheet-select-control/index.native.js +0 -1
  369. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  370. package/build-module/mobile/color-settings/palette.screen.native.js +0 -1
  371. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  372. package/build-module/mobile/gradient/index.native.js +0 -1
  373. package/build-module/mobile/gradient/index.native.js.map +1 -1
  374. package/build-module/mobile/media-edit/index.native.js +0 -1
  375. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  376. package/build-module/mobile/picker/index.android.js +0 -1
  377. package/build-module/mobile/picker/index.android.js.map +1 -1
  378. package/build-module/mobile/picker/index.ios.js +0 -1
  379. package/build-module/mobile/picker/index.ios.js.map +1 -1
  380. package/build-module/mobile/segmented-control/index.native.js +0 -1
  381. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  382. package/build-module/mobile/utils/get-px-from-css-unit.native.js +0 -1
  383. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
  384. package/build-module/navigable-container/container.js +0 -1
  385. package/build-module/navigable-container/container.js.map +1 -1
  386. package/build-module/navigation/group/index.js +0 -1
  387. package/build-module/navigation/group/index.js.map +1 -1
  388. package/build-module/navigation/menu/menu-title-search.js +0 -1
  389. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  390. package/build-module/navigation/menu/search-no-results-found.js +0 -1
  391. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  392. package/build-module/navigator/navigator/component.js +0 -1
  393. package/build-module/navigator/navigator/component.js.map +1 -1
  394. package/build-module/navigator/navigator-screen/component.js +0 -1
  395. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  396. package/build-module/navigator/utils/router.js +0 -1
  397. package/build-module/navigator/utils/router.js.map +1 -1
  398. package/build-module/notice/index.js +0 -1
  399. package/build-module/notice/index.js.map +1 -1
  400. package/build-module/notice/list.js +0 -1
  401. package/build-module/notice/list.js.map +1 -1
  402. package/build-module/notice/list.native.js +0 -1
  403. package/build-module/notice/list.native.js.map +1 -1
  404. package/build-module/palette-edit/index.js +0 -1
  405. package/build-module/palette-edit/index.js.map +1 -1
  406. package/build-module/panel/actions.native.js +0 -1
  407. package/build-module/panel/actions.native.js.map +1 -1
  408. package/build-module/query-controls/index.js +0 -1
  409. package/build-module/query-controls/index.js.map +1 -1
  410. package/build-module/query-controls/terms.js +0 -1
  411. package/build-module/query-controls/terms.js.map +1 -1
  412. package/build-module/radio-control/index.js +0 -1
  413. package/build-module/radio-control/index.js.map +1 -1
  414. package/build-module/radio-control/index.native.js +0 -1
  415. package/build-module/radio-control/index.native.js.map +1 -1
  416. package/build-module/range-control/rail.js +0 -1
  417. package/build-module/range-control/rail.js.map +1 -1
  418. package/build-module/resizable-box/index.js +0 -1
  419. package/build-module/resizable-box/index.js.map +1 -1
  420. package/build-module/sandbox/index.js +0 -1
  421. package/build-module/sandbox/index.js.map +1 -1
  422. package/build-module/sandbox/index.native.js +0 -1
  423. package/build-module/sandbox/index.native.js.map +1 -1
  424. package/build-module/search-control/index.native.js +0 -1
  425. package/build-module/search-control/index.native.js.map +1 -1
  426. package/build-module/select-control/index.js +0 -1
  427. package/build-module/select-control/index.js.map +1 -1
  428. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +0 -1
  429. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  430. package/build-module/slot-fill/provider.js +0 -1
  431. package/build-module/slot-fill/provider.js.map +1 -1
  432. package/build-module/slot-fill/slot.js +0 -1
  433. package/build-module/slot-fill/slot.js.map +1 -1
  434. package/build-module/snackbar/index.js +0 -1
  435. package/build-module/snackbar/index.js.map +1 -1
  436. package/build-module/snackbar/list.js +0 -1
  437. package/build-module/snackbar/list.js.map +1 -1
  438. package/build-module/tab-panel/index.js +0 -1
  439. package/build-module/tab-panel/index.js.map +1 -1
  440. package/build-module/tabs/index.js +0 -1
  441. package/build-module/tabs/index.js.map +1 -1
  442. package/build-module/text/utils.js +0 -1
  443. package/build-module/text/utils.js.map +1 -1
  444. package/build-module/theme/color-algorithms.js +0 -1
  445. package/build-module/theme/color-algorithms.js.map +1 -1
  446. package/build-module/toolbar/toolbar-group/index.js +0 -1
  447. package/build-module/toolbar/toolbar-group/index.js.map +1 -1
  448. package/build-module/tools-panel/tools-panel/hook.js +0 -1
  449. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  450. package/build-module/tools-panel/tools-panel-header/component.js +0 -1
  451. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  452. package/build-module/tree-grid/index.js +0 -1
  453. package/build-module/tree-grid/index.js.map +1 -1
  454. package/build-module/tree-select/index.js +0 -1
  455. package/build-module/tree-select/index.js.map +1 -1
  456. package/build-module/unit-control/index.js +0 -1
  457. package/build-module/unit-control/index.js.map +1 -1
  458. package/build-module/unit-control/index.native.js +0 -1
  459. package/build-module/unit-control/index.native.js.map +1 -1
  460. package/build-module/unit-control/unit-select-control.js +0 -1
  461. package/build-module/unit-control/unit-select-control.js.map +1 -1
  462. package/build-module/unit-control/utils.js +0 -1
  463. package/build-module/unit-control/utils.js.map +1 -1
  464. package/build-module/utils/get-valid-children.js +0 -1
  465. package/build-module/utils/get-valid-children.js.map +1 -1
  466. package/build-module/utils/hooks/use-animated-offset-rect.js +0 -1
  467. package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -1
  468. package/build-module/utils/hooks/use-cx.js +0 -1
  469. package/build-module/utils/hooks/use-cx.js.map +1 -1
  470. package/build-module/utils/math.js +0 -1
  471. package/build-module/utils/math.js.map +1 -1
  472. package/build-module/utils/rtl.js +0 -1
  473. package/build-module/utils/rtl.js.map +1 -1
  474. package/build-module/utils/values.js +0 -1
  475. package/build-module/utils/values.js.map +1 -1
  476. package/build-module/z-stack/component.js +0 -1
  477. package/build-module/z-stack/component.js.map +1 -1
  478. package/build-style/style-rtl.css +3 -0
  479. package/build-style/style.css +3 -0
  480. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  481. package/build-types/box-control/index.d.ts.map +1 -1
  482. package/build-types/box-control/linked-button.d.ts.map +1 -1
  483. package/build-types/box-control/stories/index.story.d.ts +7 -2331
  484. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  485. package/build-types/box-control/types.d.ts +15 -3
  486. package/build-types/box-control/types.d.ts.map +1 -1
  487. package/build-types/combobox-control/index.d.ts.map +1 -1
  488. package/build-types/combobox-control/stories/index.story.d.ts +4 -0
  489. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  490. package/build-types/combobox-control/types.d.ts +7 -0
  491. package/build-types/combobox-control/types.d.ts.map +1 -1
  492. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  493. package/package.json +19 -19
  494. package/src/border-box-control/border-box-control-linked-button/component.tsx +9 -14
  495. package/src/box-control/index.tsx +9 -0
  496. package/src/box-control/linked-button.tsx +8 -11
  497. package/src/box-control/test/index.tsx +9 -2
  498. package/src/box-control/types.ts +26 -11
  499. package/src/combobox-control/README.md +9 -1
  500. package/src/combobox-control/index.tsx +4 -1
  501. package/src/combobox-control/style.scss +4 -1
  502. package/src/combobox-control/types.ts +7 -0
  503. package/src/font-size-picker/font-size-picker-select.tsx +4 -23
  504. package/src/font-size-picker/test/index.tsx +2 -24
  505. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","TouchableOpacity","Text","View","Platform","LongPressGestureHandler","State","Children","cloneElement","useCallback","usePreferredColorScheme","usePreferredColorSchemeStyle","Tooltip","Icon","style","jsx","_jsx","jsxs","_jsxs","isAndroid","OS","marginBottom","marginLeft","styles","create","container","flex","padding","justifyContent","alignItems","buttonInactive","flexDirection","fixedRatio","aspectRatio","buttonActive","borderRadius","subscriptInactive","color","fontWeight","fontSize","alignSelf","subscriptInactiveDark","subscriptActive","Button","props","children","onClick","onLongPress","disabled","hint","isPressed","ariaDisabled","subscript","testID","icon","iconSize","showTooltip","label","shortcut","tooltipPosition","isActiveStyle","customContainerStyles","hitSlop","preferredColorScheme","isDisabled","containerStyle","buttonActiveColorStyles","buttonViewStyle","opacity","backgroundColor","states","push","newChildren","map","child","colorScheme","shouldShowTooltip","Array","isArray","length","newIcon","size","longPressHandler","nativeEvent","state","ACTIVE","element","activeOpacity","accessible","accessibilityLabel","accessibilityStates","accessibilityRole","accessibilityHint","onPress","minDurationMs","maxDist","onHandlerStateChange","text","position","visible"],"sources":["@wordpress/components/src/button/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tTouchableOpacity,\n\tText,\n\tView,\n\tPlatform,\n} from 'react-native';\nimport { LongPressGestureHandler, State } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useCallback } from '@wordpress/element';\nimport {\n\tusePreferredColorScheme,\n\tusePreferredColorSchemeStyle,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nimport style from './style.scss';\n\nconst isAndroid = Platform.OS === 'android';\nconst marginBottom = isAndroid ? -0.5 : 0;\nconst marginLeft = -3;\n\nconst styles = StyleSheet.create( {\n\tcontainer: {\n\t\tflex: 1,\n\t\tpadding: 3,\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tbuttonInactive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tfixedRatio: {\n\t\taspectRatio: 1,\n\t},\n\tbuttonActive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\tborderRadius: 6,\n\t},\n\tsubscriptInactive: {\n\t\tcolor: '#7b9ab1', // $toolbar-button.\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n\tsubscriptInactiveDark: {\n\t\tcolor: '#a7aaad', // $gray_20.\n\t},\n\tsubscriptActive: {\n\t\tcolor: 'white',\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n} );\n\nexport function Button( props ) {\n\tconst {\n\t\tchildren,\n\t\tonClick,\n\t\tonLongPress,\n\t\tdisabled,\n\t\thint,\n\t\tfixedRatio = true,\n\t\tisPressed,\n\t\t'aria-disabled': ariaDisabled,\n\t\t'data-subscript': subscript,\n\t\ttestID,\n\t\ticon,\n\t\ticonSize,\n\t\tshowTooltip,\n\t\tlabel,\n\t\tshortcut,\n\t\ttooltipPosition,\n\t\tisActiveStyle,\n\t\tcustomContainerStyles,\n\t\thitSlop,\n\t} = props;\n\tconst preferredColorScheme = usePreferredColorScheme();\n\n\tconst isDisabled = ariaDisabled || disabled;\n\n\tconst containerStyle = [\n\t\tstyles.container,\n\t\tcustomContainerStyles && { ...customContainerStyles },\n\t];\n\n\tconst buttonActiveColorStyles = usePreferredColorSchemeStyle(\n\t\tstyle[ 'components-button-light--active' ],\n\t\tstyle[ 'components-button-dark--active' ]\n\t);\n\n\tconst buttonViewStyle = {\n\t\topacity: isDisabled ? 0.3 : 1,\n\t\t...( fixedRatio && styles.fixedRatio ),\n\t\t...( isPressed ? styles.buttonActive : styles.buttonInactive ),\n\t\t...( isPressed ? buttonActiveColorStyles : {} ),\n\t\t...( isPressed &&\n\t\t\tisActiveStyle?.borderRadius && {\n\t\t\t\tborderRadius: isActiveStyle.borderRadius,\n\t\t\t} ),\n\t\t...( isActiveStyle?.backgroundColor && {\n\t\t\tbackgroundColor: isActiveStyle.backgroundColor,\n\t\t} ),\n\t};\n\n\tconst states = [];\n\tif ( isPressed ) {\n\t\tstates.push( 'selected' );\n\t}\n\n\tif ( isDisabled ) {\n\t\tstates.push( 'disabled' );\n\t}\n\n\tconst subscriptInactive = usePreferredColorSchemeStyle(\n\t\tstyles.subscriptInactive,\n\t\tstyles.subscriptInactiveDark\n\t);\n\n\tconst newChildren = Children.map( children, ( child ) => {\n\t\treturn child\n\t\t\t? cloneElement( child, {\n\t\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\t\tisPressed,\n\t\t\t } )\n\t\t\t: child;\n\t} );\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! isDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t( ! children ||\n\t\t\t\t\t( Array.isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst newIcon = icon\n\t\t? cloneElement( <Icon icon={ icon } size={ iconSize } />, {\n\t\t\t\tisPressed,\n\t\t } )\n\t\t: null;\n\n\tconst longPressHandler = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tif ( nativeEvent.state === State.ACTIVE && onLongPress ) {\n\t\t\t\tonLongPress();\n\t\t\t}\n\t\t},\n\t\t[ onLongPress ]\n\t);\n\n\tconst element = (\n\t\t<TouchableOpacity\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessible\n\t\t\taccessibilityLabel={ label }\n\t\t\taccessibilityStates={ states }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessibilityHint={ hint }\n\t\t\tonPress={ onClick }\n\t\t\tstyle={ containerStyle }\n\t\t\tdisabled={ isDisabled }\n\t\t\ttestID={ testID }\n\t\t\thitSlop={ hitSlop }\n\t\t>\n\t\t\t<LongPressGestureHandler\n\t\t\t\tminDurationMs={ 500 }\n\t\t\t\tmaxDist={ 150 }\n\t\t\t\tonHandlerStateChange={ longPressHandler }\n\t\t\t>\n\t\t\t\t<View style={ buttonViewStyle }>\n\t\t\t\t\t<View style={ { flexDirection: 'row' } }>\n\t\t\t\t\t\t{ newIcon }\n\t\t\t\t\t\t{ newChildren }\n\t\t\t\t\t\t{ subscript && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tisPressed\n\t\t\t\t\t\t\t\t\t\t? styles.subscriptActive\n\t\t\t\t\t\t\t\t\t\t: subscriptInactive\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{ subscript }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</LongPressGestureHandler>\n\t\t</TouchableOpacity>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn element;\n\t}\n\n\treturn (\n\t\t<Tooltip\n\t\t\ttext={ label }\n\t\t\tshortcut={ shortcut }\n\t\t\tposition={ tooltipPosition }\n\t\t\tvisible={ showTooltip === true }\n\t\t>\n\t\t\t{ element }\n\t\t</Tooltip>\n\t);\n}\n\nexport default Button;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","TouchableOpacity","Text","View","Platform","LongPressGestureHandler","State","Children","cloneElement","useCallback","usePreferredColorScheme","usePreferredColorSchemeStyle","Tooltip","Icon","style","jsx","_jsx","jsxs","_jsxs","isAndroid","OS","marginBottom","marginLeft","styles","create","container","flex","padding","justifyContent","alignItems","buttonInactive","flexDirection","fixedRatio","aspectRatio","buttonActive","borderRadius","subscriptInactive","color","fontWeight","fontSize","alignSelf","subscriptInactiveDark","subscriptActive","Button","props","children","onClick","onLongPress","disabled","hint","isPressed","ariaDisabled","subscript","testID","icon","iconSize","showTooltip","label","shortcut","tooltipPosition","isActiveStyle","customContainerStyles","hitSlop","preferredColorScheme","isDisabled","containerStyle","buttonActiveColorStyles","buttonViewStyle","opacity","backgroundColor","states","push","newChildren","map","child","colorScheme","shouldShowTooltip","Array","isArray","length","newIcon","size","longPressHandler","nativeEvent","state","ACTIVE","element","activeOpacity","accessible","accessibilityLabel","accessibilityStates","accessibilityRole","accessibilityHint","onPress","minDurationMs","maxDist","onHandlerStateChange","text","position","visible"],"sources":["@wordpress/components/src/button/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tTouchableOpacity,\n\tText,\n\tView,\n\tPlatform,\n} from 'react-native';\nimport { LongPressGestureHandler, State } from 'react-native-gesture-handler';\n\n/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useCallback } from '@wordpress/element';\nimport {\n\tusePreferredColorScheme,\n\tusePreferredColorSchemeStyle,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Icon from '../icon';\nimport style from './style.scss';\n\nconst isAndroid = Platform.OS === 'android';\nconst marginBottom = isAndroid ? -0.5 : 0;\nconst marginLeft = -3;\n\nconst styles = StyleSheet.create( {\n\tcontainer: {\n\t\tflex: 1,\n\t\tpadding: 3,\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tbuttonInactive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t},\n\tfixedRatio: {\n\t\taspectRatio: 1,\n\t},\n\tbuttonActive: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\tborderRadius: 6,\n\t},\n\tsubscriptInactive: {\n\t\tcolor: '#7b9ab1', // $toolbar-button.\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n\tsubscriptInactiveDark: {\n\t\tcolor: '#a7aaad', // $gray_20.\n\t},\n\tsubscriptActive: {\n\t\tcolor: 'white',\n\t\tfontWeight: 'bold',\n\t\tfontSize: 13,\n\t\talignSelf: 'flex-end',\n\t\tmarginLeft,\n\t\tmarginBottom,\n\t},\n} );\n\nexport function Button( props ) {\n\tconst {\n\t\tchildren,\n\t\tonClick,\n\t\tonLongPress,\n\t\tdisabled,\n\t\thint,\n\t\tfixedRatio = true,\n\t\tisPressed,\n\t\t'aria-disabled': ariaDisabled,\n\t\t'data-subscript': subscript,\n\t\ttestID,\n\t\ticon,\n\t\ticonSize,\n\t\tshowTooltip,\n\t\tlabel,\n\t\tshortcut,\n\t\ttooltipPosition,\n\t\tisActiveStyle,\n\t\tcustomContainerStyles,\n\t\thitSlop,\n\t} = props;\n\tconst preferredColorScheme = usePreferredColorScheme();\n\n\tconst isDisabled = ariaDisabled || disabled;\n\n\tconst containerStyle = [\n\t\tstyles.container,\n\t\tcustomContainerStyles && { ...customContainerStyles },\n\t];\n\n\tconst buttonActiveColorStyles = usePreferredColorSchemeStyle(\n\t\tstyle[ 'components-button-light--active' ],\n\t\tstyle[ 'components-button-dark--active' ]\n\t);\n\n\tconst buttonViewStyle = {\n\t\topacity: isDisabled ? 0.3 : 1,\n\t\t...( fixedRatio && styles.fixedRatio ),\n\t\t...( isPressed ? styles.buttonActive : styles.buttonInactive ),\n\t\t...( isPressed ? buttonActiveColorStyles : {} ),\n\t\t...( isPressed &&\n\t\t\tisActiveStyle?.borderRadius && {\n\t\t\t\tborderRadius: isActiveStyle.borderRadius,\n\t\t\t} ),\n\t\t...( isActiveStyle?.backgroundColor && {\n\t\t\tbackgroundColor: isActiveStyle.backgroundColor,\n\t\t} ),\n\t};\n\n\tconst states = [];\n\tif ( isPressed ) {\n\t\tstates.push( 'selected' );\n\t}\n\n\tif ( isDisabled ) {\n\t\tstates.push( 'disabled' );\n\t}\n\n\tconst subscriptInactive = usePreferredColorSchemeStyle(\n\t\tstyles.subscriptInactive,\n\t\tstyles.subscriptInactiveDark\n\t);\n\n\tconst newChildren = Children.map( children, ( child ) => {\n\t\treturn child\n\t\t\t? cloneElement( child, {\n\t\t\t\t\tcolorScheme: preferredColorScheme,\n\t\t\t\t\tisPressed,\n\t\t\t } )\n\t\t\t: child;\n\t} );\n\n\t// Should show the tooltip if...\n\tconst shouldShowTooltip =\n\t\t! isDisabled &&\n\t\t// An explicit tooltip is passed or...\n\t\t( ( showTooltip && label ) ||\n\t\t\t// There's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t// There's a label and...\n\t\t\t( !! label &&\n\t\t\t\t// The children are empty and...\n\t\t\t\t( ! children ||\n\t\t\t\t\t( Array.isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// The tooltip is not explicitly disabled.\n\t\t\t\tfalse !== showTooltip ) );\n\n\tconst newIcon = icon\n\t\t? cloneElement( <Icon icon={ icon } size={ iconSize } />, {\n\t\t\t\tisPressed,\n\t\t } )\n\t\t: null;\n\n\tconst longPressHandler = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tif ( nativeEvent.state === State.ACTIVE && onLongPress ) {\n\t\t\t\tonLongPress();\n\t\t\t}\n\t\t},\n\t\t[ onLongPress ]\n\t);\n\n\tconst element = (\n\t\t<TouchableOpacity\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessible\n\t\t\taccessibilityLabel={ label }\n\t\t\taccessibilityStates={ states }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessibilityHint={ hint }\n\t\t\tonPress={ onClick }\n\t\t\tstyle={ containerStyle }\n\t\t\tdisabled={ isDisabled }\n\t\t\ttestID={ testID }\n\t\t\thitSlop={ hitSlop }\n\t\t>\n\t\t\t<LongPressGestureHandler\n\t\t\t\tminDurationMs={ 500 }\n\t\t\t\tmaxDist={ 150 }\n\t\t\t\tonHandlerStateChange={ longPressHandler }\n\t\t\t>\n\t\t\t\t<View style={ buttonViewStyle }>\n\t\t\t\t\t<View style={ { flexDirection: 'row' } }>\n\t\t\t\t\t\t{ newIcon }\n\t\t\t\t\t\t{ newChildren }\n\t\t\t\t\t\t{ subscript && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tisPressed\n\t\t\t\t\t\t\t\t\t\t? styles.subscriptActive\n\t\t\t\t\t\t\t\t\t\t: subscriptInactive\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{ subscript }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</LongPressGestureHandler>\n\t\t</TouchableOpacity>\n\t);\n\n\tif ( ! shouldShowTooltip ) {\n\t\treturn element;\n\t}\n\n\treturn (\n\t\t<Tooltip\n\t\t\ttext={ label }\n\t\t\tshortcut={ shortcut }\n\t\t\tposition={ tooltipPosition }\n\t\t\tvisible={ showTooltip === true }\n\t\t>\n\t\t\t{ element }\n\t\t</Tooltip>\n\t);\n}\n\nexport default Button;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["View","Animated","Icon","check","usePreferredColorSchemeStyle","styles","Gradient","colorsUtils","jsx","_jsx","jsxs","_jsxs","SelectedIcon","opacity","style","selected","children","outline","selectedOutline","icon","size","ColorIndicator","color","isSelected","withCustomPicker","isGradient","outlineStyle","outlineDark","circleOption","gradientValue","map","absolute","backgroundColor"],"sources":["@wordpress/components/src/color-indicator/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { Icon, check } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport Gradient from '../mobile/gradient';\nimport { colorsUtils } from '../mobile/color-settings/utils';\n\nfunction SelectedIcon( { opacity } ) {\n\treturn (\n\t\t<Animated.View style={ [ styles.selected, { opacity } ] }>\n\t\t\t<View style={ [ styles.outline, styles.selectedOutline ] } />\n\t\t\t<Icon icon={ check } style={ styles.icon } size={ 24 } />\n\t\t</Animated.View>\n\t);\n}\n\nfunction ColorIndicator( {\n\tcolor,\n\tisSelected,\n\twithCustomPicker,\n\tstyle,\n\topacity,\n} ) {\n\tconst { isGradient } = colorsUtils;\n\n\tconst outlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.outline,\n\t\tstyles.outlineDark\n\t);\n\n\tif ( isGradient( color ) ) {\n\t\treturn (\n\t\t\t<Gradient\n\t\t\t\tstyle={ [ styles.circleOption, style ] }\n\t\t\t\tgradientValue={ color }\n\t\t\t>\n\t\t\t\t<View style={ outlineStyle } />\n\t\t\t\t{ isSelected && <SelectedIcon opacity={ opacity } /> }\n\t\t\t</Gradient>\n\t\t);\n\t} else if ( withCustomPicker ) {\n\t\treturn (\n\t\t\t<View style={ [ styles.circleOption, style ] }>\n\t\t\t\t<View style={ outlineStyle } />\n\t\t\t\t{ color.map( ( gradientValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.circleOption,\n\t\t\t\t\t\t\t\tstyles.absolute,\n\t\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tkey={ gradientValue }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ isSelected && <SelectedIcon /> }\n\t\t\t</View>\n\t\t);\n\t}\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.circleOption, style, { backgroundColor: color } ] }\n\t\t>\n\t\t\t<View style={ outlineStyle } />\n\t\t\t{ isSelected && <SelectedIcon opacity={ opacity } /> }\n\t\t</View>\n\t);\n}\nexport default ColorIndicator;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,QAAQ,QAAQ,cAAc;AAC7C;AACA;AACA;AACA,SAASC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAC9C,SAASC,4BAA4B,QAAQ,oBAAoB;AACjE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SAASC,WAAW,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,SAASC,YAAYA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACpC,oBACCF,KAAA,CAACV,QAAQ,CAACD,IAAI;IAACc,KAAK,EAAG,CAAET,MAAM,CAACU,QAAQ,EAAE;MAAEF;IAAQ,CAAC,CAAI;IAAAG,QAAA,gBACxDP,IAAA,CAACT,IAAI;MAACc,KAAK,EAAG,CAAET,MAAM,CAACY,OAAO,EAAEZ,MAAM,CAACa,eAAe;IAAI,CAAE,CAAC,eAC7DT,IAAA,CAACP,IAAI;MAACiB,IAAI,EAAGhB,KAAO;MAACW,KAAK,EAAGT,MAAM,CAACc,IAAM;MAACC,IAAI,EAAG;IAAI,CAAE,CAAC;EAAA,CAC3C,CAAC;AAElB;AAEA,SAASC,cAAcA,CAAE;EACxBC,KAAK;EACLC,UAAU;EACVC,gBAAgB;EAChBV,KAAK;EACLD;AACD,CAAC,EAAG;EACH,MAAM;IAAEY;EAAW,CAAC,GAAGlB,WAAW;EAElC,MAAMmB,YAAY,GAAGtB,4BAA4B,CAChDC,MAAM,CAACY,OAAO,EACdZ,MAAM,CAACsB,WACR,CAAC;EAED,IAAKF,UAAU,CAAEH,KAAM,CAAC,EAAG;IAC1B,oBACCX,KAAA,CAACL,QAAQ;MACRQ,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,CAAI;MACxCe,aAAa,EAAGP,KAAO;MAAAN,QAAA,gBAEvBP,IAAA,CAACT,IAAI;QAACc,KAAK,EAAGY;MAAc,CAAE,CAAC,EAC7BH,UAAU,iBAAId,IAAA,CAACG,YAAY;QAACC,OAAO,EAAGA;MAAS,CAAE,CAAC;IAAA,CAC3C,CAAC;EAEb,CAAC,MAAM,IAAKW,gBAAgB,EAAG;IAC9B,oBACCb,KAAA,CAACX,IAAI;MAACc,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,CAAI;MAAAE,QAAA,gBAC7CP,IAAA,CAACT,IAAI;QAACc,KAAK,EAAGY;MAAc,CAAE,CAAC,EAC7BJ,KAAK,CAACQ,GAAG,CAAID,aAAa,IAAM;QACjC,oBACCpB,IAAA,CAACH,QAAQ;UACRuB,aAAa,EAAGA,aAAe;UAC/Bf,KAAK,EAAG,CACPT,MAAM,CAACuB,YAAY,EACnBvB,MAAM,CAAC0B,QAAQ,EACfjB,KAAK;QACH,GACGe,aACN,CAAC;MAEJ,CAAE,CAAC,EACDN,UAAU,iBAAId,IAAA,CAACG,YAAY,IAAE,CAAC;IAAA,CAC3B,CAAC;EAET;EACA,oBACCD,KAAA,CAACX,IAAI;IACJc,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,EAAE;MAAEkB,eAAe,EAAEV;IAAM,CAAC,CAAI;IAAAN,QAAA,gBAEpEP,IAAA,CAACT,IAAI;MAACc,KAAK,EAAGY;IAAc,CAAE,CAAC,EAC7BH,UAAU,iBAAId,IAAA,CAACG,YAAY;MAACC,OAAO,EAAGA;IAAS,CAAE,CAAC;EAAA,CAC/C,CAAC;AAET;AACA,eAAeQ,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["View","Animated","Icon","check","usePreferredColorSchemeStyle","styles","Gradient","colorsUtils","jsx","_jsx","jsxs","_jsxs","SelectedIcon","opacity","style","selected","children","outline","selectedOutline","icon","size","ColorIndicator","color","isSelected","withCustomPicker","isGradient","outlineStyle","outlineDark","circleOption","gradientValue","map","absolute","backgroundColor"],"sources":["@wordpress/components/src/color-indicator/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { Icon, check } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport Gradient from '../mobile/gradient';\nimport { colorsUtils } from '../mobile/color-settings/utils';\n\nfunction SelectedIcon( { opacity } ) {\n\treturn (\n\t\t<Animated.View style={ [ styles.selected, { opacity } ] }>\n\t\t\t<View style={ [ styles.outline, styles.selectedOutline ] } />\n\t\t\t<Icon icon={ check } style={ styles.icon } size={ 24 } />\n\t\t</Animated.View>\n\t);\n}\n\nfunction ColorIndicator( {\n\tcolor,\n\tisSelected,\n\twithCustomPicker,\n\tstyle,\n\topacity,\n} ) {\n\tconst { isGradient } = colorsUtils;\n\n\tconst outlineStyle = usePreferredColorSchemeStyle(\n\t\tstyles.outline,\n\t\tstyles.outlineDark\n\t);\n\n\tif ( isGradient( color ) ) {\n\t\treturn (\n\t\t\t<Gradient\n\t\t\t\tstyle={ [ styles.circleOption, style ] }\n\t\t\t\tgradientValue={ color }\n\t\t\t>\n\t\t\t\t<View style={ outlineStyle } />\n\t\t\t\t{ isSelected && <SelectedIcon opacity={ opacity } /> }\n\t\t\t</Gradient>\n\t\t);\n\t} else if ( withCustomPicker ) {\n\t\treturn (\n\t\t\t<View style={ [ styles.circleOption, style ] }>\n\t\t\t\t<View style={ outlineStyle } />\n\t\t\t\t{ color.map( ( gradientValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Gradient\n\t\t\t\t\t\t\tgradientValue={ gradientValue }\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.circleOption,\n\t\t\t\t\t\t\t\tstyles.absolute,\n\t\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tkey={ gradientValue }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ isSelected && <SelectedIcon /> }\n\t\t\t</View>\n\t\t);\n\t}\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.circleOption, style, { backgroundColor: color } ] }\n\t\t>\n\t\t\t<View style={ outlineStyle } />\n\t\t\t{ isSelected && <SelectedIcon opacity={ opacity } /> }\n\t\t</View>\n\t);\n}\nexport default ColorIndicator;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,QAAQ,QAAQ,cAAc;AAC7C;AACA;AACA;AACA,SAASC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AAC9C,SAASC,4BAA4B,QAAQ,oBAAoB;AACjE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SAASC,WAAW,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7D,SAASC,YAAYA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACpC,oBACCF,KAAA,CAACV,QAAQ,CAACD,IAAI;IAACc,KAAK,EAAG,CAAET,MAAM,CAACU,QAAQ,EAAE;MAAEF;IAAQ,CAAC,CAAI;IAAAG,QAAA,gBACxDP,IAAA,CAACT,IAAI;MAACc,KAAK,EAAG,CAAET,MAAM,CAACY,OAAO,EAAEZ,MAAM,CAACa,eAAe;IAAI,CAAE,CAAC,eAC7DT,IAAA,CAACP,IAAI;MAACiB,IAAI,EAAGhB,KAAO;MAACW,KAAK,EAAGT,MAAM,CAACc,IAAM;MAACC,IAAI,EAAG;IAAI,CAAE,CAAC;EAAA,CAC3C,CAAC;AAElB;AAEA,SAASC,cAAcA,CAAE;EACxBC,KAAK;EACLC,UAAU;EACVC,gBAAgB;EAChBV,KAAK;EACLD;AACD,CAAC,EAAG;EACH,MAAM;IAAEY;EAAW,CAAC,GAAGlB,WAAW;EAElC,MAAMmB,YAAY,GAAGtB,4BAA4B,CAChDC,MAAM,CAACY,OAAO,EACdZ,MAAM,CAACsB,WACR,CAAC;EAED,IAAKF,UAAU,CAAEH,KAAM,CAAC,EAAG;IAC1B,oBACCX,KAAA,CAACL,QAAQ;MACRQ,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,CAAI;MACxCe,aAAa,EAAGP,KAAO;MAAAN,QAAA,gBAEvBP,IAAA,CAACT,IAAI;QAACc,KAAK,EAAGY;MAAc,CAAE,CAAC,EAC7BH,UAAU,iBAAId,IAAA,CAACG,YAAY;QAACC,OAAO,EAAGA;MAAS,CAAE,CAAC;IAAA,CAC3C,CAAC;EAEb,CAAC,MAAM,IAAKW,gBAAgB,EAAG;IAC9B,oBACCb,KAAA,CAACX,IAAI;MAACc,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,CAAI;MAAAE,QAAA,gBAC7CP,IAAA,CAACT,IAAI;QAACc,KAAK,EAAGY;MAAc,CAAE,CAAC,EAC7BJ,KAAK,CAACQ,GAAG,CAAID,aAAa,IAAM;QACjC,oBACCpB,IAAA,CAACH,QAAQ;UACRuB,aAAa,EAAGA,aAAe;UAC/Bf,KAAK,EAAG,CACPT,MAAM,CAACuB,YAAY,EACnBvB,MAAM,CAAC0B,QAAQ,EACfjB,KAAK;QACH,GACGe,aACN,CAAC;MAEJ,CAAE,CAAC,EACDN,UAAU,iBAAId,IAAA,CAACG,YAAY,IAAE,CAAC;IAAA,CAC3B,CAAC;EAET;EACA,oBACCD,KAAA,CAACX,IAAI;IACJc,KAAK,EAAG,CAAET,MAAM,CAACuB,YAAY,EAAEd,KAAK,EAAE;MAAEkB,eAAe,EAAEV;IAAM,CAAC,CAAI;IAAAN,QAAA,gBAEpEP,IAAA,CAACT,IAAI;MAACc,KAAK,EAAGY;IAAc,CAAE,CAAC,EAC7BH,UAAU,iBAAId,IAAA,CAACG,YAAY;MAACC,OAAO,EAAGA;IAAS,CAAE,CAAC;EAAA,CAC/C,CAAC;AAET;AACA,eAAeQ,cAAc","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","clsx","useInstanceId","__","sprintf","useCallback","useMemo","useState","forwardRef","Dropdown","ColorPicker","CircularOptionPicker","VStack","Truncate","ColorHeading","DropdownContentWrapper","extractColorNameFromCurrentValue","isMultiplePaletteArray","normalizeColorValue","jsx","_jsx","jsxs","_jsxs","SinglePalette","className","clearColor","colors","onChange","value","additionalProps","colorOptions","map","color","name","index","colordColor","isSelected","Option","selectedIconProps","fill","contrast","tooltipText","style","backgroundColor","onClick","OptionGroup","options","MultiplePalettes","headingLevel","instanceId","length","spacing","children","colorPalette","id","level","newColor","CustomColorPickerDropdown","isRenderedInSidebar","popoverProps","receivedPopoverProps","props","shift","resize","placement","offset","contentClassName","UnforwardedColorPalette","forwardedRef","asButtons","loop","clearable","disableCustomColors","enableAlpha","__experimentalIsRenderedInSidebar","ariaLabel","ariaLabelledby","normalizedColorValue","setNormalizedColorValue","undefined","customColorPaletteCallbackRef","node","hasMultipleColorOrigins","buttonLabelName","renderCustomColorPicker","paddingSize","isHex","startsWith","displayValue","replace","customColorAccessibleLabel","paletteCommonProps","actions","ButtonAction","accessibleWhenDisabled","disabled","metaProps","_metaProps","ref","renderContent","renderToggle","isOpen","onToggle","background","type","ColorPalette"],"sources":["@wordpress/components/src/color-palette/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo, useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dropdown from '../dropdown';\nimport { ColorPicker } from '../color-picker';\nimport CircularOptionPicker from '../circular-option-picker';\nimport { VStack } from '../v-stack';\nimport { Truncate } from '../truncate';\nimport { ColorHeading } from './styles';\nimport DropdownContentWrapper from '../dropdown/dropdown-content-wrapper';\nimport type {\n\tColorObject,\n\tColorPaletteProps,\n\tCustomColorPickerDropdownProps,\n\tMultiplePalettesProps,\n\tPaletteObject,\n\tSinglePaletteProps,\n} from './types';\nimport type { WordPressComponentProps } from '../context';\nimport type { DropdownProps } from '../dropdown/types';\nimport {\n\textractColorNameFromCurrentValue,\n\tisMultiplePaletteArray,\n\tnormalizeColorValue,\n} from './utils';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction SinglePalette( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: SinglePaletteProps ) {\n\tconst colorOptions = useMemo( () => {\n\t\treturn colors.map( ( { color, name }, index ) => {\n\t\t\tconst colordColor = colord( color );\n\t\t\tconst isSelected = value === color;\n\n\t\t\treturn (\n\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\tkey={ `${ color }-${ index }` }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tselectedIconProps={\n\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tfill:\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast() >\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast( '#000' )\n\t\t\t\t\t\t\t\t\t\t\t? '#fff'\n\t\t\t\t\t\t\t\t\t\t\t: '#000',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttooltipText={\n\t\t\t\t\t\tname ||\n\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t\tstyle={ { backgroundColor: color, color } }\n\t\t\t\t\tonClick={\n\t\t\t\t\t\tisSelected ? clearColor : () => onChange( color, index )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ colors, value, onChange, clearColor ] );\n\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ colorOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultiplePalettes( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: MultiplePalettesProps ) {\n\tconst instanceId = useInstanceId( MultiplePalettes, 'color-palette' );\n\n\tif ( colors.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ colors.map( ( { name, colors: colorPalette }, index ) => {\n\t\t\t\tconst id = `${ 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 id={ id } level={ headingLevel }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\tclearColor={ clearColor }\n\t\t\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( newColor, 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\nexport function CustomColorPickerDropdown( {\n\tisRenderedInSidebar,\n\tpopoverProps: receivedPopoverProps,\n\t...props\n}: CustomColorPickerDropdownProps ) {\n\tconst popoverProps = useMemo< DropdownProps[ 'popoverProps' ] >(\n\t\t() => ( {\n\t\t\tshift: true,\n\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t// popover edge.\n\t\t\tresize: false,\n\t\t\t...( isRenderedInSidebar\n\t\t\t\t? {\n\t\t\t\t\t\t// When in the sidebar: open to the left (stacking),\n\t\t\t\t\t\t// leaving the same gap as the parent popover.\n\t\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t\toffset: 34,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t// Default behavior: open below the anchor\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\toffset: 8,\n\t\t\t\t } ),\n\t\t\t...receivedPopoverProps,\n\t\t} ),\n\t\t[ isRenderedInSidebar, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"components-color-palette__custom-color-dropdown-content\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction UnforwardedColorPalette(\n\tprops: WordPressComponentProps< ColorPaletteProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tclearable = true,\n\t\tcolors = [],\n\t\tdisableCustomColors = false,\n\t\tenableAlpha = false,\n\t\tonChange,\n\t\tvalue,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\theadingLevel = 2,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst [ normalizedColorValue, setNormalizedColorValue ] = useState( value );\n\n\tconst clearColor = useCallback( () => onChange( undefined ), [ onChange ] );\n\n\tconst customColorPaletteCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tsetNormalizedColorValue( normalizeColorValue( value, node ) );\n\t\t},\n\t\t[ value ]\n\t);\n\n\tconst hasMultipleColorOrigins = isMultiplePaletteArray( colors );\n\tconst buttonLabelName = useMemo(\n\t\t() =>\n\t\t\textractColorNameFromCurrentValue(\n\t\t\t\tvalue,\n\t\t\t\tcolors,\n\t\t\t\thasMultipleColorOrigins\n\t\t\t),\n\t\t[ value, colors, hasMultipleColorOrigins ]\n\t);\n\n\tconst renderCustomColorPicker = () => (\n\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t<ColorPicker\n\t\t\t\tcolor={ normalizedColorValue }\n\t\t\t\tonChange={ ( color ) => onChange( color ) }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t/>\n\t\t</DropdownContentWrapper>\n\t);\n\tconst isHex = value?.startsWith( '#' );\n\n\t// Leave hex values as-is. Remove the `var()` wrapper from CSS vars.\n\tconst displayValue = value?.replace( /^var\\((.+)\\)$/, '$1' );\n\tconst customColorAccessibleLabel = !! displayValue\n\t\t? sprintf(\n\t\t\t\t// translators: 1: The name of the color e.g: \"vivid red\". 2: The color's hex code e.g: \"#f00\".\n\t\t\t\t__(\n\t\t\t\t\t'Custom color picker. The currently selected color is called \"%1$s\" and has a value of \"%2$s\".'\n\t\t\t\t),\n\t\t\t\tbuttonLabelName,\n\t\t\t\tdisplayValue\n\t\t )\n\t\t: __( 'Custom color picker.' );\n\n\tconst paletteCommonProps = {\n\t\tclearColor,\n\t\tonChange,\n\t\tvalue,\n\t};\n\n\tconst actions = !! clearable && (\n\t\t<CircularOptionPicker.ButtonAction\n\t\t\tonClick={ clearColor }\n\t\t\taccessibleWhenDisabled\n\t\t\tdisabled={ ! value }\n\t\t>\n\t\t\t{ __( 'Clear' ) }\n\t\t</CircularOptionPicker.ButtonAction>\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<VStack spacing={ 3 } ref={ forwardedRef } { ...additionalProps }>\n\t\t\t{ ! disableCustomColors && (\n\t\t\t\t<CustomColorPickerDropdown\n\t\t\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\n\t\t\t\t\trenderContent={ renderCustomColorPicker }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-wrapper\"\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tref={ customColorPaletteCallbackRef }\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-label={ customColorAccessibleLabel }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackground: value,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-text-wrapper\"\n\t\t\t\t\t\t\t\tspacing={ 0.5 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate className=\"components-color-palette__custom-color-name\">\n\t\t\t\t\t\t\t\t\t{ value\n\t\t\t\t\t\t\t\t\t\t? buttonLabelName\n\t\t\t\t\t\t\t\t\t\t: __( 'No color selected' ) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\tThis `Truncate` is always rendered, even if\n\t\t\t\t\t\t\t\tthere is no `displayValue`, to ensure the layout\n\t\t\t\t\t\t\t\tdoes not shift\n\t\t\t\t\t\t\t\t*/ }\n\t\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'components-color-palette__custom-color-value',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'components-color-palette__custom-color-value--is-hex':\n\t\t\t\t\t\t\t\t\t\t\t\tisHex,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ displayValue }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( colors.length > 0 || actions ) && (\n\t\t\t\t<CircularOptionPicker\n\t\t\t\t\t{ ...metaProps }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\toptions={\n\t\t\t\t\t\thasMultipleColorOrigins ? (\n\t\t\t\t\t\t\t<MultiplePalettes\n\t\t\t\t\t\t\t\t{ ...paletteCommonProps }\n\t\t\t\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t\t\t\t\tcolors={ colors as PaletteObject[] }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\t\t{ ...paletteCommonProps }\n\t\t\t\t\t\t\t\tcolors={ colors as ColorObject[] }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Allows the user to pick a color from a list of pre-defined color entries.\n *\n * ```jsx\n * import { ColorPalette } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyColorPalette = () => {\n * const [ color, setColor ] = useState ( '#f00' )\n * const colors = [\n * { name: 'red', color: '#f00' },\n * { name: 'white', color: '#fff' },\n * { name: 'blue', color: '#00f' },\n * ];\n * return (\n * <ColorPalette\n * colors={ colors }\n * value={ color }\n * onChange={ ( color ) => setColor( color ) }\n * />\n * );\n * } );\n * ```\n */\nexport const ColorPalette = forwardRef( UnforwardedColorPalette );\n\nexport default ColorPalette;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","clsx","useInstanceId","__","sprintf","useCallback","useMemo","useState","forwardRef","Dropdown","ColorPicker","CircularOptionPicker","VStack","Truncate","ColorHeading","DropdownContentWrapper","extractColorNameFromCurrentValue","isMultiplePaletteArray","normalizeColorValue","jsx","_jsx","jsxs","_jsxs","SinglePalette","className","clearColor","colors","onChange","value","additionalProps","colorOptions","map","color","name","index","colordColor","isSelected","Option","selectedIconProps","fill","contrast","tooltipText","style","backgroundColor","onClick","OptionGroup","options","MultiplePalettes","headingLevel","instanceId","length","spacing","children","colorPalette","id","level","newColor","CustomColorPickerDropdown","isRenderedInSidebar","popoverProps","receivedPopoverProps","props","shift","resize","placement","offset","contentClassName","UnforwardedColorPalette","forwardedRef","asButtons","loop","clearable","disableCustomColors","enableAlpha","__experimentalIsRenderedInSidebar","ariaLabel","ariaLabelledby","normalizedColorValue","setNormalizedColorValue","undefined","customColorPaletteCallbackRef","node","hasMultipleColorOrigins","buttonLabelName","renderCustomColorPicker","paddingSize","isHex","startsWith","displayValue","replace","customColorAccessibleLabel","paletteCommonProps","actions","ButtonAction","accessibleWhenDisabled","disabled","metaProps","_metaProps","ref","renderContent","renderToggle","isOpen","onToggle","background","type","ColorPalette"],"sources":["@wordpress/components/src/color-palette/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo, useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dropdown from '../dropdown';\nimport { ColorPicker } from '../color-picker';\nimport CircularOptionPicker from '../circular-option-picker';\nimport { VStack } from '../v-stack';\nimport { Truncate } from '../truncate';\nimport { ColorHeading } from './styles';\nimport DropdownContentWrapper from '../dropdown/dropdown-content-wrapper';\nimport type {\n\tColorObject,\n\tColorPaletteProps,\n\tCustomColorPickerDropdownProps,\n\tMultiplePalettesProps,\n\tPaletteObject,\n\tSinglePaletteProps,\n} from './types';\nimport type { WordPressComponentProps } from '../context';\nimport type { DropdownProps } from '../dropdown/types';\nimport {\n\textractColorNameFromCurrentValue,\n\tisMultiplePaletteArray,\n\tnormalizeColorValue,\n} from './utils';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction SinglePalette( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\t...additionalProps\n}: SinglePaletteProps ) {\n\tconst colorOptions = useMemo( () => {\n\t\treturn colors.map( ( { color, name }, index ) => {\n\t\t\tconst colordColor = colord( color );\n\t\t\tconst isSelected = value === color;\n\n\t\t\treturn (\n\t\t\t\t<CircularOptionPicker.Option\n\t\t\t\t\tkey={ `${ color }-${ index }` }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tselectedIconProps={\n\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tfill:\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast() >\n\t\t\t\t\t\t\t\t\t\tcolordColor.contrast( '#000' )\n\t\t\t\t\t\t\t\t\t\t\t? '#fff'\n\t\t\t\t\t\t\t\t\t\t\t: '#000',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttooltipText={\n\t\t\t\t\t\tname ||\n\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t}\n\t\t\t\t\tstyle={ { backgroundColor: color, color } }\n\t\t\t\t\tonClick={\n\t\t\t\t\t\tisSelected ? clearColor : () => onChange( color, index )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ colors, value, onChange, clearColor ] );\n\n\treturn (\n\t\t<CircularOptionPicker.OptionGroup\n\t\t\tclassName={ className }\n\t\t\toptions={ colorOptions }\n\t\t\t{ ...additionalProps }\n\t\t/>\n\t);\n}\n\nfunction MultiplePalettes( {\n\tclassName,\n\tclearColor,\n\tcolors,\n\tonChange,\n\tvalue,\n\theadingLevel,\n}: MultiplePalettesProps ) {\n\tconst instanceId = useInstanceId( MultiplePalettes, 'color-palette' );\n\n\tif ( colors.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ colors.map( ( { name, colors: colorPalette }, index ) => {\n\t\t\t\tconst id = `${ 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 id={ id } level={ headingLevel }>\n\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t</ColorHeading>\n\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\tclearColor={ clearColor }\n\t\t\t\t\t\t\tcolors={ colorPalette }\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( newColor, 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\nexport function CustomColorPickerDropdown( {\n\tisRenderedInSidebar,\n\tpopoverProps: receivedPopoverProps,\n\t...props\n}: CustomColorPickerDropdownProps ) {\n\tconst popoverProps = useMemo< DropdownProps[ 'popoverProps' ] >(\n\t\t() => ( {\n\t\t\tshift: true,\n\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t// popover edge.\n\t\t\tresize: false,\n\t\t\t...( isRenderedInSidebar\n\t\t\t\t? {\n\t\t\t\t\t\t// When in the sidebar: open to the left (stacking),\n\t\t\t\t\t\t// leaving the same gap as the parent popover.\n\t\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t\toffset: 34,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t// Default behavior: open below the anchor\n\t\t\t\t\t\tplacement: 'bottom',\n\t\t\t\t\t\toffset: 8,\n\t\t\t\t } ),\n\t\t\t...receivedPopoverProps,\n\t\t} ),\n\t\t[ isRenderedInSidebar, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"components-color-palette__custom-color-dropdown-content\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction UnforwardedColorPalette(\n\tprops: WordPressComponentProps< ColorPaletteProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tasButtons,\n\t\tloop,\n\t\tclearable = true,\n\t\tcolors = [],\n\t\tdisableCustomColors = false,\n\t\tenableAlpha = false,\n\t\tonChange,\n\t\tvalue,\n\t\t__experimentalIsRenderedInSidebar = false,\n\t\theadingLevel = 2,\n\t\t'aria-label': ariaLabel,\n\t\t'aria-labelledby': ariaLabelledby,\n\t\t...additionalProps\n\t} = props;\n\tconst [ normalizedColorValue, setNormalizedColorValue ] = useState( value );\n\n\tconst clearColor = useCallback( () => onChange( undefined ), [ onChange ] );\n\n\tconst customColorPaletteCallbackRef = useCallback(\n\t\t( node: HTMLElement | null ) => {\n\t\t\tsetNormalizedColorValue( normalizeColorValue( value, node ) );\n\t\t},\n\t\t[ value ]\n\t);\n\n\tconst hasMultipleColorOrigins = isMultiplePaletteArray( colors );\n\tconst buttonLabelName = useMemo(\n\t\t() =>\n\t\t\textractColorNameFromCurrentValue(\n\t\t\t\tvalue,\n\t\t\t\tcolors,\n\t\t\t\thasMultipleColorOrigins\n\t\t\t),\n\t\t[ value, colors, hasMultipleColorOrigins ]\n\t);\n\n\tconst renderCustomColorPicker = () => (\n\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t<ColorPicker\n\t\t\t\tcolor={ normalizedColorValue }\n\t\t\t\tonChange={ ( color ) => onChange( color ) }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t/>\n\t\t</DropdownContentWrapper>\n\t);\n\tconst isHex = value?.startsWith( '#' );\n\n\t// Leave hex values as-is. Remove the `var()` wrapper from CSS vars.\n\tconst displayValue = value?.replace( /^var\\((.+)\\)$/, '$1' );\n\tconst customColorAccessibleLabel = !! displayValue\n\t\t? sprintf(\n\t\t\t\t// translators: 1: The name of the color e.g: \"vivid red\". 2: The color's hex code e.g: \"#f00\".\n\t\t\t\t__(\n\t\t\t\t\t'Custom color picker. The currently selected color is called \"%1$s\" and has a value of \"%2$s\".'\n\t\t\t\t),\n\t\t\t\tbuttonLabelName,\n\t\t\t\tdisplayValue\n\t\t )\n\t\t: __( 'Custom color picker.' );\n\n\tconst paletteCommonProps = {\n\t\tclearColor,\n\t\tonChange,\n\t\tvalue,\n\t};\n\n\tconst actions = !! clearable && (\n\t\t<CircularOptionPicker.ButtonAction\n\t\t\tonClick={ clearColor }\n\t\t\taccessibleWhenDisabled\n\t\t\tdisabled={ ! value }\n\t\t>\n\t\t\t{ __( 'Clear' ) }\n\t\t</CircularOptionPicker.ButtonAction>\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<VStack spacing={ 3 } ref={ forwardedRef } { ...additionalProps }>\n\t\t\t{ ! disableCustomColors && (\n\t\t\t\t<CustomColorPickerDropdown\n\t\t\t\t\tisRenderedInSidebar={ __experimentalIsRenderedInSidebar }\n\t\t\t\t\trenderContent={ renderCustomColorPicker }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-wrapper\"\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tref={ customColorPaletteCallbackRef }\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-label={ customColorAccessibleLabel }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackground: value,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__custom-color-text-wrapper\"\n\t\t\t\t\t\t\t\tspacing={ 0.5 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate className=\"components-color-palette__custom-color-name\">\n\t\t\t\t\t\t\t\t\t{ value\n\t\t\t\t\t\t\t\t\t\t? buttonLabelName\n\t\t\t\t\t\t\t\t\t\t: __( 'No color selected' ) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\tThis `Truncate` is always rendered, even if\n\t\t\t\t\t\t\t\tthere is no `displayValue`, to ensure the layout\n\t\t\t\t\t\t\t\tdoes not shift\n\t\t\t\t\t\t\t\t*/ }\n\t\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'components-color-palette__custom-color-value',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'components-color-palette__custom-color-value--is-hex':\n\t\t\t\t\t\t\t\t\t\t\t\tisHex,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ displayValue }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( colors.length > 0 || actions ) && (\n\t\t\t\t<CircularOptionPicker\n\t\t\t\t\t{ ...metaProps }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\toptions={\n\t\t\t\t\t\thasMultipleColorOrigins ? (\n\t\t\t\t\t\t\t<MultiplePalettes\n\t\t\t\t\t\t\t\t{ ...paletteCommonProps }\n\t\t\t\t\t\t\t\theadingLevel={ headingLevel }\n\t\t\t\t\t\t\t\tcolors={ colors as PaletteObject[] }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<SinglePalette\n\t\t\t\t\t\t\t\t{ ...paletteCommonProps }\n\t\t\t\t\t\t\t\tcolors={ colors as ColorObject[] }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Allows the user to pick a color from a list of pre-defined color entries.\n *\n * ```jsx\n * import { ColorPalette } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyColorPalette = () => {\n * const [ color, setColor ] = useState ( '#f00' )\n * const colors = [\n * { name: 'red', color: '#f00' },\n * { name: 'white', color: '#fff' },\n * { name: 'blue', color: '#00f' },\n * ];\n * return (\n * <ColorPalette\n * colors={ colors }\n * value={ color }\n * onChange={ ( color ) => setColor( color ) }\n * />\n * );\n * } );\n * ```\n */\nexport const ColorPalette = forwardRef( UnforwardedColorPalette );\n\nexport default ColorPalette;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ScrollView","TouchableWithoutFeedback","View","Animated","Easing","Dimensions","Platform","Text","__","sprintf","useRef","useEffect","usePreferredColorSchemeStyle","styles","ColorIndicator","colorsUtils","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ANIMATION_DURATION","contentWidth","scrollPosition","customIndicatorWidth","ColorPalette","enableCustomColor","setColor","activeColor","isGradientColor","defaultSettings","currentSegment","onCustomPress","shouldEnableBottomSheetScroll","shouldShowCustomIndicatorOption","shouldShowCustomLabel","shouldShowCustomVerticalSeparator","customColorIndicatorStyles","customIndicatorWrapperStyles","label","_defaultSettings$colo","_defaultSettings$grad","_defaultSettings$allC","_defaultSettings$allG","customSwatchGradients","scrollViewRef","isIOS","OS","isGradientSegment","segments","scale","Value","current","opacity","delayedScrollRef","mergedColors","Set","colors","map","color","mergedGradients","gradients","gradient","allAvailableColors","allColors","allAvailableGradients","allGradients","customIndicatorColor","isCustomGradientColor","isSelectedCustom","shouldShowCustomIndicator","accessibilityHint","customText","scrollToEndWithDelay","scrollTo","x","y","isWithinColors","includes","isSelected","timingAnimation","property","toValue","timing","duration","easing","ease","useNativeDriver","performAnimation","setValue","parallel","start","scaleInterpolation","interpolate","inputRange","outputRange","deselectCustomGradient","width","get","isVisible","getColorGradientName","value","fallbackName","foundColorName","find","name","onColorPress","onContentSizeChange","setTimeout","scrollToEnd","clearTimeout","onCustomIndicatorLayout","nativeEvent","layout","onScroll","contentOffset","verticalSeparatorStyle","verticalSeparator","verticalSeparatorDark","customTextStyle","customTextAndroid","customTextDark","customIndicatorWrapperStyle","customIndicatorWrapper","children","accessibilityRole","style","headerText","contentContainerStyle","contentContainer","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","disableScrollViewPanResponder","scrollEventThrottle","onScrollBeginDrag","onScrollEndDrag","ref","testID","scaleValue","colorName","onPress","accessibilityState","selected","accessibilityLabel","transform","colorIndicator","onLayout","withCustomPicker","toUpperCase"],"sources":["@wordpress/components/src/color-palette/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tScrollView,\n\tTouchableWithoutFeedback,\n\tView,\n\tAnimated,\n\tEasing,\n\tDimensions,\n\tPlatform,\n\tText,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport ColorIndicator from '../color-indicator';\nimport { colorsUtils } from '../mobile/color-settings/utils';\n\nconst ANIMATION_DURATION = 200;\n\nlet contentWidth = 0;\nlet scrollPosition = 0;\nlet customIndicatorWidth = 0;\n\nfunction ColorPalette( {\n\tenableCustomColor = false,\n\tsetColor,\n\tactiveColor,\n\tisGradientColor,\n\tdefaultSettings,\n\tcurrentSegment,\n\tonCustomPress,\n\tshouldEnableBottomSheetScroll,\n\tshouldShowCustomIndicatorOption = true,\n\tshouldShowCustomLabel = true,\n\tshouldShowCustomVerticalSeparator = true,\n\tcustomColorIndicatorStyles,\n\tcustomIndicatorWrapperStyles,\n\tlabel,\n} ) {\n\tconst customSwatchGradients = [\n\t\t'linear-gradient(120deg, rgba(255,0,0,.8) 0%, rgba(255,255,255,1) 70.71%)',\n\t\t'linear-gradient(240deg, rgba(0,255,0,.8) 0%, rgba(0,255,0,0) 70.71%)',\n\t\t'linear-gradient(360deg, rgba(0,0,255,.8) 0%, rgba(0,0,255,0) 70.71%)',\n\t];\n\n\tconst scrollViewRef = useRef();\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst isGradientSegment = currentSegment === colorsUtils.segments[ 1 ];\n\n\tconst scale = useRef( new Animated.Value( 1 ) ).current;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\tconst delayedScrollRef = useRef();\n\n\tconst mergedColors = [\n\t\t...new Set(\n\t\t\t( defaultSettings.colors ?? [] ).map( ( { color } ) => color )\n\t\t),\n\t];\n\tconst mergedGradients = [\n\t\t...new Set(\n\t\t\t( defaultSettings.gradients ?? [] ).map(\n\t\t\t\t( { gradient } ) => gradient\n\t\t\t)\n\t\t),\n\t];\n\tconst allAvailableColors = [\n\t\t...new Set(\n\t\t\t( defaultSettings.allColors ?? [] ).map( ( { color } ) => color )\n\t\t),\n\t];\n\tconst allAvailableGradients = [\n\t\t...new Set(\n\t\t\t( defaultSettings.allGradients ?? [] ).map(\n\t\t\t\t( { gradient } ) => gradient\n\t\t\t)\n\t\t),\n\t];\n\n\tconst colors = isGradientSegment ? mergedGradients : mergedColors;\n\tconst allColors = isGradientSegment\n\t\t? allAvailableGradients\n\t\t: allAvailableColors;\n\n\tconst customIndicatorColor = isGradientSegment\n\t\t? activeColor\n\t\t: customSwatchGradients;\n\tconst isCustomGradientColor = isGradientColor && isSelectedCustom();\n\tconst shouldShowCustomIndicator =\n\t\tenableCustomColor &&\n\t\tshouldShowCustomIndicatorOption &&\n\t\t( ! isGradientSegment || isCustomGradientColor );\n\n\tconst accessibilityHint = isGradientSegment\n\t\t? __( 'Navigates to customize the gradient' )\n\t\t: __( 'Navigates to custom color picker' );\n\tconst customText = __( 'Custom' );\n\n\tuseEffect( () => {\n\t\tif ( scrollViewRef.current ) {\n\t\t\tif ( isSelectedCustom() ) {\n\t\t\t\tscrollToEndWithDelay();\n\t\t\t} else {\n\t\t\t\tscrollViewRef.current.scrollTo( { x: 0, y: 0 } );\n\t\t\t}\n\t\t}\n\t\t// Not adding additional dependencies until the component can be refactored and updated safely.\n\t\t// Please see https://github.com/WordPress/gutenberg/pull/41253 for discussion and details.\n\t}, [ currentSegment ] );\n\n\tfunction isSelectedCustom() {\n\t\tconst isWithinColors =\n\t\t\tactiveColor && allColors?.includes( activeColor );\n\t\tif ( enableCustomColor && activeColor ) {\n\t\t\tif ( isGradientSegment ) {\n\t\t\t\treturn isGradientColor && ! isWithinColors;\n\t\t\t}\n\t\t\treturn ! isGradientColor && ! isWithinColors;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction isSelected( color ) {\n\t\treturn ! isSelectedCustom() && activeColor === color;\n\t}\n\n\tfunction timingAnimation( property, toValue ) {\n\t\treturn Animated.timing( property, {\n\t\t\ttoValue,\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: true,\n\t\t} );\n\t}\n\n\tfunction performAnimation( color ) {\n\t\tif ( ! isSelected( color ) ) {\n\t\t\topacity.setValue( 0 );\n\t\t}\n\n\t\tAnimated.parallel( [\n\t\t\ttimingAnimation( scale, 2 ),\n\t\t\ttimingAnimation( opacity, 1 ),\n\t\t] ).start( () => {\n\t\t\topacity.setValue( 1 );\n\t\t\tscale.setValue( 1 );\n\t\t} );\n\t}\n\n\tconst scaleInterpolation = scale.interpolate( {\n\t\tinputRange: [ 1, 1.5, 2 ],\n\t\toutputRange: [ 1, 0.7, 1 ],\n\t} );\n\n\tfunction deselectCustomGradient() {\n\t\tconst { width } = Dimensions.get( 'window' );\n\t\tconst isVisible =\n\t\t\tcontentWidth - scrollPosition - customIndicatorWidth < width;\n\n\t\tif ( isCustomGradientColor ) {\n\t\t\tif ( ! isIOS ) {\n\t\t\t\t// Scroll position on Android doesn't adjust automatically when removing the last item from the horizontal list.\n\t\t\t\t// https://github.com/facebook/react-native/issues/27504\n\t\t\t\t// Workaround: Force the scroll when deselecting custom gradient color and when custom indicator is visible on layout.\n\t\t\t\tif (\n\t\t\t\t\tisCustomGradientColor &&\n\t\t\t\t\tisVisible &&\n\t\t\t\t\tscrollViewRef.current\n\t\t\t\t) {\n\t\t\t\t\tscrollViewRef.current.scrollTo( {\n\t\t\t\t\t\tx: scrollPosition - customIndicatorWidth,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getColorGradientName( value ) {\n\t\tconst fallbackName = sprintf(\n\t\t\t/* translators: %s: the hex color value */\n\t\t\t__( 'Unlabeled color. %s' ),\n\t\t\tvalue\n\t\t);\n\t\tconst foundColorName = isGradientSegment\n\t\t\t? defaultSettings.gradients?.find(\n\t\t\t\t\t( gradient ) => gradient.gradient === value\n\t\t\t )\n\t\t\t: defaultSettings.allColors?.find(\n\t\t\t\t\t( color ) => color.color === value\n\t\t\t );\n\t\treturn foundColorName ? foundColorName?.name : fallbackName;\n\t}\n\n\tfunction onColorPress( color ) {\n\t\tdeselectCustomGradient();\n\t\tperformAnimation( color );\n\t\tsetColor( color );\n\t}\n\n\tfunction onContentSizeChange( width ) {\n\t\tcontentWidth = width;\n\t\tif ( isSelectedCustom() && scrollViewRef.current ) {\n\t\t\tscrollToEndWithDelay();\n\t\t}\n\t}\n\n\tfunction scrollToEndWithDelay() {\n\t\tdelayedScrollRef.current = setTimeout( () => {\n\t\t\tscrollViewRef?.current.scrollToEnd();\n\t\t}, ANIMATION_DURATION );\n\t\treturn () => {\n\t\t\tclearTimeout( delayedScrollRef.current );\n\t\t};\n\t}\n\n\tfunction onCustomIndicatorLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tif ( width !== customIndicatorWidth ) {\n\t\t\tcustomIndicatorWidth = width;\n\t\t}\n\t}\n\n\tfunction onScroll( { nativeEvent } ) {\n\t\tscrollPosition = nativeEvent.contentOffset.x;\n\t}\n\n\tconst verticalSeparatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.verticalSeparator,\n\t\tstyles.verticalSeparatorDark\n\t);\n\n\tconst customTextStyle = usePreferredColorSchemeStyle(\n\t\t[ styles.customText, ! isIOS && styles.customTextAndroid ],\n\t\tstyles.customTextDark\n\t);\n\n\tconst customIndicatorWrapperStyle = [\n\t\tstyles.customIndicatorWrapper,\n\t\tcustomIndicatorWrapperStyles,\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t{ label && (\n\t\t\t\t<Text accessibilityRole=\"header\" style={ styles.headerText }>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t) }\n\n\t\t\t<ScrollView\n\t\t\t\tcontentContainerStyle={ styles.contentContainer }\n\t\t\t\thorizontal\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\tdisableScrollViewPanResponder\n\t\t\t\tscrollEventThrottle={ 16 }\n\t\t\t\tonScroll={ onScroll }\n\t\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\t\tonScrollBeginDrag={ () =>\n\t\t\t\t\tshouldEnableBottomSheetScroll( false )\n\t\t\t\t}\n\t\t\t\tonScrollEndDrag={ () => shouldEnableBottomSheetScroll( true ) }\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\ttestID={ `color-palette${ label ? '-' + label : '' }` }\n\t\t\t>\n\t\t\t\t{ colors.map( ( color ) => {\n\t\t\t\t\tconst scaleValue = isSelected( color )\n\t\t\t\t\t\t? scaleInterpolation\n\t\t\t\t\t\t: 1;\n\t\t\t\t\tconst colorName = getColorGradientName( color );\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<View key={ `${ color }-${ isSelected( color ) }` }>\n\t\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\t\tonPress={ () => onColorPress( color ) }\n\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\t\tselected: isSelected( color ),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccessibilityHint={ color }\n\t\t\t\t\t\t\t\taccessibilityLabel={ colorName }\n\t\t\t\t\t\t\t\ttestID={ color }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Animated.View\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\t\t\tcolor={ color }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected( color ) }\n\t\t\t\t\t\t\t\t\t\topacity={ opacity }\n\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\tstyles.colorIndicator,\n\t\t\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles,\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Animated.View>\n\t\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ shouldShowCustomIndicator && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ customIndicatorWrapperStyle }\n\t\t\t\t\t\tonLayout={ onCustomIndicatorLayout }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ shouldShowCustomVerticalSeparator && (\n\t\t\t\t\t\t\t<View style={ verticalSeparatorStyle } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\tonPress={ onCustomPress }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: isSelectedCustom(),\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View style={ customIndicatorWrapperStyle }>\n\t\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\t\twithCustomPicker={ ! isGradientSegment }\n\t\t\t\t\t\t\t\t\tcolor={ customIndicatorColor }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelectedCustom() }\n\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\tstyles.colorIndicator,\n\t\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles,\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ shouldShowCustomLabel && (\n\t\t\t\t\t\t\t\t\t<Text style={ customTextStyle }>\n\t\t\t\t\t\t\t\t\t\t{ isIOS\n\t\t\t\t\t\t\t\t\t\t\t? customText\n\t\t\t\t\t\t\t\t\t\t\t: customText.toUpperCase() }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</ScrollView>\n\t\t</>\n\t);\n}\n\nexport default ColorPalette;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ScrollView","TouchableWithoutFeedback","View","Animated","Easing","Dimensions","Platform","Text","__","sprintf","useRef","useEffect","usePreferredColorSchemeStyle","styles","ColorIndicator","colorsUtils","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ANIMATION_DURATION","contentWidth","scrollPosition","customIndicatorWidth","ColorPalette","enableCustomColor","setColor","activeColor","isGradientColor","defaultSettings","currentSegment","onCustomPress","shouldEnableBottomSheetScroll","shouldShowCustomIndicatorOption","shouldShowCustomLabel","shouldShowCustomVerticalSeparator","customColorIndicatorStyles","customIndicatorWrapperStyles","label","_defaultSettings$colo","_defaultSettings$grad","_defaultSettings$allC","_defaultSettings$allG","customSwatchGradients","scrollViewRef","isIOS","OS","isGradientSegment","segments","scale","Value","current","opacity","delayedScrollRef","mergedColors","Set","colors","map","color","mergedGradients","gradients","gradient","allAvailableColors","allColors","allAvailableGradients","allGradients","customIndicatorColor","isCustomGradientColor","isSelectedCustom","shouldShowCustomIndicator","accessibilityHint","customText","scrollToEndWithDelay","scrollTo","x","y","isWithinColors","includes","isSelected","timingAnimation","property","toValue","timing","duration","easing","ease","useNativeDriver","performAnimation","setValue","parallel","start","scaleInterpolation","interpolate","inputRange","outputRange","deselectCustomGradient","width","get","isVisible","getColorGradientName","value","fallbackName","foundColorName","find","name","onColorPress","onContentSizeChange","setTimeout","scrollToEnd","clearTimeout","onCustomIndicatorLayout","nativeEvent","layout","onScroll","contentOffset","verticalSeparatorStyle","verticalSeparator","verticalSeparatorDark","customTextStyle","customTextAndroid","customTextDark","customIndicatorWrapperStyle","customIndicatorWrapper","children","accessibilityRole","style","headerText","contentContainerStyle","contentContainer","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","disableScrollViewPanResponder","scrollEventThrottle","onScrollBeginDrag","onScrollEndDrag","ref","testID","scaleValue","colorName","onPress","accessibilityState","selected","accessibilityLabel","transform","colorIndicator","onLayout","withCustomPicker","toUpperCase"],"sources":["@wordpress/components/src/color-palette/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tScrollView,\n\tTouchableWithoutFeedback,\n\tView,\n\tAnimated,\n\tEasing,\n\tDimensions,\n\tPlatform,\n\tText,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport ColorIndicator from '../color-indicator';\nimport { colorsUtils } from '../mobile/color-settings/utils';\n\nconst ANIMATION_DURATION = 200;\n\nlet contentWidth = 0;\nlet scrollPosition = 0;\nlet customIndicatorWidth = 0;\n\nfunction ColorPalette( {\n\tenableCustomColor = false,\n\tsetColor,\n\tactiveColor,\n\tisGradientColor,\n\tdefaultSettings,\n\tcurrentSegment,\n\tonCustomPress,\n\tshouldEnableBottomSheetScroll,\n\tshouldShowCustomIndicatorOption = true,\n\tshouldShowCustomLabel = true,\n\tshouldShowCustomVerticalSeparator = true,\n\tcustomColorIndicatorStyles,\n\tcustomIndicatorWrapperStyles,\n\tlabel,\n} ) {\n\tconst customSwatchGradients = [\n\t\t'linear-gradient(120deg, rgba(255,0,0,.8) 0%, rgba(255,255,255,1) 70.71%)',\n\t\t'linear-gradient(240deg, rgba(0,255,0,.8) 0%, rgba(0,255,0,0) 70.71%)',\n\t\t'linear-gradient(360deg, rgba(0,0,255,.8) 0%, rgba(0,0,255,0) 70.71%)',\n\t];\n\n\tconst scrollViewRef = useRef();\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst isGradientSegment = currentSegment === colorsUtils.segments[ 1 ];\n\n\tconst scale = useRef( new Animated.Value( 1 ) ).current;\n\tconst opacity = useRef( new Animated.Value( 1 ) ).current;\n\tconst delayedScrollRef = useRef();\n\n\tconst mergedColors = [\n\t\t...new Set(\n\t\t\t( defaultSettings.colors ?? [] ).map( ( { color } ) => color )\n\t\t),\n\t];\n\tconst mergedGradients = [\n\t\t...new Set(\n\t\t\t( defaultSettings.gradients ?? [] ).map(\n\t\t\t\t( { gradient } ) => gradient\n\t\t\t)\n\t\t),\n\t];\n\tconst allAvailableColors = [\n\t\t...new Set(\n\t\t\t( defaultSettings.allColors ?? [] ).map( ( { color } ) => color )\n\t\t),\n\t];\n\tconst allAvailableGradients = [\n\t\t...new Set(\n\t\t\t( defaultSettings.allGradients ?? [] ).map(\n\t\t\t\t( { gradient } ) => gradient\n\t\t\t)\n\t\t),\n\t];\n\n\tconst colors = isGradientSegment ? mergedGradients : mergedColors;\n\tconst allColors = isGradientSegment\n\t\t? allAvailableGradients\n\t\t: allAvailableColors;\n\n\tconst customIndicatorColor = isGradientSegment\n\t\t? activeColor\n\t\t: customSwatchGradients;\n\tconst isCustomGradientColor = isGradientColor && isSelectedCustom();\n\tconst shouldShowCustomIndicator =\n\t\tenableCustomColor &&\n\t\tshouldShowCustomIndicatorOption &&\n\t\t( ! isGradientSegment || isCustomGradientColor );\n\n\tconst accessibilityHint = isGradientSegment\n\t\t? __( 'Navigates to customize the gradient' )\n\t\t: __( 'Navigates to custom color picker' );\n\tconst customText = __( 'Custom' );\n\n\tuseEffect( () => {\n\t\tif ( scrollViewRef.current ) {\n\t\t\tif ( isSelectedCustom() ) {\n\t\t\t\tscrollToEndWithDelay();\n\t\t\t} else {\n\t\t\t\tscrollViewRef.current.scrollTo( { x: 0, y: 0 } );\n\t\t\t}\n\t\t}\n\t\t// Not adding additional dependencies until the component can be refactored and updated safely.\n\t\t// Please see https://github.com/WordPress/gutenberg/pull/41253 for discussion and details.\n\t}, [ currentSegment ] );\n\n\tfunction isSelectedCustom() {\n\t\tconst isWithinColors =\n\t\t\tactiveColor && allColors?.includes( activeColor );\n\t\tif ( enableCustomColor && activeColor ) {\n\t\t\tif ( isGradientSegment ) {\n\t\t\t\treturn isGradientColor && ! isWithinColors;\n\t\t\t}\n\t\t\treturn ! isGradientColor && ! isWithinColors;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction isSelected( color ) {\n\t\treturn ! isSelectedCustom() && activeColor === color;\n\t}\n\n\tfunction timingAnimation( property, toValue ) {\n\t\treturn Animated.timing( property, {\n\t\t\ttoValue,\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: true,\n\t\t} );\n\t}\n\n\tfunction performAnimation( color ) {\n\t\tif ( ! isSelected( color ) ) {\n\t\t\topacity.setValue( 0 );\n\t\t}\n\n\t\tAnimated.parallel( [\n\t\t\ttimingAnimation( scale, 2 ),\n\t\t\ttimingAnimation( opacity, 1 ),\n\t\t] ).start( () => {\n\t\t\topacity.setValue( 1 );\n\t\t\tscale.setValue( 1 );\n\t\t} );\n\t}\n\n\tconst scaleInterpolation = scale.interpolate( {\n\t\tinputRange: [ 1, 1.5, 2 ],\n\t\toutputRange: [ 1, 0.7, 1 ],\n\t} );\n\n\tfunction deselectCustomGradient() {\n\t\tconst { width } = Dimensions.get( 'window' );\n\t\tconst isVisible =\n\t\t\tcontentWidth - scrollPosition - customIndicatorWidth < width;\n\n\t\tif ( isCustomGradientColor ) {\n\t\t\tif ( ! isIOS ) {\n\t\t\t\t// Scroll position on Android doesn't adjust automatically when removing the last item from the horizontal list.\n\t\t\t\t// https://github.com/facebook/react-native/issues/27504\n\t\t\t\t// Workaround: Force the scroll when deselecting custom gradient color and when custom indicator is visible on layout.\n\t\t\t\tif (\n\t\t\t\t\tisCustomGradientColor &&\n\t\t\t\t\tisVisible &&\n\t\t\t\t\tscrollViewRef.current\n\t\t\t\t) {\n\t\t\t\t\tscrollViewRef.current.scrollTo( {\n\t\t\t\t\t\tx: scrollPosition - customIndicatorWidth,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getColorGradientName( value ) {\n\t\tconst fallbackName = sprintf(\n\t\t\t/* translators: %s: the hex color value */\n\t\t\t__( 'Unlabeled color. %s' ),\n\t\t\tvalue\n\t\t);\n\t\tconst foundColorName = isGradientSegment\n\t\t\t? defaultSettings.gradients?.find(\n\t\t\t\t\t( gradient ) => gradient.gradient === value\n\t\t\t )\n\t\t\t: defaultSettings.allColors?.find(\n\t\t\t\t\t( color ) => color.color === value\n\t\t\t );\n\t\treturn foundColorName ? foundColorName?.name : fallbackName;\n\t}\n\n\tfunction onColorPress( color ) {\n\t\tdeselectCustomGradient();\n\t\tperformAnimation( color );\n\t\tsetColor( color );\n\t}\n\n\tfunction onContentSizeChange( width ) {\n\t\tcontentWidth = width;\n\t\tif ( isSelectedCustom() && scrollViewRef.current ) {\n\t\t\tscrollToEndWithDelay();\n\t\t}\n\t}\n\n\tfunction scrollToEndWithDelay() {\n\t\tdelayedScrollRef.current = setTimeout( () => {\n\t\t\tscrollViewRef?.current.scrollToEnd();\n\t\t}, ANIMATION_DURATION );\n\t\treturn () => {\n\t\t\tclearTimeout( delayedScrollRef.current );\n\t\t};\n\t}\n\n\tfunction onCustomIndicatorLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tif ( width !== customIndicatorWidth ) {\n\t\t\tcustomIndicatorWidth = width;\n\t\t}\n\t}\n\n\tfunction onScroll( { nativeEvent } ) {\n\t\tscrollPosition = nativeEvent.contentOffset.x;\n\t}\n\n\tconst verticalSeparatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.verticalSeparator,\n\t\tstyles.verticalSeparatorDark\n\t);\n\n\tconst customTextStyle = usePreferredColorSchemeStyle(\n\t\t[ styles.customText, ! isIOS && styles.customTextAndroid ],\n\t\tstyles.customTextDark\n\t);\n\n\tconst customIndicatorWrapperStyle = [\n\t\tstyles.customIndicatorWrapper,\n\t\tcustomIndicatorWrapperStyles,\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t{ label && (\n\t\t\t\t<Text accessibilityRole=\"header\" style={ styles.headerText }>\n\t\t\t\t\t{ label }\n\t\t\t\t</Text>\n\t\t\t) }\n\n\t\t\t<ScrollView\n\t\t\t\tcontentContainerStyle={ styles.contentContainer }\n\t\t\t\thorizontal\n\t\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\tdisableScrollViewPanResponder\n\t\t\t\tscrollEventThrottle={ 16 }\n\t\t\t\tonScroll={ onScroll }\n\t\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\t\tonScrollBeginDrag={ () =>\n\t\t\t\t\tshouldEnableBottomSheetScroll( false )\n\t\t\t\t}\n\t\t\t\tonScrollEndDrag={ () => shouldEnableBottomSheetScroll( true ) }\n\t\t\t\tref={ scrollViewRef }\n\t\t\t\ttestID={ `color-palette${ label ? '-' + label : '' }` }\n\t\t\t>\n\t\t\t\t{ colors.map( ( color ) => {\n\t\t\t\t\tconst scaleValue = isSelected( color )\n\t\t\t\t\t\t? scaleInterpolation\n\t\t\t\t\t\t: 1;\n\t\t\t\t\tconst colorName = getColorGradientName( color );\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<View key={ `${ color }-${ isSelected( color ) }` }>\n\t\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\t\tonPress={ () => onColorPress( color ) }\n\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\t\tselected: isSelected( color ),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccessibilityHint={ color }\n\t\t\t\t\t\t\t\taccessibilityLabel={ colorName }\n\t\t\t\t\t\t\t\ttestID={ color }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Animated.View\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\ttransform: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\t\t\tcolor={ color }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected( color ) }\n\t\t\t\t\t\t\t\t\t\topacity={ opacity }\n\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\tstyles.colorIndicator,\n\t\t\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles,\n\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Animated.View>\n\t\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ shouldShowCustomIndicator && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ customIndicatorWrapperStyle }\n\t\t\t\t\t\tonLayout={ onCustomIndicatorLayout }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ shouldShowCustomVerticalSeparator && (\n\t\t\t\t\t\t\t<View style={ verticalSeparatorStyle } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\tonPress={ onCustomPress }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: isSelectedCustom(),\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View style={ customIndicatorWrapperStyle }>\n\t\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\t\twithCustomPicker={ ! isGradientSegment }\n\t\t\t\t\t\t\t\t\tcolor={ customIndicatorColor }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelectedCustom() }\n\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\tstyles.colorIndicator,\n\t\t\t\t\t\t\t\t\t\tcustomColorIndicatorStyles,\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ shouldShowCustomLabel && (\n\t\t\t\t\t\t\t\t\t<Text style={ customTextStyle }>\n\t\t\t\t\t\t\t\t\t\t{ isIOS\n\t\t\t\t\t\t\t\t\t\t\t? customText\n\t\t\t\t\t\t\t\t\t\t\t: customText.toUpperCase() }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</ScrollView>\n\t\t</>\n\t);\n}\n\nexport default ColorPalette;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,UAAU,EACVC,wBAAwB,EACxBC,IAAI,EACJC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,QAAQ,EACRC,IAAI,QACE,cAAc;;AAErB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,MAAM,EAAEC,SAAS,QAAQ,oBAAoB;AACtD,SAASC,4BAA4B,QAAQ,oBAAoB;;AAEjE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,SAASC,WAAW,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE7D,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,IAAIC,YAAY,GAAG,CAAC;AACpB,IAAIC,cAAc,GAAG,CAAC;AACtB,IAAIC,oBAAoB,GAAG,CAAC;AAE5B,SAASC,YAAYA,CAAE;EACtBC,iBAAiB,GAAG,KAAK;EACzBC,QAAQ;EACRC,WAAW;EACXC,eAAe;EACfC,eAAe;EACfC,cAAc;EACdC,aAAa;EACbC,6BAA6B;EAC7BC,+BAA+B,GAAG,IAAI;EACtCC,qBAAqB,GAAG,IAAI;EAC5BC,iCAAiC,GAAG,IAAI;EACxCC,0BAA0B;EAC1BC,4BAA4B;EAC5BC;AACD,CAAC,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EACH,MAAMC,qBAAqB,GAAG,CAC7B,0EAA0E,EAC1E,sEAAsE,EACtE,sEAAsE,CACtE;EAED,MAAMC,aAAa,GAAGpC,MAAM,CAAC,CAAC;EAC9B,MAAMqC,KAAK,GAAGzC,QAAQ,CAAC0C,EAAE,KAAK,KAAK;EAEnC,MAAMC,iBAAiB,GAAGjB,cAAc,KAAKjB,WAAW,CAACmC,QAAQ,CAAE,CAAC,CAAE;EAEtE,MAAMC,KAAK,GAAGzC,MAAM,CAAE,IAAIP,QAAQ,CAACiD,KAAK,CAAE,CAAE,CAAE,CAAC,CAACC,OAAO;EACvD,MAAMC,OAAO,GAAG5C,MAAM,CAAE,IAAIP,QAAQ,CAACiD,KAAK,CAAE,CAAE,CAAE,CAAC,CAACC,OAAO;EACzD,MAAME,gBAAgB,GAAG7C,MAAM,CAAC,CAAC;EAEjC,MAAM8C,YAAY,GAAG,CACpB,GAAG,IAAIC,GAAG,CACT,EAAAhB,qBAAA,GAAEV,eAAe,CAAC2B,MAAM,cAAAjB,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAGkB,GAAG,CAAE,CAAE;IAAEC;EAAM,CAAC,KAAMA,KAAM,CAC9D,CAAC,CACD;EACD,MAAMC,eAAe,GAAG,CACvB,GAAG,IAAIJ,GAAG,CACT,EAAAf,qBAAA,GAAEX,eAAe,CAAC+B,SAAS,cAAApB,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAGiB,GAAG,CACtC,CAAE;IAAEI;EAAS,CAAC,KAAMA,QACrB,CACD,CAAC,CACD;EACD,MAAMC,kBAAkB,GAAG,CAC1B,GAAG,IAAIP,GAAG,CACT,EAAAd,qBAAA,GAAEZ,eAAe,CAACkC,SAAS,cAAAtB,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAGgB,GAAG,CAAE,CAAE;IAAEC;EAAM,CAAC,KAAMA,KAAM,CACjE,CAAC,CACD;EACD,MAAMM,qBAAqB,GAAG,CAC7B,GAAG,IAAIT,GAAG,CACT,EAAAb,qBAAA,GAAEb,eAAe,CAACoC,YAAY,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAGe,GAAG,CACzC,CAAE;IAAEI;EAAS,CAAC,KAAMA,QACrB,CACD,CAAC,CACD;EAED,MAAML,MAAM,GAAGT,iBAAiB,GAAGY,eAAe,GAAGL,YAAY;EACjE,MAAMS,SAAS,GAAGhB,iBAAiB,GAChCiB,qBAAqB,GACrBF,kBAAkB;EAErB,MAAMI,oBAAoB,GAAGnB,iBAAiB,GAC3CpB,WAAW,GACXgB,qBAAqB;EACxB,MAAMwB,qBAAqB,GAAGvC,eAAe,IAAIwC,gBAAgB,CAAC,CAAC;EACnE,MAAMC,yBAAyB,GAC9B5C,iBAAiB,IACjBQ,+BAA+B,KAC7B,CAAEc,iBAAiB,IAAIoB,qBAAqB,CAAE;EAEjD,MAAMG,iBAAiB,GAAGvB,iBAAiB,GACxCzC,EAAE,CAAE,qCAAsC,CAAC,GAC3CA,EAAE,CAAE,kCAAmC,CAAC;EAC3C,MAAMiE,UAAU,GAAGjE,EAAE,CAAE,QAAS,CAAC;EAEjCG,SAAS,CAAE,MAAM;IAChB,IAAKmC,aAAa,CAACO,OAAO,EAAG;MAC5B,IAAKiB,gBAAgB,CAAC,CAAC,EAAG;QACzBI,oBAAoB,CAAC,CAAC;MACvB,CAAC,MAAM;QACN5B,aAAa,CAACO,OAAO,CAACsB,QAAQ,CAAE;UAAEC,CAAC,EAAE,CAAC;UAAEC,CAAC,EAAE;QAAE,CAAE,CAAC;MACjD;IACD;IACA;IACA;EACD,CAAC,EAAE,CAAE7C,cAAc,CAAG,CAAC;EAEvB,SAASsC,gBAAgBA,CAAA,EAAG;IAC3B,MAAMQ,cAAc,GACnBjD,WAAW,IAAIoC,SAAS,EAAEc,QAAQ,CAAElD,WAAY,CAAC;IAClD,IAAKF,iBAAiB,IAAIE,WAAW,EAAG;MACvC,IAAKoB,iBAAiB,EAAG;QACxB,OAAOnB,eAAe,IAAI,CAAEgD,cAAc;MAC3C;MACA,OAAO,CAAEhD,eAAe,IAAI,CAAEgD,cAAc;IAC7C;IACA,OAAO,KAAK;EACb;EAEA,SAASE,UAAUA,CAAEpB,KAAK,EAAG;IAC5B,OAAO,CAAEU,gBAAgB,CAAC,CAAC,IAAIzC,WAAW,KAAK+B,KAAK;EACrD;EAEA,SAASqB,eAAeA,CAAEC,QAAQ,EAAEC,OAAO,EAAG;IAC7C,OAAOhF,QAAQ,CAACiF,MAAM,CAAEF,QAAQ,EAAE;MACjCC,OAAO;MACPE,QAAQ,EAAE/D,kBAAkB;MAC5BgE,MAAM,EAAElF,MAAM,CAACmF,IAAI;MACnBC,eAAe,EAAE;IAClB,CAAE,CAAC;EACJ;EAEA,SAASC,gBAAgBA,CAAE7B,KAAK,EAAG;IAClC,IAAK,CAAEoB,UAAU,CAAEpB,KAAM,CAAC,EAAG;MAC5BN,OAAO,CAACoC,QAAQ,CAAE,CAAE,CAAC;IACtB;IAEAvF,QAAQ,CAACwF,QAAQ,CAAE,CAClBV,eAAe,CAAE9B,KAAK,EAAE,CAAE,CAAC,EAC3B8B,eAAe,CAAE3B,OAAO,EAAE,CAAE,CAAC,CAC5B,CAAC,CAACsC,KAAK,CAAE,MAAM;MAChBtC,OAAO,CAACoC,QAAQ,CAAE,CAAE,CAAC;MACrBvC,KAAK,CAACuC,QAAQ,CAAE,CAAE,CAAC;IACpB,CAAE,CAAC;EACJ;EAEA,MAAMG,kBAAkB,GAAG1C,KAAK,CAAC2C,WAAW,CAAE;IAC7CC,UAAU,EAAE,CAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAE;IACzBC,WAAW,EAAE,CAAE,CAAC,EAAE,GAAG,EAAE,CAAC;EACzB,CAAE,CAAC;EAEH,SAASC,sBAAsBA,CAAA,EAAG;IACjC,MAAM;MAAEC;IAAM,CAAC,GAAG7F,UAAU,CAAC8F,GAAG,CAAE,QAAS,CAAC;IAC5C,MAAMC,SAAS,GACd7E,YAAY,GAAGC,cAAc,GAAGC,oBAAoB,GAAGyE,KAAK;IAE7D,IAAK7B,qBAAqB,EAAG;MAC5B,IAAK,CAAEtB,KAAK,EAAG;QACd;QACA;QACA;QACA,IACCsB,qBAAqB,IACrB+B,SAAS,IACTtD,aAAa,CAACO,OAAO,EACpB;UACDP,aAAa,CAACO,OAAO,CAACsB,QAAQ,CAAE;YAC/BC,CAAC,EAAEpD,cAAc,GAAGC;UACrB,CAAE,CAAC;QACJ;MACD;IACD;EACD;EAEA,SAAS4E,oBAAoBA,CAAEC,KAAK,EAAG;IACtC,MAAMC,YAAY,GAAG9F,OAAO,CAC3B;IACAD,EAAE,CAAE,qBAAsB,CAAC,EAC3B8F,KACD,CAAC;IACD,MAAME,cAAc,GAAGvD,iBAAiB,GACrClB,eAAe,CAAC+B,SAAS,EAAE2C,IAAI,CAC7B1C,QAAQ,IAAMA,QAAQ,CAACA,QAAQ,KAAKuC,KACtC,CAAC,GACDvE,eAAe,CAACkC,SAAS,EAAEwC,IAAI,CAC7B7C,KAAK,IAAMA,KAAK,CAACA,KAAK,KAAK0C,KAC7B,CAAC;IACJ,OAAOE,cAAc,GAAGA,cAAc,EAAEE,IAAI,GAAGH,YAAY;EAC5D;EAEA,SAASI,YAAYA,CAAE/C,KAAK,EAAG;IAC9BqC,sBAAsB,CAAC,CAAC;IACxBR,gBAAgB,CAAE7B,KAAM,CAAC;IACzBhC,QAAQ,CAAEgC,KAAM,CAAC;EAClB;EAEA,SAASgD,mBAAmBA,CAAEV,KAAK,EAAG;IACrC3E,YAAY,GAAG2E,KAAK;IACpB,IAAK5B,gBAAgB,CAAC,CAAC,IAAIxB,aAAa,CAACO,OAAO,EAAG;MAClDqB,oBAAoB,CAAC,CAAC;IACvB;EACD;EAEA,SAASA,oBAAoBA,CAAA,EAAG;IAC/BnB,gBAAgB,CAACF,OAAO,GAAGwD,UAAU,CAAE,MAAM;MAC5C/D,aAAa,EAAEO,OAAO,CAACyD,WAAW,CAAC,CAAC;IACrC,CAAC,EAAExF,kBAAmB,CAAC;IACvB,OAAO,MAAM;MACZyF,YAAY,CAAExD,gBAAgB,CAACF,OAAQ,CAAC;IACzC,CAAC;EACF;EAEA,SAAS2D,uBAAuBA,CAAE;IAAEC;EAAY,CAAC,EAAG;IACnD,MAAM;MAAEf;IAAM,CAAC,GAAGe,WAAW,CAACC,MAAM;IACpC,IAAKhB,KAAK,KAAKzE,oBAAoB,EAAG;MACrCA,oBAAoB,GAAGyE,KAAK;IAC7B;EACD;EAEA,SAASiB,QAAQA,CAAE;IAAEF;EAAY,CAAC,EAAG;IACpCzF,cAAc,GAAGyF,WAAW,CAACG,aAAa,CAACxC,CAAC;EAC7C;EAEA,MAAMyC,sBAAsB,GAAGzG,4BAA4B,CAC1DC,MAAM,CAACyG,iBAAiB,EACxBzG,MAAM,CAAC0G,qBACR,CAAC;EAED,MAAMC,eAAe,GAAG5G,4BAA4B,CACnD,CAAEC,MAAM,CAAC4D,UAAU,EAAE,CAAE1B,KAAK,IAAIlC,MAAM,CAAC4G,iBAAiB,CAAE,EAC1D5G,MAAM,CAAC6G,cACR,CAAC;EAED,MAAMC,2BAA2B,GAAG,CACnC9G,MAAM,CAAC+G,sBAAsB,EAC7BrF,4BAA4B,CAC5B;EAED,oBACCpB,KAAA,CAAAE,SAAA;IAAAwG,QAAA,GACGrF,KAAK,iBACNvB,IAAA,CAACV,IAAI;MAACuH,iBAAiB,EAAC,QAAQ;MAACC,KAAK,EAAGlH,MAAM,CAACmH,UAAY;MAAAH,QAAA,EACzDrF;IAAK,CACF,CACN,eAEDrB,KAAA,CAACnB,UAAU;MACViI,qBAAqB,EAAGpH,MAAM,CAACqH,gBAAkB;MACjDC,UAAU;MACVC,8BAA8B,EAAG,KAAO;MACxCC,yBAAyB,EAAC,QAAQ;MAClCC,6BAA6B;MAC7BC,mBAAmB,EAAG,EAAI;MAC1BpB,QAAQ,EAAGA,QAAU;MACrBP,mBAAmB,EAAGA,mBAAqB;MAC3C4B,iBAAiB,EAAGA,CAAA,KACnBtG,6BAA6B,CAAE,KAAM,CACrC;MACDuG,eAAe,EAAGA,CAAA,KAAMvG,6BAA6B,CAAE,IAAK,CAAG;MAC/DwG,GAAG,EAAG5F,aAAe;MACrB6F,MAAM,EAAG,gBAAiBnG,KAAK,GAAG,GAAG,GAAGA,KAAK,GAAG,EAAE,EAAK;MAAAqF,QAAA,GAErDnE,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;QAC1B,MAAMgF,UAAU,GAAG5D,UAAU,CAAEpB,KAAM,CAAC,GACnCiC,kBAAkB,GAClB,CAAC;QACJ,MAAMgD,SAAS,GAAGxC,oBAAoB,CAAEzC,KAAM,CAAC;QAE/C,oBACC3C,IAAA,CAACf,IAAI;UAAA2H,QAAA,eACJ5G,IAAA,CAAChB,wBAAwB;YACxB6I,OAAO,EAAGA,CAAA,KAAMnC,YAAY,CAAE/C,KAAM,CAAG;YACvCkE,iBAAiB,EAAC,QAAQ;YAC1BiB,kBAAkB,EAAG;cACpBC,QAAQ,EAAEhE,UAAU,CAAEpB,KAAM;YAC7B,CAAG;YACHY,iBAAiB,EAAGZ,KAAO;YAC3BqF,kBAAkB,EAAGJ,SAAW;YAChCF,MAAM,EAAG/E,KAAO;YAAAiE,QAAA,eAEhB5G,IAAA,CAACd,QAAQ,CAACD,IAAI;cACb6H,KAAK,EAAG;gBACPmB,SAAS,EAAE,CACV;kBACC/F,KAAK,EAAEyF;gBACR,CAAC;cAEH,CAAG;cAAAf,QAAA,eAEH5G,IAAA,CAACH,cAAc;gBACd8C,KAAK,EAAGA,KAAO;gBACfoB,UAAU,EAAGA,UAAU,CAAEpB,KAAM,CAAG;gBAClCN,OAAO,EAAGA,OAAS;gBACnByE,KAAK,EAAG,CACPlH,MAAM,CAACsI,cAAc,EACrB7G,0BAA0B;cACxB,CACH;YAAC,CACY;UAAC,CACS;QAAC,GA9BhB,GAAIsB,KAAK,IAAMoB,UAAU,CAAEpB,KAAM,CAAC,EA+BxC,CAAC;MAET,CAAE,CAAC,EACDW,yBAAyB,iBAC1BpD,KAAA,CAACjB,IAAI;QACJ6H,KAAK,EAAGJ,2BAA6B;QACrCyB,QAAQ,EAAGpC,uBAAyB;QAAAa,QAAA,GAElCxF,iCAAiC,iBAClCpB,IAAA,CAACf,IAAI;UAAC6H,KAAK,EAAGV;QAAwB,CAAE,CACxC,eACDpG,IAAA,CAAChB,wBAAwB;UACxB6I,OAAO,EAAG7G,aAAe;UACzB6F,iBAAiB,EAAC,QAAQ;UAC1BiB,kBAAkB,EAAG;YACpBC,QAAQ,EAAE1E,gBAAgB,CAAC;UAC5B,CAAG;UACHE,iBAAiB,EAAGA,iBAAmB;UAAAqD,QAAA,eAEvC1G,KAAA,CAACjB,IAAI;YAAC6H,KAAK,EAAGJ,2BAA6B;YAAAE,QAAA,gBAC1C5G,IAAA,CAACH,cAAc;cACduI,gBAAgB,EAAG,CAAEpG,iBAAmB;cACxCW,KAAK,EAAGQ,oBAAsB;cAC9BY,UAAU,EAAGV,gBAAgB,CAAC,CAAG;cACjCyD,KAAK,EAAG,CACPlH,MAAM,CAACsI,cAAc,EACrB7G,0BAA0B;YACxB,CACH,CAAC,EACAF,qBAAqB,iBACtBnB,IAAA,CAACV,IAAI;cAACwH,KAAK,EAAGP,eAAiB;cAAAK,QAAA,EAC5B9E,KAAK,GACJ0B,UAAU,GACVA,UAAU,CAAC6E,WAAW,CAAC;YAAC,CACtB,CACN;UAAA,CACI;QAAC,CACkB,CAAC;MAAA,CACtB,CACN;IAAA,CACU,CAAC;EAAA,CACZ,CAAC;AAEL;AAEA,eAAe5H,YAAY","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","__","isSimpleCSSColor","value","valueIsCssVariable","test","valueIsColorMix","extractColorNameFromCurrentValue","currentValue","colors","showMultiplePalettes","currentValueIsSimpleColor","normalizedCurrentValue","toHex","colorPalettes","paletteColors","name","colorName","color","colorValue","normalizedColorValue","isMultiplePaletteObject","obj","Array","isArray","isMultiplePaletteArray","arr","length","every","colorObj","normalizeColorValue","element","ownerDocument","defaultView","computedBackgroundColor","getComputedStyle","backgroundColor"],"sources":["@wordpress/components/src/color-palette/utils.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { ColorObject, ColorPaletteProps, PaletteObject } from './types';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\n/**\n * Checks if a color value is a simple CSS color.\n *\n * @param value The color value to check.\n * @return A boolean indicating whether the color value is a simple CSS color.\n */\nconst isSimpleCSSColor = ( value: string ): boolean => {\n\tconst valueIsCssVariable = /var\\(/.test( value ?? '' );\n\tconst valueIsColorMix = /color-mix\\(/.test( value ?? '' );\n\treturn ! valueIsCssVariable && ! valueIsColorMix;\n};\n\nexport const extractColorNameFromCurrentValue = (\n\tcurrentValue?: ColorPaletteProps[ 'value' ],\n\tcolors: ColorPaletteProps[ 'colors' ] = [],\n\tshowMultiplePalettes: boolean = false\n) => {\n\tif ( ! currentValue ) {\n\t\treturn '';\n\t}\n\tconst currentValueIsSimpleColor = currentValue\n\t\t? isSimpleCSSColor( currentValue )\n\t\t: false;\n\tconst normalizedCurrentValue = currentValueIsSimpleColor\n\t\t? colord( currentValue ).toHex()\n\t\t: currentValue;\n\n\t// Normalize format of `colors` to simplify the following loop\n\ttype normalizedPaletteObject = { colors: ColorObject[] };\n\tconst colorPalettes: normalizedPaletteObject[] = showMultiplePalettes\n\t\t? ( colors as PaletteObject[] )\n\t\t: [ { colors: colors as ColorObject[] } ];\n\tfor ( const { colors: paletteColors } of colorPalettes ) {\n\t\tfor ( const { name: colorName, color: colorValue } of paletteColors ) {\n\t\t\tconst normalizedColorValue = currentValueIsSimpleColor\n\t\t\t\t? colord( colorValue ).toHex()\n\t\t\t\t: colorValue;\n\n\t\t\tif ( normalizedCurrentValue === normalizedColorValue ) {\n\t\t\t\treturn colorName;\n\t\t\t}\n\t\t}\n\t}\n\n\t// translators: shown when the user has picked a custom color (i.e not in the palette of colors).\n\treturn __( 'Custom' );\n};\n\n// The PaletteObject type has a `colors` property (an array of ColorObject),\n// while the ColorObject type has a `color` property (the CSS color value).\nexport const isMultiplePaletteObject = (\n\tobj: PaletteObject | ColorObject\n): obj is PaletteObject =>\n\tArray.isArray( ( obj as PaletteObject ).colors ) && ! ( 'color' in obj );\n\nexport const isMultiplePaletteArray = (\n\tarr: ( PaletteObject | ColorObject )[]\n): arr is PaletteObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( colorObj ) => isMultiplePaletteObject( colorObj ) )\n\t);\n};\n\n/**\n * Transform a CSS variable used as background color into the color value itself.\n *\n * @param value The color value that may be a CSS variable.\n * @param element The element for which to get the computed style.\n * @return The background color value computed from a element.\n */\nexport const normalizeColorValue = (\n\tvalue: string | undefined,\n\telement: HTMLElement | null\n) => {\n\tif ( ! value || ! element || isSimpleCSSColor( value ) ) {\n\t\treturn value;\n\t}\n\n\tconst { ownerDocument } = element;\n\tconst { defaultView } = ownerDocument;\n\tconst computedBackgroundColor =\n\t\tdefaultView?.getComputedStyle( element ).backgroundColor;\n\n\treturn computedBackgroundColor\n\t\t? colord( computedBackgroundColor ).toHex()\n\t\t: value;\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AACvC,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,UAAU,MAAM,qBAAqB;;AAE5C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAGAH,MAAM,CAAE,CAAEC,WAAW,EAAEC,UAAU,CAAG,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,gBAAgB,GAAKC,KAAa,IAAe;EACtD,MAAMC,kBAAkB,GAAG,OAAO,CAACC,IAAI,CAAEF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG,CAAC;EACtD,MAAMG,eAAe,GAAG,aAAa,CAACD,IAAI,CAAEF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG,CAAC;EACzD,OAAO,CAAEC,kBAAkB,IAAI,CAAEE,eAAe;AACjD,CAAC;AAED,OAAO,MAAMC,gCAAgC,GAAGA,CAC/CC,YAA2C,EAC3CC,MAAqC,GAAG,EAAE,EAC1CC,oBAA6B,GAAG,KAAK,KACjC;EACJ,IAAK,CAAEF,YAAY,EAAG;IACrB,OAAO,EAAE;EACV;EACA,MAAMG,yBAAyB,GAAGH,YAAY,GAC3CN,gBAAgB,CAAEM,YAAa,CAAC,GAChC,KAAK;EACR,MAAMI,sBAAsB,GAAGD,yBAAyB,GACrDd,MAAM,CAAEW,YAAa,CAAC,CAACK,KAAK,CAAC,CAAC,GAC9BL,YAAY;;EAEf;;EAEA,MAAMM,aAAwC,GAAGJ,oBAAoB,GAChED,MAAM,GACR,CAAE;IAAEA,MAAM,EAAEA;EAAwB,CAAC,CAAE;EAC1C,KAAM,MAAM;IAAEA,MAAM,EAAEM;EAAc,CAAC,IAAID,aAAa,EAAG;IACxD,KAAM,MAAM;MAAEE,IAAI,EAAEC,SAAS;MAAEC,KAAK,EAAEC;IAAW,CAAC,IAAIJ,aAAa,EAAG;MACrE,MAAMK,oBAAoB,GAAGT,yBAAyB,GACnDd,MAAM,CAAEsB,UAAW,CAAC,CAACN,KAAK,CAAC,CAAC,GAC5BM,UAAU;MAEb,IAAKP,sBAAsB,KAAKQ,oBAAoB,EAAG;QACtD,OAAOH,SAAS;MACjB;IACD;EACD;;EAEA;EACA,OAAOhB,EAAE,CAAE,QAAS,CAAC;AACtB,CAAC;;AAED;AACA;AACA,OAAO,MAAMoB,uBAAuB,GACnCC,GAAgC,IAEhCC,KAAK,CAACC,OAAO,CAAIF,GAAG,CAAoBb,MAAO,CAAC,IAAI,EAAI,OAAO,IAAIa,GAAG,CAAE;AAEzE,OAAO,MAAMG,sBAAsB,GAClCC,GAAsC,IACV;EAC5B,OACCA,GAAG,CAACC,MAAM,GAAG,CAAC,IACdD,GAAG,CAACE,KAAK,CAAIC,QAAQ,IAAMR,uBAAuB,CAAEQ,QAAS,CAAE,CAAC;AAElE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAClC3B,KAAyB,EACzB4B,OAA2B,KACvB;EACJ,IAAK,CAAE5B,KAAK,IAAI,CAAE4B,OAAO,IAAI7B,gBAAgB,CAAEC,KAAM,CAAC,EAAG;IACxD,OAAOA,KAAK;EACb;EAEA,MAAM;IAAE6B;EAAc,CAAC,GAAGD,OAAO;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGD,aAAa;EACrC,MAAME,uBAAuB,GAC5BD,WAAW,EAAEE,gBAAgB,CAAEJ,OAAQ,CAAC,CAACK,eAAe;EAEzD,OAAOF,uBAAuB,GAC3BrC,MAAM,CAAEqC,uBAAwB,CAAC,CAACrB,KAAK,CAAC,CAAC,GACzCV,KAAK;AACT,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","__","isSimpleCSSColor","value","valueIsCssVariable","test","valueIsColorMix","extractColorNameFromCurrentValue","currentValue","colors","showMultiplePalettes","currentValueIsSimpleColor","normalizedCurrentValue","toHex","colorPalettes","paletteColors","name","colorName","color","colorValue","normalizedColorValue","isMultiplePaletteObject","obj","Array","isArray","isMultiplePaletteArray","arr","length","every","colorObj","normalizeColorValue","element","ownerDocument","defaultView","computedBackgroundColor","getComputedStyle","backgroundColor"],"sources":["@wordpress/components/src/color-palette/utils.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { ColorObject, ColorPaletteProps, PaletteObject } from './types';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\n/**\n * Checks if a color value is a simple CSS color.\n *\n * @param value The color value to check.\n * @return A boolean indicating whether the color value is a simple CSS color.\n */\nconst isSimpleCSSColor = ( value: string ): boolean => {\n\tconst valueIsCssVariable = /var\\(/.test( value ?? '' );\n\tconst valueIsColorMix = /color-mix\\(/.test( value ?? '' );\n\treturn ! valueIsCssVariable && ! valueIsColorMix;\n};\n\nexport const extractColorNameFromCurrentValue = (\n\tcurrentValue?: ColorPaletteProps[ 'value' ],\n\tcolors: ColorPaletteProps[ 'colors' ] = [],\n\tshowMultiplePalettes: boolean = false\n) => {\n\tif ( ! currentValue ) {\n\t\treturn '';\n\t}\n\tconst currentValueIsSimpleColor = currentValue\n\t\t? isSimpleCSSColor( currentValue )\n\t\t: false;\n\tconst normalizedCurrentValue = currentValueIsSimpleColor\n\t\t? colord( currentValue ).toHex()\n\t\t: currentValue;\n\n\t// Normalize format of `colors` to simplify the following loop\n\ttype normalizedPaletteObject = { colors: ColorObject[] };\n\tconst colorPalettes: normalizedPaletteObject[] = showMultiplePalettes\n\t\t? ( colors as PaletteObject[] )\n\t\t: [ { colors: colors as ColorObject[] } ];\n\tfor ( const { colors: paletteColors } of colorPalettes ) {\n\t\tfor ( const { name: colorName, color: colorValue } of paletteColors ) {\n\t\t\tconst normalizedColorValue = currentValueIsSimpleColor\n\t\t\t\t? colord( colorValue ).toHex()\n\t\t\t\t: colorValue;\n\n\t\t\tif ( normalizedCurrentValue === normalizedColorValue ) {\n\t\t\t\treturn colorName;\n\t\t\t}\n\t\t}\n\t}\n\n\t// translators: shown when the user has picked a custom color (i.e not in the palette of colors).\n\treturn __( 'Custom' );\n};\n\n// The PaletteObject type has a `colors` property (an array of ColorObject),\n// while the ColorObject type has a `color` property (the CSS color value).\nexport const isMultiplePaletteObject = (\n\tobj: PaletteObject | ColorObject\n): obj is PaletteObject =>\n\tArray.isArray( ( obj as PaletteObject ).colors ) && ! ( 'color' in obj );\n\nexport const isMultiplePaletteArray = (\n\tarr: ( PaletteObject | ColorObject )[]\n): arr is PaletteObject[] => {\n\treturn (\n\t\tarr.length > 0 &&\n\t\tarr.every( ( colorObj ) => isMultiplePaletteObject( colorObj ) )\n\t);\n};\n\n/**\n * Transform a CSS variable used as background color into the color value itself.\n *\n * @param value The color value that may be a CSS variable.\n * @param element The element for which to get the computed style.\n * @return The background color value computed from a element.\n */\nexport const normalizeColorValue = (\n\tvalue: string | undefined,\n\telement: HTMLElement | null\n) => {\n\tif ( ! value || ! element || isSimpleCSSColor( value ) ) {\n\t\treturn value;\n\t}\n\n\tconst { ownerDocument } = element;\n\tconst { defaultView } = ownerDocument;\n\tconst computedBackgroundColor =\n\t\tdefaultView?.getComputedStyle( element ).backgroundColor;\n\n\treturn computedBackgroundColor\n\t\t? colord( computedBackgroundColor ).toHex()\n\t\t: value;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AACvC,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,UAAU,MAAM,qBAAqB;;AAE5C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;;AAGAH,MAAM,CAAE,CAAEC,WAAW,EAAEC,UAAU,CAAG,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,gBAAgB,GAAKC,KAAa,IAAe;EACtD,MAAMC,kBAAkB,GAAG,OAAO,CAACC,IAAI,CAAEF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG,CAAC;EACtD,MAAMG,eAAe,GAAG,aAAa,CAACD,IAAI,CAAEF,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG,CAAC;EACzD,OAAO,CAAEC,kBAAkB,IAAI,CAAEE,eAAe;AACjD,CAAC;AAED,OAAO,MAAMC,gCAAgC,GAAGA,CAC/CC,YAA2C,EAC3CC,MAAqC,GAAG,EAAE,EAC1CC,oBAA6B,GAAG,KAAK,KACjC;EACJ,IAAK,CAAEF,YAAY,EAAG;IACrB,OAAO,EAAE;EACV;EACA,MAAMG,yBAAyB,GAAGH,YAAY,GAC3CN,gBAAgB,CAAEM,YAAa,CAAC,GAChC,KAAK;EACR,MAAMI,sBAAsB,GAAGD,yBAAyB,GACrDd,MAAM,CAAEW,YAAa,CAAC,CAACK,KAAK,CAAC,CAAC,GAC9BL,YAAY;;EAEf;;EAEA,MAAMM,aAAwC,GAAGJ,oBAAoB,GAChED,MAAM,GACR,CAAE;IAAEA,MAAM,EAAEA;EAAwB,CAAC,CAAE;EAC1C,KAAM,MAAM;IAAEA,MAAM,EAAEM;EAAc,CAAC,IAAID,aAAa,EAAG;IACxD,KAAM,MAAM;MAAEE,IAAI,EAAEC,SAAS;MAAEC,KAAK,EAAEC;IAAW,CAAC,IAAIJ,aAAa,EAAG;MACrE,MAAMK,oBAAoB,GAAGT,yBAAyB,GACnDd,MAAM,CAAEsB,UAAW,CAAC,CAACN,KAAK,CAAC,CAAC,GAC5BM,UAAU;MAEb,IAAKP,sBAAsB,KAAKQ,oBAAoB,EAAG;QACtD,OAAOH,SAAS;MACjB;IACD;EACD;;EAEA;EACA,OAAOhB,EAAE,CAAE,QAAS,CAAC;AACtB,CAAC;;AAED;AACA;AACA,OAAO,MAAMoB,uBAAuB,GACnCC,GAAgC,IAEhCC,KAAK,CAACC,OAAO,CAAIF,GAAG,CAAoBb,MAAO,CAAC,IAAI,EAAI,OAAO,IAAIa,GAAG,CAAE;AAEzE,OAAO,MAAMG,sBAAsB,GAClCC,GAAsC,IACV;EAC5B,OACCA,GAAG,CAACC,MAAM,GAAG,CAAC,IACdD,GAAG,CAACE,KAAK,CAAIC,QAAQ,IAAMR,uBAAuB,CAAEQ,QAAS,CAAE,CAAC;AAElE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAClC3B,KAAyB,EACzB4B,OAA2B,KACvB;EACJ,IAAK,CAAE5B,KAAK,IAAI,CAAE4B,OAAO,IAAI7B,gBAAgB,CAAEC,KAAM,CAAC,EAAG;IACxD,OAAOA,KAAK;EACb;EAEA,MAAM;IAAE6B;EAAc,CAAC,GAAGD,OAAO;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGD,aAAa;EACrC,MAAME,uBAAuB,GAC5BD,WAAW,EAAEE,gBAAgB,CAAEJ,OAAQ,CAAC,CAACK,eAAe;EAEzD,OAAOF,uBAAuB,GAC3BrC,MAAM,CAAEqC,uBAAwB,CAAC,CAACrB,KAAK,CAAC,CAAC,GACzCV,KAAK;AACT,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -28,6 +27,7 @@ import { normalizeTextString } from '../utils/strings';
28
27
  import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
29
28
  import { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';
30
29
  import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
30
+ import Spinner from '../spinner';
31
31
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
32
  const noop = () => {};
33
33
  const DetectOutside = withFocusOutside(class extends Component {
@@ -104,6 +104,7 @@ function ComboboxControl(props) {
104
104
  help,
105
105
  allowReset = true,
106
106
  className,
107
+ isLoading = false,
107
108
  messages = {
108
109
  selected: __('Item selected.')
109
110
  },
@@ -289,7 +290,7 @@ function ComboboxControl(props) {
289
290
  selectedSuggestionIndex: getIndexOfMatchingSuggestion(selectedSuggestion, matchingSuggestions),
290
291
  onChange: onInputChange
291
292
  })
292
- }), allowReset && /*#__PURE__*/_jsx(Button, {
293
+ }), isLoading && /*#__PURE__*/_jsx(Spinner, {}), allowReset && /*#__PURE__*/_jsx(Button, {
293
294
  size: "small",
294
295
  icon: closeSmall
295
296
  // Disable reason: Focus returns to input field when reset is clicked.
@@ -300,7 +301,7 @@ function ComboboxControl(props) {
300
301
  onKeyDown: handleResetStopPropagation,
301
302
  label: __('Reset')
302
303
  })]
303
- }), isExpanded && /*#__PURE__*/_jsx(SuggestionsList, {
304
+ }), isExpanded && !isLoading && /*#__PURE__*/_jsx(SuggestionsList, {
304
305
  instanceId: instanceId
305
306
  // The empty string for `value` here is not actually used, but is
306
307
  // just a quick way to satisfy the TypeScript requirements of SuggestionsList.
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","withFocusOutside","useControlledValue","normalizeTextString","useDeprecated36pxDefaultSizeProp","withIgnoreIMEEvents","maybeWarnDeprecated36pxSize","jsx","_jsx","jsxs","_jsxs","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","getIndexOfMatchingSuggestion","selectedSuggestion","matchingSuggestions","indexOf","ComboboxControl","_currentOption$label","__nextHasNoMarginBottom","__next40pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","messages","selected","__experimentalRenderItem","expandOnFocus","placeholder","setValue","currentOption","find","option","currentLabel","instanceId","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","startsWithMatch","containsMatch","match","forEach","index","push","concat","onSuggestionSelected","newSelectedSuggestion","disabled","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","code","onBlur","onFocus","onClick","onInputChange","text","handleOnReset","current","focus","handleResetStopPropagation","stopPropagation","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","componentName","size","undefined","__associatedWPComponentName","id","tabIndex","ref","selectedSuggestionIndex","icon","displayTransform","suggestion","suggestions","selectedIndex","onHover","onSelect","scrollIntoView"],"sources":["@wordpress/components/src/combobox-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\nimport { normalizeTextString } from '../utils/strings';\nimport type { ComboboxControlOption, ComboboxControlProps } from './types';\nimport type { TokenInputProps } from '../form-token-field/types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\n\nconst noop = () => {};\n\ninterface DetectOutsideComponentProps {\n\tonFocusOutside: ( event: React.FocusEvent ) => void;\n\tchildren?: React.ReactNode;\n}\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component< DetectOutsideComponentProps > {\n\t\thandleFocusOutside( event: React.FocusEvent ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nconst getIndexOfMatchingSuggestion = (\n\tselectedSuggestion: ComboboxControlOption | null,\n\tmatchingSuggestions: ComboboxControlOption[]\n) =>\n\tselectedSuggestion === null\n\t\t? -1\n\t\t: matchingSuggestions.indexOf( selectedSuggestion );\n\n/**\n * `ComboboxControl` is an enhanced version of a [`SelectControl`](../select-control/README.md) with the addition of\n * being able to search for options using a search input.\n *\n * ```jsx\n * import { ComboboxControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const options = [\n * \t{\n * \t\tvalue: 'small',\n * \t\tlabel: 'Small',\n * \t},\n * \t{\n * \t\tvalue: 'normal',\n * \t\tlabel: 'Normal',\n * \t\tdisabled: true,\n * \t},\n * \t{\n * \t\tvalue: 'large',\n * \t\tlabel: 'Large',\n * \t\tdisabled: false,\n * \t},\n * ];\n *\n * function MyComboboxControl() {\n * \tconst [ fontSize, setFontSize ] = useState();\n * \tconst [ filteredOptions, setFilteredOptions ] = useState( options );\n * \treturn (\n * \t\t<ComboboxControl\n * \t\t\t__next40pxDefaultSize\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\tlabel=\"Font Size\"\n * \t\t\tvalue={ fontSize }\n * \t\t\tonChange={ setFontSize }\n * \t\t\toptions={ filteredOptions }\n * \t\t\tonFilterValueChange={ ( inputValue ) =>\n * \t\t\t\tsetFilteredOptions(\n * \t\t\t\t\toptions.filter( ( option ) =>\n * \t\t\t\t\t\toption.label\n * \t\t\t\t\t\t\t.toLowerCase()\n * \t\t\t\t\t\t\t.startsWith( inputValue.toLowerCase() )\n * \t\t\t\t\t)\n * \t\t\t\t)\n * \t\t\t}\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction ComboboxControl( props: ComboboxControlProps ) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tvalue: valueProp,\n\t\tlabel,\n\t\toptions,\n\t\tonChange: onChangeProp,\n\t\tonFilterValueChange = noop,\n\t\thideLabelFromVision,\n\t\thelp,\n\t\tallowReset = true,\n\t\tclassName,\n\t\tmessages = {\n\t\t\tselected: __( 'Item selected.' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\texpandOnFocus = true,\n\t\tplaceholder,\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef< HTMLInputElement >( null );\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch: ComboboxControlOption[] = [];\n\t\tconst containsMatch: ComboboxControlOption[] = [];\n\t\tconst match = normalizeTextString( inputValue );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = normalizeTextString( option.label ).indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options ] );\n\n\tconst onSuggestionSelected = (\n\t\tnewSelectedSuggestion: ComboboxControlOption\n\t) => {\n\t\tif ( newSelectedSuggestion.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = getIndexOfMatchingSuggestion(\n\t\t\tselectedSuggestion,\n\t\t\tmatchingSuggestions\n\t\t);\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLDivElement > =\n\t\twithIgnoreIMEEvents( ( event ) => {\n\t\t\tlet preventDefault = false;\n\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tswitch ( event.code ) {\n\t\t\t\tcase 'Enter':\n\t\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tsetIsExpanded( false );\n\t\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( preventDefault ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t} );\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tif ( expandOnFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onClick = () => {\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange: TokenInputProps[ 'onChange' ] = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current?.focus();\n\t};\n\n\t// Stop propagation of the keydown event when pressing Enter on the Reset\n\t// button to prevent calling the onKeydown callback on the container div\n\t// element which actually sets the selected suggestion.\n\tconst handleResetStopPropagation: React.KeyboardEventHandler<\n\t\tHTMLButtonElement\n\t> = ( event ) => {\n\t\tevent.stopPropagation();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tgetIndexOfMatchingSuggestion(\n\t\t\t\tselectedSuggestion,\n\t\t\t\tmatchingSuggestions\n\t\t\t) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\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\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'ComboboxControl',\n\t\t__next40pxDefaultSize,\n\t\tsize: undefined,\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<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t__associatedWPComponentName=\"ComboboxControl\"\n\t\t\t\tclassName={ clsx( className, 'components-combobox-control' ) }\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t// Disable reason: Focus returns to input field when reset is clicked.\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\tonKeyDown={ handleResetStopPropagation }\n\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t// The empty string for `value` here is not actually used, but is\n\t\t\t\t\t\t\t// just a quick way to satisfy the TypeScript requirements of SuggestionsList.\n\t\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/47581/files#r1091089330\n\t\t\t\t\t\t\tmatch={ { label: inputValue, value: '' } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","withFocusOutside","useControlledValue","normalizeTextString","useDeprecated36pxDefaultSizeProp","withIgnoreIMEEvents","maybeWarnDeprecated36pxSize","Spinner","jsx","_jsx","jsxs","_jsxs","noop","DetectOutside","handleFocusOutside","event","props","onFocusOutside","render","children","getIndexOfMatchingSuggestion","selectedSuggestion","matchingSuggestions","indexOf","ComboboxControl","_currentOption$label","__nextHasNoMarginBottom","__next40pxDefaultSize","value","valueProp","label","options","onChange","onChangeProp","onFilterValueChange","hideLabelFromVision","help","allowReset","className","isLoading","messages","selected","__experimentalRenderItem","expandOnFocus","placeholder","setValue","currentOption","find","option","currentLabel","instanceId","setSelectedSuggestion","isExpanded","setIsExpanded","inputHasFocus","setInputHasFocus","inputValue","setInputValue","inputContainer","startsWithMatch","containsMatch","match","forEach","index","push","concat","onSuggestionSelected","newSelectedSuggestion","disabled","handleArrowNavigation","offset","nextIndex","length","onKeyDown","preventDefault","defaultPrevented","code","onBlur","onFocus","onClick","onInputChange","text","handleOnReset","current","focus","handleResetStopPropagation","stopPropagation","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","componentName","size","undefined","__associatedWPComponentName","id","tabIndex","ref","selectedSuggestionIndex","icon","displayTransform","suggestion","suggestions","selectedIndex","onHover","onSelect","scrollIntoView"],"sources":["@wordpress/components/src/combobox-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tComponent,\n\tuseState,\n\tuseMemo,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { InputWrapperFlex } from './styles';\nimport TokenInput from '../form-token-field/token-input';\nimport SuggestionsList from '../form-token-field/suggestions-list';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport { FlexBlock } from '../flex';\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport { useControlledValue } from '../utils/hooks';\nimport { normalizeTextString } from '../utils/strings';\nimport type { ComboboxControlOption, ComboboxControlProps } from './types';\nimport type { TokenInputProps } from '../form-token-field/types';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\nimport { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';\nimport Spinner from '../spinner';\n\nconst noop = () => {};\n\ninterface DetectOutsideComponentProps {\n\tonFocusOutside: ( event: React.FocusEvent ) => void;\n\tchildren?: React.ReactNode;\n}\n\nconst DetectOutside = withFocusOutside(\n\tclass extends Component< DetectOutsideComponentProps > {\n\t\thandleFocusOutside( event: React.FocusEvent ) {\n\t\t\tthis.props.onFocusOutside( event );\n\t\t}\n\n\t\trender() {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n);\n\nconst getIndexOfMatchingSuggestion = (\n\tselectedSuggestion: ComboboxControlOption | null,\n\tmatchingSuggestions: ComboboxControlOption[]\n) =>\n\tselectedSuggestion === null\n\t\t? -1\n\t\t: matchingSuggestions.indexOf( selectedSuggestion );\n\n/**\n * `ComboboxControl` is an enhanced version of a [`SelectControl`](../select-control/README.md) with the addition of\n * being able to search for options using a search input.\n *\n * ```jsx\n * import { ComboboxControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const options = [\n * \t{\n * \t\tvalue: 'small',\n * \t\tlabel: 'Small',\n * \t},\n * \t{\n * \t\tvalue: 'normal',\n * \t\tlabel: 'Normal',\n * \t\tdisabled: true,\n * \t},\n * \t{\n * \t\tvalue: 'large',\n * \t\tlabel: 'Large',\n * \t\tdisabled: false,\n * \t},\n * ];\n *\n * function MyComboboxControl() {\n * \tconst [ fontSize, setFontSize ] = useState();\n * \tconst [ filteredOptions, setFilteredOptions ] = useState( options );\n * \treturn (\n * \t\t<ComboboxControl\n * \t\t\t__next40pxDefaultSize\n * \t\t\t__nextHasNoMarginBottom\n * \t\t\tlabel=\"Font Size\"\n * \t\t\tvalue={ fontSize }\n * \t\t\tonChange={ setFontSize }\n * \t\t\toptions={ filteredOptions }\n * \t\t\tonFilterValueChange={ ( inputValue ) =>\n * \t\t\t\tsetFilteredOptions(\n * \t\t\t\t\toptions.filter( ( option ) =>\n * \t\t\t\t\t\toption.label\n * \t\t\t\t\t\t\t.toLowerCase()\n * \t\t\t\t\t\t\t.startsWith( inputValue.toLowerCase() )\n * \t\t\t\t\t)\n * \t\t\t\t)\n * \t\t\t}\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction ComboboxControl( props: ComboboxControlProps ) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\t__next40pxDefaultSize = false,\n\t\tvalue: valueProp,\n\t\tlabel,\n\t\toptions,\n\t\tonChange: onChangeProp,\n\t\tonFilterValueChange = noop,\n\t\thideLabelFromVision,\n\t\thelp,\n\t\tallowReset = true,\n\t\tclassName,\n\t\tisLoading = false,\n\t\tmessages = {\n\t\t\tselected: __( 'Item selected.' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\texpandOnFocus = true,\n\t\tplaceholder,\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\n\tconst [ value, setValue ] = useControlledValue( {\n\t\tvalue: valueProp,\n\t\tonChange: onChangeProp,\n\t} );\n\n\tconst currentOption = options.find( ( option ) => option.value === value );\n\tconst currentLabel = currentOption?.label ?? '';\n\t// Use a custom prefix when generating the `instanceId` to avoid having\n\t// duplicate input IDs when rendering this component and `FormTokenField`\n\t// in the same page (see https://github.com/WordPress/gutenberg/issues/42112).\n\tconst instanceId = useInstanceId( ComboboxControl, 'combobox-control' );\n\tconst [ selectedSuggestion, setSelectedSuggestion ] = useState(\n\t\tcurrentOption || null\n\t);\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ inputHasFocus, setInputHasFocus ] = useState( false );\n\tconst [ inputValue, setInputValue ] = useState( '' );\n\tconst inputContainer = useRef< HTMLInputElement >( null );\n\n\tconst matchingSuggestions = useMemo( () => {\n\t\tconst startsWithMatch: ComboboxControlOption[] = [];\n\t\tconst containsMatch: ComboboxControlOption[] = [];\n\t\tconst match = normalizeTextString( inputValue );\n\t\toptions.forEach( ( option ) => {\n\t\t\tconst index = normalizeTextString( option.label ).indexOf( match );\n\t\t\tif ( index === 0 ) {\n\t\t\t\tstartsWithMatch.push( option );\n\t\t\t} else if ( index > 0 ) {\n\t\t\t\tcontainsMatch.push( option );\n\t\t\t}\n\t\t} );\n\n\t\treturn startsWithMatch.concat( containsMatch );\n\t}, [ inputValue, options ] );\n\n\tconst onSuggestionSelected = (\n\t\tnewSelectedSuggestion: ComboboxControlOption\n\t) => {\n\t\tif ( newSelectedSuggestion.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetValue( newSelectedSuggestion.value );\n\t\tspeak( messages.selected, 'assertive' );\n\t\tsetSelectedSuggestion( newSelectedSuggestion );\n\t\tsetInputValue( '' );\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst handleArrowNavigation = ( offset = 1 ) => {\n\t\tconst index = getIndexOfMatchingSuggestion(\n\t\t\tselectedSuggestion,\n\t\t\tmatchingSuggestions\n\t\t);\n\t\tlet nextIndex = index + offset;\n\t\tif ( nextIndex < 0 ) {\n\t\t\tnextIndex = matchingSuggestions.length - 1;\n\t\t} else if ( nextIndex >= matchingSuggestions.length ) {\n\t\t\tnextIndex = 0;\n\t\t}\n\t\tsetSelectedSuggestion( matchingSuggestions[ nextIndex ] );\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onKeyDown: React.KeyboardEventHandler< HTMLDivElement > =\n\t\twithIgnoreIMEEvents( ( event ) => {\n\t\t\tlet preventDefault = false;\n\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tswitch ( event.code ) {\n\t\t\t\tcase 'Enter':\n\t\t\t\t\tif ( selectedSuggestion ) {\n\t\t\t\t\t\tonSuggestionSelected( selectedSuggestion );\n\t\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\thandleArrowNavigation( -1 );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\thandleArrowNavigation( 1 );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tsetIsExpanded( false );\n\t\t\t\t\tsetSelectedSuggestion( null );\n\t\t\t\t\tpreventDefault = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( preventDefault ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t} );\n\n\tconst onBlur = () => {\n\t\tsetInputHasFocus( false );\n\t};\n\n\tconst onFocus = () => {\n\t\tsetInputHasFocus( true );\n\t\tif ( expandOnFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\n\t\tonFilterValueChange( '' );\n\t\tsetInputValue( '' );\n\t};\n\n\tconst onClick = () => {\n\t\tsetIsExpanded( true );\n\t};\n\n\tconst onFocusOutside = () => {\n\t\tsetIsExpanded( false );\n\t};\n\n\tconst onInputChange: TokenInputProps[ 'onChange' ] = ( event ) => {\n\t\tconst text = event.value;\n\t\tsetInputValue( text );\n\t\tonFilterValueChange( text );\n\t\tif ( inputHasFocus ) {\n\t\t\tsetIsExpanded( true );\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tsetValue( null );\n\t\tinputContainer.current?.focus();\n\t};\n\n\t// Stop propagation of the keydown event when pressing Enter on the Reset\n\t// button to prevent calling the onKeydown callback on the container div\n\t// element which actually sets the selected suggestion.\n\tconst handleResetStopPropagation: React.KeyboardEventHandler<\n\t\tHTMLButtonElement\n\t> = ( event ) => {\n\t\tevent.stopPropagation();\n\t};\n\n\t// Update current selections when the filter input changes.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tconst hasSelectedMatchingSuggestions =\n\t\t\tgetIndexOfMatchingSuggestion(\n\t\t\t\tselectedSuggestion,\n\t\t\t\tmatchingSuggestions\n\t\t\t) > 0;\n\n\t\tif ( hasMatchingSuggestions && ! hasSelectedMatchingSuggestions ) {\n\t\t\t// If the current selection isn't present in the list of suggestions, then automatically select the first item from the list of suggestions.\n\t\t\tsetSelectedSuggestion( matchingSuggestions[ 0 ] );\n\t\t}\n\t}, [ matchingSuggestions, selectedSuggestion ] );\n\n\t// Announcements.\n\tuseEffect( () => {\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\t\tif ( isExpanded ) {\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\tspeak( message, 'polite' );\n\t\t}\n\t}, [ matchingSuggestions, isExpanded ] );\n\n\tmaybeWarnDeprecated36pxSize( {\n\t\tcomponentName: 'ComboboxControl',\n\t\t__next40pxDefaultSize,\n\t\tsize: undefined,\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<DetectOutside onFocusOutside={ onFocusOutside }>\n\t\t\t<BaseControl\n\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t__associatedWPComponentName=\"ComboboxControl\"\n\t\t\t\tclassName={ clsx( className, 'components-combobox-control' ) }\n\t\t\t\tlabel={ label }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\thelp={ help }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-combobox-control__suggestions-container\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<InputWrapperFlex\n\t\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t<TokenInput\n\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__input\"\n\t\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t\tref={ inputContainer }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\t\t\tvalue={ isExpanded ? inputValue : currentLabel }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tselectedSuggestionIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ onInputChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t{ allowReset && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t// Disable reason: Focus returns to input field when reset is clicked.\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\tonKeyDown={ handleResetStopPropagation }\n\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InputWrapperFlex>\n\t\t\t\t\t{ isExpanded && ! isLoading && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\t// The empty string for `value` here is not actually used, but is\n\t\t\t\t\t\t\t// just a quick way to satisfy the TypeScript requirements of SuggestionsList.\n\t\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/47581/files#r1091089330\n\t\t\t\t\t\t\tmatch={ { label: inputValue, value: '' } }\n\t\t\t\t\t\t\tdisplayTransform={ ( suggestion ) =>\n\t\t\t\t\t\t\t\tsuggestion.label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ getIndexOfMatchingSuggestion(\n\t\t\t\t\t\t\t\tselectedSuggestion,\n\t\t\t\t\t\t\t\tmatchingSuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonHover={ setSelectedSuggestion }\n\t\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t\tscrollIntoView\n\t\t\t\t\t\t\t__experimentalRenderItem={\n\t\t\t\t\t\t\t\t__experimentalRenderItem\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</BaseControl>\n\t\t</DetectOutside>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default ComboboxControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/combobox-control/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { BaseControlProps } from '../base-control/types';\n\nexport type ComboboxControlOption = {\n\tlabel: string;\n\tvalue: string;\n\tdisabled?: boolean;\n\t[ key: string ]: any;\n};\n\nexport type ComboboxControlProps = Pick<\n\tBaseControlProps,\n\t| '__nextHasNoMarginBottom'\n\t| 'className'\n\t| 'label'\n\t| 'hideLabelFromVision'\n\t| 'help'\n> & {\n\t/**\n\t * Custom renderer invoked for each option in the suggestion list.\n\t * The render prop receives as its argument an object containing, under the `item` key,\n\t * the single option's data (directly from the array of data passed to the `options` prop).\n\t */\n\t__experimentalRenderItem?: ( args: {\n\t\titem: ComboboxControlOption;\n\t} ) => React.ReactNode;\n\t/**\n\t * Deprecated. Use `__next40pxDefaultSize` instead.\n\t *\n\t * @default false\n\t * @deprecated\n\t * @ignore\n\t */\n\t__next36pxDefaultSize?: 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 * Show a reset button to clear the input.\n\t *\n\t * @default true\n\t */\n\tallowReset?: boolean;\n\t/**\n\t * Automatically expand the dropdown when the control is focused.\n\t * If the control is clicked, the dropdown will expand regardless of this prop.\n\t *\n\t * @default true\n\t */\n\texpandOnFocus?: boolean;\n\t/**\n\t * Customizable UI messages.\n\t */\n\tmessages?: {\n\t\t/**\n\t\t * The message to announce to screen readers when a suggestion is selected.\n\t\t *\n\t\t * @default `__( 'Item selected.' )`\n\t\t */\n\t\tselected: string;\n\t};\n\t/**\n\t * Function called with the selected value changes.\n\t */\n\tonChange?: ( value: ComboboxControlProps[ 'value' ] ) => void;\n\t/**\n\t * Function called when the control's search input value changes. The argument contains the next input value.\n\t *\n\t * @default noop\n\t */\n\tonFilterValueChange?: ( value: string ) => void;\n\t/**\n\t * The options that can be chosen from.\n\t */\n\toptions: ComboboxControlOption[];\n\t/**\n\t * The current value of the control.\n\t */\n\tvalue?: string | null;\n\t/**\n\t * If passed, the combobox input will show a placeholder string if no values are present.\n\t */\n\tplaceholder?: string;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/combobox-control/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { BaseControlProps } from '../base-control/types';\n\nexport type ComboboxControlOption = {\n\tlabel: string;\n\tvalue: string;\n\tdisabled?: boolean;\n\t[ key: string ]: any;\n};\n\nexport type ComboboxControlProps = Pick<\n\tBaseControlProps,\n\t| '__nextHasNoMarginBottom'\n\t| 'className'\n\t| 'label'\n\t| 'hideLabelFromVision'\n\t| 'help'\n> & {\n\t/**\n\t * Custom renderer invoked for each option in the suggestion list.\n\t * The render prop receives as its argument an object containing, under the `item` key,\n\t * the single option's data (directly from the array of data passed to the `options` prop).\n\t */\n\t__experimentalRenderItem?: ( args: {\n\t\titem: ComboboxControlOption;\n\t} ) => React.ReactNode;\n\t/**\n\t * Deprecated. Use `__next40pxDefaultSize` instead.\n\t *\n\t * @default false\n\t * @deprecated\n\t * @ignore\n\t */\n\t__next36pxDefaultSize?: 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 * Show a reset button to clear the input.\n\t *\n\t * @default true\n\t */\n\tallowReset?: boolean;\n\t/**\n\t * Automatically expand the dropdown when the control is focused.\n\t * If the control is clicked, the dropdown will expand regardless of this prop.\n\t *\n\t * @default true\n\t */\n\texpandOnFocus?: boolean;\n\t/**\n\t * Customizable UI messages.\n\t */\n\tmessages?: {\n\t\t/**\n\t\t * The message to announce to screen readers when a suggestion is selected.\n\t\t *\n\t\t * @default `__( 'Item selected.' )`\n\t\t */\n\t\tselected: string;\n\t};\n\t/**\n\t * Function called with the selected value changes.\n\t */\n\tonChange?: ( value: ComboboxControlProps[ 'value' ] ) => void;\n\t/**\n\t * Function called when the control's search input value changes. The argument contains the next input value.\n\t *\n\t * @default noop\n\t */\n\tonFilterValueChange?: ( value: string ) => void;\n\t/**\n\t * The options that can be chosen from.\n\t */\n\toptions: ComboboxControlOption[];\n\t/**\n\t * The current value of the control.\n\t */\n\tvalue?: string | null;\n\t/**\n\t * If passed, the combobox input will show a placeholder string if no values are present.\n\t */\n\tplaceholder?: string;\n\t/**\n\t * Show a spinner (and hide the suggestions dropdown) while data\n\t * about the matching suggestions (ie the `options` prop) is loading\n\t *\n\t * @default false\n\t */\n\tisLoading?: boolean;\n};\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * Composite is a component that may contain navigable items represented by
4
3
  * CompositeItem. It's inspired by the WAI-ARIA Composite Role and implements