@wordpress/components 16.0.1-next.5df0cd52b7.0 → 19.0.1

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 (1823) hide show
  1. package/CHANGELOG.md +71 -4
  2. package/CONTRIBUTING.md +398 -6
  3. package/README.md +9 -1
  4. package/build/angle-picker-control/index.js +29 -24
  5. package/build/angle-picker-control/index.js.map +1 -1
  6. package/build/angle-picker-control/styles/angle-picker-control-styles.js +10 -13
  7. package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  8. package/build/animate/index.js +1 -1
  9. package/build/animate/index.js.map +1 -1
  10. package/build/autocomplete/autocompleter-ui.native.js +5 -4
  11. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  12. package/build/base-control/index.js +2 -2
  13. package/build/base-control/index.js.map +1 -1
  14. package/build/base-field/hook.js +1 -1
  15. package/build/base-field/hook.js.map +1 -1
  16. package/build/button/index.js +4 -1
  17. package/build/button/index.js.map +1 -1
  18. package/build/card/card/component.js +3 -3
  19. package/build/card/card/component.js.map +1 -1
  20. package/build/card/card/hook.js +4 -5
  21. package/build/card/card/hook.js.map +1 -1
  22. package/build/card/card-body/component.js +2 -2
  23. package/build/card/card-body/component.js.map +1 -1
  24. package/build/card/card-body/hook.js +1 -1
  25. package/build/card/card-body/hook.js.map +1 -1
  26. package/build/card/card-divider/component.js +2 -2
  27. package/build/card/card-divider/component.js.map +1 -1
  28. package/build/card/card-divider/hook.js +1 -1
  29. package/build/card/card-divider/hook.js.map +1 -1
  30. package/build/card/card-footer/component.js +2 -2
  31. package/build/card/card-footer/component.js.map +1 -1
  32. package/build/card/card-footer/hook.js +1 -1
  33. package/build/card/card-footer/hook.js.map +1 -1
  34. package/build/card/card-header/component.js +2 -2
  35. package/build/card/card-header/component.js.map +1 -1
  36. package/build/card/card-header/hook.js +1 -1
  37. package/build/card/card-header/hook.js.map +1 -1
  38. package/build/card/card-media/component.js +23 -7
  39. package/build/card/card-media/component.js.map +1 -1
  40. package/build/card/card-media/hook.js +1 -1
  41. package/build/card/card-media/hook.js.map +1 -1
  42. package/build/color-edit/index.js +181 -201
  43. package/build/color-edit/index.js.map +1 -1
  44. package/build/color-edit/styles.js +112 -0
  45. package/build/color-edit/styles.js.map +1 -0
  46. package/build/color-list-picker/index.js +6 -1
  47. package/build/color-list-picker/index.js.map +1 -1
  48. package/build/color-palette/index.js +115 -42
  49. package/build/color-palette/index.js.map +1 -1
  50. package/build/color-palette/styles.js +31 -0
  51. package/build/color-palette/styles.js.map +1 -0
  52. package/build/{ui/color-picker → color-picker}/color-display.js +36 -21
  53. package/build/color-picker/color-display.js.map +1 -0
  54. package/build/{ui/color-picker → color-picker}/color-input.js +0 -0
  55. package/build/color-picker/color-input.js.map +1 -0
  56. package/build/{ui/color-picker → color-picker}/component.js +37 -49
  57. package/build/color-picker/component.js.map +1 -0
  58. package/build/color-picker/hex-input.js +63 -0
  59. package/build/color-picker/hex-input.js.map +1 -0
  60. package/build/{ui/color-picker → color-picker}/hsl-input.js +40 -30
  61. package/build/color-picker/hsl-input.js.map +1 -0
  62. package/build/color-picker/index.js +6 -276
  63. package/build/color-picker/index.js.map +1 -1
  64. package/build/color-picker/index.native.js +16 -11
  65. package/build/color-picker/index.native.js.map +1 -1
  66. package/build/{ui/color-picker → color-picker}/input-with-slider.js +10 -13
  67. package/build/color-picker/input-with-slider.js.map +1 -0
  68. package/build/color-picker/legacy-adapter.js +24 -0
  69. package/build/color-picker/legacy-adapter.js.map +1 -0
  70. package/build/color-picker/picker.js +37 -0
  71. package/build/color-picker/picker.js.map +1 -0
  72. package/build/{ui/color-picker → color-picker}/rgb-input.js +10 -12
  73. package/build/color-picker/rgb-input.js.map +1 -0
  74. package/build/color-picker/styles.js +102 -0
  75. package/build/color-picker/styles.js.map +1 -0
  76. package/build/{segmented-control → color-picker}/types.js +0 -0
  77. package/build/color-picker/types.js.map +1 -0
  78. package/build/color-picker/use-deprecated-props.js +81 -0
  79. package/build/color-picker/use-deprecated-props.js.map +1 -0
  80. package/build/combobox-control/index.js +25 -5
  81. package/build/combobox-control/index.js.map +1 -1
  82. package/build/custom-gradient-bar/constants.js +2 -2
  83. package/build/custom-gradient-bar/constants.js.map +1 -1
  84. package/build/custom-gradient-bar/control-points.js +29 -53
  85. package/build/custom-gradient-bar/control-points.js.map +1 -1
  86. package/build/custom-gradient-picker/index.js +4 -3
  87. package/build/custom-gradient-picker/index.js.map +1 -1
  88. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
  89. package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
  90. package/build/custom-gradient-picker/utils.js +8 -4
  91. package/build/custom-gradient-picker/utils.js.map +1 -1
  92. package/build/custom-select-control/index.js +32 -8
  93. package/build/custom-select-control/index.js.map +1 -1
  94. package/build/dashicon/index.native.js +39 -0
  95. package/build/dashicon/index.native.js.map +1 -0
  96. package/build/date-time/index.js +1 -1
  97. package/build/date-time/index.js.map +1 -1
  98. package/build/dimension-control/sizes.js +5 -5
  99. package/build/dimension-control/sizes.js.map +1 -1
  100. package/build/divider/component.js.map +1 -1
  101. package/build/drop-zone/index.js +54 -3
  102. package/build/drop-zone/index.js.map +1 -1
  103. package/build/dropdown/index.js +7 -1
  104. package/build/dropdown/index.js.map +1 -1
  105. package/build/dropdown-menu/index.js +21 -35
  106. package/build/dropdown-menu/index.js.map +1 -1
  107. package/build/dropdown-menu/index.native.js +2 -22
  108. package/build/dropdown-menu/index.native.js.map +1 -1
  109. package/build/duotone-picker/custom-duotone-bar.js +0 -1
  110. package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
  111. package/build/duotone-picker/duotone-picker.js +1 -0
  112. package/build/duotone-picker/duotone-picker.js.map +1 -1
  113. package/build/duotone-picker/utils.js +6 -3
  114. package/build/duotone-picker/utils.js.map +1 -1
  115. package/build/elevation/component.js +24 -8
  116. package/build/elevation/component.js.map +1 -1
  117. package/build/elevation/hook.js +5 -5
  118. package/build/elevation/hook.js.map +1 -1
  119. package/build/flex/flex/component.js +2 -2
  120. package/build/flex/flex/component.js.map +1 -1
  121. package/build/flex/flex/hook.js +26 -32
  122. package/build/flex/flex/hook.js.map +1 -1
  123. package/build/flex/flex-block/component.js +23 -7
  124. package/build/flex/flex-block/component.js.map +1 -1
  125. package/build/flex/flex-block/hook.js +1 -1
  126. package/build/flex/flex-block/hook.js.map +1 -1
  127. package/build/flex/flex-item/component.js +23 -7
  128. package/build/flex/flex-item/component.js.map +1 -1
  129. package/build/flex/flex-item/hook.js +2 -2
  130. package/build/flex/flex-item/hook.js.map +1 -1
  131. package/build/flyout/flyout/component.js +2 -2
  132. package/build/flyout/flyout/component.js.map +1 -1
  133. package/build/flyout/flyout/hook.js +1 -1
  134. package/build/flyout/flyout/hook.js.map +1 -1
  135. package/build/flyout/flyout-content/component.js +2 -2
  136. package/build/flyout/flyout-content/component.js.map +1 -1
  137. package/build/focal-point-picker/controls.js +1 -1
  138. package/build/focal-point-picker/controls.js.map +1 -1
  139. package/build/focusable-iframe/index.js +6 -28
  140. package/build/focusable-iframe/index.js.map +1 -1
  141. package/build/font-size-picker/index.js +107 -72
  142. package/build/font-size-picker/index.js.map +1 -1
  143. package/build/font-size-picker/index.native.js +162 -0
  144. package/build/font-size-picker/index.native.js.map +1 -0
  145. package/build/font-size-picker/utils.js +119 -0
  146. package/build/font-size-picker/utils.js.map +1 -0
  147. package/build/gradient-picker/index.js +69 -9
  148. package/build/gradient-picker/index.js.map +1 -1
  149. package/build/grid/component.js +21 -7
  150. package/build/grid/component.js.map +1 -1
  151. package/build/grid/hook.js +2 -2
  152. package/build/grid/hook.js.map +1 -1
  153. package/build/guide/index.js +10 -9
  154. package/build/guide/index.js.map +1 -1
  155. package/build/h-stack/component.js +23 -7
  156. package/build/h-stack/component.js.map +1 -1
  157. package/build/h-stack/hook.js +1 -1
  158. package/build/h-stack/hook.js.map +1 -1
  159. package/build/heading/component.js +25 -9
  160. package/build/heading/component.js.map +1 -1
  161. package/build/heading/hook.js +1 -1
  162. package/build/heading/hook.js.map +1 -1
  163. package/build/higher-order/navigate-regions/index.js +42 -29
  164. package/build/higher-order/navigate-regions/index.js.map +1 -1
  165. package/build/index.js +50 -16
  166. package/build/index.js.map +1 -1
  167. package/build/index.native.js +20 -2
  168. package/build/index.native.js.map +1 -1
  169. package/build/input-control/input-field.js.map +1 -1
  170. package/build/input-control/label.js.map +1 -1
  171. package/build/input-control/reducer/actions.js.map +1 -1
  172. package/build/input-control/reducer/reducer.js.map +1 -1
  173. package/build/input-control/reducer/state.js.map +1 -1
  174. package/build/input-control/styles/input-control-styles.js +25 -25
  175. package/build/input-control/styles/input-control-styles.js.map +1 -1
  176. package/build/item-group/item/component.js.map +1 -1
  177. package/build/item-group/item/hook.js +10 -3
  178. package/build/item-group/item/hook.js.map +1 -1
  179. package/build/item-group/item-group/component.js.map +1 -1
  180. package/build/item-group/item-group/hook.js.map +1 -1
  181. package/build/item-group/styles.js +18 -10
  182. package/build/item-group/styles.js.map +1 -1
  183. package/build/menu-group/index.js +9 -6
  184. package/build/menu-group/index.js.map +1 -1
  185. package/build/menu-item/index.js +20 -29
  186. package/build/menu-item/index.js.map +1 -1
  187. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +13 -4
  188. package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  189. package/build/mobile/bottom-sheet/cell.native.js +11 -3
  190. package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
  191. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +3 -3
  192. package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  193. package/build/mobile/bottom-sheet/index.native.js +16 -4
  194. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  195. package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
  196. package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  197. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +42 -0
  198. package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
  199. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +58 -0
  200. package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
  201. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +115 -0
  202. package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
  203. package/build/mobile/bottom-sheet/nav-bar/heading.native.js +42 -0
  204. package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
  205. package/build/mobile/bottom-sheet/nav-bar/index.native.js +43 -0
  206. package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
  207. package/build/mobile/bottom-sheet/range-cell.native.js +14 -2
  208. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  209. package/build/mobile/bottom-sheet/range-text-input.native.js +2 -1
  210. package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  211. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +1 -1
  212. package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  213. package/build/mobile/bottom-sheet-select-control/index.native.js +3 -4
  214. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  215. package/build/mobile/bottom-sheet-text-control/index.native.js +5 -8
  216. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  217. package/build/mobile/color-settings/gradient-picker-screen.native.js +4 -5
  218. package/build/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
  219. package/build/mobile/color-settings/palette.screen.native.js +11 -7
  220. package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
  221. package/build/mobile/color-settings/picker-screen.native.js +2 -4
  222. package/build/mobile/color-settings/picker-screen.native.js.map +1 -1
  223. package/build/mobile/dashicons/index.native.js +31 -0
  224. package/build/mobile/dashicons/index.native.js.map +1 -0
  225. package/build/mobile/focal-point-settings-panel/index.native.js +6 -7
  226. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  227. package/build/mobile/global-styles-context/index.native.js +4 -2
  228. package/build/mobile/global-styles-context/index.native.js.map +1 -1
  229. package/build/mobile/global-styles-context/utils.native.js +118 -10
  230. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  231. package/build/mobile/html-text-input/index.native.js +14 -4
  232. package/build/mobile/html-text-input/index.native.js.map +1 -1
  233. package/build/mobile/inserter-button/index.native.js +5 -4
  234. package/build/mobile/inserter-button/index.native.js.map +1 -1
  235. package/build/mobile/link-picker/index.native.js +6 -7
  236. package/build/mobile/link-picker/index.native.js.map +1 -1
  237. package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
  238. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  239. package/build/mobile/link-settings/index.native.js +3 -2
  240. package/build/mobile/link-settings/index.native.js.map +1 -1
  241. package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
  242. package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  243. package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
  244. package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  245. package/build/mobile/picker/index.android.js +4 -2
  246. package/build/mobile/picker/index.android.js.map +1 -1
  247. package/build/mobile/segmented-control/index.native.js +2 -1
  248. package/build/mobile/segmented-control/index.native.js.map +1 -1
  249. package/build/modal/index.js +111 -151
  250. package/build/modal/index.js.map +1 -1
  251. package/build/navigable-container/container.js +2 -0
  252. package/build/navigable-container/container.js.map +1 -1
  253. package/build/navigable-container/index.js.map +1 -1
  254. package/build/navigable-container/menu.js +2 -0
  255. package/build/navigable-container/menu.js.map +1 -1
  256. package/build/navigable-container/tabbable.js +2 -0
  257. package/build/navigable-container/tabbable.js.map +1 -1
  258. package/build/navigation/group/index.js +1 -2
  259. package/build/navigation/group/index.js.map +1 -1
  260. package/build/navigation/menu/index.js +1 -1
  261. package/build/navigation/menu/index.js.map +1 -1
  262. package/build/navigation/menu/menu-title-search.js +8 -27
  263. package/build/navigation/menu/menu-title-search.js.map +1 -1
  264. package/build/navigation/menu/menu-title.js +2 -2
  265. package/build/navigation/menu/menu-title.js.map +1 -1
  266. package/build/navigation/styles/navigation-styles.js +43 -30
  267. package/build/navigation/styles/navigation-styles.js.map +1 -1
  268. package/build/navigator/context.js +16 -0
  269. package/build/navigator/context.js.map +1 -0
  270. package/build/navigator/index.js +32 -0
  271. package/build/navigator/index.js.map +1 -0
  272. package/build/navigator/navigator-provider/component.js +106 -0
  273. package/build/navigator/navigator-provider/component.js.map +1 -0
  274. package/build/{ui/color-picker → navigator/navigator-provider}/index.js +1 -1
  275. package/build/navigator/navigator-provider/index.js.map +1 -0
  276. package/build/navigator/navigator-screen/component.js +160 -0
  277. package/build/navigator/navigator-screen/component.js.map +1 -0
  278. package/build/navigator/navigator-screen/index.js +16 -0
  279. package/build/navigator/navigator-screen/index.js.map +1 -0
  280. package/build/{ui/color-picker → navigator}/types.js +0 -0
  281. package/build/navigator/types.js.map +1 -0
  282. package/build/navigator/use-navigator.js +38 -0
  283. package/build/navigator/use-navigator.js.map +1 -0
  284. package/build/number-control/index.js +25 -30
  285. package/build/number-control/index.js.map +1 -1
  286. package/build/panel/body.native.js +1 -0
  287. package/build/panel/body.native.js.map +1 -1
  288. package/build/popover/index.js +14 -22
  289. package/build/popover/index.js.map +1 -1
  290. package/build/popover/utils.js +57 -35
  291. package/build/popover/utils.js.map +1 -1
  292. package/build/query-controls/index.native.js +2 -2
  293. package/build/query-controls/index.native.js.map +1 -1
  294. package/build/range-control/index.js +9 -2
  295. package/build/range-control/index.js.map +1 -1
  296. package/build/range-control/input-range.js +0 -17
  297. package/build/range-control/input-range.js.map +1 -1
  298. package/build/range-control/rail.js +4 -0
  299. package/build/range-control/rail.js.map +1 -1
  300. package/build/range-control/styles/range-control-styles.js +51 -51
  301. package/build/range-control/styles/range-control-styles.js.map +1 -1
  302. package/build/range-control/tooltip.js +11 -23
  303. package/build/range-control/tooltip.js.map +1 -1
  304. package/build/resizable-box/index.js +35 -32
  305. package/build/resizable-box/index.js.map +1 -1
  306. package/build/resizable-box/resize-tooltip/index.js +0 -2
  307. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  308. package/build/resizable-box/resize-tooltip/label.js +8 -4
  309. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  310. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -12
  311. package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  312. package/build/resizable-box/resize-tooltip/utils.js +21 -30
  313. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  314. package/build/sandbox/index.js +3 -9
  315. package/build/sandbox/index.js.map +1 -1
  316. package/build/sandbox/index.native.js +75 -31
  317. package/build/sandbox/index.native.js.map +1 -1
  318. package/build/scrollable/component.js +24 -8
  319. package/build/scrollable/component.js.map +1 -1
  320. package/build/scrollable/hook.js +1 -1
  321. package/build/scrollable/hook.js.map +1 -1
  322. package/build/search-control/index.js +37 -14
  323. package/build/search-control/index.js.map +1 -1
  324. package/build/search-control/index.native.js +11 -2
  325. package/build/search-control/index.native.js.map +1 -1
  326. package/build/select-control/index.js +3 -2
  327. package/build/select-control/index.js.map +1 -1
  328. package/build/snackbar/index.js +5 -2
  329. package/build/snackbar/index.js.map +1 -1
  330. package/build/snackbar/list.js +6 -2
  331. package/build/snackbar/list.js.map +1 -1
  332. package/build/spacer/component.js +24 -8
  333. package/build/spacer/component.js.map +1 -1
  334. package/build/spacer/hook.js +1 -1
  335. package/build/spacer/hook.js.map +1 -1
  336. package/build/surface/component.js +22 -6
  337. package/build/surface/component.js.map +1 -1
  338. package/build/surface/hook.js +1 -1
  339. package/build/surface/hook.js.map +1 -1
  340. package/build/text/component.js +23 -7
  341. package/build/text/component.js.map +1 -1
  342. package/build/text/hook.js +5 -5
  343. package/build/text/hook.js.map +1 -1
  344. package/build/text/styles.js +7 -7
  345. package/build/text/styles.js.map +1 -1
  346. package/build/toggle-control/index.native.js +9 -3
  347. package/build/toggle-control/index.native.js.map +1 -1
  348. package/build/toggle-group-control/context.js +20 -0
  349. package/build/toggle-group-control/context.js.map +1 -0
  350. package/build/toggle-group-control/index.js +22 -0
  351. package/build/toggle-group-control/index.js.map +1 -0
  352. package/build/toggle-group-control/toggle-group-control/component.js +128 -0
  353. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -0
  354. package/build/toggle-group-control/toggle-group-control/index.js +16 -0
  355. package/build/toggle-group-control/toggle-group-control/index.js.map +1 -0
  356. package/build/toggle-group-control/toggle-group-control/styles.js +37 -0
  357. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -0
  358. package/build/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
  359. package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  360. package/build/toggle-group-control/toggle-group-control-option/component.js +104 -0
  361. package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
  362. package/build/toggle-group-control/toggle-group-control-option/index.js +16 -0
  363. package/build/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
  364. package/build/toggle-group-control/toggle-group-control-option/styles.js +73 -0
  365. package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
  366. package/build/toggle-group-control/types.js +2 -0
  367. package/build/toggle-group-control/types.js.map +1 -0
  368. package/build/tools-panel/context.js +15 -1
  369. package/build/tools-panel/context.js.map +1 -1
  370. package/build/tools-panel/index.js +8 -0
  371. package/build/tools-panel/index.js.map +1 -1
  372. package/build/tools-panel/styles.js +69 -9
  373. package/build/tools-panel/styles.js.map +1 -1
  374. package/build/tools-panel/tools-panel/component.js +16 -10
  375. package/build/tools-panel/tools-panel/component.js.map +1 -1
  376. package/build/tools-panel/tools-panel/hook.js +123 -23
  377. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  378. package/build/tools-panel/tools-panel/index.js.map +1 -1
  379. package/build/tools-panel/tools-panel-header/component.js +99 -22
  380. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  381. package/build/tools-panel/tools-panel-header/hook.js +12 -2
  382. package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
  383. package/build/tools-panel/tools-panel-header/index.js.map +1 -1
  384. package/build/tools-panel/tools-panel-item/component.js +9 -1
  385. package/build/tools-panel/tools-panel-item/component.js.map +1 -1
  386. package/build/tools-panel/tools-panel-item/hook.js +56 -20
  387. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  388. package/build/tools-panel/tools-panel-item/index.js.map +1 -1
  389. package/build/tools-panel/types.js +2 -0
  390. package/build/tools-panel/types.js.map +1 -0
  391. package/build/tooltip/index.js +10 -4
  392. package/build/tooltip/index.js.map +1 -1
  393. package/build/tooltip/index.native.js +2 -1
  394. package/build/tooltip/index.native.js.map +1 -1
  395. package/build/tree-grid/index.js +3 -1
  396. package/build/tree-grid/index.js.map +1 -1
  397. package/build/truncate/component.js +23 -7
  398. package/build/truncate/component.js.map +1 -1
  399. package/build/truncate/hook.js +2 -2
  400. package/build/truncate/hook.js.map +1 -1
  401. package/build/ui/context/context-connect.js +3 -3
  402. package/build/ui/context/context-connect.js.map +1 -1
  403. package/build/ui/context/index.js +4 -4
  404. package/build/ui/context/index.js.map +1 -1
  405. package/build/ui/context/use-context-system.js +1 -1
  406. package/build/ui/context/use-context-system.js.map +1 -1
  407. package/build/ui/context/wordpress-component.js +2 -0
  408. package/build/ui/context/wordpress-component.js.map +1 -0
  409. package/build/ui/control-group/component.js +2 -2
  410. package/build/ui/control-group/component.js.map +1 -1
  411. package/build/ui/control-group/hook.js +1 -1
  412. package/build/ui/control-group/hook.js.map +1 -1
  413. package/build/ui/control-label/component.js +25 -7
  414. package/build/ui/control-label/component.js.map +1 -1
  415. package/build/ui/control-label/hook.js +1 -1
  416. package/build/ui/control-label/hook.js.map +1 -1
  417. package/build/ui/form-group/form-group-content.js +1 -1
  418. package/build/ui/form-group/form-group-content.js.map +1 -1
  419. package/build/ui/form-group/form-group-label.js +1 -1
  420. package/build/ui/form-group/form-group-label.js.map +1 -1
  421. package/build/ui/form-group/form-group.js +2 -2
  422. package/build/ui/form-group/form-group.js.map +1 -1
  423. package/build/ui/form-group/use-form-group.js +1 -1
  424. package/build/ui/form-group/use-form-group.js.map +1 -1
  425. package/build/ui/shortcut/component.js.map +1 -1
  426. package/build/ui/spinner/component.js +2 -2
  427. package/build/ui/spinner/component.js.map +1 -1
  428. package/build/ui/tooltip/component.js +2 -2
  429. package/build/ui/tooltip/component.js.map +1 -1
  430. package/build/ui/tooltip/content.js +2 -2
  431. package/build/ui/tooltip/content.js.map +1 -1
  432. package/build/ui/tooltip/styles.js +4 -4
  433. package/build/ui/tooltip/styles.js.map +1 -1
  434. package/build/ui/utils/colors.js +6 -6
  435. package/build/ui/utils/colors.js.map +1 -1
  436. package/build/ui/utils/index.js +0 -8
  437. package/build/ui/utils/index.js.map +1 -1
  438. package/build/ui/utils/space.js +2 -2
  439. package/build/ui/utils/space.js.map +1 -1
  440. package/build/ui/utils/use-responsive-value.js +0 -4
  441. package/build/ui/utils/use-responsive-value.js.map +1 -1
  442. package/build/unit-control/index.js +34 -18
  443. package/build/unit-control/index.js.map +1 -1
  444. package/build/unit-control/index.native.js +5 -1
  445. package/build/unit-control/index.native.js.map +1 -1
  446. package/build/unit-control/styles/unit-control-styles.js +17 -17
  447. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  448. package/build/unit-control/types.js +2 -0
  449. package/build/unit-control/types.js.map +1 -0
  450. package/build/unit-control/unit-select-control.js +11 -28
  451. package/build/unit-control/unit-select-control.js.map +1 -1
  452. package/build/unit-control/utils.js +73 -45
  453. package/build/unit-control/utils.js.map +1 -1
  454. package/build/utils/colors.js +6 -8
  455. package/build/utils/colors.js.map +1 -1
  456. package/build/utils/config-values.js +8 -8
  457. package/build/utils/config-values.js.map +1 -1
  458. package/build/utils/hooks/index.js +6 -6
  459. package/build/utils/hooks/index.js.map +1 -1
  460. package/build/utils/hooks/use-combined-ref.js +28 -0
  461. package/build/utils/hooks/use-combined-ref.js.map +1 -0
  462. package/build/v-stack/component.js +23 -7
  463. package/build/v-stack/component.js.map +1 -1
  464. package/build/v-stack/hook.js +1 -1
  465. package/build/v-stack/hook.js.map +1 -1
  466. package/build/view/component.js +2 -2
  467. package/build/view/component.js.map +1 -1
  468. package/build/visually-hidden/component.js +2 -2
  469. package/build/visually-hidden/component.js.map +1 -1
  470. package/build/z-stack/component.js.map +1 -1
  471. package/build-module/angle-picker-control/index.js +26 -21
  472. package/build-module/angle-picker-control/index.js.map +1 -1
  473. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +8 -13
  474. package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
  475. package/build-module/animate/index.js +1 -1
  476. package/build-module/animate/index.js.map +1 -1
  477. package/build-module/autocomplete/autocompleter-ui.native.js +5 -4
  478. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  479. package/build-module/base-control/index.js +2 -2
  480. package/build-module/base-control/index.js.map +1 -1
  481. package/build-module/base-field/hook.js +1 -1
  482. package/build-module/base-field/hook.js.map +1 -1
  483. package/build-module/button/index.js +4 -2
  484. package/build-module/button/index.js.map +1 -1
  485. package/build-module/card/card/component.js +3 -3
  486. package/build-module/card/card/component.js.map +1 -1
  487. package/build-module/card/card/hook.js +4 -5
  488. package/build-module/card/card/hook.js.map +1 -1
  489. package/build-module/card/card-body/component.js +2 -2
  490. package/build-module/card/card-body/component.js.map +1 -1
  491. package/build-module/card/card-body/hook.js +1 -1
  492. package/build-module/card/card-body/hook.js.map +1 -1
  493. package/build-module/card/card-divider/component.js +2 -2
  494. package/build-module/card/card-divider/component.js.map +1 -1
  495. package/build-module/card/card-divider/hook.js +1 -1
  496. package/build-module/card/card-divider/hook.js.map +1 -1
  497. package/build-module/card/card-footer/component.js +2 -2
  498. package/build-module/card/card-footer/component.js.map +1 -1
  499. package/build-module/card/card-footer/hook.js +1 -1
  500. package/build-module/card/card-footer/hook.js.map +1 -1
  501. package/build-module/card/card-header/component.js +2 -2
  502. package/build-module/card/card-header/component.js.map +1 -1
  503. package/build-module/card/card-header/hook.js +1 -1
  504. package/build-module/card/card-header/hook.js.map +1 -1
  505. package/build-module/card/card-media/component.js +19 -7
  506. package/build-module/card/card-media/component.js.map +1 -1
  507. package/build-module/card/card-media/hook.js +1 -1
  508. package/build-module/card/card-media/hook.js.map +1 -1
  509. package/build-module/color-edit/index.js +175 -202
  510. package/build-module/color-edit/index.js.map +1 -1
  511. package/build-module/color-edit/styles.js +90 -0
  512. package/build-module/color-edit/styles.js.map +1 -0
  513. package/build-module/color-list-picker/index.js +6 -1
  514. package/build-module/color-list-picker/index.js.map +1 -1
  515. package/build-module/color-palette/index.js +110 -42
  516. package/build-module/color-palette/index.js.map +1 -1
  517. package/build-module/color-palette/styles.js +27 -0
  518. package/build-module/color-palette/styles.js.map +1 -0
  519. package/build-module/{ui/color-picker → color-picker}/color-display.js +38 -20
  520. package/build-module/color-picker/color-display.js.map +1 -0
  521. package/build-module/{ui/color-picker → color-picker}/color-input.js +0 -0
  522. package/build-module/color-picker/color-input.js.map +1 -0
  523. package/build-module/{ui/color-picker → color-picker}/component.js +36 -49
  524. package/build-module/color-picker/component.js.map +1 -0
  525. package/build-module/color-picker/hex-input.js +48 -0
  526. package/build-module/color-picker/hex-input.js.map +1 -0
  527. package/build-module/{ui/color-picker → color-picker}/hsl-input.js +40 -31
  528. package/build-module/color-picker/hsl-input.js.map +1 -0
  529. package/build-module/color-picker/index.js +1 -264
  530. package/build-module/color-picker/index.js.map +1 -1
  531. package/build-module/color-picker/index.native.js +14 -8
  532. package/build-module/color-picker/index.native.js.map +1 -1
  533. package/build-module/{ui/color-picker → color-picker}/input-with-slider.js +11 -11
  534. package/build-module/color-picker/input-with-slider.js.map +1 -0
  535. package/build-module/color-picker/legacy-adapter.js +11 -0
  536. package/build-module/color-picker/legacy-adapter.js.map +1 -0
  537. package/build-module/color-picker/picker.js +27 -0
  538. package/build-module/color-picker/picker.js.map +1 -0
  539. package/build-module/{ui/color-picker → color-picker}/rgb-input.js +10 -10
  540. package/build-module/color-picker/rgb-input.js.map +1 -0
  541. package/build-module/color-picker/styles.js +84 -0
  542. package/build-module/color-picker/styles.js.map +1 -0
  543. package/build-module/{segmented-control → color-picker}/types.js +0 -0
  544. package/build-module/{segmented-control → color-picker}/types.js.map +0 -0
  545. package/build-module/color-picker/use-deprecated-props.js +73 -0
  546. package/build-module/color-picker/use-deprecated-props.js.map +1 -0
  547. package/build-module/combobox-control/index.js +25 -5
  548. package/build-module/combobox-control/index.js.map +1 -1
  549. package/build-module/custom-gradient-bar/constants.js +2 -2
  550. package/build-module/custom-gradient-bar/constants.js.map +1 -1
  551. package/build-module/custom-gradient-bar/control-points.js +25 -50
  552. package/build-module/custom-gradient-bar/control-points.js.map +1 -1
  553. package/build-module/custom-gradient-picker/index.js +5 -4
  554. package/build-module/custom-gradient-picker/index.js.map +1 -1
  555. package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js +6 -6
  556. package/build-module/custom-gradient-picker/styles/custom-gradient-picker-styles.js.map +1 -1
  557. package/build-module/custom-gradient-picker/utils.js +5 -3
  558. package/build-module/custom-gradient-picker/utils.js.map +1 -1
  559. package/build-module/custom-select-control/index.js +31 -8
  560. package/build-module/custom-select-control/index.js.map +1 -1
  561. package/build-module/dashicon/index.native.js +24 -0
  562. package/build-module/dashicon/index.native.js.map +1 -0
  563. package/build-module/date-time/index.js +1 -1
  564. package/build-module/date-time/index.js.map +1 -1
  565. package/build-module/dimension-control/sizes.js +6 -6
  566. package/build-module/dimension-control/sizes.js.map +1 -1
  567. package/build-module/divider/component.js +1 -2
  568. package/build-module/divider/component.js.map +1 -1
  569. package/build-module/drop-zone/index.js +54 -4
  570. package/build-module/drop-zone/index.js.map +1 -1
  571. package/build-module/dropdown/index.js +6 -1
  572. package/build-module/dropdown/index.js.map +1 -1
  573. package/build-module/dropdown-menu/index.js +20 -34
  574. package/build-module/dropdown-menu/index.js.map +1 -1
  575. package/build-module/dropdown-menu/index.native.js +2 -21
  576. package/build-module/dropdown-menu/index.native.js.map +1 -1
  577. package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
  578. package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
  579. package/build-module/duotone-picker/duotone-picker.js +1 -0
  580. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  581. package/build-module/duotone-picker/utils.js +4 -2
  582. package/build-module/duotone-picker/utils.js.map +1 -1
  583. package/build-module/elevation/component.js +19 -7
  584. package/build-module/elevation/component.js.map +1 -1
  585. package/build-module/elevation/hook.js +5 -5
  586. package/build-module/elevation/hook.js.map +1 -1
  587. package/build-module/flex/flex/component.js +2 -2
  588. package/build-module/flex/flex/component.js.map +1 -1
  589. package/build-module/flex/flex/hook.js +25 -31
  590. package/build-module/flex/flex/hook.js.map +1 -1
  591. package/build-module/flex/flex-block/component.js +19 -7
  592. package/build-module/flex/flex-block/component.js.map +1 -1
  593. package/build-module/flex/flex-block/hook.js +1 -1
  594. package/build-module/flex/flex-block/hook.js.map +1 -1
  595. package/build-module/flex/flex-item/component.js +19 -7
  596. package/build-module/flex/flex-item/component.js.map +1 -1
  597. package/build-module/flex/flex-item/hook.js +2 -2
  598. package/build-module/flex/flex-item/hook.js.map +1 -1
  599. package/build-module/flyout/flyout/component.js +2 -2
  600. package/build-module/flyout/flyout/component.js.map +1 -1
  601. package/build-module/flyout/flyout/hook.js +1 -1
  602. package/build-module/flyout/flyout/hook.js.map +1 -1
  603. package/build-module/flyout/flyout-content/component.js +2 -2
  604. package/build-module/flyout/flyout-content/component.js.map +1 -1
  605. package/build-module/focal-point-picker/controls.js +1 -1
  606. package/build-module/focal-point-picker/controls.js.map +1 -1
  607. package/build-module/focusable-iframe/index.js +6 -30
  608. package/build-module/focusable-iframe/index.js.map +1 -1
  609. package/build-module/font-size-picker/index.js +108 -74
  610. package/build-module/font-size-picker/index.js.map +1 -1
  611. package/build-module/font-size-picker/index.native.js +144 -0
  612. package/build-module/font-size-picker/index.native.js.map +1 -0
  613. package/build-module/font-size-picker/utils.js +104 -0
  614. package/build-module/font-size-picker/utils.js.map +1 -0
  615. package/build-module/gradient-picker/index.js +67 -9
  616. package/build-module/gradient-picker/index.js.map +1 -1
  617. package/build-module/grid/component.js +19 -7
  618. package/build-module/grid/component.js.map +1 -1
  619. package/build-module/grid/hook.js +2 -2
  620. package/build-module/grid/hook.js.map +1 -1
  621. package/build-module/guide/index.js +9 -8
  622. package/build-module/guide/index.js.map +1 -1
  623. package/build-module/h-stack/component.js +19 -7
  624. package/build-module/h-stack/component.js.map +1 -1
  625. package/build-module/h-stack/hook.js +1 -1
  626. package/build-module/h-stack/hook.js.map +1 -1
  627. package/build-module/heading/component.js +21 -8
  628. package/build-module/heading/component.js.map +1 -1
  629. package/build-module/heading/hook.js +2 -3
  630. package/build-module/heading/hook.js.map +1 -1
  631. package/build-module/higher-order/navigate-regions/index.js +44 -31
  632. package/build-module/higher-order/navigate-regions/index.js.map +1 -1
  633. package/build-module/index.js +5 -3
  634. package/build-module/index.js.map +1 -1
  635. package/build-module/index.native.js +4 -1
  636. package/build-module/index.native.js.map +1 -1
  637. package/build-module/input-control/input-field.js.map +1 -1
  638. package/build-module/input-control/label.js.map +1 -1
  639. package/build-module/input-control/reducer/actions.js.map +1 -1
  640. package/build-module/input-control/reducer/reducer.js.map +1 -1
  641. package/build-module/input-control/reducer/state.js.map +1 -1
  642. package/build-module/input-control/styles/input-control-styles.js +25 -25
  643. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  644. package/build-module/item-group/item/component.js.map +1 -1
  645. package/build-module/item-group/item/hook.js +9 -3
  646. package/build-module/item-group/item/hook.js.map +1 -1
  647. package/build-module/item-group/item-group/component.js.map +1 -1
  648. package/build-module/item-group/item-group/hook.js.map +1 -1
  649. package/build-module/item-group/styles.js +18 -10
  650. package/build-module/item-group/styles.js.map +1 -1
  651. package/build-module/menu-group/index.js +8 -6
  652. package/build-module/menu-group/index.js.map +1 -1
  653. package/build-module/menu-item/index.js +19 -29
  654. package/build-module/menu-item/index.js.map +1 -1
  655. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +14 -5
  656. package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
  657. package/build-module/mobile/bottom-sheet/cell.native.js +11 -3
  658. package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
  659. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +4 -3
  660. package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
  661. package/build-module/mobile/bottom-sheet/index.native.js +16 -4
  662. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  663. package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
  664. package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
  665. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
  666. package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -0
  667. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +43 -0
  668. package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -0
  669. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +99 -0
  670. package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -0
  671. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +30 -0
  672. package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -0
  673. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +29 -0
  674. package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -0
  675. package/build-module/mobile/bottom-sheet/range-cell.native.js +14 -2
  676. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  677. package/build-module/mobile/bottom-sheet/range-text-input.native.js +2 -1
  678. package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
  679. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
  680. package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
  681. package/build-module/mobile/bottom-sheet-select-control/index.native.js +3 -4
  682. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  683. package/build-module/mobile/bottom-sheet-text-control/index.native.js +5 -8
  684. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  685. package/build-module/mobile/color-settings/gradient-picker-screen.native.js +4 -5
  686. package/build-module/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
  687. package/build-module/mobile/color-settings/palette.screen.native.js +11 -7
  688. package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
  689. package/build-module/mobile/color-settings/picker-screen.native.js +1 -1
  690. package/build-module/mobile/color-settings/picker-screen.native.js.map +1 -1
  691. package/build-module/mobile/dashicons/index.native.js +21 -0
  692. package/build-module/mobile/dashicons/index.native.js.map +1 -0
  693. package/build-module/mobile/focal-point-settings-panel/index.native.js +6 -7
  694. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  695. package/build-module/mobile/global-styles-context/index.native.js +5 -3
  696. package/build-module/mobile/global-styles-context/index.native.js.map +1 -1
  697. package/build-module/mobile/global-styles-context/utils.native.js +113 -11
  698. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  699. package/build-module/mobile/html-text-input/index.native.js +14 -4
  700. package/build-module/mobile/html-text-input/index.native.js.map +1 -1
  701. package/build-module/mobile/inserter-button/index.native.js +4 -4
  702. package/build-module/mobile/inserter-button/index.native.js.map +1 -1
  703. package/build-module/mobile/link-picker/index.native.js +6 -7
  704. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  705. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
  706. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
  707. package/build-module/mobile/link-settings/index.native.js +3 -2
  708. package/build-module/mobile/link-settings/index.native.js.map +1 -1
  709. package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
  710. package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
  711. package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
  712. package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
  713. package/build-module/mobile/picker/index.android.js +4 -2
  714. package/build-module/mobile/picker/index.android.js.map +1 -1
  715. package/build-module/mobile/segmented-control/index.native.js +2 -1
  716. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  717. package/build-module/modal/index.js +109 -151
  718. package/build-module/modal/index.js.map +1 -1
  719. package/build-module/navigable-container/container.js +1 -0
  720. package/build-module/navigable-container/container.js.map +1 -1
  721. package/build-module/navigable-container/index.js +2 -0
  722. package/build-module/navigable-container/index.js.map +1 -1
  723. package/build-module/navigable-container/menu.js +1 -0
  724. package/build-module/navigable-container/menu.js.map +1 -1
  725. package/build-module/navigable-container/tabbable.js +1 -0
  726. package/build-module/navigable-container/tabbable.js.map +1 -1
  727. package/build-module/navigation/group/index.js +1 -2
  728. package/build-module/navigation/group/index.js.map +1 -1
  729. package/build-module/navigation/menu/index.js +1 -1
  730. package/build-module/navigation/menu/index.js.map +1 -1
  731. package/build-module/navigation/menu/menu-title-search.js +8 -24
  732. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  733. package/build-module/navigation/menu/menu-title.js +3 -3
  734. package/build-module/navigation/menu/menu-title.js.map +1 -1
  735. package/build-module/navigation/styles/navigation-styles.js +41 -29
  736. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  737. package/build-module/navigator/context.js +11 -0
  738. package/build-module/navigator/context.js.map +1 -0
  739. package/build-module/navigator/index.js +4 -0
  740. package/build-module/navigator/index.js.map +1 -0
  741. package/build-module/navigator/navigator-provider/component.js +104 -0
  742. package/build-module/navigator/navigator-provider/component.js.map +1 -0
  743. package/build-module/navigator/navigator-provider/index.js +2 -0
  744. package/build-module/navigator/navigator-provider/index.js.map +1 -0
  745. package/build-module/navigator/navigator-screen/component.js +155 -0
  746. package/build-module/navigator/navigator-screen/component.js.map +1 -0
  747. package/build-module/navigator/navigator-screen/index.js +2 -0
  748. package/build-module/navigator/navigator-screen/index.js.map +1 -0
  749. package/build-module/{ui/color-picker → navigator}/types.js +0 -0
  750. package/build-module/{ui/color-picker → navigator}/types.js.map +0 -0
  751. package/build-module/navigator/use-navigator.js +28 -0
  752. package/build-module/navigator/use-navigator.js.map +1 -0
  753. package/build-module/number-control/index.js +25 -29
  754. package/build-module/number-control/index.js.map +1 -1
  755. package/build-module/panel/body.native.js +1 -0
  756. package/build-module/panel/body.native.js.map +1 -1
  757. package/build-module/popover/index.js +15 -22
  758. package/build-module/popover/index.js.map +1 -1
  759. package/build-module/popover/utils.js +57 -35
  760. package/build-module/popover/utils.js.map +1 -1
  761. package/build-module/query-controls/index.native.js +3 -3
  762. package/build-module/query-controls/index.native.js.map +1 -1
  763. package/build-module/range-control/index.js +9 -2
  764. package/build-module/range-control/index.js.map +1 -1
  765. package/build-module/range-control/input-range.js +0 -16
  766. package/build-module/range-control/input-range.js.map +1 -1
  767. package/build-module/range-control/rail.js +4 -0
  768. package/build-module/range-control/rail.js.map +1 -1
  769. package/build-module/range-control/styles/range-control-styles.js +51 -52
  770. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  771. package/build-module/range-control/tooltip.js +11 -22
  772. package/build-module/range-control/tooltip.js.map +1 -1
  773. package/build-module/resizable-box/index.js +35 -33
  774. package/build-module/resizable-box/index.js.map +1 -1
  775. package/build-module/resizable-box/resize-tooltip/index.js +2 -4
  776. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  777. package/build-module/resizable-box/resize-tooltip/label.js +8 -4
  778. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  779. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -12
  780. package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
  781. package/build-module/resizable-box/resize-tooltip/utils.js +20 -27
  782. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  783. package/build-module/sandbox/index.js +3 -7
  784. package/build-module/sandbox/index.js.map +1 -1
  785. package/build-module/sandbox/index.native.js +74 -31
  786. package/build-module/sandbox/index.native.js.map +1 -1
  787. package/build-module/scrollable/component.js +20 -8
  788. package/build-module/scrollable/component.js.map +1 -1
  789. package/build-module/scrollable/hook.js +1 -1
  790. package/build-module/scrollable/hook.js.map +1 -1
  791. package/build-module/search-control/index.js +36 -15
  792. package/build-module/search-control/index.js.map +1 -1
  793. package/build-module/search-control/index.native.js +11 -3
  794. package/build-module/search-control/index.native.js.map +1 -1
  795. package/build-module/select-control/index.js +3 -2
  796. package/build-module/select-control/index.js.map +1 -1
  797. package/build-module/snackbar/index.js +5 -2
  798. package/build-module/snackbar/index.js.map +1 -1
  799. package/build-module/snackbar/list.js +7 -2
  800. package/build-module/snackbar/list.js.map +1 -1
  801. package/build-module/spacer/component.js +20 -7
  802. package/build-module/spacer/component.js.map +1 -1
  803. package/build-module/spacer/hook.js +2 -3
  804. package/build-module/spacer/hook.js.map +1 -1
  805. package/build-module/surface/component.js +19 -6
  806. package/build-module/surface/component.js.map +1 -1
  807. package/build-module/surface/hook.js +1 -1
  808. package/build-module/surface/hook.js.map +1 -1
  809. package/build-module/text/component.js +21 -7
  810. package/build-module/text/component.js.map +1 -1
  811. package/build-module/text/hook.js +5 -5
  812. package/build-module/text/hook.js.map +1 -1
  813. package/build-module/text/styles.js +7 -7
  814. package/build-module/text/styles.js.map +1 -1
  815. package/build-module/toggle-control/index.native.js +8 -3
  816. package/build-module/toggle-control/index.native.js.map +1 -1
  817. package/build-module/toggle-group-control/context.js +12 -0
  818. package/build-module/toggle-group-control/context.js.map +1 -0
  819. package/build-module/toggle-group-control/index.js +3 -0
  820. package/build-module/toggle-group-control/index.js.map +1 -0
  821. package/build-module/toggle-group-control/toggle-group-control/component.js +111 -0
  822. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -0
  823. package/build-module/toggle-group-control/toggle-group-control/index.js +2 -0
  824. package/build-module/toggle-group-control/toggle-group-control/index.js.map +1 -0
  825. package/build-module/toggle-group-control/toggle-group-control/styles.js +30 -0
  826. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -0
  827. package/build-module/{segmented-control/segmented-control-backdrop.js → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js} +21 -6
  828. package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
  829. package/build-module/toggle-group-control/toggle-group-control-option/component.js +89 -0
  830. package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -0
  831. package/build-module/toggle-group-control/toggle-group-control-option/index.js +2 -0
  832. package/build-module/toggle-group-control/toggle-group-control-option/index.js.map +1 -0
  833. package/build-module/toggle-group-control/toggle-group-control-option/styles.js +61 -0
  834. package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -0
  835. package/build-module/toggle-group-control/types.js +2 -0
  836. package/{build/segmented-control → build-module/toggle-group-control}/types.js.map +0 -0
  837. package/build-module/tools-panel/context.js +19 -1
  838. package/build-module/tools-panel/context.js.map +1 -1
  839. package/build-module/tools-panel/index.js +1 -0
  840. package/build-module/tools-panel/index.js.map +1 -1
  841. package/build-module/tools-panel/styles.js +60 -8
  842. package/build-module/tools-panel/styles.js.map +1 -1
  843. package/build-module/tools-panel/tools-panel/component.js +16 -9
  844. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  845. package/build-module/tools-panel/tools-panel/hook.js +124 -24
  846. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  847. package/build-module/tools-panel/tools-panel/index.js.map +1 -1
  848. package/build-module/tools-panel/tools-panel-header/component.js +99 -24
  849. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  850. package/build-module/tools-panel/tools-panel-header/hook.js +12 -2
  851. package/build-module/tools-panel/tools-panel-header/hook.js.map +1 -1
  852. package/build-module/tools-panel/tools-panel-header/index.js.map +1 -1
  853. package/build-module/tools-panel/tools-panel-item/component.js +12 -3
  854. package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
  855. package/build-module/tools-panel/tools-panel-item/hook.js +57 -21
  856. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  857. package/build-module/tools-panel/tools-panel-item/index.js.map +1 -1
  858. package/build-module/tools-panel/types.js +2 -0
  859. package/{build/ui/color-picker → build-module/tools-panel}/types.js.map +0 -0
  860. package/build-module/tooltip/index.js +9 -4
  861. package/build-module/tooltip/index.js.map +1 -1
  862. package/build-module/tooltip/index.native.js +2 -1
  863. package/build-module/tooltip/index.native.js.map +1 -1
  864. package/build-module/tree-grid/index.js +3 -1
  865. package/build-module/tree-grid/index.js.map +1 -1
  866. package/build-module/truncate/component.js +21 -7
  867. package/build-module/truncate/component.js.map +1 -1
  868. package/build-module/truncate/hook.js +2 -2
  869. package/build-module/truncate/hook.js.map +1 -1
  870. package/build-module/ui/context/context-connect.js +3 -3
  871. package/build-module/ui/context/context-connect.js.map +1 -1
  872. package/build-module/ui/context/index.js +1 -1
  873. package/build-module/ui/context/index.js.map +1 -1
  874. package/build-module/ui/context/use-context-system.js +1 -1
  875. package/build-module/ui/context/use-context-system.js.map +1 -1
  876. package/build-module/ui/context/wordpress-component.js +2 -0
  877. package/build-module/ui/context/{polymorphic-component.js.map → wordpress-component.js.map} +0 -0
  878. package/build-module/ui/control-group/component.js +2 -2
  879. package/build-module/ui/control-group/component.js.map +1 -1
  880. package/build-module/ui/control-group/hook.js +1 -1
  881. package/build-module/ui/control-group/hook.js.map +1 -1
  882. package/build-module/ui/control-label/component.js +21 -7
  883. package/build-module/ui/control-label/component.js.map +1 -1
  884. package/build-module/ui/control-label/hook.js +1 -1
  885. package/build-module/ui/control-label/hook.js.map +1 -1
  886. package/build-module/ui/form-group/form-group-content.js +1 -1
  887. package/build-module/ui/form-group/form-group-content.js.map +1 -1
  888. package/build-module/ui/form-group/form-group-label.js +1 -1
  889. package/build-module/ui/form-group/form-group-label.js.map +1 -1
  890. package/build-module/ui/form-group/form-group.js +2 -2
  891. package/build-module/ui/form-group/form-group.js.map +1 -1
  892. package/build-module/ui/form-group/use-form-group.js +1 -1
  893. package/build-module/ui/form-group/use-form-group.js.map +1 -1
  894. package/build-module/ui/shortcut/component.js +1 -2
  895. package/build-module/ui/shortcut/component.js.map +1 -1
  896. package/build-module/ui/spinner/component.js +2 -2
  897. package/build-module/ui/spinner/component.js.map +1 -1
  898. package/build-module/ui/tooltip/component.js +2 -2
  899. package/build-module/ui/tooltip/component.js.map +1 -1
  900. package/build-module/ui/tooltip/content.js +2 -2
  901. package/build-module/ui/tooltip/content.js.map +1 -1
  902. package/build-module/ui/tooltip/styles.js +4 -4
  903. package/build-module/ui/tooltip/styles.js.map +1 -1
  904. package/build-module/ui/utils/colors.js +5 -4
  905. package/build-module/ui/utils/colors.js.map +1 -1
  906. package/build-module/ui/utils/index.js +0 -1
  907. package/build-module/ui/utils/index.js.map +1 -1
  908. package/build-module/ui/utils/space.js +2 -2
  909. package/build-module/ui/utils/space.js.map +1 -1
  910. package/build-module/ui/utils/use-responsive-value.js +0 -4
  911. package/build-module/ui/utils/use-responsive-value.js.map +1 -1
  912. package/build-module/unit-control/index.js +36 -16
  913. package/build-module/unit-control/index.js.map +1 -1
  914. package/build-module/unit-control/index.native.js +5 -1
  915. package/build-module/unit-control/index.native.js.map +1 -1
  916. package/build-module/unit-control/styles/unit-control-styles.js +17 -17
  917. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  918. package/build-module/unit-control/types.js +2 -0
  919. package/{build/ui/context/polymorphic-component.js.map → build-module/unit-control/types.js.map} +0 -0
  920. package/build-module/unit-control/unit-select-control.js +12 -28
  921. package/build-module/unit-control/unit-select-control.js.map +1 -1
  922. package/build-module/unit-control/utils.js +75 -44
  923. package/build-module/unit-control/utils.js.map +1 -1
  924. package/build-module/utils/colors.js +4 -7
  925. package/build-module/utils/colors.js.map +1 -1
  926. package/build-module/utils/config-values.js +8 -8
  927. package/build-module/utils/config-values.js.map +1 -1
  928. package/build-module/utils/hooks/index.js +1 -1
  929. package/build-module/utils/hooks/index.js.map +1 -1
  930. package/build-module/utils/hooks/use-combined-ref.js +25 -0
  931. package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
  932. package/build-module/v-stack/component.js +19 -7
  933. package/build-module/v-stack/component.js.map +1 -1
  934. package/build-module/v-stack/hook.js +1 -1
  935. package/build-module/v-stack/hook.js.map +1 -1
  936. package/build-module/view/component.js +2 -2
  937. package/build-module/view/component.js.map +1 -1
  938. package/build-module/visually-hidden/component.js +2 -2
  939. package/build-module/visually-hidden/component.js.map +1 -1
  940. package/build-module/z-stack/component.js +1 -2
  941. package/build-module/z-stack/component.js.map +1 -1
  942. package/build-style/style-rtl.css +136 -367
  943. package/build-style/style.css +136 -372
  944. package/build-types/animate/index.d.ts +4 -4
  945. package/build-types/animate/index.d.ts.map +1 -1
  946. package/build-types/base-control/index.d.ts +12 -3
  947. package/build-types/base-control/index.d.ts.map +1 -1
  948. package/build-types/base-control/styles/base-control-styles.d.ts +4 -4
  949. package/build-types/base-field/hook.d.ts +222 -222
  950. package/build-types/base-field/hook.d.ts.map +1 -1
  951. package/build-types/button/index.d.ts.map +1 -1
  952. package/build-types/card/card/component.d.ts +1 -1
  953. package/build-types/card/card/component.d.ts.map +1 -1
  954. package/build-types/card/card/hook.d.ts +222 -222
  955. package/build-types/card/card/hook.d.ts.map +1 -1
  956. package/build-types/card/card-body/component.d.ts +1 -1
  957. package/build-types/card/card-body/component.d.ts.map +1 -1
  958. package/build-types/card/card-body/hook.d.ts +222 -222
  959. package/build-types/card/card-body/hook.d.ts.map +1 -1
  960. package/build-types/card/card-divider/component.d.ts +1 -1
  961. package/build-types/card/card-divider/component.d.ts.map +1 -1
  962. package/build-types/card/card-divider/hook.d.ts +225 -225
  963. package/build-types/card/card-divider/hook.d.ts.map +1 -1
  964. package/build-types/card/card-footer/component.d.ts +1 -1
  965. package/build-types/card/card-footer/component.d.ts.map +1 -1
  966. package/build-types/card/card-footer/hook.d.ts +223 -223
  967. package/build-types/card/card-footer/hook.d.ts.map +1 -1
  968. package/build-types/card/card-header/component.d.ts +2 -2
  969. package/build-types/card/card-header/hook.d.ts +222 -222
  970. package/build-types/card/card-header/hook.d.ts.map +1 -1
  971. package/build-types/card/card-media/component.d.ts +3 -3
  972. package/build-types/card/card-media/component.d.ts.map +1 -1
  973. package/build-types/card/card-media/hook.d.ts +222 -222
  974. package/build-types/card/card-media/hook.d.ts.map +1 -1
  975. package/build-types/dashicon/index.d.ts +1 -1
  976. package/build-types/dashicon/index.d.ts.map +1 -1
  977. package/build-types/disabled/styles/disabled-styles.d.ts +1 -1
  978. package/build-types/divider/component.d.ts +1 -1
  979. package/build-types/divider/component.d.ts.map +1 -1
  980. package/build-types/divider/styles.d.ts +1 -1
  981. package/build-types/dropdown/index.d.ts +14 -0
  982. package/build-types/dropdown/index.d.ts.map +1 -0
  983. package/build-types/dropdown-menu/index.d.ts +3 -0
  984. package/build-types/dropdown-menu/index.d.ts.map +1 -0
  985. package/build-types/elevation/component.d.ts +2 -2
  986. package/build-types/elevation/component.d.ts.map +1 -1
  987. package/build-types/elevation/hook.d.ts +221 -221
  988. package/build-types/elevation/hook.d.ts.map +1 -1
  989. package/build-types/flex/flex/component.d.ts +1 -1
  990. package/build-types/flex/flex/component.d.ts.map +1 -1
  991. package/build-types/flex/flex/hook.d.ts +222 -222
  992. package/build-types/flex/flex/hook.d.ts.map +1 -1
  993. package/build-types/flex/flex-block/component.d.ts +2 -2
  994. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  995. package/build-types/flex/flex-block/hook.d.ts +222 -222
  996. package/build-types/flex/flex-block/hook.d.ts.map +1 -1
  997. package/build-types/flex/flex-item/component.d.ts +2 -2
  998. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  999. package/build-types/flex/flex-item/hook.d.ts +222 -222
  1000. package/build-types/flex/flex-item/hook.d.ts.map +1 -1
  1001. package/build-types/flex/types.d.ts +0 -1
  1002. package/build-types/flex/types.d.ts.map +1 -1
  1003. package/build-types/flyout/flyout/component.d.ts +1 -1
  1004. package/build-types/flyout/flyout/component.d.ts.map +1 -1
  1005. package/build-types/flyout/flyout/hook.d.ts +223 -223
  1006. package/build-types/flyout/flyout/hook.d.ts.map +1 -1
  1007. package/build-types/flyout/flyout-content/component.d.ts +1 -1
  1008. package/build-types/flyout/flyout-content/component.d.ts.map +1 -1
  1009. package/build-types/flyout/styles.d.ts +6 -6
  1010. package/build-types/grid/component.d.ts +2 -2
  1011. package/build-types/grid/component.d.ts.map +1 -1
  1012. package/build-types/grid/hook.d.ts +222 -222
  1013. package/build-types/grid/hook.d.ts.map +1 -1
  1014. package/build-types/h-stack/component.d.ts +2 -2
  1015. package/build-types/h-stack/component.d.ts.map +1 -1
  1016. package/build-types/h-stack/hook.d.ts +222 -222
  1017. package/build-types/h-stack/hook.d.ts.map +1 -1
  1018. package/build-types/heading/component.d.ts +4 -3
  1019. package/build-types/heading/component.d.ts.map +1 -1
  1020. package/build-types/heading/hook.d.ts +227 -224
  1021. package/build-types/heading/hook.d.ts.map +1 -1
  1022. package/build-types/input-control/index.d.ts +1 -1
  1023. package/build-types/input-control/input-field.d.ts +5 -5
  1024. package/build-types/input-control/input-field.d.ts.map +1 -1
  1025. package/build-types/input-control/label.d.ts +2 -2
  1026. package/build-types/input-control/label.d.ts.map +1 -1
  1027. package/build-types/input-control/reducer/actions.d.ts +1 -1
  1028. package/build-types/input-control/reducer/actions.d.ts.map +1 -1
  1029. package/build-types/input-control/reducer/reducer.d.ts +1 -1
  1030. package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
  1031. package/build-types/input-control/reducer/state.d.ts +1 -1
  1032. package/build-types/input-control/reducer/state.d.ts.map +1 -1
  1033. package/build-types/input-control/styles/input-control-styles.d.ts +13 -13
  1034. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  1035. package/build-types/input-control/types.d.ts +8 -7
  1036. package/build-types/input-control/types.d.ts.map +1 -1
  1037. package/build-types/item-group/item/component.d.ts +1 -1
  1038. package/build-types/item-group/item/hook.d.ts +222 -225
  1039. package/build-types/item-group/item/hook.d.ts.map +1 -1
  1040. package/build-types/item-group/item-group/component.d.ts +1 -1
  1041. package/build-types/item-group/item-group/hook.d.ts +222 -222
  1042. package/build-types/item-group/item-group/hook.d.ts.map +1 -1
  1043. package/build-types/item-group/styles.d.ts.map +1 -1
  1044. package/build-types/item-group/types.d.ts +0 -6
  1045. package/build-types/item-group/types.d.ts.map +1 -1
  1046. package/build-types/menu-group/index.d.ts +3 -0
  1047. package/build-types/menu-group/index.d.ts.map +1 -0
  1048. package/build-types/menu-item/index.d.ts +4 -0
  1049. package/build-types/menu-item/index.d.ts.map +1 -0
  1050. package/build-types/navigable-container/container.d.ts +3 -0
  1051. package/build-types/navigable-container/container.d.ts.map +1 -0
  1052. package/build-types/navigable-container/index.d.ts +3 -0
  1053. package/build-types/navigable-container/index.d.ts.map +1 -0
  1054. package/build-types/navigable-container/menu.d.ts +12 -0
  1055. package/build-types/navigable-container/menu.d.ts.map +1 -0
  1056. package/build-types/navigable-container/tabbable.d.ts +10 -0
  1057. package/build-types/navigable-container/tabbable.d.ts.map +1 -0
  1058. package/build-types/navigator/context.d.ts +7 -0
  1059. package/build-types/navigator/context.d.ts.map +1 -0
  1060. package/build-types/navigator/index.d.ts +4 -0
  1061. package/build-types/navigator/index.d.ts.map +1 -0
  1062. package/build-types/navigator/navigator-provider/component.d.ts +49 -0
  1063. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -0
  1064. package/build-types/navigator/navigator-provider/index.d.ts +2 -0
  1065. package/build-types/navigator/navigator-provider/index.d.ts.map +1 -0
  1066. package/build-types/navigator/navigator-screen/component.d.ts +55 -0
  1067. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -0
  1068. package/build-types/navigator/navigator-screen/index.d.ts +2 -0
  1069. package/build-types/navigator/navigator-screen/index.d.ts.map +1 -0
  1070. package/build-types/navigator/types.d.ts +39 -0
  1071. package/build-types/navigator/types.d.ts.map +1 -0
  1072. package/build-types/navigator/use-navigator.d.ts +7 -0
  1073. package/build-types/navigator/use-navigator.d.ts.map +1 -0
  1074. package/build-types/number-control/index.d.ts.map +1 -1
  1075. package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
  1076. package/build-types/popover/index.d.ts +1 -1
  1077. package/build-types/popover/index.d.ts.map +1 -1
  1078. package/build-types/popover/utils.d.ts +29 -29
  1079. package/build-types/popover/utils.d.ts.map +1 -1
  1080. package/build-types/range-control/index.d.ts.map +1 -1
  1081. package/build-types/range-control/input-range.d.ts +0 -6
  1082. package/build-types/range-control/input-range.d.ts.map +1 -1
  1083. package/build-types/range-control/styles/range-control-styles.d.ts +14 -14
  1084. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  1085. package/build-types/range-control/tooltip.d.ts +2 -2
  1086. package/build-types/range-control/tooltip.d.ts.map +1 -1
  1087. package/build-types/range-control/utils.d.ts +5 -5
  1088. package/build-types/resizable-box/index.d.ts +29 -0
  1089. package/build-types/resizable-box/index.d.ts.map +1 -0
  1090. package/build-types/resizable-box/resize-tooltip/index.d.ts +22 -0
  1091. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -0
  1092. package/build-types/resizable-box/resize-tooltip/label.d.ts +12 -0
  1093. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -0
  1094. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +20 -0
  1095. package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -0
  1096. package/build-types/resizable-box/resize-tooltip/utils.d.ts +39 -0
  1097. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -0
  1098. package/build-types/resizable-box/styles/resizable-box.styles.d.ts +1 -0
  1099. package/build-types/resizable-box/styles/resizable-box.styles.d.ts.map +1 -0
  1100. package/build-types/scrollable/component.d.ts +3 -3
  1101. package/build-types/scrollable/component.d.ts.map +1 -1
  1102. package/build-types/scrollable/hook.d.ts +222 -222
  1103. package/build-types/scrollable/hook.d.ts.map +1 -1
  1104. package/build-types/select-control/index.d.ts +6 -3
  1105. package/build-types/select-control/index.d.ts.map +1 -1
  1106. package/build-types/select-control/styles/select-control-styles.d.ts +2 -2
  1107. package/build-types/shortcut/index.d.ts.map +1 -1
  1108. package/build-types/spacer/component.d.ts +3 -2
  1109. package/build-types/spacer/component.d.ts.map +1 -1
  1110. package/build-types/spacer/hook.d.ts +225 -222
  1111. package/build-types/spacer/hook.d.ts.map +1 -1
  1112. package/build-types/spinner/styles/spinner-styles.d.ts +1 -1
  1113. package/build-types/surface/component.d.ts +22 -2
  1114. package/build-types/surface/component.d.ts.map +1 -1
  1115. package/build-types/surface/hook.d.ts +222 -222
  1116. package/build-types/surface/hook.d.ts.map +1 -1
  1117. package/build-types/surface/styles.d.ts +4 -4
  1118. package/build-types/text/component.d.ts +2 -2
  1119. package/build-types/text/component.d.ts.map +1 -1
  1120. package/build-types/text/hook.d.ts +223 -223
  1121. package/build-types/text/hook.d.ts.map +1 -1
  1122. package/build-types/text/utils.d.ts +1 -1
  1123. package/build-types/toggle-group-control/context.d.ts +9 -0
  1124. package/build-types/toggle-group-control/context.d.ts.map +1 -0
  1125. package/build-types/toggle-group-control/index.d.ts +3 -0
  1126. package/build-types/toggle-group-control/index.d.ts.map +1 -0
  1127. package/build-types/toggle-group-control/toggle-group-control/component.d.ts +30 -0
  1128. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -0
  1129. package/build-types/toggle-group-control/toggle-group-control/index.d.ts +2 -0
  1130. package/build-types/toggle-group-control/toggle-group-control/index.d.ts.map +1 -0
  1131. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +8 -0
  1132. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -0
  1133. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts +9 -0
  1134. package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
  1135. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +25 -0
  1136. package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -0
  1137. package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts +2 -0
  1138. package/build-types/toggle-group-control/toggle-group-control-option/index.d.ts.map +1 -0
  1139. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +19 -0
  1140. package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -0
  1141. package/build-types/toggle-group-control/types.d.ts +73 -0
  1142. package/build-types/toggle-group-control/types.d.ts.map +1 -0
  1143. package/build-types/tools-panel/context.d.ts +8 -0
  1144. package/build-types/tools-panel/context.d.ts.map +1 -0
  1145. package/build-types/tools-panel/index.d.ts +4 -0
  1146. package/build-types/tools-panel/index.d.ts.map +1 -0
  1147. package/build-types/tools-panel/styles.d.ts +14 -0
  1148. package/build-types/tools-panel/styles.d.ts.map +1 -0
  1149. package/build-types/tools-panel/tools-panel/component.d.ts +4 -0
  1150. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -0
  1151. package/build-types/tools-panel/tools-panel/hook.d.ts +279 -0
  1152. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -0
  1153. package/build-types/tools-panel/tools-panel/index.d.ts +3 -0
  1154. package/build-types/tools-panel/tools-panel/index.d.ts.map +1 -0
  1155. package/build-types/tools-panel/tools-panel-header/component.d.ts +4 -0
  1156. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -0
  1157. package/build-types/tools-panel/tools-panel-header/hook.d.ts +272 -0
  1158. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -0
  1159. package/build-types/tools-panel/tools-panel-header/index.d.ts +2 -0
  1160. package/build-types/tools-panel/tools-panel-header/index.d.ts.map +1 -0
  1161. package/build-types/tools-panel/tools-panel-item/component.d.ts +4 -0
  1162. package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -0
  1163. package/build-types/tools-panel/tools-panel-item/hook.d.ts +266 -0
  1164. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -0
  1165. package/build-types/tools-panel/tools-panel-item/index.d.ts +3 -0
  1166. package/build-types/tools-panel/tools-panel-item/index.d.ts.map +1 -0
  1167. package/build-types/tools-panel/types.d.ts +135 -0
  1168. package/build-types/tools-panel/types.d.ts.map +1 -0
  1169. package/build-types/tooltip/index.d.ts +2 -1
  1170. package/build-types/tooltip/index.d.ts.map +1 -1
  1171. package/build-types/truncate/component.d.ts +2 -2
  1172. package/build-types/truncate/component.d.ts.map +1 -1
  1173. package/build-types/truncate/hook.d.ts +222 -222
  1174. package/build-types/truncate/hook.d.ts.map +1 -1
  1175. package/build-types/ui/context/context-connect.d.ts +5 -5
  1176. package/build-types/ui/context/context-connect.d.ts.map +1 -1
  1177. package/build-types/ui/context/index.d.ts +1 -1
  1178. package/build-types/ui/context/use-context-system.d.ts +1 -1
  1179. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  1180. package/build-types/ui/context/{polymorphic-component.d.ts → wordpress-component.d.ts} +6 -6
  1181. package/build-types/ui/context/wordpress-component.d.ts.map +1 -0
  1182. package/build-types/ui/control-group/component.d.ts +1 -1
  1183. package/build-types/ui/control-group/component.d.ts.map +1 -1
  1184. package/build-types/ui/control-group/hook.d.ts +224 -224
  1185. package/build-types/ui/control-group/hook.d.ts.map +1 -1
  1186. package/build-types/ui/control-label/component.d.ts +2 -2
  1187. package/build-types/ui/control-label/component.d.ts.map +1 -1
  1188. package/build-types/ui/control-label/hook.d.ts +224 -224
  1189. package/build-types/ui/control-label/hook.d.ts.map +1 -1
  1190. package/build-types/ui/form-group/form-group-content.d.ts +2 -2
  1191. package/build-types/ui/form-group/form-group-content.d.ts.map +1 -1
  1192. package/build-types/ui/form-group/form-group-context.d.ts +1 -1
  1193. package/build-types/ui/form-group/form-group-context.d.ts.map +1 -1
  1194. package/build-types/ui/form-group/form-group-label.d.ts +2 -2
  1195. package/build-types/ui/form-group/form-group-label.d.ts.map +1 -1
  1196. package/build-types/ui/form-group/form-group.d.ts +14 -14
  1197. package/build-types/ui/form-group/use-form-group.d.ts +470 -470
  1198. package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
  1199. package/build-types/ui/shortcut/component.d.ts +1 -1
  1200. package/build-types/ui/shortcut/component.d.ts.map +1 -1
  1201. package/build-types/ui/spinner/component.d.ts +1 -1
  1202. package/build-types/ui/spinner/styles.d.ts +3 -3
  1203. package/build-types/ui/tooltip/component.d.ts +1 -1
  1204. package/build-types/ui/tooltip/component.d.ts.map +1 -1
  1205. package/build-types/ui/tooltip/content.d.ts +1 -1
  1206. package/build-types/ui/tooltip/context.d.ts +1 -1
  1207. package/build-types/ui/tooltip/styles.d.ts +4 -4
  1208. package/build-types/ui/utils/colors.d.ts.map +1 -1
  1209. package/build-types/ui/utils/index.d.ts +0 -1
  1210. package/build-types/ui/utils/space.d.ts.map +1 -1
  1211. package/build-types/ui/utils/use-responsive-value.d.ts.map +1 -1
  1212. package/build-types/unit-control/index.d.ts +35 -0
  1213. package/build-types/unit-control/index.d.ts.map +1 -0
  1214. package/build-types/unit-control/styles/unit-control-styles.d.ts +41 -0
  1215. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -0
  1216. package/build-types/unit-control/types.d.ts +106 -0
  1217. package/build-types/unit-control/types.d.ts.map +1 -0
  1218. package/build-types/unit-control/unit-select-control.d.ts +8 -0
  1219. package/build-types/unit-control/unit-select-control.d.ts.map +1 -0
  1220. package/build-types/unit-control/utils.d.ts +102 -0
  1221. package/build-types/unit-control/utils.d.ts.map +1 -0
  1222. package/build-types/utils/colors.d.ts.map +1 -1
  1223. package/build-types/utils/config-values.d.ts +9 -9
  1224. package/build-types/utils/hooks/index.d.ts +1 -1
  1225. package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
  1226. package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
  1227. package/build-types/utils/hooks/use-controlled-state.d.ts +1 -1
  1228. package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
  1229. package/build-types/utils/rtl.d.ts +12 -0
  1230. package/build-types/utils/rtl.d.ts.map +1 -1
  1231. package/build-types/v-stack/component.d.ts +2 -2
  1232. package/build-types/v-stack/component.d.ts.map +1 -1
  1233. package/build-types/v-stack/hook.d.ts +222 -222
  1234. package/build-types/v-stack/hook.d.ts.map +1 -1
  1235. package/build-types/view/component.d.ts +2 -2
  1236. package/build-types/view/component.d.ts.map +1 -1
  1237. package/build-types/visually-hidden/component.d.ts +1 -1
  1238. package/build-types/visually-hidden/component.d.ts.map +1 -1
  1239. package/build-types/z-stack/component.d.ts +1 -1
  1240. package/build-types/z-stack/component.d.ts.map +1 -1
  1241. package/build-types/z-stack/styles.d.ts +2 -2
  1242. package/package.json +18 -18
  1243. package/src/alignment-matrix-control/README.md +60 -2
  1244. package/src/alignment-matrix-control/stories/index.js +3 -0
  1245. package/src/angle-picker-control/index.js +42 -40
  1246. package/src/angle-picker-control/styles/angle-picker-control-styles.js +10 -7
  1247. package/src/animate/index.js +1 -1
  1248. package/src/autocomplete/autocompleter-ui.native.js +4 -3
  1249. package/src/base-control/index.js +2 -2
  1250. package/src/base-control/stories/index.js +7 -1
  1251. package/src/base-field/hook.js +1 -1
  1252. package/src/base-field/test/__snapshots__/index.js.snap +1 -1
  1253. package/src/button/index.js +7 -2
  1254. package/src/button/stories/index.js +14 -9
  1255. package/src/card/card/component.js +2 -2
  1256. package/src/card/card/hook.js +3 -5
  1257. package/src/card/card-body/component.js +2 -2
  1258. package/src/card/card-body/hook.js +1 -1
  1259. package/src/card/card-divider/component.js +2 -2
  1260. package/src/card/card-divider/hook.js +1 -1
  1261. package/src/card/card-footer/component.js +2 -2
  1262. package/src/card/card-footer/hook.js +1 -1
  1263. package/src/card/card-header/component.js +2 -2
  1264. package/src/card/card-header/hook.js +1 -1
  1265. package/src/card/card-media/component.js +14 -7
  1266. package/src/card/card-media/hook.js +1 -1
  1267. package/src/card/stories/index.js +3 -0
  1268. package/src/card/test/__snapshots__/index.js.snap +25 -25
  1269. package/src/checkbox-control/stories/index.js +3 -0
  1270. package/src/circular-option-picker/style.scss +3 -5
  1271. package/src/clipboard-button/README.md +41 -1
  1272. package/src/color-edit/index.js +248 -275
  1273. package/src/color-edit/style.scss +4 -45
  1274. package/src/color-edit/styles.js +97 -0
  1275. package/src/color-indicator/stories/index.js +3 -0
  1276. package/src/color-list-picker/index.js +5 -0
  1277. package/src/color-list-picker/style.scss +4 -0
  1278. package/src/color-palette/index.js +131 -59
  1279. package/src/color-palette/stories/index.js +7 -1
  1280. package/src/color-palette/style.native.scss +1 -1
  1281. package/src/color-palette/style.scss +18 -0
  1282. package/src/color-palette/styles.js +19 -0
  1283. package/src/color-palette/test/__snapshots__/index.js.snap +453 -496
  1284. package/src/color-picker/README.md +41 -12
  1285. package/src/{ui/color-picker → color-picker}/color-display.tsx +41 -27
  1286. package/src/{ui/color-picker → color-picker}/color-input.tsx +3 -3
  1287. package/src/color-picker/component.tsx +138 -0
  1288. package/src/color-picker/hex-input.tsx +54 -0
  1289. package/src/{ui/color-picker → color-picker}/hsl-input.tsx +42 -26
  1290. package/src/color-picker/index.native.js +14 -9
  1291. package/src/color-picker/index.ts +4 -0
  1292. package/src/{ui/color-picker → color-picker}/input-with-slider.tsx +13 -10
  1293. package/src/color-picker/legacy-adapter.tsx +11 -0
  1294. package/src/color-picker/picker.tsx +31 -0
  1295. package/src/{ui/color-picker → color-picker}/rgb-input.tsx +9 -9
  1296. package/src/color-picker/stories/index.js +63 -12
  1297. package/src/color-picker/styles.ts +123 -0
  1298. package/src/color-picker/test/index.js +114 -87
  1299. package/src/{ui/color-picker → color-picker}/types.ts +0 -0
  1300. package/src/color-picker/use-deprecated-props.ts +148 -0
  1301. package/src/combobox-control/index.js +27 -4
  1302. package/src/custom-gradient-bar/constants.js +2 -2
  1303. package/src/custom-gradient-bar/control-points.js +44 -56
  1304. package/src/custom-gradient-picker/index.js +5 -7
  1305. package/src/custom-gradient-picker/style.scss +41 -18
  1306. package/src/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
  1307. package/src/custom-gradient-picker/utils.js +6 -3
  1308. package/src/custom-select-control/README.md +7 -0
  1309. package/src/custom-select-control/index.js +28 -9
  1310. package/src/custom-select-control/style.scss +10 -4
  1311. package/src/dashicon/index.native.js +18 -0
  1312. package/src/date-time/README.md +0 -9
  1313. package/src/date-time/index.js +2 -1
  1314. package/src/date-time/stories/index.js +3 -0
  1315. package/src/date-time/stories/time.js +7 -1
  1316. package/src/date-time/style.scss +5 -0
  1317. package/src/dimension-control/sizes.js +6 -6
  1318. package/src/divider/component.tsx +6 -4
  1319. package/src/divider/stories/index.js +3 -0
  1320. package/src/drop-zone/index.js +63 -11
  1321. package/src/drop-zone/style.scss +11 -20
  1322. package/src/dropdown/README.md +13 -12
  1323. package/src/dropdown/index.js +5 -0
  1324. package/src/dropdown/style.scss +8 -2
  1325. package/src/dropdown-menu/index.js +18 -32
  1326. package/src/dropdown-menu/index.native.js +0 -19
  1327. package/src/dropdown-menu/stories/index.js +24 -10
  1328. package/src/dropdown-menu/style.scss +11 -10
  1329. package/src/duotone-picker/README.md +6 -6
  1330. package/src/duotone-picker/custom-duotone-bar.js +0 -1
  1331. package/src/duotone-picker/duotone-picker.js +1 -0
  1332. package/src/duotone-picker/utils.js +5 -2
  1333. package/src/elevation/component.js +14 -7
  1334. package/src/elevation/hook.js +1 -1
  1335. package/src/elevation/stories/index.js +3 -0
  1336. package/src/external-link/stories/index.js +7 -1
  1337. package/src/flex/flex/README.md +0 -3
  1338. package/src/flex/flex/component.js +2 -2
  1339. package/src/flex/flex/hook.js +41 -31
  1340. package/src/flex/flex-block/component.js +14 -7
  1341. package/src/flex/flex-block/hook.js +1 -1
  1342. package/src/flex/flex-item/component.js +14 -7
  1343. package/src/flex/flex-item/hook.js +1 -1
  1344. package/src/flex/stories/index.js +1 -1
  1345. package/src/flex/test/__snapshots__/index.js.snap +1 -1
  1346. package/src/flex/types.ts +0 -1
  1347. package/src/flyout/flyout/component.js +2 -2
  1348. package/src/flyout/flyout/hook.js +1 -1
  1349. package/src/flyout/flyout-content/component.js +2 -2
  1350. package/src/flyout/test/__snapshots__/index.js.snap +1 -1
  1351. package/src/focal-point-picker/controls.js +1 -1
  1352. package/src/focusable-iframe/README.md +2 -0
  1353. package/src/focusable-iframe/index.js +6 -29
  1354. package/src/font-size-picker/README.md +9 -0
  1355. package/src/font-size-picker/index.js +196 -108
  1356. package/src/font-size-picker/index.native.js +184 -0
  1357. package/src/font-size-picker/stories/index.js +55 -3
  1358. package/src/font-size-picker/style.native.scss +6 -0
  1359. package/src/font-size-picker/style.scss +16 -11
  1360. package/src/font-size-picker/test/index.js +8 -0
  1361. package/src/font-size-picker/utils.js +101 -0
  1362. package/src/form-token-field/stories/index.js +3 -0
  1363. package/src/gradient-picker/index.js +79 -11
  1364. package/src/gradient-picker/stories/index.js +3 -0
  1365. package/src/grid/component.js +14 -7
  1366. package/src/grid/hook.js +1 -1
  1367. package/src/grid/stories/index.js +3 -0
  1368. package/src/guide/index.js +8 -9
  1369. package/src/guide/stories/index.js +7 -1
  1370. package/src/h-stack/component.js +14 -7
  1371. package/src/h-stack/hook.js +1 -1
  1372. package/src/h-stack/stories/index.js +1 -1
  1373. package/src/h-stack/test/__snapshots__/index.js.snap +3 -3
  1374. package/src/heading/component.tsx +37 -0
  1375. package/src/heading/hook.ts +7 -8
  1376. package/src/heading/stories/index.js +1 -1
  1377. package/src/heading/test/__snapshots__/index.js.snap +1 -1
  1378. package/src/higher-order/navigate-regions/index.js +62 -36
  1379. package/src/icon/stories/index.js +17 -11
  1380. package/src/index.js +12 -5
  1381. package/src/index.native.js +4 -1
  1382. package/src/input-control/input-field.tsx +2 -2
  1383. package/src/input-control/label.tsx +2 -2
  1384. package/src/input-control/reducer/actions.ts +1 -4
  1385. package/src/input-control/reducer/reducer.ts +1 -1
  1386. package/src/input-control/reducer/state.ts +1 -1
  1387. package/src/input-control/stories/index.js +3 -0
  1388. package/src/input-control/styles/input-control-styles.tsx +2 -2
  1389. package/src/input-control/types.ts +10 -8
  1390. package/src/item-group/item/README.md +2 -3
  1391. package/src/item-group/item/component.tsx +2 -2
  1392. package/src/item-group/item/hook.ts +24 -12
  1393. package/src/item-group/item-group/component.tsx +2 -2
  1394. package/src/item-group/item-group/hook.ts +2 -2
  1395. package/src/item-group/stories/index.js +98 -15
  1396. package/src/item-group/styles.ts +5 -1
  1397. package/src/item-group/test/__snapshots__/index.js.snap +11 -32
  1398. package/src/item-group/test/index.js +28 -10
  1399. package/src/item-group/types.ts +0 -6
  1400. package/src/menu-group/index.js +3 -6
  1401. package/src/menu-group/style.scss +1 -0
  1402. package/src/menu-item/README.md +8 -0
  1403. package/src/menu-item/index.js +13 -24
  1404. package/src/menu-item/style.scss +17 -3
  1405. package/src/menu-item/test/__snapshots__/index.js.snap +2 -2
  1406. package/src/mobile/README.md +3 -0
  1407. package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +17 -7
  1408. package/src/mobile/bottom-sheet/cell.native.js +29 -3
  1409. package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
  1410. package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
  1411. package/src/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +7 -6
  1412. package/src/mobile/bottom-sheet/index.native.js +18 -5
  1413. package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
  1414. package/src/mobile/bottom-sheet/nav-bar/README.md +63 -0
  1415. package/src/mobile/bottom-sheet/nav-bar/action-button.native.js +30 -0
  1416. package/src/mobile/bottom-sheet/nav-bar/apply-button.native.js +53 -0
  1417. package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +94 -0
  1418. package/src/mobile/bottom-sheet/nav-bar/heading.native.js +33 -0
  1419. package/src/mobile/bottom-sheet/nav-bar/index.native.js +23 -0
  1420. package/src/mobile/bottom-sheet/nav-bar/styles.native.scss +69 -0
  1421. package/src/mobile/bottom-sheet/range-cell.native.js +12 -2
  1422. package/src/mobile/bottom-sheet/range-text-input.native.js +1 -0
  1423. package/src/mobile/bottom-sheet/stepper-cell/stepper.ios.js +2 -2
  1424. package/src/mobile/bottom-sheet/styles.native.scss +32 -14
  1425. package/src/mobile/bottom-sheet/sub-sheet/README.md +4 -4
  1426. package/src/mobile/bottom-sheet-select-control/index.native.js +6 -4
  1427. package/src/mobile/bottom-sheet-text-control/index.native.js +8 -9
  1428. package/src/mobile/color-settings/gradient-picker-screen.native.js +5 -5
  1429. package/src/mobile/color-settings/palette.screen.native.js +25 -11
  1430. package/src/mobile/color-settings/picker-screen.native.js +1 -1
  1431. package/src/mobile/color-settings/style.native.scss +11 -0
  1432. package/src/mobile/dashicons/index.native.js +22 -0
  1433. package/src/mobile/focal-point-settings-panel/index.native.js +12 -7
  1434. package/src/mobile/global-styles-context/index.native.js +15 -2
  1435. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +6 -0
  1436. package/src/mobile/global-styles-context/test/utils.native.js +3 -3
  1437. package/src/mobile/global-styles-context/utils.native.js +120 -7
  1438. package/src/mobile/html-text-input/index.native.js +17 -10
  1439. package/src/mobile/inserter-button/index.native.js +4 -7
  1440. package/src/mobile/inserter-button/style.native.scss +0 -5
  1441. package/src/mobile/link-picker/index.native.js +6 -7
  1442. package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
  1443. package/src/mobile/link-settings/index.native.js +3 -2
  1444. package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
  1445. package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
  1446. package/src/mobile/link-settings/style.native.scss +17 -0
  1447. package/src/mobile/picker/index.android.js +2 -1
  1448. package/src/mobile/segmented-control/index.native.js +1 -0
  1449. package/src/modal/README.md +8 -0
  1450. package/src/modal/index.js +158 -150
  1451. package/src/modal/stories/index.js +11 -4
  1452. package/src/modal/style.scss +5 -0
  1453. package/src/navigable-container/container.js +1 -0
  1454. package/src/navigable-container/index.js +1 -0
  1455. package/src/navigable-container/menu.js +1 -0
  1456. package/src/navigable-container/tabbable.js +1 -0
  1457. package/src/navigation/README.md +9 -0
  1458. package/src/navigation/group/index.js +1 -2
  1459. package/src/navigation/menu/index.js +9 -7
  1460. package/src/navigation/menu/menu-title-search.js +11 -26
  1461. package/src/navigation/menu/menu-title.js +4 -4
  1462. package/src/navigation/styles/navigation-styles.js +59 -74
  1463. package/src/navigator/context.ts +12 -0
  1464. package/src/navigator/index.ts +3 -0
  1465. package/src/navigator/navigator-provider/README.md +75 -0
  1466. package/src/navigator/navigator-provider/component.tsx +107 -0
  1467. package/src/{tools-panel/tools-panel-header/index.js → navigator/navigator-provider/index.ts} +0 -0
  1468. package/src/navigator/navigator-screen/README.md +21 -0
  1469. package/src/navigator/navigator-screen/component.tsx +185 -0
  1470. package/src/navigator/navigator-screen/index.ts +1 -0
  1471. package/src/navigator/stories/index.js +188 -0
  1472. package/src/navigator/test/index.js +218 -0
  1473. package/src/navigator/types.ts +45 -0
  1474. package/src/navigator/use-navigator.ts +25 -0
  1475. package/src/notice/stories/index.js +3 -0
  1476. package/src/number-control/README.md +18 -2
  1477. package/src/number-control/index.js +32 -34
  1478. package/src/number-control/stories/index.js +4 -1
  1479. package/src/number-control/test/index.js +40 -0
  1480. package/src/panel/body.native.js +4 -1
  1481. package/src/panel/stories/index.js +13 -2
  1482. package/src/panel/style.scss +1 -2
  1483. package/src/placeholder/stories/index.js +7 -1
  1484. package/src/popover/index.js +14 -24
  1485. package/src/popover/stories/index.js +7 -1
  1486. package/src/popover/utils.js +69 -36
  1487. package/src/query-controls/index.native.js +33 -31
  1488. package/src/range-control/README.md +13 -7
  1489. package/src/range-control/index.js +9 -2
  1490. package/src/range-control/input-range.js +0 -17
  1491. package/src/range-control/rail.js +3 -0
  1492. package/src/range-control/stories/index.js +36 -8
  1493. package/src/range-control/styles/range-control-styles.js +29 -24
  1494. package/src/range-control/tooltip.js +11 -22
  1495. package/src/resizable-box/index.tsx +128 -0
  1496. package/src/resizable-box/resize-tooltip/{index.js → index.tsx} +19 -6
  1497. package/src/resizable-box/resize-tooltip/{label.js → label.tsx} +23 -9
  1498. package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
  1499. package/src/resizable-box/resize-tooltip/{utils.js → utils.ts} +51 -30
  1500. package/src/resizable-box/stories/index.js +7 -1
  1501. package/src/resizable-box/style.scss +9 -1
  1502. package/src/sandbox/index.js +3 -7
  1503. package/src/sandbox/index.native.js +75 -25
  1504. package/src/sandbox/style.native.scss +4 -0
  1505. package/src/scrollable/README.md +1 -1
  1506. package/src/scrollable/component.js +15 -8
  1507. package/src/scrollable/hook.js +1 -1
  1508. package/src/scrollable/stories/index.js +3 -0
  1509. package/src/search-control/index.js +47 -23
  1510. package/src/search-control/index.native.js +14 -5
  1511. package/src/search-control/platform-style.android.scss +1 -4
  1512. package/src/search-control/platform-style.ios.scss +0 -3
  1513. package/src/search-control/stories/index.js +3 -0
  1514. package/src/search-control/style.native.scss +1 -3
  1515. package/src/search-control/style.scss +1 -1
  1516. package/src/select-control/README.md +36 -4
  1517. package/src/select-control/index.tsx +21 -19
  1518. package/src/select-control/stories/index.js +38 -1
  1519. package/src/select-control/test/select-control.js +82 -0
  1520. package/src/slot-fill/stories/index.js +3 -0
  1521. package/src/snackbar/index.js +4 -0
  1522. package/src/snackbar/list.js +4 -1
  1523. package/src/snackbar/stories/index.js +7 -1
  1524. package/src/spacer/{component.ts → component.tsx} +20 -7
  1525. package/src/spacer/hook.ts +2 -4
  1526. package/src/spacer/stories/index.js +3 -0
  1527. package/src/style.scss +1 -1
  1528. package/src/surface/README.md +1 -1
  1529. package/src/surface/component.js +15 -6
  1530. package/src/surface/hook.js +1 -1
  1531. package/src/surface/stories/index.js +3 -0
  1532. package/src/tab-panel/stories/index.js +7 -1
  1533. package/src/text/component.js +14 -7
  1534. package/src/text/hook.js +1 -1
  1535. package/src/text/styles.js +1 -1
  1536. package/src/text/test/__snapshots__/index.js.snap +2 -2
  1537. package/src/text-control/stories/index.js +3 -0
  1538. package/src/text-highlight/stories/index.js +7 -1
  1539. package/src/textarea-control/stories/index.js +3 -0
  1540. package/src/tip/stories/index.js +7 -1
  1541. package/src/toggle-control/index.native.js +8 -2
  1542. package/src/toggle-control/stories/index.js +7 -1
  1543. package/src/toggle-group-control/context.ts +16 -0
  1544. package/src/toggle-group-control/index.ts +2 -0
  1545. package/src/toggle-group-control/stories/index.js +142 -0
  1546. package/src/{segmented-control → toggle-group-control}/test/__snapshots__/index.js.snap +95 -117
  1547. package/src/toggle-group-control/test/index.js +41 -0
  1548. package/src/toggle-group-control/toggle-group-control/README.md +76 -0
  1549. package/src/toggle-group-control/toggle-group-control/component.tsx +150 -0
  1550. package/src/toggle-group-control/toggle-group-control/index.ts +1 -0
  1551. package/src/toggle-group-control/toggle-group-control/styles.ts +52 -0
  1552. package/src/{segmented-control/segmented-control-backdrop.tsx → toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx} +18 -7
  1553. package/src/toggle-group-control/toggle-group-control-option/README.md +40 -0
  1554. package/src/toggle-group-control/toggle-group-control-option/component.tsx +104 -0
  1555. package/src/toggle-group-control/toggle-group-control-option/index.ts +1 -0
  1556. package/src/{segmented-control → toggle-group-control/toggle-group-control-option}/styles.ts +2 -55
  1557. package/src/{segmented-control → toggle-group-control}/types.ts +19 -24
  1558. package/src/toolbar-button/stories/index.js +13 -3
  1559. package/src/tools-panel/context.ts +25 -0
  1560. package/src/tools-panel/{index.js → index.ts} +1 -0
  1561. package/src/tools-panel/stories/index.js +166 -8
  1562. package/src/tools-panel/stories/typography-panel.js +215 -0
  1563. package/src/tools-panel/styles.ts +118 -0
  1564. package/src/tools-panel/test/index.js +288 -38
  1565. package/src/tools-panel/tools-panel/README.md +23 -10
  1566. package/src/tools-panel/tools-panel/component.tsx +49 -0
  1567. package/src/tools-panel/tools-panel/hook.ts +220 -0
  1568. package/src/tools-panel/tools-panel/{index.js → index.ts} +0 -0
  1569. package/src/tools-panel/tools-panel-header/README.md +6 -11
  1570. package/src/tools-panel/tools-panel-header/component.tsx +194 -0
  1571. package/src/tools-panel/tools-panel-header/hook.ts +51 -0
  1572. package/src/tools-panel/tools-panel-header/index.ts +1 -0
  1573. package/src/tools-panel/tools-panel-item/README.md +38 -2
  1574. package/src/tools-panel/tools-panel-item/component.tsx +46 -0
  1575. package/src/tools-panel/tools-panel-item/hook.ts +129 -0
  1576. package/src/tools-panel/tools-panel-item/{index.js → index.ts} +0 -0
  1577. package/src/tools-panel/types.ts +142 -0
  1578. package/src/tooltip/README.md +8 -0
  1579. package/src/tooltip/index.js +14 -3
  1580. package/src/tooltip/index.native.js +1 -0
  1581. package/src/tooltip/stories/index.js +40 -2
  1582. package/src/tooltip/test/index.js +54 -0
  1583. package/src/tooltip/test/index.native.js +103 -0
  1584. package/src/tree-grid/index.js +3 -1
  1585. package/src/tree-select/stories/index.js +3 -0
  1586. package/src/truncate/component.js +14 -7
  1587. package/src/truncate/hook.js +1 -1
  1588. package/src/truncate/stories/index.js +4 -1
  1589. package/src/ui/context/context-connect.js +3 -3
  1590. package/src/ui/context/index.js +1 -1
  1591. package/src/ui/context/stories/ComponentsProvider.stories.js +1 -1
  1592. package/src/ui/context/use-context-system.js +1 -1
  1593. package/src/ui/context/{polymorphic-component.ts → wordpress-component.ts} +7 -7
  1594. package/src/ui/control-group/component.js +2 -2
  1595. package/src/ui/control-group/hook.js +1 -1
  1596. package/src/ui/control-group/test/__snapshots__/index.js.snap +1 -1
  1597. package/src/ui/control-label/component.js +14 -7
  1598. package/src/ui/control-label/hook.js +1 -1
  1599. package/src/ui/control-label/stories/index.js +1 -1
  1600. package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
  1601. package/src/ui/form-group/form-group-content.js +1 -1
  1602. package/src/ui/form-group/form-group-label.js +1 -1
  1603. package/src/ui/form-group/form-group.js +2 -2
  1604. package/src/ui/form-group/stories/index.js +1 -1
  1605. package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
  1606. package/src/ui/form-group/use-form-group.js +1 -1
  1607. package/src/ui/shortcut/component.tsx +6 -4
  1608. package/src/ui/spinner/component.js +2 -2
  1609. package/src/ui/spinner/stories/index.js +1 -1
  1610. package/src/ui/tooltip/component.js +2 -2
  1611. package/src/ui/tooltip/content.js +2 -2
  1612. package/src/ui/tooltip/stories/index.js +1 -1
  1613. package/src/ui/tooltip/styles.js +1 -1
  1614. package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -1
  1615. package/src/ui/utils/colors.js +6 -7
  1616. package/src/ui/utils/index.js +0 -1
  1617. package/src/ui/utils/space.ts +2 -1
  1618. package/src/ui/utils/use-responsive-value.ts +0 -3
  1619. package/src/unit-control/README.md +21 -24
  1620. package/src/unit-control/index.native.js +4 -0
  1621. package/src/unit-control/{index.js → index.tsx} +73 -28
  1622. package/src/unit-control/stories/index.js +47 -3
  1623. package/src/unit-control/styles/{unit-control-styles.js → unit-control-styles.ts} +18 -7
  1624. package/src/unit-control/test/index.js +18 -0
  1625. package/src/unit-control/test/utils.js +123 -1
  1626. package/src/unit-control/types.ts +115 -0
  1627. package/src/unit-control/unit-select-control.tsx +62 -0
  1628. package/src/unit-control/{utils.js → utils.ts} +121 -51
  1629. package/src/utils/colors.js +5 -3
  1630. package/src/utils/config-values.js +9 -8
  1631. package/src/utils/hooks/index.js +1 -1
  1632. package/src/utils/hooks/use-combined-ref.ts +29 -0
  1633. package/src/utils/test/colors.js +11 -0
  1634. package/src/v-stack/component.js +14 -7
  1635. package/src/v-stack/hook.js +1 -1
  1636. package/src/v-stack/test/__snapshots__/index.js.snap +3 -3
  1637. package/src/view/component.js +1 -1
  1638. package/src/visually-hidden/component.js +2 -2
  1639. package/src/z-stack/component.tsx +2 -3
  1640. package/src/z-stack/stories/index.js +3 -0
  1641. package/tsconfig.json +15 -2
  1642. package/tsconfig.tsbuildinfo +1 -10694
  1643. package/build/color-picker/alpha.js +0 -202
  1644. package/build/color-picker/alpha.js.map +0 -1
  1645. package/build/color-picker/hue.js +0 -202
  1646. package/build/color-picker/hue.js.map +0 -1
  1647. package/build/color-picker/inputs.js +0 -345
  1648. package/build/color-picker/inputs.js.map +0 -1
  1649. package/build/color-picker/saturation.js +0 -209
  1650. package/build/color-picker/saturation.js.map +0 -1
  1651. package/build/color-picker/utils.js +0 -253
  1652. package/build/color-picker/utils.js.map +0 -1
  1653. package/build/mobile/bottom-sheet/navigation-header.native.js +0 -106
  1654. package/build/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
  1655. package/build/modal/frame.js +0 -109
  1656. package/build/modal/frame.js.map +0 -1
  1657. package/build/modal/header.js +0 -53
  1658. package/build/modal/header.js.map +0 -1
  1659. package/build/segmented-control/component.js +0 -94
  1660. package/build/segmented-control/component.js.map +0 -1
  1661. package/build/segmented-control/index.js +0 -24
  1662. package/build/segmented-control/index.js.map +0 -1
  1663. package/build/segmented-control/segmented-control-backdrop.js.map +0 -1
  1664. package/build/segmented-control/segmented-control-button.js +0 -85
  1665. package/build/segmented-control/segmented-control-button.js.map +0 -1
  1666. package/build/segmented-control/segmented-control-context.js +0 -20
  1667. package/build/segmented-control/segmented-control-context.js.map +0 -1
  1668. package/build/segmented-control/segmented-control-option.js +0 -70
  1669. package/build/segmented-control/segmented-control-option.js.map +0 -1
  1670. package/build/segmented-control/styles.js +0 -99
  1671. package/build/segmented-control/styles.js.map +0 -1
  1672. package/build/ui/color-picker/color-display.js.map +0 -1
  1673. package/build/ui/color-picker/color-input.js.map +0 -1
  1674. package/build/ui/color-picker/component.js.map +0 -1
  1675. package/build/ui/color-picker/hex-input.js +0 -65
  1676. package/build/ui/color-picker/hex-input.js.map +0 -1
  1677. package/build/ui/color-picker/hsl-input.js.map +0 -1
  1678. package/build/ui/color-picker/index.js.map +0 -1
  1679. package/build/ui/color-picker/input-with-slider.js.map +0 -1
  1680. package/build/ui/color-picker/picker.js +0 -36
  1681. package/build/ui/color-picker/picker.js.map +0 -1
  1682. package/build/ui/color-picker/rgb-input.js.map +0 -1
  1683. package/build/ui/color-picker/styles.js +0 -51
  1684. package/build/ui/color-picker/styles.js.map +0 -1
  1685. package/build/ui/context/polymorphic-component.js +0 -2
  1686. package/build/ui/utils/create-component.js +0 -59
  1687. package/build/ui/utils/create-component.js.map +0 -1
  1688. package/build/utils/hooks/use-jump-step.js +0 -57
  1689. package/build/utils/hooks/use-jump-step.js.map +0 -1
  1690. package/build-module/color-picker/alpha.js +0 -183
  1691. package/build-module/color-picker/alpha.js.map +0 -1
  1692. package/build-module/color-picker/hue.js +0 -182
  1693. package/build-module/color-picker/hue.js.map +0 -1
  1694. package/build-module/color-picker/inputs.js +0 -320
  1695. package/build-module/color-picker/inputs.js.map +0 -1
  1696. package/build-module/color-picker/saturation.js +0 -188
  1697. package/build-module/color-picker/saturation.js.map +0 -1
  1698. package/build-module/color-picker/utils.js +0 -232
  1699. package/build-module/color-picker/utils.js.map +0 -1
  1700. package/build-module/mobile/bottom-sheet/navigation-header.native.js +0 -91
  1701. package/build-module/mobile/bottom-sheet/navigation-header.native.js.map +0 -1
  1702. package/build-module/modal/frame.js +0 -96
  1703. package/build-module/modal/frame.js.map +0 -1
  1704. package/build-module/modal/header.js +0 -41
  1705. package/build-module/modal/header.js.map +0 -1
  1706. package/build-module/segmented-control/component.js +0 -77
  1707. package/build-module/segmented-control/component.js.map +0 -1
  1708. package/build-module/segmented-control/index.js +0 -3
  1709. package/build-module/segmented-control/index.js.map +0 -1
  1710. package/build-module/segmented-control/segmented-control-backdrop.js.map +0 -1
  1711. package/build-module/segmented-control/segmented-control-button.js +0 -68
  1712. package/build-module/segmented-control/segmented-control-button.js.map +0 -1
  1713. package/build-module/segmented-control/segmented-control-context.js +0 -12
  1714. package/build-module/segmented-control/segmented-control-context.js.map +0 -1
  1715. package/build-module/segmented-control/segmented-control-option.js +0 -55
  1716. package/build-module/segmented-control/segmented-control-option.js.map +0 -1
  1717. package/build-module/segmented-control/styles.js +0 -83
  1718. package/build-module/segmented-control/styles.js.map +0 -1
  1719. package/build-module/ui/color-picker/color-display.js.map +0 -1
  1720. package/build-module/ui/color-picker/color-input.js.map +0 -1
  1721. package/build-module/ui/color-picker/component.js.map +0 -1
  1722. package/build-module/ui/color-picker/hex-input.js +0 -48
  1723. package/build-module/ui/color-picker/hex-input.js.map +0 -1
  1724. package/build-module/ui/color-picker/hsl-input.js.map +0 -1
  1725. package/build-module/ui/color-picker/index.js +0 -2
  1726. package/build-module/ui/color-picker/index.js.map +0 -1
  1727. package/build-module/ui/color-picker/input-with-slider.js.map +0 -1
  1728. package/build-module/ui/color-picker/picker.js +0 -26
  1729. package/build-module/ui/color-picker/picker.js.map +0 -1
  1730. package/build-module/ui/color-picker/rgb-input.js.map +0 -1
  1731. package/build-module/ui/color-picker/styles.js +0 -42
  1732. package/build-module/ui/color-picker/styles.js.map +0 -1
  1733. package/build-module/ui/context/polymorphic-component.js +0 -2
  1734. package/build-module/ui/utils/create-component.js +0 -46
  1735. package/build-module/ui/utils/create-component.js.map +0 -1
  1736. package/build-module/utils/hooks/use-jump-step.js +0 -48
  1737. package/build-module/utils/hooks/use-jump-step.js.map +0 -1
  1738. package/build-types/segmented-control/component.d.ts +0 -4
  1739. package/build-types/segmented-control/component.d.ts.map +0 -1
  1740. package/build-types/segmented-control/index.d.ts +0 -3
  1741. package/build-types/segmented-control/index.d.ts.map +0 -1
  1742. package/build-types/segmented-control/segmented-control-backdrop.d.ts +0 -9
  1743. package/build-types/segmented-control/segmented-control-backdrop.d.ts.map +0 -1
  1744. package/build-types/segmented-control/segmented-control-button.d.ts +0 -6
  1745. package/build-types/segmented-control/segmented-control-button.d.ts.map +0 -1
  1746. package/build-types/segmented-control/segmented-control-context.d.ts +0 -9
  1747. package/build-types/segmented-control/segmented-control-context.d.ts.map +0 -1
  1748. package/build-types/segmented-control/segmented-control-option.d.ts +0 -4
  1749. package/build-types/segmented-control/segmented-control-option.d.ts.map +0 -1
  1750. package/build-types/segmented-control/styles.d.ts +0 -29
  1751. package/build-types/segmented-control/styles.d.ts.map +0 -1
  1752. package/build-types/segmented-control/types.d.ts +0 -77
  1753. package/build-types/segmented-control/types.d.ts.map +0 -1
  1754. package/build-types/ui/color-picker/color-display.d.ts +0 -14
  1755. package/build-types/ui/color-picker/color-display.d.ts.map +0 -1
  1756. package/build-types/ui/color-picker/color-input.d.ts +0 -14
  1757. package/build-types/ui/color-picker/color-input.d.ts.map +0 -1
  1758. package/build-types/ui/color-picker/component.d.ts +0 -12
  1759. package/build-types/ui/color-picker/component.d.ts.map +0 -1
  1760. package/build-types/ui/color-picker/hex-input.d.ts +0 -13
  1761. package/build-types/ui/color-picker/hex-input.d.ts.map +0 -1
  1762. package/build-types/ui/color-picker/hsl-input.d.ts +0 -13
  1763. package/build-types/ui/color-picker/hsl-input.d.ts.map +0 -1
  1764. package/build-types/ui/color-picker/index.d.ts +0 -2
  1765. package/build-types/ui/color-picker/index.d.ts.map +0 -1
  1766. package/build-types/ui/color-picker/input-with-slider.d.ts +0 -12
  1767. package/build-types/ui/color-picker/input-with-slider.d.ts.map +0 -1
  1768. package/build-types/ui/color-picker/picker.d.ts +0 -13
  1769. package/build-types/ui/color-picker/picker.d.ts.map +0 -1
  1770. package/build-types/ui/color-picker/rgb-input.d.ts +0 -13
  1771. package/build-types/ui/color-picker/rgb-input.d.ts.map +0 -1
  1772. package/build-types/ui/color-picker/styles.d.ts +0 -43
  1773. package/build-types/ui/color-picker/styles.d.ts.map +0 -1
  1774. package/build-types/ui/color-picker/types.d.ts +0 -2
  1775. package/build-types/ui/color-picker/types.d.ts.map +0 -1
  1776. package/build-types/ui/context/polymorphic-component.d.ts.map +0 -1
  1777. package/build-types/ui/utils/create-component.d.ts +0 -22
  1778. package/build-types/ui/utils/create-component.d.ts.map +0 -1
  1779. package/build-types/utils/hooks/use-jump-step.d.ts +0 -25
  1780. package/build-types/utils/hooks/use-jump-step.d.ts.map +0 -1
  1781. package/src/color-picker/alpha.js +0 -184
  1782. package/src/color-picker/hue.js +0 -184
  1783. package/src/color-picker/index.js +0 -264
  1784. package/src/color-picker/inputs.js +0 -305
  1785. package/src/color-picker/saturation.js +0 -190
  1786. package/src/color-picker/style.scss +0 -269
  1787. package/src/color-picker/test/__snapshots__/index.js.snap +0 -817
  1788. package/src/color-picker/test/input.js +0 -174
  1789. package/src/color-picker/utils.js +0 -214
  1790. package/src/focusable-iframe/stories/index.js +0 -19
  1791. package/src/heading/component.ts +0 -25
  1792. package/src/mobile/bottom-sheet/navigation-header.native.js +0 -137
  1793. package/src/modal/frame.js +0 -111
  1794. package/src/modal/header.js +0 -53
  1795. package/src/resizable-box/index.js +0 -114
  1796. package/src/segmented-control/README.md +0 -70
  1797. package/src/segmented-control/component.tsx +0 -103
  1798. package/src/segmented-control/index.ts +0 -2
  1799. package/src/segmented-control/segmented-control-button.tsx +0 -72
  1800. package/src/segmented-control/segmented-control-context.ts +0 -16
  1801. package/src/segmented-control/segmented-control-option.tsx +0 -71
  1802. package/src/segmented-control/stories/index.js +0 -59
  1803. package/src/segmented-control/test/index.js +0 -42
  1804. package/src/tools-panel/context.js +0 -7
  1805. package/src/tools-panel/styles.js +0 -64
  1806. package/src/tools-panel/tools-panel/component.js +0 -38
  1807. package/src/tools-panel/tools-panel/hook.js +0 -79
  1808. package/src/tools-panel/tools-panel-header/component.js +0 -81
  1809. package/src/tools-panel/tools-panel-header/hook.js +0 -34
  1810. package/src/tools-panel/tools-panel-item/component.js +0 -31
  1811. package/src/tools-panel/tools-panel-item/hook.js +0 -67
  1812. package/src/ui/color-picker/README.md +0 -57
  1813. package/src/ui/color-picker/component.tsx +0 -141
  1814. package/src/ui/color-picker/hex-input.tsx +0 -55
  1815. package/src/ui/color-picker/index.ts +0 -1
  1816. package/src/ui/color-picker/picker.tsx +0 -26
  1817. package/src/ui/color-picker/stories/index.js +0 -59
  1818. package/src/ui/color-picker/styles.ts +0 -61
  1819. package/src/ui/utils/create-component.tsx +0 -59
  1820. package/src/ui/utils/test/create-component.js +0 -70
  1821. package/src/unit-control/unit-select-control.js +0 -70
  1822. package/src/utils/hooks/test/use-jump-step.js +0 -127
  1823. package/src/utils/hooks/use-jump-step.js +0 -51
