@wordpress/components 27.0.0 → 27.1.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 (208) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/build/base-control/index.native.js.map +1 -1
  3. package/build/border-box-control/border-box-control/component.js.map +1 -1
  4. package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  5. package/build/border-control/border-control-dropdown/component.js.map +1 -1
  6. package/build/button/index.js +2 -2
  7. package/build/button/index.js.map +1 -1
  8. package/build/button/index.native.js.map +1 -1
  9. package/build/confirm-dialog/component.js.map +1 -1
  10. package/build/custom-select-control-v2/default-component/index.js.map +1 -1
  11. package/build/custom-select-control-v2/index.js +2 -2
  12. package/build/custom-select-control-v2/index.js.map +1 -1
  13. package/build/custom-select-control-v2/types.js.map +1 -1
  14. package/build/draggable/index.native.js +2 -2
  15. package/build/draggable/index.native.js.map +1 -1
  16. package/build/dropdown-menu/index.native.js.map +1 -1
  17. package/build/flex/flex/hook.js +1 -1
  18. package/build/flex/flex/hook.js.map +1 -1
  19. package/build/font-size-picker/index.native.js.map +1 -1
  20. package/build/form-token-field/index.js.map +1 -1
  21. package/build/h-stack/hook.js +6 -1
  22. package/build/h-stack/hook.js.map +1 -1
  23. package/build/mobile/bottom-sheet/button.native.js.map +1 -1
  24. package/build/mobile/bottom-sheet/index.native.js.map +1 -1
  25. package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  26. package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  27. package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  28. package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  29. package/build/mobile/gradient/index.native.js.map +1 -1
  30. package/build/mobile/image/index.native.js +4 -13
  31. package/build/mobile/image/index.native.js.map +1 -1
  32. package/build/mobile/media-edit/index.native.js.map +1 -1
  33. package/build/palette-edit/index.js.map +1 -1
  34. package/build/query-controls/index.native.js.map +1 -1
  35. package/build/range-control/index.js.map +1 -1
  36. package/build/search-control/index.native.js.map +1 -1
  37. package/build/snackbar/index.js +3 -2
  38. package/build/snackbar/index.js.map +1 -1
  39. package/build/snackbar/list.js +2 -1
  40. package/build/snackbar/list.js.map +1 -1
  41. package/build/snackbar/types.js.map +1 -1
  42. package/build/tabs/index.js +7 -7
  43. package/build/tabs/index.js.map +1 -1
  44. package/build/tabs/types.js.map +1 -1
  45. package/build/utils/hooks/index.js +0 -7
  46. package/build/utils/hooks/index.js.map +1 -1
  47. package/build-module/base-control/index.native.js.map +1 -1
  48. package/build-module/border-box-control/border-box-control/component.js.map +1 -1
  49. package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
  50. package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
  51. package/build-module/button/index.js +2 -2
  52. package/build-module/button/index.js.map +1 -1
  53. package/build-module/button/index.native.js.map +1 -1
  54. package/build-module/confirm-dialog/component.js.map +1 -1
  55. package/build-module/custom-select-control-v2/default-component/index.js.map +1 -1
  56. package/build-module/custom-select-control-v2/index.js +1 -1
  57. package/build-module/custom-select-control-v2/index.js.map +1 -1
  58. package/build-module/custom-select-control-v2/types.js.map +1 -1
  59. package/build-module/draggable/index.native.js +2 -2
  60. package/build-module/draggable/index.native.js.map +1 -1
  61. package/build-module/dropdown-menu/index.native.js.map +1 -1
  62. package/build-module/flex/flex/hook.js +1 -1
  63. package/build-module/flex/flex/hook.js.map +1 -1
  64. package/build-module/font-size-picker/index.native.js.map +1 -1
  65. package/build-module/form-token-field/index.js.map +1 -1
  66. package/build-module/h-stack/hook.js +6 -1
  67. package/build-module/h-stack/hook.js.map +1 -1
  68. package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
  69. package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
  70. package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
  71. package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
  72. package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
  73. package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
  74. package/build-module/mobile/gradient/index.native.js.map +1 -1
  75. package/build-module/mobile/image/index.native.js +6 -15
  76. package/build-module/mobile/image/index.native.js.map +1 -1
  77. package/build-module/mobile/media-edit/index.native.js.map +1 -1
  78. package/build-module/palette-edit/index.js.map +1 -1
  79. package/build-module/query-controls/index.native.js.map +1 -1
  80. package/build-module/range-control/index.js.map +1 -1
  81. package/build-module/search-control/index.native.js.map +1 -1
  82. package/build-module/snackbar/index.js +3 -2
  83. package/build-module/snackbar/index.js.map +1 -1
  84. package/build-module/snackbar/list.js +2 -1
  85. package/build-module/snackbar/list.js.map +1 -1
  86. package/build-module/snackbar/types.js.map +1 -1
  87. package/build-module/tabs/index.js +7 -7
  88. package/build-module/tabs/index.js.map +1 -1
  89. package/build-module/tabs/types.js.map +1 -1
  90. package/build-module/utils/hooks/index.js +0 -1
  91. package/build-module/utils/hooks/index.js.map +1 -1
  92. package/build-style/style-rtl.css +8 -1
  93. package/build-style/style.css +8 -1
  94. package/build-types/custom-select-control-v2/default-component/index.d.ts +2 -1
  95. package/build-types/custom-select-control-v2/default-component/index.d.ts.map +1 -1
  96. package/build-types/custom-select-control-v2/index.d.ts +1 -1
  97. package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
  98. package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts +2 -0
  99. package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts.map +1 -0
  100. package/build-types/custom-select-control-v2/stories/default.story.d.ts +4 -3
  101. package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +1 -1
  102. package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +2 -2
  103. package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +1 -1
  104. package/build-types/custom-select-control-v2/types.d.ts +0 -1
  105. package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
  106. package/build-types/flex/flex/hook.d.ts +2 -3
  107. package/build-types/flex/flex/hook.d.ts.map +1 -1
  108. package/build-types/h-stack/hook.d.ts +2 -4
  109. package/build-types/h-stack/hook.d.ts.map +1 -1
  110. package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
  111. package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
  112. package/build-types/snackbar/index.d.ts +5 -2
  113. package/build-types/snackbar/index.d.ts.map +1 -1
  114. package/build-types/snackbar/list.d.ts.map +1 -1
  115. package/build-types/snackbar/test/index.d.ts +2 -0
  116. package/build-types/snackbar/test/index.d.ts.map +1 -0
  117. package/build-types/snackbar/test/list.d.ts +2 -0
  118. package/build-types/snackbar/test/list.d.ts.map +1 -0
  119. package/build-types/snackbar/types.d.ts +18 -2
  120. package/build-types/snackbar/types.d.ts.map +1 -1
  121. package/build-types/tabs/index.d.ts +1 -1
  122. package/build-types/tabs/types.d.ts +1 -1
  123. package/build-types/utils/hooks/index.d.ts +0 -1
  124. package/build-types/v-stack/hook.d.ts +2 -4
  125. package/build-types/v-stack/hook.d.ts.map +1 -1
  126. package/package.json +19 -19
  127. package/src/base-control/index.native.js +1 -1
  128. package/src/base-control/test/index.tsx +1 -1
  129. package/src/border-box-control/border-box-control/component.tsx +1 -1
  130. package/src/border-box-control/border-box-control-split-controls/component.tsx +4 -4
  131. package/src/border-control/border-control-dropdown/component.tsx +1 -1
  132. package/src/button/index.native.js +1 -1
  133. package/src/button/index.tsx +1 -1
  134. package/src/button/style.scss +1 -3
  135. package/src/circular-option-picker/test/index.tsx +2 -4
  136. package/src/combobox-control/test/index.tsx +1 -1
  137. package/src/confirm-dialog/component.tsx +1 -1
  138. package/src/confirm-dialog/test/index.tsx +5 -21
  139. package/src/custom-select-control-v2/default-component/index.tsx +4 -1
  140. package/src/custom-select-control-v2/index.tsx +1 -1
  141. package/src/custom-select-control-v2/legacy-component/test/index.tsx +457 -0
  142. package/src/custom-select-control-v2/stories/legacy.story.tsx +5 -6
  143. package/src/custom-select-control-v2/test/index.tsx +279 -749
  144. package/src/custom-select-control-v2/types.ts +0 -1
  145. package/src/disabled/test/index.tsx +1 -1
  146. package/src/draggable/index.native.js +2 -2
  147. package/src/draggable/test/index.native.js +6 -2
  148. package/src/dropdown-menu/index.native.js +2 -2
  149. package/src/flex/flex/hook.ts +1 -1
  150. package/src/font-size-picker/index.native.js +2 -2
  151. package/src/form-token-field/index.tsx +1 -1
  152. package/src/h-stack/hook.tsx +2 -1
  153. package/src/h-stack/test/index.tsx +10 -0
  154. package/src/item-group/test/index.js +2 -2
  155. package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +10 -15
  156. package/src/mobile/bottom-sheet/button.native.js +1 -5
  157. package/src/mobile/bottom-sheet/index.native.js +2 -2
  158. package/src/mobile/bottom-sheet/range-cell.native.js +1 -1
  159. package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -2
  160. package/src/mobile/bottom-sheet-select-control/index.native.js +1 -1
  161. package/src/mobile/bottom-sheet-text-control/index.native.js +1 -1
  162. package/src/mobile/gradient/index.native.js +1 -1
  163. package/src/mobile/image/index.native.js +8 -23
  164. package/src/mobile/media-edit/index.native.js +1 -1
  165. package/src/modal/test/index.tsx +1 -1
  166. package/src/navigation/stories/utils/hide-if-empty.tsx +2 -6
  167. package/src/palette-edit/index.tsx +2 -2
  168. package/src/popover/test/index.tsx +1 -4
  169. package/src/query-controls/index.native.js +2 -2
  170. package/src/radio-group/stories/index.story.tsx +1 -0
  171. package/src/range-control/index.tsx +3 -3
  172. package/src/range-control/test/index.tsx +2 -2
  173. package/src/search-control/index.native.js +1 -1
  174. package/src/snackbar/index.tsx +5 -2
  175. package/src/snackbar/list.tsx +6 -1
  176. package/src/snackbar/stories/list.story.tsx +0 -3
  177. package/src/snackbar/test/index.tsx +267 -0
  178. package/src/snackbar/test/list.tsx +46 -0
  179. package/src/snackbar/types.ts +31 -3
  180. package/src/tabs/README.md +18 -18
  181. package/src/tabs/index.tsx +7 -7
  182. package/src/tabs/stories/index.story.tsx +1 -1
  183. package/src/tabs/test/index.tsx +30 -30
  184. package/src/tabs/types.ts +1 -1
  185. package/src/toggle-group-control/test/index.tsx +1 -1
  186. package/src/tools-panel/stories/index.story.tsx +8 -8
  187. package/src/tools-panel/test/index.tsx +10 -28
  188. package/src/tooltip/style.scss +2 -1
  189. package/src/tooltip/test/index.native.js +3 -3
  190. package/src/tree-grid/test/index.tsx +1 -1
  191. package/src/utils/hooks/index.js +0 -1
  192. package/src/v-stack/test/index.tsx +10 -0
  193. package/tsconfig.tsbuildinfo +1 -1
  194. package/build/custom-select-control-v2/legacy-adapter.js +0 -29
  195. package/build/custom-select-control-v2/legacy-adapter.js.map +0 -1
  196. package/build/utils/hooks/use-latest-ref.js +0 -33
  197. package/build/utils/hooks/use-latest-ref.js.map +0 -1
  198. package/build-module/custom-select-control-v2/legacy-adapter.js +0 -21
  199. package/build-module/custom-select-control-v2/legacy-adapter.js.map +0 -1
  200. package/build-module/utils/hooks/use-latest-ref.js +0 -27
  201. package/build-module/utils/hooks/use-latest-ref.js.map +0 -1
  202. package/build-types/custom-select-control-v2/legacy-adapter.d.ts +0 -6
  203. package/build-types/custom-select-control-v2/legacy-adapter.d.ts.map +0 -1
  204. package/build-types/utils/hooks/use-latest-ref.d.ts +0 -15
  205. package/build-types/utils/hooks/use-latest-ref.d.ts.map +0 -1
  206. package/src/custom-select-control-v2/legacy-adapter.tsx +0 -25
  207. package/src/utils/hooks/test/use-latest-ref.js +0 -119
  208. package/src/utils/hooks/use-latest-ref.ts +0 -29
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_components","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","_react","createElement","Icon","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","opacityValue","useRef","Animated","Value","current","timing","toValue","duration","useNativeDriver","start","imageStyles","opacity","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","View","container","alignItems","onLayout","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","key","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","default","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Animated, Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, useRef, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst opacityValue = useRef( new Animated.Value( 1 ) ).current;\n\n\tuseEffect( () => {\n\t\tAnimated.timing( opacityValue, {\n\t\t\ttoValue: isUploadInProgress ? 0.3 : 1,\n\t\t\tduration: 100,\n\t\t\tuseNativeDriver: true,\n\t\t} ).start();\n\t}, [ isUploadInProgress, opacityValue ] );\n\n\tconst imageStyles = [\n\t\t{\n\t\t\topacity: opacityValue,\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! (\n\t\t\t\t\t\tisUploadInProgress ||\n\t\t\t\t\t\tisUploadFailed ||\n\t\t\t\t\t\tisUploadPaused\n\t\t\t\t\t) && <View style={ imageSelectedStyles } /> }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Animated.Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,UAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,mBAAA,GAAAT,sBAAA,CAAAF,OAAA;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAOA;AACA;AACA;;AAMA,MAAMY,SAAS,GAAG;EACjBC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,aAAa;EAC1BC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAE;EACxBC,KAAK;EACLC,GAAG;EACHC,UAAU,GAAG,IAAI;EACjBC,UAAU;EACVC,MAAM,EAAEC,WAAW;EACnBC,iBAAiB,GAAG,IAAI;EACxBC,UAAU;EACVC,kBAAkB;EAClBC,cAAc;EACdC,cAAc;EACdC,kBAAkB;EAClBC,kBAAkB;EAClBC,eAAe;EACfC,yBAAyB;EACzBC,gBAAgB;EAChBC,UAAU;EACVC,YAAY;EACZC,SAAS;EACTC,GAAG;EACHC,UAAU;EACVC,KAAK;EACLC,KAAK,EAAEC;AACR,CAAC,KAAM;EACN,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EACpD,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,IAAK,CAAC;EAC5D,MAAM,CAAEG,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAJ,iBAAQ,EAAE,IAAK,CAAC;EAClD,MAAM,CAAEK,UAAU,EAAEC,aAAa,CAAE,GAAG,IAAAN,iBAAQ,EAAE,IAAK,CAAC;EACtD,MAAM,CAAEO,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAR,iBAAQ,EAAE,KAAM,CAAC;;EAEvE;EACA,MAAMS,KAAK,GACV,CAAE3B,kBAAkB,IAAI4B,iBAAQ,CAACC,SAAS,GAAGC,kBAAO,GAAGC,6BAAS;EACjE,MAAMC,eAAe,GACpB,CAAEhC,kBAAkB,IAAI4B,iBAAQ,CAACC,SAAS,GACvCrB,UAAU,GACVuB,6BAAS,CAACvB,UAAU,CAAEA,UAAU,CAAE;EAEtC,IAAAyB,kBAAS,EAAE,MAAM;IAChB,IAAIC,SAAS,GAAG,IAAI;IACpB,IAAKvB,GAAG,EAAG;MACVmB,kBAAO,CAACK,OAAO,CAAExB,GAAG,EAAE,CAAEyB,QAAQ,EAAEC,SAAS,KAAM;QAChD,IAAK,CAAEH,SAAS,EAAG;UAClB;QACD;QACA,MAAMI,QAAQ,GAAG;UAChBC,WAAW,EAAEH,QAAQ,GAAGC,SAAS;UACjCvB,KAAK,EAAEsB,QAAQ;UACfxC,MAAM,EAAEyC;QACT,CAAC;QACDpB,YAAY,CAAEqB,QAAS,CAAC;QACxB,IAAKjC,eAAe,EAAG;UACtBA,eAAe,CAAEiC,QAAS,CAAC;QAC5B;MACD,CAAE,CAAC;MAEH,IAAK3B,GAAG,CAAC6B,UAAU,CAAE,UAAW,CAAC,EAAG;QACnClB,WAAW,CAAEX,GAAI,CAAC;QAClBa,aAAa,CAAE,IAAK,CAAC;QACrBE,qBAAqB,CAAE,KAAM,CAAC;MAC/B,CAAC,MAAM,IAAKf,GAAG,CAAC6B,UAAU,CAAE,UAAW,CAAC,EAAG;QAC1C,IAAKZ,iBAAQ,CAACa,KAAK,EAAG;UACrBjB,aAAa,CAAEb,GAAI,CAAC;QACrB,CAAC,MAAM,IAAKiB,iBAAQ,CAACC,SAAS,EAAG;UAChCC,kBAAO,CAACY,QAAQ,CAAE/B,GAAI,CAAC,CAACgC,IAAI,CAC3B,MAAM;YACL,IAAK,CAAET,SAAS,EAAG;cAClB;YACD;YACAV,aAAa,CAAEb,GAAI,CAAC;YACpBe,qBAAqB,CAAE,IAAK,CAAC;UAC9B,CAAC,EACD,MAAM;YACL;YACA;YACA;YACA;YACA;UAAA,CAEF,CAAC;QACF;MACD;IACD;IACA,OAAO,MAAQQ,SAAS,GAAG,KAAO;IAClC;IACA;IACA;EACD,CAAC,EAAE,CAAEvB,GAAG,CAAG,CAAC;EAEZ,MAAMiC,iBAAiB,GAAKC,KAAK,IAAM;IACtC,MAAM;MAAEjD,MAAM;MAAEkB;IAAM,CAAC,GAAG+B,KAAK,CAACC,WAAW,CAACC,MAAM;IAElD,IACCjC,KAAK,KAAK,CAAC,IACXlB,MAAM,KAAK,CAAC,KACVuB,aAAa,EAAEL,KAAK,KAAKA,KAAK,IAC/BK,aAAa,EAAEvB,MAAM,KAAKA,MAAM,CAAE,EAClC;MACDwB,gBAAgB,CAAE;QAAEN,KAAK;QAAElB;MAAO,CAAE,CAAC;IACtC;EACD,CAAC;EAED,MAAMoD,OAAO,GAAKC,QAAQ,IAAM;IAC/B,IAAIC,IAAI;IACR,IAAIC,SAAS;IACb,QAASF,QAAQ;MAChB,KAAK/D,SAAS,CAACG,KAAK;QACnB6D,IAAI,GAAGxC,SAAS,IAAI0C,kBAAY;QAChCD,SAAS,GAAGE,eAAe;QAC3B;MACD,KAAKnE,SAAS,CAACC,OAAO;QACrB+D,IAAI,GAAGI,cAAO;QACdH,SAAS,GAAGI,iBAAiB;QAC7B;MACD,KAAKrE,SAAS,CAACE,WAAW;QACzB8D,IAAI,GAAGM,YAAK;QACZL,SAAS,GAAGM,qBAAqB;QACjC;MACD,KAAKvE,SAAS,CAACI,MAAM;QACpB4D,IAAI,GAAGM,YAAK;QACZL,SAAS,GAAGO,gBAAgB;QAC5B;IACF;IACA,OAAO,IAAAC,MAAA,CAAAC,aAAA,EAAClF,WAAA,CAAAmF,IAAI;MAACX,IAAI,EAAGA,IAAM;MAAA,GAAMC;IAAS,CAAI,CAAC;EAC/C,CAAC;EAED,MAAMM,qBAAqB,GAAG,IAAAK,qCAA4B,EACzDC,cAAM,CAACC,eAAe,EACtBD,cAAM,CAACE,mBACR,CAAC;EAED,MAAMP,gBAAgB,GAAG,IAAAI,qCAA4B,EACpDC,cAAM,CAACG,UAAU,EACjBH,cAAM,CAACI,cACR,CAAC;EAED,MAAMZ,iBAAiB,GAAG,IAAAO,qCAA4B,EACrDC,cAAM,CAACK,WAAW,EAClBL,cAAM,CAACM,eACR,CAAC;EAED,MAAMC,eAAe,GAAG,IAAAR,qCAA4B,EACnDC,cAAM,CAACrD,SAAS,EAChBqD,cAAM,CAACQ,aACR,CAAC;EAED,MAAMlB,eAAe,GAAG,IAAAS,qCAA4B,EACnDC,cAAM,CAACS,SAAS,EAChBT,cAAM,CAACU,aACR,CAAC;EAED,MAAMC,oBAAoB,GAAG,IAAAZ,qCAA4B,EACxDC,cAAM,CAACY,cAAc,EACrBZ,cAAM,CAACa,kBACR,CAAC;EAED,MAAMC,sBAAsB,GAAG,IAAAf,qCAA4B,EAC1DC,cAAM,CAACe,gBAAgB,EACvBf,cAAM,CAACgB,oBACR,CAAC;EAED,MAAMC,iBAAiB,GAAG,CACzB,IAAAlB,qCAA4B,EAC3BC,cAAM,CAACkB,oBAAoB,EAC3BlB,cAAM,CAACmB,wBACR,CAAC,EACDvF,UAAU,IAAIoE,cAAM,CAACoB,kCAAkC,EACvDtF,WAAW,IAAI;IAAED,MAAM,EAAEC;EAAY,CAAC,CACtC;EAED,MAAMuF,WAAW,GAChBpE,SAAS,EAAEF,KAAK,GAAGK,aAAa,EAAEL,KAAK,GACpCE,SAAS,EAAEF,KAAK,GAChBiD,cAAM,CAACsB,IAAI,EAAEvE,KAAK;EAEtB,MAAMwE,oBAAoB,GAAG,CAC5BvB,cAAM,CAACwB,YAAY,EACnB;IACCzE,KAAK,EACJC,UAAU,KAAKgD,cAAM,CAACsB,IAAI,EAAEvE,KAAK,IAC/BE,SAAS,IACVD,UAAU,GAAG,CAAC,IACdA,UAAU,GAAGI,aAAa,EAAEL,KAAO,GACjCC,UAAU,GACVqE;EACL,CAAC,EACD5E,UAAU,IAAI;IAAEM,KAAK,EAAEiD,cAAM,CAACsB,IAAI,EAAEvE;EAAM,CAAC,EAC3CnB,UAAU,IAAIoE,cAAM,CAACyB,mBAAmB,CACxC;EAED,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAE,IAAIC,qBAAQ,CAACC,KAAK,CAAE,CAAE,CAAE,CAAC,CAACC,OAAO;EAE9D,IAAA5D,kBAAS,EAAE,MAAM;IAChB0D,qBAAQ,CAACG,MAAM,CAAEL,YAAY,EAAE;MAC9BM,OAAO,EAAE5F,kBAAkB,GAAG,GAAG,GAAG,CAAC;MACrC6F,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IAClB,CAAE,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAAE/F,kBAAkB,EAAEsF,YAAY,CAAG,CAAC;EAEzC,MAAMU,WAAW,GAAG,CACnB;IACCC,OAAO,EAAEX,YAAY;IACrB7F,MAAM,EAAEuB,aAAa,EAAEvB;EACxB,CAAC,EACD,CAAEY,UAAU,IAAI;IACf+B,WAAW,EAAEvB,SAAS,EAAEuB;EACzB,CAAC,EACD5C,UAAU,IAAIoE,cAAM,CAACpE,UAAU,EAC/BA,UAAU,IACT,IAAA0G,mCAA4B,EAC3B1G,UAAU,EACVwB,aAAa,EACbH,SACD,CAAC,EACF,CAAErB,UAAU,IACXqB,SAAS,IACTG,aAAa,IAAI;IAChBvB,MAAM,EACLoB,SAAS,EAAEF,KAAK,GAAGK,aAAa,EAAEL,KAAK,IAAI,CAAEC,UAAU,GACpDI,aAAa,EAAEL,KAAK,GAAGE,SAAS,EAAEuB,WAAW,GAC7C+D;EACL,CAAC,EACFzG,WAAW,IAAI;IAAED,MAAM,EAAEC;EAAY,CAAC,EACtCe,UAAU,CACV;;EAED;EACA;EACA;EACA;EACA,IAAI2F,wBAAwB;EAC5B,IAAK3E,iBAAQ,CAACa,KAAK,EAAG;IACrB8D,wBAAwB,GACvBpF,aAAa,IAAI,CAAEqF,KAAK,CAAErF,aAAa,CAACvB,MAAO,CAAC,GAC7CuB,aAAa,CAACvB,MAAM,GAAG,CAAC,GACxB,CAAC;EACN,CAAC,MAAM;IACN2G,wBAAwB,GAAGpF,aAAa,EAAEvB,MAAM;EACjD;EAEA,MAAM6G,mBAAmB,GAAG,CAC3B,IAAA3C,qCAA4B,EAC3BC,cAAM,CAAC2C,WAAW,EAClB3C,cAAM,CAAC4C,eACR,CAAC,EACD;IACC/G,MAAM,EAAE2G;EACT,CAAC,CACD;EAED,OACC,IAAA5C,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IACJ/F,KAAK,EAAG,CACPkD,cAAM,CAAC8C,SAAS;IAChB;IACA;IACA;IACA7F,SAAS,IAAIxB,KAAK,IAAI;MAAEsH,UAAU,EAAEtH;IAAM,CAAC,EAC3CqB,KAAK,CACH;IACHkG,QAAQ,EAAGnE;EAAmB,GAE9B,IAAAe,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IACJI,UAAU;IACVC,QAAQ,EAAG,CAAElH,UAAY;IACzBmH,kBAAkB,EAAGzH,GAAK;IAC1B0H,iBAAiB,EAAG,IAAAC,QAAE,EAAE,6BAA8B,CAAG;IACzDC,iBAAiB,EAAG,aAAe;IACnCC,GAAG,EAAG3G,GAAK;IACXE,KAAK,EAAGyE;EAAsB,GAE5BvF,UAAU,IACXD,iBAAiB,IACjB,EACCK,kBAAkB,IAClBF,cAAc,IACdC,cAAc,CACd,IAAI,IAAAyD,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IAAC/F,KAAK,EAAG4F;EAAqB,CAAE,CAAC,EAE1C,CAAEzF,SAAS,GACZ,IAAA2C,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IAAC/F,KAAK,EAAGmE;EAAmB,GAChC,IAAArB,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IAAC/F,KAAK,EAAGkD,cAAM,CAACwD;EAA6B,GAC/CvE,OAAO,CAAE9D,SAAS,CAACI,MAAO,CACvB,CACD,CAAC,GAEP,IAAAqE,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IAAC/F,KAAK,EAAGlB,UAAU,IAAIoE,cAAM,CAACyD;EAAmB,GACnD5F,iBAAQ,CAACC,SAAS,IACnB,IAAA8B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAA8D,QAAA,QACGhG,kBAAkB,IAAIF,UAAU,IACjC,IAAAoC,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAsH,QAAQ,CAAChE,KAAK;IACdd,KAAK,EAAGsF,WAAa;IACrBuB,YAAY,EAAG,CAAG;IAClBC,MAAM,EAAG;MAAEC,GAAG,EAAErG;IAAW,CAAG;IAAA,IACvB,CAAE5B,UAAU,IAAI;MACtBkI,YAAY,EAAE;IACf,CAAC;IACDrH,UAAU,EAAGwB,eAAiB;IAC9B8F,MAAM,EAAI,iBAAiBnH,GAAK;EAAG,CACnC,CACD,EACC,CAAEc,kBAAkB,IAAI,CAAEF,UAAU,IACrC,IAAAoC,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAsH,QAAQ,CAAChE,KAAK;IACdd,KAAK,EAAGsF,WAAa;IACrBuB,YAAY,EAAG,CAAG;IAClBC,MAAM,EAAG;MAAEC,GAAG,EAAEvG;IAAS,CAAG;IAAA,IACrB,CAAE1B,UAAU,IAAI;MACtBkI,YAAY,EAAE;IACf,CAAC;IACDrH,UAAU,EAAGwB;EAAiB,CAC9B,CAED,CACF,EACCJ,iBAAQ,CAACa,KAAK,IACf,IAAAkB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAA8D,QAAA,QACC,IAAA9D,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAsH,QAAQ,CAAChE,KAAK;IACdd,KAAK,EAAGsF,WAAa;IACrBwB,MAAM,EAAG;MACRC,GAAG,EACFrG,UAAU,IAAIE,kBAAkB,GAC7BF,UAAU,GACVF,QAAQ,IAAIV;IACjB,CAAG;IAAA,IACI,CAAEhB,UAAU,IAAI;MACtBkI,YAAY,EAAE;IACf,CAAC;IACDrH,UAAU,EAAGwB,eAAiB;IAC9B8F,MAAM,EAAI,iBACTvG,UAAU,IAAIE,kBAAkB,GAC7BF,UAAU,GACVF,QAAQ,IAAIV,GACf;EAAG,CACJ,CAAC,EACF,IAAAgD,MAAA,CAAAC,aAAA,EAACjC,KAAK;IACLgG,MAAM,EAAG;MAAEC,GAAG,EAAErG;IAAW,CAAG;IAC9BV,KAAK,EAAGkD,cAAM,CAACgE,eAAiB;IAChCC,MAAM,EAAGA,CAAA,KAAM;MACdtG,qBAAqB,CAAE,IAAK,CAAC;IAC9B;EAAG,CACH,CACA,CAEE,CACN,EAEC,CAAEzB,cAAc,IAAIC,cAAc,KAAMO,YAAY,IACrD,IAAAkD,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IACJ/F,KAAK,EAAG,CACPkD,cAAM,CAACkE,cAAc,EACrBvD,oBAAoB;EAClB,GAEH,IAAAf,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAAuI,IAAI;IACJ/F,KAAK,EAAG,CACPyD,eAAe,EACf5D,SAAS,IAAIqD,cAAM,CAACmE,eAAe;EACjC,GAEDhI,cAAc,GACb8C,OAAO,CAAE9D,SAAS,CAACC,OAAQ,CAAC,GAC5B6D,OAAO,CAAE9D,SAAS,CAACG,KAAM,CACvB,CAAC,EACP,IAAAsE,MAAA,CAAAC,aAAA,EAACvF,YAAA,CAAA8J,IAAI;IAACtH,KAAK,EAAGgE;EAAwB,GACnCpE,YACG,CACD,CAEF,CAAC,EAELf,UAAU,IAAIK,UAAU,IAAI,CAAEI,kBAAkB,IACjD,IAAAwD,MAAA,CAAAC,aAAA,EAAC3E,mBAAA,CAAAmJ,OAAkB;IAClB9H,yBAAyB,EAAGA,yBAA2B;IACvDC,gBAAgB,EAAGA,gBAAkB;IACrCI,GAAG,EACF,EAAIV,cAAc,IAAIC,cAAc,CAAE,IACtCc,SAAS,IACTL,GACA;IACD0H,aAAa,EAAGjI;EAAoB,CACpC,CAEG,CAAC;AAET,CAAC;AAAC,IAAAkI,QAAA,GAAAC,OAAA,CAAAH,OAAA,GAEa7I,cAAc"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_components","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","_react","createElement","Icon","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","View","container","alignItems","onLayout","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","key","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","default","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole={ 'imagebutton' }\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_components","_reactNativeBridge","MEDIA_TYPE_IMAGE","exports","MEDIA_EDITOR","editOption","id","value","label","__","requiresModal","types","replaceOption","mediaSources","deviceLibrary","MediaEdit","Component","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","filter","Boolean","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","requestMediaEditor","media","optionSelected","find","onPress","render","mediaOptions","_react","createElement","Picker","hideCancelButton","ref","instance","leftAlign","onChange","title","open","_default","default"],"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t].filter( Boolean );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ __( 'Media options' ) }\n\t\t\t\tdestructiveButtonIndex={ this.getDestructiveButtonIndex() }\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tmediaOptions,\n\t\t} );\n\t}\n}\n\nexport default MediaEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_i18n","_components","_reactNativeBridge","MEDIA_TYPE_IMAGE","exports","MEDIA_EDITOR","editOption","id","value","label","__","requiresModal","types","replaceOption","mediaSources","deviceLibrary","MediaEdit","Component","constructor","props","onPickerPresent","bind","onPickerSelect","getMediaOptionsItems","getDestructiveButtonIndex","pickerOptions","openReplaceMediaOptions","source","uri","filter","Boolean","options","destructiveButtonIndex","findIndex","option","destructiveButton","undefined","picker","presentPicker","onSelect","multiple","requestMediaEditor","media","optionSelected","find","onPress","render","mediaOptions","_react","createElement","Picker","hideCancelButton","ref","instance","leftAlign","onChange","title","open","_default","default"],"sources":["@wordpress/components/src/mobile/media-edit/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\trequestMediaEditor,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\n\nexport const MEDIA_EDITOR = 'MEDIA_EDITOR';\n\nconst editOption = {\n\tid: MEDIA_EDITOR,\n\tvalue: MEDIA_EDITOR,\n\tlabel: __( 'Edit' ),\n\trequiresModal: true,\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nconst replaceOption = {\n\tid: mediaSources.deviceLibrary,\n\tvalue: mediaSources.deviceLibrary,\n\tlabel: __( 'Replace' ),\n\ttypes: [ MEDIA_TYPE_IMAGE ],\n};\n\nexport class MediaEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getMediaOptionsItems = this.getMediaOptionsItems.bind( this );\n\t\tthis.getDestructiveButtonIndex =\n\t\t\tthis.getDestructiveButtonIndex.bind( this );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst { pickerOptions, openReplaceMediaOptions, source } = this.props;\n\n\t\treturn [\n\t\t\tsource?.uri && editOption,\n\t\t\topenReplaceMediaOptions && replaceOption,\n\t\t\t...( pickerOptions ? pickerOptions : [] ),\n\t\t].filter( Boolean );\n\t}\n\n\tgetDestructiveButtonIndex() {\n\t\tconst options = this.getMediaOptionsItems();\n\t\tconst destructiveButtonIndex = options.findIndex(\n\t\t\t( option ) => option?.destructiveButton\n\t\t);\n\n\t\treturn destructiveButtonIndex !== -1\n\t\t\t? destructiveButtonIndex + 1\n\t\t\t: undefined;\n\t}\n\n\tonPickerPresent() {\n\t\tif ( this.picker ) {\n\t\t\tthis.picker.presentPicker();\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tonSelect,\n\t\t\tpickerOptions,\n\t\t\tmultiple = false,\n\t\t\topenReplaceMediaOptions,\n\t\t} = this.props;\n\n\t\tswitch ( value ) {\n\t\t\tcase MEDIA_EDITOR:\n\t\t\t\trequestMediaEditor( this.props.source.uri, ( media ) => {\n\t\t\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\t\t\tonSelect( media );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconst optionSelected =\n\t\t\t\t\tpickerOptions &&\n\t\t\t\t\tpickerOptions.find( ( option ) => option.id === value );\n\n\t\t\t\tif ( optionSelected && optionSelected.onPress ) {\n\t\t\t\t\toptionSelected.onPress();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( openReplaceMediaOptions ) {\n\t\t\t\t\topenReplaceMediaOptions();\n\t\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst mediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tleftAlign\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ __( 'Media options' ) }\n\t\t\t\tdestructiveButtonIndex={ this.getDestructiveButtonIndex() }\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tmediaOptions,\n\t\t} );\n\t}\n}\n\nexport default MediaEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_icons","_compose","_button","_colorPicker","_flex","_hStack","_itemGroup","_vStack","_gradientPicker","_colorPalette","_dropdownMenu","_popover","_styles","_navigableContainer","_constants","_customGradientPicker","_strings","DEFAULT_COLOR","NameInput","value","onChange","label","_react","createElement","NameInputControl","hideLabelFromVision","getNameForPosition","elements","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","sprintf","__","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","useMemo","shift","offset","resize","placement","className","classnames","default","ColorPicker","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","useFocusOutside","popoverAnchor","setPopoverAnchor","useState","anchor","PaletteItem","undefined","as","onClick","name","trim","length","ref","HStack","justify","IndicatorStyled","colorValue","FlexItem","nextName","kebabCase","NameContainer","RemoveButton","size","icon","lineSolid","PaletteEditListView","editingElement","setEditingElement","elementsReference","useRef","useEffect","current","debounceOnChange","useDebounce","VStack","spacing","ItemGroup","isRounded","map","index","key","newElement","currentElement","currentIndex","newElements","filter","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","useCallback","newEditingElementIndex","selectedElement","PaletteEditStyles","PaletteHStackHeader","PaletteHeading","level","PaletteActionsContainer","DoneButton","isPressed","plus","optionName","DEFAULT_GRADIENT","moreVertical","toggleProps","isSmall","Fragment","NavigableMenu","role","variant","clearable","disableCustomGradients","disableCustomColors","_default","exports"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is an id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas={ isEditing ? 'div' : 'button' }\n\t\t\tonClick={ onStartEditing }\n\t\t\taria-label={\n\t\t\t\tisEditing\n\t\t\t\t\t? undefined\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t )\n\t\t\t}\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing ? { ...focusOutsideProps } : {} ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst optionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_icons","_compose","_button","_colorPicker","_flex","_hStack","_itemGroup","_vStack","_gradientPicker","_colorPalette","_dropdownMenu","_popover","_styles","_navigableContainer","_constants","_customGradientPicker","_strings","DEFAULT_COLOR","NameInput","value","onChange","label","_react","createElement","NameInputControl","hideLabelFromVision","getNameForPosition","elements","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","sprintf","__","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","useMemo","shift","offset","resize","placement","className","classnames","default","ColorPicker","color","enableAlpha","newColor","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","useFocusOutside","popoverAnchor","setPopoverAnchor","useState","anchor","PaletteItem","undefined","as","onClick","name","trim","length","ref","HStack","justify","IndicatorStyled","colorValue","FlexItem","nextName","kebabCase","NameContainer","RemoveButton","size","icon","lineSolid","PaletteEditListView","editingElement","setEditingElement","elementsReference","useRef","useEffect","current","debounceOnChange","useDebounce","VStack","spacing","ItemGroup","isRounded","map","index","key","newElement","currentElement","currentIndex","newElements","filter","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","useCallback","newEditingElementIndex","selectedElement","PaletteEditStyles","PaletteHStackHeader","PaletteHeading","level","PaletteActionsContainer","DoneButton","isPressed","plus","optionName","DEFAULT_GRADIENT","moreVertical","toggleProps","isSmall","Fragment","NavigableMenu","role","variant","clearable","disableCustomGradients","disableCustomColors","_default","exports"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is an id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas={ isEditing ? 'div' : 'button' }\n\t\t\tonClick={ onStartEditing }\n\t\t\taria-label={\n\t\t\t\tisEditing\n\t\t\t\t\t? undefined\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a color or gradient name, e.g. \"Red\".\n\t\t\t\t\t\t\t__( 'Edit: %s' ),\n\t\t\t\t\t\t\telement.name.trim().length ? element.name : value\n\t\t\t\t\t )\n\t\t\t}\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing ? { ...focusOutsideProps } : {} ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<IndicatorStyled colorValue={ value } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>\n\t\t\t\t\t\t\t{ element.name.trim().length\n\t\t\t\t\t\t\t\t? element.name\n\t\t\t\t\t\t\t\t: /* Fall back to non-breaking space to maintain height */\n\t\t\t\t\t\t\t\t '\\u00A0' }\n\t\t\t\t\t\t</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst optionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_","_categorySelect","_interopRequireDefault","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","options","label","__","value","QueryControls","memo","categoriesList","selectedCategoryId","numberOfItems","order","orderBy","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","onChange","useCallback","newOrderBy","newOrder","split","_react","createElement","Fragment","SelectControl","hideCancelButton","default","noOptionLabel","_x","RangeControl","__next40pxDefaultSize","min","max","required","_default","exports"],"sources":["@wordpress/components/src/query-controls/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, memo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { RangeControl, SelectControl } from '../';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nconst options = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\nconst QueryControls = memo(\n\t( {\n\t\tcategoriesList,\n\t\tselectedCategoryId,\n\t\tnumberOfItems,\n\t\torder,\n\t\torderBy,\n\t\tmaxItems = DEFAULT_MAX_ITEMS,\n\t\tminItems = DEFAULT_MIN_ITEMS,\n\t\tonCategoryChange,\n\t\tonNumberOfItemsChange,\n\t\tonOrderChange,\n\t\tonOrderByChange,\n\t} ) => {\n\t\tconst onChange = useCallback(\n\t\t\t( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t}\n\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ order, orderBy, onOrderByChange, onOrderChange ]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ onOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onCategoryChange && (\n\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\t\t\tonChange={ onCategoryChange }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport default QueryControls;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,CAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMK,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,MAAMC,OAAO,GAAG,CACf;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,KAAK,EAAE;AACR,CAAC,CACD;AAED,MAAMC,aAAa,GAAG,IAAAC,aAAI,EACzB,CAAE;EACDC,cAAc;EACdC,kBAAkB;EAClBC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ,GAAGZ,iBAAiB;EAC5Ba,QAAQ,GAAGd,iBAAiB;EAC5Be,gBAAgB;EAChBC,qBAAqB;EACrBC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EACzBf,KAAK,IAAM;IACZ,MAAM,CAAEgB,UAAU,EAAEC,QAAQ,CAAE,GAAGjB,KAAK,CAACkB,KAAK,CAAE,GAAI,CAAC;IACnD,IAAKD,QAAQ,KAAKX,KAAK,EAAG;MACzBM,aAAa,CAAEK,QAAS,CAAC;IAC1B;IACA,IAAKD,UAAU,KAAKT,OAAO,EAAG;MAC7BM,eAAe,CAAEG,UAAW,CAAC;IAC9B;EACD,CAAC,EACD,CAAEV,KAAK,EAAEC,OAAO,EAAEM,eAAe,EAAED,aAAa,CACjD,CAAC;EAED,OACC,IAAAO,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGT,aAAa,IAAIC,eAAe,IACjC,IAAAM,MAAA,CAAAC,aAAA,EAAC5B,CAAA,CAAA8B,aAAa;IACbxB,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1BC,KAAK,EAAI,GAAGO,OAAS,IAAID,KAAO,EAAG;IACnCT,OAAO,EAAGA,OAAS;IACnBiB,QAAQ,EAAGA,QAAU;IACrBS,gBAAgB,EAAG;EAAM,CACzB,CACD,EACCb,gBAAgB,IACjB,IAAAS,MAAA,CAAAC,aAAA,EAAC3B,eAAA,CAAA+B,OAAc;IACdrB,cAAc,EAAGA,cAAgB;IACjCL,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1B0B,aAAa,EAAG,IAAAC,QAAE,EAAE,KAAK,EAAE,YAAa,CAAG;IAC3CtB,kBAAkB,EAAGA,kBAAoB;IACzCU,QAAQ,EAAGJ,gBAAkB;IAC7Ba,gBAAgB,EAAG;EAAM,CACzB,CACD,EACCZ,qBAAqB,IACtB,IAAAQ,MAAA,CAAAC,aAAA,EAAC5B,CAAA,CAAAmC,YAAY;IACZC,qBAAqB;IACrB9B,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCC,KAAK,EAAGK,aAAe;IACvBS,QAAQ,EAAGH,qBAAuB;IAClCkB,GAAG,EAAGpB,QAAU;IAChBqB,GAAG,EAAGtB,QAAU;IAChBuB,QAAQ;EAAA,CACR,CAED,CAAC;AAEL,CACD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEavB,aAAa"}
1
+ {"version":3,"names":["_i18n","require","_element","_","_categorySelect","_interopRequireDefault","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","options","label","__","value","QueryControls","memo","categoriesList","selectedCategoryId","numberOfItems","order","orderBy","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","onChange","useCallback","newOrderBy","newOrder","split","_react","createElement","Fragment","SelectControl","hideCancelButton","default","noOptionLabel","_x","RangeControl","__next40pxDefaultSize","min","max","required","_default","exports"],"sources":["@wordpress/components/src/query-controls/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, memo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { RangeControl, SelectControl } from '../';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nconst options = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\nconst QueryControls = memo(\n\t( {\n\t\tcategoriesList,\n\t\tselectedCategoryId,\n\t\tnumberOfItems,\n\t\torder,\n\t\torderBy,\n\t\tmaxItems = DEFAULT_MAX_ITEMS,\n\t\tminItems = DEFAULT_MIN_ITEMS,\n\t\tonCategoryChange,\n\t\tonNumberOfItemsChange,\n\t\tonOrderChange,\n\t\tonOrderByChange,\n\t} ) => {\n\t\tconst onChange = useCallback(\n\t\t\t( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t}\n\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ order, orderBy, onOrderByChange, onOrderChange ]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ onOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onCategoryChange && (\n\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\t\t\tonChange={ onCategoryChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport default QueryControls;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,CAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,MAAMK,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,MAAMC,OAAO,GAAG,CACf;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;EAC/BC,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,KAAK,EAAE;AACR,CAAC,CACD;AAED,MAAMC,aAAa,GAAG,IAAAC,aAAI,EACzB,CAAE;EACDC,cAAc;EACdC,kBAAkB;EAClBC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ,GAAGZ,iBAAiB;EAC5Ba,QAAQ,GAAGd,iBAAiB;EAC5Be,gBAAgB;EAChBC,qBAAqB;EACrBC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EACzBf,KAAK,IAAM;IACZ,MAAM,CAAEgB,UAAU,EAAEC,QAAQ,CAAE,GAAGjB,KAAK,CAACkB,KAAK,CAAE,GAAI,CAAC;IACnD,IAAKD,QAAQ,KAAKX,KAAK,EAAG;MACzBM,aAAa,CAAEK,QAAS,CAAC;IAC1B;IACA,IAAKD,UAAU,KAAKT,OAAO,EAAG;MAC7BM,eAAe,CAAEG,UAAW,CAAC;IAC9B;EACD,CAAC,EACD,CAAEV,KAAK,EAAEC,OAAO,EAAEM,eAAe,EAAED,aAAa,CACjD,CAAC;EAED,OACC,IAAAO,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGT,aAAa,IAAIC,eAAe,IACjC,IAAAM,MAAA,CAAAC,aAAA,EAAC5B,CAAA,CAAA8B,aAAa;IACbxB,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1BC,KAAK,EAAI,GAAGO,OAAS,IAAID,KAAO,EAAG;IACnCT,OAAO,EAAGA,OAAS;IACnBiB,QAAQ,EAAGA,QAAU;IACrBS,gBAAgB;EAAA,CAChB,CACD,EACCb,gBAAgB,IACjB,IAAAS,MAAA,CAAAC,aAAA,EAAC3B,eAAA,CAAA+B,OAAc;IACdrB,cAAc,EAAGA,cAAgB;IACjCL,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAC1B0B,aAAa,EAAG,IAAAC,QAAE,EAAE,KAAK,EAAE,YAAa,CAAG;IAC3CtB,kBAAkB,EAAGA,kBAAoB;IACzCU,QAAQ,EAAGJ,gBAAkB;IAC7Ba,gBAAgB;EAAA,CAChB,CACD,EACCZ,qBAAqB,IACtB,IAAAQ,MAAA,CAAAC,aAAA,EAAC5B,CAAA,CAAAmC,YAAY;IACZC,qBAAqB;IACrB9B,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCC,KAAK,EAAGK,aAAe;IACvBS,QAAQ,EAAGH,qBAAuB;IAClCkB,GAAG,EAAGpB,QAAU;IAChBqB,GAAG,EAAGtB,QAAU;IAChBuB,QAAQ;EAAA,CACR,CAED,CAAC;AAEL,CACD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEavB,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_compose","_baseControl","_button","_icon","_utils","_utils2","_math","_inputRange","_rail","_tooltip","_rangeControlStyles","_space","noop","UnforwardedRangeControl","props","forwardedRef","__nextHasNoMarginBottom","afterIcon","allowReset","beforeIcon","className","color","colorProp","COLORS","theme","accent","currentInput","disabled","help","hideLabelFromVision","initialPosition","isShiftStepEnabled","label","marks","max","min","onBlur","onChange","onFocus","onMouseLeave","onMouseMove","railColor","renderTooltipContent","v","resetFallbackValue","__next40pxDefaultSize","shiftStep","showTooltip","showTooltipProp","step","trackColor","value","valueProp","withInputField","otherProps","setValue","useControlledRangeValue","initial","isResetPendent","useRef","hasTooltip","hasInputField","setShowTooltip","useState","isFocused","setIsFocused","inputRef","isCurrentlyFocused","current","matches","isThumbFocused","isValueReset","currentValue","undefined","inputSliderValue","rangeFillValue","fillValue","fillValueOffset","clamp","classes","classnames","wrapperClasses","id","useInstanceId","describedBy","enableTooltip","Number","isFinite","handleOnRangeChange","event","nextValue","parseFloat","target","handleOnChange","next","isNaN","floatClamp","handleOnInputNumberBlur","handleOnReset","resetValue","onChangeResetValue","handleShowTooltip","handleHideTooltip","handleOnBlur","handleOnFocus","offsetStyle","isRTL","_react","createElement","default","Root","BeforeIconWrapper","icon","Wrapper","ref","useMergeRefs","Track","style","width","ThumbWrapper","Thumb","tooltipPosition","show","AfterIconWrapper","InputNumber","inputMode","size","__unstableInputWidth","space","ActionRightWrapper","variant","onClick","__","RangeControl","exports","forwardRef","_default"],"sources":["@wordpress/components/src/range-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent, FocusEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useRef, useState, forwardRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { COLORS } from '../utils';\nimport { floatClamp, useControlledRangeValue } from './utils';\nimport { clamp } from '../utils/math';\nimport InputRange from './input-range';\nimport RangeRail from './rail';\nimport SimpleTooltip from './tooltip';\nimport {\n\tActionRightWrapper,\n\tAfterIconWrapper,\n\tBeforeIconWrapper,\n\tInputNumber,\n\tRoot,\n\tTrack,\n\tThumbWrapper,\n\tThumb,\n\tWrapper,\n} from './styles/range-control-styles';\n\nimport type { RangeControlProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport { space } from '../utils/space';\n\nconst noop = () => {};\n\nfunction UnforwardedRangeControl(\n\tprops: WordPressComponentProps< RangeControlProps, 'input', false >,\n\tforwardedRef: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tafterIcon,\n\t\tallowReset = false,\n\t\tbeforeIcon,\n\t\tclassName,\n\t\tcolor: colorProp = COLORS.theme.accent,\n\t\tcurrentInput,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tinitialPosition,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmarks = false,\n\t\tmax = 100,\n\t\tmin = 0,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\n\t\tonMouseLeave = noop,\n\t\tonMouseMove = noop,\n\t\trailColor,\n\t\trenderTooltipContent = ( v ) => v,\n\t\tresetFallbackValue,\n\t\t__next40pxDefaultSize = false,\n\t\tshiftStep = 10,\n\t\tshowTooltip: showTooltipProp,\n\t\tstep = 1,\n\t\ttrackColor,\n\t\tvalue: valueProp,\n\t\twithInputField = true,\n\t\t...otherProps\n\t} = props;\n\n\tconst [ value, setValue ] = useControlledRangeValue( {\n\t\tmin,\n\t\tmax,\n\t\tvalue: valueProp ?? null,\n\t\tinitial: initialPosition,\n\t} );\n\tconst isResetPendent = useRef( false );\n\n\tlet hasTooltip = showTooltipProp;\n\tlet hasInputField = withInputField;\n\n\tif ( step === 'any' ) {\n\t\t// The tooltip and number input field are hidden when the step is \"any\"\n\t\t// because the decimals get too lengthy to fit well.\n\t\thasTooltip = false;\n\t\thasInputField = false;\n\t}\n\n\tconst [ showTooltip, setShowTooltip ] = useState( hasTooltip );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst isCurrentlyFocused = inputRef.current?.matches( ':focus' );\n\tconst isThumbFocused = ! disabled && isFocused;\n\n\tconst isValueReset = value === null;\n\tconst currentValue = value !== undefined ? value : currentInput;\n\n\tconst inputSliderValue = isValueReset ? '' : currentValue;\n\tconst rangeFillValue = isValueReset ? ( max - min ) / 2 + min : value;\n\n\tconst fillValue = isValueReset\n\t\t? 50\n\t\t: ( ( value - min ) / ( max - min ) ) * 100;\n\tconst fillValueOffset = `${ clamp( fillValue, 0, 100 ) }%`;\n\n\tconst classes = classnames( 'components-range-control', className );\n\n\tconst wrapperClasses = classnames(\n\t\t'components-range-control__wrapper',\n\t\t!! marks && 'is-marked'\n\t);\n\n\tconst id = useInstanceId(\n\t\tUnforwardedRangeControl,\n\t\t'inspector-range-control'\n\t);\n\tconst describedBy = !! help ? `${ id }__help` : undefined;\n\tconst enableTooltip = hasTooltip !== false && Number.isFinite( value );\n\n\tconst handleOnRangeChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = parseFloat( event.target.value );\n\t\tsetValue( nextValue );\n\t\tonChange( nextValue );\n\t};\n\n\tconst handleOnChange = ( next?: string ) => {\n\t\t// @ts-expect-error TODO: Investigate if it's problematic for setValue() to\n\t\t// potentially receive a NaN when next is undefined.\n\t\tlet nextValue = parseFloat( next );\n\t\tsetValue( nextValue );\n\n\t\t/*\n\t\t * Calls onChange only when nextValue is numeric\n\t\t * otherwise may queue a reset for the blur event.\n\t\t */\n\t\tif ( ! isNaN( nextValue ) ) {\n\t\t\tif ( nextValue < min || nextValue > max ) {\n\t\t\t\tnextValue = floatClamp( nextValue, min, max ) as number;\n\t\t\t}\n\n\t\t\tonChange( nextValue );\n\t\t\tisResetPendent.current = false;\n\t\t} else if ( allowReset ) {\n\t\t\tisResetPendent.current = true;\n\t\t}\n\t};\n\n\tconst handleOnInputNumberBlur = () => {\n\t\tif ( isResetPendent.current ) {\n\t\t\thandleOnReset();\n\t\t\tisResetPendent.current = false;\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tlet resetValue: number | null = parseFloat( `${ resetFallbackValue }` );\n\t\tlet onChangeResetValue: number | undefined = resetValue;\n\n\t\tif ( isNaN( resetValue ) ) {\n\t\t\tresetValue = null;\n\t\t\tonChangeResetValue = undefined;\n\t\t}\n\n\t\tsetValue( resetValue );\n\n\t\t/**\n\t\t * Previously, this callback would always receive undefined as\n\t\t * an argument. This behavior is unexpected, specifically\n\t\t * when resetFallbackValue is defined.\n\t\t *\n\t\t * The value of undefined is not ideal. Passing it through\n\t\t * to internal <input /> elements would change it from a\n\t\t * controlled component to an uncontrolled component.\n\t\t *\n\t\t * For now, to minimize unexpected regressions, we're going to\n\t\t * preserve the undefined callback argument, except when a\n\t\t * resetFallbackValue is defined.\n\t\t */\n\t\tonChange( onChangeResetValue );\n\t};\n\n\tconst handleShowTooltip = () => setShowTooltip( true );\n\tconst handleHideTooltip = () => setShowTooltip( false );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t\thandleHideTooltip();\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t\thandleShowTooltip();\n\t};\n\n\tconst offsetStyle = {\n\t\t[ isRTL() ? 'right' : 'left' ]: fillValueOffset,\n\t};\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\tclassName={ classes }\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ `${ id }` }\n\t\t\thelp={ help }\n\t\t>\n\t\t\t<Root\n\t\t\t\tclassName=\"components-range-control__root\"\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t>\n\t\t\t\t{ beforeIcon && (\n\t\t\t\t\t<BeforeIconWrapper>\n\t\t\t\t\t\t<Icon icon={ beforeIcon } />\n\t\t\t\t\t</BeforeIconWrapper>\n\t\t\t\t) }\n\t\t\t\t<Wrapper\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\t\tcolor={ colorProp }\n\t\t\t\t\tmarks={ !! marks }\n\t\t\t\t>\n\t\t\t\t\t<InputRange\n\t\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\t\t\tdescribedBy={ describedBy }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tid={ `${ id }` }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\t\t\tonChange={ handleOnRangeChange }\n\t\t\t\t\t\tonFocus={ handleOnFocus }\n\t\t\t\t\t\tonMouseMove={ onMouseMove }\n\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\tref={ useMergeRefs( [ inputRef, forwardedRef ] ) }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ inputSliderValue ?? undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeRail\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tmarks={ marks }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\trailColor={ railColor }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ rangeFillValue }\n\t\t\t\t\t/>\n\t\t\t\t\t<Track\n\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\tclassName=\"components-range-control__track\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tstyle={ { width: fillValueOffset } }\n\t\t\t\t\t\ttrackColor={ trackColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ThumbWrapper\n\t\t\t\t\t\tclassName=\"components-range-control__thumb-wrapper\"\n\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Thumb\n\t\t\t\t\t\t\taria-hidden={ true }\n\t\t\t\t\t\t\tisFocused={ isThumbFocused }\n\t\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ThumbWrapper>\n\t\t\t\t\t{ enableTooltip && (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tclassName=\"components-range-control__tooltip\"\n\t\t\t\t\t\t\tinputRef={ inputRef }\n\t\t\t\t\t\t\ttooltipPosition=\"bottom\"\n\t\t\t\t\t\t\trenderTooltipContent={ renderTooltipContent }\n\t\t\t\t\t\t\tshow={ isCurrentlyFocused || showTooltip }\n\t\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Wrapper>\n\t\t\t\t{ afterIcon && (\n\t\t\t\t\t<AfterIconWrapper>\n\t\t\t\t\t\t<Icon icon={ afterIcon } />\n\t\t\t\t\t</AfterIconWrapper>\n\t\t\t\t) }\n\t\t\t\t{ hasInputField && (\n\t\t\t\t\t<InputNumber\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tinputMode=\"decimal\"\n\t\t\t\t\t\tisShiftStepEnabled={ isShiftStepEnabled }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnInputNumberBlur }\n\t\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\t\tshiftStep={ shiftStep }\n\t\t\t\t\t\tsize={\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t? '__unstable-large'\n\t\t\t\t\t\t\t\t: 'default'\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstableInputWidth={\n\t\t\t\t\t\t\t__next40pxDefaultSize ? space( 20 ) : space( 16 )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t// @ts-expect-error TODO: Investigate if the `null` value is necessary\n\t\t\t\t\t\tvalue={ inputSliderValue }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<ActionRightWrapper>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-range-control__reset\"\n\t\t\t\t\t\t\tdisabled={ disabled || value === undefined }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ActionRightWrapper>\n\t\t\t\t) }\n\t\t\t</Root>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * RangeControls are used to make selections from a range of incremental values.\n *\n * ```jsx\n * import { RangeControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRangeControl = () => {\n * const [ isChecked, setChecked ] = useState( true );\n * return (\n * <RangeControl\n * help=\"Please select how transparent you would like this.\"\n * initialPosition={50}\n * label=\"Opacity\"\n * max={100}\n * min={0}\n * onChange={() => {}}\n * />\n * );\n * };\n * ```\n */\nexport const RangeControl = forwardRef( UnforwardedRangeControl );\n\nexport default RangeControl;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AAcA,IAAAc,MAAA,GAAAd,OAAA;AAvCA;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;;AA0BA,MAAMe,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,uBAAuBA,CAC/BC,KAAmE,EACnEC,YAA8C,EAC7C;EACD,MAAM;IACLC,uBAAuB,GAAG,KAAK;IAC/BC,SAAS;IACTC,UAAU,GAAG,KAAK;IAClBC,UAAU;IACVC,SAAS;IACTC,KAAK,EAAEC,SAAS,GAAGC,aAAM,CAACC,KAAK,CAACC,MAAM;IACtCC,YAAY;IACZC,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,mBAAmB,GAAG,KAAK;IAC3BC,eAAe;IACfC,kBAAkB,GAAG,IAAI;IACzBC,KAAK;IACLC,KAAK,GAAG,KAAK;IACbC,GAAG,GAAG,GAAG;IACTC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAGxB,IAAI;IACbyB,QAAQ,GAAGzB,IAAI;IACf0B,OAAO,GAAG1B,IAAI;IACd2B,YAAY,GAAG3B,IAAI;IACnB4B,WAAW,GAAG5B,IAAI;IAClB6B,SAAS;IACTC,oBAAoB,GAAKC,CAAC,IAAMA,CAAC;IACjCC,kBAAkB;IAClBC,qBAAqB,GAAG,KAAK;IAC7BC,SAAS,GAAG,EAAE;IACdC,WAAW,EAAEC,eAAe;IAC5BC,IAAI,GAAG,CAAC;IACRC,UAAU;IACVC,KAAK,EAAEC,SAAS;IAChBC,cAAc,GAAG,IAAI;IACrB,GAAGC;EACJ,CAAC,GAAGxC,KAAK;EAET,MAAM,CAAEqC,KAAK,EAAEI,QAAQ,CAAE,GAAG,IAAAC,+BAAuB,EAAE;IACpDrB,GAAG;IACHD,GAAG;IACHiB,KAAK,EAAEC,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,IAAI;IACxBK,OAAO,EAAE3B;EACV,CAAE,CAAC;EACH,MAAM4B,cAAc,GAAG,IAAAC,eAAM,EAAE,KAAM,CAAC;EAEtC,IAAIC,UAAU,GAAGZ,eAAe;EAChC,IAAIa,aAAa,GAAGR,cAAc;EAElC,IAAKJ,IAAI,KAAK,KAAK,EAAG;IACrB;IACA;IACAW,UAAU,GAAG,KAAK;IAClBC,aAAa,GAAG,KAAK;EACtB;EAEA,MAAM,CAAEd,WAAW,EAAEe,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAEH,UAAW,CAAC;EAC9D,MAAM,CAAEI,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EAErD,MAAMG,QAAQ,GAAG,IAAAP,eAAM,EAAqB,CAAC;EAC7C,MAAMQ,kBAAkB,GAAGD,QAAQ,CAACE,OAAO,EAAEC,OAAO,CAAE,QAAS,CAAC;EAChE,MAAMC,cAAc,GAAG,CAAE3C,QAAQ,IAAIqC,SAAS;EAE9C,MAAMO,YAAY,GAAGpB,KAAK,KAAK,IAAI;EACnC,MAAMqB,YAAY,GAAGrB,KAAK,KAAKsB,SAAS,GAAGtB,KAAK,GAAGzB,YAAY;EAE/D,MAAMgD,gBAAgB,GAAGH,YAAY,GAAG,EAAE,GAAGC,YAAY;EACzD,MAAMG,cAAc,GAAGJ,YAAY,GAAG,CAAErC,GAAG,GAAGC,GAAG,IAAK,CAAC,GAAGA,GAAG,GAAGgB,KAAK;EAErE,MAAMyB,SAAS,GAAGL,YAAY,GAC3B,EAAE,GACA,CAAEpB,KAAK,GAAGhB,GAAG,KAAOD,GAAG,GAAGC,GAAG,CAAE,GAAK,GAAG;EAC5C,MAAM0C,eAAe,GAAI,GAAG,IAAAC,WAAK,EAAEF,SAAS,EAAE,CAAC,EAAE,GAAI,CAAG,GAAE;EAE1D,MAAMG,OAAO,GAAG,IAAAC,mBAAU,EAAE,0BAA0B,EAAE5D,SAAU,CAAC;EAEnE,MAAM6D,cAAc,GAAG,IAAAD,mBAAU,EAChC,mCAAmC,EACnC,CAAC,CAAE/C,KAAK,IAAI,WACb,CAAC;EAED,MAAMiD,EAAE,GAAG,IAAAC,sBAAa,EACvBtE,uBAAuB,EACvB,yBACD,CAAC;EACD,MAAMuE,WAAW,GAAG,CAAC,CAAExD,IAAI,GAAI,GAAGsD,EAAI,QAAO,GAAGT,SAAS;EACzD,MAAMY,aAAa,GAAGzB,UAAU,KAAK,KAAK,IAAI0B,MAAM,CAACC,QAAQ,CAAEpC,KAAM,CAAC;EAEtE,MAAMqC,mBAAmB,GAAKC,KAAsC,IAAM;IACzE,MAAMC,SAAS,GAAGC,UAAU,CAAEF,KAAK,CAACG,MAAM,CAACzC,KAAM,CAAC;IAClDI,QAAQ,CAAEmC,SAAU,CAAC;IACrBrD,QAAQ,CAAEqD,SAAU,CAAC;EACtB,CAAC;EAED,MAAMG,cAAc,GAAKC,IAAa,IAAM;IAC3C;IACA;IACA,IAAIJ,SAAS,GAAGC,UAAU,CAAEG,IAAK,CAAC;IAClCvC,QAAQ,CAAEmC,SAAU,CAAC;;IAErB;AACF;AACA;AACA;IACE,IAAK,CAAEK,KAAK,CAAEL,SAAU,CAAC,EAAG;MAC3B,IAAKA,SAAS,GAAGvD,GAAG,IAAIuD,SAAS,GAAGxD,GAAG,EAAG;QACzCwD,SAAS,GAAG,IAAAM,kBAAU,EAAEN,SAAS,EAAEvD,GAAG,EAAED,GAAI,CAAW;MACxD;MAEAG,QAAQ,CAAEqD,SAAU,CAAC;MACrBhC,cAAc,CAACU,OAAO,GAAG,KAAK;IAC/B,CAAC,MAAM,IAAKlD,UAAU,EAAG;MACxBwC,cAAc,CAACU,OAAO,GAAG,IAAI;IAC9B;EACD,CAAC;EAED,MAAM6B,uBAAuB,GAAGA,CAAA,KAAM;IACrC,IAAKvC,cAAc,CAACU,OAAO,EAAG;MAC7B8B,aAAa,CAAC,CAAC;MACfxC,cAAc,CAACU,OAAO,GAAG,KAAK;IAC/B;EACD,CAAC;EAED,MAAM8B,aAAa,GAAGA,CAAA,KAAM;IAC3B,IAAIC,UAAyB,GAAGR,UAAU,CAAG,GAAG/C,kBAAoB,EAAE,CAAC;IACvE,IAAIwD,kBAAsC,GAAGD,UAAU;IAEvD,IAAKJ,KAAK,CAAEI,UAAW,CAAC,EAAG;MAC1BA,UAAU,GAAG,IAAI;MACjBC,kBAAkB,GAAG3B,SAAS;IAC/B;IAEAlB,QAAQ,CAAE4C,UAAW,CAAC;;IAEtB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE9D,QAAQ,CAAE+D,kBAAmB,CAAC;EAC/B,CAAC;EAED,MAAMC,iBAAiB,GAAGA,CAAA,KAAMvC,cAAc,CAAE,IAAK,CAAC;EACtD,MAAMwC,iBAAiB,GAAGA,CAAA,KAAMxC,cAAc,CAAE,KAAM,CAAC;EAEvD,MAAMyC,YAAY,GAAKd,KAAqC,IAAM;IACjErD,MAAM,CAAEqD,KAAM,CAAC;IACfxB,YAAY,CAAE,KAAM,CAAC;IACrBqC,iBAAiB,CAAC,CAAC;EACpB,CAAC;EAED,MAAME,aAAa,GAAKf,KAAqC,IAAM;IAClEnD,OAAO,CAAEmD,KAAM,CAAC;IAChBxB,YAAY,CAAE,IAAK,CAAC;IACpBoC,iBAAiB,CAAC,CAAC;EACpB,CAAC;EAED,MAAMI,WAAW,GAAG;IACnB,CAAE,IAAAC,WAAK,EAAC,CAAC,GAAG,OAAO,GAAG,MAAM,GAAI7B;EACjC,CAAC;EACD,OACC,IAAA8B,MAAA,CAAAC,aAAA,EAAC3G,YAAA,CAAA4G,OAAW;IACX7F,uBAAuB,EAAGA,uBAAyB;IACnDI,SAAS,EAAG2D,OAAS;IACrB/C,KAAK,EAAGA,KAAO;IACfH,mBAAmB,EAAGA,mBAAqB;IAC3CqD,EAAE,EAAI,GAAGA,EAAI,EAAG;IAChBtD,IAAI,EAAGA;EAAM,GAEb,IAAA+E,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAoG,IAAI;IACJ1F,SAAS,EAAC,gCAAgC;IAC1CyB,qBAAqB,EAAGA;EAAuB,GAE7C1B,UAAU,IACX,IAAAwF,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAqG,iBAAiB,QACjB,IAAAJ,MAAA,CAAAC,aAAA,EAACzG,KAAA,CAAA0G,OAAI;IAACG,IAAI,EAAG7F;EAAY,CAAE,CACT,CACnB,EACD,IAAAwF,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAuG,OAAO;IACPjG,uBAAuB,EAAGA,uBAAyB;IACnDI,SAAS,EAAG6D,cAAgB;IAC5B5D,KAAK,EAAGC,SAAW;IACnBW,KAAK,EAAG,CAAC,CAAEA;EAAO,GAElB,IAAA0E,MAAA,CAAAC,aAAA,EAACrG,WAAA,CAAAsG,OAAU;IAAA,GACLvD,UAAU;IACflC,SAAS,EAAC,kCAAkC;IAC5CgE,WAAW,EAAGA,WAAa;IAC3BzD,QAAQ,EAAGA,QAAU;IACrBuD,EAAE,EAAI,GAAGA,EAAI,EAAG;IAChBlD,KAAK,EAAGA,KAAO;IACfE,GAAG,EAAGA,GAAK;IACXC,GAAG,EAAGA,GAAK;IACXC,MAAM,EAAGmE,YAAc;IACvBlE,QAAQ,EAAGmD,mBAAqB;IAChClD,OAAO,EAAGkE,aAAe;IACzBhE,WAAW,EAAGA,WAAa;IAC3BD,YAAY,EAAGA,YAAc;IAC7B2E,GAAG,EAAG,IAAAC,qBAAY,EAAE,CAAEjD,QAAQ,EAAEnD,YAAY,CAAG,CAAG;IAClDkC,IAAI,EAAGA,IAAM;IACbE,KAAK,EAAGuB,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAID;EAAW,CACvC,CAAC,EACF,IAAAkC,MAAA,CAAAC,aAAA,EAACpG,KAAA,CAAAqG,OAAS;IACT,eAAc,IAAM;IACpBlF,QAAQ,EAAGA,QAAU;IACrBM,KAAK,EAAGA,KAAO;IACfC,GAAG,EAAGA,GAAK;IACXC,GAAG,EAAGA,GAAK;IACXM,SAAS,EAAGA,SAAW;IACvBQ,IAAI,EAAGA,IAAM;IACbE,KAAK,EAAGwB;EAAgB,CACxB,CAAC,EACF,IAAAgC,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAA0G,KAAK;IACL,eAAc,IAAM;IACpBhG,SAAS,EAAC,iCAAiC;IAC3CO,QAAQ,EAAGA,QAAU;IACrB0F,KAAK,EAAG;MAAEC,KAAK,EAAEzC;IAAgB,CAAG;IACpC3B,UAAU,EAAGA;EAAY,CACzB,CAAC,EACF,IAAAyD,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAA6G,YAAY;IACZnG,SAAS,EAAC,yCAAyC;IACnDiG,KAAK,EAAGZ,WAAa;IACrB9E,QAAQ,EAAGA;EAAU,GAErB,IAAAgF,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAA8G,KAAK;IACL,eAAc,IAAM;IACpBxD,SAAS,EAAGM,cAAgB;IAC5B3C,QAAQ,EAAGA;EAAU,CACrB,CACY,CAAC,EACb0D,aAAa,IACd,IAAAsB,MAAA,CAAAC,aAAA,EAACnG,QAAA,CAAAoG,OAAa;IACbzF,SAAS,EAAC,mCAAmC;IAC7C8C,QAAQ,EAAGA,QAAU;IACrBuD,eAAe,EAAC,QAAQ;IACxB/E,oBAAoB,EAAGA,oBAAsB;IAC7CgF,IAAI,EAAGvD,kBAAkB,IAAIpB,WAAa;IAC1CsE,KAAK,EAAGZ,WAAa;IACrBtD,KAAK,EAAGA;EAAO,CACf,CAEM,CAAC,EACRlC,SAAS,IACV,IAAA0F,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAiH,gBAAgB,QAChB,IAAAhB,MAAA,CAAAC,aAAA,EAACzG,KAAA,CAAA0G,OAAI;IAACG,IAAI,EAAG/F;EAAW,CAAE,CACT,CAClB,EACC4C,aAAa,IACd,IAAA8C,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAkH,WAAW;IACX,cAAa5F,KAAO;IACpBZ,SAAS,EAAC,kCAAkC;IAC5CO,QAAQ,EAAGA,QAAU;IACrBkG,SAAS,EAAC,SAAS;IACnB9F,kBAAkB,EAAGA,kBAAoB;IACzCG,GAAG,EAAGA,GAAK;IACXC,GAAG,EAAGA,GAAK;IACXC,MAAM,EAAG6D,uBAAyB;IAClC5D,QAAQ,EAAGwD,cAAgB;IAC3B/C,SAAS,EAAGA,SAAW;IACvBgF,IAAI,EACHjF,qBAAqB,GAClB,kBAAkB,GAClB,SACH;IACDkF,oBAAoB,EACnBlF,qBAAqB,GAAG,IAAAmF,YAAK,EAAE,EAAG,CAAC,GAAG,IAAAA,YAAK,EAAE,EAAG,CAChD;IACD/E,IAAI,EAAGA;IACP;IAAA;IACAE,KAAK,EAAGuB;EAAkB,CAC1B,CACD,EACCxD,UAAU,IACX,IAAAyF,MAAA,CAAAC,aAAA,EAAClG,mBAAA,CAAAuH,kBAAkB,QAClB,IAAAtB,MAAA,CAAAC,aAAA,EAAC1G,OAAA,CAAA2G,OAAM;IACNzF,SAAS,EAAC,iCAAiC;IAC3CO,QAAQ,EAAGA,QAAQ,IAAIwB,KAAK,KAAKsB,SAAW;IAC5CyD,OAAO,EAAC,WAAW;IACnBJ,IAAI,EAAC,OAAO;IACZK,OAAO,EAAGjC;EAAe,GAEvB,IAAAkC,QAAE,EAAE,OAAQ,CACP,CACW,CAEhB,CACM,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,mBAAU,EAAE1H,uBAAwB,CAAC;AAAC,IAAA2H,QAAA,GAAAF,OAAA,CAAAzB,OAAA,GAEnDwB,YAAY"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_element","_compose","_baseControl","_button","_icon","_utils","_utils2","_math","_inputRange","_rail","_tooltip","_rangeControlStyles","_space","noop","UnforwardedRangeControl","props","forwardedRef","__nextHasNoMarginBottom","afterIcon","allowReset","beforeIcon","className","color","colorProp","COLORS","theme","accent","currentInput","disabled","help","hideLabelFromVision","initialPosition","isShiftStepEnabled","label","marks","max","min","onBlur","onChange","onFocus","onMouseLeave","onMouseMove","railColor","renderTooltipContent","v","resetFallbackValue","__next40pxDefaultSize","shiftStep","showTooltip","showTooltipProp","step","trackColor","value","valueProp","withInputField","otherProps","setValue","useControlledRangeValue","initial","isResetPendent","useRef","hasTooltip","hasInputField","setShowTooltip","useState","isFocused","setIsFocused","inputRef","isCurrentlyFocused","current","matches","isThumbFocused","isValueReset","currentValue","undefined","inputSliderValue","rangeFillValue","fillValue","fillValueOffset","clamp","classes","classnames","wrapperClasses","id","useInstanceId","describedBy","enableTooltip","Number","isFinite","handleOnRangeChange","event","nextValue","parseFloat","target","handleOnChange","next","isNaN","floatClamp","handleOnInputNumberBlur","handleOnReset","resetValue","onChangeResetValue","handleShowTooltip","handleHideTooltip","handleOnBlur","handleOnFocus","offsetStyle","isRTL","_react","createElement","default","Root","BeforeIconWrapper","icon","Wrapper","ref","useMergeRefs","Track","style","width","ThumbWrapper","Thumb","tooltipPosition","show","AfterIconWrapper","InputNumber","inputMode","size","__unstableInputWidth","space","ActionRightWrapper","variant","onClick","__","RangeControl","exports","forwardRef","_default"],"sources":["@wordpress/components/src/range-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { ChangeEvent, FocusEvent, ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useRef, useState, forwardRef } from '@wordpress/element';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Icon from '../icon';\nimport { COLORS } from '../utils';\nimport { floatClamp, useControlledRangeValue } from './utils';\nimport { clamp } from '../utils/math';\nimport InputRange from './input-range';\nimport RangeRail from './rail';\nimport SimpleTooltip from './tooltip';\nimport {\n\tActionRightWrapper,\n\tAfterIconWrapper,\n\tBeforeIconWrapper,\n\tInputNumber,\n\tRoot,\n\tTrack,\n\tThumbWrapper,\n\tThumb,\n\tWrapper,\n} from './styles/range-control-styles';\n\nimport type { RangeControlProps } from './types';\nimport type { WordPressComponentProps } from '../context';\nimport { space } from '../utils/space';\n\nconst noop = () => {};\n\nfunction UnforwardedRangeControl(\n\tprops: WordPressComponentProps< RangeControlProps, 'input', false >,\n\tforwardedRef: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tafterIcon,\n\t\tallowReset = false,\n\t\tbeforeIcon,\n\t\tclassName,\n\t\tcolor: colorProp = COLORS.theme.accent,\n\t\tcurrentInput,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tinitialPosition,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmarks = false,\n\t\tmax = 100,\n\t\tmin = 0,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\n\t\tonMouseLeave = noop,\n\t\tonMouseMove = noop,\n\t\trailColor,\n\t\trenderTooltipContent = ( v ) => v,\n\t\tresetFallbackValue,\n\t\t__next40pxDefaultSize = false,\n\t\tshiftStep = 10,\n\t\tshowTooltip: showTooltipProp,\n\t\tstep = 1,\n\t\ttrackColor,\n\t\tvalue: valueProp,\n\t\twithInputField = true,\n\t\t...otherProps\n\t} = props;\n\n\tconst [ value, setValue ] = useControlledRangeValue( {\n\t\tmin,\n\t\tmax,\n\t\tvalue: valueProp ?? null,\n\t\tinitial: initialPosition,\n\t} );\n\tconst isResetPendent = useRef( false );\n\n\tlet hasTooltip = showTooltipProp;\n\tlet hasInputField = withInputField;\n\n\tif ( step === 'any' ) {\n\t\t// The tooltip and number input field are hidden when the step is \"any\"\n\t\t// because the decimals get too lengthy to fit well.\n\t\thasTooltip = false;\n\t\thasInputField = false;\n\t}\n\n\tconst [ showTooltip, setShowTooltip ] = useState( hasTooltip );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst isCurrentlyFocused = inputRef.current?.matches( ':focus' );\n\tconst isThumbFocused = ! disabled && isFocused;\n\n\tconst isValueReset = value === null;\n\tconst currentValue = value !== undefined ? value : currentInput;\n\n\tconst inputSliderValue = isValueReset ? '' : currentValue;\n\tconst rangeFillValue = isValueReset ? ( max - min ) / 2 + min : value;\n\n\tconst fillValue = isValueReset\n\t\t? 50\n\t\t: ( ( value - min ) / ( max - min ) ) * 100;\n\tconst fillValueOffset = `${ clamp( fillValue, 0, 100 ) }%`;\n\n\tconst classes = classnames( 'components-range-control', className );\n\n\tconst wrapperClasses = classnames(\n\t\t'components-range-control__wrapper',\n\t\t!! marks && 'is-marked'\n\t);\n\n\tconst id = useInstanceId(\n\t\tUnforwardedRangeControl,\n\t\t'inspector-range-control'\n\t);\n\tconst describedBy = !! help ? `${ id }__help` : undefined;\n\tconst enableTooltip = hasTooltip !== false && Number.isFinite( value );\n\n\tconst handleOnRangeChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = parseFloat( event.target.value );\n\t\tsetValue( nextValue );\n\t\tonChange( nextValue );\n\t};\n\n\tconst handleOnChange = ( next?: string ) => {\n\t\t// @ts-expect-error TODO: Investigate if it's problematic for setValue() to\n\t\t// potentially receive a NaN when next is undefined.\n\t\tlet nextValue = parseFloat( next );\n\t\tsetValue( nextValue );\n\n\t\t/*\n\t\t * Calls onChange only when nextValue is numeric\n\t\t * otherwise may queue a reset for the blur event.\n\t\t */\n\t\tif ( ! isNaN( nextValue ) ) {\n\t\t\tif ( nextValue < min || nextValue > max ) {\n\t\t\t\tnextValue = floatClamp( nextValue, min, max ) as number;\n\t\t\t}\n\n\t\t\tonChange( nextValue );\n\t\t\tisResetPendent.current = false;\n\t\t} else if ( allowReset ) {\n\t\t\tisResetPendent.current = true;\n\t\t}\n\t};\n\n\tconst handleOnInputNumberBlur = () => {\n\t\tif ( isResetPendent.current ) {\n\t\t\thandleOnReset();\n\t\t\tisResetPendent.current = false;\n\t\t}\n\t};\n\n\tconst handleOnReset = () => {\n\t\tlet resetValue: number | null = parseFloat( `${ resetFallbackValue }` );\n\t\tlet onChangeResetValue: number | undefined = resetValue;\n\n\t\tif ( isNaN( resetValue ) ) {\n\t\t\tresetValue = null;\n\t\t\tonChangeResetValue = undefined;\n\t\t}\n\n\t\tsetValue( resetValue );\n\n\t\t/**\n\t\t * Previously, this callback would always receive undefined as\n\t\t * an argument. This behavior is unexpected, specifically\n\t\t * when resetFallbackValue is defined.\n\t\t *\n\t\t * The value of undefined is not ideal. Passing it through\n\t\t * to internal <input /> elements would change it from a\n\t\t * controlled component to an uncontrolled component.\n\t\t *\n\t\t * For now, to minimize unexpected regressions, we're going to\n\t\t * preserve the undefined callback argument, except when a\n\t\t * resetFallbackValue is defined.\n\t\t */\n\t\tonChange( onChangeResetValue );\n\t};\n\n\tconst handleShowTooltip = () => setShowTooltip( true );\n\tconst handleHideTooltip = () => setShowTooltip( false );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t\thandleHideTooltip();\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t\thandleShowTooltip();\n\t};\n\n\tconst offsetStyle = {\n\t\t[ isRTL() ? 'right' : 'left' ]: fillValueOffset,\n\t};\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\tclassName={ classes }\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\tid={ `${ id }` }\n\t\t\thelp={ help }\n\t\t>\n\t\t\t<Root\n\t\t\t\tclassName=\"components-range-control__root\"\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t>\n\t\t\t\t{ beforeIcon && (\n\t\t\t\t\t<BeforeIconWrapper>\n\t\t\t\t\t\t<Icon icon={ beforeIcon } />\n\t\t\t\t\t</BeforeIconWrapper>\n\t\t\t\t) }\n\t\t\t\t<Wrapper\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\t\tcolor={ colorProp }\n\t\t\t\t\tmarks={ !! marks }\n\t\t\t\t>\n\t\t\t\t\t<InputRange\n\t\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\t\t\tdescribedBy={ describedBy }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tid={ `${ id }` }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\t\t\tonChange={ handleOnRangeChange }\n\t\t\t\t\t\tonFocus={ handleOnFocus }\n\t\t\t\t\t\tonMouseMove={ onMouseMove }\n\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\tref={ useMergeRefs( [ inputRef, forwardedRef ] ) }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ inputSliderValue ?? undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeRail\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tmarks={ marks }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\trailColor={ railColor }\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\tvalue={ rangeFillValue }\n\t\t\t\t\t/>\n\t\t\t\t\t<Track\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\tclassName=\"components-range-control__track\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tstyle={ { width: fillValueOffset } }\n\t\t\t\t\t\ttrackColor={ trackColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ThumbWrapper\n\t\t\t\t\t\tclassName=\"components-range-control__thumb-wrapper\"\n\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Thumb\n\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\tisFocused={ isThumbFocused }\n\t\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ThumbWrapper>\n\t\t\t\t\t{ enableTooltip && (\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tclassName=\"components-range-control__tooltip\"\n\t\t\t\t\t\t\tinputRef={ inputRef }\n\t\t\t\t\t\t\ttooltipPosition=\"bottom\"\n\t\t\t\t\t\t\trenderTooltipContent={ renderTooltipContent }\n\t\t\t\t\t\t\tshow={ isCurrentlyFocused || showTooltip }\n\t\t\t\t\t\t\tstyle={ offsetStyle }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Wrapper>\n\t\t\t\t{ afterIcon && (\n\t\t\t\t\t<AfterIconWrapper>\n\t\t\t\t\t\t<Icon icon={ afterIcon } />\n\t\t\t\t\t</AfterIconWrapper>\n\t\t\t\t) }\n\t\t\t\t{ hasInputField && (\n\t\t\t\t\t<InputNumber\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\tinputMode=\"decimal\"\n\t\t\t\t\t\tisShiftStepEnabled={ isShiftStepEnabled }\n\t\t\t\t\t\tmax={ max }\n\t\t\t\t\t\tmin={ min }\n\t\t\t\t\t\tonBlur={ handleOnInputNumberBlur }\n\t\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\t\tshiftStep={ shiftStep }\n\t\t\t\t\t\tsize={\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t? '__unstable-large'\n\t\t\t\t\t\t\t\t: 'default'\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__unstableInputWidth={\n\t\t\t\t\t\t\t__next40pxDefaultSize ? space( 20 ) : space( 16 )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t// @ts-expect-error TODO: Investigate if the `null` value is necessary\n\t\t\t\t\t\tvalue={ inputSliderValue }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowReset && (\n\t\t\t\t\t<ActionRightWrapper>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-range-control__reset\"\n\t\t\t\t\t\t\tdisabled={ disabled || value === undefined }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ handleOnReset }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</ActionRightWrapper>\n\t\t\t\t) }\n\t\t\t</Root>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * RangeControls are used to make selections from a range of incremental values.\n *\n * ```jsx\n * import { RangeControl } from '@wordpress/components';\n * import { useState } from '@wordpress/element';\n *\n * const MyRangeControl = () => {\n * const [ isChecked, setChecked ] = useState( true );\n * return (\n * <RangeControl\n * help=\"Please select how transparent you would like this.\"\n * initialPosition={50}\n * label=\"Opacity\"\n * max={100}\n * min={0}\n * onChange={() => {}}\n * />\n * );\n * };\n * ```\n */\nexport const RangeControl = forwardRef( UnforwardedRangeControl );\n\nexport default RangeControl;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","_react","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_element","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","_react","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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"}
@@ -114,9 +114,10 @@ function UnforwardedSnackbar({
114
114
  className: classes,
115
115
  onClick: !explicitDismiss ? dismissMe : undefined,
116
116
  tabIndex: 0,
117
- role: !explicitDismiss ? 'button' : '',
117
+ role: !explicitDismiss ? 'button' : undefined,
118
118
  onKeyPress: !explicitDismiss ? dismissMe : undefined,
119
- "aria-label": !explicitDismiss ? (0, _i18n.__)('Dismiss this notice') : ''
119
+ "aria-label": !explicitDismiss ? (0, _i18n.__)('Dismiss this notice') : undefined,
120
+ "data-testid": "snackbar"
120
121
  }, (0, _react.createElement)("div", {
121
122
  className: snackbarContentClassnames
122
123
  }, icon && (0, _react.createElement)("div", {