@wordpress/components 27.4.0 → 27.5.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 (474) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/build/alignment-matrix-control/index.js +3 -1
  3. package/build/alignment-matrix-control/index.js.map +1 -1
  4. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -8
  5. package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  6. package/build/alignment-matrix-control/utils.js +6 -2
  7. package/build/alignment-matrix-control/utils.js.map +1 -1
  8. package/build/autocomplete/autocompleter-ui.js +3 -1
  9. package/build/autocomplete/autocompleter-ui.js.map +1 -1
  10. package/build/autocomplete/index.js +21 -7
  11. package/build/autocomplete/index.js.map +1 -1
  12. package/build/checkbox-control/index.js +9 -2
  13. package/build/checkbox-control/index.js.map +1 -1
  14. package/build/color-picker/hex-input.js +3 -1
  15. package/build/color-picker/hex-input.js.map +1 -1
  16. package/build/color-picker/hue-picker.native.js +6 -2
  17. package/build/color-picker/hue-picker.native.js.map +1 -1
  18. package/build/color-picker/index.native.js +9 -3
  19. package/build/color-picker/index.native.js.map +1 -1
  20. package/build/color-picker/saturation-picker.native.js +6 -2
  21. package/build/color-picker/saturation-picker.native.js.map +1 -1
  22. package/build/color-picker/use-deprecated-props.js +9 -3
  23. package/build/color-picker/use-deprecated-props.js.map +1 -1
  24. package/build/context/context-connect.js +6 -2
  25. package/build/context/context-connect.js.map +1 -1
  26. package/build/custom-select-control-v2/legacy-component/index.js +3 -1
  27. package/build/custom-select-control-v2/legacy-component/index.js.map +1 -1
  28. package/build/drop-zone/index.js +72 -64
  29. package/build/drop-zone/index.js.map +1 -1
  30. package/build/dropdown/styles.js +5 -3
  31. package/build/dropdown/styles.js.map +1 -1
  32. package/build/duotone-picker/utils.js +3 -1
  33. package/build/duotone-picker/utils.js.map +1 -1
  34. package/build/elevation/hook.js +5 -6
  35. package/build/elevation/hook.js.map +1 -1
  36. package/build/focal-point-picker/controls.js +3 -1
  37. package/build/focal-point-picker/controls.js.map +1 -1
  38. package/build/focal-point-picker/index.js +21 -7
  39. package/build/focal-point-picker/index.js.map +1 -1
  40. package/build/focal-point-picker/styles/focal-point-picker-style.js +12 -12
  41. package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  42. package/build/focal-point-picker/tooltip/index.native.js +3 -8
  43. package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
  44. package/build/focal-point-picker/utils.js +3 -1
  45. package/build/focal-point-picker/utils.js.map +1 -1
  46. package/build/font-size-picker/index.js +3 -2
  47. package/build/font-size-picker/index.js.map +1 -1
  48. package/build/font-size-picker/types.js.map +1 -1
  49. package/build/input-control/input-field.js +3 -1
  50. package/build/input-control/input-field.js.map +1 -1
  51. package/build/input-control/label.js +3 -1
  52. package/build/input-control/label.js.map +1 -1
  53. package/build/input-control/styles/input-control-styles.js +31 -23
  54. package/build/input-control/styles/input-control-styles.js.map +1 -1
  55. package/build/input-control/utils.js +8 -4
  56. package/build/input-control/utils.js.map +1 -1
  57. package/build/item-group/item/hook.js +0 -4
  58. package/build/item-group/item/hook.js.map +1 -1
  59. package/build/mobile/gradient/index.native.js +3 -1
  60. package/build/mobile/gradient/index.native.js.map +1 -1
  61. package/build/mobile/keyboard-aware-flat-list/index.android.js +9 -3
  62. package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  63. package/build/mobile/keyboard-aware-flat-list/index.ios.js +15 -13
  64. package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  65. package/build/mobile/keyboard-aware-flat-list/shared.native.js +33 -0
  66. package/build/mobile/keyboard-aware-flat-list/shared.native.js.map +1 -0
  67. package/build/modal/aria-helper.js +9 -3
  68. package/build/modal/aria-helper.js.map +1 -1
  69. package/build/modal/index.js +6 -2
  70. package/build/modal/index.js.map +1 -1
  71. package/build/navigation/styles/navigation-styles.js +12 -12
  72. package/build/navigation/styles/navigation-styles.js.map +1 -1
  73. package/build/panel/body.js +3 -1
  74. package/build/panel/body.js.map +1 -1
  75. package/build/popover/index.js +3 -1
  76. package/build/popover/index.js.map +1 -1
  77. package/build/popover/overlay-middlewares.js +3 -1
  78. package/build/popover/overlay-middlewares.js.map +1 -1
  79. package/build/query-controls/author-select.js +3 -1
  80. package/build/query-controls/author-select.js.map +1 -1
  81. package/build/range-control/rail.js +1 -1
  82. package/build/range-control/rail.js.map +1 -1
  83. package/build/range-control/styles/range-control-styles.js +29 -29
  84. package/build/range-control/styles/range-control-styles.js.map +1 -1
  85. package/build/resizable-box/resize-tooltip/index.js +3 -1
  86. package/build/resizable-box/resize-tooltip/index.js.map +1 -1
  87. package/build/resizable-box/resize-tooltip/label.js +3 -1
  88. package/build/resizable-box/resize-tooltip/label.js.map +1 -1
  89. package/build/resizable-box/resize-tooltip/utils.js +12 -4
  90. package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
  91. package/build/select-control/index.js +3 -1
  92. package/build/select-control/index.js.map +1 -1
  93. package/build/select-control/styles/select-control-styles.js +8 -6
  94. package/build/select-control/styles/select-control-styles.js.map +1 -1
  95. package/build/slot-fill/bubbles-virtually/slot-fill-context.js +3 -3
  96. package/build/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  97. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +3 -3
  98. package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  99. package/build/slot-fill/bubbles-virtually/use-slot-fills.js +2 -2
  100. package/build/slot-fill/bubbles-virtually/use-slot-fills.js.map +1 -1
  101. package/build/slot-fill/bubbles-virtually/use-slot.js +2 -2
  102. package/build/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  103. package/build/slot-fill/types.js.map +1 -1
  104. package/build/text/get-line-height.js +6 -2
  105. package/build/text/get-line-height.js.map +1 -1
  106. package/build/text/utils.js +6 -2
  107. package/build/text/utils.js.map +1 -1
  108. package/build/theme/color-algorithms.js +6 -2
  109. package/build/theme/color-algorithms.js.map +1 -1
  110. package/build/toggle-group-control/toggle-group-control-option-base/component.js +3 -1
  111. package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  112. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  113. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  114. package/build/tree-grid/roving-tab-index-item.js +3 -1
  115. package/build/tree-grid/roving-tab-index-item.js.map +1 -1
  116. package/build/unit-control/index.js +3 -1
  117. package/build/unit-control/index.js.map +1 -1
  118. package/build/utils/colors.js +21 -7
  119. package/build/utils/colors.js.map +1 -1
  120. package/build/utils/font-size.js +3 -1
  121. package/build/utils/font-size.js.map +1 -1
  122. package/build/utils/get-valid-children.js +3 -1
  123. package/build/utils/get-valid-children.js.map +1 -1
  124. package/build/utils/input/base.js +2 -3
  125. package/build/utils/input/base.js.map +1 -1
  126. package/build/utils/strings.js +11 -57
  127. package/build/utils/strings.js.map +1 -1
  128. package/build/utils/use-responsive-value.js +3 -1
  129. package/build/utils/use-responsive-value.js.map +1 -1
  130. package/build/view/component.js +26 -8
  131. package/build/view/component.js.map +1 -1
  132. package/build-module/alignment-matrix-control/index.js +3 -1
  133. package/build-module/alignment-matrix-control/index.js.map +1 -1
  134. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
  135. package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
  136. package/build-module/alignment-matrix-control/utils.js +6 -2
  137. package/build-module/alignment-matrix-control/utils.js.map +1 -1
  138. package/build-module/autocomplete/autocompleter-ui.js +3 -1
  139. package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
  140. package/build-module/autocomplete/index.js +21 -7
  141. package/build-module/autocomplete/index.js.map +1 -1
  142. package/build-module/checkbox-control/index.js +9 -2
  143. package/build-module/checkbox-control/index.js.map +1 -1
  144. package/build-module/color-picker/hex-input.js +3 -1
  145. package/build-module/color-picker/hex-input.js.map +1 -1
  146. package/build-module/color-picker/hue-picker.native.js +6 -2
  147. package/build-module/color-picker/hue-picker.native.js.map +1 -1
  148. package/build-module/color-picker/index.native.js +9 -3
  149. package/build-module/color-picker/index.native.js.map +1 -1
  150. package/build-module/color-picker/saturation-picker.native.js +6 -2
  151. package/build-module/color-picker/saturation-picker.native.js.map +1 -1
  152. package/build-module/color-picker/use-deprecated-props.js +9 -3
  153. package/build-module/color-picker/use-deprecated-props.js.map +1 -1
  154. package/build-module/context/context-connect.js +6 -2
  155. package/build-module/context/context-connect.js.map +1 -1
  156. package/build-module/custom-select-control-v2/legacy-component/index.js +3 -1
  157. package/build-module/custom-select-control-v2/legacy-component/index.js.map +1 -1
  158. package/build-module/drop-zone/index.js +72 -64
  159. package/build-module/drop-zone/index.js.map +1 -1
  160. package/build-module/dropdown/styles.js +5 -3
  161. package/build-module/dropdown/styles.js.map +1 -1
  162. package/build-module/duotone-picker/utils.js +3 -1
  163. package/build-module/duotone-picker/utils.js.map +1 -1
  164. package/build-module/elevation/hook.js +6 -7
  165. package/build-module/elevation/hook.js.map +1 -1
  166. package/build-module/focal-point-picker/controls.js +3 -1
  167. package/build-module/focal-point-picker/controls.js.map +1 -1
  168. package/build-module/focal-point-picker/index.js +21 -7
  169. package/build-module/focal-point-picker/index.js.map +1 -1
  170. package/build-module/focal-point-picker/styles/focal-point-picker-style.js +13 -13
  171. package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
  172. package/build-module/focal-point-picker/tooltip/index.native.js +3 -8
  173. package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
  174. package/build-module/focal-point-picker/utils.js +3 -1
  175. package/build-module/focal-point-picker/utils.js.map +1 -1
  176. package/build-module/font-size-picker/index.js +3 -2
  177. package/build-module/font-size-picker/index.js.map +1 -1
  178. package/build-module/font-size-picker/types.js.map +1 -1
  179. package/build-module/input-control/input-field.js +3 -1
  180. package/build-module/input-control/input-field.js.map +1 -1
  181. package/build-module/input-control/label.js +3 -1
  182. package/build-module/input-control/label.js.map +1 -1
  183. package/build-module/input-control/styles/input-control-styles.js +31 -23
  184. package/build-module/input-control/styles/input-control-styles.js.map +1 -1
  185. package/build-module/input-control/utils.js +8 -4
  186. package/build-module/input-control/utils.js.map +1 -1
  187. package/build-module/item-group/item/hook.js +0 -4
  188. package/build-module/item-group/item/hook.js.map +1 -1
  189. package/build-module/mobile/gradient/index.native.js +3 -1
  190. package/build-module/mobile/gradient/index.native.js.map +1 -1
  191. package/build-module/mobile/keyboard-aware-flat-list/index.android.js +9 -3
  192. package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
  193. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +16 -15
  194. package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
  195. package/build-module/mobile/keyboard-aware-flat-list/shared.native.js +27 -0
  196. package/build-module/mobile/keyboard-aware-flat-list/shared.native.js.map +1 -0
  197. package/build-module/modal/aria-helper.js +9 -3
  198. package/build-module/modal/aria-helper.js.map +1 -1
  199. package/build-module/modal/index.js +6 -2
  200. package/build-module/modal/index.js.map +1 -1
  201. package/build-module/navigation/styles/navigation-styles.js +13 -13
  202. package/build-module/navigation/styles/navigation-styles.js.map +1 -1
  203. package/build-module/panel/body.js +3 -1
  204. package/build-module/panel/body.js.map +1 -1
  205. package/build-module/popover/index.js +3 -1
  206. package/build-module/popover/index.js.map +1 -1
  207. package/build-module/popover/overlay-middlewares.js +3 -1
  208. package/build-module/popover/overlay-middlewares.js.map +1 -1
  209. package/build-module/query-controls/author-select.js +3 -1
  210. package/build-module/query-controls/author-select.js.map +1 -1
  211. package/build-module/range-control/rail.js +1 -1
  212. package/build-module/range-control/rail.js.map +1 -1
  213. package/build-module/range-control/styles/range-control-styles.js +30 -30
  214. package/build-module/range-control/styles/range-control-styles.js.map +1 -1
  215. package/build-module/resizable-box/resize-tooltip/index.js +3 -1
  216. package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
  217. package/build-module/resizable-box/resize-tooltip/label.js +3 -1
  218. package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
  219. package/build-module/resizable-box/resize-tooltip/utils.js +12 -4
  220. package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
  221. package/build-module/select-control/index.js +3 -1
  222. package/build-module/select-control/index.js.map +1 -1
  223. package/build-module/select-control/styles/select-control-styles.js +8 -6
  224. package/build-module/select-control/styles/select-control-styles.js.map +1 -1
  225. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js +2 -1
  226. package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
  227. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
  228. package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
  229. package/build-module/slot-fill/bubbles-virtually/use-slot-fills.js +1 -1
  230. package/build-module/slot-fill/bubbles-virtually/use-slot-fills.js.map +1 -1
  231. package/build-module/slot-fill/bubbles-virtually/use-slot.js +1 -1
  232. package/build-module/slot-fill/bubbles-virtually/use-slot.js.map +1 -1
  233. package/build-module/slot-fill/types.js.map +1 -1
  234. package/build-module/text/get-line-height.js +6 -2
  235. package/build-module/text/get-line-height.js.map +1 -1
  236. package/build-module/text/utils.js +6 -2
  237. package/build-module/text/utils.js.map +1 -1
  238. package/build-module/theme/color-algorithms.js +6 -2
  239. package/build-module/theme/color-algorithms.js.map +1 -1
  240. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +3 -1
  241. package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
  242. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +10 -10
  243. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  244. package/build-module/tree-grid/roving-tab-index-item.js +3 -1
  245. package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
  246. package/build-module/unit-control/index.js +3 -1
  247. package/build-module/unit-control/index.js.map +1 -1
  248. package/build-module/utils/colors.js +21 -7
  249. package/build-module/utils/colors.js.map +1 -1
  250. package/build-module/utils/font-size.js +3 -1
  251. package/build-module/utils/font-size.js.map +1 -1
  252. package/build-module/utils/get-valid-children.js +3 -1
  253. package/build-module/utils/get-valid-children.js.map +1 -1
  254. package/build-module/utils/input/base.js +2 -3
  255. package/build-module/utils/input/base.js.map +1 -1
  256. package/build-module/utils/strings.js +12 -57
  257. package/build-module/utils/strings.js.map +1 -1
  258. package/build-module/utils/use-responsive-value.js +3 -1
  259. package/build-module/utils/use-responsive-value.js.map +1 -1
  260. package/build-module/view/component.js +26 -8
  261. package/build-module/view/component.js.map +1 -1
  262. package/build-style/style-rtl.css +39 -36
  263. package/build-style/style.css +39 -36
  264. package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
  265. package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
  266. package/build-types/alignment-matrix-control/utils.d.ts.map +1 -1
  267. package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
  268. package/build-types/autocomplete/index.d.ts.map +1 -1
  269. package/build-types/border-box-control/border-box-control/hook.d.ts +4 -4
  270. package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +4 -4
  271. package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -4
  272. package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +4 -4
  273. package/build-types/border-control/border-control/hook.d.ts +4 -4
  274. package/build-types/border-control/border-control-dropdown/hook.d.ts +4 -4
  275. package/build-types/box-control/stories/index.story.d.ts +24 -24
  276. package/build-types/card/card/hook.d.ts +4 -4
  277. package/build-types/card/card-body/hook.d.ts +4 -4
  278. package/build-types/card/card-divider/hook.d.ts +4 -4
  279. package/build-types/card/card-footer/hook.d.ts +4 -4
  280. package/build-types/card/card-header/hook.d.ts +4 -4
  281. package/build-types/card/card-media/hook.d.ts +4 -4
  282. package/build-types/checkbox-control/index.d.ts.map +1 -1
  283. package/build-types/color-picker/hex-input.d.ts.map +1 -1
  284. package/build-types/color-picker/use-deprecated-props.d.ts.map +1 -1
  285. package/build-types/context/context-connect.d.ts.map +1 -1
  286. package/build-types/custom-select-control-v2/legacy-component/index.d.ts.map +1 -1
  287. package/build-types/drop-zone/index.d.ts.map +1 -1
  288. package/build-types/dropdown/styles.d.ts.map +1 -1
  289. package/build-types/duotone-picker/utils.d.ts.map +1 -1
  290. package/build-types/elevation/hook.d.ts +4 -4
  291. package/build-types/elevation/hook.d.ts.map +1 -1
  292. package/build-types/flex/flex/hook.d.ts +4 -4
  293. package/build-types/flex/flex-block/hook.d.ts +4 -4
  294. package/build-types/flex/flex-item/hook.d.ts +4 -4
  295. package/build-types/focal-point-picker/controls.d.ts.map +1 -1
  296. package/build-types/focal-point-picker/index.d.ts.map +1 -1
  297. package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
  298. package/build-types/focal-point-picker/utils.d.ts.map +1 -1
  299. package/build-types/font-size-picker/index.d.ts.map +1 -1
  300. package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
  301. package/build-types/font-size-picker/types.d.ts +2 -0
  302. package/build-types/font-size-picker/types.d.ts.map +1 -1
  303. package/build-types/grid/hook.d.ts +4 -4
  304. package/build-types/h-stack/hook.d.ts +4 -4
  305. package/build-types/heading/hook.d.ts +4 -4
  306. package/build-types/input-control/input-field.d.ts.map +1 -1
  307. package/build-types/input-control/label.d.ts.map +1 -1
  308. package/build-types/input-control/stories/index.story.d.ts +2 -1
  309. package/build-types/input-control/stories/index.story.d.ts.map +1 -1
  310. package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
  311. package/build-types/input-control/utils.d.ts.map +1 -1
  312. package/build-types/item-group/item/hook.d.ts +5 -5
  313. package/build-types/item-group/item/hook.d.ts.map +1 -1
  314. package/build-types/item-group/item-group/hook.d.ts +4 -4
  315. package/build-types/modal/aria-helper.d.ts.map +1 -1
  316. package/build-types/modal/index.d.ts.map +1 -1
  317. package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
  318. package/build-types/navigator/navigator-back-button/hook.d.ts +4 -4
  319. package/build-types/navigator/navigator-button/hook.d.ts +4 -4
  320. package/build-types/palette-edit/styles.d.ts +749 -10
  321. package/build-types/palette-edit/styles.d.ts.map +1 -1
  322. package/build-types/panel/body.d.ts.map +1 -1
  323. package/build-types/popover/index.d.ts.map +1 -1
  324. package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
  325. package/build-types/popover/stories/index.story.d.ts.map +1 -1
  326. package/build-types/query-controls/author-select.d.ts.map +1 -1
  327. package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
  328. package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
  329. package/build-types/resizable-box/resize-tooltip/label.d.ts.map +1 -1
  330. package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
  331. package/build-types/scrollable/hook.d.ts +4 -4
  332. package/build-types/select-control/index.d.ts.map +1 -1
  333. package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
  334. package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
  335. package/build-types/slot-fill/bubbles-virtually/slot-fill-provider.d.ts.map +1 -1
  336. package/build-types/slot-fill/bubbles-virtually/use-slot-fills.d.ts.map +1 -1
  337. package/build-types/slot-fill/bubbles-virtually/use-slot.d.ts.map +1 -1
  338. package/build-types/slot-fill/types.d.ts +2 -2
  339. package/build-types/slot-fill/types.d.ts.map +1 -1
  340. package/build-types/spacer/hook.d.ts +4 -4
  341. package/build-types/surface/hook.d.ts +4 -4
  342. package/build-types/text/get-line-height.d.ts.map +1 -1
  343. package/build-types/text/hook.d.ts +4 -4
  344. package/build-types/text/utils.d.ts.map +1 -1
  345. package/build-types/text-control/index.d.ts +1 -1
  346. package/build-types/theme/color-algorithms.d.ts.map +1 -1
  347. package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
  348. package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
  349. package/build-types/tools-panel/tools-panel/hook.d.ts +4 -4
  350. package/build-types/tools-panel/tools-panel-header/hook.d.ts +4 -4
  351. package/build-types/tools-panel/tools-panel-item/hook.d.ts +4 -4
  352. package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -1
  353. package/build-types/truncate/hook.d.ts +4 -4
  354. package/build-types/unit-control/index.d.ts.map +1 -1
  355. package/build-types/utils/colors.d.ts.map +1 -1
  356. package/build-types/utils/font-size.d.ts.map +1 -1
  357. package/build-types/utils/get-valid-children.d.ts.map +1 -1
  358. package/build-types/utils/input/base.d.ts.map +1 -1
  359. package/build-types/utils/strings.d.ts.map +1 -1
  360. package/build-types/utils/use-responsive-value.d.ts.map +1 -1
  361. package/build-types/v-stack/hook.d.ts +4 -4
  362. package/build-types/view/component.d.ts +253 -7
  363. package/build-types/view/component.d.ts.map +1 -1
  364. package/package.json +19 -19
  365. package/src/alignment-matrix-control/index.tsx +3 -1
  366. package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +4 -3
  367. package/src/alignment-matrix-control/utils.tsx +6 -2
  368. package/src/autocomplete/autocompleter-ui.tsx +3 -1
  369. package/src/autocomplete/index.tsx +21 -7
  370. package/src/autocomplete/style.scss +10 -4
  371. package/src/box-control/test/index.tsx +22 -0
  372. package/src/card/test/__snapshots__/index.tsx.snap +44 -47
  373. package/src/checkbox-control/index.tsx +44 -35
  374. package/src/checkbox-control/style.scss +12 -1
  375. package/src/checkbox-control/test/__snapshots__/index.tsx.snap +27 -26
  376. package/src/checkbox-control/test/index.tsx +5 -0
  377. package/src/color-picker/hex-input.tsx +3 -1
  378. package/src/color-picker/hue-picker.native.js +6 -2
  379. package/src/color-picker/index.native.js +9 -3
  380. package/src/color-picker/saturation-picker.native.js +6 -2
  381. package/src/color-picker/use-deprecated-props.ts +9 -3
  382. package/src/context/context-connect.ts +6 -2
  383. package/src/custom-select-control-v2/README.md +0 -4
  384. package/src/custom-select-control-v2/legacy-component/index.tsx +3 -1
  385. package/src/custom-select-control-v2/stories/default.story.tsx +1 -1
  386. package/src/custom-select-control-v2/stories/legacy.story.tsx +1 -1
  387. package/src/drop-zone/index.tsx +66 -66
  388. package/src/dropdown/styles.ts +3 -1
  389. package/src/duotone-picker/utils.ts +3 -1
  390. package/src/elevation/hook.ts +6 -3
  391. package/src/elevation/test/__snapshots__/index.tsx.snap +18 -24
  392. package/src/flex/test/__snapshots__/index.tsx.snap +4 -4
  393. package/src/focal-point-picker/controls.tsx +3 -1
  394. package/src/focal-point-picker/index.tsx +20 -7
  395. package/src/focal-point-picker/styles/focal-point-picker-style.ts +4 -3
  396. package/src/focal-point-picker/tooltip/index.native.js +1 -7
  397. package/src/focal-point-picker/utils.ts +3 -1
  398. package/src/font-size-picker/README.md +1 -0
  399. package/src/font-size-picker/index.tsx +4 -2
  400. package/src/font-size-picker/stories/index.story.tsx +0 -1
  401. package/src/font-size-picker/types.ts +2 -0
  402. package/src/higher-order/navigate-regions/style.scss +3 -3
  403. package/src/input-control/input-field.tsx +3 -1
  404. package/src/input-control/label.tsx +3 -1
  405. package/src/input-control/stories/index.story.tsx +31 -1
  406. package/src/input-control/styles/input-control-styles.tsx +12 -4
  407. package/src/input-control/test/index.js +8 -4
  408. package/src/input-control/utils.ts +3 -2
  409. package/src/item-group/item/hook.ts +1 -10
  410. package/src/item-group/test/__snapshots__/index.js.snap +16 -16
  411. package/src/mobile/gradient/index.native.js +3 -1
  412. package/src/mobile/keyboard-aware-flat-list/index.android.js +11 -2
  413. package/src/mobile/keyboard-aware-flat-list/index.ios.js +30 -19
  414. package/src/mobile/keyboard-aware-flat-list/shared.native.js +26 -0
  415. package/src/mobile/keyboard-aware-flat-list/styles.native.scss +8 -0
  416. package/src/modal/aria-helper.ts +8 -3
  417. package/src/modal/index.tsx +6 -2
  418. package/src/modal/test/index.tsx +11 -4
  419. package/src/navigation/styles/navigation-styles.tsx +4 -3
  420. package/src/panel/body.tsx +3 -1
  421. package/src/panel/style.scss +1 -0
  422. package/src/placeholder/style.scss +12 -34
  423. package/src/popover/index.tsx +2 -1
  424. package/src/popover/overlay-middlewares.tsx +3 -1
  425. package/src/popover/stories/index.story.tsx +0 -2
  426. package/src/query-controls/author-select.tsx +3 -1
  427. package/src/range-control/rail.tsx +1 -1
  428. package/src/range-control/styles/range-control-styles.ts +5 -3
  429. package/src/resizable-box/resize-tooltip/index.tsx +3 -1
  430. package/src/resizable-box/resize-tooltip/label.tsx +3 -1
  431. package/src/resizable-box/resize-tooltip/utils.ts +12 -4
  432. package/src/select-control/index.tsx +3 -1
  433. package/src/select-control/styles/select-control-styles.ts +3 -1
  434. package/src/slot-fill/bubbles-virtually/slot-fill-context.ts +2 -1
  435. package/src/slot-fill/bubbles-virtually/slot-fill-provider.tsx +1 -1
  436. package/src/slot-fill/bubbles-virtually/use-slot-fills.ts +1 -1
  437. package/src/slot-fill/bubbles-virtually/use-slot.ts +1 -1
  438. package/src/slot-fill/types.ts +2 -2
  439. package/src/surface/test/__snapshots__/index.tsx.snap +10 -10
  440. package/src/text/get-line-height.ts +6 -2
  441. package/src/text/utils.ts +6 -2
  442. package/src/theme/color-algorithms.ts +6 -2
  443. package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +18 -24
  444. package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -1
  445. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +7 -6
  446. package/src/toolbar/toolbar/style.scss +2 -2
  447. package/src/tree-grid/roving-tab-index-item.tsx +3 -1
  448. package/src/unit-control/index.tsx +5 -1
  449. package/src/utils/colors.js +21 -7
  450. package/src/utils/font-size.ts +3 -1
  451. package/src/utils/get-valid-children.ts +3 -1
  452. package/src/utils/input/base.js +4 -3
  453. package/src/utils/strings.ts +11 -59
  454. package/src/utils/test/strings.js +62 -0
  455. package/src/utils/use-responsive-value.ts +2 -1
  456. package/src/view/component.tsx +18 -11
  457. package/tsconfig.json +1 -2
  458. package/tsconfig.tsbuildinfo +1 -1
  459. package/build/slot-fill/bubbles-virtually/observable-map.js +0 -68
  460. package/build/slot-fill/bubbles-virtually/observable-map.js.map +0 -1
  461. package/build/view/types.js +0 -6
  462. package/build/view/types.js.map +0 -1
  463. package/build-module/slot-fill/bubbles-virtually/observable-map.js +0 -60
  464. package/build-module/slot-fill/bubbles-virtually/observable-map.js.map +0 -1
  465. package/build-module/view/types.js +0 -2
  466. package/build-module/view/types.js.map +0 -1
  467. package/build-types/slot-fill/bubbles-virtually/observable-map.d.ts +0 -19
  468. package/build-types/slot-fill/bubbles-virtually/observable-map.d.ts.map +0 -1
  469. package/build-types/view/types.d.ts +0 -8
  470. package/build-types/view/types.d.ts.map +0 -1
  471. package/src/slot-fill/bubbles-virtually/observable-map.ts +0 -79
  472. package/src/slot-fill/test/observable-map.js +0 -83
  473. package/src/utils/hooks/stories/use-cx.js +0 -157
  474. package/src/view/types.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"names":["_react2","require","_flex","_text","_utils","_space","_EMOTION_STRINGIFIED_CSS_ERROR__","Prefix","exports","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Suffix","backdropBorderColor","disabled","isBorderless","COLORS","ui","borderDisabled","border","BackdropUI","rtl","paddingLeft","Root","Flex","borderFocus","CONFIG","controlBoxShadowFocus","containerDisabledStyles","backgroundColor","backgroundDisabled","background","css","_ref","containerWidthStyles","__unstableInputWidth","labelPosition","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","small","compact","fontSize","fontSizeMobile","getSizeConfig","__next40pxDefaultSize","height","lineHeight","minHeight","space","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","theme","foreground","BaseLabel","Text","baseLabelTypography","Label","_react","createElement","as","LabelWrapper","FlexItem"],"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\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\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisBorderless?: boolean;\n};\n\nconst backdropBorderColor = ( {\n\tdisabled,\n\tisBorderless,\n}: BackdropProps ): CSSProperties[ 'borderColor' ] => {\n\tif ( isBorderless ) {\n\t\treturn 'transparent';\n\t}\n\n\tif ( disabled ) {\n\t\treturn COLORS.ui.borderDisabled;\n\t}\n\n\treturn COLORS.ui.border;\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-color: ${ backdropBorderColor };\n\t\tborder-radius: inherit;\n\t\tborder-style: solid;\n\t\tborder-width: 1px;\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${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Root = styled( Flex )`\n\tbox-sizing: border-box;\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\n\t// Focus within, excluding cases where auxiliary controls in prefix or suffix have focus.\n\t&:focus-within:not( :has( :is( ${ Prefix }, ${ Suffix } ):focus-within ) ) {\n\t\tz-index: 1;\n\n\t\t${ BackdropUI } {\n\t\t\tborder-color: ${ COLORS.ui.borderFocus };\n\t\t\tbox-shadow: ${ CONFIG.controlBoxShadowFocus };\n\t\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\t\toutline: 2px solid transparent;\n\t\t\toutline-offset: -2px;\n\t\t}\n\t}\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.theme.foreground };\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react2","require","_flex","_text","_utils","_space","_EMOTION_STRINGIFIED_CSS_ERROR__","Prefix","exports","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Suffix","backdropBorderColor","disabled","isBorderless","COLORS","ui","borderDisabled","border","BackdropUI","rtl","paddingLeft","Root","Flex","borderFocus","CONFIG","controlBoxShadowFocus","containerDisabledStyles","backgroundColor","backgroundDisabled","background","css","_ref","containerWidthStyles","__unstableInputWidth","labelPosition","flex","width","Container","disabledStyles","color","textDisabled","fontSizeStyles","inputSize","size","sizes","small","compact","fontSize","fontSizeMobile","getSizeConfig","__next40pxDefaultSize","height","lineHeight","minHeight","space","paddingRight","sizeStyles","props","customPaddings","paddingInlineStart","paddingInlineEnd","dragStyles","isDragging","dragCursor","defaultArrowStyles","activeDragCursorStyles","Input","theme","foreground","BaseLabel","Text","baseLabelTypography","Label","_react","createElement","as","LabelWrapper","FlexItem"],"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\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\ntype BackdropProps = {\n\tdisabled?: boolean;\n\tisBorderless?: boolean;\n};\n\nconst backdropBorderColor = ( {\n\tdisabled,\n\tisBorderless,\n}: BackdropProps ): CSSProperties[ 'borderColor' ] => {\n\tif ( isBorderless ) {\n\t\treturn 'transparent';\n\t}\n\n\tif ( disabled ) {\n\t\treturn COLORS.ui.borderDisabled;\n\t}\n\n\treturn COLORS.ui.border;\n};\n\nexport const BackdropUI = styled.div< BackdropProps >`\n\t&&& {\n\t\tbox-sizing: border-box;\n\t\tborder-color: ${ backdropBorderColor };\n\t\tborder-radius: inherit;\n\t\tborder-style: solid;\n\t\tborder-width: 1px;\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${ rtl( { paddingLeft: 2 } ) }\n\t}\n`;\n\nexport const Root = styled( Flex )`\n\tbox-sizing: border-box;\n\tposition: relative;\n\tborder-radius: 2px;\n\tpadding-top: 0;\n\n\t// Focus within, excluding cases where auxiliary controls in prefix or suffix have focus.\n\t&:focus-within:not( :has( :is( ${ Prefix }, ${ Suffix } ):focus-within ) ) {\n\t\tz-index: 1;\n\n\t\t${ BackdropUI } {\n\t\t\tborder-color: ${ COLORS.ui.borderFocus };\n\t\t\tbox-shadow: ${ CONFIG.controlBoxShadowFocus };\n\t\t\t// Windows High Contrast mode will show this outline, but not the box-shadow.\n\t\t\toutline: 2px solid transparent;\n\t\t\toutline-offset: -2px;\n\t\t}\n\t}\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 ) {\n\t\treturn css( { width: '100%' } );\n\t}\n\n\tif ( labelPosition === 'side' ) {\n\t\treturn '';\n\t}\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 ) {\n\t\treturn '';\n\t}\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 ) {\n\t\treturn '';\n\t}\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.theme.foreground };\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"],"mappings":"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","ignoreList":[]}
