@wordpress/components 25.13.0 → 25.15.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 (656) hide show
  1. package/CHANGELOG.md +88 -1
  2. package/CONTRIBUTING.md +57 -115
  3. package/LICENSE.md +1 -1
  4. package/build/base-control/index.js +17 -13
  5. package/build/base-control/index.js.map +1 -1
  6. package/build/border-box-control/border-box-control-linked-button/component.js +1 -1
  7. package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  8. package/build/border-control/border-control-dropdown/component.js +4 -2
  9. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  10. package/build/border-control/border-control-dropdown/hook.js +3 -2
  11. package/build/border-control/border-control-dropdown/hook.js.map +1 -1
  12. package/build/border-control/border-control-style-picker/component.js +1 -1
  13. package/build/border-control/border-control-style-picker/component.js.map +1 -1
  14. package/build/border-control/styles.js +17 -17
  15. package/build/border-control/styles.js.map +1 -1
  16. package/build/box-control/index.js +1 -1
  17. package/build/box-control/index.js.map +1 -1
  18. package/build/box-control/linked-button.js +1 -1
  19. package/build/box-control/linked-button.js.map +1 -1
  20. package/build/button/index.js +1 -1
  21. package/build/button/index.js.map +1 -1
  22. package/build/checkbox-control/index.js +1 -1
  23. package/build/checkbox-control/index.js.map +1 -1
  24. package/build/checkbox-control/types.js.map +1 -1
  25. package/build/color-picker/color-copy-button.js +1 -1
  26. package/build/color-picker/color-copy-button.js.map +1 -1
  27. package/build/context/wordpress-component.js.map +1 -1
  28. package/build/custom-select-control-v2/index.js +11 -10
  29. package/build/custom-select-control-v2/index.js.map +1 -1
  30. package/build/date-time/date/styles.js +8 -8
  31. package/build/date-time/date/styles.js.map +1 -1
  32. package/build/date-time/time/timezone.js +11 -2
  33. package/build/date-time/time/timezone.js.map +1 -1
  34. package/build/dimension-control/index.js +2 -0
  35. package/build/dimension-control/index.js.map +1 -1
  36. package/build/dimension-control/types.js.map +1 -1
  37. package/build/dropdown-menu-v2/index.js +205 -159
  38. package/build/dropdown-menu-v2/index.js.map +1 -1
  39. package/build/dropdown-menu-v2/styles.js +86 -77
  40. package/build/dropdown-menu-v2/styles.js.map +1 -1
  41. package/build/dropdown-menu-v2/types.js.map +1 -1
  42. package/build/duotone-picker/duotone-picker.js +4 -3
  43. package/build/duotone-picker/duotone-picker.js.map +1 -1
  44. package/build/focal-point-picker/controls.js +5 -1
  45. package/build/focal-point-picker/controls.js.map +1 -1
  46. package/build/focal-point-picker/index.js +2 -0
  47. package/build/focal-point-picker/index.js.map +1 -1
  48. package/build/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  49. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  50. package/build/focal-point-picker/types.js.map +1 -1
  51. package/build/font-size-picker/font-size-picker-select.js +2 -0
  52. package/build/font-size-picker/font-size-picker-select.js.map +1 -1
  53. package/build/font-size-picker/font-size-picker-toggle-group.js +2 -0
  54. package/build/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  55. package/build/font-size-picker/index.js +10 -3
  56. package/build/font-size-picker/index.js.map +1 -1
  57. package/build/font-size-picker/index.native.js +6 -3
  58. package/build/font-size-picker/index.native.js.map +1 -1
  59. package/build/font-size-picker/types.js.map +1 -1
  60. package/build/form-token-field/index.js +10 -5
  61. package/build/form-token-field/index.js.map +1 -1
  62. package/build/form-token-field/token.js +1 -0
  63. package/build/form-token-field/token.js.map +1 -1
  64. package/build/gradient-picker/index.js +3 -2
  65. package/build/gradient-picker/index.js.map +1 -1
  66. package/build/index.native.js +20 -19
  67. package/build/index.native.js.map +1 -1
  68. package/build/input-control/styles/input-control-styles.js +32 -29
  69. package/build/input-control/styles/input-control-styles.js.map +1 -1
  70. package/build/input-control/types.js.map +1 -1
  71. package/build/lock-unlock.js +18 -0
  72. package/build/lock-unlock.js.map +1 -0
  73. package/build/mobile/bottom-sheet/index.native.js +8 -0
  74. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  75. package/build/mobile/global-styles-context/utils.native.js +39 -13
  76. package/build/mobile/global-styles-context/utils.native.js.map +1 -1
  77. package/build/mobile/image/constants.js +12 -0
  78. package/build/mobile/image/constants.js.map +1 -0
  79. package/build/mobile/image/index.native.js +26 -18
  80. package/build/mobile/image/index.native.js.map +1 -1
  81. package/build/mobile/keyboard-aware-flat-list/index.android.js +40 -8
  82. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  83. package/build/mobile/keyboard-aware-flat-list/index.ios.js +44 -68
  84. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  85. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +39 -0
  86. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  87. package/build/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -29
  88. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  89. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js +93 -0
  90. package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  91. package/build/mobile/utils/get-px-from-css-unit.native.js +302 -0
  92. package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  93. package/build/modal/index.js +18 -13
  94. package/build/modal/index.js.map +1 -1
  95. package/build/navigation/menu/menu-title.js +1 -1
  96. package/build/navigation/menu/menu-title.js.map +1 -1
  97. package/build/navigator/navigator-provider/component.js +13 -15
  98. package/build/navigator/navigator-provider/component.js.map +1 -1
  99. package/build/navigator/navigator-screen/component.js +23 -63
  100. package/build/navigator/navigator-screen/component.js.map +1 -1
  101. package/build/navigator/styles.js +52 -0
  102. package/build/navigator/styles.js.map +1 -0
  103. package/build/number-control/index.js +4 -8
  104. package/build/number-control/index.js.map +1 -1
  105. package/build/number-control/types.js.map +1 -1
  106. package/build/palette-edit/index.js +15 -34
  107. package/build/palette-edit/index.js.map +1 -1
  108. package/build/private-apis.js +11 -26
  109. package/build/private-apis.js.map +1 -1
  110. package/build/private-apis.native.js +21 -0
  111. package/build/private-apis.native.js.map +1 -0
  112. package/build/query-controls/author-select.js +3 -1
  113. package/build/query-controls/author-select.js.map +1 -1
  114. package/build/query-controls/category-select.js +3 -1
  115. package/build/query-controls/category-select.js.map +1 -1
  116. package/build/query-controls/index.js +6 -1
  117. package/build/query-controls/index.js.map +1 -1
  118. package/build/query-controls/types.js.map +1 -1
  119. package/build/radio-control/index.js +1 -0
  120. package/build/radio-control/index.js.map +1 -1
  121. package/build/range-control/index.js +1 -1
  122. package/build/range-control/index.js.map +1 -1
  123. package/build/select-control/styles/select-control-styles.js +15 -25
  124. package/build/select-control/styles/select-control-styles.js.map +1 -1
  125. package/build/slot-fill/index.js +3 -2
  126. package/build/slot-fill/index.js.map +1 -1
  127. package/build/slot-fill/types.js.map +1 -1
  128. package/build/snackbar/types.js.map +1 -1
  129. package/build/tabs/index.js +18 -1
  130. package/build/tabs/index.js.map +1 -1
  131. package/build/tabs/styles.js +3 -3
  132. package/build/tabs/styles.js.map +1 -1
  133. package/build/tabs/tab.js +2 -2
  134. package/build/tabs/tab.js.map +1 -1
  135. package/build/tabs/tabpanel.js +11 -8
  136. package/build/tabs/tabpanel.js.map +1 -1
  137. package/build/tabs/types.js.map +1 -1
  138. package/build/toggle-group-control/toggle-group-control/component.js +4 -4
  139. package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
  140. package/build/toggle-group-control/toggle-group-control/styles.js +29 -15
  141. package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  142. package/build/toggle-group-control/toggle-group-control/utils.js +17 -17
  143. package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  144. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  145. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  146. package/build/tools-panel/tools-panel/component.js +3 -1
  147. package/build/tools-panel/tools-panel/component.js.map +1 -1
  148. package/build/tools-panel/tools-panel-header/component.js +9 -8
  149. package/build/tools-panel/tools-panel-header/component.js.map +1 -1
  150. package/build/tools-panel/tools-panel-item/hook.js +11 -11
  151. package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
  152. package/build/tools-panel/types.js.map +1 -1
  153. package/build/tooltip/index.js +1 -1
  154. package/build/tooltip/index.js.map +1 -1
  155. package/build/truncate/hook.js +10 -4
  156. package/build/truncate/hook.js.map +1 -1
  157. package/build/truncate/types.js.map +1 -1
  158. package/build/unit-control/index.js +1 -1
  159. package/build/unit-control/index.js.map +1 -1
  160. package/build/utils/strings.js +34 -3
  161. package/build/utils/strings.js.map +1 -1
  162. package/build-module/base-control/index.js +16 -12
  163. package/build-module/base-control/index.js.map +1 -1
  164. package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -1
  165. package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
  166. package/build-module/border-control/border-control-dropdown/component.js +4 -2
  167. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  168. package/build-module/border-control/border-control-dropdown/hook.js +3 -2
  169. package/build-module/border-control/border-control-dropdown/hook.js.map +1 -1
  170. package/build-module/border-control/border-control-style-picker/component.js +1 -1
  171. package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
  172. package/build-module/border-control/styles.js +17 -17
  173. package/build-module/border-control/styles.js.map +1 -1
  174. package/build-module/box-control/index.js +1 -1
  175. package/build-module/box-control/index.js.map +1 -1
  176. package/build-module/box-control/linked-button.js +1 -1
  177. package/build-module/box-control/linked-button.js.map +1 -1
  178. package/build-module/button/index.js +1 -1
  179. package/build-module/button/index.js.map +1 -1
  180. package/build-module/checkbox-control/index.js +1 -1
  181. package/build-module/checkbox-control/index.js.map +1 -1
  182. package/build-module/checkbox-control/types.js.map +1 -1
  183. package/build-module/color-picker/color-copy-button.js +1 -1
  184. package/build-module/color-picker/color-copy-button.js.map +1 -1
  185. package/build-module/context/wordpress-component.js.map +1 -1
  186. package/build-module/custom-select-control-v2/index.js +11 -10
  187. package/build-module/custom-select-control-v2/index.js.map +1 -1
  188. package/build-module/date-time/date/styles.js +8 -8
  189. package/build-module/date-time/date/styles.js.map +1 -1
  190. package/build-module/date-time/time/timezone.js +11 -2
  191. package/build-module/date-time/time/timezone.js.map +1 -1
  192. package/build-module/dimension-control/index.js +2 -0
  193. package/build-module/dimension-control/index.js.map +1 -1
  194. package/build-module/dimension-control/types.js.map +1 -1
  195. package/build-module/dropdown-menu-v2/index.js +201 -154
  196. package/build-module/dropdown-menu-v2/index.js.map +1 -1
  197. package/build-module/dropdown-menu-v2/styles.js +68 -61
  198. package/build-module/dropdown-menu-v2/styles.js.map +1 -1
  199. package/build-module/dropdown-menu-v2/types.js.map +1 -1
  200. package/build-module/duotone-picker/duotone-picker.js +4 -3
  201. package/build-module/duotone-picker/duotone-picker.js.map +1 -1
  202. package/build-module/focal-point-picker/controls.js +5 -1
  203. package/build-module/focal-point-picker/controls.js.map +1 -1
  204. package/build-module/focal-point-picker/index.js +2 -0
  205. package/build-module/focal-point-picker/index.js.map +1 -1
  206. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +15 -15
  207. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  208. package/build-module/focal-point-picker/types.js.map +1 -1
  209. package/build-module/font-size-picker/font-size-picker-select.js +2 -0
  210. package/build-module/font-size-picker/font-size-picker-select.js.map +1 -1
  211. package/build-module/font-size-picker/font-size-picker-toggle-group.js +2 -0
  212. package/build-module/font-size-picker/font-size-picker-toggle-group.js.map +1 -1
  213. package/build-module/font-size-picker/index.js +10 -3
  214. package/build-module/font-size-picker/index.js.map +1 -1
  215. package/build-module/font-size-picker/index.native.js +5 -2
  216. package/build-module/font-size-picker/index.native.js.map +1 -1
  217. package/build-module/font-size-picker/types.js.map +1 -1
  218. package/build-module/form-token-field/index.js +10 -5
  219. package/build-module/form-token-field/index.js.map +1 -1
  220. package/build-module/form-token-field/token.js +1 -0
  221. package/build-module/form-token-field/token.js.map +1 -1
  222. package/build-module/gradient-picker/index.js +3 -2
  223. package/build-module/gradient-picker/index.js.map +1 -1
  224. package/build-module/index.native.js +6 -3
  225. package/build-module/index.native.js.map +1 -1
  226. package/build-module/input-control/styles/input-control-styles.js +31 -29
  227. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  228. package/build-module/input-control/types.js.map +1 -1
  229. package/build-module/lock-unlock.js +9 -0
  230. package/build-module/lock-unlock.js.map +1 -0
  231. package/build-module/mobile/bottom-sheet/index.native.js +9 -1
  232. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  233. package/build-module/mobile/global-styles-context/utils.native.js +38 -13
  234. package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
  235. package/build-module/mobile/image/constants.js +5 -0
  236. package/build-module/mobile/image/constants.js.map +1 -0
  237. package/build-module/mobile/image/index.native.js +25 -16
  238. package/build-module/mobile/image/index.native.js.map +1 -1
  239. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +40 -6
  240. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  241. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -68
  242. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  243. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +33 -0
  244. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
  245. package/build-module/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +21 -27
  246. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
  247. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js +86 -0
  248. package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
  249. package/build-module/mobile/utils/get-px-from-css-unit.native.js +294 -0
  250. package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
  251. package/build-module/modal/index.js +18 -13
  252. package/build-module/modal/index.js.map +1 -1
  253. package/build-module/navigation/menu/menu-title.js +1 -1
  254. package/build-module/navigation/menu/menu-title.js.map +1 -1
  255. package/build-module/navigator/navigator-provider/component.js +3 -16
  256. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  257. package/build-module/navigator/navigator-screen/component.js +16 -70
  258. package/build-module/navigator/navigator-screen/component.js.map +1 -1
  259. package/build-module/navigator/styles.js +47 -0
  260. package/build-module/navigator/styles.js.map +1 -0
  261. package/build-module/number-control/index.js +4 -8
  262. package/build-module/number-control/index.js.map +1 -1
  263. package/build-module/number-control/types.js.map +1 -1
  264. package/build-module/palette-edit/index.js +14 -33
  265. package/build-module/palette-edit/index.js.map +1 -1
  266. package/build-module/private-apis.js +10 -23
  267. package/build-module/private-apis.js.map +1 -1
  268. package/build-module/private-apis.native.js +14 -0
  269. package/build-module/private-apis.native.js.map +1 -0
  270. package/build-module/query-controls/author-select.js +3 -1
  271. package/build-module/query-controls/author-select.js.map +1 -1
  272. package/build-module/query-controls/category-select.js +3 -1
  273. package/build-module/query-controls/category-select.js.map +1 -1
  274. package/build-module/query-controls/index.js +6 -1
  275. package/build-module/query-controls/index.js.map +1 -1
  276. package/build-module/query-controls/types.js.map +1 -1
  277. package/build-module/radio-control/index.js +1 -0
  278. package/build-module/radio-control/index.js.map +1 -1
  279. package/build-module/range-control/index.js +1 -1
  280. package/build-module/range-control/index.js.map +1 -1
  281. package/build-module/select-control/styles/select-control-styles.js +15 -25
  282. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  283. package/build-module/slot-fill/index.js +3 -2
  284. package/build-module/slot-fill/index.js.map +1 -1
  285. package/build-module/slot-fill/types.js.map +1 -1
  286. package/build-module/snackbar/types.js.map +1 -1
  287. package/build-module/tabs/index.js +18 -1
  288. package/build-module/tabs/index.js.map +1 -1
  289. package/build-module/tabs/styles.js +3 -3
  290. package/build-module/tabs/styles.js.map +1 -1
  291. package/build-module/tabs/tab.js +2 -2
  292. package/build-module/tabs/tab.js.map +1 -1
  293. package/build-module/tabs/tabpanel.js +11 -8
  294. package/build-module/tabs/tabpanel.js.map +1 -1
  295. package/build-module/tabs/types.js.map +1 -1
  296. package/build-module/toggle-group-control/toggle-group-control/component.js +4 -4
  297. package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
  298. package/build-module/toggle-group-control/toggle-group-control/styles.js +29 -15
  299. package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
  300. package/build-module/toggle-group-control/toggle-group-control/utils.js +17 -17
  301. package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
  302. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  303. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  304. package/build-module/tools-panel/tools-panel/component.js +3 -1
  305. package/build-module/tools-panel/tools-panel/component.js.map +1 -1
  306. package/build-module/tools-panel/tools-panel-header/component.js +9 -8
  307. package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
  308. package/build-module/tools-panel/tools-panel-item/hook.js +11 -11
  309. package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
  310. package/build-module/tools-panel/types.js.map +1 -1
  311. package/build-module/tooltip/index.js +1 -1
  312. package/build-module/tooltip/index.js.map +1 -1
  313. package/build-module/truncate/hook.js +10 -4
  314. package/build-module/truncate/hook.js.map +1 -1
  315. package/build-module/truncate/types.js.map +1 -1
  316. package/build-module/unit-control/index.js +1 -1
  317. package/build-module/unit-control/index.js.map +1 -1
  318. package/build-module/utils/strings.js +32 -2
  319. package/build-module/utils/strings.js.map +1 -1
  320. package/build-style/style-rtl.css +30 -6
  321. package/build-style/style.css +30 -6
  322. package/build-types/base-control/index.d.ts +3 -27
  323. package/build-types/base-control/index.d.ts.map +1 -1
  324. package/build-types/base-control/stories/index.story.d.ts +4 -1
  325. package/build-types/base-control/stories/index.story.d.ts.map +1 -1
  326. package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
  327. package/build-types/border-control/border-control-dropdown/hook.d.ts +1 -0
  328. package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
  329. package/build-types/border-control/styles.d.ts +1 -1
  330. package/build-types/border-control/styles.d.ts.map +1 -1
  331. package/build-types/checkbox-control/index.d.ts.map +1 -1
  332. package/build-types/checkbox-control/types.d.ts +3 -2
  333. package/build-types/checkbox-control/types.d.ts.map +1 -1
  334. package/build-types/color-picker/component.d.ts +1 -1
  335. package/build-types/color-picker/stories/index.story.d.ts +1 -1
  336. package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
  337. package/build-types/composite/test/index.d.ts.map +1 -0
  338. package/build-types/context/wordpress-component.d.ts +3 -3
  339. package/build-types/context/wordpress-component.d.ts.map +1 -1
  340. package/build-types/custom-select-control-v2/index.d.ts +3 -2
  341. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  342. package/build-types/custom-select-control-v2/stories/index.story.d.ts +4 -3
  343. package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
  344. package/build-types/date-time/time/timezone.d.ts.map +1 -1
  345. package/build-types/dimension-control/index.d.ts.map +1 -1
  346. package/build-types/dimension-control/types.d.ts +6 -0
  347. package/build-types/dimension-control/types.d.ts.map +1 -1
  348. package/build-types/dropdown/index.d.ts +1 -1
  349. package/build-types/dropdown/index.d.ts.map +1 -1
  350. package/build-types/dropdown/stories/index.story.d.ts +3 -3
  351. package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
  352. package/build-types/dropdown-menu/index.d.ts +1 -1
  353. package/build-types/dropdown-menu/index.d.ts.map +1 -1
  354. package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
  355. package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
  356. package/build-types/dropdown-menu-v2/index.d.ts +18 -15
  357. package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
  358. package/build-types/dropdown-menu-v2/stories/index.story.d.ts +7 -2
  359. package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
  360. package/build-types/dropdown-menu-v2/styles.d.ts +77 -23
  361. package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
  362. package/build-types/dropdown-menu-v2/types.d.ts +89 -173
  363. package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
  364. package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
  365. package/build-types/focal-point-picker/controls.d.ts +1 -1
  366. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  367. package/build-types/focal-point-picker/index.d.ts +1 -1
  368. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  369. package/build-types/focal-point-picker/stories/index.story.d.ts +8 -4
  370. package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
  371. package/build-types/focal-point-picker/types.d.ts +7 -0
  372. package/build-types/focal-point-picker/types.d.ts.map +1 -1
  373. package/build-types/font-size-picker/font-size-picker-select.d.ts.map +1 -1
  374. package/build-types/font-size-picker/font-size-picker-toggle-group.d.ts.map +1 -1
  375. package/build-types/font-size-picker/index.d.ts.map +1 -1
  376. package/build-types/font-size-picker/types.d.ts +8 -1
  377. package/build-types/font-size-picker/types.d.ts.map +1 -1
  378. package/build-types/form-token-field/index.d.ts.map +1 -1
  379. package/build-types/form-token-field/token.d.ts.map +1 -1
  380. package/build-types/input-control/styles/input-control-styles.d.ts +11 -0
  381. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  382. package/build-types/input-control/types.d.ts +1 -1
  383. package/build-types/input-control/types.d.ts.map +1 -1
  384. package/build-types/lock-unlock.d.ts +3 -0
  385. package/build-types/lock-unlock.d.ts.map +1 -0
  386. package/build-types/mobile/image/constants.d.ts +5 -0
  387. package/build-types/mobile/image/constants.d.ts.map +1 -0
  388. package/build-types/modal/index.d.ts.map +1 -1
  389. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  390. package/build-types/navigator/navigator-screen/component.d.ts +1 -7
  391. package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
  392. package/build-types/navigator/styles.d.ts +9 -0
  393. package/build-types/navigator/styles.d.ts.map +1 -0
  394. package/build-types/number-control/index.d.ts.map +1 -1
  395. package/build-types/number-control/types.d.ts +1 -1
  396. package/build-types/palette-edit/index.d.ts +2 -2
  397. package/build-types/palette-edit/index.d.ts.map +1 -1
  398. package/build-types/popover/index.d.ts +1 -1
  399. package/build-types/popover/index.d.ts.map +1 -1
  400. package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
  401. package/build-types/private-apis.d.ts +0 -1
  402. package/build-types/private-apis.d.ts.map +1 -1
  403. package/build-types/query-controls/author-select.d.ts +1 -1
  404. package/build-types/query-controls/author-select.d.ts.map +1 -1
  405. package/build-types/query-controls/category-select.d.ts +1 -1
  406. package/build-types/query-controls/category-select.d.ts.map +1 -1
  407. package/build-types/query-controls/index.d.ts +1 -1
  408. package/build-types/query-controls/index.d.ts.map +1 -1
  409. package/build-types/query-controls/types.d.ts +9 -0
  410. package/build-types/query-controls/types.d.ts.map +1 -1
  411. package/build-types/radio-control/index.d.ts.map +1 -1
  412. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  413. package/build-types/slot-fill/index.d.ts +1 -1
  414. package/build-types/slot-fill/index.d.ts.map +1 -1
  415. package/build-types/slot-fill/types.d.ts +4 -0
  416. package/build-types/slot-fill/types.d.ts.map +1 -1
  417. package/build-types/snackbar/index.d.ts +2 -2
  418. package/build-types/snackbar/stories/index.story.d.ts +0 -3
  419. package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
  420. package/build-types/snackbar/types.d.ts +1 -1
  421. package/build-types/snackbar/types.d.ts.map +1 -1
  422. package/build-types/tabs/index.d.ts +2 -2
  423. package/build-types/tabs/index.d.ts.map +1 -1
  424. package/build-types/tabs/styles.d.ts.map +1 -1
  425. package/build-types/tabs/tab.d.ts +2 -1
  426. package/build-types/tabs/tab.d.ts.map +1 -1
  427. package/build-types/tabs/tabpanel.d.ts +3 -2
  428. package/build-types/tabs/tabpanel.d.ts.map +1 -1
  429. package/build-types/tabs/types.d.ts +8 -3
  430. package/build-types/tabs/types.d.ts.map +1 -1
  431. package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
  432. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
  433. package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
  434. package/build-types/toggle-group-control/toggle-group-control/utils.d.ts.map +1 -1
  435. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +1 -1
  436. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  437. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  438. package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
  439. package/build-types/tools-panel/tools-panel/hook.d.ts +1 -0
  440. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  441. package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
  442. package/build-types/tools-panel/tools-panel-header/hook.d.ts +1 -0
  443. package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
  444. package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
  445. package/build-types/tools-panel/types.d.ts +9 -0
  446. package/build-types/tools-panel/types.d.ts.map +1 -1
  447. package/build-types/truncate/hook.d.ts +1 -1
  448. package/build-types/truncate/hook.d.ts.map +1 -1
  449. package/build-types/truncate/types.d.ts +4 -0
  450. package/build-types/truncate/types.d.ts.map +1 -1
  451. package/build-types/utils/strings.d.ts +14 -2
  452. package/build-types/utils/strings.d.ts.map +1 -1
  453. package/package.json +20 -21
  454. package/src/alignment-matrix-control/test/index.tsx +10 -16
  455. package/src/base-control/index.tsx +21 -16
  456. package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -1
  457. package/src/border-control/border-control-dropdown/component.tsx +3 -1
  458. package/src/border-control/border-control-dropdown/hook.ts +3 -2
  459. package/src/border-control/border-control-style-picker/component.tsx +1 -1
  460. package/src/border-control/styles.ts +2 -9
  461. package/src/box-control/index.tsx +1 -1
  462. package/src/box-control/linked-button.tsx +1 -1
  463. package/src/button/README.md +32 -6
  464. package/src/button/index.tsx +1 -1
  465. package/src/button-group/README.md +0 -6
  466. package/src/card/card/README.md +1 -1
  467. package/src/checkbox-control/README.md +3 -10
  468. package/src/checkbox-control/index.tsx +8 -6
  469. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +3 -8
  470. package/src/checkbox-control/test/index.tsx +7 -0
  471. package/src/checkbox-control/types.ts +3 -2
  472. package/src/color-picker/color-copy-button.tsx +1 -1
  473. package/src/combobox-control/README.md +0 -6
  474. package/src/composite/test/index.tsx +576 -0
  475. package/src/context/wordpress-component.ts +11 -6
  476. package/src/custom-select-control/README.md +0 -6
  477. package/src/custom-select-control/test/index.js +367 -35
  478. package/src/custom-select-control-v2/index.tsx +13 -12
  479. package/src/date-time/date/styles.ts +3 -3
  480. package/src/date-time/time/timezone.tsx +15 -3
  481. package/src/dimension-control/index.tsx +2 -0
  482. package/src/dimension-control/test/__snapshots__/index.test.js.snap +2 -2
  483. package/src/dimension-control/types.ts +6 -0
  484. package/src/dropdown-menu/README.md +0 -5
  485. package/src/dropdown-menu-v2/README.md +75 -136
  486. package/src/dropdown-menu-v2/index.tsx +321 -231
  487. package/src/dropdown-menu-v2/stories/index.story.tsx +522 -126
  488. package/src/dropdown-menu-v2/styles.ts +226 -151
  489. package/src/dropdown-menu-v2/test/index.tsx +480 -188
  490. package/src/dropdown-menu-v2/types.ts +98 -184
  491. package/src/duotone-picker/duotone-picker.tsx +7 -3
  492. package/src/focal-point-picker/controls.tsx +4 -0
  493. package/src/focal-point-picker/index.tsx +2 -0
  494. package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
  495. package/src/focal-point-picker/types.ts +7 -0
  496. package/src/font-size-picker/font-size-picker-select.tsx +2 -0
  497. package/src/font-size-picker/font-size-picker-toggle-group.tsx +9 -1
  498. package/src/font-size-picker/index.native.js +8 -2
  499. package/src/font-size-picker/index.tsx +15 -5
  500. package/src/font-size-picker/types.ts +8 -1
  501. package/src/form-toggle/README.md +0 -6
  502. package/src/form-toggle/style.scss +4 -2
  503. package/src/form-token-field/index.tsx +11 -7
  504. package/src/form-token-field/test/index.tsx +97 -0
  505. package/src/form-token-field/token.tsx +1 -0
  506. package/src/gradient-picker/index.tsx +2 -2
  507. package/src/index.native.js +6 -3
  508. package/src/input-control/styles/input-control-styles.tsx +10 -8
  509. package/src/input-control/types.ts +1 -1
  510. package/src/lock-unlock.js +10 -0
  511. package/src/menu-group/README.md +0 -8
  512. package/src/menu-items-choice/README.md +0 -7
  513. package/src/mobile/bottom-sheet/index.native.js +15 -1
  514. package/src/mobile/global-styles-context/test/fixtures/theme.native.js +0 -20
  515. package/src/mobile/global-styles-context/test/utils.native.js +22 -0
  516. package/src/mobile/global-styles-context/utils.native.js +42 -19
  517. package/src/mobile/image/constants.js +1 -0
  518. package/src/mobile/image/index.native.js +55 -18
  519. package/src/mobile/image/style.native.scss +35 -9
  520. package/src/mobile/keyboard-aware-flat-list/index.android.js +50 -5
  521. package/src/mobile/keyboard-aware-flat-list/index.ios.js +65 -91
  522. package/src/mobile/keyboard-aware-flat-list/test/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +27 -25
  523. package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +71 -0
  524. package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +41 -0
  525. package/src/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -27
  526. package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +100 -0
  527. package/src/mobile/link-settings/style.native.scss +0 -17
  528. package/src/mobile/utils/get-px-from-css-unit.native.js +329 -0
  529. package/src/mobile/utils/test/get-px-from-css-unit.native.js +172 -0
  530. package/src/modal/README.md +0 -6
  531. package/src/modal/index.tsx +18 -16
  532. package/src/modal/test/index.tsx +90 -1
  533. package/src/navigation/menu/menu-title.tsx +1 -1
  534. package/src/navigator/navigator-provider/component.tsx +3 -4
  535. package/src/navigator/navigator-screen/component.tsx +15 -93
  536. package/src/navigator/styles.ts +71 -0
  537. package/src/navigator/test/index.tsx +0 -64
  538. package/src/notice/README.md +0 -6
  539. package/src/number-control/README.md +2 -2
  540. package/src/number-control/index.tsx +4 -8
  541. package/src/number-control/types.ts +1 -1
  542. package/src/palette-edit/index.tsx +14 -43
  543. package/src/palette-edit/style.scss +2 -2
  544. package/src/panel/README.md +0 -6
  545. package/src/private-apis.native.js +13 -0
  546. package/src/private-apis.ts +12 -37
  547. package/src/query-controls/author-select.tsx +2 -0
  548. package/src/query-controls/category-select.tsx +2 -0
  549. package/src/query-controls/index.tsx +6 -1
  550. package/src/query-controls/types.ts +9 -0
  551. package/src/radio-control/README.md +0 -6
  552. package/src/radio-control/index.tsx +4 -1
  553. package/src/radio-control/style.scss +29 -2
  554. package/src/radio-group/README.md +0 -6
  555. package/src/range-control/README.md +1 -9
  556. package/src/range-control/index.tsx +1 -1
  557. package/src/search-control/README.md +1 -5
  558. package/src/select-control/README.md +0 -6
  559. package/src/select-control/styles/select-control-styles.ts +10 -28
  560. package/src/slot-fill/index.tsx +5 -2
  561. package/src/slot-fill/types.ts +5 -0
  562. package/src/snackbar/README.md +0 -6
  563. package/src/snackbar/stories/index.story.tsx +7 -5
  564. package/src/snackbar/style.scss +4 -3
  565. package/src/snackbar/types.ts +2 -1
  566. package/src/spacer/README.md +0 -2
  567. package/src/spinner/README.md +2 -0
  568. package/src/tab-panel/README.md +0 -5
  569. package/src/tab-panel/test/index.tsx +39 -56
  570. package/src/tabs/README.md +4 -4
  571. package/src/tabs/index.tsx +22 -1
  572. package/src/tabs/stories/index.story.tsx +48 -48
  573. package/src/tabs/styles.ts +7 -1
  574. package/src/tabs/tab.tsx +3 -3
  575. package/src/tabs/tabpanel.tsx +13 -8
  576. package/src/tabs/test/index.tsx +236 -106
  577. package/src/tabs/types.ts +8 -3
  578. package/src/text-control/README.md +0 -6
  579. package/src/textarea-control/README.md +0 -6
  580. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +12 -16
  581. package/src/toggle-group-control/test/index.tsx +107 -41
  582. package/src/toggle-group-control/toggle-group-control/component.tsx +5 -4
  583. package/src/toggle-group-control/toggle-group-control/styles.ts +13 -19
  584. package/src/toggle-group-control/toggle-group-control/utils.ts +15 -20
  585. package/src/toggle-group-control/toggle-group-control-option/README.md +1 -1
  586. package/src/toggle-group-control/toggle-group-control-option-base/README.md +1 -1
  587. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +3 -2
  588. package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
  589. package/src/toolbar/toolbar/README.md +0 -6
  590. package/src/tools-panel/test/index.tsx +12 -20
  591. package/src/tools-panel/tools-panel/README.md +7 -0
  592. package/src/tools-panel/tools-panel/component.tsx +2 -0
  593. package/src/tools-panel/tools-panel-header/README.md +7 -0
  594. package/src/tools-panel/tools-panel-header/component.tsx +20 -13
  595. package/src/tools-panel/tools-panel-item/hook.ts +10 -21
  596. package/src/tools-panel/types.ts +9 -0
  597. package/src/tooltip/index.tsx +1 -1
  598. package/src/tooltip/test/index.tsx +360 -256
  599. package/src/tree-grid/README.md +0 -4
  600. package/src/truncate/README.md +8 -0
  601. package/src/truncate/hook.ts +17 -10
  602. package/src/truncate/test/index.tsx +54 -27
  603. package/src/truncate/types.ts +4 -0
  604. package/src/unit-control/index.tsx +1 -1
  605. package/src/utils/strings.ts +30 -2
  606. package/src/utils/test/strings.js +96 -1
  607. package/tsconfig.tsbuildinfo +1 -1
  608. package/build/dropdown-menu-v2-ariakit/index.js +0 -256
  609. package/build/dropdown-menu-v2-ariakit/index.js.map +0 -1
  610. package/build/dropdown-menu-v2-ariakit/styles.js +0 -180
  611. package/build/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  612. package/build/dropdown-menu-v2-ariakit/types.js +0 -6
  613. package/build/dropdown-menu-v2-ariakit/types.js.map +0 -1
  614. package/build/mobile/inserter-button/index.native.js +0 -98
  615. package/build/mobile/inserter-button/index.native.js.map +0 -1
  616. package/build/mobile/inserter-button/sparkles.js +0 -23
  617. package/build/mobile/inserter-button/sparkles.js.map +0 -1
  618. package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  619. package/build/mobile/link-settings/image-link-destinations-screen.native.js +0 -119
  620. package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  621. package/build-module/dropdown-menu-v2-ariakit/index.js +0 -237
  622. package/build-module/dropdown-menu-v2-ariakit/index.js.map +0 -1
  623. package/build-module/dropdown-menu-v2-ariakit/styles.js +0 -165
  624. package/build-module/dropdown-menu-v2-ariakit/styles.js.map +0 -1
  625. package/build-module/dropdown-menu-v2-ariakit/types.js +0 -2
  626. package/build-module/dropdown-menu-v2-ariakit/types.js.map +0 -1
  627. package/build-module/mobile/inserter-button/index.native.js +0 -89
  628. package/build-module/mobile/inserter-button/index.native.js.map +0 -1
  629. package/build-module/mobile/inserter-button/sparkles.js +0 -15
  630. package/build-module/mobile/inserter-button/sparkles.js.map +0 -1
  631. package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
  632. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +0 -110
  633. package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +0 -1
  634. package/build-types/dropdown-menu-v2-ariakit/index.d.ts +0 -20
  635. package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +0 -1
  636. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts +0 -16
  637. package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +0 -1
  638. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts +0 -96
  639. package/build-types/dropdown-menu-v2-ariakit/styles.d.ts.map +0 -1
  640. package/build-types/dropdown-menu-v2-ariakit/test/index.d.ts.map +0 -1
  641. package/build-types/dropdown-menu-v2-ariakit/types.d.ts +0 -168
  642. package/build-types/dropdown-menu-v2-ariakit/types.d.ts.map +0 -1
  643. package/build-types/mobile/inserter-button/sparkles.d.ts +0 -3
  644. package/build-types/mobile/inserter-button/sparkles.d.ts.map +0 -1
  645. package/src/dropdown-menu-v2-ariakit/README.md +0 -331
  646. package/src/dropdown-menu-v2-ariakit/index.tsx +0 -383
  647. package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +0 -617
  648. package/src/dropdown-menu-v2-ariakit/styles.ts +0 -333
  649. package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -1108
  650. package/src/dropdown-menu-v2-ariakit/types.ts +0 -179
  651. package/src/mobile/inserter-button/README.md +0 -62
  652. package/src/mobile/inserter-button/index.native.js +0 -116
  653. package/src/mobile/inserter-button/sparkles.js +0 -15
  654. package/src/mobile/inserter-button/style.native.scss +0 -72
  655. package/src/mobile/link-settings/image-link-destinations-screen.native.js +0 -152
  656. /package/build-types/{dropdown-menu-v2-ariakit → composite}/test/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["css","Flex","FlexItem","Text","baseLabelTypography","COLORS","CONFIG","rtl","space","_ref2","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","rootFocusedStyles","isFocused","Root","_styled","target","label","containerDisabledStyles","disabled","backgroundColor","ui","backgroundDisabled","background","_ref","containerWidthStyles","__unstableInputWidth","labelPosition","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","fontSize","fontSizeMobile","getSizeConfig","__next40pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","BaseLabel","Label","createElement","as","LabelWrapper","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","outline","outlineOffset","controlBoxShadowFocus","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { baseLabelTypography, COLORS, CONFIG, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\nimport { space } from '../../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\nexport const Root = styled( Flex )< RootProps >`\n\tbox-sizing: border-box;\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\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\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${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next40pxDefaultSize?: 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__next40pxDefaultSize,\n}: InputProps ) => {\n\t// Paddings may be overridden by the custom paddings props.\n\tconst sizes = {\n\t\tdefault: {\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\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 ( ! __next40pxDefaultSize ) {\n\t\tsizes.default = {\n\t\t\theight: 32,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 32,\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 BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\t${ baseLabelTypography };\n\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\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\tlet outline;\n\tlet outlineOffset;\n\n\tif ( isFocused ) {\n\t\tboxShadow = CONFIG.controlBoxShadowFocus;\n\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\toutline = `2px solid transparent`;\n\t\toutlineOffset = `-2px`;\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\toutline,\n\t\toutlineOffset,\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"],"mappings":"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"}
