@wordpress/components 28.3.0 → 28.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 (1084) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/build/autocomplete/types.js.map +1 -1
  4. package/build/base-control/types.js.map +1 -1
  5. package/build/button/index.js +9 -7
  6. package/build/button/index.js.map +1 -1
  7. package/build/button/types.js.map +1 -1
  8. package/build/checkbox-control/index.js +1 -0
  9. package/build/checkbox-control/index.js.map +1 -1
  10. package/build/color-picker/component.js +8 -17
  11. package/build/color-picker/component.js.map +1 -1
  12. package/build/combobox-control/index.js +9 -0
  13. package/build/combobox-control/index.js.map +1 -1
  14. package/build/custom-select-control/index.js +125 -174
  15. package/build/custom-select-control/index.js.map +1 -1
  16. package/build/custom-select-control/types.js +6 -0
  17. package/build/custom-select-control/types.js.map +1 -0
  18. package/build/custom-select-control-v2/custom-select.js +4 -1
  19. package/build/custom-select-control-v2/custom-select.js.map +1 -1
  20. package/build/custom-select-control-v2/index.js +35 -7
  21. package/build/custom-select-control-v2/index.js.map +1 -1
  22. package/build/custom-select-control-v2/styles.js +25 -9
  23. package/build/custom-select-control-v2/styles.js.map +1 -1
  24. package/build/custom-select-control-v2/types.js.map +1 -1
  25. package/build/dropdown-menu-v2/styles.js +14 -14
  26. package/build/dropdown-menu-v2/styles.js.map +1 -1
  27. package/build/focal-point-picker/index.js +1 -0
  28. package/build/focal-point-picker/index.js.map +1 -1
  29. package/build/font-size-picker/font-size-picker-select.js +4 -4
  30. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  31. package/build/font-size-picker/index.js +36 -24
  32. package/build/font-size-picker/index.js.map +1 -1
  33. package/build/font-size-picker/types.js.map +1 -1
  34. package/build/form-token-field/index.js +8 -0
  35. package/build/form-token-field/index.js.map +1 -1
  36. package/build/index.js +2 -2
  37. package/build/index.js.map +1 -1
  38. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  39. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  40. package/build/private-apis.js +0 -4
  41. package/build/private-apis.js.map +1 -1
  42. package/build/radio-control/index.js +1 -1
  43. package/build/radio-control/index.js.map +1 -1
  44. package/build/range-control/index.js +1 -0
  45. package/build/range-control/index.js.map +1 -1
  46. package/build/select-control/index.js +5 -0
  47. package/build/select-control/index.js.map +1 -1
  48. package/build/select-control/styles/select-control-styles.js +42 -11
  49. package/build/select-control/styles/select-control-styles.js.map +1 -1
  50. package/build/select-control/types.js.map +1 -1
  51. package/build/tabs/styles.js +3 -3
  52. package/build/tabs/styles.js.map +1 -1
  53. package/build/tabs/tablist.js +4 -189
  54. package/build/tabs/tablist.js.map +1 -1
  55. package/build/textarea-control/index.js +1 -0
  56. package/build/textarea-control/index.js.map +1 -1
  57. package/build/toggle-control/index.js +10 -4
  58. package/build/toggle-control/index.js.map +1 -1
  59. package/build/toggle-group-control/toggle-group-control-option-base/component.js +3 -0
  60. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  61. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  62. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  63. package/build/tools-panel/tools-panel-header/component.js +1 -1
  64. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  65. package/build/tree-select/index.js +1 -0
  66. package/build/tree-select/index.js.map +1 -1
  67. package/build/utils/element-rect.js +157 -0
  68. package/build/utils/element-rect.js.map +1 -0
  69. package/build/utils/hooks/use-event.js +41 -0
  70. package/build/utils/hooks/use-event.js.map +1 -0
  71. package/build/utils/hooks/use-on-value-update.js +46 -0
  72. package/build/utils/hooks/use-on-value-update.js.map +1 -0
  73. package/build-module/autocomplete/types.js.map +1 -1
  74. package/build-module/base-control/types.js.map +1 -1
  75. package/build-module/button/index.js +9 -7
  76. package/build-module/button/index.js.map +1 -1
  77. package/build-module/button/types.js.map +1 -1
  78. package/build-module/checkbox-control/index.js +1 -0
  79. package/build-module/checkbox-control/index.js.map +1 -1
  80. package/build-module/color-picker/component.js +9 -18
  81. package/build-module/color-picker/component.js.map +1 -1
  82. package/build-module/combobox-control/index.js +9 -0
  83. package/build-module/combobox-control/index.js.map +1 -1
  84. package/build-module/custom-select-control/index.js +123 -173
  85. package/build-module/custom-select-control/index.js.map +1 -1
  86. package/build-module/custom-select-control/types.js +2 -0
  87. package/build-module/custom-select-control/types.js.map +1 -0
  88. package/build-module/custom-select-control-v2/custom-select.js +4 -1
  89. package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
  90. package/build-module/custom-select-control-v2/index.js +27 -1
  91. package/build-module/custom-select-control-v2/index.js.map +1 -1
  92. package/build-module/custom-select-control-v2/styles.js +26 -10
  93. package/build-module/custom-select-control-v2/styles.js.map +1 -1
  94. package/build-module/custom-select-control-v2/types.js.map +1 -1
  95. package/build-module/dropdown-menu-v2/styles.js +14 -14
  96. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  97. package/build-module/focal-point-picker/index.js +1 -0
  98. package/build-module/focal-point-picker/index.js.map +1 -1
  99. package/build-module/font-size-picker/font-size-picker-select.js +3 -3
  100. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  101. package/build-module/font-size-picker/index.js +36 -24
  102. package/build-module/font-size-picker/index.js.map +1 -1
  103. package/build-module/font-size-picker/types.js.map +1 -1
  104. package/build-module/form-token-field/index.js +8 -0
  105. package/build-module/form-token-field/index.js.map +1 -1
  106. package/build-module/index.js +1 -1
  107. package/build-module/index.js.map +1 -1
  108. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  109. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
  110. package/build-module/private-apis.js +0 -4
  111. package/build-module/private-apis.js.map +1 -1
  112. package/build-module/radio-control/index.js +1 -1
  113. package/build-module/radio-control/index.js.map +1 -1
  114. package/build-module/range-control/index.js +1 -0
  115. package/build-module/range-control/index.js.map +1 -1
  116. package/build-module/select-control/index.js +5 -0
  117. package/build-module/select-control/index.js.map +1 -1
  118. package/build-module/select-control/styles/select-control-styles.js +41 -6
  119. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  120. package/build-module/select-control/types.js.map +1 -1
  121. package/build-module/tabs/styles.js +3 -3
  122. package/build-module/tabs/styles.js.map +1 -1
  123. package/build-module/tabs/tablist.js +3 -188
  124. package/build-module/tabs/tablist.js.map +1 -1
  125. package/build-module/textarea-control/index.js +1 -0
  126. package/build-module/textarea-control/index.js.map +1 -1
  127. package/build-module/toggle-control/index.js +10 -4
  128. package/build-module/toggle-control/index.js.map +1 -1
  129. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +3 -0
  130. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  131. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  132. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  133. package/build-module/tools-panel/tools-panel-header/component.js +1 -1
  134. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  135. package/build-module/tree-select/index.js +1 -0
  136. package/build-module/tree-select/index.js.map +1 -1
  137. package/build-module/utils/element-rect.js +147 -0
  138. package/build-module/utils/element-rect.js.map +1 -0
  139. package/build-module/utils/hooks/use-event.js +35 -0
  140. package/build-module/utils/hooks/use-event.js.map +1 -0
  141. package/build-module/utils/hooks/use-on-value-update.js +39 -0
  142. package/build-module/utils/hooks/use-on-value-update.js.map +1 -0
  143. package/build-style/style-rtl.css +67 -100
  144. package/build-style/style.css +67 -100
  145. package/build-types/alignment-matrix-control/cell.d.ts +0 -1
  146. package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
  147. package/build-types/alignment-matrix-control/icon.d.ts +0 -1
  148. package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
  149. package/build-types/alignment-matrix-control/index.d.ts +0 -1
  150. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  151. package/build-types/alignment-matrix-control/stories/index.story.d.ts +0 -1
  152. package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
  153. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +8 -9
  154. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +1 -1
  155. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts +10 -11
  156. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
  157. package/build-types/angle-picker-control/angle-circle.d.ts +0 -1
  158. package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
  159. package/build-types/angle-picker-control/index.d.ts +0 -1
  160. package/build-types/angle-picker-control/index.d.ts.map +1 -1
  161. package/build-types/angle-picker-control/stories/index.story.d.ts +0 -1
  162. package/build-types/angle-picker-control/stories/index.story.d.ts.map +1 -1
  163. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts +7 -8
  164. package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
  165. package/build-types/animate/index.d.ts +0 -1
  166. package/build-types/animate/index.d.ts.map +1 -1
  167. package/build-types/animate/types.d.ts +0 -1
  168. package/build-types/animate/types.d.ts.map +1 -1
  169. package/build-types/autocomplete/autocompleter-ui.d.ts +0 -1
  170. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  171. package/build-types/autocomplete/index.d.ts +2 -3
  172. package/build-types/autocomplete/index.d.ts.map +1 -1
  173. package/build-types/autocomplete/types.d.ts +2 -3
  174. package/build-types/autocomplete/types.d.ts.map +1 -1
  175. package/build-types/base-control/hooks.d.ts +3 -4
  176. package/build-types/base-control/hooks.d.ts.map +1 -1
  177. package/build-types/base-control/index.d.ts +0 -1
  178. package/build-types/base-control/index.d.ts.map +1 -1
  179. package/build-types/base-control/stories/index.story.d.ts +0 -1
  180. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  181. package/build-types/base-control/styles/base-control-styles.d.ts +10 -11
  182. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  183. package/build-types/base-control/types.d.ts +1 -1
  184. package/build-types/border-box-control/border-box-control/component.d.ts +4 -5
  185. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  186. package/build-types/border-box-control/border-box-control/hook.d.ts +14 -16
  187. package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
  188. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +0 -1
  189. package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
  190. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +12 -14
  191. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
  192. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +5 -6
  193. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  194. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +14 -16
  195. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
  196. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +1 -2
  197. package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -1
  198. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +9 -11
  199. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
  200. package/build-types/border-box-control/stories/index.story.d.ts +4 -5
  201. package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
  202. package/build-types/border-box-control/styles.d.ts +3 -3
  203. package/build-types/border-box-control/utils.d.ts.map +1 -1
  204. package/build-types/border-control/border-control/component.d.ts +14 -15
  205. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  206. package/build-types/border-control/border-control/hook.d.ts +17 -19
  207. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  208. package/build-types/border-control/border-control-dropdown/component.d.ts +6 -7
  209. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  210. package/build-types/border-control/border-control-dropdown/hook.d.ts +12 -14
  211. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  212. package/build-types/border-control/border-control-style-picker/component.d.ts +2 -3
  213. package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
  214. package/build-types/border-control/stories/index.story.d.ts +84 -85
  215. package/build-types/border-control/stories/index.story.d.ts.map +1 -1
  216. package/build-types/border-control/styles.d.ts +2 -2
  217. package/build-types/box-control/all-input-control.d.ts +0 -1
  218. package/build-types/box-control/all-input-control.d.ts.map +1 -1
  219. package/build-types/box-control/axial-input-controls.d.ts +0 -1
  220. package/build-types/box-control/axial-input-controls.d.ts.map +1 -1
  221. package/build-types/box-control/icon.d.ts +0 -1
  222. package/build-types/box-control/icon.d.ts.map +1 -1
  223. package/build-types/box-control/index.d.ts +0 -1
  224. package/build-types/box-control/index.d.ts.map +1 -1
  225. package/build-types/box-control/input-controls.d.ts +0 -1
  226. package/build-types/box-control/input-controls.d.ts.map +1 -1
  227. package/build-types/box-control/linked-button.d.ts +0 -1
  228. package/build-types/box-control/linked-button.d.ts.map +1 -1
  229. package/build-types/box-control/stories/index.story.d.ts +312 -350
  230. package/build-types/box-control/stories/index.story.d.ts.map +1 -1
  231. package/build-types/box-control/styles/box-control-icon-styles.d.ts +16 -17
  232. package/build-types/box-control/styles/box-control-icon-styles.d.ts.map +1 -1
  233. package/build-types/box-control/styles/box-control-styles.d.ts +44 -45
  234. package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
  235. package/build-types/box-control/types.d.ts +0 -1
  236. package/build-types/box-control/types.d.ts.map +1 -1
  237. package/build-types/button/deprecated.d.ts +69 -70
  238. package/build-types/button/deprecated.d.ts.map +1 -1
  239. package/build-types/button/index.d.ts.map +1 -1
  240. package/build-types/button/stories/e2e/index.story.d.ts +0 -1
  241. package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
  242. package/build-types/button/stories/index.story.d.ts +0 -1
  243. package/build-types/button/stories/index.story.d.ts.map +1 -1
  244. package/build-types/button/types.d.ts +9 -2
  245. package/build-types/button/types.d.ts.map +1 -1
  246. package/build-types/button-group/index.d.ts +0 -1
  247. package/build-types/button-group/index.d.ts.map +1 -1
  248. package/build-types/card/card/component.d.ts +5 -6
  249. package/build-types/card/card/component.d.ts.map +1 -1
  250. package/build-types/card/card/hook.d.ts +10 -12
  251. package/build-types/card/card/hook.d.ts.map +1 -1
  252. package/build-types/card/card-body/component.d.ts +4 -5
  253. package/build-types/card/card-body/component.d.ts.map +1 -1
  254. package/build-types/card/card-body/hook.d.ts +10 -12
  255. package/build-types/card/card-body/hook.d.ts.map +1 -1
  256. package/build-types/card/card-divider/component.d.ts +4 -5
  257. package/build-types/card/card-divider/component.d.ts.map +1 -1
  258. package/build-types/card/card-divider/hook.d.ts +15 -17
  259. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  260. package/build-types/card/card-footer/component.d.ts +5 -6
  261. package/build-types/card/card-footer/component.d.ts.map +1 -1
  262. package/build-types/card/card-footer/hook.d.ts +10 -12
  263. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  264. package/build-types/card/card-header/component.d.ts +4 -5
  265. package/build-types/card/card-header/component.d.ts.map +1 -1
  266. package/build-types/card/card-header/hook.d.ts +10 -12
  267. package/build-types/card/card-header/hook.d.ts.map +1 -1
  268. package/build-types/card/card-media/component.d.ts +0 -1
  269. package/build-types/card/card-media/component.d.ts.map +1 -1
  270. package/build-types/card/card-media/hook.d.ts +10 -12
  271. package/build-types/card/card-media/hook.d.ts.map +1 -1
  272. package/build-types/card/context.d.ts +0 -1
  273. package/build-types/card/context.d.ts.map +1 -1
  274. package/build-types/card/stories/index.story.d.ts +3 -22
  275. package/build-types/card/stories/index.story.d.ts.map +1 -1
  276. package/build-types/checkbox-control/index.d.ts +1 -1
  277. package/build-types/checkbox-control/index.d.ts.map +1 -1
  278. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +0 -1
  279. package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -1
  280. package/build-types/circular-option-picker/circular-option-picker-context.d.ts +0 -1
  281. package/build-types/circular-option-picker/circular-option-picker-context.d.ts.map +1 -1
  282. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts +0 -1
  283. package/build-types/circular-option-picker/circular-option-picker-option-group.d.ts.map +1 -1
  284. package/build-types/circular-option-picker/circular-option-picker-option.d.ts +0 -1
  285. package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
  286. package/build-types/circular-option-picker/circular-option-picker.d.ts +0 -1
  287. package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
  288. package/build-types/clipboard-button/index.d.ts +0 -1
  289. package/build-types/clipboard-button/index.d.ts.map +1 -1
  290. package/build-types/color-indicator/index.d.ts +0 -1
  291. package/build-types/color-indicator/index.d.ts.map +1 -1
  292. package/build-types/color-palette/index.d.ts +0 -1
  293. package/build-types/color-palette/index.d.ts.map +1 -1
  294. package/build-types/color-palette/stories/index.story.d.ts +0 -1
  295. package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
  296. package/build-types/color-palette/styles.d.ts +5 -6
  297. package/build-types/color-palette/styles.d.ts.map +1 -1
  298. package/build-types/color-palette/utils.d.ts +1 -1
  299. package/build-types/color-palette/utils.d.ts.map +1 -1
  300. package/build-types/color-picker/color-copy-button.d.ts +0 -1
  301. package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
  302. package/build-types/color-picker/color-input.d.ts +0 -1
  303. package/build-types/color-picker/color-input.d.ts.map +1 -1
  304. package/build-types/color-picker/component.d.ts +5 -6
  305. package/build-types/color-picker/component.d.ts.map +1 -1
  306. package/build-types/color-picker/hex-input.d.ts +0 -1
  307. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  308. package/build-types/color-picker/hsl-input.d.ts +0 -1
  309. package/build-types/color-picker/hsl-input.d.ts.map +1 -1
  310. package/build-types/color-picker/input-with-slider.d.ts +0 -1
  311. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  312. package/build-types/color-picker/legacy-adapter.d.ts +0 -1
  313. package/build-types/color-picker/legacy-adapter.d.ts.map +1 -1
  314. package/build-types/color-picker/picker.d.ts +0 -1
  315. package/build-types/color-picker/picker.d.ts.map +1 -1
  316. package/build-types/color-picker/rgb-input.d.ts +0 -1
  317. package/build-types/color-picker/rgb-input.d.ts.map +1 -1
  318. package/build-types/color-picker/stories/index.story.d.ts +2 -9
  319. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  320. package/build-types/color-picker/styles.d.ts +52 -53
  321. package/build-types/color-picker/styles.d.ts.map +1 -1
  322. package/build-types/combobox-control/index.d.ts +1 -1
  323. package/build-types/combobox-control/index.d.ts.map +1 -1
  324. package/build-types/combobox-control/stories/index.story.d.ts +41 -41
  325. package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
  326. package/build-types/combobox-control/styles.d.ts +1 -2
  327. package/build-types/combobox-control/styles.d.ts.map +1 -1
  328. package/build-types/combobox-control/types.d.ts +0 -1
  329. package/build-types/combobox-control/types.d.ts.map +1 -1
  330. package/build-types/composite/current/stories/utils.d.ts +0 -1
  331. package/build-types/composite/current/stories/utils.d.ts.map +1 -1
  332. package/build-types/composite/legacy/index.d.ts +0 -1
  333. package/build-types/composite/legacy/index.d.ts.map +1 -1
  334. package/build-types/composite/legacy/stories/utils.d.ts +0 -1
  335. package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
  336. package/build-types/confirm-dialog/component.d.ts +0 -1
  337. package/build-types/confirm-dialog/component.d.ts.map +1 -1
  338. package/build-types/confirm-dialog/stories/index.story.d.ts +0 -1
  339. package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
  340. package/build-types/context/context-system-provider.d.ts +1 -1
  341. package/build-types/context/context-system-provider.d.ts.map +1 -1
  342. package/build-types/context/get-styled-class-name-from-key.d.ts +9 -1
  343. package/build-types/context/get-styled-class-name-from-key.d.ts.map +1 -1
  344. package/build-types/context/use-context-system.d.ts +1 -1
  345. package/build-types/context/use-context-system.d.ts.map +1 -1
  346. package/build-types/context/utils.d.ts.map +1 -1
  347. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +0 -1
  348. package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
  349. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +0 -1
  350. package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
  351. package/build-types/custom-gradient-picker/index.d.ts +0 -1
  352. package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
  353. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts +2 -3
  354. package/build-types/custom-gradient-picker/styles/custom-gradient-picker-styles.d.ts.map +1 -1
  355. package/build-types/custom-gradient-picker/types.d.ts +0 -1
  356. package/build-types/custom-gradient-picker/types.d.ts.map +1 -1
  357. package/build-types/custom-gradient-picker/utils.d.ts.map +1 -1
  358. package/build-types/custom-select-control/index.d.ts +3 -2
  359. package/build-types/custom-select-control/index.d.ts.map +1 -1
  360. package/build-types/custom-select-control/stories/index.story.d.ts +6 -42
  361. package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
  362. package/build-types/custom-select-control/test/index.d.ts.map +1 -0
  363. package/build-types/custom-select-control/types.d.ts +122 -0
  364. package/build-types/custom-select-control/types.d.ts.map +1 -0
  365. package/build-types/custom-select-control-v2/custom-select.d.ts +0 -1
  366. package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
  367. package/build-types/custom-select-control-v2/index.d.ts +7 -4
  368. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  369. package/build-types/custom-select-control-v2/item.d.ts +0 -1
  370. package/build-types/custom-select-control-v2/item.d.ts.map +1 -1
  371. package/build-types/custom-select-control-v2/stories/{default.story.d.ts → index.story.d.ts} +10 -11
  372. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -0
  373. package/build-types/custom-select-control-v2/styles.d.ts +30 -31
  374. package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
  375. package/build-types/custom-select-control-v2/types.d.ts +0 -106
  376. package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
  377. package/build-types/dashicon/index.d.ts +0 -1
  378. package/build-types/dashicon/index.d.ts.map +1 -1
  379. package/build-types/date-time/date/index.d.ts +0 -1
  380. package/build-types/date-time/date/index.d.ts.map +1 -1
  381. package/build-types/date-time/date/styles.d.ts +15 -16
  382. package/build-types/date-time/date/styles.d.ts.map +1 -1
  383. package/build-types/date-time/date-time/index.d.ts +1 -2
  384. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  385. package/build-types/date-time/date-time/styles.d.ts +3 -4
  386. package/build-types/date-time/date-time/styles.d.ts.map +1 -1
  387. package/build-types/date-time/time/index.d.ts +0 -1
  388. package/build-types/date-time/time/index.d.ts.map +1 -1
  389. package/build-types/date-time/time/styles.d.ts +64 -65
  390. package/build-types/date-time/time/styles.d.ts.map +1 -1
  391. package/build-types/date-time/time/timezone.d.ts +0 -1
  392. package/build-types/date-time/time/timezone.d.ts.map +1 -1
  393. package/build-types/date-time/time-input/index.d.ts +0 -1
  394. package/build-types/date-time/time-input/index.d.ts.map +1 -1
  395. package/build-types/date-time/types.d.ts +0 -1
  396. package/build-types/date-time/types.d.ts.map +1 -1
  397. package/build-types/date-time/utils.d.ts +3 -4
  398. package/build-types/date-time/utils.d.ts.map +1 -1
  399. package/build-types/dimension-control/index.d.ts +0 -1
  400. package/build-types/dimension-control/index.d.ts.map +1 -1
  401. package/build-types/disabled/index.d.ts +0 -1
  402. package/build-types/disabled/index.d.ts.map +1 -1
  403. package/build-types/disabled/types.d.ts +0 -1
  404. package/build-types/disabled/types.d.ts.map +1 -1
  405. package/build-types/disclosure/index.d.ts +0 -1
  406. package/build-types/disclosure/index.d.ts.map +1 -1
  407. package/build-types/disclosure/types.d.ts +0 -1
  408. package/build-types/disclosure/types.d.ts.map +1 -1
  409. package/build-types/divider/component.d.ts +4 -5
  410. package/build-types/divider/component.d.ts.map +1 -1
  411. package/build-types/divider/styles.d.ts +6 -7
  412. package/build-types/divider/styles.d.ts.map +1 -1
  413. package/build-types/draggable/index.d.ts +0 -1
  414. package/build-types/draggable/index.d.ts.map +1 -1
  415. package/build-types/drop-zone/index.d.ts +0 -1
  416. package/build-types/drop-zone/index.d.ts.map +1 -1
  417. package/build-types/drop-zone/provider.d.ts +0 -1
  418. package/build-types/drop-zone/provider.d.ts.map +1 -1
  419. package/build-types/drop-zone/stories/index.story.d.ts +0 -1
  420. package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
  421. package/build-types/dropdown/dropdown-content-wrapper.d.ts +0 -1
  422. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -1
  423. package/build-types/dropdown/index.d.ts +0 -1
  424. package/build-types/dropdown/index.d.ts.map +1 -1
  425. package/build-types/dropdown/stories/index.story.d.ts +5 -6
  426. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  427. package/build-types/dropdown/styles.d.ts +2 -3
  428. package/build-types/dropdown/styles.d.ts.map +1 -1
  429. package/build-types/dropdown-menu/index.d.ts +0 -1
  430. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  431. package/build-types/dropdown-menu/stories/index.story.d.ts +3 -4
  432. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  433. package/build-types/dropdown-menu-v2/index.d.ts +0 -1
  434. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  435. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  436. package/build-types/dropdown-menu-v2/styles.d.ts +41 -42
  437. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  438. package/build-types/dropdown-menu-v2/types.d.ts +0 -1
  439. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  440. package/build-types/duotone-picker/color-list-picker/index.d.ts +0 -1
  441. package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
  442. package/build-types/duotone-picker/custom-duotone-bar.d.ts +0 -1
  443. package/build-types/duotone-picker/custom-duotone-bar.d.ts.map +1 -1
  444. package/build-types/duotone-picker/duotone-picker.d.ts +0 -1
  445. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  446. package/build-types/duotone-picker/duotone-swatch.d.ts +0 -1
  447. package/build-types/duotone-picker/duotone-swatch.d.ts.map +1 -1
  448. package/build-types/elevation/component.d.ts +0 -1
  449. package/build-types/elevation/component.d.ts.map +1 -1
  450. package/build-types/elevation/hook.d.ts +9 -11
  451. package/build-types/elevation/hook.d.ts.map +1 -1
  452. package/build-types/external-link/index.d.ts +0 -1
  453. package/build-types/external-link/index.d.ts.map +1 -1
  454. package/build-types/flex/context.d.ts +2 -3
  455. package/build-types/flex/context.d.ts.map +1 -1
  456. package/build-types/flex/flex/component.d.ts +0 -1
  457. package/build-types/flex/flex/component.d.ts.map +1 -1
  458. package/build-types/flex/flex/hook.d.ts +9 -11
  459. package/build-types/flex/flex/hook.d.ts.map +1 -1
  460. package/build-types/flex/flex-block/component.d.ts +0 -1
  461. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  462. package/build-types/flex/flex-block/hook.d.ts +9 -11
  463. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  464. package/build-types/flex/flex-item/component.d.ts +0 -1
  465. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  466. package/build-types/flex/flex-item/hook.d.ts +9 -11
  467. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  468. package/build-types/focal-point-picker/controls.d.ts +0 -1
  469. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  470. package/build-types/focal-point-picker/focal-point.d.ts +0 -1
  471. package/build-types/focal-point-picker/focal-point.d.ts.map +1 -1
  472. package/build-types/focal-point-picker/grid.d.ts +0 -1
  473. package/build-types/focal-point-picker/grid.d.ts.map +1 -1
  474. package/build-types/focal-point-picker/index.d.ts +1 -1
  475. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  476. package/build-types/focal-point-picker/media.d.ts +0 -1
  477. package/build-types/focal-point-picker/media.d.ts.map +1 -1
  478. package/build-types/focal-point-picker/stories/index.story.d.ts +32 -33
  479. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  480. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +26 -27
  481. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  482. package/build-types/focal-point-picker/styles/focal-point-style.d.ts +2 -3
  483. package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
  484. package/build-types/focusable-iframe/index.d.ts +0 -1
  485. package/build-types/focusable-iframe/index.d.ts.map +1 -1
  486. package/build-types/font-size-picker/font-size-picker-select.d.ts +0 -1
  487. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  488. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts +0 -1
  489. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  490. package/build-types/font-size-picker/index.d.ts +0 -1
  491. package/build-types/font-size-picker/index.d.ts.map +1 -1
  492. package/build-types/font-size-picker/stories/e2e/index.story.d.ts +0 -1
  493. package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
  494. package/build-types/font-size-picker/styles.d.ts +9 -10
  495. package/build-types/font-size-picker/styles.d.ts.map +1 -1
  496. package/build-types/font-size-picker/types.d.ts +6 -5
  497. package/build-types/font-size-picker/types.d.ts.map +1 -1
  498. package/build-types/form-file-upload/index.d.ts +0 -1
  499. package/build-types/form-file-upload/index.d.ts.map +1 -1
  500. package/build-types/form-file-upload/stories/index.story.d.ts +0 -1
  501. package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
  502. package/build-types/form-token-field/index.d.ts +0 -1
  503. package/build-types/form-token-field/index.d.ts.map +1 -1
  504. package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
  505. package/build-types/form-token-field/styles.d.ts +1 -2
  506. package/build-types/form-token-field/styles.d.ts.map +1 -1
  507. package/build-types/form-token-field/suggestions-list.d.ts +0 -1
  508. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  509. package/build-types/form-token-field/token.d.ts +0 -1
  510. package/build-types/form-token-field/token.d.ts.map +1 -1
  511. package/build-types/gradient-picker/index.d.ts +0 -1
  512. package/build-types/gradient-picker/index.d.ts.map +1 -1
  513. package/build-types/gradient-picker/types.d.ts +0 -1
  514. package/build-types/gradient-picker/types.d.ts.map +1 -1
  515. package/build-types/grid/component.d.ts +0 -1
  516. package/build-types/grid/component.d.ts.map +1 -1
  517. package/build-types/grid/hook.d.ts +9 -11
  518. package/build-types/grid/hook.d.ts.map +1 -1
  519. package/build-types/guide/icons.d.ts +0 -1
  520. package/build-types/guide/icons.d.ts.map +1 -1
  521. package/build-types/guide/index.d.ts +0 -1
  522. package/build-types/guide/index.d.ts.map +1 -1
  523. package/build-types/guide/page-control.d.ts +0 -1
  524. package/build-types/guide/page-control.d.ts.map +1 -1
  525. package/build-types/guide/page.d.ts +0 -1
  526. package/build-types/guide/page.d.ts.map +1 -1
  527. package/build-types/h-stack/component.d.ts +2 -3
  528. package/build-types/h-stack/component.d.ts.map +1 -1
  529. package/build-types/h-stack/hook.d.ts +9 -11
  530. package/build-types/h-stack/hook.d.ts.map +1 -1
  531. package/build-types/heading/component.d.ts +4 -5
  532. package/build-types/heading/component.d.ts.map +1 -1
  533. package/build-types/heading/hook.d.ts +9 -11
  534. package/build-types/heading/hook.d.ts.map +1 -1
  535. package/build-types/higher-order/navigate-regions/index.d.ts +1 -2
  536. package/build-types/higher-order/navigate-regions/index.d.ts.map +1 -1
  537. package/build-types/higher-order/with-constrained-tabbing/index.d.ts +0 -1
  538. package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -1
  539. package/build-types/higher-order/with-fallback-styles/index.d.ts +3 -4
  540. package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -1
  541. package/build-types/higher-order/with-filters/index.d.ts +4 -5
  542. package/build-types/higher-order/with-filters/index.d.ts.map +1 -1
  543. package/build-types/higher-order/with-focus-outside/index.d.ts +0 -1
  544. package/build-types/higher-order/with-focus-outside/index.d.ts.map +1 -1
  545. package/build-types/higher-order/with-focus-return/index.d.ts +0 -1
  546. package/build-types/higher-order/with-focus-return/index.d.ts.map +1 -1
  547. package/build-types/higher-order/with-notices/index.d.ts +0 -1
  548. package/build-types/higher-order/with-notices/index.d.ts.map +1 -1
  549. package/build-types/higher-order/with-notices/types.d.ts +0 -1
  550. package/build-types/higher-order/with-notices/types.d.ts.map +1 -1
  551. package/build-types/higher-order/with-spoken-messages/index.d.ts +0 -1
  552. package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -1
  553. package/build-types/index.d.ts +1 -1
  554. package/build-types/index.d.ts.map +1 -1
  555. package/build-types/input-control/backdrop.d.ts +0 -1
  556. package/build-types/input-control/backdrop.d.ts.map +1 -1
  557. package/build-types/input-control/input-base.d.ts +0 -1
  558. package/build-types/input-control/input-base.d.ts.map +1 -1
  559. package/build-types/input-control/input-field.d.ts +0 -1
  560. package/build-types/input-control/input-field.d.ts.map +1 -1
  561. package/build-types/input-control/input-prefix-wrapper.d.ts +0 -1
  562. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
  563. package/build-types/input-control/input-suffix-wrapper.d.ts +0 -1
  564. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
  565. package/build-types/input-control/label.d.ts +0 -1
  566. package/build-types/input-control/label.d.ts.map +1 -1
  567. package/build-types/input-control/reducer/reducer.d.ts +9 -9
  568. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  569. package/build-types/input-control/stories/index.story.d.ts +0 -1
  570. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  571. package/build-types/input-control/styles/input-control-styles.d.ts +13 -13
  572. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  573. package/build-types/isolated-event-container/index.d.ts +0 -1
  574. package/build-types/isolated-event-container/index.d.ts.map +1 -1
  575. package/build-types/item-group/context.d.ts +0 -1
  576. package/build-types/item-group/context.d.ts.map +1 -1
  577. package/build-types/item-group/item/component.d.ts +0 -1
  578. package/build-types/item-group/item/component.d.ts.map +1 -1
  579. package/build-types/item-group/item/hook.d.ts +10 -12
  580. package/build-types/item-group/item/hook.d.ts.map +1 -1
  581. package/build-types/item-group/item-group/component.d.ts +0 -1
  582. package/build-types/item-group/item-group/component.d.ts.map +1 -1
  583. package/build-types/item-group/item-group/hook.d.ts +11 -13
  584. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  585. package/build-types/item-group/styles.d.ts +1 -1
  586. package/build-types/item-group/types.d.ts +0 -1
  587. package/build-types/item-group/types.d.ts.map +1 -1
  588. package/build-types/keyboard-shortcuts/index.d.ts +0 -1
  589. package/build-types/keyboard-shortcuts/index.d.ts.map +1 -1
  590. package/build-types/keyboard-shortcuts/types.d.ts +0 -1
  591. package/build-types/keyboard-shortcuts/types.d.ts.map +1 -1
  592. package/build-types/menu-group/index.d.ts +0 -1
  593. package/build-types/menu-group/index.d.ts.map +1 -1
  594. package/build-types/menu-item/index.d.ts +8 -9
  595. package/build-types/menu-item/index.d.ts.map +1 -1
  596. package/build-types/menu-item/stories/index.story.d.ts +32 -33
  597. package/build-types/menu-item/stories/index.story.d.ts.map +1 -1
  598. package/build-types/menu-items-choice/index.d.ts +0 -1
  599. package/build-types/menu-items-choice/index.d.ts.map +1 -1
  600. package/build-types/modal/index.d.ts +0 -1
  601. package/build-types/modal/index.d.ts.map +1 -1
  602. package/build-types/navigable-container/container.d.ts +8 -8
  603. package/build-types/navigable-container/menu.d.ts +7 -7
  604. package/build-types/navigable-container/tabbable.d.ts +6 -6
  605. package/build-types/navigation/back-button/index.d.ts +0 -1
  606. package/build-types/navigation/back-button/index.d.ts.map +1 -1
  607. package/build-types/navigation/context.d.ts +0 -1
  608. package/build-types/navigation/context.d.ts.map +1 -1
  609. package/build-types/navigation/group/context.d.ts +0 -1
  610. package/build-types/navigation/group/context.d.ts.map +1 -1
  611. package/build-types/navigation/group/index.d.ts +0 -1
  612. package/build-types/navigation/group/index.d.ts.map +1 -1
  613. package/build-types/navigation/index.d.ts +0 -1
  614. package/build-types/navigation/index.d.ts.map +1 -1
  615. package/build-types/navigation/item/base-content.d.ts +0 -1
  616. package/build-types/navigation/item/base-content.d.ts.map +1 -1
  617. package/build-types/navigation/item/base.d.ts +0 -1
  618. package/build-types/navigation/item/base.d.ts.map +1 -1
  619. package/build-types/navigation/item/index.d.ts +0 -1
  620. package/build-types/navigation/item/index.d.ts.map +1 -1
  621. package/build-types/navigation/menu/context.d.ts +0 -1
  622. package/build-types/navigation/menu/context.d.ts.map +1 -1
  623. package/build-types/navigation/menu/index.d.ts +0 -1
  624. package/build-types/navigation/menu/index.d.ts.map +1 -1
  625. package/build-types/navigation/menu/menu-title-search.d.ts +0 -1
  626. package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -1
  627. package/build-types/navigation/menu/menu-title.d.ts +0 -1
  628. package/build-types/navigation/menu/menu-title.d.ts.map +1 -1
  629. package/build-types/navigation/menu/search-no-results-found.d.ts +0 -1
  630. package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -1
  631. package/build-types/navigation/styles/navigation-styles.d.ts +25 -26
  632. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  633. package/build-types/navigation/types.d.ts +0 -1
  634. package/build-types/navigation/types.d.ts.map +1 -1
  635. package/build-types/navigation/use-navigation-tree-nodes.d.ts +0 -1
  636. package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -1
  637. package/build-types/navigator/context.d.ts +0 -1
  638. package/build-types/navigator/context.d.ts.map +1 -1
  639. package/build-types/navigator/navigator-back-button/component.d.ts +17 -18
  640. package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
  641. package/build-types/navigator/navigator-back-button/hook.d.ts +29 -31
  642. package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
  643. package/build-types/navigator/navigator-button/component.d.ts +18 -19
  644. package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
  645. package/build-types/navigator/navigator-button/hook.d.ts +29 -31
  646. package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
  647. package/build-types/navigator/navigator-provider/component.d.ts +0 -1
  648. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  649. package/build-types/navigator/navigator-screen/component.d.ts +0 -1
  650. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  651. package/build-types/navigator/navigator-to-parent-button/component.d.ts +17 -18
  652. package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
  653. package/build-types/navigator/stories/index.story.d.ts +4 -4
  654. package/build-types/navigator/stories/index.story.d.ts.map +1 -1
  655. package/build-types/notice/index.d.ts +0 -1
  656. package/build-types/notice/index.d.ts.map +1 -1
  657. package/build-types/notice/list.d.ts +0 -1
  658. package/build-types/notice/list.d.ts.map +1 -1
  659. package/build-types/number-control/index.d.ts +12 -13
  660. package/build-types/number-control/index.d.ts.map +1 -1
  661. package/build-types/number-control/stories/index.story.d.ts +12 -13
  662. package/build-types/number-control/stories/index.story.d.ts.map +1 -1
  663. package/build-types/number-control/styles/number-control-styles.d.ts +2 -3
  664. package/build-types/number-control/styles/number-control-styles.d.ts.map +1 -1
  665. package/build-types/palette-edit/index.d.ts +0 -1
  666. package/build-types/palette-edit/index.d.ts.map +1 -1
  667. package/build-types/palette-edit/styles.d.ts +16 -18
  668. package/build-types/palette-edit/styles.d.ts.map +1 -1
  669. package/build-types/panel/body.d.ts +0 -1
  670. package/build-types/panel/body.d.ts.map +1 -1
  671. package/build-types/panel/header.d.ts +0 -1
  672. package/build-types/panel/header.d.ts.map +1 -1
  673. package/build-types/panel/index.d.ts +0 -1
  674. package/build-types/panel/index.d.ts.map +1 -1
  675. package/build-types/panel/row.d.ts +0 -1
  676. package/build-types/panel/row.d.ts.map +1 -1
  677. package/build-types/panel/types.d.ts +0 -1
  678. package/build-types/panel/types.d.ts.map +1 -1
  679. package/build-types/placeholder/index.d.ts +0 -1
  680. package/build-types/placeholder/index.d.ts.map +1 -1
  681. package/build-types/popover/index.d.ts +0 -1
  682. package/build-types/popover/index.d.ts.map +1 -1
  683. package/build-types/popover/overlay-middlewares.d.ts +1 -11
  684. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  685. package/build-types/popover/stories/e2e/index.story.d.ts +0 -1
  686. package/build-types/popover/stories/e2e/index.story.d.ts.map +1 -1
  687. package/build-types/popover/stories/index.story.d.ts +6 -6
  688. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  689. package/build-types/popover/test/utils/index.d.ts +0 -1
  690. package/build-types/popover/test/utils/index.d.ts.map +1 -1
  691. package/build-types/popover/utils.d.ts +3 -3
  692. package/build-types/popover/utils.d.ts.map +1 -1
  693. package/build-types/private-apis.d.ts.map +1 -1
  694. package/build-types/progress-bar/index.d.ts +0 -1
  695. package/build-types/progress-bar/index.d.ts.map +1 -1
  696. package/build-types/progress-bar/stories/index.story.d.ts +0 -1
  697. package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
  698. package/build-types/progress-bar/styles.d.ts +6 -7
  699. package/build-types/progress-bar/styles.d.ts.map +1 -1
  700. package/build-types/query-controls/author-select.d.ts +0 -1
  701. package/build-types/query-controls/author-select.d.ts.map +1 -1
  702. package/build-types/query-controls/category-select.d.ts +0 -1
  703. package/build-types/query-controls/category-select.d.ts.map +1 -1
  704. package/build-types/query-controls/index.d.ts +0 -1
  705. package/build-types/query-controls/index.d.ts.map +1 -1
  706. package/build-types/radio-control/index.d.ts +0 -1
  707. package/build-types/radio-control/index.d.ts.map +1 -1
  708. package/build-types/radio-group/context.d.ts +2 -3
  709. package/build-types/radio-group/context.d.ts.map +1 -1
  710. package/build-types/radio-group/index.d.ts +0 -1
  711. package/build-types/radio-group/index.d.ts.map +1 -1
  712. package/build-types/radio-group/radio.d.ts +0 -1
  713. package/build-types/radio-group/radio.d.ts.map +1 -1
  714. package/build-types/radio-group/types.d.ts +0 -1
  715. package/build-types/radio-group/types.d.ts.map +1 -1
  716. package/build-types/range-control/index.d.ts +29 -29
  717. package/build-types/range-control/index.d.ts.map +1 -1
  718. package/build-types/range-control/input-range.d.ts +0 -1
  719. package/build-types/range-control/input-range.d.ts.map +1 -1
  720. package/build-types/range-control/mark.d.ts +0 -1
  721. package/build-types/range-control/mark.d.ts.map +1 -1
  722. package/build-types/range-control/rail.d.ts +0 -1
  723. package/build-types/range-control/rail.d.ts.map +1 -1
  724. package/build-types/range-control/styles/range-control-styles.d.ts +48 -49
  725. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  726. package/build-types/range-control/tooltip.d.ts +0 -1
  727. package/build-types/range-control/tooltip.d.ts.map +1 -1
  728. package/build-types/resizable-box/index.d.ts +7 -20
  729. package/build-types/resizable-box/index.d.ts.map +1 -1
  730. package/build-types/resizable-box/resize-tooltip/label.d.ts +0 -1
  731. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  732. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +7 -8
  733. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
  734. package/build-types/resizable-box/resize-tooltip/utils.d.ts +0 -1
  735. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  736. package/build-types/resizable-box/stories/index.story.d.ts +32 -39
  737. package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
  738. package/build-types/responsive-wrapper/index.d.ts +0 -1
  739. package/build-types/responsive-wrapper/index.d.ts.map +1 -1
  740. package/build-types/responsive-wrapper/types.d.ts +0 -1
  741. package/build-types/responsive-wrapper/types.d.ts.map +1 -1
  742. package/build-types/sandbox/index.d.ts +0 -1
  743. package/build-types/sandbox/index.d.ts.map +1 -1
  744. package/build-types/sandbox/types.d.ts +0 -1
  745. package/build-types/sandbox/types.d.ts.map +1 -1
  746. package/build-types/scrollable/component.d.ts +0 -1
  747. package/build-types/scrollable/component.d.ts.map +1 -1
  748. package/build-types/scrollable/hook.d.ts +9 -11
  749. package/build-types/scrollable/hook.d.ts.map +1 -1
  750. package/build-types/search-control/index.d.ts +0 -1
  751. package/build-types/search-control/index.d.ts.map +1 -1
  752. package/build-types/search-control/stories/index.story.d.ts +0 -1
  753. package/build-types/search-control/stories/index.story.d.ts.map +1 -1
  754. package/build-types/search-control/styles.d.ts +3 -4
  755. package/build-types/search-control/styles.d.ts.map +1 -1
  756. package/build-types/search-control/types.d.ts +0 -1
  757. package/build-types/search-control/types.d.ts.map +1 -1
  758. package/build-types/select-control/chevron-down.d.ts +0 -1
  759. package/build-types/select-control/chevron-down.d.ts.map +1 -1
  760. package/build-types/select-control/index.d.ts +0 -1
  761. package/build-types/select-control/index.d.ts.map +1 -1
  762. package/build-types/select-control/stories/index.story.d.ts +1 -1
  763. package/build-types/select-control/stories/index.story.d.ts.map +1 -1
  764. package/build-types/select-control/styles/select-control-styles.d.ts +7 -8
  765. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  766. package/build-types/select-control/types.d.ts +6 -0
  767. package/build-types/select-control/types.d.ts.map +1 -1
  768. package/build-types/shortcut/index.d.ts +0 -1
  769. package/build-types/shortcut/index.d.ts.map +1 -1
  770. package/build-types/slot-fill/bubbles-virtually/fill.d.ts +0 -1
  771. package/build-types/slot-fill/bubbles-virtually/fill.d.ts.map +1 -1
  772. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +0 -1
  773. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
  774. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts +0 -1
  775. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -1
  776. package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -2
  777. package/build-types/slot-fill/bubbles-virtually/slot.d.ts.map +1 -1
  778. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts.map +1 -1
  779. package/build-types/slot-fill/context.d.ts +0 -1
  780. package/build-types/slot-fill/context.d.ts.map +1 -1
  781. package/build-types/slot-fill/index.d.ts +4 -4
  782. package/build-types/slot-fill/index.d.ts.map +1 -1
  783. package/build-types/slot-fill/provider.d.ts +0 -1
  784. package/build-types/slot-fill/provider.d.ts.map +1 -1
  785. package/build-types/slot-fill/slot.d.ts +1 -2
  786. package/build-types/slot-fill/slot.d.ts.map +1 -1
  787. package/build-types/slot-fill/use-slot.d.ts +0 -1
  788. package/build-types/slot-fill/use-slot.d.ts.map +1 -1
  789. package/build-types/snackbar/index.d.ts +5 -6
  790. package/build-types/snackbar/index.d.ts.map +1 -1
  791. package/build-types/snackbar/list.d.ts +0 -1
  792. package/build-types/snackbar/list.d.ts.map +1 -1
  793. package/build-types/spacer/component.d.ts +0 -1
  794. package/build-types/spacer/component.d.ts.map +1 -1
  795. package/build-types/spacer/hook.d.ts +9 -11
  796. package/build-types/spacer/hook.d.ts.map +1 -1
  797. package/build-types/spinner/styles.d.ts +6 -7
  798. package/build-types/spinner/styles.d.ts.map +1 -1
  799. package/build-types/style-provider/index.d.ts +0 -1
  800. package/build-types/style-provider/index.d.ts.map +1 -1
  801. package/build-types/surface/component.d.ts +0 -1
  802. package/build-types/surface/component.d.ts.map +1 -1
  803. package/build-types/surface/hook.d.ts +10 -12
  804. package/build-types/surface/hook.d.ts.map +1 -1
  805. package/build-types/surface/types.d.ts +0 -1
  806. package/build-types/surface/types.d.ts.map +1 -1
  807. package/build-types/tab-panel/index.d.ts +0 -1
  808. package/build-types/tab-panel/index.d.ts.map +1 -1
  809. package/build-types/tab-panel/stories/index.story.d.ts +0 -1
  810. package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
  811. package/build-types/tabs/context.d.ts +0 -1
  812. package/build-types/tabs/context.d.ts.map +1 -1
  813. package/build-types/tabs/index.d.ts +0 -1
  814. package/build-types/tabs/index.d.ts.map +1 -1
  815. package/build-types/tabs/styles.d.ts +12 -13
  816. package/build-types/tabs/styles.d.ts.map +1 -1
  817. package/build-types/tabs/tab.d.ts +0 -1
  818. package/build-types/tabs/tab.d.ts.map +1 -1
  819. package/build-types/tabs/tablist.d.ts +0 -1
  820. package/build-types/tabs/tablist.d.ts.map +1 -1
  821. package/build-types/tabs/tabpanel.d.ts +0 -1
  822. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  823. package/build-types/tabs/types.d.ts +0 -1
  824. package/build-types/tabs/types.d.ts.map +1 -1
  825. package/build-types/text/component.d.ts +0 -1
  826. package/build-types/text/component.d.ts.map +1 -1
  827. package/build-types/text/hook.d.ts +9 -9
  828. package/build-types/text/stories/index.story.d.ts +0 -1
  829. package/build-types/text/stories/index.story.d.ts.map +1 -1
  830. package/build-types/text/utils.d.ts +0 -1
  831. package/build-types/text/utils.d.ts.map +1 -1
  832. package/build-types/text-control/index.d.ts +2 -3
  833. package/build-types/text-control/index.d.ts.map +1 -1
  834. package/build-types/text-highlight/index.d.ts +0 -1
  835. package/build-types/text-highlight/index.d.ts.map +1 -1
  836. package/build-types/textarea-control/index.d.ts +2 -2
  837. package/build-types/textarea-control/index.d.ts.map +1 -1
  838. package/build-types/textarea-control/styles/textarea-control-styles.d.ts +2 -3
  839. package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
  840. package/build-types/theme/color-algorithms.d.ts +1 -9
  841. package/build-types/theme/color-algorithms.d.ts.map +1 -1
  842. package/build-types/theme/index.d.ts +0 -1
  843. package/build-types/theme/index.d.ts.map +1 -1
  844. package/build-types/theme/stories/index.story.d.ts +0 -1
  845. package/build-types/theme/stories/index.story.d.ts.map +1 -1
  846. package/build-types/theme/styles.d.ts +2 -3
  847. package/build-types/theme/styles.d.ts.map +1 -1
  848. package/build-types/tip/index.d.ts +0 -1
  849. package/build-types/tip/index.d.ts.map +1 -1
  850. package/build-types/toggle-control/index.d.ts.map +1 -1
  851. package/build-types/toggle-control/stories/index.story.d.ts +0 -1
  852. package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
  853. package/build-types/toggle-group-control/context.d.ts +0 -1
  854. package/build-types/toggle-group-control/context.d.ts.map +1 -1
  855. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +0 -1
  856. package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
  857. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +0 -1
  858. package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
  859. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +8 -9
  860. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  861. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -6
  862. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  863. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +0 -1
  864. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
  865. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +1 -2
  866. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  867. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +5 -6
  868. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  869. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +0 -1
  870. package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
  871. package/build-types/toolbar/stories/index.story.d.ts +0 -1
  872. package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
  873. package/build-types/toolbar/toolbar/index.d.ts +0 -1
  874. package/build-types/toolbar/toolbar/index.d.ts.map +1 -1
  875. package/build-types/toolbar/toolbar/toolbar-container.d.ts +0 -1
  876. package/build-types/toolbar/toolbar/toolbar-container.d.ts.map +1 -1
  877. package/build-types/toolbar/toolbar-button/index.d.ts +0 -1
  878. package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
  879. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts +0 -1
  880. package/build-types/toolbar/toolbar-button/toolbar-button-container.d.ts.map +1 -1
  881. package/build-types/toolbar/toolbar-context/index.d.ts +0 -1
  882. package/build-types/toolbar/toolbar-context/index.d.ts.map +1 -1
  883. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts +0 -1
  884. package/build-types/toolbar/toolbar-dropdown-menu/index.d.ts.map +1 -1
  885. package/build-types/toolbar/toolbar-group/index.d.ts +0 -1
  886. package/build-types/toolbar/toolbar-group/index.d.ts.map +1 -1
  887. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts +0 -1
  888. package/build-types/toolbar/toolbar-group/toolbar-group-collapsed.d.ts.map +1 -1
  889. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts +1 -2
  890. package/build-types/toolbar/toolbar-group/toolbar-group-container.d.ts.map +1 -1
  891. package/build-types/toolbar/toolbar-item/index.d.ts +2 -3
  892. package/build-types/toolbar/toolbar-item/index.d.ts.map +1 -1
  893. package/build-types/tools-panel/context.d.ts +0 -1
  894. package/build-types/tools-panel/context.d.ts.map +1 -1
  895. package/build-types/tools-panel/styles.d.ts +2 -3
  896. package/build-types/tools-panel/styles.d.ts.map +1 -1
  897. package/build-types/tools-panel/tools-panel/component.d.ts +0 -1
  898. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  899. package/build-types/tools-panel/tools-panel/hook.d.ts +10 -12
  900. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  901. package/build-types/tools-panel/tools-panel-header/component.d.ts +0 -1
  902. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  903. package/build-types/tools-panel/tools-panel-header/hook.d.ts +11 -13
  904. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  905. package/build-types/tools-panel/tools-panel-item/component.d.ts +3 -4
  906. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
  907. package/build-types/tools-panel/tools-panel-item/hook.d.ts +9 -11
  908. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  909. package/build-types/tooltip/index.d.ts +0 -1
  910. package/build-types/tooltip/index.d.ts.map +1 -1
  911. package/build-types/tooltip/stories/index.story.d.ts +0 -1
  912. package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
  913. package/build-types/tooltip/types.d.ts +0 -1
  914. package/build-types/tooltip/types.d.ts.map +1 -1
  915. package/build-types/tree-grid/cell.d.ts +0 -1
  916. package/build-types/tree-grid/cell.d.ts.map +1 -1
  917. package/build-types/tree-grid/index.d.ts +0 -1
  918. package/build-types/tree-grid/index.d.ts.map +1 -1
  919. package/build-types/tree-grid/item.d.ts +0 -1
  920. package/build-types/tree-grid/item.d.ts.map +1 -1
  921. package/build-types/tree-grid/roving-tab-index-context.d.ts +0 -1
  922. package/build-types/tree-grid/roving-tab-index-context.d.ts.map +1 -1
  923. package/build-types/tree-grid/roving-tab-index-item.d.ts +0 -1
  924. package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -1
  925. package/build-types/tree-grid/roving-tab-index.d.ts +0 -1
  926. package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -1
  927. package/build-types/tree-grid/row.d.ts +0 -1
  928. package/build-types/tree-grid/row.d.ts.map +1 -1
  929. package/build-types/tree-grid/stories/index.story.d.ts +0 -1
  930. package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
  931. package/build-types/tree-grid/types.d.ts +0 -1
  932. package/build-types/tree-grid/types.d.ts.map +1 -1
  933. package/build-types/tree-select/index.d.ts +1 -1
  934. package/build-types/tree-select/index.d.ts.map +1 -1
  935. package/build-types/truncate/component.d.ts +0 -1
  936. package/build-types/truncate/component.d.ts.map +1 -1
  937. package/build-types/truncate/hook.d.ts +9 -11
  938. package/build-types/truncate/hook.d.ts.map +1 -1
  939. package/build-types/truncate/utils.d.ts.map +1 -1
  940. package/build-types/unit-control/index.d.ts +7 -8
  941. package/build-types/unit-control/index.d.ts.map +1 -1
  942. package/build-types/unit-control/styles/unit-control-styles.d.ts +17 -18
  943. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  944. package/build-types/unit-control/unit-select-control.d.ts +0 -1
  945. package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
  946. package/build-types/unit-control/utils.d.ts.map +1 -1
  947. package/build-types/utils/breakpoint.d.ts +1 -10
  948. package/build-types/utils/breakpoint.d.ts.map +1 -1
  949. package/build-types/utils/element-rect.d.ts +111 -0
  950. package/build-types/utils/element-rect.d.ts.map +1 -0
  951. package/build-types/utils/font.d.ts +1 -6
  952. package/build-types/utils/font.d.ts.map +1 -1
  953. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  954. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  955. package/build-types/utils/hooks/use-controlled-value.d.ts +0 -1
  956. package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
  957. package/build-types/utils/hooks/use-event.d.ts +20 -0
  958. package/build-types/utils/hooks/use-event.d.ts.map +1 -0
  959. package/build-types/utils/hooks/use-on-value-update.d.ts +19 -0
  960. package/build-types/utils/hooks/use-on-value-update.d.ts.map +1 -0
  961. package/build-types/utils/hooks/use-update-effect.d.ts +1 -1
  962. package/build-types/utils/math.d.ts.map +1 -1
  963. package/build-types/utils/rtl.d.ts +2 -2
  964. package/build-types/utils/values.d.ts +2 -2
  965. package/build-types/utils/values.d.ts.map +1 -1
  966. package/build-types/utils/with-ignore-ime-events.d.ts +0 -1
  967. package/build-types/utils/with-ignore-ime-events.d.ts.map +1 -1
  968. package/build-types/v-stack/component.d.ts +2 -3
  969. package/build-types/v-stack/component.d.ts.map +1 -1
  970. package/build-types/v-stack/hook.d.ts +9 -11
  971. package/build-types/v-stack/hook.d.ts.map +1 -1
  972. package/build-types/v-stack/stories/index.story.d.ts +2 -3
  973. package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
  974. package/build-types/view/component.d.ts +0 -2
  975. package/build-types/view/component.d.ts.map +1 -1
  976. package/build-types/visually-hidden/component.d.ts +0 -1
  977. package/build-types/visually-hidden/component.d.ts.map +1 -1
  978. package/build-types/z-stack/component.d.ts +0 -1
  979. package/build-types/z-stack/component.d.ts.map +1 -1
  980. package/build-types/z-stack/styles.d.ts +4 -5
  981. package/build-types/z-stack/styles.d.ts.map +1 -1
  982. package/package.json +19 -20
  983. package/src/autocomplete/README.md +2 -2
  984. package/src/autocomplete/types.ts +2 -3
  985. package/src/base-control/README.md +1 -1
  986. package/src/base-control/types.ts +1 -1
  987. package/src/button/README.md +1 -1
  988. package/src/button/index.tsx +9 -7
  989. package/src/button/test/index.tsx +17 -4
  990. package/src/button/types.ts +9 -2
  991. package/src/card/card/README.md +1 -1
  992. package/src/card/stories/index.story.tsx +43 -42
  993. package/src/checkbox-control/README.md +8 -0
  994. package/src/checkbox-control/index.tsx +1 -0
  995. package/src/checkbox-control/style.scss +3 -1
  996. package/src/color-picker/component.tsx +12 -22
  997. package/src/color-picker/stories/index.story.tsx +2 -22
  998. package/src/combobox-control/README.md +9 -0
  999. package/src/combobox-control/index.tsx +11 -0
  1000. package/src/combobox-control/test/index.tsx +127 -1
  1001. package/src/custom-select-control/README.md +34 -32
  1002. package/src/{custom-select-control-v2/legacy-component → custom-select-control}/index.tsx +60 -37
  1003. package/src/custom-select-control/stories/index.story.tsx +26 -18
  1004. package/src/{custom-select-control-v2/legacy-component → custom-select-control}/test/index.tsx +57 -61
  1005. package/src/custom-select-control/types.ts +123 -0
  1006. package/src/custom-select-control-v2/custom-select.tsx +2 -0
  1007. package/src/custom-select-control-v2/index.tsx +26 -1
  1008. package/src/custom-select-control-v2/stories/{default.story.tsx → index.story.tsx} +1 -1
  1009. package/src/custom-select-control-v2/styles.ts +28 -3
  1010. package/src/custom-select-control-v2/types.ts +0 -109
  1011. package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -0
  1012. package/src/disabled/README.md +1 -1
  1013. package/src/dropdown/stories/index.story.tsx +55 -50
  1014. package/src/dropdown-menu/stories/index.story.tsx +52 -55
  1015. package/src/dropdown-menu-v2/stories/index.story.tsx +0 -12
  1016. package/src/dropdown-menu-v2/styles.ts +3 -3
  1017. package/src/focal-point-picker/README.md +9 -0
  1018. package/src/focal-point-picker/index.tsx +1 -0
  1019. package/src/font-size-picker/README.md +1 -1
  1020. package/src/font-size-picker/font-size-picker-select.tsx +3 -3
  1021. package/src/font-size-picker/index.tsx +68 -64
  1022. package/src/font-size-picker/test/index.tsx +83 -15
  1023. package/src/font-size-picker/types.ts +6 -5
  1024. package/src/form-toggle/style.scss +14 -9
  1025. package/src/form-token-field/README.md +2 -1
  1026. package/src/form-token-field/index.tsx +9 -0
  1027. package/src/form-token-field/stories/index.story.tsx +2 -0
  1028. package/src/higher-order/navigate-regions/style.scss +3 -15
  1029. package/src/index.ts +1 -1
  1030. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
  1031. package/src/navigator/stories/index.story.tsx +240 -242
  1032. package/src/notice/test/__snapshots__/index.tsx.snap +1 -1
  1033. package/src/popover/stories/index.story.tsx +155 -153
  1034. package/src/private-apis.ts +0 -4
  1035. package/src/radio-control/index.tsx +1 -1
  1036. package/src/radio-control/style.scss +6 -1
  1037. package/src/range-control/README.md +8 -0
  1038. package/src/range-control/index.tsx +1 -0
  1039. package/src/resizable-box/resize-tooltip/README.md +1 -1
  1040. package/src/select-control/README.md +8 -0
  1041. package/src/select-control/index.tsx +7 -0
  1042. package/src/select-control/stories/index.story.tsx +6 -0
  1043. package/src/select-control/styles/select-control-styles.ts +24 -1
  1044. package/src/select-control/types.ts +6 -0
  1045. package/src/style.scss +1 -1
  1046. package/src/tabs/styles.ts +10 -2
  1047. package/src/tabs/tablist.tsx +3 -243
  1048. package/src/textarea-control/README.md +8 -0
  1049. package/src/textarea-control/index.tsx +1 -0
  1050. package/src/toggle-control/index.tsx +12 -3
  1051. package/src/toggle-control/style.scss +11 -0
  1052. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +36 -6
  1053. package/src/toggle-group-control/test/index.tsx +114 -0
  1054. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +6 -1
  1055. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +5 -0
  1056. package/src/tools-panel/tools-panel-header/component.tsx +1 -1
  1057. package/src/tree-select/README.md +9 -0
  1058. package/src/tree-select/index.tsx +1 -0
  1059. package/src/utils/element-rect.ts +197 -0
  1060. package/src/utils/hooks/use-event.ts +38 -0
  1061. package/src/utils/hooks/use-on-value-update.ts +42 -0
  1062. package/tsconfig.tsbuildinfo +1 -1
  1063. package/build/custom-select-control-v2/default-component/index.js +0 -42
  1064. package/build/custom-select-control-v2/default-component/index.js.map +0 -1
  1065. package/build/custom-select-control-v2/legacy-component/index.js +0 -131
  1066. package/build/custom-select-control-v2/legacy-component/index.js.map +0 -1
  1067. package/build-module/custom-select-control-v2/default-component/index.js +0 -31
  1068. package/build-module/custom-select-control-v2/default-component/index.js.map +0 -1
  1069. package/build-module/custom-select-control-v2/legacy-component/index.js +0 -122
  1070. package/build-module/custom-select-control-v2/legacy-component/index.js.map +0 -1
  1071. package/build-types/custom-select-control-v2/default-component/index.d.ts +0 -9
  1072. package/build-types/custom-select-control-v2/default-component/index.d.ts.map +0 -1
  1073. package/build-types/custom-select-control-v2/legacy-component/index.d.ts +0 -5
  1074. package/build-types/custom-select-control-v2/legacy-component/index.d.ts.map +0 -1
  1075. package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts.map +0 -1
  1076. package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +0 -1
  1077. package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +0 -14
  1078. package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +0 -1
  1079. package/src/custom-select-control/index.js +0 -240
  1080. package/src/custom-select-control/style.scss +0 -75
  1081. package/src/custom-select-control/test/index.js +0 -665
  1082. package/src/custom-select-control-v2/default-component/index.tsx +0 -29
  1083. package/src/custom-select-control-v2/stories/legacy.story.tsx +0 -72
  1084. /package/build-types/{custom-select-control-v2/legacy-component → custom-select-control}/test/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_n","sprintf","Component","useState","useMemo","useRef","useEffect","useInstanceId","speak","closeSmall","InputWrapperFlex","TokenInput","SuggestionsList","BaseControl","Button","FlexBlock","FlexItem","withFocusOutside","useControlledValue","normalizeTextString","useDeprecated36pxDefaultSizeProp","withIgnoreIMEEvents","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","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","hasMatchingSuggestions","hasSelectedMatchingSuggestions","message","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, FlexItem } 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';\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\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} = 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// 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\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\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\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<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\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\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\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","FlexItem","withFocusOutside","useControlledValue","normalizeTextString","useDeprecated36pxDefaultSizeProp","withIgnoreIMEEvents","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","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","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, FlexItem } 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';\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__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} = 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\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\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\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<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"components-combobox-control__reset\"\n\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\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\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\t\tdisabled={ ! value }\n\t\t\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t\t\t\tonKeyDown={ handleResetStopPropagation }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\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,194 +1,144 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * External dependencies