@@ -1,60 +1,24 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { createElement } from "@wordpress/element";
3
3
 
4
- /**
5
- * External dependencies
6
- */
7
- import { isNumber, isString } from 'lodash';
8
4
  /**
9
5
  * WordPress dependencies
10
6
  */
11
-
12
- import { __ } from '@wordpress/i18n';
13
- import { textColor } from '@wordpress/icons';
14
- import { useMemo, forwardRef } from '@wordpress/element';
7
+ import { __, sprintf } from '@wordpress/i18n';
8
+ import { settings } from '@wordpress/icons';
9
+ import { useState, useMemo, forwardRef } from '@wordpress/element';
15
10
  /**
16
11
  * Internal dependencies
17
12
  */
18
13
 
19
14
  import Button from '../button';
20
15
  import RangeControl from '../range-control';
16
+ import { Flex, FlexItem } from '../flex';
21
17
  import { default as UnitControl, useCustomUnits } from '../unit-control';
22
18
  import CustomSelectControl from '../custom-select-control';
23
19
  import { VisuallyHidden } from '../visually-hidden';
24
- const DEFAULT_FONT_SIZE = 'default';
25
- const CUSTOM_FONT_SIZE = 'custom';
26
- const MAX_FONT_SIZE_DISPLAY = '25px';
27
-
28
- function getSelectValueFromFontSize(fontSizes, value) {
29
- if (value) {
30
- const fontSizeValue = fontSizes.find(font => font.size === value);
31
- return fontSizeValue ? fontSizeValue.slug : CUSTOM_FONT_SIZE;
32
- }
33
-
34
- return DEFAULT_FONT_SIZE;
35
- }
36
-
37
- function getSelectOptions(optionsArray, disableCustomFontSizes) {
38
- if (disableCustomFontSizes && !optionsArray.length) {
39
- return null;
40
- }
41
-
42
- optionsArray = [{
43
- slug: DEFAULT_FONT_SIZE,
44
- name: __('Default')
45
- }, ...optionsArray, ...(disableCustomFontSizes ? [] : [{
46
- slug: CUSTOM_FONT_SIZE,
47
- name: __('Custom')
48
- }])];
49
- return optionsArray.map(option => ({
50
- key: option.slug,
51
- name: option.name,
52
- size: option.size,
53
- style: {
54
- fontSize: `min( ${option.size}, ${MAX_FONT_SIZE_DISPLAY} )`
55
- }
56
- }));
57
- }
20
+ import { ToggleGroupControl, ToggleGroupControlOption } from '../toggle-group-control';
21
+ import { getFontSizeOptions, getSelectedOption, splitValueAndUnitFromSize, isSimpleCssValue, CUSTOM_FONT_SIZE } from './utils';
58
22
 