1
+ {"version":3,"names":["css","Flex","FlexItem","Text","baseLabelTypography","COLORS","CONFIG","rtl","space","_ref2","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","rootFocusedStyles","isFocused","Root","_styled","target","label","containerDisabledStyles","disabled","backgroundColor","ui","backgroundDisabled","background","_ref","containerWidthStyles","__unstableInputWidth","labelPosition","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","default","small","compact","fontSize","fontSizeMobile","getSizeConfig","__next40pxDefaultSize","height","lineHeight","minHeight","paddingLeft","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","gray","BaseLabel","Label","createElement","as","LabelWrapper","backdropFocusedStyles","borderColor","borderFocus","border","boxShadow","outline","outlineOffset","controlBoxShadowFocus","borderDisabled","borderStyle","borderWidth","BackdropUI","Prefix","Suffix"],"sources":["@wordpress/components/src/input-control/styles/input-control-styles.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { SerializedStyles } from '@emotion/react';\nimport { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport type { CSSProperties, ReactNode } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { Flex, FlexItem } from '../../flex';\nimport { Text } from '../../text';\nimport { baseLabelTypography, COLORS, CONFIG, rtl } from '../../utils';\nimport type { LabelPosition, Size } from '../types';\nimport { space } from '../../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\nexport const Root = styled( Flex )< RootProps >`\n\tbox-sizing: border-box;\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\t${ rootFocusedStyles }\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\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${ containerWidthStyles }\n`;\n\ntype InputProps = {\n\t__next40pxDefaultSize?: 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\nexport const fontSizeStyles = ( { inputSize: size }: InputProps ) => {\n\tconst sizes = {\n\t\tdefault: '13px',\n\t\tsmall: '11px',\n\t\tcompact: '13px',\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__next40pxDefaultSize,\n}: InputProps ) => {\n\t// Paddings may be overridden by the custom paddings props.\n\tconst sizes = {\n\t\tdefault: {\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\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\tcompact: {\n\t\t\theight: 32,\n\t\t\tlineHeight: 1,\n\t\t\tminHeight: 32,\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 ( ! __next40pxDefaultSize ) {\n\t\tsizes.default = sizes.compact;\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 BaseLabel = styled( Text )< { labelPosition?: LabelPosition } >`\n\t&&& {\n\t\t${ baseLabelTypography };\n\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\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\tlet outline;\n\tlet outlineOffset;\n\n\tif ( isFocused ) {\n\t\tboxShadow = CONFIG.controlBoxShadowFocus;\n\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\toutline = `2px solid transparent`;\n\t\toutlineOffset = `-2px`;\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\toutline,\n\t\toutlineOffset,\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"],"mappings":";;;AAAA;AACA;AACA;;AAEA,SAASA,GAAG,QAAQ,gBAAgB;AAQpC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,YAAY;AAC3C,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,GAAG,QAAQ,aAAa;AAEtE,SAASC,KAAK,QAAQ,mBAAmB;AAAC,IAAAC,KAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAc1C,MAAMC,iBAAiB,GAAGA,CAAE;EAAEC;AAAqB,CAAC,KAAM;EACzD,IAAK,CAAEA,SAAS,EAAG,OAAO,EAAE;EAE5B,OAAAV,KAAA;AACD,CAAC;AAED,OAAO,MAAMW,IAAI,GAAG,aAAAC,OAAA,CAAQpB,IAAI,EAAAS,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,6EAK9BL,iBAAiB,SAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA,wlUACpB;AAED,MAAMY,uBAAuB,GAAGA,CAAE;EAAEC;AAAyB,CAAC,KAAM;EACnE,MAAMC,eAAe,GAAGD,QAAQ,GAC7BpB,MAAM,CAACsB,EAAE,CAACC,kBAAkB,GAC5BvB,MAAM,CAACsB,EAAE,CAACE,UAAU;EAEvB,oBAAO7B,GAAG,CAAE;IAAE0B;EAAgB,CAAC,EAAAhB,OAAA,CAAAC,GAAA,CAAAC,QAAA,4DAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AAClC,CAAC;AAAC,IAAAkB,IAAA,GAAApB,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAEF,MAAMc,oBAAoB,GAAGA,CAAE;EAC9BC,oBAAoB;EACpBC;AACe,CAAC,KAAM;EACtB,IAAK,CAAED,oBAAoB,EAAG,OAAAF,IAAA;EAE9B,IAAKG,aAAa,KAAK,MAAM,EAAG,OAAO,EAAE;EAEzC,IAAKA,aAAa,KAAK,MAAM,EAAG;IAC/B,oBAAOjC,GAAG,CAAE;MACXkC,IAAI,EAAG,OAAOF,oBAAsB;IACrC,CAAC,EAAAtB,OAAA,CAAAC,GAAA,CAAAC,QAAA,yDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;EACJ;EAEA,oBAAOZ,GAAG,CAAE;IAAEmC,KAAK,EAAEH;EAAqB,CAAC,EAAAtB,OAAA,CAAAC,GAAA,CAAAC,QAAA,yDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AAC9C,CAAC;AAED,OAAO,MAAMwB,SAAS,GAAAf,OAAA,QAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,4GAQlBC,uBAAuB,OACvBO,oBAAoB,SAAArB,OAAA,CAAAC,GAAA,CAAAC,QAAA,wlUACvB;AAYD,MAAMyB,cAAc,GAAGA,CAAE;EAAEZ;AAAqB,CAAC,KAAM;EACtD,IAAK,CAAEA,QAAQ,EAAG,OAAO,EAAE;EAE3B,oBAAOzB,GAAG,CAAE;IACXsC,KAAK,EAAEjC,MAAM,CAACsB,EAAE,CAACY;EAClB,CAAC,EAAA7B,OAAA,CAAAC,GAAA,CAAAC,QAAA,mDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAM4B,cAAc,GAAGA,CAAE;EAAEC,SAAS,EAAEC;AAAiB,CAAC,KAAM;EACpE,MAAMC,KAAK,GAAG;IACbC,OAAO,EAAE,MAAM;IACfC,KAAK,EAAE,MAAM;IACbC,OAAO,EAAE,MAAM;IACf,kBAAkB,EAAE;EACrB,CAAC;EAED,MAAMC,QAAQ,GAAGJ,KAAK,CAAED,IAAI,CAAU,IAAIC,KAAK,CAACC,OAAO;EACvD,MAAMI,cAAc,GAAG,MAAM;EAE7B,IAAK,CAAED,QAAQ,EAAG,OAAO,EAAE;EAE3B,oBAAO/C,GAAG,eACKgD,cAAc,6CAGbD,QAAQ,UAAArC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;AAGzB,CAAC;AAED,OAAO,MAAMqC,aAAa,GAAGA,CAAE;EAC9BR,SAAS,EAAEC,IAAI;EACfQ;AACW,CAAC,KAAM;EAClB;EACA,MAAMP,KAAK,GAAG;IACbC,OAAO,EAAE;MACRO,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE9C,KAAK,CAAE,CAAE,CAAC;MACvB+C,YAAY,EAAE/C,KAAK,CAAE,CAAE;IACxB,CAAC;IACDqC,KAAK,EAAE;MACNM,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE9C,KAAK,CAAE,CAAE,CAAC;MACvB+C,YAAY,EAAE/C,KAAK,CAAE,CAAE;IACxB,CAAC;IACDsC,OAAO,EAAE;MACRK,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE9C,KAAK,CAAE,CAAE,CAAC;MACvB+C,YAAY,EAAE/C,KAAK,CAAE,CAAE;IACxB,CAAC;IACD,kBAAkB,EAAE;MACnB2C,MAAM,EAAE,EAAE;MACVC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,EAAE;MACbC,WAAW,EAAE9C,KAAK,CAAE,CAAE,CAAC;MACvB+C,YAAY,EAAE/C,KAAK,CAAE,CAAE;IACxB;EACD,CAAC;EAED,IAAK,CAAE0C,qBAAqB,EAAG;IAC9BP,KAAK,CAACC,OAAO,GAAGD,KAAK,CAACG,OAAO;EAC9B;EAEA,OAAOH,KAAK,CAAED,IAAI,CAAU,IAAIC,KAAK,CAACC,OAAO;AAC9C,CAAC;AAED,MAAMY,UAAU,GAAKC,KAAiB,IAAM;EAC3C,oBAAOzD,GAAG,CAAEiD,aAAa,CAAEQ,KAAM,CAAC,EAAA/C,OAAA,CAAAC,GAAA,CAAAC,QAAA,+CAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AACrC,CAAC;AAED,MAAM8C,cAAc,GAAGA,CAAE;EACxBC,kBAAkB;EAClBC;AACW,CAAC,KAAM;EAClB,oBAAO5D,GAAG,CAAE;IAAE2D,kBAAkB;IAAEC;EAAiB,CAAC,EAAAlD,OAAA,CAAAC,GAAA,CAAAC,QAAA,mDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AACvD,CAAC;AAED,MAAMiD,UAAU,GAAGA,CAAE;EAAEC,UAAU;EAAEC;AAAuB,CAAC,KAAM;EAChE,IAAIC,kBAAgD;EACpD,IAAIC,sBAAoD;EAExD,IAAKH,UAAU,EAAG;IACjBE,kBAAkB,gBAAGhE,GAAG,YACZ+D,UAAU,0IAAArD,OAAA,CAAAC,GAAA,CAAAC,QAAA,wDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,ulUAQrB;EACF;EAEA,IAAKkD,UAAU,IAAIC,UAAU,EAAG;IAC/BE,sBAAsB,gBAAGjE,GAAG,qBAEf+D,UAAU,UAAArD,OAAA,CAAAC,GAAA,CAAAC,QAAA,4DAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,ulUAEtB;EACF;EAEA,oBAAOZ,GAAG,CACNgE,kBAAkB,OAClBC,sBAAsB,SAAAvD,OAAA,CAAAC,GAAA,CAAAC,QAAA,gDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;AAE3B,CAAC;;AAED;AACA;;AAEA,OAAO,MAAMsD,KAAK,GAAA7C,OAAA,UAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,0GAMNlB,MAAM,CAAC8D,IAAI,CAAE,GAAG,CAAE,0EAOzBN,UAAU,OACVxB,cAAc,OACdG,cAAc,OACdgB,UAAU,OACVE,cAAc,2DAAAhD,OAAA,CAAAC,GAAA,CAAAC,QAAA,wlUAMlB;AAED,MAAMwD,SAAS,GAAG,aAAA/C,OAAA,CAAQlB,IAAI,EAAAO,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,SAE3BnB,mBAAmB,gKAAAM,OAAA,CAAAC,GAAA,CAAAC,QAAA,wlUAavB;AAED,OAAO,MAAMyD,KAAK,GACjBZ,KAIC,IACGa,aAAA,CAACF,SAAS;EAAA,GAAMX,KAAK;EAAGc,EAAE,EAAC;AAAO,CAAE,CAAC;AAE1C,OAAO,MAAMC,YAAY,GAAG,aAAAnD,OAAA,CAAQnB,QAAQ,EAAAQ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,CAAAb,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAE7C;AAOD,MAAMwD,qBAAqB,GAAGA,CAAE;EAC/BhD,QAAQ;EACRN;AACc,CAAC,KAAwB;EACvC,IAAIuD,WAAW,GAAGvD,SAAS,GAAGd,MAAM,CAACsB,EAAE,CAACgD,WAAW,GAAGtE,MAAM,CAACsB,EAAE,CAACiD,MAAM;EAEtE,IAAIC,SAAS;EACb,IAAIC,OAAO;EACX,IAAIC,aAAa;EAEjB,IAAK5D,SAAS,EAAG;IAChB0D,SAAS,GAAGvE,MAAM,CAAC0E,qBAAqB;IACxC;IACAF,OAAO,GAAI,uBAAsB;IACjCC,aAAa,GAAI,MAAK;EACvB;EAEA,IAAKtD,QAAQ,EAAG;IACfiD,WAAW,GAAGrE,MAAM,CAACsB,EAAE,CAACsD,cAAc;EACvC;EAEA,oBAAOjF,GAAG,CAAE;IACX6E,SAAS;IACTH,WAAW;IACXQ,WAAW,EAAE,OAAO;IACpBC,WAAW,EAAE,CAAC;IACdL,OAAO;IACPC;EACD,CAAC,EAAArE,OAAA,CAAAC,GAAA,CAAAC,QAAA,0DAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,klUAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMwE,UAAU,GAAA/D,OAAA,QAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,8IAalBkD,qBAAqB,OACrBlE,GAAG,CAAE;EAAE+C,WAAW,EAAE;AAAE,CAAE,CAAC,UAAA5C,OAAA,CAAAC,GAAA,CAAAC,QAAA,wlUAE7B;AAED,OAAO,MAAMyE,MAAM,GAAAhE,OAAA,SAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAb,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAGlB;AAED,OAAO,MAAMqE,MAAM,GAAAjE,OAAA,SAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAU,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAb,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,EAKlB"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/components/src/input-control/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type {\n\tCSSProperties,\n\tReactNode,\n\tSyntheticEvent,\n\tHTMLInputTypeAttribute,\n} from 'react';\nimport type { useDrag } from '@use-gesture/react';\n\n/**\n * Internal dependencies\n */\nimport type { StateReducer } from './reducer/state';\nimport type { WordPressComponentProps } from '../context';\nimport type { FlexProps } from '../flex/types';\nimport type { BaseControlProps } from '../base-control/types';\n\nexport type LabelPosition = 'top' | 'bottom' | 'side' | 'edge';\n\nexport type DragDirection = 'n' | 's' | 'e' | 'w';\n\nexport type DragProps = Parameters< Parameters< typeof useDrag >[ 0 ] >[ 0 ];\n\nexport type Size = 'default' | 'small' | '__unstable-large';\n\ninterface BaseProps {\n\t/**\n\t * Deprecated. Use `__next40pxDefaultSize` instead.\n\t *\n\t * @default false\n\t * @deprecated\n\t */\n\t__next36pxDefaultSize?: boolean;\n\t/**\n\t * Start opting into the larger default height that will become the default size in a future version.\n\t *\n\t * @default false\n\t */\n\t__next40pxDefaultSize?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\t/**\n\t * If true, the label will only be visible to screen readers.\n\t *\n\t * @default false\n\t */\n\thideLabelFromVision?: boolean;\n\t/**\n\t * Whether the component should be in a focused state.\n\t * Used to coordinate focus states when the actual focused element and the component handling\n\t * visual focus are separate.\n\t *\n\t * @default false\n\t */\n\tisFocused: boolean;\n\t/**\n\t * The position of the label.\n\t *\n\t * @default 'top'\n\t */\n\tlabelPosition?: LabelPosition;\n\t/**\n\t * Adjusts the size of the input.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: Size;\n}\n\nexport type InputChangeCallback< P = {} > = (\n\tnextValue: string | undefined,\n\textra: { event: SyntheticEvent } & P\n) => void;\n\nexport interface InputFieldProps\n\textends Omit< BaseProps, '__next36pxDefaultSize' > {\n\t/**\n\t * Determines the drag axis.\n\t *\n\t * @default 'n'\n\t */\n\tdragDirection?: DragDirection;\n\t/**\n\t * If `isDragEnabled` is true, this controls the amount of `px` to have been dragged before\n\t * the drag gesture is actually triggered.\n\t *\n\t * @default 10\n\t */\n\tdragThreshold?: number;\n\t/**\n\t * If true, enables mouse drag gestures.\n\t *\n\t * @default false\n\t */\n\tisDragEnabled?: boolean;\n\t/**\n\t * If true, the `ENTER` key press is required in order to trigger an `onChange`.\n\t * If enabled, a change is also triggered when tabbing away (`onBlur`).\n\t *\n\t * @default false\n\t */\n\tisPressEnterToChange?: boolean;\n\t/**\n\t * A function that receives the value of the input.\n\t */\n\tonChange?: InputChangeCallback;\n\tonValidate?: (\n\t\tnextValue: string,\n\t\tevent?: SyntheticEvent< HTMLInputElement >\n\t) => void;\n\tpaddingInlineStart?: CSSProperties[ 'paddingInlineStart' ];\n\tpaddingInlineEnd?: CSSProperties[ 'paddingInlineEnd' ];\n\tsetIsFocused: ( isFocused: boolean ) => void;\n\tstateReducer?: StateReducer;\n\t/**\n\t * The current value of the input.\n\t */\n\tvalue?: string;\n\tonDragEnd?: ( dragProps: DragProps ) => void;\n\tonDragStart?: ( dragProps: DragProps ) => void;\n\tonDrag?: ( dragProps: DragProps ) => void;\n\t/**\n\t * Type of the input element to render.\n\t *\n\t * @default 'text'\n\t */\n\ttype?: HTMLInputTypeAttribute;\n}\n\nexport interface InputBaseProps extends BaseProps, FlexProps {\n\tchildren: ReactNode;\n\t/**\n\t * Renders an element on the left side of the input.\n\t *\n\t * By default, the prefix is aligned with the edge of the input border, with no padding.\n\t * If you want to apply standard padding in accordance with the size variant, wrap the element in\n\t * the provided `<InputControlPrefixWrapper>` component.\n\t *\n\t * @example\n\t * import {\n\t * __experimentalInputControl as InputControl,\n\t * __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t * } from '@wordpress/components';\n\t *\n\t * <InputControl\n\t * prefix={<InputControlPrefixWrapper>@</InputControlPrefixWrapper>}\n\t * />\n\t */\n\tprefix?: ReactNode;\n\t/**\n\t * Renders an element on the right side of the input.\n\t *\n\t * By default, the suffix is aligned with the edge of the input border, with no padding.\n\t * If you want to apply standard padding in accordance with the size variant, wrap the element in\n\t * the provided `<InputControlSuffixWrapper>` component.\n\t *\n\t * @example\n\t * import {\n\t * __experimentalInputControl as InputControl,\n\t * __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t * } from '@wordpress/components';\n\t *\n\t * <InputControl\n\t * suffix={<InputControlSuffixWrapper>%</InputControlSuffixWrapper>}\n\t * />\n\t */\n\tsuffix?: ReactNode;\n\t/**\n\t * If true, the `input` will be disabled.\n\t *\n\t * @default false\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * If this property is added, a label will be generated using label property as the content.\n\t */\n\tlabel?: ReactNode;\n}\n\nexport interface InputControlProps\n\textends Omit< InputBaseProps, 'children' | 'isFocused' | keyof FlexProps >,\n\t\tPick< BaseControlProps, 'help' >,\n\t\t/**\n\t\t * The `prefix` prop in `WordPressComponentProps< InputFieldProps, 'input', false >` comes from the\n\t\t * `HTMLInputAttributes` and clashes with the one from `InputBaseProps`. So we have to omit it from\n\t\t * `WordPressComponentProps< InputFieldProps, 'input', false >` in order that `InputBaseProps[ 'prefix' ]`\n\t\t * be the only prefix prop. Otherwise it tries to do a union of the two prefix properties and you end up\n\t\t * with an unresolvable type.\n\t\t *\n\t\t * `isFocused`, `setIsFocused`, `paddingInlineStart`, and `paddingInlineEnd` are managed internally by\n\t\t * the InputControl, but the rest of the props for InputField are passed through.\n\t\t */\n\t\tOmit<\n\t\t\tWordPressComponentProps< InputFieldProps, 'input', false >,\n\t\t\t| 'stateReducer'\n\t\t\t| 'prefix'\n\t\t\t| 'isFocused'\n\t\t\t| 'setIsFocused'\n\t\t\t| 'paddingInlineStart'\n\t\t\t| 'paddingInlineEnd'\n\t\t> {\n\t__unstableStateReducer?: InputFieldProps[ 'stateReducer' ];\n}\n\nexport interface InputControlLabelProps {\n\tchildren: ReactNode;\n\thideLabelFromVision?: BaseProps[ 'hideLabelFromVision' ];\n\tlabelPosition?: BaseProps[ 'labelPosition' ];\n\tsize?: BaseProps[ 'size' ];\n}\n\nexport type InputControlPrefixWrapperProps = {\n\t/**\n\t * The prefix to be inserted.\n\t */\n\tchildren: ReactNode;\n};\n\nexport type InputControlSuffixWrapperProps = {\n\t/**\n\t * The suffix to be inserted.\n\t */\n\tchildren: ReactNode;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["@wordpress/components/src/input-control/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type {\n\tCSSProperties,\n\tReactNode,\n\tSyntheticEvent,\n\tHTMLInputTypeAttribute,\n} from 'react';\nimport type { useDrag } from '@use-gesture/react';\n\n/**\n * Internal dependencies\n */\nimport type { StateReducer } from './reducer/state';\nimport type { WordPressComponentProps } from '../context';\nimport type { FlexProps } from '../flex/types';\nimport type { BaseControlProps } from '../base-control/types';\n\nexport type LabelPosition = 'top' | 'bottom' | 'side' | 'edge';\n\nexport type DragDirection = 'n' | 's' | 'e' | 'w';\n\nexport type DragProps = Parameters< Parameters< typeof useDrag >[ 0 ] >[ 0 ];\n\nexport type Size = 'default' | 'small' | 'compact' | '__unstable-large';\n\ninterface BaseProps {\n\t/**\n\t * Deprecated. Use `__next40pxDefaultSize` instead.\n\t *\n\t * @default false\n\t * @deprecated\n\t */\n\t__next36pxDefaultSize?: boolean;\n\t/**\n\t * Start opting into the larger default height that will become the default size in a future version.\n\t *\n\t * @default false\n\t */\n\t__next40pxDefaultSize?: boolean;\n\t__unstableInputWidth?: CSSProperties[ 'width' ];\n\t/**\n\t * If true, the label will only be visible to screen readers.\n\t *\n\t * @default false\n\t */\n\thideLabelFromVision?: boolean;\n\t/**\n\t * Whether the component should be in a focused state.\n\t * Used to coordinate focus states when the actual focused element and the component handling\n\t * visual focus are separate.\n\t *\n\t * @default false\n\t */\n\tisFocused: boolean;\n\t/**\n\t * The position of the label.\n\t *\n\t * @default 'top'\n\t */\n\tlabelPosition?: LabelPosition;\n\t/**\n\t * Adjusts the size of the input.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: Size;\n}\n\nexport type InputChangeCallback< P = {} > = (\n\tnextValue: string | undefined,\n\textra: { event: SyntheticEvent } & P\n) => void;\n\nexport interface InputFieldProps\n\textends Omit< BaseProps, '__next36pxDefaultSize' > {\n\t/**\n\t * Determines the drag axis.\n\t *\n\t * @default 'n'\n\t */\n\tdragDirection?: DragDirection;\n\t/**\n\t * If `isDragEnabled` is true, this controls the amount of `px` to have been dragged before\n\t * the drag gesture is actually triggered.\n\t *\n\t * @default 10\n\t */\n\tdragThreshold?: number;\n\t/**\n\t * If true, enables mouse drag gestures.\n\t *\n\t * @default false\n\t */\n\tisDragEnabled?: boolean;\n\t/**\n\t * If true, the `ENTER` key press is required in order to trigger an `onChange`.\n\t * If enabled, a change is also triggered when tabbing away (`onBlur`).\n\t *\n\t * @default false\n\t */\n\tisPressEnterToChange?: boolean;\n\t/**\n\t * A function that receives the value of the input.\n\t */\n\tonChange?: InputChangeCallback;\n\tonValidate?: (\n\t\tnextValue: string,\n\t\tevent?: SyntheticEvent< HTMLInputElement >\n\t) => void;\n\tpaddingInlineStart?: CSSProperties[ 'paddingInlineStart' ];\n\tpaddingInlineEnd?: CSSProperties[ 'paddingInlineEnd' ];\n\tsetIsFocused: ( isFocused: boolean ) => void;\n\tstateReducer?: StateReducer;\n\t/**\n\t * The current value of the input.\n\t */\n\tvalue?: string;\n\tonDragEnd?: ( dragProps: DragProps ) => void;\n\tonDragStart?: ( dragProps: DragProps ) => void;\n\tonDrag?: ( dragProps: DragProps ) => void;\n\t/**\n\t * Type of the input element to render.\n\t *\n\t * @default 'text'\n\t */\n\ttype?: HTMLInputTypeAttribute;\n}\n\nexport interface InputBaseProps extends BaseProps, FlexProps {\n\tchildren: ReactNode;\n\t/**\n\t * Renders an element on the left side of the input.\n\t *\n\t * By default, the prefix is aligned with the edge of the input border, with no padding.\n\t * If you want to apply standard padding in accordance with the size variant, wrap the element in\n\t * the provided `<InputControlPrefixWrapper>` component.\n\t *\n\t * @example\n\t * import {\n\t * __experimentalInputControl as InputControl,\n\t * __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t * } from '@wordpress/components';\n\t *\n\t * <InputControl\n\t * prefix={<InputControlPrefixWrapper>@</InputControlPrefixWrapper>}\n\t * />\n\t */\n\tprefix?: ReactNode;\n\t/**\n\t * Renders an element on the right side of the input.\n\t *\n\t * By default, the suffix is aligned with the edge of the input border, with no padding.\n\t * If you want to apply standard padding in accordance with the size variant, wrap the element in\n\t * the provided `<InputControlSuffixWrapper>` component.\n\t *\n\t * @example\n\t * import {\n\t * __experimentalInputControl as InputControl,\n\t * __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t * } from '@wordpress/components';\n\t *\n\t * <InputControl\n\t * suffix={<InputControlSuffixWrapper>%</InputControlSuffixWrapper>}\n\t * />\n\t */\n\tsuffix?: ReactNode;\n\t/**\n\t * If true, the `input` will be disabled.\n\t *\n\t * @default false\n\t */\n\tdisabled?: boolean;\n\t/**\n\t * If this property is added, a label will be generated using label property as the content.\n\t */\n\tlabel?: ReactNode;\n}\n\nexport interface InputControlProps\n\textends Omit< InputBaseProps, 'children' | 'isFocused' | keyof FlexProps >,\n\t\tPick< BaseControlProps, 'help' >,\n\t\t/**\n\t\t * The `prefix` prop in `WordPressComponentProps< InputFieldProps, 'input', false >` comes from the\n\t\t * `HTMLInputAttributes` and clashes with the one from `InputBaseProps`. So we have to omit it from\n\t\t * `WordPressComponentProps< InputFieldProps, 'input', false >` in order that `InputBaseProps[ 'prefix' ]`\n\t\t * be the only prefix prop. Otherwise it tries to do a union of the two prefix properties and you end up\n\t\t * with an unresolvable type.\n\t\t *\n\t\t * `isFocused`, `setIsFocused`, `paddingInlineStart`, and `paddingInlineEnd` are managed internally by\n\t\t * the InputControl, but the rest of the props for InputField are passed through.\n\t\t */\n\t\tOmit<\n\t\t\tWordPressComponentProps< InputFieldProps, 'input', false >,\n\t\t\t| 'stateReducer'\n\t\t\t| 'prefix'\n\t\t\t| 'isFocused'\n\t\t\t| 'setIsFocused'\n\t\t\t| 'paddingInlineStart'\n\t\t\t| 'paddingInlineEnd'\n\t\t> {\n\t__unstableStateReducer?: InputFieldProps[ 'stateReducer' ];\n}\n\nexport interface InputControlLabelProps {\n\tchildren: ReactNode;\n\thideLabelFromVision?: BaseProps[ 'hideLabelFromVision' ];\n\tlabelPosition?: BaseProps[ 'labelPosition' ];\n\tsize?: BaseProps[ 'size' ];\n}\n\nexport type InputControlPrefixWrapperProps = {\n\t/**\n\t * The prefix to be inserted.\n\t */\n\tchildren: ReactNode;\n};\n\nexport type InputControlSuffixWrapperProps = {\n\t/**\n\t * The suffix to be inserted.\n\t */\n\tchildren: ReactNode;\n};\n"],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';
5
+ export const {
6
+ lock,
7
+ unlock
8
+ } = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/components');
9
+ //# sourceMappingURL=lock-unlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/components/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/components'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,iHAAiH,EACjH,uBACD,CAAC"}
@@ -9,7 +9,7 @@ import SafeArea from 'react-native-safe-area';
9
9
  /**
10
10
  * WordPress dependencies
11
11
  */
12
- import { subscribeAndroidModalClosed } from '@wordpress/react-native-bridge';
12
+ import { subscribeAndroidModalClosed, showAndroidSoftKeyboard } from '@wordpress/react-native-bridge';
13
13
  import { Component } from '@wordpress/element';
14
14
  import { withPreferredColorScheme } from '@wordpress/compose';
15
15
 
@@ -167,6 +167,9 @@ class BottomSheet extends Component {
167
167
  if (this.androidModalClosedSubscription) {
168
168
  this.androidModalClosedSubscription.remove();
169
169
  }
170
+ if (this.props.isVisible) {
171
+ showAndroidSoftKeyboard();
172
+ }
170
173
  if (this.safeAreaEventSubscription === null) {
171
174
  return;
172
175
  }
@@ -267,6 +270,9 @@ class BottomSheet extends Component {
267
270
  const {
268
271
  onDismiss
269
272
  } = this.props;
273
+
274
+ // Restore Keyboard Visibility
275
+ showAndroidSoftKeyboard();
270
276
  if (onDismiss) {
271
277
  onDismiss();
272
278
  }
@@ -466,6 +472,8 @@ class BottomSheet extends Component {
466
472
  onMoveShouldSetResponderCapture: scrollEnabled && panResponder.panHandlers.onMoveShouldSetResponderCapture,
467
473
  onAccessibilityEscape: this.onCloseBottomSheet,
468
474
  testID: "bottom-sheet",
475
+ hardwareAccelerated: true,
476
+ useNativeDriverForBackdrop: true,
469
477
  ...rest
470
478
  }, createElement(KeyboardAvoidingView, {
471
479
  behavior: Platform.OS === 'ios' && 'padding',
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","Keyboard","LayoutAnimation","PanResponder","Platform","ScrollView","StatusBar","Text","TouchableHighlight","View","Modal","SafeArea","subscribeAndroidModalClosed","Component","withPreferredColorScheme","styles","Button","Cell","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer","KeyboardAvoidingView","BottomSheetSubSheet","NavBar","BottomSheetProvider","DEFAULT_LAYOUT_ANIMATION","Presets","easeInEaseOut","BottomSheet","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","OS","componentDidMount","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","onClose","dimensionsChangeSubscription","addEventListener","keyboardShowListener","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","getHeader","createElement","Fragment","bottomSheetHeader","flex","maxFontSizeMultiplier","separator","showDragIndicator","allowDragIndicator","bottomModal","animationInTiming","animationOutTiming","backdropTransitionInTiming","backdropTransitionOutTiming","backdropOpacity","onBackdropPress","onBackButtonPress","onSwipeComplete","undefined","onModalHide","swipeDirection","onMoveShouldSetResponder","panHandlers","onMoveShouldSetResponderCapture","onAccessibilityEscape","testID","behavior","borderColor","marginTop","backgroundFullScreen","keyboardVerticalOffset","onLayout","dragIndicator","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","accessible","getWidth","maxWidth","ThemedBottomSheet","SubSheet"],"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { subscribeAndroidModalClosed } from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\tonDismiss,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\ttestID=\"bottom-sheet\"\n\t\t\t\t{ ...rest }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t\tmaxHeight,\n\t\t\t\t\t\t\t\tisMaxHeightSet,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Dimensions","Keyboard","LayoutAnimation","PanResponder","Platform","ScrollView","StatusBar","Text","TouchableHighlight","View","Modal","SafeArea","subscribeAndroidModalClosed","showAndroidSoftKeyboard","Component","withPreferredColorScheme","styles","Button","Cell","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer","KeyboardAvoidingView","BottomSheetSubSheet","NavBar","BottomSheetProvider","DEFAULT_LAYOUT_ANIMATION","Presets","easeInEaseOut","BottomSheet","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","OS","componentDidMount","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","onClose","dimensionsChangeSubscription","addEventListener","keyboardShowListener","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","getHeader","createElement","Fragment","bottomSheetHeader","flex","maxFontSizeMultiplier","separator","showDragIndicator","allowDragIndicator","bottomModal","animationInTiming","animationOutTiming","backdropTransitionInTiming","backdropTransitionOutTiming","backdropOpacity","onBackdropPress","onBackButtonPress","onSwipeComplete","undefined","onModalHide","swipeDirection","onMoveShouldSetResponder","panHandlers","onMoveShouldSetResponderCapture","onAccessibilityEscape","testID","hardwareAccelerated","useNativeDriverForBackdrop","behavior","borderColor","marginTop","backgroundFullScreen","keyboardVerticalOffset","onLayout","dragIndicator","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","accessible","getWidth","maxWidth","ThemedBottomSheet","SubSheet"],"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tsubscribeAndroidModalClosed,\n\tshowAndroidSoftKeyboard,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\n\t\tif ( this.props.isVisible ) {\n\t\t\tshowAndroidSoftKeyboard();\n\t\t}\n\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\t// Restore Keyboard Visibility\n\t\tshowAndroidSoftKeyboard();\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\tonDismiss,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\ttestID=\"bottom-sheet\"\n\t\t\t\thardwareAccelerated={ true }\n\t\t\t\tuseNativeDriverForBackdrop={ true }\n\t\t\t\t{ ...rest }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t\tmaxHeight,\n\t\t\t\t\t\t\t\tisMaxHeightSet,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"],"mappings":"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"}
@@ -8,12 +8,13 @@ import { colord } from 'colord';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
11
- import { getPxFromCssUnit, useSettings, useMultipleOriginColorsAndGradients, SETTINGS_DEFAULTS } from '@wordpress/block-editor';
11
+ import { useSettings, useMultipleOriginColorsAndGradients, SETTINGS_DEFAULTS } from '@wordpress/block-editor';
12
12
  import { usePreferredColorSchemeStyle } from '@wordpress/compose';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
16
16
  */
17
+ import { default as getPxFromCssUnit } from '../utils/get-px-from-css-unit';
17
18
  import { useGlobalStyles } from './index.native';
18
19
  export const BLOCK_STYLE_ATTRIBUTES = ['textColor', 'backgroundColor', 'style', 'color', 'fontSize'];
19
20
 
@@ -186,6 +187,19 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
186
187
  const customValuesData = customValues !== null && customValues !== void 0 ? customValues : JSON.parse(stylesBase);
187
188
  stylesBase = stylesBase.replace(regex, (_$1, $2) => {
188
189
  const path = $2.split('--');
190
+
191
+ // Supports cases for variables like var(--wp--custom--color--background)
192
+ if (path[0] === 'color') {
193
+ const colorKey = path[path.length - 1];
194
+ if (mappedValues?.color) {
195
+ const matchedValue = mappedValues.color?.values?.find(({
196
+ slug
197
+ }) => slug === colorKey);
198
+ if (matchedValue) {
199
+ return `${matchedValue?.color}`;
200
+ }
201
+ }
202
+ }
189
203
  if (path.reduce((prev, curr) => prev && prev[curr], customValuesData)) {
190
204
  return getValueFromObjectPath(customValuesData, path);
191
205
  }
@@ -249,23 +263,34 @@ export function getMappedValues(features, palette) {
249
263
  * @return {Object} normalized sizes.
250
264
  */
251
265
  function normalizeFontSizes(fontSizes) {
252
- // Adds normalized PX values for each of the different keys.
253
266
  if (!fontSizes) {
254
267
  return fontSizes;
255
268
  }
256
- const normalizedFontSizes = {};
257
269
  const dimensions = Dimensions.get('window');
258
- ['default', 'theme', 'custom'].forEach(key => {
259
- if (fontSizes[key]) {
260
- normalizedFontSizes[key] = fontSizes[key]?.map(fontSizeObject => {
261
- fontSizeObject.sizePx = getPxFromCssUnit(fontSizeObject.size, {
262
- width: dimensions.width,
263
- height: dimensions.height,
264
- fontSize: DEFAULT_FONT_SIZE
265
- });
266
- return fontSizeObject;
270
+ const normalizedFontSizes = {};
271
+ const keysToProcess = [];
272
+
273
+ // Check if 'theme' or 'custom' keys exist and add them to keysToProcess array
274
+ if (fontSizes?.theme) {
275
+ keysToProcess.push('theme');
276
+ }
277
+ if (fontSizes?.custom) {
278
+ keysToProcess.push('custom');
279
+ }
280
+
281
+ // If neither 'theme' nor 'custom' exist, add 'default' if it exists
282
+ if (keysToProcess.length === 0 && fontSizes?.default) {
283
+ keysToProcess.push('default');
284
+ }
285
+ keysToProcess.forEach(key => {
286
+ normalizedFontSizes[key] = fontSizes[key].map(fontSizeObject => {
287
+ fontSizeObject.sizePx = getPxFromCssUnit(fontSizeObject.size, {
288
+ width: dimensions.width,
289
+ height: dimensions.height,
290
+ fontSize: DEFAULT_FONT_SIZE
267
291
  });
268
- }
292
+ return fontSizeObject;
293
+ });
269
294
  });
270
295
  return normalizedFontSizes;
271
296
  }
@@ -1 +1 @@
1
- {"version":3,"names":["camelCase","Dimensions","colord","getPxFromCssUnit","useSettings","useMultipleOriginColorsAndGradients","SETTINGS_DEFAULTS","usePreferredColorSchemeStyle","useGlobalStyles","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","reduce","prev","curr","slice","length","width","height","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","defaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","editorColors","baseColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","isDark"],"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSettings,\n\tuseMultipleOriginColorsAndGradients,\n\tSETTINGS_DEFAULTS,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useGlobalStyles } from './index.native';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["camelCase","Dimensions","colord","useSettings","useMultipleOriginColorsAndGradients","SETTINGS_DEFAULTS","usePreferredColorSchemeStyle","default","getPxFromCssUnit","useGlobalStyles","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","_customBlockStyles$ke","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","values","find","slug","getBlockTypography","fontSizes","typographyStyles","typography","parsedFontSizes","fontSize","lineHeight","parseInt","mappedFontSize","size","getValueFromObjectPath","object","path","fieldName","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","split","mappedPresetValue","_mappedPresetValue$va","matchedValue","customValuesData","JSON","parse","colorKey","length","reduce","prev","curr","slice","width","height","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","normalizeFontSizes","dimensions","normalizedFontSizes","keysToProcess","push","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","origin","concat","defaultPaletteSetting","defaultPaletteValue","defaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultGradients","getGlobalStyles","rawStyles","_features$color$text","_features$color$backg","_features$color$defau","_features$color$defau2","stringify","globalStyles","customLineHeight","spacing","useEditorColorScheme","baseStyle","darkStyle","deviceColorScheme","editorColors","baseColors","editorBackgroundColor","isBackgroundColorDefined","isEditorBackgroundDark","isDark"],"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { Dimensions } from 'react-native';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseSettings,\n\tuseMultipleOriginColorsAndGradients,\n\tSETTINGS_DEFAULTS,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { default as getPxFromCssUnit } from '../utils/get-px-from-css-unit';\nimport { useGlobalStyles } from './index.native';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = Object.values( defaultColors ?? {} ).find(\n\t\t\t\t( { slug } ) => slug === value\n\t\t\t);\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\tconst parsedFontSizes = Object.values( fontSizes ?? {} );\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t\t\t( { slug } ) => slug === fontSize\n\t\t\t\t);\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = parsedFontSizes.find(\n\t\t\t( { slug } ) => slug === blockStyleAttributes?.fontSize\n\t\t);\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\n/**\n * Return a value from a certain path of the object.\n * Path is specified as an array of properties, like: [ 'parent', 'child' ].\n *\n * @param {Object} object Input object.\n * @param {Array} path Path to the object property.\n * @return {*} Value of the object property at the specified path.\n */\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = Object.values(\n\t\t\t\t\t\tmappedPresetValue.values ?? {}\n\t\t\t\t\t).find( ( { slug } ) => slug === path[ 1 ] );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\n\t\t\t\t// Supports cases for variables like var(--wp--custom--color--background)\n\t\t\t\tif ( path[ 0 ] === 'color' ) {\n\t\t\t\t\tconst colorKey = path[ path.length - 1 ];\n\t\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === colorKey\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( matchedValue ) {\n\t\t\t\t\t\t\treturn `${ matchedValue?.color }`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn getValueFromObjectPath( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn getValueFromObjectPath( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = mappedValues.color?.values?.find(\n\t\t\t\t\t\t( { slug } ) => slug === $2\n\t\t\t\t\t);\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\n\tconst dimensions = Dimensions.get( 'window' );\n\tconst normalizedFontSizes = {};\n\tconst keysToProcess = [];\n\n\t// Check if 'theme' or 'custom' keys exist and add them to keysToProcess array\n\tif ( fontSizes?.theme ) {\n\t\tkeysToProcess.push( 'theme' );\n\t}\n\tif ( fontSizes?.custom ) {\n\t\tkeysToProcess.push( 'custom' );\n\t}\n\n\t// If neither 'theme' nor 'custom' exist, add 'default' if it exists\n\tif ( keysToProcess.length === 0 && fontSizes?.default ) {\n\t\tkeysToProcess.push( 'default' );\n\t}\n\n\tkeysToProcess.forEach( ( key ) => {\n\t\tnormalizedFontSizes[ key ] = fontSizes[ key ].map(\n\t\t\t( fontSizeObject ) => {\n\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit( fontSizeObject.size, {\n\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t} );\n\t\t\t\treturn fontSizeObject;\n\t\t\t}\n\t\t);\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst defaultPaletteSetting =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst [ defaultPaletteValue ] = useSettings( defaultPaletteSetting );\n\t// In edge cases, the default palette might be undefined. To avoid\n\t// exceptions across the editor in that case, we explicitly return\n\t// the default editor colors.\n\tconst defaultPalette = defaultPaletteValue ?? SETTINGS_DEFAULTS.colors;\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: defaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t\tspacing: features?.spacing,\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n\n/**\n * Determine and apply appropriate color scheme based on global styles or device's light/dark mode.\n *\n * The function first attempts to retrieve the editor's background color from global styles.\n * If the detected background color is light, light styles are applied, and dark styles otherwise.\n * If no custom background color is defined, styles are applied using the device's dark/light setting.\n *\n * @param {Object} baseStyle - An object representing the base (light theme) styles for the editor.\n * @param {Object} darkStyle - An object representing the additional styles to apply when the editor is in dark mode.\n *\n * @return {Object} - The combined style object that should be applied to the editor.\n */\nexport const useEditorColorScheme = ( baseStyle, darkStyle ) => {\n\tconst globalStyles = useGlobalStyles();\n\n\tconst deviceColorScheme = usePreferredColorSchemeStyle(\n\t\tbaseStyle,\n\t\tdarkStyle\n\t);\n\n\tconst editorColors = globalStyles?.baseColors?.color;\n\tconst editorBackgroundColor = editorColors?.background;\n\n\tconst isBackgroundColorDefined =\n\t\ttypeof editorBackgroundColor !== 'undefined' &&\n\t\teditorBackgroundColor !== 'undefined';\n\n\tif ( isBackgroundColorDefined ) {\n\t\tconst isEditorBackgroundDark = colord( editorBackgroundColor ).isDark();\n\t\treturn isEditorBackgroundDark\n\t\t\t? { ...baseStyle, ...darkStyle }\n\t\t\t: baseStyle;\n\t}\n\n\treturn deviceColorScheme;\n};\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export const IMAGE_DEFAULT_FOCAL_POINT = {
2
+ x: 0.5,
3
+ y: 0.5
4
+ };
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IMAGE_DEFAULT_FOCAL_POINT","x","y"],"sources":["@wordpress/components/src/mobile/image/constants.js"],"sourcesContent":["export const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\n"],"mappings":"AAAA,OAAO,MAAMA,yBAAyB,GAAG;EAAEC,CAAC,EAAE,GAAG;EAAEC,CAAC,EAAE;AAAI,CAAC"}