@wordpress/components 19.13.0 → 19.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1183) hide show
  1. package/CHANGELOG.md +139 -12
  2. package/build/alignment-matrix-control/utils.js +1 -7
  3. package/build/alignment-matrix-control/utils.js.map +1 -1
  4. package/build/angle-picker-control/index.js +2 -2
  5. package/build/angle-picker-control/index.js.map +1 -1
  6. package/build/autocomplete/autocompleter-ui.js +4 -2
  7. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.native.js +9 -3
  9. package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
  10. package/build/autocomplete/get-default-use-items.js +5 -1
  11. package/build/autocomplete/get-default-use-items.js.map +1 -1
  12. package/build/autocomplete/index.js +9 -3
  13. package/build/autocomplete/index.js.map +1 -1
  14. package/build/base-control/styles/base-control-styles.js +8 -8
  15. package/build/base-control/styles/base-control-styles.js.map +1 -1
  16. package/build/border-box-control/border-box-control/component.js +2 -1
  17. package/build/border-box-control/border-box-control/component.js.map +1 -1
  18. package/build/border-box-control/border-box-control-split-controls/component.js +2 -1
  19. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  20. package/build/border-control/border-control/component.js +78 -29
  21. package/build/border-control/border-control/component.js.map +1 -1
  22. package/build/border-control/border-control/hook.js +4 -7
  23. package/build/border-control/border-control/hook.js.map +1 -1
  24. package/build/border-control/border-control-dropdown/component.js +13 -7
  25. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  26. package/build/border-control/border-control-dropdown/hook.js +0 -4
  27. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  28. package/build/border-control/styles.js +33 -56
  29. package/build/border-control/styles.js.map +1 -1
  30. package/build/box-control/axial-input-controls.js +1 -1
  31. package/build/box-control/axial-input-controls.js.map +1 -1
  32. package/build/box-control/index.js +1 -1
  33. package/build/box-control/index.js.map +1 -1
  34. package/build/box-control/utils.js +5 -11
  35. package/build/box-control/utils.js.map +1 -1
  36. package/build/color-indicator/index.js +27 -10
  37. package/build/color-indicator/index.js.map +1 -1
  38. package/build/color-indicator/types.js +6 -0
  39. package/build/color-indicator/types.js.map +1 -0
  40. package/build/color-palette/index.js +16 -3
  41. package/build/color-palette/index.js.map +1 -1
  42. package/build/color-picker/component.js +6 -9
  43. package/build/color-picker/component.js.map +1 -1
  44. package/build/color-picker/hex-input.js +7 -5
  45. package/build/color-picker/hex-input.js.map +1 -1
  46. package/build/color-picker/index.native.js +35 -34
  47. package/build/color-picker/index.native.js.map +1 -1
  48. package/build/color-picker/input-with-slider.js +7 -5
  49. package/build/color-picker/input-with-slider.js.map +1 -1
  50. package/build/color-picker/styles.js +42 -43
  51. package/build/color-picker/styles.js.map +1 -1
  52. package/build/color-picker/use-deprecated-props.js +22 -31
  53. package/build/color-picker/use-deprecated-props.js.map +1 -1
  54. package/build/combobox-control/index.js +19 -13
  55. package/build/combobox-control/index.js.map +1 -1
  56. package/build/combobox-control/styles.js +39 -0
  57. package/build/combobox-control/styles.js.map +1 -0
  58. package/build/custom-gradient-picker/index.js +8 -8
  59. package/build/custom-gradient-picker/index.js.map +1 -1
  60. package/build/custom-gradient-picker/index.native.js +8 -9
  61. package/build/custom-gradient-picker/index.native.js.map +1 -1
  62. package/build/custom-gradient-picker/serializer.js +4 -7
  63. package/build/custom-gradient-picker/serializer.js.map +1 -1
  64. package/build/custom-select-control/index.js +26 -8
  65. package/build/custom-select-control/index.js.map +1 -1
  66. package/build/date-time/date/index.js +3 -1
  67. package/build/date-time/date/index.js.map +1 -1
  68. package/build/date-time/date-time/index.js +3 -1
  69. package/build/date-time/date-time/index.js.map +1 -1
  70. package/build/divider/component.js +0 -1
  71. package/build/divider/component.js.map +1 -1
  72. package/build/divider/index.js.map +1 -1
  73. package/build/divider/styles.js +5 -5
  74. package/build/divider/styles.js.map +1 -1
  75. package/build/dropdown/dropdown-content-wrapper.js +60 -0
  76. package/build/dropdown/dropdown-content-wrapper.js.map +1 -0
  77. package/build/dropdown/styles.js +42 -0
  78. package/build/dropdown/styles.js.map +1 -0
  79. package/build/dropdown/types.js +6 -0
  80. package/build/dropdown/types.js.map +1 -0
  81. package/build/dropdown-menu/index.js +5 -5
  82. package/build/dropdown-menu/index.js.map +1 -1
  83. package/build/dropdown-menu/index.native.js +5 -5
  84. package/build/dropdown-menu/index.native.js.map +1 -1
  85. package/build/duotone-picker/duotone-picker.js +42 -29
  86. package/build/duotone-picker/duotone-picker.js.map +1 -1
  87. package/build/elevation/component.js +15 -15
  88. package/build/elevation/component.js.map +1 -1
  89. package/build/elevation/hook.js +15 -27
  90. package/build/elevation/hook.js.map +1 -1
  91. package/build/elevation/index.js.map +1 -1
  92. package/build/elevation/styles.js +1 -1
  93. package/build/elevation/styles.js.map +1 -1
  94. package/build/external-link/index.js +1 -3
  95. package/build/external-link/index.js.map +1 -1
  96. package/build/flex/flex/component.js +11 -17
  97. package/build/flex/flex/component.js.map +1 -1
  98. package/build/flex/flex-block/component.js +9 -3
  99. package/build/flex/flex-block/component.js.map +1 -1
  100. package/build/flex/flex-item/component.js +9 -3
  101. package/build/flex/flex-item/component.js.map +1 -1
  102. package/build/focal-point-picker/grid.js +2 -7
  103. package/build/focal-point-picker/grid.js.map +1 -1
  104. package/build/focal-point-picker/index.native.js +12 -12
  105. package/build/focal-point-picker/index.native.js.map +1 -1
  106. package/build/focal-point-picker/tooltip/index.native.js +11 -12
  107. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  108. package/build/form-toggle/index.js +28 -5
  109. package/build/form-toggle/index.js.map +1 -1
  110. package/build/form-toggle/types.js +6 -0
  111. package/build/form-toggle/types.js.map +1 -0
  112. package/build/form-token-field/index.js +22 -7
  113. package/build/form-token-field/index.js.map +1 -1
  114. package/build/form-token-field/styles.js +40 -0
  115. package/build/form-token-field/styles.js.map +1 -0
  116. package/build/form-token-field/suggestions-list.js +2 -7
  117. package/build/form-token-field/suggestions-list.js.map +1 -1
  118. package/build/grid/component.js +7 -8
  119. package/build/grid/component.js.map +1 -1
  120. package/build/grid/hook.js +1 -5
  121. package/build/grid/hook.js.map +1 -1
  122. package/build/grid/index.js.map +1 -1
  123. package/build/grid/utils.js +4 -7
  124. package/build/grid/utils.js.map +1 -1
  125. package/build/h-stack/component.js +5 -9
  126. package/build/h-stack/component.js.map +1 -1
  127. package/build/h-stack/hook.js +8 -10
  128. package/build/h-stack/hook.js.map +1 -1
  129. package/build/h-stack/index.js.map +1 -1
  130. package/build/h-stack/utils.js +8 -19
  131. package/build/h-stack/utils.js.map +1 -1
  132. package/build/heading/component.js +0 -1
  133. package/build/heading/component.js.map +1 -1
  134. package/build/heading/hook.js.map +1 -1
  135. package/build/heading/types.js +6 -0
  136. package/build/heading/types.js.map +1 -0
  137. package/build/icon/index.js.map +1 -1
  138. package/build/index.js +24 -0
  139. package/build/index.js.map +1 -1
  140. package/build/input-control/index.js +7 -0
  141. package/build/input-control/index.js.map +1 -1
  142. package/build/input-control/input-base.js +23 -1
  143. package/build/input-control/input-base.js.map +1 -1
  144. package/build/input-control/input-prefix-wrapper.js +54 -0
  145. package/build/input-control/input-prefix-wrapper.js.map +1 -0
  146. package/build/input-control/input-suffix-wrapper.js +54 -0
  147. package/build/input-control/input-suffix-wrapper.js.map +1 -0
  148. package/build/input-control/styles/input-control-styles.js +61 -42
  149. package/build/input-control/styles/input-control-styles.js.map +1 -1
  150. package/build/menu-item/index.js +1 -3
  151. package/build/menu-item/index.js.map +1 -1
  152. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  153. package/build/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  154. package/build/mobile/focal-point-settings-panel/index.native.js +1 -1
  155. package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  156. package/build/mobile/image/index.native.js +9 -4
  157. package/build/mobile/image/index.native.js.map +1 -1
  158. package/build/mobile/link-picker/index.native.js +4 -4
  159. package/build/mobile/link-picker/index.native.js.map +1 -1
  160. package/build/mobile/media-edit/index.native.js +1 -7
  161. package/build/mobile/media-edit/index.native.js.map +1 -1
  162. package/build/mobile/segmented-control/index.native.js +2 -4
  163. package/build/mobile/segmented-control/index.native.js.map +1 -1
  164. package/build/modal/index.js +17 -3
  165. package/build/modal/index.js.map +1 -1
  166. package/build/navigation/group/index.js +4 -7
  167. package/build/navigation/group/index.js.map +1 -1
  168. package/build/navigation/index.js +4 -1
  169. package/build/navigation/index.js.map +1 -1
  170. package/build/navigation/item/base.js +6 -3
  171. package/build/navigation/item/base.js.map +1 -1
  172. package/build/navigation/item/use-navigation-tree-item.js +2 -1
  173. package/build/navigation/item/use-navigation-tree-item.js.map +1 -1
  174. package/build/navigation/menu/menu-title-search.js +1 -7
  175. package/build/navigation/menu/menu-title-search.js.map +1 -1
  176. package/build/navigation/menu/search-no-results-found.js +1 -7
  177. package/build/navigation/menu/search-no-results-found.js.map +1 -1
  178. package/build/navigation/use-navigation-tree-nodes.js +18 -10
  179. package/build/navigation/use-navigation-tree-nodes.js.map +1 -1
  180. package/build/navigation/utils.js +4 -2
  181. package/build/navigation/utils.js.map +1 -1
  182. package/build/popover/index.js +17 -14
  183. package/build/popover/index.js.map +1 -1
  184. package/build/radio-control/index.js +1 -3
  185. package/build/radio-control/index.js.map +1 -1
  186. package/build/range-control/index.js +57 -43
  187. package/build/range-control/index.js.map +1 -1
  188. package/build/range-control/input-range.js +5 -7
  189. package/build/range-control/input-range.js.map +1 -1
  190. package/build/range-control/mark.js +5 -7
  191. package/build/range-control/mark.js.map +1 -1
  192. package/build/range-control/rail.js +10 -16
  193. package/build/range-control/rail.js.map +1 -1
  194. package/build/range-control/styles/range-control-styles.js +62 -62
  195. package/build/range-control/styles/range-control-styles.js.map +1 -1
  196. package/build/range-control/tooltip.js +5 -7
  197. package/build/range-control/tooltip.js.map +1 -1
  198. package/build/range-control/types.js +6 -0
  199. package/build/range-control/types.js.map +1 -0
  200. package/build/range-control/utils.js +21 -32
  201. package/build/range-control/utils.js.map +1 -1
  202. package/build/resizable-box/resize-tooltip/utils.js +2 -7
  203. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  204. package/build/sandbox/index.native.js +13 -2
  205. package/build/sandbox/index.native.js.map +1 -1
  206. package/build/scroll-lock/index.js +35 -6
  207. package/build/scroll-lock/index.js.map +1 -1
  208. package/build/scrollable/component.js +7 -8
  209. package/build/scrollable/component.js.map +1 -1
  210. package/build/scrollable/hook.js +0 -8
  211. package/build/scrollable/hook.js.map +1 -1
  212. package/build/scrollable/index.js.map +1 -1
  213. package/build/scrollable/styles.js +7 -7
  214. package/build/scrollable/styles.js.map +1 -1
  215. package/build/select-control/index.js +1 -3
  216. package/build/select-control/index.js.map +1 -1
  217. package/build/select-control/styles/select-control-styles.js +31 -11
  218. package/build/select-control/styles/select-control-styles.js.map +1 -1
  219. package/build/shortcut/index.js +6 -21
  220. package/build/shortcut/index.js.map +1 -1
  221. package/build/shortcut/types.js +6 -0
  222. package/build/shortcut/types.js.map +1 -0
  223. package/build/slot-fill/index.native.js +6 -8
  224. package/build/slot-fill/index.native.js.map +1 -1
  225. package/build/slot-fill/provider.js +4 -8
  226. package/build/slot-fill/provider.js.map +1 -1
  227. package/build/slot-fill/slot.js +4 -8
  228. package/build/slot-fill/slot.js.map +1 -1
  229. package/build/spacer/component.js +8 -6
  230. package/build/spacer/component.js.map +1 -1
  231. package/build/spacer/hook.js +2 -2
  232. package/build/spacer/hook.js.map +1 -1
  233. package/build/spacer/index.js.map +1 -1
  234. package/build/spinner/index.js +26 -13
  235. package/build/spinner/index.js.map +1 -1
  236. package/build/spinner/styles.js +10 -10
  237. package/build/spinner/styles.js.map +1 -1
  238. package/build/text-highlight/index.js +22 -5
  239. package/build/text-highlight/index.js.map +1 -1
  240. package/build/text-highlight/types.js +6 -0
  241. package/build/text-highlight/types.js.map +1 -0
  242. package/build/tip/index.js +5 -11
  243. package/build/tip/index.js.map +1 -1
  244. package/build/tip/types.js +6 -0
  245. package/build/tip/types.js.map +1 -0
  246. package/build/toggle-group-control/toggle-group-control/component.js +4 -1
  247. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  248. package/build/toggle-group-control/toggle-group-control/styles.js +20 -4
  249. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  250. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +7 -9
  251. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  252. package/build/toolbar-group/index.js +3 -3
  253. package/build/toolbar-group/index.js.map +1 -1
  254. package/build/tooltip/index.js +51 -14
  255. package/build/tooltip/index.js.map +1 -1
  256. package/build/tree-select/index.js +4 -4
  257. package/build/tree-select/index.js.map +1 -1
  258. package/build/truncate/component.js +7 -8
  259. package/build/truncate/component.js.map +1 -1
  260. package/build/truncate/hook.js +3 -10
  261. package/build/truncate/hook.js.map +1 -1
  262. package/build/truncate/index.js.map +1 -1
  263. package/build/truncate/styles.js +1 -1
  264. package/build/truncate/styles.js.map +1 -1
  265. package/build/truncate/utils.js +3 -16
  266. package/build/truncate/utils.js.map +1 -1
  267. package/build/ui/context/use-context-system.js +7 -2
  268. package/build/ui/context/use-context-system.js.map +1 -1
  269. package/build/ui/utils/get-valid-children.js.map +1 -1
  270. package/build/ui/utils/space.js +7 -1
  271. package/build/ui/utils/space.js.map +1 -1
  272. package/build/unit-control/styles/unit-control-styles.js +10 -26
  273. package/build/unit-control/styles/unit-control-styles.js.map +1 -1
  274. package/build/utils/math.js +17 -7
  275. package/build/utils/math.js.map +1 -1
  276. package/build/v-stack/component.js +9 -9
  277. package/build/v-stack/component.js.map +1 -1
  278. package/build/v-stack/hook.js +0 -5
  279. package/build/v-stack/hook.js.map +1 -1
  280. package/build/v-stack/index.js.map +1 -1
  281. package/build/visually-hidden/component.js +12 -13
  282. package/build/visually-hidden/component.js.map +1 -1
  283. package/build/visually-hidden/index.js.map +1 -1
  284. package/build/visually-hidden/styles.js +3 -1
  285. package/build/visually-hidden/styles.js.map +1 -1
  286. package/build/visually-hidden/types.js +6 -0
  287. package/build/visually-hidden/types.js.map +1 -0
  288. package/build-module/alignment-matrix-control/utils.js +1 -6
  289. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  290. package/build-module/angle-picker-control/index.js +2 -2
  291. package/build-module/angle-picker-control/index.js.map +1 -1
  292. package/build-module/autocomplete/autocompleter-ui.js +4 -2
  293. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  294. package/build-module/autocomplete/autocompleter-ui.native.js +9 -3
  295. package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
  296. package/build-module/autocomplete/get-default-use-items.js +3 -2
  297. package/build-module/autocomplete/get-default-use-items.js.map +1 -1
  298. package/build-module/autocomplete/index.js +7 -4
  299. package/build-module/autocomplete/index.js.map +1 -1
  300. package/build-module/base-control/styles/base-control-styles.js +8 -8
  301. package/build-module/base-control/styles/base-control-styles.js.map +1 -1
  302. package/build-module/border-box-control/border-box-control/component.js +2 -1
  303. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  304. package/build-module/border-box-control/border-box-control-split-controls/component.js +2 -1
  305. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  306. package/build-module/border-control/border-control/component.js +75 -28
  307. package/build-module/border-control/border-control/component.js.map +1 -1
  308. package/build-module/border-control/border-control/hook.js +4 -7
  309. package/build-module/border-control/border-control/hook.js.map +1 -1
  310. package/build-module/border-control/border-control-dropdown/component.js +12 -7
  311. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  312. package/build-module/border-control/border-control-dropdown/hook.js +0 -4
  313. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  314. package/build-module/border-control/styles.js +33 -49
  315. package/build-module/border-control/styles.js.map +1 -1
  316. package/build-module/box-control/axial-input-controls.js +1 -1
  317. package/build-module/box-control/axial-input-controls.js.map +1 -1
  318. package/build-module/box-control/index.js +1 -1
  319. package/build-module/box-control/index.js.map +1 -1
  320. package/build-module/box-control/utils.js +5 -10
  321. package/build-module/box-control/utils.js.map +1 -1
  322. package/build-module/color-indicator/index.js +29 -8
  323. package/build-module/color-indicator/index.js.map +1 -1
  324. package/build-module/color-indicator/types.js +2 -0
  325. package/build-module/color-indicator/types.js.map +1 -0
  326. package/build-module/color-palette/index.js +12 -2
  327. package/build-module/color-palette/index.js.map +1 -1
  328. package/build-module/color-picker/component.js +7 -8
  329. package/build-module/color-picker/component.js.map +1 -1
  330. package/build-module/color-picker/hex-input.js +6 -4
  331. package/build-module/color-picker/hex-input.js.map +1 -1
  332. package/build-module/color-picker/index.native.js +36 -35
  333. package/build-module/color-picker/index.native.js.map +1 -1
  334. package/build-module/color-picker/input-with-slider.js +7 -5
  335. package/build-module/color-picker/input-with-slider.js.map +1 -1
  336. package/build-module/color-picker/styles.js +29 -39
  337. package/build-module/color-picker/styles.js.map +1 -1
  338. package/build-module/color-picker/use-deprecated-props.js +22 -31
  339. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  340. package/build-module/combobox-control/index.js +19 -13
  341. package/build-module/combobox-control/index.js.map +1 -1
  342. package/build-module/combobox-control/styles.js +27 -0
  343. package/build-module/combobox-control/styles.js.map +1 -0
  344. package/build-module/custom-gradient-picker/index.js +8 -7
  345. package/build-module/custom-gradient-picker/index.js.map +1 -1
  346. package/build-module/custom-gradient-picker/index.native.js +8 -8
  347. package/build-module/custom-gradient-picker/index.native.js.map +1 -1
  348. package/build-module/custom-gradient-picker/serializer.js +4 -6
  349. package/build-module/custom-gradient-picker/serializer.js.map +1 -1
  350. package/build-module/custom-select-control/index.js +26 -10
  351. package/build-module/custom-select-control/index.js.map +1 -1
  352. package/build-module/date-time/date/index.js +3 -1
  353. package/build-module/date-time/date/index.js.map +1 -1
  354. package/build-module/date-time/date-time/index.js +3 -1
  355. package/build-module/date-time/date-time/index.js.map +1 -1
  356. package/build-module/divider/component.js +0 -1
  357. package/build-module/divider/component.js.map +1 -1
  358. package/build-module/divider/index.js.map +1 -1
  359. package/build-module/divider/styles.js +5 -5
  360. package/build-module/divider/styles.js.map +1 -1
  361. package/build-module/dropdown/dropdown-content-wrapper.js +47 -0
  362. package/build-module/dropdown/dropdown-content-wrapper.js.map +1 -0
  363. package/build-module/dropdown/styles.js +31 -0
  364. package/build-module/dropdown/styles.js.map +1 -0
  365. package/build-module/dropdown/types.js +2 -0
  366. package/build-module/dropdown/types.js.map +1 -0
  367. package/build-module/dropdown-menu/index.js +5 -4
  368. package/build-module/dropdown-menu/index.js.map +1 -1
  369. package/build-module/dropdown-menu/index.native.js +5 -4
  370. package/build-module/dropdown-menu/index.native.js.map +1 -1
  371. package/build-module/duotone-picker/duotone-picker.js +42 -29
  372. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  373. package/build-module/elevation/component.js +15 -15
  374. package/build-module/elevation/component.js.map +1 -1
  375. package/build-module/elevation/hook.js +14 -26
  376. package/build-module/elevation/hook.js.map +1 -1
  377. package/build-module/elevation/index.js.map +1 -1
  378. package/build-module/elevation/styles.js +1 -1
  379. package/build-module/elevation/styles.js.map +1 -1
  380. package/build-module/external-link/index.js +1 -2
  381. package/build-module/external-link/index.js.map +1 -1
  382. package/build-module/flex/flex/component.js +11 -17
  383. package/build-module/flex/flex/component.js.map +1 -1
  384. package/build-module/flex/flex-block/component.js +9 -3
  385. package/build-module/flex/flex-block/component.js.map +1 -1
  386. package/build-module/flex/flex-item/component.js +9 -3
  387. package/build-module/flex/flex-item/component.js.map +1 -1
  388. package/build-module/focal-point-picker/grid.js +2 -6
  389. package/build-module/focal-point-picker/grid.js.map +1 -1
  390. package/build-module/focal-point-picker/index.native.js +9 -9
  391. package/build-module/focal-point-picker/index.native.js.map +1 -1
  392. package/build-module/focal-point-picker/tooltip/index.native.js +11 -12
  393. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  394. package/build-module/form-toggle/index.js +30 -6
  395. package/build-module/form-toggle/index.js.map +1 -1
  396. package/build-module/form-toggle/types.js +2 -0
  397. package/build-module/form-toggle/types.js.map +1 -0
  398. package/build-module/form-token-field/index.js +20 -6
  399. package/build-module/form-token-field/index.js.map +1 -1
  400. package/build-module/form-token-field/styles.js +28 -0
  401. package/build-module/form-token-field/styles.js.map +1 -0
  402. package/build-module/form-token-field/suggestions-list.js +2 -7
  403. package/build-module/form-token-field/suggestions-list.js.map +1 -1
  404. package/build-module/grid/component.js +7 -8
  405. package/build-module/grid/component.js.map +1 -1
  406. package/build-module/grid/hook.js +1 -5
  407. package/build-module/grid/hook.js.map +1 -1
  408. package/build-module/grid/index.js.map +1 -1
  409. package/build-module/grid/utils.js +3 -8
  410. package/build-module/grid/utils.js.map +1 -1
  411. package/build-module/h-stack/component.js +3 -7
  412. package/build-module/h-stack/component.js.map +1 -1
  413. package/build-module/h-stack/hook.js +10 -12
  414. package/build-module/h-stack/hook.js.map +1 -1
  415. package/build-module/h-stack/index.js.map +1 -1
  416. package/build-module/h-stack/utils.js +8 -20
  417. package/build-module/h-stack/utils.js.map +1 -1
  418. package/build-module/heading/component.js +0 -1
  419. package/build-module/heading/component.js.map +1 -1
  420. package/build-module/heading/hook.js.map +1 -1
  421. package/build-module/heading/types.js +2 -0
  422. package/build-module/heading/types.js.map +1 -0
  423. package/build-module/icon/index.js.map +1 -1
  424. package/build-module/index.js +3 -0
  425. package/build-module/index.js.map +1 -1
  426. package/build-module/input-control/index.js +6 -0
  427. package/build-module/input-control/index.js.map +1 -1
  428. package/build-module/input-control/input-base.js +24 -3
  429. package/build-module/input-control/input-base.js.map +1 -1
  430. package/build-module/input-control/input-prefix-wrapper.js +41 -0
  431. package/build-module/input-control/input-prefix-wrapper.js.map +1 -0
  432. package/build-module/input-control/input-suffix-wrapper.js +41 -0
  433. package/build-module/input-control/input-suffix-wrapper.js.map +1 -0
  434. package/build-module/input-control/styles/input-control-styles.js +57 -41
  435. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  436. package/build-module/menu-item/index.js +1 -2
  437. package/build-module/menu-item/index.js.map +1 -1
  438. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js +0 -1
  439. package/build-module/mobile/bottom-sheet/keyboard-avoiding-view.native.js.map +1 -1
  440. package/build-module/mobile/focal-point-settings-panel/index.native.js +2 -2
  441. package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
  442. package/build-module/mobile/image/index.native.js +10 -6
  443. package/build-module/mobile/image/index.native.js.map +1 -1
  444. package/build-module/mobile/link-picker/index.native.js +4 -3
  445. package/build-module/mobile/link-picker/index.native.js.map +1 -1
  446. package/build-module/mobile/media-edit/index.native.js +1 -6
  447. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  448. package/build-module/mobile/segmented-control/index.native.js +2 -3
  449. package/build-module/mobile/segmented-control/index.native.js.map +1 -1
  450. package/build-module/modal/index.js +19 -5
  451. package/build-module/modal/index.js.map +1 -1
  452. package/build-module/navigation/group/index.js +3 -6
  453. package/build-module/navigation/group/index.js.map +1 -1
  454. package/build-module/navigation/index.js +4 -1
  455. package/build-module/navigation/index.js.map +1 -1
  456. package/build-module/navigation/item/base.js +5 -2
  457. package/build-module/navigation/item/base.js.map +1 -1
  458. package/build-module/navigation/item/use-navigation-tree-item.js +2 -1
  459. package/build-module/navigation/item/use-navigation-tree-item.js.map +1 -1
  460. package/build-module/navigation/menu/menu-title-search.js +1 -6
  461. package/build-module/navigation/menu/menu-title-search.js.map +1 -1
  462. package/build-module/navigation/menu/search-no-results-found.js +1 -6
  463. package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
  464. package/build-module/navigation/use-navigation-tree-nodes.js +18 -9
  465. package/build-module/navigation/use-navigation-tree-nodes.js.map +1 -1
  466. package/build-module/navigation/utils.js +2 -2
  467. package/build-module/navigation/utils.js.map +1 -1
  468. package/build-module/popover/index.js +17 -14
  469. package/build-module/popover/index.js.map +1 -1
  470. package/build-module/radio-control/index.js +1 -2
  471. package/build-module/radio-control/index.js.map +1 -1
  472. package/build-module/range-control/index.js +55 -41
  473. package/build-module/range-control/index.js.map +1 -1
  474. package/build-module/range-control/input-range.js +5 -6
  475. package/build-module/range-control/input-range.js.map +1 -1
  476. package/build-module/range-control/mark.js +5 -6
  477. package/build-module/range-control/mark.js.map +1 -1
  478. package/build-module/range-control/rail.js +10 -15
  479. package/build-module/range-control/rail.js.map +1 -1
  480. package/build-module/range-control/styles/range-control-styles.js +62 -64
  481. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  482. package/build-module/range-control/tooltip.js +5 -6
  483. package/build-module/range-control/tooltip.js.map +1 -1
  484. package/build-module/range-control/types.js +2 -0
  485. package/build-module/range-control/types.js.map +1 -0
  486. package/build-module/range-control/utils.js +22 -33
  487. package/build-module/range-control/utils.js.map +1 -1
  488. package/build-module/resizable-box/resize-tooltip/utils.js +2 -6
  489. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  490. package/build-module/sandbox/index.native.js +13 -3
  491. package/build-module/sandbox/index.native.js.map +1 -1
  492. package/build-module/scroll-lock/index.js +32 -6
  493. package/build-module/scroll-lock/index.js.map +1 -1
  494. package/build-module/scrollable/component.js +7 -8
  495. package/build-module/scrollable/component.js.map +1 -1
  496. package/build-module/scrollable/hook.js +0 -8
  497. package/build-module/scrollable/hook.js.map +1 -1
  498. package/build-module/scrollable/index.js.map +1 -1
  499. package/build-module/scrollable/styles.js +7 -7
  500. package/build-module/scrollable/styles.js.map +1 -1
  501. package/build-module/select-control/index.js +1 -2
  502. package/build-module/select-control/index.js.map +1 -1
  503. package/build-module/select-control/styles/select-control-styles.js +31 -11
  504. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  505. package/build-module/shortcut/index.js +6 -20
  506. package/build-module/shortcut/index.js.map +1 -1
  507. package/build-module/shortcut/types.js +2 -0
  508. package/build-module/shortcut/types.js.map +1 -0
  509. package/build-module/slot-fill/index.native.js +6 -7
  510. package/build-module/slot-fill/index.native.js.map +1 -1
  511. package/build-module/slot-fill/provider.js +4 -7
  512. package/build-module/slot-fill/provider.js.map +1 -1
  513. package/build-module/slot-fill/slot.js +4 -7
  514. package/build-module/slot-fill/slot.js.map +1 -1
  515. package/build-module/spacer/component.js +6 -5
  516. package/build-module/spacer/component.js.map +1 -1
  517. package/build-module/spacer/hook.js +2 -2
  518. package/build-module/spacer/hook.js.map +1 -1
  519. package/build-module/spacer/index.js.map +1 -1
  520. package/build-module/spinner/index.js +22 -13
  521. package/build-module/spinner/index.js.map +1 -1
  522. package/build-module/spinner/styles.js +10 -10
  523. package/build-module/spinner/styles.js.map +1 -1
  524. package/build-module/text-highlight/index.js +23 -6
  525. package/build-module/text-highlight/index.js.map +1 -1
  526. package/build-module/text-highlight/types.js +2 -0
  527. package/build-module/text-highlight/types.js.map +1 -0
  528. package/build-module/tip/index.js +6 -10
  529. package/build-module/tip/index.js.map +1 -1
  530. package/build-module/tip/types.js +2 -0
  531. package/build-module/tip/types.js.map +1 -0
  532. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -1
  533. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  534. package/build-module/toggle-group-control/toggle-group-control/styles.js +15 -3
  535. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  536. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +6 -7
  537. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  538. package/build-module/toolbar-group/index.js +3 -2
  539. package/build-module/toolbar-group/index.js.map +1 -1
  540. package/build-module/tooltip/index.js +53 -16
  541. package/build-module/tooltip/index.js.map +1 -1
  542. package/build-module/tree-select/index.js +5 -5
  543. package/build-module/tree-select/index.js.map +1 -1
  544. package/build-module/truncate/component.js +7 -8
  545. package/build-module/truncate/component.js.map +1 -1
  546. package/build-module/truncate/hook.js +3 -10
  547. package/build-module/truncate/hook.js.map +1 -1
  548. package/build-module/truncate/index.js.map +1 -1
  549. package/build-module/truncate/styles.js +1 -1
  550. package/build-module/truncate/styles.js.map +1 -1
  551. package/build-module/truncate/utils.js +3 -16
  552. package/build-module/truncate/utils.js.map +1 -1
  553. package/build-module/ui/context/use-context-system.js +7 -2
  554. package/build-module/ui/context/use-context-system.js.map +1 -1
  555. package/build-module/ui/utils/get-valid-children.js.map +1 -1
  556. package/build-module/ui/utils/space.js +7 -1
  557. package/build-module/ui/utils/space.js.map +1 -1
  558. package/build-module/unit-control/styles/unit-control-styles.js +10 -27
  559. package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
  560. package/build-module/utils/math.js +15 -6
  561. package/build-module/utils/math.js.map +1 -1
  562. package/build-module/v-stack/component.js +9 -9
  563. package/build-module/v-stack/component.js.map +1 -1
  564. package/build-module/v-stack/hook.js +0 -5
  565. package/build-module/v-stack/hook.js.map +1 -1
  566. package/build-module/v-stack/index.js.map +1 -1
  567. package/build-module/visually-hidden/component.js +12 -13
  568. package/build-module/visually-hidden/component.js.map +1 -1
  569. package/build-module/visually-hidden/index.js.map +1 -1
  570. package/build-module/visually-hidden/styles.js +3 -1
  571. package/build-module/visually-hidden/styles.js.map +1 -1
  572. package/build-module/visually-hidden/types.js +2 -0
  573. package/build-module/visually-hidden/types.js.map +1 -0
  574. package/build-style/style-rtl.css +41 -45
  575. package/build-style/style.css +41 -43
  576. package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
  577. package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
  578. package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
  579. package/build-types/border-control/border-control/component.d.ts +36 -2
  580. package/build-types/border-control/border-control/component.d.ts.map +1 -1
  581. package/build-types/border-control/border-control/hook.d.ts +2 -2
  582. package/build-types/border-control/border-control/hook.d.ts.map +1 -1
  583. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  584. package/build-types/border-control/border-control-dropdown/hook.d.ts +0 -1
  585. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  586. package/build-types/border-control/stories/index.d.ts +33 -0
  587. package/build-types/border-control/stories/index.d.ts.map +1 -0
  588. package/build-types/border-control/styles.d.ts +1 -4
  589. package/build-types/border-control/styles.d.ts.map +1 -1
  590. package/build-types/card/card-divider/hook.d.ts +1 -1
  591. package/build-types/color-indicator/index.d.ts +16 -5
  592. package/build-types/color-indicator/index.d.ts.map +1 -1
  593. package/build-types/color-indicator/stories/index.d.ts +12 -0
  594. package/build-types/color-indicator/stories/index.d.ts.map +1 -0
  595. package/build-types/color-indicator/test/index.d.ts +2 -0
  596. package/build-types/color-indicator/test/index.d.ts.map +1 -0
  597. package/build-types/color-indicator/types.d.ts +12 -0
  598. package/build-types/color-indicator/types.d.ts.map +1 -0
  599. package/build-types/color-palette/index.d.ts +1 -0
  600. package/build-types/color-palette/index.d.ts.map +1 -1
  601. package/build-types/color-palette/styles.d.ts +4 -2
  602. package/build-types/color-palette/styles.d.ts.map +1 -1
  603. package/build-types/color-picker/component.d.ts.map +1 -1
  604. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  605. package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
  606. package/build-types/color-picker/styles.d.ts +47 -31
  607. package/build-types/color-picker/styles.d.ts.map +1 -1
  608. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  609. package/build-types/date-time/date/index.d.ts +1 -1
  610. package/build-types/date-time/date/index.d.ts.map +1 -1
  611. package/build-types/date-time/date-time/index.d.ts.map +1 -1
  612. package/build-types/date-time/types.d.ts +6 -0
  613. package/build-types/date-time/types.d.ts.map +1 -1
  614. package/build-types/divider/component.d.ts +2 -3
  615. package/build-types/divider/component.d.ts.map +1 -1
  616. package/build-types/divider/index.d.ts +1 -1
  617. package/build-types/divider/index.d.ts.map +1 -1
  618. package/build-types/divider/styles.d.ts +6 -2
  619. package/build-types/divider/styles.d.ts.map +1 -1
  620. package/build-types/divider/test/index.d.ts +2 -0
  621. package/build-types/divider/test/index.d.ts.map +1 -0
  622. package/build-types/divider/types.d.ts +18 -10
  623. package/build-types/divider/types.d.ts.map +1 -1
  624. package/build-types/dropdown/dropdown-content-wrapper.d.ts +23 -0
  625. package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -0
  626. package/build-types/dropdown/styles.d.ts +7 -0
  627. package/build-types/dropdown/styles.d.ts.map +1 -0
  628. package/build-types/dropdown/types.d.ts +9 -0
  629. package/build-types/dropdown/types.d.ts.map +1 -0
  630. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  631. package/build-types/elevation/component.d.ts +11 -10
  632. package/build-types/elevation/component.d.ts.map +1 -1
  633. package/build-types/elevation/hook.d.ts +6 -7
  634. package/build-types/elevation/hook.d.ts.map +1 -1
  635. package/build-types/elevation/index.d.ts +2 -2
  636. package/build-types/elevation/index.d.ts.map +1 -1
  637. package/build-types/elevation/stories/index.d.ts +22 -0
  638. package/build-types/elevation/stories/index.d.ts.map +1 -0
  639. package/build-types/elevation/styles.d.ts +1 -1
  640. package/build-types/elevation/styles.d.ts.map +1 -1
  641. package/build-types/elevation/test/index.d.ts +2 -0
  642. package/build-types/elevation/test/index.d.ts.map +1 -0
  643. package/build-types/elevation/types.d.ts +12 -19
  644. package/build-types/elevation/types.d.ts.map +1 -1
  645. package/build-types/external-link/index.d.ts.map +1 -1
  646. package/build-types/flex/flex/component.d.ts +11 -17
  647. package/build-types/flex/flex/component.d.ts.map +1 -1
  648. package/build-types/flex/flex-block/component.d.ts +9 -3
  649. package/build-types/flex/flex-block/component.d.ts.map +1 -1
  650. package/build-types/flex/flex-item/component.d.ts +9 -3
  651. package/build-types/flex/flex-item/component.d.ts.map +1 -1
  652. package/build-types/flex/types.d.ts +4 -1
  653. package/build-types/flex/types.d.ts.map +1 -1
  654. package/build-types/form-toggle/index.d.ts +29 -0
  655. package/build-types/form-toggle/index.d.ts.map +1 -0
  656. package/build-types/form-toggle/stories/index.d.ts +12 -0
  657. package/build-types/form-toggle/stories/index.d.ts.map +1 -0
  658. package/build-types/form-toggle/test/index.d.ts +2 -0
  659. package/build-types/form-toggle/test/index.d.ts.map +1 -0
  660. package/build-types/form-toggle/types.d.ts +22 -0
  661. package/build-types/form-toggle/types.d.ts.map +1 -0
  662. package/build-types/form-token-field/index.d.ts.map +1 -1
  663. package/build-types/form-token-field/styles.d.ts +14 -0
  664. package/build-types/form-token-field/styles.d.ts.map +1 -0
  665. package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
  666. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +3 -0
  667. package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +1 -1
  668. package/build-types/form-token-field/types.d.ts +7 -0
  669. package/build-types/form-token-field/types.d.ts.map +1 -1
  670. package/build-types/grid/component.d.ts +3 -3
  671. package/build-types/grid/component.d.ts.map +1 -1
  672. package/build-types/grid/hook.d.ts +5 -2
  673. package/build-types/grid/hook.d.ts.map +1 -1
  674. package/build-types/grid/index.d.ts +2 -2
  675. package/build-types/grid/index.d.ts.map +1 -1
  676. package/build-types/grid/stories/index.d.ts +9 -0
  677. package/build-types/grid/stories/index.d.ts.map +1 -0
  678. package/build-types/grid/test/grid.d.ts +2 -0
  679. package/build-types/grid/test/grid.d.ts.map +1 -0
  680. package/build-types/grid/types.d.ts +16 -15
  681. package/build-types/grid/types.d.ts.map +1 -1
  682. package/build-types/grid/utils.d.ts +50 -69
  683. package/build-types/grid/utils.d.ts.map +1 -1
  684. package/build-types/h-stack/component.d.ts +3 -2
  685. package/build-types/h-stack/component.d.ts.map +1 -1
  686. package/build-types/h-stack/hook.d.ts +5 -3
  687. package/build-types/h-stack/hook.d.ts.map +1 -1
  688. package/build-types/h-stack/index.d.ts +2 -2
  689. package/build-types/h-stack/index.d.ts.map +1 -1
  690. package/build-types/h-stack/stories/index.d.ts +9 -0
  691. package/build-types/h-stack/stories/index.d.ts.map +1 -0
  692. package/build-types/h-stack/test/index.d.ts +2 -0
  693. package/build-types/h-stack/test/index.d.ts.map +1 -0
  694. package/build-types/h-stack/utils.d.ts +8 -4
  695. package/build-types/h-stack/utils.d.ts.map +1 -1
  696. package/build-types/heading/component.d.ts +1 -2
  697. package/build-types/heading/component.d.ts.map +1 -1
  698. package/build-types/heading/hook.d.ts +1 -28
  699. package/build-types/heading/hook.d.ts.map +1 -1
  700. package/build-types/heading/stories/index.d.ts.map +1 -1
  701. package/build-types/heading/test/index.d.ts +2 -0
  702. package/build-types/heading/test/index.d.ts.map +1 -0
  703. package/build-types/heading/types.d.ts +16 -0
  704. package/build-types/heading/types.d.ts.map +1 -0
  705. package/build-types/icon/index.d.ts +1 -1
  706. package/build-types/icon/index.d.ts.map +1 -1
  707. package/build-types/input-control/index.d.ts +1 -1
  708. package/build-types/input-control/index.d.ts.map +1 -1
  709. package/build-types/input-control/input-base.d.ts +1 -1
  710. package/build-types/input-control/input-base.d.ts.map +1 -1
  711. package/build-types/input-control/input-prefix-wrapper.d.ts +19 -0
  712. package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -0
  713. package/build-types/input-control/input-suffix-wrapper.d.ts +19 -0
  714. package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -0
  715. package/build-types/input-control/stories/index.d.ts +10 -0
  716. package/build-types/input-control/stories/index.d.ts.map +1 -1
  717. package/build-types/input-control/styles/input-control-styles.d.ts +21 -0
  718. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  719. package/build-types/input-control/types.d.ts +45 -3
  720. package/build-types/input-control/types.d.ts.map +1 -1
  721. package/build-types/menu-item/index.d.ts.map +1 -1
  722. package/build-types/popover/index.d.ts.map +1 -1
  723. package/build-types/radio-control/index.d.ts.map +1 -1
  724. package/build-types/range-control/index.d.ts +54 -29
  725. package/build-types/range-control/index.d.ts.map +1 -1
  726. package/build-types/range-control/input-range.d.ts +7 -10
  727. package/build-types/range-control/input-range.d.ts.map +1 -1
  728. package/build-types/range-control/mark.d.ts +4 -7
  729. package/build-types/range-control/mark.d.ts.map +1 -1
  730. package/build-types/range-control/rail.d.ts +4 -9
  731. package/build-types/range-control/rail.d.ts.map +1 -1
  732. package/build-types/range-control/stories/index.d.ts +48 -0
  733. package/build-types/range-control/stories/index.d.ts.map +1 -0
  734. package/build-types/range-control/styles/range-control-styles.d.ts +32 -40
  735. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  736. package/build-types/range-control/test/index.d.ts +2 -0
  737. package/build-types/range-control/test/index.d.ts.map +1 -0
  738. package/build-types/range-control/tooltip.d.ts +4 -11
  739. package/build-types/range-control/tooltip.d.ts.map +1 -1
  740. package/build-types/range-control/types.d.ts +304 -0
  741. package/build-types/range-control/types.d.ts.map +1 -0
  742. package/build-types/range-control/utils.d.ts +15 -33
  743. package/build-types/range-control/utils.d.ts.map +1 -1
  744. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  745. package/build-types/scroll-lock/index.d.ts +32 -3
  746. package/build-types/scroll-lock/index.d.ts.map +1 -1
  747. package/build-types/scroll-lock/stories/index.d.ts +9 -0
  748. package/build-types/scroll-lock/stories/index.d.ts.map +1 -0
  749. package/build-types/scroll-lock/test/index.d.ts +2 -0
  750. package/build-types/scroll-lock/test/index.d.ts.map +1 -0
  751. package/build-types/scrollable/component.d.ts +3 -3
  752. package/build-types/scrollable/component.d.ts.map +1 -1
  753. package/build-types/scrollable/hook.d.ts +5 -2
  754. package/build-types/scrollable/hook.d.ts.map +1 -1
  755. package/build-types/scrollable/index.d.ts +2 -2
  756. package/build-types/scrollable/index.d.ts.map +1 -1
  757. package/build-types/scrollable/stories/index.d.ts +9 -0
  758. package/build-types/scrollable/stories/index.d.ts.map +1 -0
  759. package/build-types/scrollable/styles.d.ts +7 -7
  760. package/build-types/scrollable/styles.d.ts.map +1 -1
  761. package/build-types/scrollable/test/index.d.ts +2 -0
  762. package/build-types/scrollable/test/index.d.ts.map +1 -0
  763. package/build-types/scrollable/types.d.ts +9 -6
  764. package/build-types/scrollable/types.d.ts.map +1 -1
  765. package/build-types/select-control/index.d.ts.map +1 -1
  766. package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
  767. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  768. package/build-types/select-control/types.d.ts +1 -1
  769. package/build-types/select-control/types.d.ts.map +1 -1
  770. package/build-types/shortcut/index.d.ts +5 -24
  771. package/build-types/shortcut/index.d.ts.map +1 -1
  772. package/build-types/shortcut/test/index.d.ts +2 -0
  773. package/build-types/shortcut/test/index.d.ts.map +1 -0
  774. package/build-types/shortcut/types.d.ts +14 -0
  775. package/build-types/shortcut/types.d.ts.map +1 -0
  776. package/build-types/slot-fill/provider.d.ts.map +1 -1
  777. package/build-types/slot-fill/slot.d.ts.map +1 -1
  778. package/build-types/spacer/component.d.ts +6 -5
  779. package/build-types/spacer/component.d.ts.map +1 -1
  780. package/build-types/spacer/hook.d.ts +2 -2
  781. package/build-types/spacer/hook.d.ts.map +1 -1
  782. package/build-types/spacer/index.d.ts +1 -1
  783. package/build-types/spacer/index.d.ts.map +1 -1
  784. package/build-types/spacer/stories/index.d.ts +12 -0
  785. package/build-types/spacer/stories/index.d.ts.map +1 -0
  786. package/build-types/spacer/test/index.d.ts +2 -0
  787. package/build-types/spacer/test/index.d.ts.map +1 -0
  788. package/build-types/spacer/types.d.ts +41 -29
  789. package/build-types/spacer/types.d.ts.map +1 -1
  790. package/build-types/spinner/index.d.ts +16 -15
  791. package/build-types/spinner/index.d.ts.map +1 -1
  792. package/build-types/spinner/stories/index.d.ts +13 -0
  793. package/build-types/spinner/stories/index.d.ts.map +1 -0
  794. package/build-types/spinner/styles.d.ts +4 -3
  795. package/build-types/spinner/styles.d.ts.map +1 -1
  796. package/build-types/text/types.d.ts +1 -1
  797. package/build-types/text/types.d.ts.map +1 -1
  798. package/build-types/text-highlight/index.d.ts +23 -0
  799. package/build-types/text-highlight/index.d.ts.map +1 -0
  800. package/build-types/text-highlight/stories/index.d.ts +12 -0
  801. package/build-types/text-highlight/stories/index.d.ts.map +1 -0
  802. package/build-types/text-highlight/test/index.d.ts +2 -0
  803. package/build-types/text-highlight/test/index.d.ts.map +1 -0
  804. package/build-types/text-highlight/types.d.ts +17 -0
  805. package/build-types/text-highlight/types.d.ts.map +1 -0
  806. package/build-types/tip/index.d.ts +5 -14
  807. package/build-types/tip/index.d.ts.map +1 -1
  808. package/build-types/tip/stories/index.d.ts +12 -0
  809. package/build-types/tip/stories/index.d.ts.map +1 -0
  810. package/build-types/tip/types.d.ts +11 -0
  811. package/build-types/tip/types.d.ts.map +1 -0
  812. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -1
  813. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  814. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +0 -1
  815. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  816. package/build-types/toggle-group-control/types.d.ts +6 -0
  817. package/build-types/toggle-group-control/types.d.ts.map +1 -1
  818. package/build-types/tooltip/index.d.ts.map +1 -1
  819. package/build-types/tree-select/index.d.ts.map +1 -1
  820. package/build-types/tree-select/types.d.ts +1 -0
  821. package/build-types/tree-select/types.d.ts.map +1 -1
  822. package/build-types/truncate/component.d.ts +3 -3
  823. package/build-types/truncate/component.d.ts.map +1 -1
  824. package/build-types/truncate/hook.d.ts +5 -2
  825. package/build-types/truncate/hook.d.ts.map +1 -1
  826. package/build-types/truncate/index.d.ts +2 -2
  827. package/build-types/truncate/index.d.ts.map +1 -1
  828. package/build-types/truncate/stories/index.d.ts +13 -0
  829. package/build-types/truncate/stories/index.d.ts.map +1 -0
  830. package/build-types/truncate/styles.d.ts +1 -1
  831. package/build-types/truncate/styles.d.ts.map +1 -1
  832. package/build-types/truncate/test/index.d.ts +2 -0
  833. package/build-types/truncate/test/index.d.ts.map +1 -0
  834. package/build-types/truncate/types.d.ts +22 -11
  835. package/build-types/truncate/types.d.ts.map +1 -1
  836. package/build-types/truncate/utils.d.ts +17 -28
  837. package/build-types/truncate/utils.d.ts.map +1 -1
  838. package/build-types/ui/context/use-context-system.d.ts.map +1 -1
  839. package/build-types/ui/form-group/form-group.d.ts +1 -1
  840. package/build-types/ui/form-group/types.d.ts +1 -1
  841. package/build-types/ui/form-group/types.d.ts.map +1 -1
  842. package/build-types/ui/form-group/use-form-group.d.ts +5 -5
  843. package/build-types/ui/utils/get-valid-children.d.ts +2 -2
  844. package/build-types/ui/utils/get-valid-children.d.ts.map +1 -1
  845. package/build-types/ui/utils/space.d.ts +7 -1
  846. package/build-types/ui/utils/space.d.ts.map +1 -1
  847. package/build-types/unit-control/index.d.ts +2 -2
  848. package/build-types/unit-control/index.d.ts.map +1 -1
  849. package/build-types/unit-control/styles/unit-control-styles.d.ts +0 -1
  850. package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
  851. package/build-types/unit-control/types.d.ts +1 -1
  852. package/build-types/unit-control/types.d.ts.map +1 -1
  853. package/build-types/utils/math.d.ts +10 -0
  854. package/build-types/utils/math.d.ts.map +1 -1
  855. package/build-types/v-stack/component.d.ts +5 -4
  856. package/build-types/v-stack/component.d.ts.map +1 -1
  857. package/build-types/v-stack/hook.d.ts +5 -3
  858. package/build-types/v-stack/hook.d.ts.map +1 -1
  859. package/build-types/v-stack/index.d.ts +2 -2
  860. package/build-types/v-stack/index.d.ts.map +1 -1
  861. package/build-types/v-stack/stories/index.d.ts +9 -0
  862. package/build-types/v-stack/stories/index.d.ts.map +1 -0
  863. package/build-types/v-stack/test/index.d.ts +2 -0
  864. package/build-types/v-stack/test/index.d.ts.map +1 -0
  865. package/build-types/v-stack/types.d.ts +21 -1
  866. package/build-types/v-stack/types.d.ts.map +1 -1
  867. package/build-types/visually-hidden/component.d.ts +8 -10
  868. package/build-types/visually-hidden/component.d.ts.map +1 -1
  869. package/build-types/visually-hidden/index.d.ts +1 -1
  870. package/build-types/visually-hidden/index.d.ts.map +1 -1
  871. package/build-types/visually-hidden/stories/index.d.ts +14 -0
  872. package/build-types/visually-hidden/stories/index.d.ts.map +1 -0
  873. package/build-types/visually-hidden/styles.d.ts +5 -2
  874. package/build-types/visually-hidden/styles.d.ts.map +1 -1
  875. package/build-types/visually-hidden/test/index.d.ts +2 -0
  876. package/build-types/visually-hidden/test/index.d.ts.map +1 -0
  877. package/build-types/visually-hidden/types.d.ts +11 -0
  878. package/build-types/visually-hidden/types.d.ts.map +1 -0
  879. package/package.json +18 -17
  880. package/src/alignment-matrix-control/utils.js +1 -6
  881. package/src/angle-picker-control/index.js +1 -2
  882. package/src/autocomplete/autocompleter-ui.js +4 -1
  883. package/src/autocomplete/autocompleter-ui.native.js +8 -2
  884. package/src/autocomplete/get-default-use-items.js +3 -2
  885. package/src/autocomplete/index.js +7 -10
  886. package/src/base-control/styles/base-control-styles.ts +5 -0
  887. package/src/border-box-control/border-box-control/component.tsx +1 -0
  888. package/src/border-box-control/border-box-control-split-controls/component.tsx +1 -0
  889. package/src/border-control/border-control/component.tsx +82 -36
  890. package/src/border-control/border-control/hook.ts +5 -10
  891. package/src/border-control/border-control-dropdown/component.tsx +50 -45
  892. package/src/border-control/border-control-dropdown/hook.ts +0 -5
  893. package/src/border-control/stories/index.tsx +153 -0
  894. package/src/border-control/styles.ts +23 -69
  895. package/src/border-control/test/index.js +19 -8
  896. package/src/box-control/axial-input-controls.js +1 -1
  897. package/src/box-control/index.js +1 -1
  898. package/src/box-control/utils.js +9 -16
  899. package/src/button/README.md +1 -1
  900. package/src/card/test/__snapshots__/index.js.snap +8 -8
  901. package/src/color-indicator/README.md +7 -9
  902. package/src/color-indicator/index.tsx +47 -0
  903. package/src/color-indicator/stories/index.tsx +37 -0
  904. package/src/color-indicator/test/__snapshots__/index.tsx.snap +11 -0
  905. package/src/color-indicator/test/{index.js → index.tsx} +4 -4
  906. package/src/color-indicator/types.ts +12 -0
  907. package/src/color-palette/index.js +24 -9
  908. package/src/color-palette/style.scss +5 -0
  909. package/src/color-palette/test/utils.ts +19 -1
  910. package/src/color-picker/component.tsx +12 -11
  911. package/src/color-picker/hex-input.tsx +5 -3
  912. package/src/color-picker/index.native.js +20 -27
  913. package/src/color-picker/input-with-slider.tsx +6 -3
  914. package/src/color-picker/styles.ts +20 -17
  915. package/src/color-picker/use-deprecated-props.ts +24 -43
  916. package/src/combobox-control/index.js +20 -13
  917. package/src/combobox-control/stories/index.js +3 -2
  918. package/src/combobox-control/style.scss +1 -1
  919. package/src/combobox-control/styles.ts +27 -0
  920. package/src/confirm-dialog/README.md +1 -1
  921. package/src/custom-gradient-picker/index.js +4 -11
  922. package/src/custom-gradient-picker/index.native.js +3 -11
  923. package/src/custom-gradient-picker/serializer.js +5 -11
  924. package/src/custom-select-control/index.js +44 -26
  925. package/src/custom-select-control/stories/index.js +7 -2
  926. package/src/custom-select-control/style.scss +4 -29
  927. package/src/date-time/README.md +7 -0
  928. package/src/date-time/date/index.tsx +2 -0
  929. package/src/date-time/date-time/index.tsx +2 -0
  930. package/src/date-time/types.ts +7 -0
  931. package/src/dimension-control/README.md +5 -2
  932. package/src/dimension-control/test/index.test.js +7 -7
  933. package/src/divider/README.md +12 -5
  934. package/src/divider/component.tsx +2 -3
  935. package/src/divider/index.ts +1 -1
  936. package/src/divider/stories/index.tsx +4 -4
  937. package/src/divider/styles.ts +7 -7
  938. package/src/divider/test/__snapshots__/{index.js.snap → index.tsx.snap} +7 -7
  939. package/src/divider/test/index.tsx +40 -0
  940. package/src/divider/types.ts +21 -15
  941. package/src/draggable/README.md +1 -1
  942. package/src/dropdown/dropdown-content-wrapper.tsx +59 -0
  943. package/src/dropdown/stories/index.js +60 -69
  944. package/src/dropdown/styles.ts +38 -0
  945. package/src/dropdown/types.ts +8 -0
  946. package/src/dropdown-menu/index.js +3 -4
  947. package/src/dropdown-menu/index.native.js +3 -5
  948. package/src/duotone-picker/duotone-picker.js +58 -37
  949. package/src/duotone-picker/style.scss +19 -0
  950. package/src/elevation/README.md +16 -14
  951. package/src/elevation/component.tsx +48 -0
  952. package/src/elevation/{hook.js → hook.ts} +29 -26
  953. package/src/elevation/{index.js → index.ts} +0 -0
  954. package/src/elevation/stories/index.tsx +85 -0
  955. package/src/elevation/{styles.js → styles.ts} +0 -0
  956. package/src/elevation/test/__snapshots__/{index.js.snap → index.tsx.snap} +19 -13
  957. package/src/elevation/test/index.tsx +64 -0
  958. package/src/elevation/types.ts +12 -19
  959. package/src/external-link/index.tsx +10 -4
  960. package/src/flex/flex/README.md +3 -12
  961. package/src/flex/flex/component.js +11 -17
  962. package/src/flex/flex-block/README.md +0 -4
  963. package/src/flex/flex-block/component.js +9 -3
  964. package/src/flex/flex-item/README.md +1 -5
  965. package/src/flex/flex-item/component.js +9 -3
  966. package/src/flex/stories/index.js +1 -1
  967. package/src/flex/types.ts +4 -1
  968. package/src/focal-point-picker/grid.js +2 -5
  969. package/src/focal-point-picker/index.native.js +9 -9
  970. package/src/focal-point-picker/tooltip/index.native.js +10 -11
  971. package/src/form-toggle/README.md +10 -11
  972. package/src/form-toggle/index.tsx +71 -0
  973. package/src/form-toggle/stories/index.tsx +52 -0
  974. package/src/form-toggle/test/__snapshots__/index.tsx.snap +54 -0
  975. package/src/form-toggle/test/index.tsx +102 -0
  976. package/src/form-toggle/types.ts +22 -0
  977. package/src/form-token-field/index.tsx +45 -24
  978. package/src/form-token-field/style.scss +2 -7
  979. package/src/form-token-field/styles.ts +32 -0
  980. package/src/form-token-field/suggestions-list.tsx +2 -4
  981. package/src/form-token-field/test/index.js +7 -10
  982. package/src/form-token-field/test/lib/token-field-wrapper.tsx +2 -2
  983. package/src/form-token-field/types.ts +7 -0
  984. package/src/grid/README.md +33 -19
  985. package/src/grid/{component.js → component.tsx} +13 -9
  986. package/src/grid/{hook.js → hook.ts} +5 -5
  987. package/src/grid/{index.js → index.ts} +0 -0
  988. package/src/grid/stories/index.tsx +72 -0
  989. package/src/grid/test/{grid.js → grid.tsx} +4 -4
  990. package/src/grid/types.ts +16 -17
  991. package/src/grid/{utils.js → utils.ts} +9 -7
  992. package/src/guide/style.scss +1 -0
  993. package/src/h-stack/{component.js → component.tsx} +8 -8
  994. package/src/h-stack/{hook.js → hook.tsx} +21 -16
  995. package/src/h-stack/{index.js → index.ts} +0 -0
  996. package/src/h-stack/stories/index.tsx +92 -0
  997. package/src/h-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  998. package/src/h-stack/test/{index.js → index.tsx} +0 -0
  999. package/src/h-stack/{utils.js → utils.ts} +16 -16
  1000. package/src/heading/README.md +4 -3
  1001. package/src/heading/component.tsx +2 -2
  1002. package/src/heading/hook.ts +1 -42
  1003. package/src/heading/stories/index.tsx +5 -1
  1004. package/src/heading/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1005. package/src/heading/test/index.tsx +68 -0
  1006. package/src/heading/types.ts +29 -0
  1007. package/src/higher-order/navigate-regions/README.md +4 -1
  1008. package/src/icon/index.tsx +1 -1
  1009. package/src/index.js +3 -0
  1010. package/src/input-control/index.tsx +6 -0
  1011. package/src/input-control/input-base.tsx +28 -12
  1012. package/src/input-control/input-prefix-wrapper.tsx +48 -0
  1013. package/src/input-control/input-suffix-wrapper.tsx +48 -0
  1014. package/src/input-control/stories/index.tsx +15 -2
  1015. package/src/input-control/styles/input-control-styles.tsx +25 -11
  1016. package/src/input-control/test/index.js +106 -31
  1017. package/src/input-control/types.ts +52 -3
  1018. package/src/menu-item/index.js +1 -2
  1019. package/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js +2 -7
  1020. package/src/mobile/focal-point-settings-panel/index.native.js +2 -2
  1021. package/src/mobile/image/index.native.js +12 -6
  1022. package/src/mobile/link-picker/index.native.js +2 -3
  1023. package/src/mobile/media-edit/index.native.js +2 -7
  1024. package/src/mobile/segmented-control/index.native.js +6 -5
  1025. package/src/modal/index.js +21 -2
  1026. package/src/modal/stories/index.js +17 -1
  1027. package/src/modal/style.scss +14 -19
  1028. package/src/navigation/group/index.js +8 -3
  1029. package/src/navigation/index.js +3 -0
  1030. package/src/navigation/item/base.js +5 -3
  1031. package/src/navigation/item/use-navigation-tree-item.js +2 -0
  1032. package/src/navigation/menu/menu-title-search.js +3 -6
  1033. package/src/navigation/menu/search-no-results-found.js +3 -6
  1034. package/src/navigation/use-navigation-tree-nodes.js +11 -10
  1035. package/src/navigation/utils.js +2 -2
  1036. package/src/number-control/stories/index.js +24 -24
  1037. package/src/popover/README.md +2 -2
  1038. package/src/popover/index.js +20 -13
  1039. package/src/popover/stories/index.js +2 -0
  1040. package/src/popover/style.scss +1 -1
  1041. package/src/radio-control/index.tsx +1 -2
  1042. package/src/range-control/README.md +108 -80
  1043. package/src/range-control/{index.js → index.tsx} +79 -49
  1044. package/src/range-control/{input-range.js → input-range.tsx} +11 -7
  1045. package/src/range-control/{mark.js → mark.tsx} +15 -9
  1046. package/src/range-control/{rail.js → rail.tsx} +40 -23
  1047. package/src/range-control/stories/index.tsx +244 -0
  1048. package/src/range-control/styles/{range-control-styles.js → range-control-styles.ts} +28 -24
  1049. package/src/range-control/test/index.tsx +341 -0
  1050. package/src/range-control/{tooltip.js → tooltip.tsx} +19 -14
  1051. package/src/range-control/types.ts +328 -0
  1052. package/src/range-control/utils.ts +135 -0
  1053. package/src/resizable-box/resize-tooltip/utils.ts +2 -3
  1054. package/src/sandbox/index.native.js +14 -1
  1055. package/src/scroll-lock/README.md +1 -1
  1056. package/src/scroll-lock/{index.js → index.tsx} +34 -7
  1057. package/src/scroll-lock/stories/index.tsx +96 -0
  1058. package/src/scroll-lock/test/index.tsx +26 -0
  1059. package/src/scrollable/README.md +14 -8
  1060. package/src/scrollable/{component.js → component.tsx} +13 -10
  1061. package/src/scrollable/{hook.js → hook.ts} +5 -7
  1062. package/src/scrollable/{index.js → index.ts} +0 -0
  1063. package/src/scrollable/stories/{index.js → index.tsx} +29 -34
  1064. package/src/scrollable/{styles.js → styles.ts} +0 -0
  1065. package/src/scrollable/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1066. package/src/scrollable/test/index.tsx +34 -0
  1067. package/src/scrollable/types.ts +10 -5
  1068. package/src/select-control/index.tsx +1 -2
  1069. package/src/select-control/styles/select-control-styles.ts +33 -9
  1070. package/src/select-control/test/select-control.tsx +22 -15
  1071. package/src/select-control/types.ts +1 -0
  1072. package/src/shortcut/index.tsx +32 -0
  1073. package/src/shortcut/test/__snapshots__/index.tsx.snap +15 -0
  1074. package/src/shortcut/test/index.tsx +41 -0
  1075. package/src/shortcut/types.ts +10 -0
  1076. package/src/slot-fill/index.native.js +2 -7
  1077. package/src/slot-fill/provider.js +3 -7
  1078. package/src/slot-fill/slot.js +21 -24
  1079. package/src/slot-fill/test/slot.js +2 -3
  1080. package/src/spacer/README.md +43 -37
  1081. package/src/spacer/component.tsx +8 -7
  1082. package/src/spacer/hook.ts +4 -2
  1083. package/src/spacer/index.ts +1 -1
  1084. package/src/spacer/stories/index.tsx +70 -0
  1085. package/src/spacer/test/__snapshots__/{index.js.snap → index.tsx.snap} +1 -0
  1086. package/src/spacer/test/index.tsx +149 -0
  1087. package/src/spacer/types.ts +41 -29
  1088. package/src/spinner/{index.js → index.tsx} +23 -9
  1089. package/src/spinner/stories/index.tsx +32 -0
  1090. package/src/spinner/{styles.js → styles.ts} +0 -0
  1091. package/src/style.scss +1 -0
  1092. package/src/tab-panel/README.md +1 -1
  1093. package/src/text/types.ts +1 -1
  1094. package/src/text-highlight/README.md +6 -6
  1095. package/src/text-highlight/index.tsx +49 -0
  1096. package/src/text-highlight/stories/index.tsx +33 -0
  1097. package/src/text-highlight/test/index.tsx +93 -0
  1098. package/src/text-highlight/types.ts +16 -0
  1099. package/src/tip/index.tsx +22 -0
  1100. package/src/tip/stories/index.tsx +33 -0
  1101. package/src/tip/types.ts +11 -0
  1102. package/src/toggle-group-control/stories/index.js +19 -3
  1103. package/src/toggle-group-control/test/__snapshots__/index.js.snap +4 -4
  1104. package/src/toggle-group-control/toggle-group-control/component.tsx +3 -3
  1105. package/src/toggle-group-control/toggle-group-control/styles.ts +22 -2
  1106. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -4
  1107. package/src/toggle-group-control/types.ts +6 -0
  1108. package/src/toolbar-group/index.js +1 -2
  1109. package/src/tools-panel/tools-panel/README.md +94 -21
  1110. package/src/tooltip/index.js +56 -10
  1111. package/src/tooltip/stories/index.js +28 -13
  1112. package/src/tooltip/style.scss +1 -1
  1113. package/src/tree-select/index.tsx +7 -6
  1114. package/src/tree-select/types.ts +4 -0
  1115. package/src/truncate/README.md +16 -12
  1116. package/src/truncate/{component.js → component.tsx} +13 -9
  1117. package/src/truncate/{hook.js → hook.ts} +8 -10
  1118. package/src/truncate/{index.js → index.ts} +0 -0
  1119. package/src/truncate/stories/index.tsx +49 -0
  1120. package/src/truncate/{styles.js → styles.ts} +0 -0
  1121. package/src/truncate/test/{index.js → index.tsx} +4 -4
  1122. package/src/truncate/types.ts +28 -10
  1123. package/src/truncate/{utils.js → utils.ts} +19 -19
  1124. package/src/ui/context/test/context-system-provider.js +101 -1
  1125. package/src/ui/context/use-context-system.js +7 -2
  1126. package/src/ui/form-group/types.ts +1 -1
  1127. package/src/ui/utils/get-valid-children.ts +4 -2
  1128. package/src/ui/utils/space.ts +7 -1
  1129. package/src/unit-control/styles/unit-control-styles.ts +15 -13
  1130. package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -4
  1131. package/src/unit-control/types.ts +1 -1
  1132. package/src/utils/math.js +14 -5
  1133. package/src/utils/test/math.js +22 -1
  1134. package/src/v-stack/README.md +6 -18
  1135. package/src/v-stack/{component.js → component.tsx} +15 -10
  1136. package/src/v-stack/{hook.js → hook.ts} +5 -6
  1137. package/src/v-stack/{index.js → index.ts} +0 -0
  1138. package/src/v-stack/stories/index.tsx +41 -0
  1139. package/src/v-stack/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1140. package/src/v-stack/test/{index.js → index.tsx} +0 -0
  1141. package/src/v-stack/types.ts +21 -1
  1142. package/src/visually-hidden/{component.js → component.tsx} +23 -15
  1143. package/src/visually-hidden/{index.js → index.ts} +0 -0
  1144. package/src/visually-hidden/stories/index.tsx +66 -0
  1145. package/src/visually-hidden/{styles.js → styles.ts} +6 -2
  1146. package/src/visually-hidden/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
  1147. package/src/visually-hidden/test/index.tsx +17 -0
  1148. package/src/visually-hidden/types.ts +11 -0
  1149. package/tsconfig.json +2 -0
  1150. package/tsconfig.tsbuildinfo +1 -1
  1151. package/src/border-control/stories/index.js +0 -119
  1152. package/src/color-indicator/index.js +0 -16
  1153. package/src/color-indicator/stories/index.js +0 -22
  1154. package/src/color-indicator/test/__snapshots__/index.js.snap +0 -13
  1155. package/src/divider/test/index.js +0 -41
  1156. package/src/elevation/component.js +0 -43
  1157. package/src/elevation/stories/index.js +0 -148
  1158. package/src/elevation/test/index.js +0 -51
  1159. package/src/form-toggle/index.js +0 -38
  1160. package/src/form-toggle/stories/index.js +0 -28
  1161. package/src/form-toggle/test/index.js +0 -74
  1162. package/src/grid/stories/index.js +0 -49
  1163. package/src/h-stack/stories/index.js +0 -22
  1164. package/src/heading/test/index.js +0 -67
  1165. package/src/range-control/stories/index.js +0 -180
  1166. package/src/range-control/test/index.js +0 -320
  1167. package/src/range-control/utils.js +0 -134
  1168. package/src/scroll-lock/stories/index.js +0 -71
  1169. package/src/scroll-lock/test/index.js +0 -53
  1170. package/src/scrollable/test/index.js +0 -31
  1171. package/src/shortcut/index.js +0 -41
  1172. package/src/shortcut/test/index.js +0 -37
  1173. package/src/spacer/stories/index.js +0 -59
  1174. package/src/spacer/test/index.js +0 -146
  1175. package/src/spinner/stories/index.js +0 -43
  1176. package/src/text-highlight/index.js +0 -28
  1177. package/src/text-highlight/stories/index.js +0 -28
  1178. package/src/text-highlight/test/index.js +0 -120
  1179. package/src/tip/index.js +0 -24
  1180. package/src/tip/stories/index.js +0 -26
  1181. package/src/truncate/stories/index.js +0 -38
  1182. package/src/visually-hidden/stories/index.js +0 -42
  1183. package/src/visually-hidden/test/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"names":["css","Flex","FlexItem","Text","COLORS","rtl","rootFocusedStyles","isFocused","rootLabelPositionStyles","labelPosition","Root","containerDisabledStyles","disabled","backgroundColor","ui","backgroundDisabled","background","containerMarginStyles","hideLabel","containerWidthStyles","__unstableInputWidth","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","fontSize","fontSizeMobile","sizeStyles","__next36pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","style","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","labelMargin","marginBottom","marginTop","marginRight","marginLeft","BaseLabel","Label","props","LabelWrapper","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"mappings":";;;;;;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAsC,gBAAtC;AAQA,SAASC,IAAT,EAAeC,QAAf,QAA+B,YAA/B;AACA,SAASC,IAAT,QAAqB,YAArB;AACA,SAASC,MAAT,EAAiBC,GAAjB,QAA4B,aAA5B;;;;;;;;;;;;AAeA,MAAMC,iBAAiB,GAAG,SAAgC;AAAA,MAA9B;AAAEC,IAAAA;AAAF,GAA8B;AACzD,MAAK,CAAEA,SAAP,EAAmB,OAAO,EAAP;AAEnB;AACA,CAJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMC,uBAAuB,GAAG,SAAoC;AAAA,MAAlC;AAAEC,IAAAA;AAAF,GAAkC;;AACnE,UAASA,aAAT;AACC,SAAK,KAAL;AACC;;AAID,SAAK,QAAL;AACC;;AAID,SAAK,MAAL;AACC;;AAGD;AACC,aAAO,EAAP;AAhBF;AAkBA,CAnBD;;AAqBA,OAAO,MAAMC,IAAI,GAAG,qBAAQT,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,uDAIbK,iBAJa,OAKbE,uBALa,iyUAAV;;AAQP,MAAMG,uBAAuB,GAAG,SAAoC;AAAA,MAAlC;AAAEC,IAAAA;AAAF,GAAkC;AACnE,QAAMC,eAAe,GAAGD,QAAQ,GAC7BR,MAAM,CAACU,EAAP,CAAUC,kBADmB,GAE7BX,MAAM,CAACU,EAAP,CAAUE,UAFb;AAIA,sBAAOhB,GAAG,CAAE;AAAEa,IAAAA;AAAF,GAAF,q2UAAV;AACA,CAND,C,CAQA;;;;;;;;;;;;;AACA,MAAMI,qBAAqB,GAAG,UAAqC;AAAA,MAAnC;AAAEC,IAAAA;AAAF,GAAmC;AAClE,SAAOA,SAAS,WAAuC,IAAvD;AACA,CAFD;;;;;;;;;;;;AAIA,MAAMC,oBAAoB,GAAG,UAGN;AAAA,MAHQ;AAC9BC,IAAAA,oBAD8B;AAE9BX,IAAAA;AAF8B,GAGR;AACtB,MAAK,CAAEW,oBAAP,EAA8B;AAE9B,MAAKX,aAAa,KAAK,MAAvB,EAAgC,OAAO,EAAP;;AAEhC,MAAKA,aAAa,KAAK,MAAvB,EAAgC;AAC/B,wBAAOT,GAAG,CAAE;AACXqB,MAAAA,IAAI,EAAG,OAAOD,oBAAsB;AADzB,KAAF,k2UAAV;AAGA;;AAED,sBAAOpB,GAAG,CAAE;AAAEsB,IAAAA,KAAK,EAAEF;AAAT,GAAF,k2UAAV;AACA,CAfD;;AAiBA,OAAO,MAAMG,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,4GAQlBZ,uBARkB,OASlBM,qBATkB,OAUlBE,oBAVkB,iyUAAf;;AAqBP,MAAMK,cAAc,GAAG,UAAgC;AAAA,MAA9B;AAAEZ,IAAAA;AAAF,GAA8B;AACtD,MAAK,CAAEA,QAAP,EAAkB,OAAO,EAAP;AAElB,sBAAOZ,GAAG,CAAE;AACXyB,IAAAA,KAAK,EAAErB,MAAM,CAACU,EAAP,CAAUY;AADN,GAAF,41UAAV;AAGA,CAND;;AAQA,MAAMC,cAAc,GAAG,UAAuC;AAAA,MAArC;AAAEC,IAAAA,SAAS,EAAEC;AAAb,GAAqC;AAC7D,QAAMC,KAAK,GAAG;AACbC,IAAAA,OAAO,EAAE,MADI;AAEbC,IAAAA,KAAK,EAAE,MAFM;AAGb,wBAAoB;AAHP,GAAd;AAMA,QAAMC,QAAQ,GAAGH,KAAK,CAAED,IAAF,CAAL,IAAyBC,KAAK,CAACC,OAAhD;AACA,QAAMG,cAAc,GAAG,MAAvB;AAEA,MAAK,CAAED,QAAP,EAAkB,OAAO,EAAP;AAElB,sBAAOjC,GAAP,eACekC,cADf,6CAIgBD,QAJhB;AAOA,CAnBD;;AAqBA,MAAME,UAAU,GAAG,UAGA;AAAA,MAHE;AACpBP,IAAAA,SAAS,EAAEC,IADS;AAEpBO,IAAAA;AAFoB,GAGF;AAClB,QAAMN,KAAK,GAAG;AACbC,IAAAA,OAAO,EAAE;AACRM,MAAAA,MAAM,EAAE,EADA;AAERC,MAAAA,UAAU,EAAE,CAFJ;AAGRC,MAAAA,SAAS,EAAE,EAHH;AAIRC,MAAAA,WAAW,EAAE,EAJL;AAKRC,MAAAA,YAAY,EAAE;AALN,KADI;AAQbT,IAAAA,KAAK,EAAE;AACNK,MAAAA,MAAM,EAAE,EADF;AAENC,MAAAA,UAAU,EAAE,CAFN;AAGNC,MAAAA,SAAS,EAAE,EAHL;AAINC,MAAAA,WAAW,EAAE,CAJP;AAKNC,MAAAA,YAAY,EAAE;AALR,KARM;AAeb,wBAAoB;AACnBJ,MAAAA,MAAM,EAAE,EADW;AAEnBC,MAAAA,UAAU,EAAE,CAFO;AAGnBC,MAAAA,SAAS,EAAE,EAHQ;AAInBC,MAAAA,WAAW,EAAE,EAJM;AAKnBC,MAAAA,YAAY,EAAE;AALK;AAfP,GAAd;;AAwBA,MAAK,CAAEL,qBAAP,EAA+B;AAC9BN,IAAAA,KAAK,CAACC,OAAN,GAAgB;AACfM,MAAAA,MAAM,EAAE,EADO;AAEfC,MAAAA,UAAU,EAAE,CAFG;AAGfC,MAAAA,SAAS,EAAE,EAHI;AAIfC,MAAAA,WAAW,EAAE,CAJE;AAKfC,MAAAA,YAAY,EAAE;AALC,KAAhB;AAOA;;AAED,QAAMC,KAAK,GAAGZ,KAAK,CAAED,IAAF,CAAL,IAAyBC,KAAK,CAACC,OAA7C;AAEA,sBAAO/B,GAAG,CAAE0C,KAAF,w1UAAV;AACA,CAzCD;;AA2CA,MAAMC,UAAU,GAAG,UAA8C;AAAA,MAA5C;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA4C;AAChE,MAAIC,kBAAJ;AACA,MAAIC,sBAAJ;;AAEA,MAAKH,UAAL,EAAkB;AACjBE,IAAAA,kBAAkB,gBAAG9C,GAAH,YACN6C,UADM,6+UAAlB;AAUA;;AAED,MAAKD,UAAU,IAAIC,UAAnB,EAAgC;AAC/BE,IAAAA,sBAAsB,gBAAG/C,GAAH,qBAET6C,UAFS,i3UAAtB;AAKA;;AAED,sBAAO7C,GAAP,CACI8C,kBADJ,OAEIC,sBAFJ;AAIA,CA7BD,C,CA+BA;AACA;;;AAEA,OAAO,MAAMC,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,0GAMN5C,MAAM,CAAC6C,IAAP,CAAa,GAAb,CANM,0EAabN,UAba,OAcbnB,cAda,OAebG,cAfa,OAgBbQ,UAhBa,m1UAAX;;AAwBP,MAAMe,WAAW,GAAG,UAIb;AAAA,MAJe;AACrBzC,IAAAA;AADqB,GAIf;AACN,MAAI0C,YAAY,GAAG,CAAnB;;AAEA,MAAK1C,aAAa,KAAK,MAAlB,IAA4BA,aAAa,KAAK,MAAnD,EAA4D;AAC3D0C,IAAAA,YAAY,GAAG,CAAf;AACA;;AAED,sBAAOnD,GAAG,CAAE;AAAEoD,IAAAA,SAAS,EAAE,CAAb;AAAgBC,IAAAA,WAAW,EAAE,CAA7B;AAAgCF,IAAAA,YAAhC;AAA8CG,IAAAA,UAAU,EAAE;AAA1D,GAAF,y1UAAV;AACA,CAZD;;AAcA,MAAMC,SAAS,GAAG,qBAAQpD,IAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,qGASV+C,WATU,41UAAf;;AAgBA,OAAO,MAAMM,KAAK,GACjBC,KADoB,IAMhB,cAAC,SAAD,eAAgBA,KAAhB;AAAwB,EAAA,EAAE,EAAC;AAA3B,GANE;AAQP,OAAO,MAAMC,YAAY,GAAG,qBAAQxD,QAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;;AASP,MAAMyD,qBAAqB,GAAG,UAGU;AAAA,MAHR;AAC/B/C,IAAAA,QAD+B;AAE/BL,IAAAA;AAF+B,GAGQ;AACvC,MAAIqD,WAAW,GAAGrD,SAAS,GAAGH,MAAM,CAACU,EAAP,CAAU+C,WAAb,GAA2BzD,MAAM,CAACU,EAAP,CAAUgD,MAAhE;AAEA,MAAIC,SAAJ;;AAEA,MAAKxD,SAAL,EAAiB;AAChBwD,IAAAA,SAAS,GAAI,aAAa3D,MAAM,CAACU,EAAP,CAAU+C,WAAa,QAAjD;AACA;;AAED,MAAKjD,QAAL,EAAgB;AACfgD,IAAAA,WAAW,GAAGxD,MAAM,CAACU,EAAP,CAAUkD,cAAxB;AACA;;AAED,sBAAOhE,GAAG,CAAE;AACX+D,IAAAA,SADW;AAEXH,IAAAA,WAFW;AAGXK,IAAAA,WAAW,EAAE,OAHF;AAIXC,IAAAA,WAAW,EAAE;AAJF,GAAF,m2UAAV;AAMA,CAtBD;;AAwBA,OAAO,MAAMC,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,8IAalBR,qBAbkB,OAclBtD,GAAG,CAAE;AAAEmC,EAAAA,WAAW,EAAE;AAAf,CAAF,CAde,kyUAAhB;AAkBP,OAAO,MAAM4B,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAZ;AAKP,OAAO,MAAMC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAZ","sourcesContent":["/**\n * External dependencies\n */\nimport { css, SerializedStyles } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { COLORS, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\n\ntype ContainerProps = {\n\tdisabled?: boolean;\n\thideLabel?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\tlabelPosition?: LabelPosition;\n};\n\ntype RootProps = {\n\tisFocused?: boolean;\n\tlabelPosition?: LabelPosition;\n};\n\nconst rootFocusedStyles = ( { isFocused }: RootProps ) => {\n\tif ( ! isFocused ) return '';\n\n\treturn css( { zIndex: 1 } );\n};\n\nconst rootLabelPositionStyles = ( { labelPosition }: RootProps ) => {\n\tswitch ( labelPosition ) {\n\t\tcase 'top':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column;\n\t\t\t`;\n\t\tcase 'bottom':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t`;\n\t\tcase 'edge':\n\t\t\treturn css`\n\t\t\t\tjustify-content: space-between;\n\t\t\t`;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nexport const Root = styled( Flex )< RootProps >`\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\n\t${ rootLabelPositionStyles }\n`;\n\nconst containerDisabledStyles = ( { disabled }: ContainerProps ) => {\n\tconst backgroundColor = disabled\n\t\t? COLORS.ui.backgroundDisabled\n\t\t: COLORS.ui.background;\n\n\treturn css( { backgroundColor } );\n};\n\n// Normalizes the margins from the <Flex /> (components/ui/flex/) container.\nconst containerMarginStyles = ( { hideLabel }: ContainerProps ) => {\n\treturn hideLabel ? css( { margin: '0 !important' } ) : null;\n};\n\nconst containerWidthStyles = ( {\n\t__unstableInputWidth,\n\tlabelPosition,\n}: ContainerProps ) => {\n\tif ( ! __unstableInputWidth ) return css( { width: '100%' } );\n\n\tif ( labelPosition === 'side' ) return '';\n\n\tif ( labelPosition === 'edge' ) {\n\t\treturn css( {\n\t\t\tflex: `0 0 ${ __unstableInputWidth }`,\n\t\t} );\n\t}\n\n\treturn css( { width: __unstableInputWidth } );\n};\n\nexport const Container = styled.div< ContainerProps >`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tborder-radius: inherit;\n\tdisplay: flex;\n\tflex: 1;\n\tposition: relative;\n\n\t${ containerDisabledStyles }\n\t${ containerMarginStyles }\n\t${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next36pxDefaultSize?: boolean;\n\tdisabled?: boolean;\n\tinputSize?: Size;\n\tisDragging?: boolean;\n\tdragCursor?: CSSProperties[ 'cursor' ];\n};\n\nconst disabledStyles = ( { disabled }: InputProps ) => {\n\tif ( ! disabled ) return '';\n\n\treturn css( {\n\t\tcolor: COLORS.ui.textDisabled,\n\t} );\n};\n\nconst fontSizeStyles = ( { inputSize: size }: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: '13px',\n\t\tsmall: '11px',\n\t\t'__unstable-large': '13px',\n\t};\n\n\tconst fontSize = sizes[ size as Size ] || sizes.default;\n\tconst fontSizeMobile = '16px';\n\n\tif ( ! fontSize ) return '';\n\n\treturn css`\n\t\tfont-size: ${ fontSizeMobile };\n\n\t\t@media ( min-width: 600px ) {\n\t\t\tfont-size: ${ fontSize };\n\t\t}\n\t`;\n};\n\nconst sizeStyles = ( {\n\tinputSize: size,\n\t__next36pxDefaultSize,\n}: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: {\n\t\t\theight: 36,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 36,\n\t\t\tpaddingLeft: 16,\n\t\t\tpaddingRight: 16,\n\t\t},\n\t\tsmall: {\n\t\t\theight: 24,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 24,\n\t\t\tpaddingLeft: 8,\n\t\t\tpaddingRight: 8,\n\t\t},\n\t\t'__unstable-large': {\n\t\t\theight: 40,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 40,\n\t\t\tpaddingLeft: 16,\n\t\t\tpaddingRight: 16,\n\t\t},\n\t};\n\n\tif ( ! __next36pxDefaultSize ) {\n\t\tsizes.default = {\n\t\t\theight: 30,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 30,\n\t\t\tpaddingLeft: 8,\n\t\t\tpaddingRight: 8,\n\t\t};\n\t}\n\n\tconst style = sizes[ size as Size ] || sizes.default;\n\n\treturn css( style );\n};\n\nconst dragStyles = ( { isDragging, dragCursor }: InputProps ) => {\n\tlet defaultArrowStyles: SerializedStyles | undefined;\n\tlet activeDragCursorStyles: SerializedStyles | undefined;\n\n\tif ( isDragging ) {\n\t\tdefaultArrowStyles = css`\n\t\t\tcursor: ${ dragCursor };\n\t\t\tuser-select: none;\n\n\t\t\t&::-webkit-outer-spin-button,\n\t\t\t&::-webkit-inner-spin-button {\n\t\t\t\t-webkit-appearance: none !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t}\n\t\t`;\n\t}\n\n\tif ( isDragging && dragCursor ) {\n\t\tactiveDragCursorStyles = css`\n\t\t\t&:active {\n\t\t\t\tcursor: ${ dragCursor };\n\t\t\t}\n\t\t`;\n\t}\n\n\treturn css`\n\t\t${ defaultArrowStyles }\n\t\t${ activeDragCursorStyles }\n\t`;\n};\n\n// TODO: Resolve need to use &&& to increase specificity\n// https://github.com/WordPress/gutenberg/issues/18483\n\nexport const Input = styled.input< InputProps >`\n\t&&& {\n\t\tbackground-color: transparent;\n\t\tbox-sizing: border-box;\n\t\tborder: none;\n\t\tbox-shadow: none !important;\n\t\tcolor: ${ COLORS.gray[ 900 ] };\n\t\tdisplay: block;\n\t\tfont-family: inherit;\n\t\tmargin: 0;\n\t\toutline: none;\n\t\twidth: 100%;\n\n\t\t${ dragStyles }\n\t\t${ disabledStyles }\n\t\t${ fontSizeStyles }\n\t\t${ sizeStyles }\n\n\t\t&::-webkit-input-placeholder {\n\t\t\tline-height: normal;\n\t\t}\n\t}\n`;\n\nconst labelMargin = ( {\n\tlabelPosition,\n}: {\n\tlabelPosition?: LabelPosition;\n} ) => {\n\tlet marginBottom = 8;\n\n\tif ( labelPosition === 'edge' || labelPosition === 'side' ) {\n\t\tmarginBottom = 0;\n\t}\n\n\treturn css( { marginTop: 0, marginRight: 0, marginBottom, marginLeft: 0 } );\n};\n\nconst BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t\tmax-width: 100%;\n\t\tz-index: 1;\n\n\t\t${ labelMargin }\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n`;\n\nexport const Label = (\n\tprops: WordPressComponentProps<\n\t\t{ labelPosition?: LabelPosition; children: ReactNode },\n\t\t'label',\n\t\tfalse\n\t>\n) => <BaseLabel { ...props } as=\"label\" />;\n\nexport const LabelWrapper = styled( FlexItem )`\n\tmax-width: calc( 100% - 10px );\n`;\n\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisFocused?: boolean;\n};\n\nconst backdropFocusedStyles = ( {\n\tdisabled,\n\tisFocused,\n}: BackdropProps ): SerializedStyles => {\n\tlet borderColor = isFocused ? COLORS.ui.borderFocus : COLORS.ui.border;\n\n\tlet boxShadow;\n\n\tif ( isFocused ) {\n\t\tboxShadow = `0 0 0 1px ${ COLORS.ui.borderFocus } inset`;\n\t}\n\n\tif ( disabled ) {\n\t\tborderColor = COLORS.ui.borderDisabled;\n\t}\n\n\treturn css( {\n\t\tboxShadow,\n\t\tborderColor,\n\t\tborderStyle: 'solid',\n\t\tborderWidth: 1,\n\t} );\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-radius: inherit;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\n\t\t${ backdropFocusedStyles }\n\t\t${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Prefix = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n`;\n\nexport const Suffix = styled.span`\n\talign-items: center;\n\talign-self: stretch;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n`;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"names":["css","Flex","FlexItem","Text","COLORS","rtl","space","rootFocusedStyles","isFocused","rootLabelPositionStyles","labelPosition","Root","containerDisabledStyles","disabled","backgroundColor","ui","backgroundDisabled","background","containerMarginStyles","hideLabel","containerWidthStyles","__unstableInputWidth","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","fontSize","fontSizeMobile","getSizeConfig","__next36pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","labelMargin","marginBottom","marginTop","marginRight","marginLeft","BaseLabel","Label","LabelWrapper","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { css, SerializedStyles } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../ui/context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { COLORS, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\nimport { space } from '../../ui/utils/space';\n\ntype ContainerProps = {\n\tdisabled?: boolean;\n\thideLabel?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\tlabelPosition?: LabelPosition;\n};\n\ntype RootProps = {\n\tisFocused?: boolean;\n\tlabelPosition?: LabelPosition;\n};\n\nconst rootFocusedStyles = ( { isFocused }: RootProps ) => {\n\tif ( ! isFocused ) return '';\n\n\treturn css( { zIndex: 1 } );\n};\n\nconst rootLabelPositionStyles = ( { labelPosition }: RootProps ) => {\n\tswitch ( labelPosition ) {\n\t\tcase 'top':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column;\n\t\t\t`;\n\t\tcase 'bottom':\n\t\t\treturn css`\n\t\t\t\talign-items: flex-start;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t`;\n\t\tcase 'edge':\n\t\t\treturn css`\n\t\t\t\tjustify-content: space-between;\n\t\t\t`;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nexport const Root = styled( Flex )< RootProps >`\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\n\t${ rootLabelPositionStyles }\n`;\n\nconst containerDisabledStyles = ( { disabled }: ContainerProps ) => {\n\tconst backgroundColor = disabled\n\t\t? COLORS.ui.backgroundDisabled\n\t\t: COLORS.ui.background;\n\n\treturn css( { backgroundColor } );\n};\n\n// Normalizes the margins from the <Flex /> (components/ui/flex/) container.\nconst containerMarginStyles = ( { hideLabel }: ContainerProps ) => {\n\treturn hideLabel ? css( { margin: '0 !important' } ) : null;\n};\n\nconst containerWidthStyles = ( {\n\t__unstableInputWidth,\n\tlabelPosition,\n}: ContainerProps ) => {\n\tif ( ! __unstableInputWidth ) return css( { width: '100%' } );\n\n\tif ( labelPosition === 'side' ) return '';\n\n\tif ( labelPosition === 'edge' ) {\n\t\treturn css( {\n\t\t\tflex: `0 0 ${ __unstableInputWidth }`,\n\t\t} );\n\t}\n\n\treturn css( { width: __unstableInputWidth } );\n};\n\nexport const Container = styled.div< ContainerProps >`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tborder-radius: inherit;\n\tdisplay: flex;\n\tflex: 1;\n\tposition: relative;\n\n\t${ containerDisabledStyles }\n\t${ containerMarginStyles }\n\t${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next36pxDefaultSize?: boolean;\n\tdisabled?: boolean;\n\tinputSize?: Size;\n\tisDragging?: boolean;\n\tdragCursor?: CSSProperties[ 'cursor' ];\n\tpaddingInlineStart?: CSSProperties[ 'paddingInlineStart' ];\n\tpaddingInlineEnd?: CSSProperties[ 'paddingInlineEnd' ];\n};\n\nconst disabledStyles = ( { disabled }: InputProps ) => {\n\tif ( ! disabled ) return '';\n\n\treturn css( {\n\t\tcolor: COLORS.ui.textDisabled,\n\t} );\n};\n\nconst fontSizeStyles = ( { inputSize: size }: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: '13px',\n\t\tsmall: '11px',\n\t\t'__unstable-large': '13px',\n\t};\n\n\tconst fontSize = sizes[ size as Size ] || sizes.default;\n\tconst fontSizeMobile = '16px';\n\n\tif ( ! fontSize ) return '';\n\n\treturn css`\n\t\tfont-size: ${ fontSizeMobile };\n\n\t\t@media ( min-width: 600px ) {\n\t\t\tfont-size: ${ fontSize };\n\t\t}\n\t`;\n};\n\nexport const getSizeConfig = ( {\n\tinputSize: size,\n\t__next36pxDefaultSize,\n}: InputProps ) => {\n\t// Paddings may be overridden by the custom paddings props.\n\tconst sizes = {\n\t\tdefault: {\n\t\t\theight: 36,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 36,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t\tsmall: {\n\t\t\theight: 24,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 24,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t},\n\t\t'__unstable-large': {\n\t\t\theight: 40,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 40,\n\t\t\tpaddingLeft: space( 4 ),\n\t\t\tpaddingRight: space( 4 ),\n\t\t},\n\t};\n\n\tif ( ! __next36pxDefaultSize ) {\n\t\tsizes.default = {\n\t\t\theight: 30,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 30,\n\t\t\tpaddingLeft: space( 2 ),\n\t\t\tpaddingRight: space( 2 ),\n\t\t};\n\t}\n\n\treturn sizes[ size as Size ] || sizes.default;\n};\n\nconst sizeStyles = ( props: InputProps ) => {\n\treturn css( getSizeConfig( props ) );\n};\n\nconst customPaddings = ( {\n\tpaddingInlineStart,\n\tpaddingInlineEnd,\n}: InputProps ) => {\n\treturn css( { paddingInlineStart, paddingInlineEnd } );\n};\n\nconst dragStyles = ( { isDragging, dragCursor }: InputProps ) => {\n\tlet defaultArrowStyles: SerializedStyles | undefined;\n\tlet activeDragCursorStyles: SerializedStyles | undefined;\n\n\tif ( isDragging ) {\n\t\tdefaultArrowStyles = css`\n\t\t\tcursor: ${ dragCursor };\n\t\t\tuser-select: none;\n\n\t\t\t&::-webkit-outer-spin-button,\n\t\t\t&::-webkit-inner-spin-button {\n\t\t\t\t-webkit-appearance: none !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t}\n\t\t`;\n\t}\n\n\tif ( isDragging && dragCursor ) {\n\t\tactiveDragCursorStyles = css`\n\t\t\t&:active {\n\t\t\t\tcursor: ${ dragCursor };\n\t\t\t}\n\t\t`;\n\t}\n\n\treturn css`\n\t\t${ defaultArrowStyles }\n\t\t${ activeDragCursorStyles }\n\t`;\n};\n\n// TODO: Resolve need to use &&& to increase specificity\n// https://github.com/WordPress/gutenberg/issues/18483\n\nexport const Input = styled.input< InputProps >`\n\t&&& {\n\t\tbackground-color: transparent;\n\t\tbox-sizing: border-box;\n\t\tborder: none;\n\t\tbox-shadow: none !important;\n\t\tcolor: ${ COLORS.gray[ 900 ] };\n\t\tdisplay: block;\n\t\tfont-family: inherit;\n\t\tmargin: 0;\n\t\toutline: none;\n\t\twidth: 100%;\n\n\t\t${ dragStyles }\n\t\t${ disabledStyles }\n\t\t${ fontSizeStyles }\n\t\t${ sizeStyles }\n\t\t${ customPaddings }\n\n\t\t&::-webkit-input-placeholder {\n\t\t\tline-height: normal;\n\t\t}\n\t}\n`;\n\nconst labelMargin = ( {\n\tlabelPosition,\n}: {\n\tlabelPosition?: LabelPosition;\n} ) => {\n\tlet marginBottom = 8;\n\n\tif ( labelPosition === 'edge' || labelPosition === 'side' ) {\n\t\tmarginBottom = 0;\n\t}\n\n\treturn css( { marginTop: 0, marginRight: 0, marginBottom, marginLeft: 0 } );\n};\n\nconst BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tdisplay: block;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t\tmax-width: 100%;\n\t\tz-index: 1;\n\n\t\t${ labelMargin }\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n`;\n\nexport const Label = (\n\tprops: WordPressComponentProps<\n\t\t{ labelPosition?: LabelPosition; children: ReactNode },\n\t\t'label',\n\t\tfalse\n\t>\n) => <BaseLabel { ...props } as=\"label\" />;\n\nexport const LabelWrapper = styled( FlexItem )`\n\tmax-width: calc( 100% - 10px );\n`;\n\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisFocused?: boolean;\n};\n\nconst backdropFocusedStyles = ( {\n\tdisabled,\n\tisFocused,\n}: BackdropProps ): SerializedStyles => {\n\tlet borderColor = isFocused ? COLORS.ui.borderFocus : COLORS.ui.border;\n\n\tlet boxShadow;\n\n\tif ( isFocused ) {\n\t\tboxShadow = `0 0 0 1px ${ COLORS.ui.borderFocus } inset`;\n\t}\n\n\tif ( disabled ) {\n\t\tborderColor = COLORS.ui.borderDisabled;\n\t}\n\n\treturn css( {\n\t\tboxShadow,\n\t\tborderColor,\n\t\tborderStyle: 'solid',\n\t\tborderWidth: 1,\n\t} );\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-radius: inherit;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 0;\n\n\t\t${ backdropFocusedStyles }\n\t\t${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Prefix = styled.span`\n\tbox-sizing: border-box;\n\tdisplay: block;\n`;\n\nexport const Suffix = styled.span`\n\talign-items: center;\n\talign-self: stretch;\n\tbox-sizing: border-box;\n\tdisplay: flex;\n`;\n"]}
@@ -6,7 +6,6 @@ import { createElement } from "@wordpress/element";
6
6
  * External dependencies
7
7
  */
8
8
  import classnames from 'classnames';
9
- import { isString } from 'lodash';
10
9
  /**
11
10
  * WordPress dependencies
12
11
  */
@@ -43,7 +42,7 @@ export function MenuItem(props, ref) {
43
42
  }, info));
44
43
  }
45
44
 
46
- if (icon && !isString(icon)) {
45
+ if (icon && typeof icon !== 'string') {
47
46
  icon = cloneElement(icon, {
48
47
  className: classnames('components-menu-items__item-icon', {
49
48
  'has-icon-right': iconPosition === 'right'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/menu-item/index.js"],"names":["classnames","isString","cloneElement","forwardRef","Shortcut","Button","Icon","MenuItem","props","ref","children","info","className","icon","iconPosition","shortcut","isSelected","role","buttonProps","undefined"],"mappings":";;AAAA;;AACA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,QAAT,QAAyB,QAAzB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,oBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AAEA,OAAO,SAASC,QAAT,CAAmBC,KAAnB,EAA0BC,GAA1B,EAAgC;AACtC,MAAI;AACHC,IAAAA,QADG;AAEHC,IAAAA,IAFG;AAGHC,IAAAA,SAHG;AAIHC,IAAAA,IAJG;AAKHC,IAAAA,YAAY,GAAG,OALZ;AAMHC,IAAAA,QANG;AAOHC,IAAAA,UAPG;AAQHC,IAAAA,IAAI,GAAG,UARJ;AASH,OAAGC;AATA,MAUAV,KAVJ;AAYAI,EAAAA,SAAS,GAAGZ,UAAU,CAAE,8BAAF,EAAkCY,SAAlC,CAAtB;;AAEA,MAAKD,IAAL,EAAY;AACXD,IAAAA,QAAQ,GACP;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC;AAAM,MAAA,SAAS,EAAC;AAAhB,OAA+CA,QAA/C,CADD,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OAA+CC,IAA/C,CAFD,CADD;AAMA;;AAED,MAAKE,IAAI,IAAI,CAAEZ,QAAQ,CAAEY,IAAF,CAAvB,EAAkC;AACjCA,IAAAA,IAAI,GAAGX,YAAY,CAAEW,IAAF,EAAQ;AAC1BD,MAAAA,SAAS,EAAEZ,UAAU,CAAE,kCAAF,EAAsC;AAC1D,0BAAkBc,YAAY,KAAK;AADuB,OAAtC;AADK,KAAR,CAAnB;AAKA;;AAED,SACC,cAAC,MAAD;AACC,IAAA,GAAG,EAAGL,GADP,CAEC;AAFD;AAGC,oBACCQ,IAAI,KAAK,kBAAT,IAA+BA,IAAI,KAAK,eAAxC,GACGD,UADH,GAEGG,SANL;AAQC,IAAA,IAAI,EAAGF,IARR;AASC,IAAA,IAAI,EAAGH,YAAY,KAAK,MAAjB,GAA0BD,IAA1B,GAAiCM,SATzC;AAUC,IAAA,SAAS,EAAGP;AAVb,KAWMM,WAXN,GAaC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAA+CR,QAA/C,CAbD,EAcC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,IAAA,QAAQ,EAAGK;AAFZ,IAdD,EAkBGF,IAAI,IAAIC,YAAY,KAAK,OAAzB,IAAoC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGD;AAAb,IAlBvC,CADD;AAsBA;AAED,eAAeV,UAAU,CAAEI,QAAF,CAAzB","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Shortcut from '../shortcut';\nimport Button from '../button';\nimport Icon from '../icon';\n\nexport function MenuItem( props, ref ) {\n\tlet {\n\t\tchildren,\n\t\tinfo,\n\t\tclassName,\n\t\ticon,\n\t\ticonPosition = 'right',\n\t\tshortcut,\n\t\tisSelected,\n\t\trole = 'menuitem',\n\t\t...buttonProps\n\t} = props;\n\n\tclassName = classnames( 'components-menu-item__button', className );\n\n\tif ( info ) {\n\t\tchildren = (\n\t\t\t<span className=\"components-menu-item__info-wrapper\">\n\t\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t\t<span className=\"components-menu-item__info\">{ info }</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\tif ( icon && ! isString( icon ) ) {\n\t\ticon = cloneElement( icon, {\n\t\t\tclassName: classnames( 'components-menu-items__item-icon', {\n\t\t\t\t'has-icon-right': iconPosition === 'right',\n\t\t\t} ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tref={ ref }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\trole === 'menuitemcheckbox' || role === 'menuitemradio'\n\t\t\t\t\t? isSelected\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\trole={ role }\n\t\t\ticon={ iconPosition === 'left' ? icon : undefined }\n\t\t\tclassName={ className }\n\t\t\t{ ...buttonProps }\n\t\t>\n\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t<Shortcut\n\t\t\t\tclassName=\"components-menu-item__shortcut\"\n\t\t\t\tshortcut={ shortcut }\n\t\t\t/>\n\t\t\t{ icon && iconPosition === 'right' && <Icon icon={ icon } /> }\n\t\t</Button>\n\t);\n}\n\nexport default forwardRef( MenuItem );\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/menu-item/index.js"],"names":["classnames","cloneElement","forwardRef","Shortcut","Button","Icon","MenuItem","props","ref","children","info","className","icon","iconPosition","shortcut","isSelected","role","buttonProps","undefined"],"mappings":";;AAAA;;AACA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,oBAAzC;AAEA;AACA;AACA;;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AAEA,OAAO,SAASC,QAAT,CAAmBC,KAAnB,EAA0BC,GAA1B,EAAgC;AACtC,MAAI;AACHC,IAAAA,QADG;AAEHC,IAAAA,IAFG;AAGHC,IAAAA,SAHG;AAIHC,IAAAA,IAJG;AAKHC,IAAAA,YAAY,GAAG,OALZ;AAMHC,IAAAA,QANG;AAOHC,IAAAA,UAPG;AAQHC,IAAAA,IAAI,GAAG,UARJ;AASH,OAAGC;AATA,MAUAV,KAVJ;AAYAI,EAAAA,SAAS,GAAGX,UAAU,CAAE,8BAAF,EAAkCW,SAAlC,CAAtB;;AAEA,MAAKD,IAAL,EAAY;AACXD,IAAAA,QAAQ,GACP;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC;AAAM,MAAA,SAAS,EAAC;AAAhB,OAA+CA,QAA/C,CADD,EAEC;AAAM,MAAA,SAAS,EAAC;AAAhB,OAA+CC,IAA/C,CAFD,CADD;AAMA;;AAED,MAAKE,IAAI,IAAI,OAAOA,IAAP,KAAgB,QAA7B,EAAwC;AACvCA,IAAAA,IAAI,GAAGX,YAAY,CAAEW,IAAF,EAAQ;AAC1BD,MAAAA,SAAS,EAAEX,UAAU,CAAE,kCAAF,EAAsC;AAC1D,0BAAkBa,YAAY,KAAK;AADuB,OAAtC;AADK,KAAR,CAAnB;AAKA;;AAED,SACC,cAAC,MAAD;AACC,IAAA,GAAG,EAAGL,GADP,CAEC;AAFD;AAGC,oBACCQ,IAAI,KAAK,kBAAT,IAA+BA,IAAI,KAAK,eAAxC,GACGD,UADH,GAEGG,SANL;AAQC,IAAA,IAAI,EAAGF,IARR;AASC,IAAA,IAAI,EAAGH,YAAY,KAAK,MAAjB,GAA0BD,IAA1B,GAAiCM,SATzC;AAUC,IAAA,SAAS,EAAGP;AAVb,KAWMM,WAXN,GAaC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAA+CR,QAA/C,CAbD,EAcC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,IAAA,QAAQ,EAAGK;AAFZ,IAdD,EAkBGF,IAAI,IAAIC,YAAY,KAAK,OAAzB,IAAoC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGD;AAAb,IAlBvC,CADD;AAsBA;AAED,eAAeV,UAAU,CAAEI,QAAF,CAAzB","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Shortcut from '../shortcut';\nimport Button from '../button';\nimport Icon from '../icon';\n\nexport function MenuItem( props, ref ) {\n\tlet {\n\t\tchildren,\n\t\tinfo,\n\t\tclassName,\n\t\ticon,\n\t\ticonPosition = 'right',\n\t\tshortcut,\n\t\tisSelected,\n\t\trole = 'menuitem',\n\t\t...buttonProps\n\t} = props;\n\n\tclassName = classnames( 'components-menu-item__button', className );\n\n\tif ( info ) {\n\t\tchildren = (\n\t\t\t<span className=\"components-menu-item__info-wrapper\">\n\t\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t\t<span className=\"components-menu-item__info\">{ info }</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\tif ( icon && typeof icon !== 'string' ) {\n\t\ticon = cloneElement( icon, {\n\t\t\tclassName: classnames( 'components-menu-items__item-icon', {\n\t\t\t\t'has-icon-right': iconPosition === 'right',\n\t\t\t} ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tref={ ref }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\trole === 'menuitemcheckbox' || role === 'menuitemradio'\n\t\t\t\t\t? isSelected\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\trole={ role }\n\t\t\ticon={ iconPosition === 'left' ? icon : undefined }\n\t\t\tclassName={ className }\n\t\t\t{ ...buttonProps }\n\t\t>\n\t\t\t<span className=\"components-menu-item__item\">{ children }</span>\n\t\t\t<Shortcut\n\t\t\t\tclassName=\"components-menu-item__shortcut\"\n\t\t\t\tshortcut={ shortcut }\n\t\t\t/>\n\t\t\t{ icon && iconPosition === 'right' && <Icon icon={ icon } /> }\n\t\t</Button>\n\t);\n}\n\nexport default forwardRef( MenuItem );\n"]}
@@ -102,7 +102,6 @@ class KeyboardAvoidingView extends Component {
102
102
  children,
103
103
  enabled,
104
104
  keyboardVerticalOffset,
105
- // eslint-disable-line no-unused-vars
106
105
  style,
107
106
  ...props
108
107
  } = this.props;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js"],"names":["Keyboard","LayoutAnimation","Platform","StyleSheet","View","Dimensions","Component","KeyboardAvoidingView","constructor","arguments","_onKeyboardChange","bind","_subscriptions","state","bottom","_relativeKeyboardHeight","keyboardFrame","windowWidth","get","width","isFloatingKeyboard","windowHeight","height","keyboardY","screenY","props","keyboardVerticalOffset","final","Math","max","event","setState","duration","easing","endCoordinates","configureNext","update","type","Types","componentDidMount","OS","addListener","componentWillUnmount","forEach","subscription","remove","render","children","enabled","style","finalStyle","bottomHeight","compose","paddingBottom","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tKeyboard,\n\tLayoutAnimation,\n\tPlatform,\n\tStyleSheet,\n\tView,\n\tDimensions,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * This is a simplified version of Facebook's KeyboardAvoidingView.\n * It's meant to work specifically with BottomSheets.\n * This fixes an issue in the bottom padding calculation, when the\n * BottomSheet was presented on Landscape, with the keyboard already present,\n * and a TextField on Autofocus (situation present on Links UI)\n */\nclass KeyboardAvoidingView extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis._onKeyboardChange = this._onKeyboardChange.bind( this );\n\t\tthis._subscriptions = [];\n\t\tthis.state = {\n\t\t\tbottom: 0,\n\t\t};\n\t}\n\n\t_relativeKeyboardHeight( keyboardFrame ) {\n\t\tif ( ! keyboardFrame ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst windowWidth = Dimensions.get( 'window' ).width;\n\t\tconst isFloatingKeyboard = keyboardFrame.width !== windowWidth;\n\t\tif ( isFloatingKeyboard ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst windowHeight = Dimensions.get( 'window' ).height;\n\t\tconst keyboardY =\n\t\t\tkeyboardFrame.screenY - this.props.keyboardVerticalOffset;\n\n\t\tconst final = Math.max( windowHeight - keyboardY, 0 );\n\t\treturn final;\n\t}\n\n\t/**\n\t * @param {Object} event Keyboard event.\n\t */\n\t_onKeyboardChange( event ) {\n\t\tif ( event === null ) {\n\t\t\tthis.setState( { bottom: 0 } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { duration, easing, endCoordinates } = event;\n\t\tconst height = this._relativeKeyboardHeight( endCoordinates );\n\n\t\tif ( this.state.bottom === height ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( duration && easing ) {\n\t\t\tLayoutAnimation.configureNext( {\n\t\t\t\tduration,\n\t\t\t\tupdate: {\n\t\t\t\t\tduration,\n\t\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\tthis.setState( { bottom: height } );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( Platform.OS === 'ios' ) {\n\t\t\tthis._subscriptions = [\n\t\t\t\tKeyboard.addListener(\n\t\t\t\t\t'keyboardWillChangeFrame',\n\t\t\t\t\tthis._onKeyboardChange\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._subscriptions.forEach( ( subscription ) => {\n\t\t\tsubscription.remove();\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tchildren,\n\t\t\tenabled,\n\t\t\tkeyboardVerticalOffset, // eslint-disable-line no-unused-vars\n\t\t\tstyle,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tlet finalStyle = style;\n\t\tif ( Platform.OS === 'ios' ) {\n\t\t\tconst bottomHeight = enabled ? this.state.bottom : 0;\n\t\t\tfinalStyle = StyleSheet.compose( style, {\n\t\t\t\tpaddingBottom: bottomHeight,\n\t\t\t} );\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ finalStyle } { ...props }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nKeyboardAvoidingView.defaultProps = {\n\tenabled: true,\n\tkeyboardVerticalOffset: 0,\n};\n\nexport default KeyboardAvoidingView;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/keyboard-avoiding-view.native.js"],"names":["Keyboard","LayoutAnimation","Platform","StyleSheet","View","Dimensions","Component","KeyboardAvoidingView","constructor","arguments","_onKeyboardChange","bind","_subscriptions","state","bottom","_relativeKeyboardHeight","keyboardFrame","windowWidth","get","width","isFloatingKeyboard","windowHeight","height","keyboardY","screenY","props","keyboardVerticalOffset","final","Math","max","event","setState","duration","easing","endCoordinates","configureNext","update","type","Types","componentDidMount","OS","addListener","componentWillUnmount","forEach","subscription","remove","render","children","enabled","style","finalStyle","bottomHeight","compose","paddingBottom","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tKeyboard,\n\tLayoutAnimation,\n\tPlatform,\n\tStyleSheet,\n\tView,\n\tDimensions,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * This is a simplified version of Facebook's KeyboardAvoidingView.\n * It's meant to work specifically with BottomSheets.\n * This fixes an issue in the bottom padding calculation, when the\n * BottomSheet was presented on Landscape, with the keyboard already present,\n * and a TextField on Autofocus (situation present on Links UI)\n */\nclass KeyboardAvoidingView extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis._onKeyboardChange = this._onKeyboardChange.bind( this );\n\t\tthis._subscriptions = [];\n\t\tthis.state = {\n\t\t\tbottom: 0,\n\t\t};\n\t}\n\n\t_relativeKeyboardHeight( keyboardFrame ) {\n\t\tif ( ! keyboardFrame ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst windowWidth = Dimensions.get( 'window' ).width;\n\t\tconst isFloatingKeyboard = keyboardFrame.width !== windowWidth;\n\t\tif ( isFloatingKeyboard ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst windowHeight = Dimensions.get( 'window' ).height;\n\t\tconst keyboardY =\n\t\t\tkeyboardFrame.screenY - this.props.keyboardVerticalOffset;\n\n\t\tconst final = Math.max( windowHeight - keyboardY, 0 );\n\t\treturn final;\n\t}\n\n\t/**\n\t * @param {Object} event Keyboard event.\n\t */\n\t_onKeyboardChange( event ) {\n\t\tif ( event === null ) {\n\t\t\tthis.setState( { bottom: 0 } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { duration, easing, endCoordinates } = event;\n\t\tconst height = this._relativeKeyboardHeight( endCoordinates );\n\n\t\tif ( this.state.bottom === height ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( duration && easing ) {\n\t\t\tLayoutAnimation.configureNext( {\n\t\t\t\tduration,\n\t\t\t\tupdate: {\n\t\t\t\t\tduration,\n\t\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\tthis.setState( { bottom: height } );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( Platform.OS === 'ios' ) {\n\t\t\tthis._subscriptions = [\n\t\t\t\tKeyboard.addListener(\n\t\t\t\t\t'keyboardWillChangeFrame',\n\t\t\t\t\tthis._onKeyboardChange\n\t\t\t\t),\n\t\t\t];\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis._subscriptions.forEach( ( subscription ) => {\n\t\t\tsubscription.remove();\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { children, enabled, keyboardVerticalOffset, style, ...props } =\n\t\t\tthis.props;\n\n\t\tlet finalStyle = style;\n\t\tif ( Platform.OS === 'ios' ) {\n\t\t\tconst bottomHeight = enabled ? this.state.bottom : 0;\n\t\t\tfinalStyle = StyleSheet.compose( style, {\n\t\t\t\tpaddingBottom: bottomHeight,\n\t\t\t} );\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ finalStyle } { ...props }>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nKeyboardAvoidingView.defaultProps = {\n\tenabled: true,\n\tkeyboardVerticalOffset: 0,\n};\n\nexport default KeyboardAvoidingView;\n"]}
@@ -11,7 +11,7 @@ import { useRoute, useNavigation } from '@react-navigation/native';
11
11
  */
12
12
 
13
13
  import { __ } from '@wordpress/i18n';
14
- import { memo, useContext, useState } from '@wordpress/element';
14
+ import { memo, useContext, useState, useCallback } from '@wordpress/element';
15
15
  import { BottomSheetContext, FocalPointPicker } from '@wordpress/components';
16
16
  /**
17
17
  * Internal dependencies
@@ -52,7 +52,7 @@ const FocalPointSettingsPanelMemo = memo(_ref => {
52
52
  onPress: () => onButtonPress('apply')
53
53
  })), createElement(FocalPointPicker, {
54
54
  focalPoint: draftFocalPoint,
55
- onChange: setPosition,
55
+ onChange: useCallback(setPosition, []),
56
56
  shouldEnableBottomSheetScroll: shouldEnableBottomSheetScroll,
57
57
  url: url
58
58
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/focal-point-settings-panel/index.native.js"],"names":["SafeAreaView","useRoute","useNavigation","__","memo","useContext","useState","BottomSheetContext","FocalPointPicker","NavBar","styles","FocalPointSettingsPanelMemo","focalPoint","onFocalPointChange","shouldEnableBottomSheetScroll","url","navigation","onButtonPress","action","goBack","draftFocalPoint","setDraftFocalPoint","setPosition","coordinates","prevState","safearea","FocalPointSettingsPanel","props","route","params"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,cAA7B;AACA,SAASC,QAAT,EAAmBC,aAAnB,QAAwC,0BAAxC;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,UAAf,EAA2BC,QAA3B,QAA2C,oBAA3C;AACA,SAASC,kBAAT,EAA6BC,gBAA7B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,MAAMC,2BAA2B,GAAGP,IAAI,CACvC,QAKO;AAAA,MALL;AACDQ,IAAAA,UADC;AAEDC,IAAAA,kBAFC;AAGDC,IAAAA,6BAHC;AAIDC,IAAAA;AAJC,GAKK;AACN,QAAMC,UAAU,GAAGd,aAAa,EAAhC;;AAEA,WAASe,aAAT,CAAwBC,MAAxB,EAAiC;AAChCF,IAAAA,UAAU,CAACG,MAAX;;AACA,QAAKD,MAAM,KAAK,OAAhB,EAA0B;AACzBL,MAAAA,kBAAkB,CAAEO,eAAF,CAAlB;AACA;AACD;;AAED,QAAM,CAAEA,eAAF,EAAmBC,kBAAnB,IAA0Cf,QAAQ,CAAEM,UAAF,CAAxD;;AACA,WAASU,WAAT,CAAsBC,WAAtB,EAAoC;AACnCF,IAAAA,kBAAkB,CAAIG,SAAF,KAAmB,EACtC,GAAGA,SADmC;AAEtC,SAAGD;AAFmC,KAAnB,CAAF,CAAlB;AAIA;;AAED,SACC,cAAC,YAAD;AAAc,IAAA,KAAK,EAAGb,MAAM,CAACe;AAA7B,KACC,cAAC,MAAD,QACC,cAAC,MAAD,CAAQ,aAAR;AACC,IAAA,OAAO,EAAG,MAAMR,aAAa,CAAE,QAAF;AAD9B,IADD,EAIC,cAAC,MAAD,CAAQ,OAAR,QACGd,EAAE,CAAE,kBAAF,CADL,CAJD,EAOC,cAAC,MAAD,CAAQ,WAAR;AACC,IAAA,OAAO,EAAG,MAAMc,aAAa,CAAE,OAAF;AAD9B,IAPD,CADD,EAYC,cAAC,gBAAD;AACC,IAAA,UAAU,EAAGG,eADd;AAEC,IAAA,QAAQ,EAAGE,WAFZ;AAGC,IAAA,6BAA6B,EAC5BR,6BAJF;AAMC,IAAA,GAAG,EAAGC;AANP,IAZD,CADD;AAuBA,CA/CsC,CAAxC;;AAkDA,SAASW,uBAAT,CAAkCC,KAAlC,EAA0C;AACzC,QAAMC,KAAK,GAAG3B,QAAQ,EAAtB;AACA,QAAM;AAAEa,IAAAA;AAAF,MAAoCT,UAAU,CAAEE,kBAAF,CAApD;AAEA,SACC,cAAC,2BAAD;AACC,IAAA,6BAA6B,EAAGO;AADjC,KAEMa,KAFN,EAGMC,KAAK,CAACC,MAHZ,EADD;AAOA;;AAED,eAAeH,uBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView } from 'react-native';\nimport { useRoute, useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { memo, useContext, useState } from '@wordpress/element';\nimport { BottomSheetContext, FocalPointPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\nconst FocalPointSettingsPanelMemo = memo(\n\t( {\n\t\tfocalPoint,\n\t\tonFocalPointChange,\n\t\tshouldEnableBottomSheetScroll,\n\t\turl,\n\t} ) => {\n\t\tconst navigation = useNavigation();\n\n\t\tfunction onButtonPress( action ) {\n\t\t\tnavigation.goBack();\n\t\t\tif ( action === 'apply' ) {\n\t\t\t\tonFocalPointChange( draftFocalPoint );\n\t\t\t}\n\t\t}\n\n\t\tconst [ draftFocalPoint, setDraftFocalPoint ] = useState( focalPoint );\n\t\tfunction setPosition( coordinates ) {\n\t\t\tsetDraftFocalPoint( ( prevState ) => ( {\n\t\t\t\t...prevState,\n\t\t\t\t...coordinates,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn (\n\t\t\t<SafeAreaView style={ styles.safearea }>\n\t\t\t\t<NavBar>\n\t\t\t\t\t<NavBar.DismissButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'cancel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<NavBar.Heading>\n\t\t\t\t\t\t{ __( 'Edit focal point' ) }\n\t\t\t\t\t</NavBar.Heading>\n\t\t\t\t\t<NavBar.ApplyButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'apply' ) }\n\t\t\t\t\t/>\n\t\t\t\t</NavBar>\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tfocalPoint={ draftFocalPoint }\n\t\t\t\t\tonChange={ setPosition }\n\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t}\n\t\t\t\t\turl={ url }\n\t\t\t\t/>\n\t\t\t</SafeAreaView>\n\t\t);\n\t}\n);\n\nfunction FocalPointSettingsPanel( props ) {\n\tconst route = useRoute();\n\tconst { shouldEnableBottomSheetScroll } = useContext( BottomSheetContext );\n\n\treturn (\n\t\t<FocalPointSettingsPanelMemo\n\t\t\tshouldEnableBottomSheetScroll={ shouldEnableBottomSheetScroll }\n\t\t\t{ ...props }\n\t\t\t{ ...route.params }\n\t\t/>\n\t);\n}\n\nexport default FocalPointSettingsPanel;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/focal-point-settings-panel/index.native.js"],"names":["SafeAreaView","useRoute","useNavigation","__","memo","useContext","useState","useCallback","BottomSheetContext","FocalPointPicker","NavBar","styles","FocalPointSettingsPanelMemo","focalPoint","onFocalPointChange","shouldEnableBottomSheetScroll","url","navigation","onButtonPress","action","goBack","draftFocalPoint","setDraftFocalPoint","setPosition","coordinates","prevState","safearea","FocalPointSettingsPanel","props","route","params"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,cAA7B;AACA,SAASC,QAAT,EAAmBC,aAAnB,QAAwC,0BAAxC;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,UAAf,EAA2BC,QAA3B,EAAqCC,WAArC,QAAwD,oBAAxD;AACA,SAASC,kBAAT,EAA6BC,gBAA7B,QAAqD,uBAArD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,MAAMC,2BAA2B,GAAGR,IAAI,CACvC,QAKO;AAAA,MALL;AACDS,IAAAA,UADC;AAEDC,IAAAA,kBAFC;AAGDC,IAAAA,6BAHC;AAIDC,IAAAA;AAJC,GAKK;AACN,QAAMC,UAAU,GAAGf,aAAa,EAAhC;;AAEA,WAASgB,aAAT,CAAwBC,MAAxB,EAAiC;AAChCF,IAAAA,UAAU,CAACG,MAAX;;AACA,QAAKD,MAAM,KAAK,OAAhB,EAA0B;AACzBL,MAAAA,kBAAkB,CAAEO,eAAF,CAAlB;AACA;AACD;;AAED,QAAM,CAAEA,eAAF,EAAmBC,kBAAnB,IAA0ChB,QAAQ,CAAEO,UAAF,CAAxD;;AACA,WAASU,WAAT,CAAsBC,WAAtB,EAAoC;AACnCF,IAAAA,kBAAkB,CAAIG,SAAF,KAAmB,EACtC,GAAGA,SADmC;AAEtC,SAAGD;AAFmC,KAAnB,CAAF,CAAlB;AAIA;;AAED,SACC,cAAC,YAAD;AAAc,IAAA,KAAK,EAAGb,MAAM,CAACe;AAA7B,KACC,cAAC,MAAD,QACC,cAAC,MAAD,CAAQ,aAAR;AACC,IAAA,OAAO,EAAG,MAAMR,aAAa,CAAE,QAAF;AAD9B,IADD,EAIC,cAAC,MAAD,CAAQ,OAAR,QACGf,EAAE,CAAE,kBAAF,CADL,CAJD,EAOC,cAAC,MAAD,CAAQ,WAAR;AACC,IAAA,OAAO,EAAG,MAAMe,aAAa,CAAE,OAAF;AAD9B,IAPD,CADD,EAYC,cAAC,gBAAD;AACC,IAAA,UAAU,EAAGG,eADd;AAEC,IAAA,QAAQ,EAAGd,WAAW,CAAEgB,WAAF,EAAe,EAAf,CAFvB;AAGC,IAAA,6BAA6B,EAC5BR,6BAJF;AAMC,IAAA,GAAG,EAAGC;AANP,IAZD,CADD;AAuBA,CA/CsC,CAAxC;;AAkDA,SAASW,uBAAT,CAAkCC,KAAlC,EAA0C;AACzC,QAAMC,KAAK,GAAG5B,QAAQ,EAAtB;AACA,QAAM;AAAEc,IAAAA;AAAF,MAAoCV,UAAU,CAAEG,kBAAF,CAApD;AAEA,SACC,cAAC,2BAAD;AACC,IAAA,6BAA6B,EAAGO;AADjC,KAEMa,KAFN,EAGMC,KAAK,CAACC,MAHZ,EADD;AAOA;;AAED,eAAeH,uBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView } from 'react-native';\nimport { useRoute, useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { memo, useContext, useState, useCallback } from '@wordpress/element';\nimport { BottomSheetContext, FocalPointPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\nconst FocalPointSettingsPanelMemo = memo(\n\t( {\n\t\tfocalPoint,\n\t\tonFocalPointChange,\n\t\tshouldEnableBottomSheetScroll,\n\t\turl,\n\t} ) => {\n\t\tconst navigation = useNavigation();\n\n\t\tfunction onButtonPress( action ) {\n\t\t\tnavigation.goBack();\n\t\t\tif ( action === 'apply' ) {\n\t\t\t\tonFocalPointChange( draftFocalPoint );\n\t\t\t}\n\t\t}\n\n\t\tconst [ draftFocalPoint, setDraftFocalPoint ] = useState( focalPoint );\n\t\tfunction setPosition( coordinates ) {\n\t\t\tsetDraftFocalPoint( ( prevState ) => ( {\n\t\t\t\t...prevState,\n\t\t\t\t...coordinates,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn (\n\t\t\t<SafeAreaView style={ styles.safearea }>\n\t\t\t\t<NavBar>\n\t\t\t\t\t<NavBar.DismissButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'cancel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<NavBar.Heading>\n\t\t\t\t\t\t{ __( 'Edit focal point' ) }\n\t\t\t\t\t</NavBar.Heading>\n\t\t\t\t\t<NavBar.ApplyButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'apply' ) }\n\t\t\t\t\t/>\n\t\t\t\t</NavBar>\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tfocalPoint={ draftFocalPoint }\n\t\t\t\t\tonChange={ useCallback( setPosition, [] ) }\n\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t}\n\t\t\t\t\turl={ url }\n\t\t\t\t/>\n\t\t\t</SafeAreaView>\n\t\t);\n\t}\n);\n\nfunction FocalPointSettingsPanel( props ) {\n\tconst route = useRoute();\n\tconst { shouldEnableBottomSheetScroll } = useContext( BottomSheetContext );\n\n\treturn (\n\t\t<FocalPointSettingsPanelMemo\n\t\t\tshouldEnableBottomSheetScroll={ shouldEnableBottomSheetScroll }\n\t\t\t{ ...props }\n\t\t\t{ ...route.params }\n\t\t/>\n\t);\n}\n\nexport default FocalPointSettingsPanel;\n"]}
@@ -4,7 +4,8 @@ import { createElement } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { Image, Text, View } from 'react-native';
7
+ import { Image as RNImage, Text, View } from 'react-native';
8
+ import FastImage from 'react-native-fast-image';
8
9
  /**
9
10
  * WordPress dependencies
10
11
  */
@@ -43,6 +44,7 @@ const ImageComponent = _ref => {
43
44
  height: imageHeight,
44
45
  highlightSelected = true,
45
46
  isSelected,
47
+ shouldUseFastImage,
46
48
  isUploadFailed,
47
49
  isUploadInProgress,
48
50
  mediaPickerOptions,
@@ -59,11 +61,13 @@ const ImageComponent = _ref => {
59
61
  } = _ref;
60
62
  const [imageData, setImageData] = useState(null);
61
63
  const [containerSize, setContainerSize] = useState(null);
64
+ const Image = !shouldUseFastImage ? RNImage : FastImage;
65
+ const imageResizeMode = !shouldUseFastImage ? resizeMode : FastImage.resizeMode[resizeMode];
62
66
  useEffect(() => {
63
67
  let isCurrent = true;
64
68
 
65
69
  if (url) {
66
- Image.getSize(url, (imgWidth, imgHeight) => {
70
+ RNImage.getSize(url, (imgWidth, imgHeight) => {
67
71
  if (!isCurrent) {
68
72
  return;
69
73
  }
@@ -135,6 +139,8 @@ const ImageComponent = _ref => {
135
139
  const imageStyles = [{
136
140
  opacity: isUploadInProgress ? 0.3 : 1,
137
141
  height: containerSize === null || containerSize === void 0 ? void 0 : containerSize.height
142
+ }, !resizeMode && {
143
+ aspectRatio: imageData === null || imageData === void 0 ? void 0 : imageData.aspectRatio
138
144
  }, focalPoint && styles.focalPoint, focalPoint && getImageWithFocalPointStyles(focalPoint, containerSize, imageData), !focalPoint && imageData && containerSize && {
139
145
  height: (imageData === null || imageData === void 0 ? void 0 : imageData.width) > (containerSize === null || containerSize === void 0 ? void 0 : containerSize.width) ? (containerSize === null || containerSize === void 0 ? void 0 : containerSize.width) / (imageData === null || imageData === void 0 ? void 0 : imageData.aspectRatio) : undefined
140
146
  }, imageHeight && {
@@ -166,9 +172,7 @@ const ImageComponent = _ref => {
166
172
  style: styles.imageUploadingIconContainer
167
173
  }, getIcon(ICON_TYPE.UPLOAD))) : createElement(View, {
168
174
  style: focalPoint && styles.focalPointContent
169
- }, createElement(Image, _extends({}, !resizeMode && {
170
- aspectRatio: imageData === null || imageData === void 0 ? void 0 : imageData.aspectRatio
171
- }, {
175
+ }, createElement(Image, _extends({
172
176
  style: imageStyles,
173
177
  source: {
174
178
  uri: url
@@ -176,7 +180,7 @@ const ImageComponent = _ref => {
176
180
  }, !focalPoint && {
177
181
  resizeMethod: 'scale'
178
182
  }, {
179
- resizeMode: resizeMode
183
+ resizeMode: imageResizeMode
180
184
  }))), isUploadFailed && retryMessage && createElement(View, {
181
185
  style: [styles.imageContainer, styles.retryContainer]
182
186
  }, createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["Image","Text","View","__","Icon","image","icon","usePreferredColorSchemeStyle","useEffect","useState","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","iconRetry","iconPlaceholderStyles","iconUploadStyles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Image, Text, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image as icon } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tisUploadFailed,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\topacity: isUploadInProgress ? 0.3 : 1,\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t{ ...( ! resizeMode && {\n\t\t\t\t\t\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ resizeMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadFailed && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tstyles.retryContainer,\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\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.retryIcon,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={ ! isUploadFailed && imageData && url }\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["Image","RNImage","Text","View","FastImage","__","Icon","image","icon","usePreferredColorSchemeStyle","useEffect","useState","getImageWithFocalPointStyles","styles","SvgIconRetry","ImageEditingButton","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","iconRetry","iconPlaceholderStyles","iconUploadStyles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image as icon } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst Image = ! shouldUseFastImage ? RNImage : FastImage;\n\tconst imageResizeMode = ! shouldUseFastImage\n\t\t? resizeMode\n\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\topacity: isUploadInProgress ? 0.3 : 1,\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadFailed && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tstyles.retryContainer,\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\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.retryIcon,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={ ! isUploadFailed && imageData && url }\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"]}
@@ -5,7 +5,6 @@ import { createElement } from "@wordpress/element";
5
5
  */
6
6
  import { SafeAreaView, TouchableOpacity, View } from 'react-native';
7
7
  import Clipboard from '@react-native-clipboard/clipboard';
8
- import { lowerCase, startsWith } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
@@ -25,8 +24,10 @@ import NavBar from '../bottom-sheet/nav-bar';
25
24
  import styles from './styles.scss'; // This creates a search suggestion for adding a url directly.
26
25
 
27
26
  export const createDirectEntry = value => {
27
+ var _getProtocol;
28
+
28
29
  let type = 'URL';
29
- const protocol = lowerCase(getProtocol(value)) || '';
30
+ const protocol = ((_getProtocol = getProtocol(value)) === null || _getProtocol === void 0 ? void 0 : _getProtocol.toLowerCase()) || '';
30
31
 
31
32
  if (protocol.includes('mailto')) {
32
33
  type = 'mailto';
@@ -36,7 +37,7 @@ export const createDirectEntry = value => {
36
37
  type = 'tel';
37
38
  }
38
39
 
39
- if (startsWith(value, '#')) {
40
+ if (value !== null && value !== void 0 && value.startsWith('#')) {
40
41
  type = 'internal';
41
42
  }
42
43
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"names":["SafeAreaView","TouchableOpacity","View","Clipboard","lowerCase","startsWith","useEffect","useState","__","sprintf","BottomSheet","Icon","getProtocol","isURL","prependHTTP","link","cancelCircleFilled","usePreferredColorSchemeStyle","LinkPickerResults","NavBar","styles","createDirectEntry","value","type","protocol","includes","isDirectEntry","title","url","getURLFromClipboard","text","getString","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","clipboardUrl","setValue","directEntry","pickLink","onSubmit","clear","omniCellStyle","omniCell","omniCellDark","iconStyle","icon","iconDark","then","catch","safeArea","contentContainer","omniInput","newValue","clearIcon","color"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\nimport { lowerCase, startsWith } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet, Icon } from '@wordpress/components';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\n// This creates a search suggestion for adding a url directly.\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = lowerCase( getProtocol( value ) ) || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( startsWith( value, '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ { value, clipboardUrl }, setValue ] = useState( {\n\t\tvalue: initialValue,\n\t\tclipboardUrl: '',\n\t} );\n\tconst directEntry = createDirectEntry( value );\n\n\t// The title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url.\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( { value: '', clipboardUrl } );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( ( url ) => setValue( { value, clipboardUrl: url } ) )\n\t\t\t.catch( () => setValue( { value, clipboardUrl: '' } ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ ( newValue ) => {\n\t\t\t\t\t\tsetValue( { value: newValue, clipboardUrl } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"names":["SafeAreaView","TouchableOpacity","View","Clipboard","useEffect","useState","__","sprintf","BottomSheet","Icon","getProtocol","isURL","prependHTTP","link","cancelCircleFilled","usePreferredColorSchemeStyle","LinkPickerResults","NavBar","styles","createDirectEntry","value","type","protocol","toLowerCase","includes","startsWith","isDirectEntry","title","url","getURLFromClipboard","text","getString","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","clipboardUrl","setValue","directEntry","pickLink","onSubmit","clear","omniCellStyle","omniCell","omniCellDark","iconStyle","icon","iconDark","then","catch","safeArea","contentContainer","omniInput","newValue","clearIcon","color"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BottomSheet, Icon } from '@wordpress/components';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\n// This creates a search suggestion for adding a url directly.\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = getProtocol( value )?.toLowerCase() || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( value?.startsWith( '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ { value, clipboardUrl }, setValue ] = useState( {\n\t\tvalue: initialValue,\n\t\tclipboardUrl: '',\n\t} );\n\tconst directEntry = createDirectEntry( value );\n\n\t// The title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url.\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( { value: '', clipboardUrl } );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( ( url ) => setValue( { value, clipboardUrl: url } ) )\n\t\t\t.catch( () => setValue( { value, clipboardUrl: '' } ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ ( newValue ) => {\n\t\t\t\t\t\tsetValue( { value: newValue, clipboardUrl } );\n\t\t\t\t\t} }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"]}
@@ -1,13 +1,8 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
- /**
4
- * External dependencies
5
- */
6
- import { compact } from 'lodash';
7
3
  /**
8
4
  * WordPress dependencies
9
5
  */
10
-
11
6
  import { Component } from '@wordpress/element';
12
7
  import { __ } from '@wordpress/i18n';
13
8
  import { Picker } from '@wordpress/components';
@@ -42,7 +37,7 @@ export class MediaEdit extends Component {
42
37
  openReplaceMediaOptions,
43
38
  source
44
39
  } = this.props;
45
- return compact([(source === null || source === void 0 ? void 0 : source.uri) && editOption, openReplaceMediaOptions && replaceOption, ...(pickerOptions ? pickerOptions : [])]);
40
+ return [(source === null || source === void 0 ? void 0 : source.uri) && editOption, openReplaceMediaOptions && replaceOption, ...(pickerOptions ? pickerOptions : [])].filter(Boolean);
46
41
  }
47
42
 
48
43
  getDestructiveButtonIndex() {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"names":["compact","Component","__","Picker","requestMediaEditor","mediaSources","MEDIA_TYPE_IMAGE","MEDIA_EDITOR","editOption","id","value","label","requiresModal","types","replaceOption","deviceLibrary","MediaEdit","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","media","optionSelected","find","onPress","render","mediaOptions","instance","open"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { compact } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn compact( [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t] );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ __( 'Media options' ) }\n\t\t\t\tdestructiveButtonIndex={ this.getDestructiveButtonIndex() }\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tmediaOptions,\n\t\t} );\n\t}\n}\n\nexport default MediaEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"names":["Component","__","Picker","requestMediaEditor","mediaSources","MEDIA_TYPE_IMAGE","MEDIA_EDITOR","editOption","id","value","label","requiresModal","types","replaceOption","deviceLibrary","MediaEdit","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","filter","Boolean","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","media","optionSelected","find","onPress","render","mediaOptions","instance","open"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SACCC,kBADD,EAECC,YAFD,QAGO,gCAHP;AAKA,OAAO,MAAMC,gBAAgB,GAAG,OAAzB;AAEP,OAAO,MAAMC,YAAY,GAAG,cAArB;AAEP,MAAMC,UAAU,GAAG;AAClBC,EAAAA,EAAE,EAAEF,YADc;AAElBG,EAAAA,KAAK,EAAEH,YAFW;AAGlBI,EAAAA,KAAK,EAAET,EAAE,CAAE,MAAF,CAHS;AAIlBU,EAAAA,aAAa,EAAE,IAJG;AAKlBC,EAAAA,KAAK,EAAE,CAAEP,gBAAF;AALW,CAAnB;AAQA,MAAMQ,aAAa,GAAG;AACrBL,EAAAA,EAAE,EAAEJ,YAAY,CAACU,aADI;AAErBL,EAAAA,KAAK,EAAEL,YAAY,CAACU,aAFC;AAGrBJ,EAAAA,KAAK,EAAET,EAAE,CAAE,SAAF,CAHY;AAIrBW,EAAAA,KAAK,EAAE,CAAEP,gBAAF;AAJc,CAAtB;AAOA,OAAO,MAAMU,SAAN,SAAwBf,SAAxB,CAAkC;AACxCgB,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,eAAL,GAAuB,KAAKA,eAAL,CAAqBC,IAArB,CAA2B,IAA3B,CAAvB;AACA,SAAKC,cAAL,GAAsB,KAAKA,cAAL,CAAoBD,IAApB,CAA0B,IAA1B,CAAtB;AACA,SAAKE,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BF,IAA1B,CAAgC,IAAhC,CAA5B;AACA,SAAKG,yBAAL,GACC,KAAKA,yBAAL,CAA+BH,IAA/B,CAAqC,IAArC,CADD;AAEA;;AAEDE,EAAAA,oBAAoB,GAAG;AACtB,UAAM;AAAEE,MAAAA,aAAF;AAAiBC,MAAAA,uBAAjB;AAA0CC,MAAAA;AAA1C,QAAqD,KAAKR,KAAhE;AAEA,WAAO,CACN,CAAAQ,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEC,GAAR,KAAenB,UADT,EAENiB,uBAAuB,IAAIX,aAFrB,EAGN,IAAKU,aAAa,GAAGA,aAAH,GAAmB,EAArC,CAHM,EAILI,MAJK,CAIGC,OAJH,CAAP;AAKA;;AAEDN,EAAAA,yBAAyB,GAAG;AAC3B,UAAMO,OAAO,GAAG,KAAKR,oBAAL,EAAhB;AACA,UAAMS,sBAAsB,GAAGD,OAAO,CAACE,SAAR,CAC5BC,MAAF,IAAcA,MAAd,aAAcA,MAAd,uBAAcA,MAAM,CAAEC,iBADQ,CAA/B;AAIA,WAAOH,sBAAsB,KAAK,CAAC,CAA5B,GACJA,sBAAsB,GAAG,CADrB,GAEJI,SAFH;AAGA;;AAEDhB,EAAAA,eAAe,GAAG;AACjB,QAAK,KAAKiB,MAAV,EAAmB;AAClB,WAAKA,MAAL,CAAYC,aAAZ;AACA;AACD;;AAEDhB,EAAAA,cAAc,CAAEX,KAAF,EAAU;AACvB,UAAM;AACL4B,MAAAA,QADK;AAELd,MAAAA,aAFK;AAGLe,MAAAA,QAAQ,GAAG,KAHN;AAILd,MAAAA;AAJK,QAKF,KAAKP,KALT;;AAOA,YAASR,KAAT;AACC,WAAKH,YAAL;AACCH,QAAAA,kBAAkB,CAAE,KAAKc,KAAL,CAAWQ,MAAX,CAAkBC,GAApB,EAA2Ba,KAAF,IAAa;AACvD,cAAOD,QAAQ,IAAIC,KAAd,IAA2BA,KAAK,IAAIA,KAAK,CAAC/B,EAA/C,EAAsD;AACrD6B,YAAAA,QAAQ,CAAEE,KAAF,CAAR;AACA;AACD,SAJiB,CAAlB;AAKA;;AACD;AACC,cAAMC,cAAc,GACnBjB,aAAa,IACbA,aAAa,CAACkB,IAAd,CAAsBT,MAAF,IAAcA,MAAM,CAACxB,EAAP,KAAcC,KAAhD,CAFD;;AAIA,YAAK+B,cAAc,IAAIA,cAAc,CAACE,OAAtC,EAAgD;AAC/CF,UAAAA,cAAc,CAACE,OAAf;AACA;AACA;;AAED,YAAKlB,uBAAL,EAA+B;AAC9BA,UAAAA,uBAAuB;AACvB;;AApBH;AAsBA;;AAEDmB,EAAAA,MAAM,GAAG;AACR,UAAMC,YAAY,GAAG,MACpB,cAAC,MAAD;AACC,MAAA,gBAAgB,MADjB;AAEC,MAAA,GAAG,EAAKC,QAAF,IAAkB,KAAKV,MAAL,GAAcU,QAFvC;AAGC,MAAA,OAAO,EAAG,KAAKxB,oBAAL,EAHX;AAIC,MAAA,SAAS,EAAG,IAJb;AAKC,MAAA,QAAQ,EAAG,KAAKD,cALjB,CAMC;AAND;AAOC,MAAA,KAAK,EAAGnB,EAAE,CAAE,eAAF,CAPX;AAQC,MAAA,sBAAsB,EAAG,KAAKqB,yBAAL;AAR1B,MADD;;AAaA,WAAO,KAAKL,KAAL,CAAW0B,MAAX,CAAmB;AACzBG,MAAAA,IAAI,EAAE,KAAK5B,eADc;AAEzB0B,MAAAA;AAFyB,KAAnB,CAAP;AAIA;;AAvFuC;AA0FzC,eAAe7B,SAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t].filter( Boolean );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ __( 'Media options' ) }\n\t\t\t\tdestructiveButtonIndex={ this.getDestructiveButtonIndex() }\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tmediaOptions,\n\t\t} );\n\t}\n}\n\nexport default MediaEdit;\n"]}
@@ -5,7 +5,6 @@ import { createElement } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import { View, TouchableWithoutFeedback, Text, Platform, Animated, Easing } from 'react-native';
8
- import { values, map, reduce } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
@@ -86,9 +85,9 @@ const SegmentedControls = _ref2 => {
86
85
  const {
87
86
  paddingLeft: offset
88
87
  } = isIOS ? styles.containerIOS : styles.container;
89
- const widths = map(values(segmentsDimensions), 'width');
88
+ const widths = Object.values(segmentsDimensions).map(dimension => dimension.width);
90
89
  const widthsDistance = widths.slice(0, index);
91
- const widthsDistanceSum = reduce(widthsDistance, (sum, n) => sum + n);
90
+ const widthsDistanceSum = widthsDistance.reduce((sum, n) => sum + n, 0);
92
91
  const endValue = index === 0 ? 0 : widthsDistanceSum;
93
92
  return endValue + offset;
94
93
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"names":["View","TouchableWithoutFeedback","Text","Platform","Animated","Easing","values","map","reduce","useState","useEffect","usePreferredColorSchemeStyle","performLayoutAnimation","styles","ANIMATION_DURATION","isIOS","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","segment","segmentIOS","textStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Value","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","widthsDistance","slice","widthsDistanceSum","sum","n","endValue","onHandlePress","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","row","flex","length","left"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\nimport { values, map, reduce } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = map( values( segmentsDimensions ), 'width' );\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = reduce(\n\t\t\twidthsDistance,\n\t\t\t( sum, n ) => sum + n\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ].width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ].height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"names":["View","TouchableWithoutFeedback","Text","Platform","Animated","Easing","useState","useEffect","usePreferredColorSchemeStyle","performLayoutAnimation","styles","ANIMATION_DURATION","isIOS","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","segment","segmentIOS","textStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Value","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","row","flex","length","left"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ].width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ].height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\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<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"]}