59
23
  function FontSizePicker({
60
24
  fallbackFontSize,
@@ -62,54 +26,124 @@ function FontSizePicker({
62
26
  disableCustomFontSizes = false,
63
27
  onChange,
64
28
  value,
65
- withSlider = false
29
+ withSlider = false,
30
+ withReset = true
66
31
  }, ref) {
67
- const hasUnits = isString(value) || fontSizes[0] && isString(fontSizes[0].size);
68
- let noUnitsValue;
69
-
70
- if (!hasUnits) {
71
- noUnitsValue = value;
72
- } else {
73
- noUnitsValue = parseInt(value);
74
- }
32
+ var _fontSizes$, _value$endsWith;
75
33
 
76
- const isPixelValue = isNumber(value) || isString(value) && value.endsWith('px');
34
+ const hasUnits = [typeof value, typeof (fontSizes === null || fontSizes === void 0 ? void 0 : (_fontSizes$ = fontSizes[0]) === null || _fontSizes$ === void 0 ? void 0 : _fontSizes$.size)].includes('string');
35
+ const noUnitsValue = !hasUnits ? value : parseInt(value);
36
+ const isPixelValue = typeof value === 'number' || (value === null || value === void 0 ? void 0 : (_value$endsWith = value.endsWith) === null || _value$endsWith === void 0 ? void 0 : _value$endsWith.call(value, 'px'));
77
37
  const units = useCustomUnits({
78
38
  availableUnits: ['px', 'em', 'rem']
79
- });
80
- const options = useMemo(() => getSelectOptions(fontSizes, disableCustomFontSizes), [fontSizes, disableCustomFontSizes]);
39
+ }); // The main font size UI displays a toggle group when the presets are less
40
+ // than six and a select control when they are more.
41
+ //
42
+ // A select control is also used when the value of a preset cannot be
43
+ // immediately computed (eg. 'calc', 'var').
44
+
45
+ const shouldUseSelectControl = fontSizes.length > 5 || fontSizes.some(({
46
+ size
47
+ }) => !isSimpleCssValue(size));
48
+ const options = useMemo(() => getFontSizeOptions(shouldUseSelectControl, fontSizes, disableCustomFontSizes), [shouldUseSelectControl, fontSizes, disableCustomFontSizes]);
49
+ const selectedOption = getSelectedOption(fontSizes, value);
50
+ const isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;
51
+ const [showCustomValueControl, setShowCustomValueControl] = useState(!disableCustomFontSizes && isCustomValue);
52
+ const headerHint = useMemo(() => {
53
+ if (showCustomValueControl) {
54
+ return `(${__('Custom')})`;
55
+ } // If we have a custom value that is not available in the font sizes,
56
+ // show it as a hint as long as it's a simple CSS value.
57
+
58
+
59
+ if (isCustomValue) {
60
+ return isSimpleCssValue(value) && `(${value})`;
61
+ }
62
+
63
+ if (shouldUseSelectControl) {
64
+ return isSimpleCssValue(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.size) && `(${selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.size})`;
65
+ } // Calculate the `hint` for toggle group control.
66
+
67
+
68
+ let hint = selectedOption.name;
69
+
70
+ if (typeof selectedOption.size === 'string') {
71
+ const [, unit] = splitValueAndUnitFromSize(selectedOption.size);
72
+ hint += `(${unit})`;
73
+ }
74
+
75
+ return hint;
76
+ }, [showCustomValueControl, selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.slug, value, isCustomValue]);
81
77
 
82
78
  if (!options) {
83
79
  return null;
84
- }
80
+ } // This is used for select control only. We need to add support
81
+ // for ToggleGroupControl.
85
82
 