4
3
  */
5
- import { useSelect } from 'downshift';
4
+ import * as Ariakit from '@ariakit/react';
6
5
  import clsx from 'clsx';
7
6
 
8
- /**
9
- * WordPress dependencies
10
- */
11
- import { Icon, check } from '@wordpress/icons';
12
- import { __, sprintf } from '@wordpress/i18n';
13
- import { useCallback } from '@wordpress/element';
14
-
15
7
  /**
16
8
  * Internal dependencies
17
9
  */
18
- import { VisuallyHidden } from '../visually-hidden';
19
- import { Select as SelectControlSelect } from '../select-control/styles/select-control-styles';
20
- import SelectControlChevronDown from '../select-control/chevron-down';
21
- import { StyledLabel } from '../base-control/styles/base-control-styles';
22
- import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
23
- import InputBase from '../input-control/input-base';
10
+ import _CustomSelect from '../custom-select-control-v2/custom-select';
11
+ import CustomSelectItem from '../custom-select-control-v2/item';
12
+ import * as Styled from '../custom-select-control-v2/styles';
24
13
  import { jsx as _jsx } from "react/jsx-runtime";
25
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
- const itemToString = item => item?.name;
27
- // This is needed so that in Windows, where
28
- // the menu does not necessarily open on
29
- // key up/down, you can still switch between
30
- // options with the menu closed.
31
- const stateReducer = ({
32
- selectedItem
33
- }, {
34
- type,
35
- changes,
36
- props: {
37
- items
38
- }
39
- }) => {
40
- switch (type) {
41
- case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:
42
- // If we already have a selected item, try to select the next one,
43
- // without circular navigation. Otherwise, select the first item.
44
- return {
45
- selectedItem: items[selectedItem ? Math.min(items.indexOf(selectedItem) + 1, items.length - 1) : 0]
46
- };
47
- case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:
48
- // If we already have a selected item, try to select the previous one,
49
- // without circular navigation. Otherwise, select the last item.
50
- return {
51
- selectedItem: items[selectedItem ? Math.max(items.indexOf(selectedItem) - 1, 0) : items.length - 1]
52
- };
53
- default:
54
- return changes;
55
- }
56
- };
57
- export default function CustomSelectControl(props) {
15
+ function useDeprecatedProps({
16
+ __experimentalShowSelectedHint,
17
+ ...otherProps
18
+ }) {
19
+ return {
20
+ showSelectedHint: __experimentalShowSelectedHint,
21
+ ...otherProps
22
+ };
23
+ }
24
+
25
+ // The removal of `__experimentalHint` in favour of `hint` doesn't happen in
26
+ // the `useDeprecatedProps` hook in order not to break consumers that rely
27
+ // on object identity (see https://github.com/WordPress/gutenberg/pull/63248#discussion_r1672213131)
28
+ function applyOptionDeprecations({
29
+ __experimentalHint,
30
+ ...rest
31
+ }) {
32
+ return {
33
+ hint: __experimentalHint,
34
+ ...rest
35
+ };
36
+ }
37
+ function CustomSelectControl(props) {
58
38
  const {
59
- /** Start opting into the larger default height that will become the default size in a future version. */
60
39
  __next40pxDefaultSize = false,
61
- className,
62
- hideLabelFromVision,
63
- label,
64
40
  describedBy,
65
- options: items,
66
- onChange: onSelectedItemChange,
67
- /** @type {import('../select-control/types').SelectControlProps.size} */
41
+ options,
42
+ onChange,
68
43
  size = 'default',
69
- value: _selectedItem,
70
- onMouseOver,
71
- onMouseOut,
72
- onFocus,
73
- onBlur,
74
- __experimentalShowSelectedHint = false
75
- } = useDeprecated36pxDefaultSizeProp(props);
76
- const {
77
- getLabelProps,
78
- getToggleButtonProps,
79
- getMenuProps,
80
- getItemProps,
81
- isOpen,
82
- highlightedIndex,
83
- selectedItem
84
- } = useSelect({
85
- initialSelectedItem: items[0],
86
- items,
87
- itemToString,
88
- onSelectedItemChange,
89
- ...(typeof _selectedItem !== 'undefined' && _selectedItem !== null ? {
90
- selectedItem: _selectedItem
91
- } : undefined),
92
- stateReducer
93
- });
94
- function getDescribedBy() {
95
- if (describedBy) {
96
- return describedBy;
97
- }
98
- if (!selectedItem) {
99
- return __('No selection');
100
- }
44
+ value,
45
+ className: classNameProp,
46
+ showSelectedHint = false,
47
+ ...restProps
48
+ } = useDeprecatedProps(props);
101
49
 
102
- // translators: %s: The selected option.
103
- return sprintf(__('Currently selected: %s'), selectedItem.name);
104
- }
105
- let menuProps = getMenuProps({
106
- className: 'components-custom-select-control__menu',
107
- 'aria-hidden': !isOpen
108
- });
109
- const onKeyDownHandler = useCallback(e => {
110
- e.stopPropagation();
111
- menuProps?.onKeyDown?.(e);
112
- }, [menuProps]);
50
+ // Forward props + store from v2 implementation
51
+ const store = Ariakit.useSelectStore({
52
+ async setValue(nextValue) {
53
+ const nextOption = options.find(item => item.name === nextValue);
54
+ if (!onChange || !nextOption) {
55
+ return;
56
+ }
113
57
 
114
- // We need this here, because the null active descendant is not fully ARIA compliant.
115
- if (menuProps['aria-activedescendant']?.startsWith('downshift-null')) {
116
- const {
117
- 'aria-activedescendant': ariaActivedescendant,
118
- ...restMenuProps
119
- } = menuProps;
120
- menuProps = restMenuProps;
121
- }
122
- return /*#__PURE__*/_jsxs("div", {
123
- className: clsx('components-custom-select-control', className),
124
- children: [hideLabelFromVision ? /*#__PURE__*/_jsx(VisuallyHidden, {
125
- as: "label",
126
- ...getLabelProps(),
127
- children: label
128
- }) :
129
- /*#__PURE__*/
130
- /* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */
131
- _jsx(StyledLabel, {
132
- ...getLabelProps({
133
- className: 'components-custom-select-control__label'
134
- }),
135
- children: label
136
- }), /*#__PURE__*/_jsxs(InputBase, {
137
- __next40pxDefaultSize: __next40pxDefaultSize,
138
- size: size,
139
- suffix: /*#__PURE__*/_jsx(SelectControlChevronDown, {}),
140
- children: [/*#__PURE__*/_jsxs(SelectControlSelect, {
141
- onMouseOver: onMouseOver,
142
- onMouseOut: onMouseOut,
143
- as: "button",
144
- onFocus: onFocus,
145
- onBlur: onBlur,
146
- selectSize: size,
147
- __next40pxDefaultSize: __next40pxDefaultSize,
148
- ...getToggleButtonProps({
149
- // This is needed because some speech recognition software don't support `aria-labelledby`.
150
- 'aria-label': label,
151
- 'aria-labelledby': undefined,
152
- className: 'components-custom-select-control__button',
153
- describedBy: getDescribedBy()
154
- }),
155
- children: [itemToString(selectedItem), __experimentalShowSelectedHint && selectedItem.__experimentalHint && /*#__PURE__*/_jsx("span", {
156
- className: "components-custom-select-control__hint",
157
- children: selectedItem.__experimentalHint
158
- })]
159
- }), /*#__PURE__*/_jsx("div", {
160
- className: "components-custom-select-control__menu-wrapper",
161
- children: /*#__PURE__*/_jsx("ul", {
162
- ...menuProps,
163
- onKeyDown: onKeyDownHandler,
164
- children: isOpen && items.map((item, index) => /*#__PURE__*/_jsxs("li", {
165
- ...getItemProps({
166
- item,
167
- index,
168
- className: clsx(item.className, 'components-custom-select-control__item', {
169
- 'is-highlighted': index === highlightedIndex,
170
- 'has-hint': !!item.__experimentalHint,
171
- 'is-next-40px-default-size': __next40pxDefaultSize
172
- }),
173
- style: item.style
174
- }),
175
- children: [item.name, item.__experimentalHint && /*#__PURE__*/_jsx("span", {
176
- className: "components-custom-select-control__item-hint",
177
- children: item.__experimentalHint
178
- }), item === selectedItem && /*#__PURE__*/_jsx(Icon, {
179
- icon: check,
180
- className: "components-custom-select-control__item-icon"
181
- })]
182
- }, item.key))
183
- })
58
+ // Executes the logic in a microtask after the popup is closed.
59
+ // This is simply to ensure the isOpen state matches the one from the
60
+ // previous legacy implementation.
61
+ await Promise.resolve();
62
+ const state = store.getState();
63
+ const changeObject = {
64
+ highlightedIndex: state.renderedItems.findIndex(item => item.value === nextValue),
65
+ inputValue: '',
66
+ isOpen: state.open,
67
+ selectedItem: nextOption,
68
+ type: ''
69
+ };
70
+ onChange(changeObject);
71
+ },
72
+ value: value?.name,
73
+ // Setting the first option as a default value when no value is provided
74
+ // is already done natively by the underlying Ariakit component,
75
+ // but doing this explicitly avoids the `onChange` callback from firing
76
+ // on initial render, thus making this implementation closer to the v1.
77
+ defaultValue: options[0]?.name
78
+ });
79
+ const children = options.map(applyOptionDeprecations).map(({
80
+ name,
81
+ key,
82
+ hint,
83
+ style,
84
+ className
85
+ }) => {
86
+ const withHint = /*#__PURE__*/_jsxs(Styled.WithHintItemWrapper, {
87
+ children: [/*#__PURE__*/_jsx("span", {
88
+ children: name
89
+ }), /*#__PURE__*/_jsx(Styled.WithHintItemHint, {
90
+ // Keeping the classname for legacy reasons
91
+ className: "components-custom-select-control__item-hint",
92
+ children: hint
184
93
  })]
185
- })]
94
+ });
95
+ return /*#__PURE__*/_jsx(CustomSelectItem, {
96
+ value: name,
97
+ children: hint ? withHint : name,
98
+ style: style,
99
+ className: clsx(className,
100
+ // Keeping the classnames for legacy reasons
101
+ 'components-custom-select-control__item', {
102
+ 'has-hint': hint
103
+ })
104
+ }, key);
186
105
  });
187
- }
188
- export function StableCustomSelectControl(props) {
189
- return /*#__PURE__*/_jsx(CustomSelectControl, {
190
- ...props,
191
- __experimentalShowSelectedHint: false
106
+ const renderSelectedValueHint = () => {
107
+ const {
108
+ value: currentValue
109
+ } = store.getState();
110
+ const selectedOptionHint = options?.map(applyOptionDeprecations)?.find(({
111
+ name
112
+ }) => currentValue === name)?.hint;
113
+ return /*#__PURE__*/_jsxs(Styled.SelectedExperimentalHintWrapper, {
114
+ children: [currentValue, selectedOptionHint && /*#__PURE__*/_jsx(Styled.SelectedExperimentalHintItem, {
115
+ // Keeping the classname for legacy reasons
116
+ className: "components-custom-select-control__hint",
117
+ children: selectedOptionHint
118
+ })]
119
+ });
120
+ };
121
+ const translatedSize = (() => {
122
+ if (__next40pxDefaultSize && size === 'default' || size === '__unstable-large') {
123
+ return 'default';
124
+ }
125
+ if (!__next40pxDefaultSize && size === 'default') {
126
+ return 'compact';
127
+ }
128
+ return size;
129
+ })();
130
+ return /*#__PURE__*/_jsx(_CustomSelect, {
131
+ "aria-describedby": describedBy,
132
+ renderSelectedValue: showSelectedHint ? renderSelectedValueHint : undefined,
133
+ size: translatedSize,
134
+ store: store,
135
+ className: clsx(
136
+ // Keeping the classname for legacy reasons
137
+ 'components-custom-select-control', classNameProp),
138
+ isLegacy: true,
139
+ ...restProps,
140
+ children: children
192
141
  });
193
142
  }
143
+ export default CustomSelectControl;
194
144
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","clsx","Icon","check","__","sprintf","useCallback","VisuallyHidden","Select","SelectControlSelect","SelectControlChevronDown","StyledLabel","useDeprecated36pxDefaultSizeProp","InputBase","jsx","_jsx","jsxs","_jsxs","itemToString","item","name","stateReducer","selectedItem","type","changes","props","items","stateChangeTypes","ToggleButtonKeyDownArrowDown","Math","min","indexOf","length","ToggleButtonKeyDownArrowUp","max","CustomSelectControl","__next40pxDefaultSize","className","hideLabelFromVision","label","describedBy","options","onChange","onSelectedItemChange","size","value","_selectedItem","onMouseOver","onMouseOut","onFocus","onBlur","__experimentalShowSelectedHint","getLabelProps","getToggleButtonProps","getMenuProps","getItemProps","isOpen","highlightedIndex","initialSelectedItem","undefined","getDescribedBy","menuProps","onKeyDownHandler","e","stopPropagation","onKeyDown","startsWith","ariaActivedescendant","restMenuProps","children","as","suffix","selectSize","__experimentalHint","map","index","style","icon","key","StableCustomSelectControl"],"sources":["@wordpress/components/src/custom-select-control/index.js"],"sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { useSelect } from 'downshift';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '../visually-hidden';\nimport { Select as SelectControlSelect } from '../select-control/styles/select-control-styles';\nimport SelectControlChevronDown from '../select-control/chevron-down';\nimport { StyledLabel } from '../base-control/styles/base-control-styles';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport InputBase from '../input-control/input-base';\n\nconst itemToString = ( item ) => item?.name;\n// This is needed so that in Windows, where\n// the menu does not necessarily open on\n// key up/down, you can still switch between\n// options with the menu closed.\nconst stateReducer = (\n\t{ selectedItem },\n\t{ type, changes, props: { items } }\n) => {\n\tswitch ( type ) {\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:\n\t\t\t// If we already have a selected item, try to select the next one,\n\t\t\t// without circular navigation. Otherwise, select the first item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.min(\n\t\t\t\t\t\t\t\t\titems.indexOf( selectedItem ) + 1,\n\t\t\t\t\t\t\t\t\titems.length - 1\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t],\n\t\t\t};\n\t\tcase useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:\n\t\t\t// If we already have a selected item, try to select the previous one,\n\t\t\t// without circular navigation. Otherwise, select the last item.\n\t\t\treturn {\n\t\t\t\tselectedItem:\n\t\t\t\t\titems[\n\t\t\t\t\t\tselectedItem\n\t\t\t\t\t\t\t? Math.max( items.indexOf( selectedItem ) - 1, 0 )\n\t\t\t\t\t\t\t: items.length - 1\n\t\t\t\t\t],\n\t\t\t};\n\t\tdefault:\n\t\t\treturn changes;\n\t}\n};\n\nexport default function CustomSelectControl( props ) {\n\tconst {\n\t\t/** Start opting into the larger default height that will become the default size in a future version. */\n\t\t__next40pxDefaultSize = false,\n\t\tclassName,\n\t\thideLabelFromVision,\n\t\tlabel,\n\t\tdescribedBy,\n\t\toptions: items,\n\t\tonChange: onSelectedItemChange,\n\t\t/** @type {import('../select-control/types').SelectControlProps.size} */\n\t\tsize = 'default',\n\t\tvalue: _selectedItem,\n\t\tonMouseOver,\n\t\tonMouseOut,\n\t\tonFocus,\n\t\tonBlur,\n\t\t__experimentalShowSelectedHint = false,\n\t} = useDeprecated36pxDefaultSizeProp( props );\n\n\tconst {\n\t\tgetLabelProps,\n\t\tgetToggleButtonProps,\n\t\tgetMenuProps,\n\t\tgetItemProps,\n\t\tisOpen,\n\t\thighlightedIndex,\n\t\tselectedItem,\n\t} = useSelect( {\n\t\tinitialSelectedItem: items[ 0 ],\n\t\titems,\n\t\titemToString,\n\t\tonSelectedItemChange,\n\t\t...( typeof _selectedItem !== 'undefined' && _selectedItem !== null\n\t\t\t? { selectedItem: _selectedItem }\n\t\t\t: undefined ),\n\t\tstateReducer,\n\t} );\n\n\tfunction getDescribedBy() {\n\t\tif ( describedBy ) {\n\t\t\treturn describedBy;\n\t\t}\n\n\t\tif ( ! selectedItem ) {\n\t\t\treturn __( 'No selection' );\n\t\t}\n\n\t\t// translators: %s: The selected option.\n\t\treturn sprintf( __( 'Currently selected: %s' ), selectedItem.name );\n\t}\n\n\tlet menuProps = getMenuProps( {\n\t\tclassName: 'components-custom-select-control__menu',\n\t\t'aria-hidden': ! isOpen,\n\t} );\n\n\tconst onKeyDownHandler = useCallback(\n\t\t( e ) => {\n\t\t\te.stopPropagation();\n\t\t\tmenuProps?.onKeyDown?.( e );\n\t\t},\n\t\t[ menuProps ]\n\t);\n\n\t// We need this here, because the null active descendant is not fully ARIA compliant.\n\tif (\n\t\tmenuProps[ 'aria-activedescendant' ]?.startsWith( 'downshift-null' )\n\t) {\n\t\tconst {\n\t\t\t'aria-activedescendant': ariaActivedescendant,\n\t\t\t...restMenuProps\n\t\t} = menuProps;\n\t\tmenuProps = restMenuProps;\n\t}\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'components-custom-select-control', className ) }\n\t\t>\n\t\t\t{ hideLabelFromVision ? (\n\t\t\t\t<VisuallyHidden as=\"label\" { ...getLabelProps() }>\n\t\t\t\t\t{ label }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) : (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/label-has-associated-control, jsx-a11y/label-has-for */\n\t\t\t\t<StyledLabel\n\t\t\t\t\t{ ...getLabelProps( {\n\t\t\t\t\t\tclassName: 'components-custom-select-control__label',\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</StyledLabel>\n\t\t\t) }\n\t\t\t<InputBase\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={ <SelectControlChevronDown /> }\n\t\t\t>\n\t\t\t\t<SelectControlSelect\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tselectSize={ size }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\t{ ...getToggleButtonProps( {\n\t\t\t\t\t\t// This is needed because some speech recognition software don't support `aria-labelledby`.\n\t\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t\t'aria-labelledby': undefined,\n\t\t\t\t\t\tclassName: 'components-custom-select-control__button',\n\t\t\t\t\t\tdescribedBy: getDescribedBy(),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ itemToString( selectedItem ) }\n\t\t\t\t\t{ __experimentalShowSelectedHint &&\n\t\t\t\t\t\tselectedItem.__experimentalHint && (\n\t\t\t\t\t\t\t<span className=\"components-custom-select-control__hint\">\n\t\t\t\t\t\t\t\t{ selectedItem.__experimentalHint }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t</SelectControlSelect>\n\t\t\t\t<div className=\"components-custom-select-control__menu-wrapper\">\n\t\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t\t\t<ul { ...menuProps } onKeyDown={ onKeyDownHandler }>\n\t\t\t\t\t\t{ isOpen &&\n\t\t\t\t\t\t\titems.map( ( item, index ) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={ item.key }\n\t\t\t\t\t\t\t\t\t{ ...getItemProps( {\n\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\t\t\titem.className,\n\t\t\t\t\t\t\t\t\t\t\t'components-custom-select-control__item',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-highlighted':\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex === highlightedIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t'has-hint':\n\t\t\t\t\t\t\t\t\t\t\t\t\t!! item.__experimentalHint,\n\t\t\t\t\t\t\t\t\t\t\t\t'is-next-40px-default-size':\n\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize,\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\tstyle: item.style,\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{ item.name }\n\t\t\t\t\t\t\t\t\t{ item.__experimentalHint && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"components-custom-select-control__item-hint\">\n\t\t\t\t\t\t\t\t\t\t\t{ item.__experimentalHint }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ item === selectedItem && (\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\ticon={ check }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-custom-select-control__item-icon\"\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</li>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</InputBase>\n\t\t</div>\n\t);\n}\n\nexport function StableCustomSelectControl( props ) {\n\treturn (\n\t\t<CustomSelectControl\n\t\t\t{ ...props }\n\t\t\t__experimentalShowSelectedHint={ false }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","clsx","_CustomSelect","CustomSelectItem","Styled","jsx","_jsx","jsxs","_jsxs","useDeprecatedProps","__experimentalShowSelectedHint","otherProps","showSelectedHint","applyOptionDeprecations","__experimentalHint","rest","hint","CustomSelectControl","props","__next40pxDefaultSize","describedBy","options","onChange","size","value","className","classNameProp","restProps","store","useSelectStore","setValue","nextValue","nextOption","find","item","name","Promise","resolve","state","getState","changeObject","highlightedIndex","renderedItems","findIndex","inputValue","isOpen","open","selectedItem","type","defaultValue","children","map","key","style","withHint","WithHintItemWrapper","WithHintItemHint","renderSelectedValueHint","currentValue","selectedOptionHint","SelectedExperimentalHintWrapper","SelectedExperimentalHintItem","translatedSize","renderSelectedValue","undefined","isLegacy"],"sources":["@wordpress/components/src/custom-select-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport _CustomSelect from '../custom-select-control-v2/custom-select';\nimport CustomSelectItem from '../custom-select-control-v2/item';\nimport * as Styled from '../custom-select-control-v2/styles';\nimport type { CustomSelectProps } from './types';\n\nfunction useDeprecatedProps( {\n\t__experimentalShowSelectedHint,\n\t...otherProps\n}: CustomSelectProps ) {\n\treturn {\n\t\tshowSelectedHint: __experimentalShowSelectedHint,\n\t\t...otherProps,\n\t};\n}\n\n// The removal of `__experimentalHint` in favour of `hint` doesn't happen in\n// the `useDeprecatedProps` hook in order not to break consumers that rely\n// on object identity (see https://github.com/WordPress/gutenberg/pull/63248#discussion_r1672213131)\nfunction applyOptionDeprecations( {\n\t__experimentalHint,\n\t...rest\n}: CustomSelectProps[ 'options' ][ number ] ) {\n\treturn {\n\t\thint: __experimentalHint,\n\t\t...rest,\n\t};\n}\n\nfunction CustomSelectControl( props: CustomSelectProps ) {\n\tconst {\n\t\t__next40pxDefaultSize = false,\n\t\tdescribedBy,\n\t\toptions,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tvalue,\n\t\tclassName: classNameProp,\n\t\tshowSelectedHint = false,\n\t\t...restProps\n\t} = useDeprecatedProps( props );\n\n\t// Forward props + store from v2 implementation\n\tconst store = Ariakit.useSelectStore( {\n\t\tasync setValue( nextValue ) {\n\t\t\tconst nextOption = options.find(\n\t\t\t\t( item ) => item.name === nextValue\n\t\t\t);\n\n\t\t\tif ( ! onChange || ! nextOption ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Executes the logic in a microtask after the popup is closed.\n\t\t\t// This is simply to ensure the isOpen state matches the one from the\n\t\t\t// previous legacy implementation.\n\t\t\tawait Promise.resolve();\n\t\t\tconst state = store.getState();\n\n\t\t\tconst changeObject = {\n\t\t\t\thighlightedIndex: state.renderedItems.findIndex(\n\t\t\t\t\t( item ) => item.value === nextValue\n\t\t\t\t),\n\t\t\t\tinputValue: '',\n\t\t\t\tisOpen: state.open,\n\t\t\t\tselectedItem: nextOption,\n\t\t\t\ttype: '',\n\t\t\t};\n\t\t\tonChange( changeObject );\n\t\t},\n\t\tvalue: value?.name,\n\t\t// Setting the first option as a default value when no value is provided\n\t\t// is already done natively by the underlying Ariakit component,\n\t\t// but doing this explicitly avoids the `onChange` callback from firing\n\t\t// on initial render, thus making this implementation closer to the v1.\n\t\tdefaultValue: options[ 0 ]?.name,\n\t} );\n\n\tconst children = options\n\t\t.map( applyOptionDeprecations )\n\t\t.map( ( { name, key, hint, style, className } ) => {\n\t\t\tconst withHint = (\n\t\t\t\t<Styled.WithHintItemWrapper>\n\t\t\t\t\t<span>{ name }</span>\n\t\t\t\t\t<Styled.WithHintItemHint\n\t\t\t\t\t\t// Keeping the classname for legacy reasons\n\t\t\t\t\t\tclassName=\"components-custom-select-control__item-hint\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ hint }\n\t\t\t\t\t</Styled.WithHintItemHint>\n\t\t\t\t</Styled.WithHintItemWrapper>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<CustomSelectItem\n\t\t\t\t\tkey={ key }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tchildren={ hint ? withHint : name }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t// Keeping the classnames for legacy reasons\n\t\t\t\t\t\t'components-custom-select-control__item',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-hint': hint,\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} );\n\n\tconst renderSelectedValueHint = () => {\n\t\tconst { value: currentValue } = store.getState();\n\n\t\tconst selectedOptionHint = options\n\t\t\t?.map( applyOptionDeprecations )\n\t\t\t?.find( ( { name } ) => currentValue === name )?.hint;\n\n\t\treturn (\n\t\t\t<Styled.SelectedExperimentalHintWrapper>\n\t\t\t\t{ currentValue }\n\t\t\t\t{ selectedOptionHint && (\n\t\t\t\t\t<Styled.SelectedExperimentalHintItem\n\t\t\t\t\t\t// Keeping the classname for legacy reasons\n\t\t\t\t\t\tclassName=\"components-custom-select-control__hint\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selectedOptionHint }\n\t\t\t\t\t</Styled.SelectedExperimentalHintItem>\n\t\t\t\t) }\n\t\t\t</Styled.SelectedExperimentalHintWrapper>\n\t\t);\n\t};\n\n\tconst translatedSize = ( () => {\n\t\tif (\n\t\t\t( __next40pxDefaultSize && size === 'default' ) ||\n\t\t\tsize === '__unstable-large'\n\t\t) {\n\t\t\treturn 'default';\n\t\t}\n\t\tif ( ! __next40pxDefaultSize && size === 'default' ) {\n\t\t\treturn 'compact';\n\t\t}\n\t\treturn size;\n\t} )();\n\n\treturn (\n\t\t<_CustomSelect\n\t\t\taria-describedby={ describedBy }\n\t\t\trenderSelectedValue={\n\t\t\t\tshowSelectedHint ? renderSelectedValueHint : undefined\n\t\t\t}\n\t\t\tsize={ translatedSize }\n\t\t\tstore={ store }\n\t\t\tclassName={ clsx(\n\t\t\t\t// Keeping the classname for legacy reasons\n\t\t\t\t'components-custom-select-control',\n\t\t\t\tclassNameProp\n\t\t\t) }\n\t\t\tisLegacy\n\t\t\t{ ...restProps }\n\t\t>\n\t\t\t{ children }\n\t\t</_CustomSelect>\n\t);\n}\n\nexport default CustomSelectControl;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/custom-select-control/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { FocusEventHandler, MouseEventHandler } from 'react';\n\n/**\n * The object structure for the options array.\n */\ntype Option = {\n\tkey: string;\n\tname: string;\n\tstyle?: React.CSSProperties;\n\tclassName?: string;\n\thint?: string;\n\t/**\n\t * Use the `hint` property instead\n\t * @deprecated\n\t * @ignore\n\t */\n\t__experimentalHint?: string;\n\t[ key: string ]: any;\n};\n\n/**\n * The object returned from the onChange event.\n */\ntype ChangeObject = {\n\thighlightedIndex?: number;\n\tinputValue?: string;\n\tisOpen?: boolean;\n\ttype?: string;\n\tselectedItem: Option;\n};\n\nexport type CustomSelectProps = {\n\t/**\n\t * Optional classname for the component.\n\t */\n\tclassName?: string;\n\t/**\n\t * Hide the label visually, while keeping available to assistive technology.\n\t */\n\thideLabelFromVision?: boolean;\n\t/**\n\t * Description for the select trigger button used by assistive technology.\n\t * If no value is passed, the text \"Currently selected: selectedItem.name\"\n\t * will be used fully translated.\n\t */\n\tdescribedBy?: string;\n\t/**\n\t * Label for the control.\n\t */\n\tlabel: string;\n\t/**\n\t * Function called with the control's internal state changes. The `selectedItem`\n\t * property contains the next selected item.\n\t */\n\tonChange?: ( newValue: ChangeObject ) => void;\n\t/**\n\t * A handler for `blur` events on the trigger button.\n\t *\n\t * @ignore\n\t */\n\tonBlur?: FocusEventHandler< HTMLButtonElement >;\n\t/**\n\t * A handler for `focus` events on the trigger button.\n\t *\n\t * @ignore\n\t */\n\tonFocus?: FocusEventHandler< HTMLButtonElement >;\n\t/**\n\t * A handler for `mouseout` events on the trigger button.\n\t *\n\t * @ignore\n\t */\n\tonMouseOut?: MouseEventHandler< HTMLButtonElement >;\n\t/**\n\t * A handler for `mouseover` events on the trigger button.\n\t *\n\t * @ignore\n\t */\n\tonMouseOver?: MouseEventHandler< HTMLButtonElement >;\n\t/**\n\t * The list of options that can be chosen from.\n\t */\n\toptions: Array< Option >;\n\t/**\n\t * The size of the control.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: 'default' | 'small' | '__unstable-large';\n\t/**\n\t * Can be used to externally control the value of the control.\n\t */\n\tvalue?: Option;\n\t/**\n\t * Use the `showSelectedHint` property instead.\n\t * @deprecated\n\t * @ignore\n\t */\n\t__experimentalShowSelectedHint?: boolean;\n\t/**\n\t * Show the hint of the selected item in the trigger button.\n\t *\n\t * @default false\n\t */\n\tshowSelectedHint?: boolean;\n\t/**\n\t * Opt-in prop for an unconstrained width style which became the default in\n\t * WordPress 6.5. The prop is no longer needed and can be safely removed.\n\t *\n\t * @deprecated\n\t * @ignore\n\t */\n\t__nextUnconstrainedWidth?: 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};\n"],"mappings":"","ignoreList":[]}
@@ -103,7 +103,10 @@ function _CustomSelect(props) {
103
103
  store: store,
104
104
  sameWidth: true,
105
105
  slide: false,
106
- onKeyDown: onSelectPopoverKeyDown,
106
+ onKeyDown: onSelectPopoverKeyDown
107
+ // Match legacy behavior
108
+ ,
109
+ flip: !isLegacy,
107
110
  children: /*#__PURE__*/_jsx(CustomSelectContext.Provider, {
108
111
  value: contextValue,
109
112
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["Ariakit","createContext","useCallback","useMemo","__","sprintf","VisuallyHidden","Styled","InputBase","SelectControlChevronDown","BaseControl","jsx","_jsx","jsxs","_jsxs","CustomSelectContext","undefined","defaultRenderSelectedValue","value","isValueEmpty","Array","isArray","length","CustomSelectButton","renderSelectedValue","size","store","restProps","currentValue","useState","computedRenderSelectedValue","Select","hasCustomRenderProp","children","_CustomSelect","props","hideLabelFromVision","label","className","isLegacy","onSelectPopoverKeyDown","e","stopPropagation","contextValue","SelectLabel","render","VisualLabel","as","__next40pxDefaultSize","suffix","showOnKeyDown","SelectPopover","gutter","sameWidth","slide","onKeyDown","Provider"],"sources":["@wordpress/components/src/custom-select-control-v2/custom-select.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, useCallback, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '..';\nimport * as Styled from './styles';\nimport type {\n\tCustomSelectContext as CustomSelectContextType,\n\tCustomSelectStore,\n\tCustomSelectButtonProps,\n\tCustomSelectButtonSize,\n\t_CustomSelectInternalProps,\n\t_CustomSelectProps,\n} from './types';\nimport InputBase from '../input-control/input-base';\nimport SelectControlChevronDown from '../select-control/chevron-down';\nimport BaseControl from '../base-control';\n\nexport const CustomSelectContext =\n\tcreateContext< CustomSelectContextType >( undefined );\n\nfunction defaultRenderSelectedValue(\n\tvalue: CustomSelectButtonProps[ 'value' ]\n) {\n\tconst isValueEmpty = Array.isArray( value )\n\t\t? value.length === 0\n\t\t: value === undefined || value === null;\n\n\tif ( isValueEmpty ) {\n\t\treturn __( 'Select an item' );\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.length === 1\n\t\t\t? value[ 0 ]\n\t\t\t: // translators: %s: number of items selected (it will always be 2 or more items)\n\t\t\t sprintf( __( '%s items selected' ), value.length );\n\t}\n\n\treturn value;\n}\n\nconst CustomSelectButton = ( {\n\trenderSelectedValue,\n\tsize = 'default',\n\tstore,\n\t...restProps\n}: Omit<\n\tReact.ComponentProps< typeof Ariakit.Select > &\n\t\tCustomSelectButtonProps &\n\t\tCustomSelectButtonSize &\n\t\tCustomSelectStore,\n\t'onChange'\n> ) => {\n\tconst { value: currentValue } = store.useState();\n\n\tconst computedRenderSelectedValue = useMemo(\n\t\t() => renderSelectedValue ?? defaultRenderSelectedValue,\n\t\t[ renderSelectedValue ]\n\t);\n\n\treturn (\n\t\t<Styled.Select\n\t\t\t{ ...restProps }\n\t\t\tsize={ size }\n\t\t\thasCustomRenderProp={ !! renderSelectedValue }\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ computedRenderSelectedValue( currentValue ) }\n\t\t</Styled.Select>\n\t);\n};\n\nfunction _CustomSelect(\n\tprops: _CustomSelectInternalProps &\n\t\t_CustomSelectProps &\n\t\tCustomSelectStore &\n\t\tCustomSelectButtonSize\n) {\n\tconst {\n\t\tchildren,\n\t\thideLabelFromVision = false,\n\t\tlabel,\n\t\tsize,\n\t\tstore,\n\t\tclassName,\n\t\tisLegacy = false,\n\t\t...restProps\n\t} = props;\n\n\tconst onSelectPopoverKeyDown: React.KeyboardEventHandler< HTMLDivElement > =\n\t\tuseCallback(\n\t\t\t( e ) => {\n\t\t\t\tif ( isLegacy ) {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ isLegacy ]\n\t\t);\n\n\tconst contextValue = useMemo( () => ( { store, size } ), [ store, size ] );\n\n\treturn (\n\t\t// Where should `restProps` be forwarded to?\n\t\t<div className={ className }>\n\t\t\t<Ariakit.SelectLabel\n\t\t\t\tstore={ store }\n\t\t\t\trender={\n\t\t\t\t\thideLabelFromVision ? (\n\t\t\t\t\t\t// @ts-expect-error `children` are passed via the render prop\n\t\t\t\t\t\t<VisuallyHidden />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// @ts-expect-error `children` are passed via the render prop\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"div\" />\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</Ariakit.SelectLabel>\n\t\t\t<InputBase\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={ <SelectControlChevronDown /> }\n\t\t\t>\n\t\t\t\t<CustomSelectButton\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\tsize={ size }\n\t\t\t\t\tstore={ store }\n\t\t\t\t\t// Match legacy behavior (move selection rather than open the popover)\n\t\t\t\t\tshowOnKeyDown={ ! isLegacy }\n\t\t\t\t/>\n\t\t\t\t<Styled.SelectPopover\n\t\t\t\t\tgutter={ 12 }\n\t\t\t\t\tstore={ store }\n\t\t\t\t\tsameWidth\n\t\t\t\t\tslide={ false }\n\t\t\t\t\tonKeyDown={ onSelectPopoverKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<CustomSelectContext.Provider value={ contextValue }>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</CustomSelectContext.Provider>\n\t\t\t\t</Styled.SelectPopover>\n\t\t\t</InputBase>\n\t\t</div>\n\t);\n}\n\nexport default _CustomSelect;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","createContext","useCallback","useMemo","__","sprintf","VisuallyHidden","Styled","InputBase","SelectControlChevronDown","BaseControl","jsx","_jsx","jsxs","_jsxs","CustomSelectContext","undefined","defaultRenderSelectedValue","value","isValueEmpty","Array","isArray","length","CustomSelectButton","renderSelectedValue","size","store","restProps","currentValue","useState","computedRenderSelectedValue","Select","hasCustomRenderProp","children","_CustomSelect","props","hideLabelFromVision","label","className","isLegacy","onSelectPopoverKeyDown","e","stopPropagation","contextValue","SelectLabel","render","VisualLabel","as","__next40pxDefaultSize","suffix","showOnKeyDown","SelectPopover","gutter","sameWidth","slide","onKeyDown","flip","Provider"],"sources":["@wordpress/components/src/custom-select-control-v2/custom-select.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, useCallback, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { VisuallyHidden } from '..';\nimport * as Styled from './styles';\nimport type {\n\tCustomSelectContext as CustomSelectContextType,\n\tCustomSelectStore,\n\tCustomSelectButtonProps,\n\tCustomSelectButtonSize,\n\t_CustomSelectInternalProps,\n\t_CustomSelectProps,\n} from './types';\nimport InputBase from '../input-control/input-base';\nimport SelectControlChevronDown from '../select-control/chevron-down';\nimport BaseControl from '../base-control';\n\nexport const CustomSelectContext =\n\tcreateContext< CustomSelectContextType >( undefined );\n\nfunction defaultRenderSelectedValue(\n\tvalue: CustomSelectButtonProps[ 'value' ]\n) {\n\tconst isValueEmpty = Array.isArray( value )\n\t\t? value.length === 0\n\t\t: value === undefined || value === null;\n\n\tif ( isValueEmpty ) {\n\t\treturn __( 'Select an item' );\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.length === 1\n\t\t\t? value[ 0 ]\n\t\t\t: // translators: %s: number of items selected (it will always be 2 or more items)\n\t\t\t sprintf( __( '%s items selected' ), value.length );\n\t}\n\n\treturn value;\n}\n\nconst CustomSelectButton = ( {\n\trenderSelectedValue,\n\tsize = 'default',\n\tstore,\n\t...restProps\n}: Omit<\n\tReact.ComponentProps< typeof Ariakit.Select > &\n\t\tCustomSelectButtonProps &\n\t\tCustomSelectButtonSize &\n\t\tCustomSelectStore,\n\t'onChange'\n> ) => {\n\tconst { value: currentValue } = store.useState();\n\n\tconst computedRenderSelectedValue = useMemo(\n\t\t() => renderSelectedValue ?? defaultRenderSelectedValue,\n\t\t[ renderSelectedValue ]\n\t);\n\n\treturn (\n\t\t<Styled.Select\n\t\t\t{ ...restProps }\n\t\t\tsize={ size }\n\t\t\thasCustomRenderProp={ !! renderSelectedValue }\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ computedRenderSelectedValue( currentValue ) }\n\t\t</Styled.Select>\n\t);\n};\n\nfunction _CustomSelect(\n\tprops: _CustomSelectInternalProps &\n\t\t_CustomSelectProps &\n\t\tCustomSelectStore &\n\t\tCustomSelectButtonSize\n) {\n\tconst {\n\t\tchildren,\n\t\thideLabelFromVision = false,\n\t\tlabel,\n\t\tsize,\n\t\tstore,\n\t\tclassName,\n\t\tisLegacy = false,\n\t\t...restProps\n\t} = props;\n\n\tconst onSelectPopoverKeyDown: React.KeyboardEventHandler< HTMLDivElement > =\n\t\tuseCallback(\n\t\t\t( e ) => {\n\t\t\t\tif ( isLegacy ) {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ isLegacy ]\n\t\t);\n\n\tconst contextValue = useMemo( () => ( { store, size } ), [ store, size ] );\n\n\treturn (\n\t\t// Where should `restProps` be forwarded to?\n\t\t<div className={ className }>\n\t\t\t<Ariakit.SelectLabel\n\t\t\t\tstore={ store }\n\t\t\t\trender={\n\t\t\t\t\thideLabelFromVision ? (\n\t\t\t\t\t\t// @ts-expect-error `children` are passed via the render prop\n\t\t\t\t\t\t<VisuallyHidden />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// @ts-expect-error `children` are passed via the render prop\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"div\" />\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</Ariakit.SelectLabel>\n\t\t\t<InputBase\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={ <SelectControlChevronDown /> }\n\t\t\t>\n\t\t\t\t<CustomSelectButton\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\tsize={ size }\n\t\t\t\t\tstore={ store }\n\t\t\t\t\t// Match legacy behavior (move selection rather than open the popover)\n\t\t\t\t\tshowOnKeyDown={ ! isLegacy }\n\t\t\t\t/>\n\t\t\t\t<Styled.SelectPopover\n\t\t\t\t\tgutter={ 12 }\n\t\t\t\t\tstore={ store }\n\t\t\t\t\tsameWidth\n\t\t\t\t\tslide={ false }\n\t\t\t\t\tonKeyDown={ onSelectPopoverKeyDown }\n\t\t\t\t\t// Match legacy behavior\n\t\t\t\t\tflip={ ! isLegacy }\n\t\t\t\t>\n\t\t\t\t\t<CustomSelectContext.Provider value={ contextValue }>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</CustomSelectContext.Provider>\n\t\t\t\t</Styled.SelectPopover>\n\t\t\t</InputBase>\n\t\t</div>\n\t);\n}\n\nexport default _CustomSelect;\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,31 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import * as Ariakit from '@ariakit/react';
1
5
  /**
2
6
  * Internal dependencies
3
7
  */
4
- export { default } from './default-component';
8
+ import _CustomSelect from './custom-select';
9
+ import Item from './item';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ function CustomSelectControlV2(props) {
12
+ const {
13
+ defaultValue,
14
+ onChange,
15
+ value,
16
+ ...restProps
17
+ } = props;
18
+ // Forward props + store from v2 implementation
19
+ const store = Ariakit.useSelectStore({
20
+ setValue: nextValue => onChange?.(nextValue),
21
+ defaultValue,
22
+ value
23
+ });
24
+ return /*#__PURE__*/_jsx(_CustomSelect, {
25
+ ...restProps,
26
+ store: store
27
+ });
28
+ }
29
+ CustomSelectControlV2.Item = Item;
30
+ export default CustomSelectControlV2;
5
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sources":["@wordpress/components/src/custom-select-control-v2/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nexport { default } from './default-component';\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","_CustomSelect","Item","jsx","_jsx","CustomSelectControlV2","props","defaultValue","onChange","value","restProps","store","useSelectStore","setValue","nextValue"],"sources":["@wordpress/components/src/custom-select-control-v2/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport * as Ariakit from '@ariakit/react';\n/**\n * Internal dependencies\n */\nimport _CustomSelect from './custom-select';\nimport type { CustomSelectProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport Item from './item';\n\nfunction CustomSelectControlV2(\n\tprops: WordPressComponentProps< CustomSelectProps, 'button', false >\n) {\n\tconst { defaultValue, onChange, value, ...restProps } = props;\n\t// Forward props + store from v2 implementation\n\tconst store = Ariakit.useSelectStore( {\n\t\tsetValue: ( nextValue ) => onChange?.( nextValue ),\n\t\tdefaultValue,\n\t\tvalue,\n\t} );\n\n\treturn <_CustomSelect { ...restProps } store={ store } />;\n}\n\nCustomSelectControlV2.Item = Item;\n\nexport default CustomSelectControlV2;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC;AACA;AACA;AACA,OAAOC,aAAa,MAAM,iBAAiB;AAG3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1B,SAASC,qBAAqBA,CAC7BC,KAAoE,EACnE;EACD,MAAM;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,KAAK;IAAE,GAAGC;EAAU,CAAC,GAAGJ,KAAK;EAC7D;EACA,MAAMK,KAAK,GAAGX,OAAO,CAACY,cAAc,CAAE;IACrCC,QAAQ,EAAIC,SAAS,IAAMN,QAAQ,GAAIM,SAAU,CAAC;IAClDP,YAAY;IACZE;EACD,CAAE,CAAC;EAEH,oBAAOL,IAAA,CAACH,aAAa;IAAA,GAAMS,SAAS;IAAGC,KAAK,EAAGA;EAAO,CAAE,CAAC;AAC1D;AAEAN,qBAAqB,CAACH,IAAI,GAAGA,IAAI;AAEjC,eAAeG,qBAAqB","ignoreList":[]}