@@ -73,10 +73,14 @@ function useDraft(props) {
73
73
  current: previousValue
74
74
  } = refPreviousValue;
75
75
  refPreviousValue.current = props.value;
76
- if (draft.value !== undefined && !draft.isStale) setDraft({
77
- ...draft,
78
- isStale: true
79
- });else if (draft.isStale && props.value !== previousValue) setDraft({});
76
+ if (draft.value !== undefined && !draft.isStale) {
77
+ setDraft({
78
+ ...draft,
79
+ isStale: true
80
+ });
81
+ } else if (draft.isStale && props.value !== previousValue) {
82
+ setDraft({});
83
+ }
80
84
  }, [props.value, draft]);
81
85
  const onChange = (nextValue, extra) => {
82
86
  // Mutates the draft value to avoid an extra effect run.
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","getDragCursor","dragDirection","dragCursor","useDragCursor","isDragging","useEffect","document","documentElement","style","cursor","useDraft","props","refPreviousValue","useRef","value","draft","setDraft","useState","undefined","useLayoutEffect","current","previousValue","isStale","onChange","nextValue","extra","Object","assign","onBlur","event"],"sources":["@wordpress/components/src/input-control/utils.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { FocusEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { InputChangeCallback } from './types';\n\n/**\n * Gets a CSS cursor value based on a drag direction.\n *\n * @param dragDirection The drag direction.\n * @return The CSS cursor value.\n */\nexport function getDragCursor( dragDirection: string ): string {\n\tlet dragCursor = 'ns-resize';\n\n\tswitch ( dragDirection ) {\n\t\tcase 'n':\n\t\tcase 's':\n\t\t\tdragCursor = 'ns-resize';\n\t\t\tbreak;\n\n\t\tcase 'e':\n\t\tcase 'w':\n\t\t\tdragCursor = 'ew-resize';\n\t\t\tbreak;\n\t}\n\n\treturn dragCursor;\n}\n\n/**\n * Custom hook that renders a drag cursor when dragging.\n *\n * @param {boolean} isDragging The dragging state.\n * @param {string} dragDirection The drag direction.\n *\n * @return {string} The CSS cursor value.\n */\nexport function useDragCursor(\n\tisDragging: boolean,\n\tdragDirection: string\n): string {\n\tconst dragCursor = getDragCursor( dragDirection );\n\n\tuseEffect( () => {\n\t\tif ( isDragging ) {\n\t\t\tdocument.documentElement.style.cursor = dragCursor;\n\t\t} else {\n\t\t\t// @ts-expect-error\n\t\t\tdocument.documentElement.style.cursor = null;\n\t\t}\n\t}, [ isDragging, dragCursor ] );\n\n\treturn dragCursor;\n}\n\nexport function useDraft( props: {\n\tvalue: string | undefined;\n\tonBlur?: FocusEventHandler;\n\tonChange: InputChangeCallback;\n} ) {\n\tconst refPreviousValue = useRef( props.value );\n\tconst [ draft, setDraft ] = useState< {\n\t\tvalue?: string;\n\t\tisStale?: boolean;\n\t} >( {} );\n\tconst value = draft.value !== undefined ? draft.value : props.value;\n\n\t// Determines when to discard the draft value to restore controlled status.\n\t// To do so, it tracks the previous value and marks the draft value as stale\n\t// after each render.\n\tuseLayoutEffect( () => {\n\t\tconst { current: previousValue } = refPreviousValue;\n\t\trefPreviousValue.current = props.value;\n\t\tif ( draft.value !== undefined && ! draft.isStale )\n\t\t\tsetDraft( { ...draft, isStale: true } );\n\t\telse if ( draft.isStale && props.value !== previousValue )\n\t\t\tsetDraft( {} );\n\t}, [ props.value, draft ] );\n\n\tconst onChange: InputChangeCallback = ( nextValue, extra ) => {\n\t\t// Mutates the draft value to avoid an extra effect run.\n\t\tsetDraft( ( current ) =>\n\t\t\tObject.assign( current, { value: nextValue, isStale: false } )\n\t\t);\n\t\tprops.onChange( nextValue, extra );\n\t};\n\tconst onBlur: FocusEventHandler = ( event ) => {\n\t\tsetDraft( {} );\n\t\tprops.onBlur?.( event );\n\t};\n\n\treturn { value, onBlur, onChange };\n}\n"],"mappings":";;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAEC,aAAqB,EAAW;EAC9D,IAAIC,UAAU,GAAG,WAAW;EAE5B,QAASD,aAAa;IACrB,KAAK,GAAG;IACR,KAAK,GAAG;MACPC,UAAU,GAAG,WAAW;MACxB;IAED,KAAK,GAAG;IACR,KAAK,GAAG;MACPA,UAAU,GAAG,WAAW;MACxB;EACF;EAEA,OAAOA,UAAU;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAC5BC,UAAmB,EACnBH,aAAqB,EACZ;EACT,MAAMC,UAAU,GAAGF,aAAa,CAAEC,aAAc,CAAC;EAEjD,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKD,UAAU,EAAG;MACjBE,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,MAAM,GAAGP,UAAU;IACnD,CAAC,MAAM;MACN;MACAI,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,MAAM,GAAG,IAAI;IAC7C;EACD,CAAC,EAAE,CAAEL,UAAU,EAAEF,UAAU,CAAG,CAAC;EAE/B,OAAOA,UAAU;AAClB;AAEO,SAASQ,QAAQA,CAAEC,KAIzB,EAAG;EACH,MAAMC,gBAAgB,GAAG,IAAAC,eAAM,EAAEF,KAAK,CAACG,KAAM,CAAC;EAC9C,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAG/B,CAAC,CAAE,CAAC;EACT,MAAMH,KAAK,GAAGC,KAAK,CAACD,KAAK,KAAKI,SAAS,GAAGH,KAAK,CAACD,KAAK,GAAGH,KAAK,CAACG,KAAK;;EAEnE;EACA;EACA;EACA,IAAAK,wBAAe,EAAE,MAAM;IACtB,MAAM;MAAEC,OAAO,EAAEC;IAAc,CAAC,GAAGT,gBAAgB;IACnDA,gBAAgB,CAACQ,OAAO,GAAGT,KAAK,CAACG,KAAK;IACtC,IAAKC,KAAK,CAACD,KAAK,KAAKI,SAAS,IAAI,CAAEH,KAAK,CAACO,OAAO,EAChDN,QAAQ,CAAE;MAAE,GAAGD,KAAK;MAAEO,OAAO,EAAE;IAAK,CAAE,CAAC,CAAC,KACpC,IAAKP,KAAK,CAACO,OAAO,IAAIX,KAAK,CAACG,KAAK,KAAKO,aAAa,EACvDL,QAAQ,CAAE,CAAC,CAAE,CAAC;EAChB,CAAC,EAAE,CAAEL,KAAK,CAACG,KAAK,EAAEC,KAAK,CAAG,CAAC;EAE3B,MAAMQ,QAA6B,GAAGA,CAAEC,SAAS,EAAEC,KAAK,KAAM;IAC7D;IACAT,QAAQ,CAAII,OAAO,IAClBM,MAAM,CAACC,MAAM,CAAEP,OAAO,EAAE;MAAEN,KAAK,EAAEU,SAAS;MAAEF,OAAO,EAAE;IAAM,CAAE,CAC9D,CAAC;IACDX,KAAK,CAACY,QAAQ,CAAEC,SAAS,EAAEC,KAAM,CAAC;EACnC,CAAC;EACD,MAAMG,MAAyB,GAAKC,KAAK,IAAM;IAC9Cb,QAAQ,CAAE,CAAC,CAAE,CAAC;IACdL,KAAK,CAACiB,MAAM,GAAIC,KAAM,CAAC;EACxB,CAAC;EAED,OAAO;IAAEf,KAAK;IAAEc,MAAM;IAAEL;EAAS,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","getDragCursor","dragDirection","dragCursor","useDragCursor","isDragging","useEffect","document","documentElement","style","cursor","useDraft","props","refPreviousValue","useRef","value","draft","setDraft","useState","undefined","useLayoutEffect","current","previousValue","isStale","onChange","nextValue","extra","Object","assign","onBlur","event"],"sources":["@wordpress/components/src/input-control/utils.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { FocusEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { InputChangeCallback } from './types';\n\n/**\n * Gets a CSS cursor value based on a drag direction.\n *\n * @param dragDirection The drag direction.\n * @return The CSS cursor value.\n */\nexport function getDragCursor( dragDirection: string ): string {\n\tlet dragCursor = 'ns-resize';\n\n\tswitch ( dragDirection ) {\n\t\tcase 'n':\n\t\tcase 's':\n\t\t\tdragCursor = 'ns-resize';\n\t\t\tbreak;\n\n\t\tcase 'e':\n\t\tcase 'w':\n\t\t\tdragCursor = 'ew-resize';\n\t\t\tbreak;\n\t}\n\n\treturn dragCursor;\n}\n\n/**\n * Custom hook that renders a drag cursor when dragging.\n *\n * @param {boolean} isDragging The dragging state.\n * @param {string} dragDirection The drag direction.\n *\n * @return {string} The CSS cursor value.\n */\nexport function useDragCursor(\n\tisDragging: boolean,\n\tdragDirection: string\n): string {\n\tconst dragCursor = getDragCursor( dragDirection );\n\n\tuseEffect( () => {\n\t\tif ( isDragging ) {\n\t\t\tdocument.documentElement.style.cursor = dragCursor;\n\t\t} else {\n\t\t\t// @ts-expect-error\n\t\t\tdocument.documentElement.style.cursor = null;\n\t\t}\n\t}, [ isDragging, dragCursor ] );\n\n\treturn dragCursor;\n}\n\nexport function useDraft( props: {\n\tvalue: string | undefined;\n\tonBlur?: FocusEventHandler;\n\tonChange: InputChangeCallback;\n} ) {\n\tconst refPreviousValue = useRef( props.value );\n\tconst [ draft, setDraft ] = useState< {\n\t\tvalue?: string;\n\t\tisStale?: boolean;\n\t} >( {} );\n\tconst value = draft.value !== undefined ? draft.value : props.value;\n\n\t// Determines when to discard the draft value to restore controlled status.\n\t// To do so, it tracks the previous value and marks the draft value as stale\n\t// after each render.\n\tuseLayoutEffect( () => {\n\t\tconst { current: previousValue } = refPreviousValue;\n\t\trefPreviousValue.current = props.value;\n\t\tif ( draft.value !== undefined && ! draft.isStale ) {\n\t\t\tsetDraft( { ...draft, isStale: true } );\n\t\t} else if ( draft.isStale && props.value !== previousValue ) {\n\t\t\tsetDraft( {} );\n\t\t}\n\t}, [ props.value, draft ] );\n\n\tconst onChange: InputChangeCallback = ( nextValue, extra ) => {\n\t\t// Mutates the draft value to avoid an extra effect run.\n\t\tsetDraft( ( current ) =>\n\t\t\tObject.assign( current, { value: nextValue, isStale: false } )\n\t\t);\n\t\tprops.onChange( nextValue, extra );\n\t};\n\tconst onBlur: FocusEventHandler = ( event ) => {\n\t\tsetDraft( {} );\n\t\tprops.onBlur?.( event );\n\t};\n\n\treturn { value, onBlur, onChange };\n}\n"],"mappings":";;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAAEC,aAAqB,EAAW;EAC9D,IAAIC,UAAU,GAAG,WAAW;EAE5B,QAASD,aAAa;IACrB,KAAK,GAAG;IACR,KAAK,GAAG;MACPC,UAAU,GAAG,WAAW;MACxB;IAED,KAAK,GAAG;IACR,KAAK,GAAG;MACPA,UAAU,GAAG,WAAW;MACxB;EACF;EAEA,OAAOA,UAAU;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAC5BC,UAAmB,EACnBH,aAAqB,EACZ;EACT,MAAMC,UAAU,GAAGF,aAAa,CAAEC,aAAc,CAAC;EAEjD,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKD,UAAU,EAAG;MACjBE,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,MAAM,GAAGP,UAAU;IACnD,CAAC,MAAM;MACN;MACAI,QAAQ,CAACC,eAAe,CAACC,KAAK,CAACC,MAAM,GAAG,IAAI;IAC7C;EACD,CAAC,EAAE,CAAEL,UAAU,EAAEF,UAAU,CAAG,CAAC;EAE/B,OAAOA,UAAU;AAClB;AAEO,SAASQ,QAAQA,CAAEC,KAIzB,EAAG;EACH,MAAMC,gBAAgB,GAAG,IAAAC,eAAM,EAAEF,KAAK,CAACG,KAAM,CAAC;EAC9C,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAG/B,CAAC,CAAE,CAAC;EACT,MAAMH,KAAK,GAAGC,KAAK,CAACD,KAAK,KAAKI,SAAS,GAAGH,KAAK,CAACD,KAAK,GAAGH,KAAK,CAACG,KAAK;;EAEnE;EACA;EACA;EACA,IAAAK,wBAAe,EAAE,MAAM;IACtB,MAAM;MAAEC,OAAO,EAAEC;IAAc,CAAC,GAAGT,gBAAgB;IACnDA,gBAAgB,CAACQ,OAAO,GAAGT,KAAK,CAACG,KAAK;IACtC,IAAKC,KAAK,CAACD,KAAK,KAAKI,SAAS,IAAI,CAAEH,KAAK,CAACO,OAAO,EAAG;MACnDN,QAAQ,CAAE;QAAE,GAAGD,KAAK;QAAEO,OAAO,EAAE;MAAK,CAAE,CAAC;IACxC,CAAC,MAAM,IAAKP,KAAK,CAACO,OAAO,IAAIX,KAAK,CAACG,KAAK,KAAKO,aAAa,EAAG;MAC5DL,QAAQ,CAAE,CAAC,CAAE,CAAC;IACf;EACD,CAAC,EAAE,CAAEL,KAAK,CAACG,KAAK,EAAEC,KAAK,CAAG,CAAC;EAE3B,MAAMQ,QAA6B,GAAGA,CAAEC,SAAS,EAAEC,KAAK,KAAM;IAC7D;IACAT,QAAQ,CAAII,OAAO,IAClBM,MAAM,CAACC,MAAM,CAAEP,OAAO,EAAE;MAAEN,KAAK,EAAEU,SAAS;MAAEF,OAAO,EAAE;IAAM,CAAE,CAC9D,CAAC;IACDX,KAAK,CAACY,QAAQ,CAAEC,SAAS,EAAEC,KAAM,CAAC;EACnC,CAAC;EACD,MAAMG,MAAyB,GAAKC,KAAK,IAAM;IAC9Cb,QAAQ,CAAE,CAAC,CAAE,CAAC;IACdL,KAAK,CAACiB,MAAM,GAAIC,KAAM,CAAC;EACxB,CAAC;EAED,OAAO;IAAEf,KAAK;IAAEc,MAAM;IAAEL;EAAS,CAAC;AACnC","ignoreList":[]}
@@ -11,10 +11,6 @@ var _context2 = require("../context");
11
11
  var _useCx = require("../../utils/hooks/use-cx");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- /**
15
- * External dependencies
16
- */
17
-
18
14
  /**
19
15
  * WordPress dependencies
20
16
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_context","styles","_interopRequireWildcard","_context2","_useCx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useItem","props","as","asProp","className","onClick","role","size","sizeProp","otherProps","useContextSystem","spacedAround","contextSize","useItemGroupContext","cx","useCx","classes","useMemo","unstyledButton","itemSizes","medium","item","wrapperClassName","itemWrapper"],"sources":["@wordpress/components/src/item-group/item/hook.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ElementType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport * as styles from '../styles';\nimport { useItemGroupContext } from '../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ItemProps } from '../types';\n\nexport function useItem( props: WordPressComponentProps< ItemProps, 'div' > ) {\n\tconst {\n\t\tas: asProp,\n\t\tclassName,\n\t\tonClick,\n\t\trole = 'listitem',\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Item' );\n\n\tconst { spacedAround, size: contextSize } = useItemGroupContext();\n\n\tconst size = sizeProp || contextSize;\n\n\tconst as =\n\t\tasProp ||\n\t\t( ( typeof onClick !== 'undefined'\n\t\t\t? 'button'\n\t\t\t: 'div' ) as ElementType );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\t( as === 'button' || as === 'a' ) &&\n\t\t\t\t\tstyles.unstyledButton( as ),\n\t\t\t\tstyles.itemSizes[ size ] || styles.itemSizes.medium,\n\t\t\t\tstyles.item,\n\t\t\t\tspacedAround && styles.spacedAround,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ as, className, cx, size, spacedAround ]\n\t);\n\n\tconst wrapperClassName = cx( styles.itemWrapper );\n\n\treturn {\n\t\tas,\n\t\tclassName: classes,\n\t\tonClick,\n\t\twrapperClassName,\n\t\trole,\n\t\t...otherProps,\n\t};\n}\n"],"mappings":";;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAAiD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAjBjD;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAQO,SAASW,OAAOA,CAAEC,KAAkD,EAAG;EAC7E,MAAM;IACLC,EAAE,EAAEC,MAAM;IACVC,SAAS;IACTC,OAAO;IACPC,IAAI,GAAG,UAAU;IACjBC,IAAI,EAAEC,QAAQ;IACd,GAAGC;EACJ,CAAC,GAAG,IAAAC,yBAAgB,EAAET,KAAK,EAAE,MAAO,CAAC;EAErC,MAAM;IAAEU,YAAY;IAAEJ,IAAI,EAAEK;EAAY,CAAC,GAAG,IAAAC,6BAAmB,EAAC,CAAC;EAEjE,MAAMN,IAAI,GAAGC,QAAQ,IAAII,WAAW;EAEpC,MAAMV,EAAE,GACPC,MAAM,KACF,OAAOE,OAAO,KAAK,WAAW,GAC/B,QAAQ,GACR,KAAK,CAAmB;EAE5B,MAAMS,EAAE,GAAG,IAAAC,YAAK,EAAC,CAAC;EAElB,MAAMC,OAAO,GAAG,IAAAC,gBAAO,EACtB,MACCH,EAAE,CACD,CAAEZ,EAAE,KAAK,QAAQ,IAAIA,EAAE,KAAK,GAAG,KAC9B1B,MAAM,CAAC0C,cAAc,CAAEhB,EAAG,CAAC,EAC5B1B,MAAM,CAAC2C,SAAS,CAAEZ,IAAI,CAAE,IAAI/B,MAAM,CAAC2C,SAAS,CAACC,MAAM,EACnD5C,MAAM,CAAC6C,IAAI,EACXV,YAAY,IAAInC,MAAM,CAACmC,YAAY,EACnCP,SACD,CAAC,EACF,CAAEF,EAAE,EAAEE,SAAS,EAAEU,EAAE,EAAEP,IAAI,EAAEI,YAAY,CACxC,CAAC;EAED,MAAMW,gBAAgB,GAAGR,EAAE,CAAEtC,MAAM,CAAC+C,WAAY,CAAC;EAEjD,OAAO;IACNrB,EAAE;IACFE,SAAS,EAAEY,OAAO;IAClBX,OAAO;IACPiB,gBAAgB;IAChBhB,IAAI;IACJ,GAAGG;EACJ,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_context","styles","_interopRequireWildcard","_context2","_useCx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useItem","props","as","asProp","className","onClick","role","size","sizeProp","otherProps","useContextSystem","spacedAround","contextSize","useItemGroupContext","cx","useCx","classes","useMemo","unstyledButton","itemSizes","medium","item","wrapperClassName","itemWrapper"],"sources":["@wordpress/components/src/item-group/item/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport * as styles from '../styles';\nimport { useItemGroupContext } from '../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ItemProps } from '../types';\n\nexport function useItem( props: WordPressComponentProps< ItemProps, 'div' > ) {\n\tconst {\n\t\tas: asProp,\n\t\tclassName,\n\t\tonClick,\n\t\trole = 'listitem',\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Item' );\n\n\tconst { spacedAround, size: contextSize } = useItemGroupContext();\n\n\tconst size = sizeProp || contextSize;\n\n\tconst as = asProp || ( typeof onClick !== 'undefined' ? 'button' : 'div' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\t( as === 'button' || as === 'a' ) &&\n\t\t\t\t\tstyles.unstyledButton( as ),\n\t\t\t\tstyles.itemSizes[ size ] || styles.itemSizes.medium,\n\t\t\t\tstyles.item,\n\t\t\t\tspacedAround && styles.spacedAround,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ as, className, cx, size, spacedAround ]\n\t);\n\n\tconst wrapperClassName = cx( styles.itemWrapper );\n\n\treturn {\n\t\tas,\n\t\tclassName: classes,\n\t\tonClick,\n\t\twrapperClassName,\n\t\trole,\n\t\t...otherProps,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -60,7 +60,9 @@ function getGradientAngle(gradientValue) {
60
60
  }
61
61
  } else if (angleType === 'angle') {
62
62
  return parseFloat(angle);
63
- } else return 4 * angleBase;
63
+ } else {
64
+ return 4 * angleBase;
65
+ }
64
66
  }
65
67
  function getGradientColorGroup(gradientValue) {
66
68
  const colorNeedParenthesis = ['rgb', 'rgba'];
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeLinearGradient","_interopRequireDefault","_gradientParser","_components","_primitives","_compose","_element","_style","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","gradientParser","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","useResizeObserver","width","height","isGradient","getGradientType","gradients","colorsUtils","useMemo","locations","colors","isLinearGradient","linear","_react","createElement","default","useAngle","View","styles","overflow","radialGradientContent","SVG","Defs","RadialGradient","id","gradientUnits","rx","ry","cy","Platform","OS","group","Stop","offset","stopColor","stopOpacity","key","Rect","fill","_default","exports"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else return 4 * angleBase;\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\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</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeLinearGradient","_interopRequireDefault","_gradientParser","_components","_primitives","_compose","_element","_style","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","gradientParser","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","useResizeObserver","width","height","isGradient","getGradientType","gradients","colorsUtils","useMemo","locations","colors","isLinearGradient","linear","_react","createElement","default","useAngle","View","styles","overflow","radialGradientContent","SVG","Defs","RadialGradient","id","gradientUnits","rx","ry","cy","Platform","OS","group","Stop","offset","stopColor","stopOpacity","key","Rect","fill","_default","exports"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { colorsUtils } from '@wordpress/components';\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else {\n\t\treturn 4 * angleBase;\n\t}\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\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</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanim
11
11
  var _element = require("@wordpress/element");
12
12
  var _useScroll = _interopRequireDefault(require("./use-scroll"));
13
13
  var _keyboardAvoidingView = _interopRequireDefault(require("../keyboard-avoiding-view"));
14
+ var _shared = require("./shared");
14
15
  /**
15
16
  * External dependencies
16
17
  */
@@ -24,6 +25,7 @@ var _keyboardAvoidingView = _interopRequireDefault(require("../keyboard-avoiding
24
25
  */
25
26
 
26
27
  const AnimatedFlatList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.FlatList);
28
+ const EMPTY_OBJECT = {};
27
29
  const KeyboardAwareFlatList = ({
28
30
  onScroll,
29
31
  ...props
@@ -47,8 +49,6 @@ const KeyboardAwareFlatList = ({
47
49
  onScroll
48
50
  });
49
51
  const getFlatListRef = (0, _element.useCallback)(flatListRef => {
50
- // On Android, we get the ref of the associated scroll
51
- // view to the FlatList.
52
52
  scrollViewRef.current = flatListRef?.getNativeScrollRef();
53
53
  }, [scrollViewRef]);
54
54
  (0, _element.useImperativeHandle)(ref, () => {
@@ -59,6 +59,7 @@ const KeyboardAwareFlatList = ({
59
59
  lastScrollTo
60
60
  };
61
61
  });
62
+ const optimizationProps = props.data?.length > _shared.OPTIMIZATION_ITEMS_THRESHOLD ? _shared.OPTIMIZATION_PROPS : EMPTY_OBJECT;
62
63
  return (0, _react.createElement)(_keyboardAvoidingView.default, {
63
64
  style: {
64
65
  flex: 1
@@ -66,7 +67,12 @@ const KeyboardAwareFlatList = ({
66
67
  }, (0, _react.createElement)(AnimatedFlatList, {
67
68
  ref: getFlatListRef,
68
69
  onScroll: scrollHandler,
69
- onContentSizeChange: onContentSizeChange,
70
+ onContentSizeChange: onContentSizeChange
71
+ // Disable clipping to fix focus losing.
72
+ // See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541
73
+ ,
74
+ removeClippedSubviews: false,
75
+ ...optimizationProps,
70
76
  ...props
71
77
  }));
72
78
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_element","_useScroll","_keyboardAvoidingView","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","KeyboardAwareFlatList","onScroll","props","ref","extraScrollHeight","scrollEnabled","shouldPreventAutomaticScroll","scrollViewRef","scrollHandler","scrollToSection","scrollToElement","onContentSizeChange","lastScrollTo","useScroll","getFlatListRef","useCallback","flatListRef","current","getNativeScrollRef","useImperativeHandle","_react","createElement","default","style","flex","exports","_default","forwardRef"],"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.android.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { FlatList } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseCallback,\n\tuseImperativeHandle,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useScroll from './use-scroll';\nimport KeyboardAvoidingView from '../keyboard-avoiding-view';\n\nconst AnimatedFlatList = Animated.createAnimatedComponent( FlatList );\n\nexport const KeyboardAwareFlatList = ( { onScroll, ...props }, ref ) => {\n\tconst { extraScrollHeight, scrollEnabled, shouldPreventAutomaticScroll } =\n\t\tprops;\n\n\tconst {\n\t\tscrollViewRef,\n\t\tscrollHandler,\n\t\tscrollToSection,\n\t\tscrollToElement,\n\t\tonContentSizeChange,\n\t\tlastScrollTo,\n\t} = useScroll( {\n\t\tscrollEnabled,\n\t\tshouldPreventAutomaticScroll,\n\t\textraScrollHeight,\n\t\tonScroll,\n\t} );\n\n\tconst getFlatListRef = useCallback(\n\t\t( flatListRef ) => {\n\t\t\t// On Android, we get the ref of the associated scroll\n\t\t\t// view to the FlatList.\n\t\t\tscrollViewRef.current = flatListRef?.getNativeScrollRef();\n\t\t},\n\t\t[ scrollViewRef ]\n\t);\n\n\tuseImperativeHandle( ref, () => {\n\t\treturn {\n\t\t\tscrollViewRef: scrollViewRef.current,\n\t\t\tscrollToSection,\n\t\t\tscrollToElement,\n\t\t\tlastScrollTo,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<KeyboardAvoidingView style={ { flex: 1 } }>\n\t\t\t<AnimatedFlatList\n\t\t\t\tref={ getFlatListRef }\n\t\t\t\tonScroll={ scrollHandler }\n\t\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</KeyboardAvoidingView>\n\t);\n};\n\nexport default forwardRef( KeyboardAwareFlatList );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AASA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,qBAAA,GAAAH,sBAAA,CAAAF,OAAA;AAnBA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,MAAMM,gBAAgB,GAAGC,8BAAQ,CAACC,uBAAuB,CAAEC,qBAAS,CAAC;AAE9D,MAAMC,qBAAqB,GAAGA,CAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EACvE,MAAM;IAAEC,iBAAiB;IAAEC,aAAa;IAAEC;EAA6B,CAAC,GACvEJ,KAAK;EAEN,MAAM;IACLK,aAAa;IACbC,aAAa;IACbC,eAAe;IACfC,eAAe;IACfC,mBAAmB;IACnBC;EACD,CAAC,GAAG,IAAAC,kBAAS,EAAE;IACdR,aAAa;IACbC,4BAA4B;IAC5BF,iBAAiB;IACjBH;EACD,CAAE,CAAC;EAEH,MAAMa,cAAc,GAAG,IAAAC,oBAAW,EAC/BC,WAAW,IAAM;IAClB;IACA;IACAT,aAAa,CAACU,OAAO,GAAGD,WAAW,EAAEE,kBAAkB,CAAC,CAAC;EAC1D,CAAC,EACD,CAAEX,aAAa,CAChB,CAAC;EAED,IAAAY,4BAAmB,EAAEhB,GAAG,EAAE,MAAM;IAC/B,OAAO;MACNI,aAAa,EAAEA,aAAa,CAACU,OAAO;MACpCR,eAAe;MACfC,eAAe;MACfE;IACD,CAAC;EACF,CAAE,CAAC;EAEH,OACC,IAAAQ,MAAA,CAAAC,aAAA,EAAC1B,qBAAA,CAAA2B,OAAoB;IAACC,KAAK,EAAG;MAAEC,IAAI,EAAE;IAAE;EAAG,GAC1C,IAAAJ,MAAA,CAAAC,aAAA,EAACzB,gBAAgB;IAChBO,GAAG,EAAGW,cAAgB;IACtBb,QAAQ,EAAGO,aAAe;IAC1BG,mBAAmB,EAAGA,mBAAqB;IAAA,GACtCT;EAAK,CACV,CACoB,CAAC;AAEzB,CAAC;AAACuB,OAAA,CAAAzB,qBAAA,GAAAA,qBAAA;AAAA,IAAA0B,QAAA,GAAAD,OAAA,CAAAH,OAAA,GAEa,IAAAK,mBAAU,EAAE3B,qBAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_element","_useScroll","_keyboardAvoidingView","_shared","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","EMPTY_OBJECT","KeyboardAwareFlatList","onScroll","props","ref","extraScrollHeight","scrollEnabled","shouldPreventAutomaticScroll","scrollViewRef","scrollHandler","scrollToSection","scrollToElement","onContentSizeChange","lastScrollTo","useScroll","getFlatListRef","useCallback","flatListRef","current","getNativeScrollRef","useImperativeHandle","optimizationProps","data","length","OPTIMIZATION_ITEMS_THRESHOLD","OPTIMIZATION_PROPS","_react","createElement","default","style","flex","removeClippedSubviews","exports","_default","forwardRef"],"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.android.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { FlatList } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseCallback,\n\tuseImperativeHandle,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useScroll from './use-scroll';\nimport KeyboardAvoidingView from '../keyboard-avoiding-view';\nimport { OPTIMIZATION_ITEMS_THRESHOLD, OPTIMIZATION_PROPS } from './shared';\n\nconst AnimatedFlatList = Animated.createAnimatedComponent( FlatList );\nconst EMPTY_OBJECT = {};\n\nexport const KeyboardAwareFlatList = ( { onScroll, ...props }, ref ) => {\n\tconst { extraScrollHeight, scrollEnabled, shouldPreventAutomaticScroll } =\n\t\tprops;\n\n\tconst {\n\t\tscrollViewRef,\n\t\tscrollHandler,\n\t\tscrollToSection,\n\t\tscrollToElement,\n\t\tonContentSizeChange,\n\t\tlastScrollTo,\n\t} = useScroll( {\n\t\tscrollEnabled,\n\t\tshouldPreventAutomaticScroll,\n\t\textraScrollHeight,\n\t\tonScroll,\n\t} );\n\n\tconst getFlatListRef = useCallback(\n\t\t( flatListRef ) => {\n\t\t\tscrollViewRef.current = flatListRef?.getNativeScrollRef();\n\t\t},\n\t\t[ scrollViewRef ]\n\t);\n\n\tuseImperativeHandle( ref, () => {\n\t\treturn {\n\t\t\tscrollViewRef: scrollViewRef.current,\n\t\t\tscrollToSection,\n\t\t\tscrollToElement,\n\t\t\tlastScrollTo,\n\t\t};\n\t} );\n\n\tconst optimizationProps =\n\t\tprops.data?.length > OPTIMIZATION_ITEMS_THRESHOLD\n\t\t\t? OPTIMIZATION_PROPS\n\t\t\t: EMPTY_OBJECT;\n\n\treturn (\n\t\t<KeyboardAvoidingView style={ { flex: 1 } }>\n\t\t\t<AnimatedFlatList\n\t\t\t\tref={ getFlatListRef }\n\t\t\t\tonScroll={ scrollHandler }\n\t\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\t\t// Disable clipping to fix focus losing.\n\t\t\t\t// See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\tremoveClippedSubviews={ false }\n\t\t\t\t{ ...optimizationProps }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</KeyboardAvoidingView>\n\t);\n};\n\nexport default forwardRef( KeyboardAwareFlatList );\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AASA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,qBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AApBA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;;AAKA,MAAMO,gBAAgB,GAAGC,8BAAQ,CAACC,uBAAuB,CAAEC,qBAAS,CAAC;AACrE,MAAMC,YAAY,GAAG,CAAC,CAAC;AAEhB,MAAMC,qBAAqB,GAAGA,CAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EACvE,MAAM;IAAEC,iBAAiB;IAAEC,aAAa;IAAEC;EAA6B,CAAC,GACvEJ,KAAK;EAEN,MAAM;IACLK,aAAa;IACbC,aAAa;IACbC,eAAe;IACfC,eAAe;IACfC,mBAAmB;IACnBC;EACD,CAAC,GAAG,IAAAC,kBAAS,EAAE;IACdR,aAAa;IACbC,4BAA4B;IAC5BF,iBAAiB;IACjBH;EACD,CAAE,CAAC;EAEH,MAAMa,cAAc,GAAG,IAAAC,oBAAW,EAC/BC,WAAW,IAAM;IAClBT,aAAa,CAACU,OAAO,GAAGD,WAAW,EAAEE,kBAAkB,CAAC,CAAC;EAC1D,CAAC,EACD,CAAEX,aAAa,CAChB,CAAC;EAED,IAAAY,4BAAmB,EAAEhB,GAAG,EAAE,MAAM;IAC/B,OAAO;MACNI,aAAa,EAAEA,aAAa,CAACU,OAAO;MACpCR,eAAe;MACfC,eAAe;MACfE;IACD,CAAC;EACF,CAAE,CAAC;EAEH,MAAMQ,iBAAiB,GACtBlB,KAAK,CAACmB,IAAI,EAAEC,MAAM,GAAGC,oCAA4B,GAC9CC,0BAAkB,GAClBzB,YAAY;EAEhB,OACC,IAAA0B,MAAA,CAAAC,aAAA,EAACjC,qBAAA,CAAAkC,OAAoB;IAACC,KAAK,EAAG;MAAEC,IAAI,EAAE;IAAE;EAAG,GAC1C,IAAAJ,MAAA,CAAAC,aAAA,EAAC/B,gBAAgB;IAChBQ,GAAG,EAAGW,cAAgB;IACtBb,QAAQ,EAAGO,aAAe;IAC1BG,mBAAmB,EAAGA;IACtB;IACA;IAAA;IACAmB,qBAAqB,EAAG,KAAO;IAAA,GAC1BV,iBAAiB;IAAA,GACjBlB;EAAK,CACV,CACoB,CAAC;AAEzB,CAAC;AAAC6B,OAAA,CAAA/B,qBAAA,GAAAA,qBAAA;AAAA,IAAAgC,QAAA,GAAAD,OAAA,CAAAJ,OAAA,GAEa,IAAAM,mBAAU,EAAEjC,qBAAsB,CAAC","ignoreList":[]}
@@ -13,6 +13,8 @@ var _compose = require("@wordpress/compose");
13
13
  var _useScroll = _interopRequireDefault(require("./use-scroll"));
14
14
  var _useTextInputOffset = _interopRequireDefault(require("./use-text-input-offset"));
15
15
  var _useTextInputCaretPosition = _interopRequireDefault(require("./use-text-input-caret-position"));
16
+ var _shared = require("./shared");
17
+ var _styles = _interopRequireDefault(require("./styles.scss"));
16
18
  /**
17
19
  * External dependencies
18
20
  */
@@ -26,7 +28,8 @@ var _useTextInputCaretPosition = _interopRequireDefault(require("./use-text-inpu
26
28
  */
27
29
 
28
30
  const DEFAULT_FONT_SIZE = 16;
29
- const AnimatedScrollView = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.ScrollView);
31
+ const AnimatedFlatList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.FlatList);
32
+ const EMPTY_OBJECT = {};
30
33
 
31
34
  /** @typedef {import('@wordpress/element').RefObject} RefObject */
32
35
  /**
@@ -37,7 +40,6 @@ const AnimatedScrollView = _reactNativeReanimated.default.createAnimatedComponen
37
40
  * @param {number} props.extraScrollHeight Extra scroll height for the content.
38
41
  * @param {Function} props.onScroll Function to be called when the list is scrolled.
39
42
  * @param {boolean} props.scrollEnabled Whether the list can be scrolled.
40
- * @param {Object} props.scrollViewStyle Additional style for the ScrollView component.
41
43
  * @param {boolean} props.shouldPreventAutomaticScroll Whether to prevent scrolling when there's a Keyboard offset set.
42
44
  * @param {Object} props... Other props to pass to the FlatList component.
43
45
  * @param {RefObject} ref
@@ -47,7 +49,6 @@ const KeyboardAwareFlatList = ({
47
49
  extraScrollHeight,
48
50
  onScroll,
49
51
  scrollEnabled,
50
- scrollViewStyle,
51
52
  shouldPreventAutomaticScroll,
52
53
  ...props
53
54
  }, ref) => {
@@ -90,9 +91,9 @@ const KeyboardAwareFlatList = ({
90
91
  const contentInset = {
91
92
  bottom: keyboardOffset
92
93
  };
93
- const style = [{
94
- flex: 1
95
- }, scrollViewStyle];
94
+ const getFlatListRef = (0, _element.useCallback)(flatListRef => {
95
+ scrollViewRef.current = flatListRef?.getNativeScrollRef();
96
+ }, [scrollViewRef]);
96
97
  (0, _element.useImperativeHandle)(ref, () => {
97
98
  return {
98
99
  scrollViewRef: scrollViewRef.current,
@@ -101,19 +102,20 @@ const KeyboardAwareFlatList = ({
101
102
  lastScrollTo
102
103
  };
103
104
  });
104
- return (0, _react.createElement)(AnimatedScrollView, {
105
+ const optimizationProps = props.data?.length > _shared.OPTIMIZATION_ITEMS_THRESHOLD ? _shared.OPTIMIZATION_PROPS : EMPTY_OBJECT;
106
+ return (0, _react.createElement)(_reactNative.View, {
107
+ style: _styles.default.list__container
108
+ }, (0, _react.createElement)(AnimatedFlatList, {
109
+ ref: getFlatListRef,
105
110
  automaticallyAdjustContentInsets: false,
106
111
  contentInset: contentInset,
107
112
  keyboardShouldPersistTaps: "handled",
108
113
  onContentSizeChange: onContentSizeChange,
109
114
  onScroll: scrollHandler,
110
- ref: scrollViewRef,
111
- scrollEnabled: scrollEnabled,
112
115
  scrollEventThrottle: 16,
113
- style: style
114
- }, (0, _react.createElement)(_reactNative.FlatList, {
115
- ...props,
116
- scrollEnabled: false
116
+ style: _styles.default.list__content,
117
+ ...optimizationProps,
118
+ ...props
117
119
  }));
118
120
  };
119
121
  exports.KeyboardAwareFlatList = KeyboardAwareFlatList;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_element","_compose","_useScroll","_useTextInputOffset","_useTextInputCaretPosition","DEFAULT_FONT_SIZE","AnimatedScrollView","Animated","createAnimatedComponent","ScrollView","KeyboardAwareFlatList","extraScrollHeight","onScroll","scrollEnabled","scrollViewStyle","shouldPreventAutomaticScroll","props","ref","scrollViewRef","scrollHandler","keyboardOffset","scrollToSection","scrollToElement","onContentSizeChange","lastScrollTo","useScroll","onSizeChange","getTextInputOffset","useTextInputOffset","onScrollToTextInput","useThrottle","useCallback","caret","caretHeight","textInputOffset","hasTextInputOffset","leading","currentCaretData","useTextInputCaretPosition","useEffect","contentInset","bottom","style","flex","useImperativeHandle","current","_react","createElement","automaticallyAdjustContentInsets","keyboardShouldPersistTaps","scrollEventThrottle","FlatList","exports","_default","default","forwardRef"],"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\n\nimport { ScrollView, FlatList } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tforwardRef,\n\tuseImperativeHandle,\n} from '@wordpress/element';\nimport { useThrottle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useScroll from './use-scroll';\nimport useTextInputOffset from './use-text-input-offset';\nimport useTextInputCaretPosition from './use-text-input-caret-position';\n\nconst DEFAULT_FONT_SIZE = 16;\nconst AnimatedScrollView = Animated.createAnimatedComponent( ScrollView );\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n/**\n * React component that provides a FlatList that is aware of the keyboard state and can scroll\n * to the currently focused TextInput.\n *\n * @param {Object} props Component props.\n * @param {number} props.extraScrollHeight Extra scroll height for the content.\n * @param {Function} props.onScroll Function to be called when the list is scrolled.\n * @param {boolean} props.scrollEnabled Whether the list can be scrolled.\n * @param {Object} props.scrollViewStyle Additional style for the ScrollView component.\n * @param {boolean} props.shouldPreventAutomaticScroll Whether to prevent scrolling when there's a Keyboard offset set.\n * @param {Object} props... Other props to pass to the FlatList component.\n * @param {RefObject} ref\n * @return {Component} KeyboardAwareFlatList component.\n */\nexport const KeyboardAwareFlatList = (\n\t{\n\t\textraScrollHeight,\n\t\tonScroll,\n\t\tscrollEnabled,\n\t\tscrollViewStyle,\n\t\tshouldPreventAutomaticScroll,\n\t\t...props\n\t},\n\tref\n) => {\n\tconst {\n\t\tscrollViewRef,\n\t\tscrollHandler,\n\t\tkeyboardOffset,\n\t\tscrollToSection,\n\t\tscrollToElement,\n\t\tonContentSizeChange,\n\t\tlastScrollTo,\n\t} = useScroll( {\n\t\tscrollEnabled,\n\t\tshouldPreventAutomaticScroll,\n\t\textraScrollHeight,\n\t\tonScroll,\n\t\tonSizeChange,\n\t} );\n\n\tconst [ getTextInputOffset ] = useTextInputOffset(\n\t\tscrollEnabled,\n\t\tscrollViewRef\n\t);\n\n\tconst onScrollToTextInput = useThrottle(\n\t\tuseCallback(\n\t\t\tasync ( caret ) => {\n\t\t\t\tconst { caretHeight = DEFAULT_FONT_SIZE } = caret ?? {};\n\t\t\t\tconst textInputOffset = await getTextInputOffset( caret );\n\t\t\t\tconst hasTextInputOffset = textInputOffset !== null;\n\n\t\t\t\tif ( hasTextInputOffset ) {\n\t\t\t\t\tscrollToSection( textInputOffset, caretHeight );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ getTextInputOffset, scrollToSection ]\n\t\t),\n\t\t200,\n\t\t{ leading: false }\n\t);\n\n\tconst [ currentCaretData ] = useTextInputCaretPosition( scrollEnabled );\n\n\tconst onSizeChange = useCallback(\n\t\t() => onScrollToTextInput( currentCaretData ),\n\t\t[ currentCaretData, onScrollToTextInput ]\n\t);\n\n\tuseEffect( () => {\n\t\tonScrollToTextInput( currentCaretData );\n\t}, [ currentCaretData, onScrollToTextInput ] );\n\n\t// Adds content insets when the keyboard is opened to have\n\t// extra padding at the bottom.\n\tconst contentInset = { bottom: keyboardOffset };\n\n\tconst style = [ { flex: 1 }, scrollViewStyle ];\n\n\tuseImperativeHandle( ref, () => {\n\t\treturn {\n\t\t\tscrollViewRef: scrollViewRef.current,\n\t\t\tscrollToSection,\n\t\t\tscrollToElement,\n\t\t\tlastScrollTo,\n\t\t};\n\t} );\n\n\treturn (\n\t\t<AnimatedScrollView\n\t\t\tautomaticallyAdjustContentInsets={ false }\n\t\t\tcontentInset={ contentInset }\n\t\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\tonScroll={ scrollHandler }\n\t\t\tref={ scrollViewRef }\n\t\t\tscrollEnabled={ scrollEnabled }\n\t\t\tscrollEventThrottle={ 16 }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t<FlatList { ...props } scrollEnabled={ false } />\n\t\t</AnimatedScrollView>\n\t);\n};\n\nexport default forwardRef( KeyboardAwareFlatList );\n"],"mappings":";;;;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AAMA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,mBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,0BAAA,GAAAL,sBAAA,CAAAF,OAAA;AAvBA;AACA;AACA;;AAKA;AACA;AACA;;AASA;AACA;AACA;;AAKA,MAAMQ,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,kBAAkB,GAAGC,8BAAQ,CAACC,uBAAuB,CAAEC,uBAAW,CAAC;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGA,CACpC;EACCC,iBAAiB;EACjBC,QAAQ;EACRC,aAAa;EACbC,eAAe;EACfC,4BAA4B;EAC5B,GAAGC;AACJ,CAAC,EACDC,GAAG,KACC;EACJ,MAAM;IACLC,aAAa;IACbC,aAAa;IACbC,cAAc;IACdC,eAAe;IACfC,eAAe;IACfC,mBAAmB;IACnBC;EACD,CAAC,GAAG,IAAAC,kBAAS,EAAE;IACdZ,aAAa;IACbE,4BAA4B;IAC5BJ,iBAAiB;IACjBC,QAAQ;IACRc;EACD,CAAE,CAAC;EAEH,MAAM,CAAEC,kBAAkB,CAAE,GAAG,IAAAC,2BAAkB,EAChDf,aAAa,EACbK,aACD,CAAC;EAED,MAAMW,mBAAmB,GAAG,IAAAC,oBAAW,EACtC,IAAAC,oBAAW,EACV,MAAQC,KAAK,IAAM;IAClB,MAAM;MAAEC,WAAW,GAAG5B;IAAkB,CAAC,GAAG2B,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC;IACvD,MAAME,eAAe,GAAG,MAAMP,kBAAkB,CAAEK,KAAM,CAAC;IACzD,MAAMG,kBAAkB,GAAGD,eAAe,KAAK,IAAI;IAEnD,IAAKC,kBAAkB,EAAG;MACzBd,eAAe,CAAEa,eAAe,EAAED,WAAY,CAAC;IAChD;EACD,CAAC,EACD,CAAEN,kBAAkB,EAAEN,eAAe,CACtC,CAAC,EACD,GAAG,EACH;IAAEe,OAAO,EAAE;EAAM,CAClB,CAAC;EAED,MAAM,CAAEC,gBAAgB,CAAE,GAAG,IAAAC,kCAAyB,EAAEzB,aAAc,CAAC;EAEvE,MAAMa,YAAY,GAAG,IAAAK,oBAAW,EAC/B,MAAMF,mBAAmB,CAAEQ,gBAAiB,CAAC,EAC7C,CAAEA,gBAAgB,EAAER,mBAAmB,CACxC,CAAC;EAED,IAAAU,kBAAS,EAAE,MAAM;IAChBV,mBAAmB,CAAEQ,gBAAiB,CAAC;EACxC,CAAC,EAAE,CAAEA,gBAAgB,EAAER,mBAAmB,CAAG,CAAC;;EAE9C;EACA;EACA,MAAMW,YAAY,GAAG;IAAEC,MAAM,EAAErB;EAAe,CAAC;EAE/C,MAAMsB,KAAK,GAAG,CAAE;IAAEC,IAAI,EAAE;EAAE,CAAC,EAAE7B,eAAe,CAAE;EAE9C,IAAA8B,4BAAmB,EAAE3B,GAAG,EAAE,MAAM;IAC/B,OAAO;MACNC,aAAa,EAAEA,aAAa,CAAC2B,OAAO;MACpCxB,eAAe;MACfC,eAAe;MACfE;IACD,CAAC;EACF,CAAE,CAAC;EAEH,OACC,IAAAsB,MAAA,CAAAC,aAAA,EAACzC,kBAAkB;IAClB0C,gCAAgC,EAAG,KAAO;IAC1CR,YAAY,EAAGA,YAAc;IAC7BS,yBAAyB,EAAC,SAAS;IACnC1B,mBAAmB,EAAGA,mBAAqB;IAC3CX,QAAQ,EAAGO,aAAe;IAC1BF,GAAG,EAAGC,aAAe;IACrBL,aAAa,EAAGA,aAAe;IAC/BqC,mBAAmB,EAAG,EAAI;IAC1BR,KAAK,EAAGA;EAAO,GAEf,IAAAI,MAAA,CAAAC,aAAA,EAACnD,YAAA,CAAAuD,QAAQ;IAAA,GAAMnC,KAAK;IAAGH,aAAa,EAAG;EAAO,CAAE,CAC7B,CAAC;AAEvB,CAAC;AAACuC,OAAA,CAAA1C,qBAAA,GAAAA,qBAAA;AAAA,IAAA2C,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEa,IAAAC,mBAAU,EAAE7C,qBAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_element","_compose","_useScroll","_useTextInputOffset","_useTextInputCaretPosition","_shared","_styles","DEFAULT_FONT_SIZE","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","EMPTY_OBJECT","KeyboardAwareFlatList","extraScrollHeight","onScroll","scrollEnabled","shouldPreventAutomaticScroll","props","ref","scrollViewRef","scrollHandler","keyboardOffset","scrollToSection","scrollToElement","onContentSizeChange","lastScrollTo","useScroll","onSizeChange","getTextInputOffset","useTextInputOffset","onScrollToTextInput","useThrottle","useCallback","caret","caretHeight","textInputOffset","hasTextInputOffset","leading","currentCaretData","useTextInputCaretPosition","useEffect","contentInset","bottom","getFlatListRef","flatListRef","current","getNativeScrollRef","useImperativeHandle","optimizationProps","data","length","OPTIMIZATION_ITEMS_THRESHOLD","OPTIMIZATION_PROPS","_react","createElement","View","style","styles","list__container","automaticallyAdjustContentInsets","keyboardShouldPersistTaps","scrollEventThrottle","list__content","exports","_default","default","forwardRef"],"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/index.ios.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { FlatList, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tforwardRef,\n\tuseImperativeHandle,\n} from '@wordpress/element';\nimport { useThrottle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useScroll from './use-scroll';\nimport useTextInputOffset from './use-text-input-offset';\nimport useTextInputCaretPosition from './use-text-input-caret-position';\nimport { OPTIMIZATION_ITEMS_THRESHOLD, OPTIMIZATION_PROPS } from './shared';\nimport styles from './styles.scss';\n\nconst DEFAULT_FONT_SIZE = 16;\nconst AnimatedFlatList = Animated.createAnimatedComponent( FlatList );\nconst EMPTY_OBJECT = {};\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n/**\n * React component that provides a FlatList that is aware of the keyboard state and can scroll\n * to the currently focused TextInput.\n *\n * @param {Object} props Component props.\n * @param {number} props.extraScrollHeight Extra scroll height for the content.\n * @param {Function} props.onScroll Function to be called when the list is scrolled.\n * @param {boolean} props.scrollEnabled Whether the list can be scrolled.\n * @param {boolean} props.shouldPreventAutomaticScroll Whether to prevent scrolling when there's a Keyboard offset set.\n * @param {Object} props... Other props to pass to the FlatList component.\n * @param {RefObject} ref\n * @return {Component} KeyboardAwareFlatList component.\n */\nexport const KeyboardAwareFlatList = (\n\t{\n\t\textraScrollHeight,\n\t\tonScroll,\n\t\tscrollEnabled,\n\t\tshouldPreventAutomaticScroll,\n\t\t...props\n\t},\n\tref\n) => {\n\tconst {\n\t\tscrollViewRef,\n\t\tscrollHandler,\n\t\tkeyboardOffset,\n\t\tscrollToSection,\n\t\tscrollToElement,\n\t\tonContentSizeChange,\n\t\tlastScrollTo,\n\t} = useScroll( {\n\t\tscrollEnabled,\n\t\tshouldPreventAutomaticScroll,\n\t\textraScrollHeight,\n\t\tonScroll,\n\t\tonSizeChange,\n\t} );\n\n\tconst [ getTextInputOffset ] = useTextInputOffset(\n\t\tscrollEnabled,\n\t\tscrollViewRef\n\t);\n\n\tconst onScrollToTextInput = useThrottle(\n\t\tuseCallback(\n\t\t\tasync ( caret ) => {\n\t\t\t\tconst { caretHeight = DEFAULT_FONT_SIZE } = caret ?? {};\n\t\t\t\tconst textInputOffset = await getTextInputOffset( caret );\n\t\t\t\tconst hasTextInputOffset = textInputOffset !== null;\n\n\t\t\t\tif ( hasTextInputOffset ) {\n\t\t\t\t\tscrollToSection( textInputOffset, caretHeight );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ getTextInputOffset, scrollToSection ]\n\t\t),\n\t\t200,\n\t\t{ leading: false }\n\t);\n\n\tconst [ currentCaretData ] = useTextInputCaretPosition( scrollEnabled );\n\n\tconst onSizeChange = useCallback(\n\t\t() => onScrollToTextInput( currentCaretData ),\n\t\t[ currentCaretData, onScrollToTextInput ]\n\t);\n\n\tuseEffect( () => {\n\t\tonScrollToTextInput( currentCaretData );\n\t}, [ currentCaretData, onScrollToTextInput ] );\n\n\t// Adds content insets when the keyboard is opened to have\n\t// extra padding at the bottom.\n\tconst contentInset = { bottom: keyboardOffset };\n\n\tconst getFlatListRef = useCallback(\n\t\t( flatListRef ) => {\n\t\t\tscrollViewRef.current = flatListRef?.getNativeScrollRef();\n\t\t},\n\t\t[ scrollViewRef ]\n\t);\n\n\tuseImperativeHandle( ref, () => {\n\t\treturn {\n\t\t\tscrollViewRef: scrollViewRef.current,\n\t\t\tscrollToSection,\n\t\t\tscrollToElement,\n\t\t\tlastScrollTo,\n\t\t};\n\t} );\n\n\tconst optimizationProps =\n\t\tprops.data?.length > OPTIMIZATION_ITEMS_THRESHOLD\n\t\t\t? OPTIMIZATION_PROPS\n\t\t\t: EMPTY_OBJECT;\n\n\treturn (\n\t\t<View style={ styles.list__container }>\n\t\t\t<AnimatedFlatList\n\t\t\t\tref={ getFlatListRef }\n\t\t\t\tautomaticallyAdjustContentInsets={ false }\n\t\t\t\tcontentInset={ contentInset }\n\t\t\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\t\t\tonContentSizeChange={ onContentSizeChange }\n\t\t\t\tonScroll={ scrollHandler }\n\t\t\t\tscrollEventThrottle={ 16 }\n\t\t\t\tstyle={ styles.list__content }\n\t\t\t\t{ ...optimizationProps }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default forwardRef( KeyboardAwareFlatList );\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OPTIMIZATION_PROPS = exports.OPTIMIZATION_ITEMS_THRESHOLD = void 0;
7
+ /**
8
+ * Optimization properties for FlatList.
9
+ * @typedef {Object} OptimizationProps
10
+ * @property {number} maxToRenderPerBatch - Controls the amount of items rendered per batch during scrolling.
11
+ * Increasing this number reduces visual blank areas but may affect responsiveness.
12
+ * Default: 10
13
+ * @property {number} windowSize - Measurement unit representing viewport height.
14
+ * Default: 21 (10 viewports above, 10 below, and 1 in between).
15
+ * Larger values reduce chances of seeing blank spaces while scrolling but increase memory consumption.
16
+ * Smaller values save memory but increase chances of seeing blank areas.
17
+ */
18
+
19
+ /**
20
+ * Threshold for applying optimization settings.
21
+ * @type {number}
22
+ */
23
+ const OPTIMIZATION_ITEMS_THRESHOLD = exports.OPTIMIZATION_ITEMS_THRESHOLD = 30;
24
+
25
+ /**
26
+ * Optimization properties for FlatList.
27
+ * @type {OptimizationProps}
28
+ */
29
+ const OPTIMIZATION_PROPS = exports.OPTIMIZATION_PROPS = {
30
+ maxToRenderPerBatch: 15,
31
+ windowSize: 17
32
+ };
33
+ //# sourceMappingURL=shared.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OPTIMIZATION_ITEMS_THRESHOLD","exports","OPTIMIZATION_PROPS","maxToRenderPerBatch","windowSize"],"sources":["@wordpress/components/src/mobile/keyboard-aware-flat-list/shared.native.js"],"sourcesContent":["/**\n * Optimization properties for FlatList.\n * @typedef {Object} OptimizationProps\n * @property {number} maxToRenderPerBatch - Controls the amount of items rendered per batch during scrolling.\n * Increasing this number reduces visual blank areas but may affect responsiveness.\n * Default: 10\n * @property {number} windowSize - Measurement unit representing viewport height.\n * Default: 21 (10 viewports above, 10 below, and 1 in between).\n * Larger values reduce chances of seeing blank spaces while scrolling but increase memory consumption.\n * Smaller values save memory but increase chances of seeing blank areas.\n */\n\n/**\n * Threshold for applying optimization settings.\n * @type {number}\n */\nexport const OPTIMIZATION_ITEMS_THRESHOLD = 30;\n\n/**\n * Optimization properties for FlatList.\n * @type {OptimizationProps}\n */\nexport const OPTIMIZATION_PROPS = {\n\tmaxToRenderPerBatch: 15,\n\twindowSize: 17,\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,EAAE;;AAE9C;AACA;AACA;AACA;AACO,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG;EACjCC,mBAAmB,EAAE,EAAE;EACvBC,UAAU,EAAE;AACb,CAAC","ignoreList":[]}
@@ -26,7 +26,9 @@ function modalize(modalElement) {
26
26
  const hiddenElements = [];
27
27
  hiddenElementsByDepth.push(hiddenElements);
28
28
  for (const element of elements) {
29
- if (element === modalElement) continue;
29
+ if (element === modalElement) {
30
+ continue;
31
+ }
30
32
  if (elementShouldBeHidden(element)) {
31
33
  element.setAttribute('aria-hidden', 'true');
32
34
  hiddenElements.push(element);
@@ -51,7 +53,11 @@ function elementShouldBeHidden(element) {
51
53
  */
52
54
  function unmodalize() {
53
55
  const hiddenElements = hiddenElementsByDepth.pop();
54
- if (!hiddenElements) return;
55
- for (const element of hiddenElements) element.removeAttribute('aria-hidden');
56
+ if (!hiddenElements) {
57
+ return;
58
+ }
59
+ for (const element of hiddenElements) {
60
+ element.removeAttribute('aria-hidden');
61
+ }
56
62
  }
57
63
  //# sourceMappingURL=aria-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LIVE_REGION_ARIA_ROLES","Set","hiddenElementsByDepth","modalize","modalElement","elements","Array","from","document","body","children","hiddenElements","push","element","elementShouldBeHidden","setAttribute","role","getAttribute","tagName","hasAttribute","has","unmodalize","pop","removeAttribute"],"sources":["@wordpress/components/src/modal/aria-helper.ts"],"sourcesContent":["const LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nconst hiddenElementsByDepth: Element[][] = [];\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param modalElement The element that should not be hidden.\n */\nexport function modalize( modalElement?: HTMLDivElement ) {\n\tconst elements = Array.from( document.body.children );\n\tconst hiddenElements: Element[] = [];\n\thiddenElementsByDepth.push( hiddenElements );\n\tfor ( const element of elements ) {\n\t\tif ( element === modalElement ) continue;\n\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t}\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param element The element that should be checked.\n *\n * @return Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element: Element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\t( role && LIVE_REGION_ARIA_ROLES.has( role ) )\n\t);\n}\n\n/**\n * Accessibly reveals the elements hidden by the latest modal.\n */\nexport function unmodalize() {\n\tconst hiddenElements = hiddenElementsByDepth.pop();\n\tif ( ! hiddenElements ) return;\n\n\tfor ( const element of hiddenElements )\n\t\telement.removeAttribute( 'aria-hidden' );\n}\n"],"mappings":";;;;;;;;AAAA,MAAMA,sBAAsB,GAAG,IAAIC,GAAG,CAAE,CACvC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,CACN,CAAC;AAEH,MAAMC,qBAAkC,GAAG,EAAE;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,QAAQA,CAAEC,YAA6B,EAAG;EACzD,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAEC,QAAQ,CAACC,IAAI,CAACC,QAAS,CAAC;EACrD,MAAMC,cAAyB,GAAG,EAAE;EACpCT,qBAAqB,CAACU,IAAI,CAAED,cAAe,CAAC;EAC5C,KAAM,MAAME,OAAO,IAAIR,QAAQ,EAAG;IACjC,IAAKQ,OAAO,KAAKT,YAAY,EAAG;IAEhC,IAAKU,qBAAqB,CAAED,OAAQ,CAAC,EAAG;MACvCA,OAAO,CAACE,YAAY,CAAE,aAAa,EAAE,MAAO,CAAC;MAC7CJ,cAAc,CAACC,IAAI,CAAEC,OAAQ,CAAC;IAC/B;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAED,OAAgB,EAAG;EACzD,MAAMG,IAAI,GAAGH,OAAO,CAACI,YAAY,CAAE,MAAO,CAAC;EAC3C,OAAO,EACNJ,OAAO,CAACK,OAAO,KAAK,QAAQ,IAC5BL,OAAO,CAACM,YAAY,CAAE,aAAc,CAAC,IACrCN,OAAO,CAACM,YAAY,CAAE,WAAY,CAAC,IACjCH,IAAI,IAAIhB,sBAAsB,CAACoB,GAAG,CAAEJ,IAAK,CAAG,CAC9C;AACF;;AAEA;AACA;AACA;AACO,SAASK,UAAUA,CAAA,EAAG;EAC5B,MAAMV,cAAc,GAAGT,qBAAqB,CAACoB,GAAG,CAAC,CAAC;EAClD,IAAK,CAAEX,cAAc,EAAG;EAExB,KAAM,MAAME,OAAO,IAAIF,cAAc,EACpCE,OAAO,CAACU,eAAe,CAAE,aAAc,CAAC;AAC1C","ignoreList":[]}
1
+ {"version":3,"names":["LIVE_REGION_ARIA_ROLES","Set","hiddenElementsByDepth","modalize","modalElement","elements","Array","from","document","body","children","hiddenElements","push","element","elementShouldBeHidden","setAttribute","role","getAttribute","tagName","hasAttribute","has","unmodalize","pop","removeAttribute"],"sources":["@wordpress/components/src/modal/aria-helper.ts"],"sourcesContent":["const LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nconst hiddenElementsByDepth: Element[][] = [];\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param modalElement The element that should not be hidden.\n */\nexport function modalize( modalElement?: HTMLDivElement ) {\n\tconst elements = Array.from( document.body.children );\n\tconst hiddenElements: Element[] = [];\n\thiddenElementsByDepth.push( hiddenElements );\n\tfor ( const element of elements ) {\n\t\tif ( element === modalElement ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t}\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param element The element that should be checked.\n *\n * @return Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element: Element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\t( role && LIVE_REGION_ARIA_ROLES.has( role ) )\n\t);\n}\n\n/**\n * Accessibly reveals the elements hidden by the latest modal.\n */\nexport function unmodalize() {\n\tconst hiddenElements = hiddenElementsByDepth.pop();\n\tif ( ! hiddenElements ) {\n\t\treturn;\n\t}\n\n\tfor ( const element of hiddenElements ) {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t}\n}\n"],"mappings":";;;;;;;;AAAA,MAAMA,sBAAsB,GAAG,IAAIC,GAAG,CAAE,CACvC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,CACN,CAAC;AAEH,MAAMC,qBAAkC,GAAG,EAAE;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,QAAQA,CAAEC,YAA6B,EAAG;EACzD,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAEC,QAAQ,CAACC,IAAI,CAACC,QAAS,CAAC;EACrD,MAAMC,cAAyB,GAAG,EAAE;EACpCT,qBAAqB,CAACU,IAAI,CAAED,cAAe,CAAC;EAC5C,KAAM,MAAME,OAAO,IAAIR,QAAQ,EAAG;IACjC,IAAKQ,OAAO,KAAKT,YAAY,EAAG;MAC/B;IACD;IAEA,IAAKU,qBAAqB,CAAED,OAAQ,CAAC,EAAG;MACvCA,OAAO,CAACE,YAAY,CAAE,aAAa,EAAE,MAAO,CAAC;MAC7CJ,cAAc,CAACC,IAAI,CAAEC,OAAQ,CAAC;IAC/B;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAED,OAAgB,EAAG;EACzD,MAAMG,IAAI,GAAGH,OAAO,CAACI,YAAY,CAAE,MAAO,CAAC;EAC3C,OAAO,EACNJ,OAAO,CAACK,OAAO,KAAK,QAAQ,IAC5BL,OAAO,CAACM,YAAY,CAAE,aAAc,CAAC,IACrCN,OAAO,CAACM,YAAY,CAAE,WAAY,CAAC,IACjCH,IAAI,IAAIhB,sBAAsB,CAACoB,GAAG,CAAEJ,IAAK,CAAG,CAC9C;AACF;;AAEA;AACA;AACA;AACO,SAASK,UAAUA,CAAA,EAAG;EAC5B,MAAMV,cAAc,GAAGT,qBAAqB,CAACoB,GAAG,CAAC,CAAC;EAClD,IAAK,CAAEX,cAAc,EAAG;IACvB;EACD;EAEA,KAAM,MAAME,OAAO,IAAIF,cAAc,EAAG;IACvCE,OAAO,CAACU,eAAe,CAAE,aAAc,CAAC;EACzC;AACD","ignoreList":[]}
@@ -125,7 +125,9 @@ function UnforwardedModal(props, forwardedRef) {
125
125
  (0, _element.useEffect)(() => {
126
126
  dismissers.push(refOnRequestClose);
127
127
  const [first, second] = dismissers;
128
- if (second) first?.current?.();
128
+ if (second) {
129
+ first?.current?.();
130
+ }
129
131
  const nested = nestedDismissers.current;
130
132
  return () => {
131
133
  nested[0]?.current?.();
@@ -201,7 +203,9 @@ function UnforwardedModal(props, forwardedRef) {
201
203
  }) => {
202
204
  const isSameTarget = target === pressTarget;
203
205
  pressTarget = null;
204
- if (button === 0 && isSameTarget) onRequestClose();
206
+ if (button === 0 && isSameTarget) {
207
+ onRequestClose();
208
+ }
205
209
  }
206
210
  };
207
211
  const modal =