86
- const selectedFontSizeSlug = getSelectValueFromFontSize(fontSizes, value);
83
+
84
+ const currentFontSizeSR = sprintf( // translators: %s: Currently selected font size.
85
+ __('Currently selected font size: %s'), selectedOption.name);
86
+ const baseClassName = 'components-font-size-picker';
87
87
  return createElement("fieldset", _extends({
88
- className: "components-font-size-picker"
88
+ className: baseClassName
89
89
  }, ref ? {} : {
90
90
  ref
91
91
  }), createElement(VisuallyHidden, {
92
92
  as: "legend"
93
- }, __('Font size')), createElement("div", {
94
- className: "components-font-size-picker__controls"
95
- }, fontSizes.length > 0 && createElement(CustomSelectControl, {
96
- className: 'components-font-size-picker__select',
93
+ }, __('Font size')), createElement(Flex, {
94
+ justify: "space-between",
95
+ className: `${baseClassName}__header`
96
+ }, createElement(FlexItem, null, __('Size'), headerHint && createElement("span", {
97
+ className: `${baseClassName}__header__hint`
98
+ }, headerHint)), !disableCustomFontSizes && createElement(FlexItem, null, createElement(Button, {
99
+ label: showCustomValueControl ? __('Use size preset') : __('Set custom size'),
100
+ showTooltip: false,
101
+ icon: settings,
102
+ onClick: () => {
103
+ setShowCustomValueControl(!showCustomValueControl);
104
+ },
105
+ isPressed: showCustomValueControl,
106
+ isSmall: true
107
+ }))), createElement("div", {
108
+ className: `${baseClassName}__controls`
109
+ }, !!fontSizes.length && shouldUseSelectControl && !showCustomValueControl && createElement(CustomSelectControl, {
110
+ className: `${baseClassName}__select`,
97
111
  label: __('Font size'),
112
+ hideLabelFromVision: true,
113
+ describedBy: currentFontSizeSR,
98
114
  options: options,
99
- value: options.find(option => option.key === selectedFontSizeSlug),
115
+ value: options.find(option => option.key === selectedOption.slug),
100
116
  onChange: ({
101
117
  selectedItem
102
118
  }) => {
103
- if (hasUnits) {
104
- onChange(selectedItem.size);
105
- } else {
106
- onChange(Number(selectedItem.size));
119
+ onChange(hasUnits ? selectedItem.size : Number(selectedItem.size));
120
+
121
+ if (selectedItem.key === CUSTOM_FONT_SIZE) {
122
+ setShowCustomValueControl(true);
107
123
  }
108
124
  }
109
- }), !withSlider && !disableCustomFontSizes && createElement(UnitControl, {
125
+ }), !shouldUseSelectControl && !showCustomValueControl && createElement(ToggleGroupControl, {
126
+ label: __('Font size'),
127
+ hideLabelFromVision: true,
128
+ value: value,
129
+ onChange: newValue => {
130
+ onChange(hasUnits ? newValue : Number(newValue));
131
+ },
132
+ isBlock: true
133
+ }, options.map(option => createElement(ToggleGroupControlOption, {
134
+ key: option.key,
135
+ value: option.value,
136
+ label: option.label,
137
+ "aria-label": option.name
138
+ }))), !withSlider && !disableCustomFontSizes && showCustomValueControl && createElement(Flex, {
139
+ justify: "space-between",
140
+ className: `${baseClassName}__custom-size-control`
141
+ }, createElement(FlexItem, {
142
+ isBlock: true
143
+ }, createElement(UnitControl, {
110
144
  label: __('Custom'),
111
145
  labelPosition: "top",
112
- __unstableInputWidth: "60px",
146
+ hideLabelFromVision: true,
113
147
  value: value,
114
148
  onChange: nextSize => {
115
149
  if (0 === parseFloat(nextSize) || !nextSize) {
@@ -119,7 +153,9 @@ function FontSizePicker({
119
153
  }
120
154
  },
121
155
  units: hasUnits ? units : false
122
- }), createElement(Button, {
156
+ })), withReset && createElement(FlexItem, {
157
+ isBlock: true
158
+ }, createElement(Button, {
123
159
  className: "components-color-palette__clear",
124
160
  disabled: value === undefined,
125
161
  onClick: () => {
@@ -127,8 +163,8 @@ function FontSizePicker({
127
163
  },
128
164
  isSmall: true,
129
165
  variant: "secondary"
130
- }, __('Reset'))), withSlider && createElement(RangeControl, {
131
- className: "components-font-size-picker__custom-input",
166
+ }, __('Reset'))))), withSlider && createElement(RangeControl, {
167
+ className: `${baseClassName}__custom-input`,
132
168
  label: __('Custom Size'),
133
169
  value: isPixelValue && noUnitsValue || '',
134
170
  initialPosition: fallbackFontSize,
@@ -136,9 +172,7 @@ function FontSizePicker({
136
172
  onChange(hasUnits ? newValue + 'px' : newValue);
137
173
  },
138
174
  min: 12,
139
- max: 100,
140
- beforeIcon: textColor,
141
- afterIcon: textColor
175
+ max: 100
142
176
  }));
143
177
  }
144
178
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["isNumber","isString","__","textColor","useMemo","forwardRef","Button","RangeControl","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","DEFAULT_FONT_SIZE","CUSTOM_FONT_SIZE","MAX_FONT_SIZE_DISPLAY","getSelectValueFromFontSize","fontSizes","value","fontSizeValue","find","font","size","slug","getSelectOptions","optionsArray","disableCustomFontSizes","length","name","map","option","key","style","fontSize","FontSizePicker","fallbackFontSize","onChange","withSlider","ref","hasUnits","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","options","selectedFontSizeSlug","selectedItem","Number","nextSize","parseFloat","undefined","newValue"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isNumber, isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { textColor } from '@wordpress/icons';\nimport { useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\n\nconst DEFAULT_FONT_SIZE = 'default';\nconst CUSTOM_FONT_SIZE = 'custom';\nconst MAX_FONT_SIZE_DISPLAY = '25px';\n\nfunction getSelectValueFromFontSize( fontSizes, value ) {\n\tif ( value ) {\n\t\tconst fontSizeValue = fontSizes.find( ( font ) => font.size === value );\n\t\treturn fontSizeValue ? fontSizeValue.slug : CUSTOM_FONT_SIZE;\n\t}\n\treturn DEFAULT_FONT_SIZE;\n}\n\nfunction getSelectOptions( optionsArray, disableCustomFontSizes ) {\n\tif ( disableCustomFontSizes && ! optionsArray.length ) {\n\t\treturn null;\n\t}\n\toptionsArray = [\n\t\t{ slug: DEFAULT_FONT_SIZE, name: __( 'Default' ) },\n\t\t...optionsArray,\n\t\t...( disableCustomFontSizes\n\t\t\t? []\n\t\t\t: [ { slug: CUSTOM_FONT_SIZE, name: __( 'Custom' ) } ] ),\n\t];\n\treturn optionsArray.map( ( option ) => ( {\n\t\tkey: option.slug,\n\t\tname: option.name,\n\t\tsize: option.size,\n\t\tstyle: {\n\t\t\tfontSize: `min( ${ option.size }, ${ MAX_FONT_SIZE_DISPLAY } )`,\n\t\t},\n\t} ) );\n}\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t},\n\tref\n) {\n\tconst hasUnits =\n\t\tisString( value ) ||\n\t\t( fontSizes[ 0 ] && isString( fontSizes[ 0 ].size ) );\n\n\tlet noUnitsValue;\n\tif ( ! hasUnits ) {\n\t\tnoUnitsValue = value;\n\t} else {\n\t\tnoUnitsValue = parseInt( value );\n\t}\n\n\tconst isPixelValue =\n\t\tisNumber( value ) || ( isString( value ) && value.endsWith( 'px' ) );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\tconst options = useMemo(\n\t\t() => getSelectOptions( fontSizes, disableCustomFontSizes ),\n\t\t[ fontSizes, disableCustomFontSizes ]\n\t);\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\tconst selectedFontSizeSlug = getSelectValueFromFontSize( fontSizes, value );\n\n\treturn (\n\t\t<fieldset\n\t\t\tclassName=\"components-font-size-picker\"\n\t\t\t{ ...( ref ? {} : { ref } ) }\n\t\t>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<div className=\"components-font-size-picker__controls\">\n\t\t\t\t{ fontSizes.length > 0 && (\n\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\tclassName={ 'components-font-size-picker__select' }\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t( option ) => option.key === selectedFontSizeSlug\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\tif ( hasUnits ) {\n\t\t\t\t\t\t\t\tonChange( selectedItem.size );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tonChange( Number( selectedItem.size ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider && ! disableCustomFontSizes && (\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t__unstableInputWidth=\"60px\"\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\tif ( 0 === parseFloat( nextSize ) || ! nextSize ) {\n\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ hasUnits ? units : false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t} }\n\t\t\t\t\tisSmall\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName=\"components-font-size-picker__custom-input\"\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tbeforeIcon={ textColor }\n\t\t\t\t\tafterIcon={ textColor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["__","sprintf","settings","useState","useMemo","forwardRef","Button","RangeControl","Flex","FlexItem","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","ToggleGroupControl","ToggleGroupControlOption","getFontSizeOptions","getSelectedOption","splitValueAndUnitFromSize","isSimpleCssValue","CUSTOM_FONT_SIZE","FontSizePicker","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","value","withSlider","withReset","ref","hasUnits","size","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","shouldUseSelectControl","length","some","options","selectedOption","isCustomValue","slug","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// The main font size UI displays a toggle group when the presets are less\n\t// than six and a select control when they are more.\n\t//\n\t// A select control is also used when the value of a preset cannot be\n\t// immediately computed (eg. 'calc', 'var').\n\tconst shouldUseSelectControl =\n\t\tfontSizes.length > 5 ||\n\t\tfontSizes.some( ( { size } ) => ! isSimpleCssValue( size ) );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes\n\t\t\t),\n\t\t[ shouldUseSelectControl, fontSizes, disableCustomFontSizes ]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif ( typeof selectedOption.size === 'string' ) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [ showCustomValueControl, selectedOption?.slug, value, isCustomValue ] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\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{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : false }\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\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
@@ -0,0 +1,144 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import { View, useWindowDimensions } from 'react-native';
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+
11
+ import { useNavigation } from '@react-navigation/native';
12
+ import { useState } from '@wordpress/element';
13
+ import { Icon, chevronRight, check } from '@wordpress/icons';
14
+ import { __, sprintf } from '@wordpress/i18n';
15
+ import { BottomSheet } from '@wordpress/components';
16
+ import { getPxFromCssUnit } from '@wordpress/block-editor';
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ import { default as UnitControl, useCustomUnits } from '../unit-control';
22
+ import styles from './style.scss';
23
+ const DEFAULT_FONT_SIZE = 16;
24
+
25
+ function FontSizePicker({
26
+ fontSizes = [],
27
+ disableCustomFontSizes = false,
28
+ onChange,
29
+ value: selectedValue
30
+ }) {
31
+ var _fontSizes$find;
32
+
33
+ const [showSubSheet, setShowSubSheet] = useState(false);
34
+ const navigation = useNavigation();
35
+ const {
36
+ height,
37
+ width
38
+ } = useWindowDimensions();
39
+ const cssUnitOptions = {
40
+ height,
41
+ width,
42
+ fontSize: DEFAULT_FONT_SIZE
43
+ }; // We need to always convert to px units because the selected value
44
+ // could be coming from the web where it could be stored as a different unit.
45
+
46
+ const selectedPxValue = getPxFromCssUnit(selectedValue, cssUnitOptions);
47
+
48
+ const onChangeValue = value => {
49
+ return () => {
50
+ goBack();
51
+ onChange(value);
52
+ };
53
+ };
54
+
55
+ const selectedOption = (_fontSizes$find = fontSizes.find(option => option.sizePx === selectedPxValue)) !== null && _fontSizes$find !== void 0 ? _fontSizes$find : {
56
+ name: 'Custom'
57
+ };
58
+
59
+ const goBack = () => {
60
+ setShowSubSheet(false);
61
+ navigation.goBack();
62
+ };
63
+
64
+ const openSubSheet = () => {
65
+ navigation.navigate(BottomSheet.SubSheet.screenName);
66
+ setShowSubSheet(true);
67
+ };
68
+
69
+ const label = __('Font Size');
70
+
71
+ const units = useCustomUnits({
72
+ availableUnits: ['px', 'em', 'rem']
73
+ });
74
+ return createElement(BottomSheet.SubSheet, {
75
+ navigationButton: createElement(BottomSheet.Cell, {
76
+ label: label,
77
+ separatorType: "none",
78
+ value: selectedValue ? sprintf( // translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px
79
+ __('%1$s (%2$s)'), selectedOption.name, selectedPxValue) : __('Default'),
80
+ onPress: openSubSheet,
81
+ accessibilityRole: 'button',
82
+ accessibilityLabel: selectedOption.name,
83
+ accessibilityHint: sprintf( // translators: %s: Select control button label e.g. Small
84
+ __('Navigates to select %s'), selectedOption.name)
85
+ }, createElement(Icon, {
86
+ icon: chevronRight
87
+ })),
88
+ showSheet: showSubSheet
89
+ }, createElement(Fragment, null, createElement(BottomSheet.NavBar, null, createElement(BottomSheet.NavBar.BackButton, {
90
+ onPress: goBack
91
+ }), createElement(BottomSheet.NavBar.Heading, null, label)), createElement(View, {
92
+ style: styles['components-font-size-picker']
93
+ }, createElement(BottomSheet.Cell, {
94
+ customActionButton: true,
95
+ separatorType: "none",
96
+ label: __('Default'),
97
+ onPress: onChangeValue(undefined),
98
+ leftAlign: true,
99
+ key: 'default',
100
+ accessibilityRole: 'button',
101
+ accessibilityLabel: __('Selected: Default'),
102
+ accessibilityHint: __('Double tap to select default font size')
103
+ }, createElement(View, null, selectedValue === undefined && createElement(Icon, {
104
+ icon: check
105
+ }))), fontSizes.map((item, index) => {
106
+ // Only display a choice that we can currenly select.
107
+ if (!parseFloat(item.sizePx)) {
108
+ return null;
109
+ }
110
+
111
+ return createElement(BottomSheet.Cell, {
112
+ customActionButton: true,
113
+ separatorType: "none",
114
+ label: item.name,
115
+ subLabel: item.sizePx,
116
+ onPress: onChangeValue(item.sizePx),
117
+ leftAlign: true,
118
+ key: index,
119
+ accessibilityRole: 'button',
120
+ accessibilityLabel: item.sizePx === selectedValue ? sprintf( // translators: %s: Select font size option value e.g: "Selected: Large".
121
+ __('Selected: %s'), item.name) : item.name,
122
+ accessibilityHint: __('Double tap to select font size')
123
+ }, createElement(View, null, item.sizePx === selectedPxValue && createElement(Icon, {
124
+ icon: check
125
+ })));
126
+ }), !disableCustomFontSizes && createElement(UnitControl, {
127
+ label: __('Custom'),
128
+ min: 0,
129
+ max: 200,
130
+ step: 1,
131
+ value: selectedValue,
132
+ onChange: nextSize => {
133
+ if (0 === parseFloat(nextSize) || !nextSize) {
134
+ onChange(undefined);
135
+ } else {
136
+ onChange(nextSize);
137
+ }
138
+ },
139
+ units: units
140
+ }))));
141
+ }
142
+
143
+ export default FontSizePicker;
144
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/index.native.js"],"names":["View","useWindowDimensions","useNavigation","useState","Icon","chevronRight","check","__","sprintf","BottomSheet","getPxFromCssUnit","default","UnitControl","useCustomUnits","styles","DEFAULT_FONT_SIZE","FontSizePicker","fontSizes","disableCustomFontSizes","onChange","value","selectedValue","showSubSheet","setShowSubSheet","navigation","height","width","cssUnitOptions","fontSize","selectedPxValue","onChangeValue","goBack","selectedOption","find","option","sizePx","name","openSubSheet","navigate","SubSheet","screenName","label","units","availableUnits","undefined","map","item","index","parseFloat","nextSize"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, useWindowDimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\nimport { useState } from '@wordpress/element';\nimport { Icon, chevronRight, check } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet } from '@wordpress/components';\nimport { getPxFromCssUnit } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport styles from './style.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\n\nfunction FontSizePicker( {\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue: selectedValue,\n} ) {\n\tconst [ showSubSheet, setShowSubSheet ] = useState( false );\n\tconst navigation = useNavigation();\n\n\tconst { height, width } = useWindowDimensions();\n\tconst cssUnitOptions = { height, width, fontSize: DEFAULT_FONT_SIZE };\n\t// We need to always convert to px units because the selected value\n\t// could be coming from the web where it could be stored as a different unit.\n\tconst selectedPxValue = getPxFromCssUnit( selectedValue, cssUnitOptions );\n\n\tconst onChangeValue = ( value ) => {\n\t\treturn () => {\n\t\t\tgoBack();\n\t\t\tonChange( value );\n\t\t};\n\t};\n\n\tconst selectedOption = fontSizes.find(\n\t\t( option ) => option.sizePx === selectedPxValue\n\t) ?? { name: 'Custom' };\n\n\tconst goBack = () => {\n\t\tsetShowSubSheet( false );\n\t\tnavigation.goBack();\n\t};\n\n\tconst openSubSheet = () => {\n\t\tnavigation.navigate( BottomSheet.SubSheet.screenName );\n\t\tsetShowSubSheet( true );\n\t};\n\tconst label = __( 'Font Size' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\treturn (\n\t\t<BottomSheet.SubSheet\n\t\t\tnavigationButton={\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tselectedValue\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %1$s: Select control font size name e.g. Small, %2$s: Select control font size e.g. 12px\n\t\t\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\t\t\tselectedOption.name,\n\t\t\t\t\t\t\t\t\tselectedPxValue\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Default' )\n\t\t\t\t\t}\n\t\t\t\t\tonPress={ openSubSheet }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ selectedOption.name }\n\t\t\t\t\taccessibilityHint={ sprintf(\n\t\t\t\t\t\t// translators: %s: Select control button label e.g. Small\n\t\t\t\t\t\t__( 'Navigates to select %s' ),\n\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t}\n\t\t\tshowSheet={ showSubSheet }\n\t\t>\n\t\t\t<>\n\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ goBack } />\n\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t<View style={ styles[ 'components-font-size-picker' ] }>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\tonPress={ onChangeValue( undefined ) }\n\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\tkey={ 'default' }\n\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\taccessibilityLabel={ __( 'Selected: Default' ) }\n\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t'Double tap to select default font size'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t{ selectedValue === undefined && (\n\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t{ fontSizes.map( ( item, index ) => {\n\t\t\t\t\t\t// Only display a choice that we can currenly select.\n\t\t\t\t\t\tif ( ! parseFloat( item.sizePx ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\t\t\tcustomActionButton\n\t\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t\t\tlabel={ item.name }\n\t\t\t\t\t\t\t\tsubLabel={ item.sizePx }\n\t\t\t\t\t\t\t\tonPress={ onChangeValue( item.sizePx ) }\n\t\t\t\t\t\t\t\tleftAlign={ true }\n\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\t\taccessibilityLabel={\n\t\t\t\t\t\t\t\t\titem.sizePx === selectedValue\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Select font size option value e.g: \"Selected: Large\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Selected: %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibilityHint={ __(\n\t\t\t\t\t\t\t\t\t'Double tap to select font size'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t\t\t{ item.sizePx === selectedPxValue && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check }></Icon>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 200 }\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( nextSize );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t</>\n\t\t</BottomSheet.SubSheet>\n\t);\n}\n\nexport default FontSizePicker;\n"]}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ const DEFAULT_FONT_SIZE = 'default';
6
+ const DEFAULT_FONT_SIZE_OPTION = {
7
+ slug: DEFAULT_FONT_SIZE,
8
+ name: __('Default')
9
+ };
10
+ export const CUSTOM_FONT_SIZE = 'custom';
11
+ const CUSTOM_FONT_SIZE_OPTION = {
12
+ slug: CUSTOM_FONT_SIZE,
13
+ name: __('Custom')
14
+ };
15
+ /**
16
+ * Helper util to split a font size to its numeric value
17
+ * and its `unit`, if exists.
18
+ *
19
+ * @param {string|number} size Font size.
20
+ * @return {[number, string]} An array with the numeric value and the unit if exists.
21
+ */
22
+
23
+ export function splitValueAndUnitFromSize(size) {
24
+ /**
25
+ * The first matched result is ignored as it's the left
26
+ * hand side of the capturing group in the regex.
27
+ */
28
+ const [, numericValue, unit] = size.split(/(\d+)/);
29
+ return [numericValue, unit];
30
+ }
31
+ /**
32
+ * Some themes use css vars for their font sizes, so until we
33
+ * have the way of calculating them don't display them.
34
+ *
35
+ * @param {string|number} value The value that is checked.
36
+ * @return {boolean} Whether the value is a simple css value.
37
+ */
38
+
39
+ export function isSimpleCssValue(value) {
40
+ const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i;
41
+ return sizeRegex.test(value);
42
+ }
43
+ /**
44
+ * Return font size options in the proper format depending
45
+ * on the currently used control (select, toggle group).
46
+ *
47
+ * @param {boolean} useSelectControl Whether to use a select control.
48
+ * @param {Object[]} optionsArray Array of available font sizes objects.
49
+ * @param {*} disableCustomFontSizes Flag that indicates if custom font sizes are disabled.
50
+ * @return {Object[]|null} Array of font sizes in proper format for the used control.
51
+ */
52
+
53
+ export function getFontSizeOptions(useSelectControl, optionsArray, disableCustomFontSizes) {
54
+ if (disableCustomFontSizes && !optionsArray.length) {
55
+ return null;
56
+ }
57
+
58
+ return useSelectControl ? getSelectOptions(optionsArray, disableCustomFontSizes) : getToggleGroupOptions(optionsArray);
59
+ }
60
+
61
+ function getSelectOptions(optionsArray, disableCustomFontSizes) {
62
+ const options = [DEFAULT_FONT_SIZE_OPTION, ...optionsArray, ...(disableCustomFontSizes ? [] : [CUSTOM_FONT_SIZE_OPTION])];
63
+ return options.map(({
64
+ slug,
65
+ name,
66
+ size
67
+ }) => ({
68
+ key: slug,
69
+ name,
70
+ size,
71
+ __experimentalHint: size && isSimpleCssValue(size) && parseInt(size)
72
+ }));
73
+ }
74
+
75
+ function getToggleGroupOptions(optionsArray) {
76
+ return optionsArray.map(({
77
+ slug,
78
+ size,
79
+ name
80
+ }) => {
81
+ let label = size;
82
+
83
+ if (typeof size === 'string') {
84
+ const [numericValue] = splitValueAndUnitFromSize(size);
85
+ label = numericValue;
86
+ }
87
+
88
+ return {
89
+ key: slug,
90
+ value: size,
91
+ label,
92
+ name
93
+ };
94
+ });
95
+ }
96
+
97
+ export function getSelectedOption(fontSizes, value) {
98
+ if (!value) {
99
+ return DEFAULT_FONT_SIZE_OPTION;
100
+ }
101
+
102
+ return fontSizes.find(font => font.size === value) || CUSTOM_FONT_SIZE_OPTION;
103
+ }
104
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/components/src/font-size-picker/utils.js"],"names":["__","DEFAULT_FONT_SIZE","DEFAULT_FONT_SIZE_OPTION","slug","name","CUSTOM_FONT_SIZE","CUSTOM_FONT_SIZE_OPTION","splitValueAndUnitFromSize","size","numericValue","unit","split","isSimpleCssValue","value","sizeRegex","test","getFontSizeOptions","useSelectControl","optionsArray","disableCustomFontSizes","length","getSelectOptions","getToggleGroupOptions","options","map","key","__experimentalHint","parseInt","label","getSelectedOption","fontSizes","find","font"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_FONT_SIZE = 'default';\nconst DEFAULT_FONT_SIZE_OPTION = {\n\tslug: DEFAULT_FONT_SIZE,\n\tname: __( 'Default' ),\n};\nexport const CUSTOM_FONT_SIZE = 'custom';\nconst CUSTOM_FONT_SIZE_OPTION = {\n\tslug: CUSTOM_FONT_SIZE,\n\tname: __( 'Custom' ),\n};\n\n/**\n * Helper util to split a font size to its numeric value\n * and its `unit`, if exists.\n *\n * @param {string|number} size Font size.\n * @return {[number, string]} An array with the numeric value and the unit if exists.\n */\nexport function splitValueAndUnitFromSize( size ) {\n\t/**\n\t * The first matched result is ignored as it's the left\n\t * hand side of the capturing group in the regex.\n\t */\n\tconst [ , numericValue, unit ] = size.split( /(\\d+)/ );\n\treturn [ numericValue, unit ];\n}\n\n/**\n * Some themes use css vars for their font sizes, so until we\n * have the way of calculating them don't display them.\n *\n * @param {string|number} value The value that is checked.\n * @return {boolean} Whether the value is a simple css value.\n */\nexport function isSimpleCssValue( value ) {\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\treturn sizeRegex.test( value );\n}\n\n/**\n * Return font size options in the proper format depending\n * on the currently used control (select, toggle group).\n *\n * @param {boolean} useSelectControl Whether to use a select control.\n * @param {Object[]} optionsArray Array of available font sizes objects.\n * @param {*} disableCustomFontSizes Flag that indicates if custom font sizes are disabled.\n * @return {Object[]|null} Array of font sizes in proper format for the used control.\n */\nexport function getFontSizeOptions(\n\tuseSelectControl,\n\toptionsArray,\n\tdisableCustomFontSizes\n) {\n\tif ( disableCustomFontSizes && ! optionsArray.length ) {\n\t\treturn null;\n\t}\n\treturn useSelectControl\n\t\t? getSelectOptions( optionsArray, disableCustomFontSizes )\n\t\t: getToggleGroupOptions( optionsArray );\n}\n\nfunction getSelectOptions( optionsArray, disableCustomFontSizes ) {\n\tconst options = [\n\t\tDEFAULT_FONT_SIZE_OPTION,\n\t\t...optionsArray,\n\t\t...( disableCustomFontSizes ? [] : [ CUSTOM_FONT_SIZE_OPTION ] ),\n\t];\n\treturn options.map( ( { slug, name, size } ) => ( {\n\t\tkey: slug,\n\t\tname,\n\t\tsize,\n\t\t__experimentalHint:\n\t\t\tsize && isSimpleCssValue( size ) && parseInt( size ),\n\t} ) );\n}\n\nfunction getToggleGroupOptions( optionsArray ) {\n\treturn optionsArray.map( ( { slug, size, name } ) => {\n\t\tlet label = size;\n\t\tif ( typeof size === 'string' ) {\n\t\t\tconst [ numericValue ] = splitValueAndUnitFromSize( size );\n\t\t\tlabel = numericValue;\n\t\t}\n\t\treturn { key: slug, value: size, label, name };\n\t} );\n}\n\nexport function getSelectedOption( fontSizes, value ) {\n\tif ( ! value ) {\n\t\treturn DEFAULT_FONT_SIZE_OPTION;\n\t}\n\treturn (\n\t\tfontSizes.find( ( font ) => font.size === value ) ||\n\t\tCUSTOM_FONT_SIZE_OPTION\n\t);\n}\n"]}